Algoritma dan Program Mencari FPB

Posted in
Algoritma :
Deklarasi
    x, y, r    : integer
Deskripsi
    read x
    read y
    r <- x mod y
    while (r <- not 0) then
        x <- y
        y <- r
        r <- x mod y
    end while
    write y

Program Biasa :
#include <iostream.h>
#include <conio.h>
int main(){
int x,y,r;
cout<<"Mencari nilai FPB\n";
cout<<"Masukkan bilangan pertama : ";
cin>>x;
cout<<"Masukan bilangan kedua : ";
cin>>y;
r=x%y;
while (r!=0){
x=y;
y=r;
r=x%y;}
cout<<"Faktor Persekutuan Terbesar : "<<y;
getch();
return 0;}

Program Class :
#include <iostream.h>
#include <conio.h>
class fpb{
public:
void masukan();
void proses();
private:
int x,y,r;};
void fpb::masukan(){
cout<<"Mencari nilai FPB\n";
cout<<"Masukkan bilangan pertama : ";
cin>>x;
cout<<"Masukan bilangan kedua : ";
cin>>y;}
void fpb::proses(){
r=x%y;
while (r!=0){
x=y;
y=r;
r=x%y;}
cout<<"Faktor Persekutuan Terbesar : "<<y;}
int main(){
fpb x;
x.masukan();
x.proses();
getch();
return 0;}

Program Jeliot :
import jeliot.io.*;
public class MyClass {
public static void main() {
fpb x = new fpb();
x.masukan();
x.proses();}}
class fpb{
void masukan(){
System.out.print("Mencari nilai FPB\n");
System.out.print("Masukkan bilangan pertama : ");
x = Input.readInt();
System.out.print("Masukan bilangan kedua : ");
y = Input.readInt();}
void proses(){
r =x%y;
while (r!=0){
x =y;
y =r;
r =x%y;}
System.out.print("Faktor Persekutuan Terbesar : ");
System.out.print(y);}
private int x;
private int y;
private int r;}

Penjelasan :
Program di atas adalah program yang digunakan untuk mencari hasil FPB atau faktor persekutuan terbesar dari dua buah bilangan. Apa itu FPB ? Fpb adalah sebuah bilangan dimana bilangan itu menjadi bilangan terkecil yang dapat membagi 2 buah inputan atau membagi dari dua bilangan. Contoh FPB dari 100 dan 80 adalah 20. Bagaimana kita mendapatkan 20 ? langsung saja ke program di atas. Dalam program di atas kita membutuhkan 1 variabel untuk menyimpan hasil modulus dari bilangan ke satu dan kedua yaitu r. Setelah itu kita gunakan fungsi while dengan syarat r tidah sama dengan 0 selama r sama dengan 0 maka nilai x akan di tukar dengan nilai y, nilai y dan nilai r dan akan melakukan x modulus y lagi sampai r menghasilkan angka 0. Jika r sudah 0 maka kita tinggal menuliskan y yaitu bilangan pemodulus terahir sehingga menghasilkan angka 0.