You are on page 1of 2

Algoritma dan flowchart untuk menentukan bilangan prima atau bukan

1. 2. 3.

4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

Algoritma : Deklarasikan variable i untuk iterasi, variable bil untuk bilangan yang ingin ditentukan apakah bilangan prima atau bukan, dan variabel x. Masukkan bilangan yang ingin ditentukan apakah bilangan prima atau bukan dan nyatakan ke variabel bil. Apabila bilangan yang dimasukkan tadi kurang dari atau sama dengan 0 maka cetak ” Bukan Bilangan Prima”, namun bila bilangan tersebut lebih dari 0 maka lakukan langkah 4 s/d 8. Kemudian lanjutkan ke langkah 9. Isi variabel i dengan nilai 2. Selama nilai pada variabel i masih kurang dari nilai pada variabelbil, lakukan langkah 6 s/d 8. Hitung sisa hasil bagi nilai pada variabel bil dengan i dan nyatakan ke variabel x. Bila hasil bagi tersebut sama dengan 0, cetak ” Bukan Bilangan Prima” dan langsung ke langkah 10. Tambahkan nilai pada variabel i dengan 1. Cetak ” Bilangan Prima ”. Tanya apakah user masih ingin menentukan suatu bilangan apakah merupakan bilangan prima. Bila jawabannya iya, maka kembali ke langkah ke-2. Bila jawabannya tidak, maka program dapat langsung diakhiri. Namun jika bukan keduanya, tanyalah kembali (kembali ke langkah 9). Flowchart :

Program C++ untuk Menampilkan Bilangan Prima
#include<iostream> using namespace std; main() { int x,i,count=0; cout<<"\nMasukkan sebuah angka : "; cin>>x; for(i=2;i<=x/2;i++) { if(x%i==0) count++; } if(count>0 || x<2) cout<<x<<"bukan bilangan prima\n"; else

variable count diisi dengan nol cout<<"\nMasukkan sebuah angka : ==> menampilkan dilayar cin>>x. maka kita tambah counter "count". count++ sama artinya dengan count=count+1. { int x. Yang artinya count tidak bertambah(tetap 0). } . kita tidak mengecek 2 karena loop dimulai dari 2 sampai 2/2. */ if(count>0 || x<2) ==> artinya jika count nilanya lebih dari 0 atau x lebih kecil dari 2 (0 atau 1) cout<<x<<"bukan bilangan prima\n". Loop gak jalan. Inilah kenapa kita pakai batas atasnya adalah n/2 karena kita sudah mengecek 2 pertama kali. Jika bilangan yang kita periksa merupakan kelipatan 2. ==>kita bikin 3 variable dengan tipe integer. maka pada pemeriksaan ke n/2 kita akan mendapatkan sisa pembagian 0. Karena 2 adalah bilangan prima yang paling kecil. jika sisa pembagian x dengan i sama dengan 0 count++.i++) ==> ini loop mulai dari 2 sampai n/2 kenapa? nanti saya jelaskan { if(x%i==0) ==> ini kondisi yang artinya. Artinya bilangan tersebut bukan prima dan kita tidak perlu melakukan pengecekan selanjutnya (hemat 1/2 langkah ^_^ ) Apakah 2 masuk jadi bilangan prima (seharusnya masuk)? Ya. ==> meminta input for(i=2. dan 2 masuk sebagai bilangan prima.i<=x/2.cout<<x<<"\n bilangan prima\n". else cout<<x<<"\n bilangan prima\n". } Penjelasan: main() ==>Ini adalah fungsi main dimana akan dipanggil pertamakali jika program dieksekusi.i.count=0. jika count bertambah maka bilangan ini bukan bilangan prima. Jika ya. Jadi. Kenapa mulai dari 2. ==> count yang kita isi dengan nol pertama kali tadi ditambah terus kalau kondisi "if" benar } /* loop for ini akan mengecek apakah bilangan tersebut dapat dibagi 2 (apakah sisa pembagian x dengan 2 = 0).