Rabu, 29 Oktober 2014

Program Mencari KPK dan FPB Bilangan Menggunakan Bahasa C

Ini oleh-oleh semasa saya kuliah semester 1...

cekidot.....
semoga bermanfaat....

ini screenshootnya..





ini sourcecodenya:
#include<stdio.h>
#include<conio.h>
#include<string.h>

int kpk(int x, int y);
int fpb(int x, int y);
main()
{
char tombol;
int a, b, K, F,i,fak1,fak2,kel1,kel2,pil;
daftar:
{
clrscr();
textcolor(13);
   gotoxy(2,3);cprintf("=============================================================================");
textcolor(11);
   gotoxy(2,5);cprintf("==  INI ADALAH APLIKASI UNTUK MENGHITUNG KPK DAN FPB DARI 2 BUAH BILANGAN  ==");
   gotoxy(2,6);cprintf("******************            Selamat Mencoba            ********************");
   gotoxy(2,7);cprintf("                              by Tomi Mentari                               ");
textcolor(13);
   gotoxy(2,9);cprintf("=============================================================================");

textcolor(14);gotoxy(5,12);
cprintf("\n\nBerikut adalah list menu yang tersedia:\n");
printf("\n\t[1] Teori Dasar KPK dan FPB");
printf("\n\t[2] Menghitung KPK");
printf("\n\t[3] Menghitung FPB");
printf("\n\t[4] Keluar Aplikasi");

pil=0;

do
{
 gotoxy(5,21);cprintf("Pilihan Anda?[1-4] ");
 scanf("%d",&pil);
   if (pil<1||pil>4)
    putchar(7);
}
while (pil<1||pil>4);
}
clrscr();
switch (pil)
{
case 1:
    gotoxy(28,2);cprintf("-=PENGERTIAN KPK DAN FPB=-");
    textcolor(2);gotoxy(6,5);cprintf("KPK adalah Kelipatan Persekutuan Terkecil atau dalam bahasa Inggrisnya Least");
   gotoxy(1,6);cprintf("Common Multiple (LCM). Sering juga disebut sebagai Lowest Common Multiple (LCM)");
    gotoxy(1,7);cprintf("atau Smallest Common Multiple (SCM). Dalam aritmatika dan teori bilangan, KPK ");
    gotoxy(1,8);cprintf("dari dua bilangan adalah bilangan bulat terkecil yang habis dibagi oleh kedua");
    gotoxy(1,9);cprintf("bilangan itu.");
    gotoxy(1,11);printf("Contoh mencari KPK dari 12 dan 20:");
    gotoxy(6,13);printf("* Kelipatan dari 12 = 12, 24, 36, 48, 60, 71, 84,...");
    gotoxy(6,15);printf("* Kelipatan dari 20 = 20, 40, 60, 80, 100, 120, 140,...");
    textcolor(6);gotoxy(1,17);cprintf("KPK dari 12 dan 20 adalah kelipatan sekutu (sama) yang terkecil, yaitu 60.");
    textcolor(2);gotoxy(6,19);cprintf("FPB adalah Faktor Persekutuan terBesar atau dalam bahasa inggrisnya Greatest");
    gotoxy(1,20);cprintf("Common Divisor (GCD) sering dikelan juga dengan sebutan Greatest Common Factor");
    gotoxy(1,21);cprintf("(GCF)atau Highest Common Factor (HCF).  Dalam matematika, FPB dari dua bilangan");
    gotoxy(1,22);cprintf("adalah bilangan positif terbesar yang dapat membagi habis kedua bilangan itu.");
    gotoxy(1,24);printf("Contoh mencari FPB dari 12 dan 20:");
    gotoxy(6,26);printf("* Faktor dari 12 = 1, 2, 3, 4, 6 dan 12");
    gotoxy(6,27);printf("* Faktor dari 20 = 1, 2, 4, 5, 10 dan 20 ");
   textcolor(6);gotoxy(1,29);cprintf("FPB dari 12 dan 20 adalah faktor sekutu (sama) yang terbesar, yaitu 4.");
    gotoxy(1,31);printf("==============================================================================");
   printf("\n\n    Daftar <D>                    Keluar <K>");
   tombol=getch();
   clrscr();
   if(tombol=='K'||tombol=='k')
   goto exit;
   if(tombol=='D'||tombol=='d')
   goto daftar;

case 2:
textcolor(6);
    gotoxy(25,3);cprintf("-=Masukkan dua buah bilangan=-");
    gotoxy(5,5);cprintf("\n\nBilangan pertama  : "); scanf("%d",&a);
    gotoxy(5,6);cprintf("\n\nBilangan kedua    : "); scanf("%d",&b);
    gotoxy(25,8);cprintf("\n\n-= Mencari KPK dari %d dan %d =-",a,b);
textcolor(9);
   gotoxy(1,11);cprintf("\n\nCari kelipatannya dulu...");
   getch();
    printf("\n\nKelipatan dari %d= ",a);
        for (i=1; i<=b; i++)
        {
        kel1=i*a;
       cprintf("%d ",kel1);
        }
    printf("\n\nkelipatan dari %d= ",b);
        for (i=1; i<=a; i++)
        {
        kel2=i*b;
        cprintf("%d ",kel2);
        }
    K= kpk(a,b);

    printf("\n\nKPK dari %d dan %d adalah kelipatan sekutu (sama) yang terkecil, yaitu= %d",a,b,K);
    printf("\n\n===============================================================================");
   printf("\n\n    Daftar <D>                    Keluar <K>");
   tombol=getch();
   clrscr();
   if(tombol=='K'||tombol=='k')
   goto exit;
   if(tombol=='D'||tombol=='d')
   goto daftar;

case 3:
textcolor(6);
    gotoxy(25,3);cprintf("-=Masukkan dua buah bilangan=-");
    gotoxy(5,5);cprintf("Bilangan pertama  : ");scanf("%d",&a);
    gotoxy(5,6);cprintf("Bilangan kedua    : ");scanf("%d",&b);
    gotoxy(25,8);cprintf("-= Mencari FPB dari %d dan %d =-",a,b);
textcolor(9);
   gotoxy(1,11);cprintf("Cari faktor-faktornya dulu...");
   getch();
    printf("\n\nfaktor-faktor dari %d= ",a);
    for(i=1; i<=a; i++)
    {
    if ((a%i)==0)
     {
     fak1=a/i;
      cprintf("%d ",fak1);
      }
    }
    printf("\n\nfaktor-faktor dari %d= ",b);
    for(i=1; i<=b; i++)
    {
      if ((b%i)==0)
       {
        fak2=b/i;
      cprintf("%d ",fak2);
       }
    }
    F= fpb(a,b);
    printf("\n\nFPB dari %d dan %d adalah faktor sekutu (sama) yang terbesar, yaitu= %d",a,b,F);
    printf("\n\n==============================================================================");
   printf("\n\n    Daftar <D>                    Keluar <K>");
   tombol=getch();
   clrscr();
   if(tombol=='K'||tombol=='k')
   goto exit;
   if(tombol=='D'||tombol=='d')
   goto daftar;

case 4:
exit:
    textcolor(6);
   gotoxy(17,10);cprintf("++++++++++++++++++++++++++++++++++++++++++++++");
   gotoxy(17,11);cprintf("+                   ***                      +");
   textcolor(7);
   gotoxy(17,12);cprintf("+Terima Kasih Telah Menggunakan Apilikasi Ini+");
   gotoxy(17,13);cprintf("+    Mohon Ma'af Bila Banyak Kekurangan      +");
   textcolor(6);
   gotoxy(17,14);cprintf("+                   !!!                      +");
   gotoxy(17,15);cprintf("++++++++++++++++++++++++++++++++++++++++++++++");
   getch();
}

}

int kpk(int x, int y)
{
int w=1,n,z;
if (x<y)
 {
  for (n=1; w!=0; n++)
  {
   z=y*n;
   w=z%x;
  }
 }
 else
 {
 for (n=1; w!=0; n++)
  {
   z=x*n;
   w=z%y;
  }
 }
return(z);
}

int fpb(int x, int y)
{
int sisabagi, hasil;
if((y<=x)&&((x%y)==0))
{
return (y);
}
if(x<y)
{
hasil= fpb(y,x);
return(hasil);
}
else
sisabagi=x%y;
hasil=fpb(y,sisabagi);
return(hasil);
}

2 komentar: