Hallo sahabat kelas programmer, kembali lagi saya membahas mengenai contoh program c++ untuk menentukan bilangan prima. Buat kalian yang sedang belajar pemrograman khususnya untuk bahasa C++ pasti kalian akan belajar mengenai fungsi rekursif. Rekursif adalah fungsi khusus yang ada di C++ berbeda dengan fungsi (function) dan prosedur lainnya pada fungsi rekursif kelebihannya dia dapat memanggil dirinya sendiri. Program untuk menentukan bilangan prima dapat dibuat menggunakan rekursif.
Sebelum kita membuat programnya, kita perlu mengetahui terlebih dahulu apa itu bilangan prima? Bilangan prima adalah bilangan asli yang bernilai lebih dari 1 dan mempunyai 2 faktor pembagi, yaitu 1 dan bilangan itu sendiri.
Contoh misalnya diketahui bahwa 2 dan 3 adalah bilangan prima karena kedua bilangan tersebut dapat dibagi 1 atau dengan bilangannya sendiri. Sedangkan 4 bukanlah bilangan prima karena dapat dibagi dengan 1, 2 dan 4 padahal bilangan prima hanya bisa dibagi dengan 2 angka. Jika kita buat urutan bilangan prima sampai pada range 97 bilangan 2 merupakan satu-satunya bilangan genap yang menjadi bilangan prima.
Deret Bilangan Prima C++
Dari teori mengenai bilangan prima yang sudah dijelaskan diatas, kini kita coba implementasi kedalam program C++. Program pertama yang kita buat adalah untuk mencetak deret bilangan prima dari range 1-100.
#include <iostream>
using namespace std;
int main(){
int bil;
cout<<"Menampilkan Deret Bilangan Prima 1-100";
cout<<endl;
for(int i=1;i<=100;i++){
bil=0;
for(int j=1;j<=i;j++){
if(i%j==0){
bil=bil+1;
}
}
if (bil==2)
cout<<i<<" ";
}
}
Untuk menampilkan deret bilangan prima kita menggunakan perulangan for, perulangan pertama berfungsi untuk mencetak bilangan dari 1 sampai 100, kemudian terdapat perulangan for yang kedua (didalam perulangan pertama) berfungsi untuk membuat deret bilangan prima dengan cara di cek apabila variabel i mod j menghasilkan nilai 0 maka variabel bil akan dilakukan penambahan (addition Assignment) dari nilai awal+1. Deret akan dicetak ketika nilai bil >=2.

Menentukan Bilangan Prima C++
Program ini akan menentukan bilangan yang dimasukan oleh pengguna apakah bilangan prima atau bukan dengan menggunakan fungsi rekursif. Seperti yang sudah saya jelaskan diatas fungsi ini dapat memanggil dirinya sendiri dengan kata lain kita dapat melakukan pemanggilan berulang-ulang pada fungsi sesuai dengan kondisi yang ditetapkan.
#include <iostream>
using namespace std;
int ambil(int bil, int i){
if (i == 1) {
return 1;
}
else if (bil % i == 0) {
return 1 + ambil(bil, --i);
} else {
return 0 + ambil(bil, --i);
}
}
int cek(int bil){
if (bil > 1) {
return (ambil(bil, bil) == 2);
}
else
return false;
}
int main(){
int bil;
cout<<"Masukan Bilangan : ";
cin>>bil;
if (cek(bil)){
cout<<"Bilangan Prima"<<endl;
}else {
cout<<"Bukan Bilangan Prima"<<endl;
}
return 0;
}
Program diatas kita membuat beberapa fungsi selain fungsi utama main() yaitu fungsi ambil() dan cek(). Cara kerjanya adalah pengguna akan memasukan bilangan yang ingin ditentukan apakah bilangan prima atau bukan, lau kemudian akan di cek bilangan tersebut melalui fungsi cek().
Fungsi cek() berfungsi untuk mengecek apakah bilangan yang dimasukan adalah bilangan yang lebih dari 1 (karena bilangan prima dimulai dari 2) jika kondisi bernilai true maka selanjutnya akan di proses pada fungsi ambil().
Pada fungsi ambil() nilai akan dicek selama nilai i belum sama dengan 1 maka nilai bil akan terus dilakukan modulus pada nilai i dengan catatan nilai i akan ditambahkan 1 jika hasil bil%i==0 jika kondisi tidak terpenuhi ditambah 0.
Fungsi cek akan menghasilkan nilai boolean (true/false) jika true maka akan menampilkan kalimat ‘Bilangan Prima’ jika tidak menampilkan kalimat ‘Bukan Bilangan Prima’.
Hasil Ouput 1:

Hasil Output 2:
