Selamat ............. (titik-titik boleh diisi apa aja :D )
Posting lagi nih,, ini hasil dari pembelajaran kuliah Strategi Algoritma minggu ke lima.
Pada minggu ke lima mempelajari mengenai Program Tes Bilangan Prima. Pertama adalah membuat algoritmanya kemudian diimplementasikan ke bahasa pemrograman. Untuk bahasa pemrograman saya menggunakan bahasa C++. Berikut ini apa yang saya dapatkan di minggu itu :)
Algoritmanya :
function Prima(input x : integer) ← boolean
{ Menguji apakah x bilangan prima atau bukan.
Masukan: x
Keluaran: true jika x prima, atau false jika
x tidak prima.
}
Deklarasi
k, y : integer
test : boolean
Algoritma:
if x < 2 then { 1 bukan prima }
return false
else
if x = 2 then { 2 adalah prima, kasus khusus }
return true
else
y←[√x]
test←true
{ Menguji apakah x bilangan prima atau bukan.
Masukan: x
Keluaran: true jika x prima, atau false jika
x tidak prima.
}
Deklarasi
k, y : integer
test : boolean
Algoritma:
if x < 2 then { 1 bukan prima }
return false
else
if x = 2 then { 2 adalah prima, kasus khusus }
return true
else
y←[√x]
test←true
Implementasi ke dalam Bahasa Pemrograman C++
di atas adalah source code dalam c++, untuk bagian main hanya modifikasi output saja.#include <cstdlib> #include <iostream> #include <math.h> using namespace std; class Prima{ public : bool prima(int x); private : int x,y; bool test; }; bool Prima::prima(int x){ if (x<2){ return false; } else if (x==2){ return true; } else y=ceil(sqrt(x)); test=true; while (test==true && y>=2){ if (x % y ==0) test=false; else y=y-1; } return test; } int main(int argc, char *argv[]) { Prima a; int x; cout<<"Masukan bilangan : "; cin>>x; a.prima(x); if(a.prima(x)==0){ cout<<x<<" bukan bilangan prima"<<endl; } else cout<<x<<" bilangan prima "<<endl; system("PAUSE"); return EXIT_SUCCESS; }
sourcode dapat di download di sini
SEKIAN DAN TERIMAKASIH, SEMOGA BERMANFAAT UNTUK ANDA