Professional Documents
Culture Documents
Salah satu hal yang sering bikin pusing dalam dunia matematika adalah menentukan
apakah suatu bilangan merupakan bilangan prima atau bukan. Kali ini akan diberikan contoh
program untuk mencari atau memeriksa apakah suatu bilangan termasuk ke dalam bilangan
prima.
Sebagaimana telah diketahui, bilangan prima adalah suatu bilangan yang hanya habis
dibagi 1 dan bilangan itu sendiri. Bilangan 1 karena merupakan faktor pembagi tidak dapat
disebut bilangan prima. Kemudian sebagai titik tolak perhitungan, bilangan prima yang
terkecil harus diketahui. Dalam hal ini akan diambil bilangan 2 dan 3 sebagai bilangan prima
yang terkecil. Bilangan 2 merupakan bilangan prima yang unik karena merupakan satu-
satunya bilangan prima yang genap. Bilangan prima yang lain pastilah gasal (ganjil).
Nah, langsung saja, program untuk mencari bilangan prima tersebut diberikan pada
listing 1.
#include <stdio.h>
main()
{
int bilangan;
int prima;
int cekprima();
clrscr();
printf("======================\n");
printf("MENCARI BILANGAN PRIMA\n");
printf("======================\n\n");
printf("Masukkan sebuah bilangan integer : ");
scanf("%d",&bilangan);
prima = cekprima(bilangan);
if (prima == 1)
{
printf("Bilangan %d adalah bilangan prima",bilangan);
} else {
printf("Bilangan %d bukan bilangan prima",bilangan);
}
}
int cekprima(bil)
int bil;
{
int bagi=3;
int batas;
if (bil == 1)
{
return(0);
} else if (bil==2||bil==3) {
return(1);
} else if (bil % 2 == 0) {
return(0);
} else {
while (batas > bagi)
{
if (bil % bagi == 0)
{
printf("Karena habis dibagi %d\n",bagi);
return(0);
break;
}
batas = bil / bagi;
bagi += 2;
}
return(1);
}
}
#include <stdio.h>
main()
{
int i;
int prima;
int cekprima();
clrscr();
printf("======================\n");
printf("MENCARI BILANGAN PRIMA\n");
printf("DALAM RENTANG 1-1000\n");
printf("======================\n\n");
printf("Bilangan prima yang ditemukan : \n");
for (i=1;i<=1000;i++)
{
prima = cekprima(i);
if (prima == 1)
{
printf(" %d",i);
}
}
}
int cekprima(bil)
int bil;
{
int bagi=3;
int batas;
if (bil == 1)
{
return(0);
} else if (bil==2||bil==3) {
return(1);
} else if (bil % 2 == 0) {
return(0);
} else {
while (batas > bagi)
{
if (bil % bagi == 0)
{
return(0);
break;
}
batas = bil / bagi;
bagi += 2;
}
return(1);
}
}
Jika program tersebut dijalankan, maka hasilnya akan nampak seperti gambar 2.
Nah, sebagai latihan, Anda bisa memodifikasi program listing 1 dengan menambahkan
sebuah looping “Apakah Anda ingin mencoba lagi?”
Kemudian program listing 2 juga dapat dimodifikasi agar user dapat memasukkan
sendiri rentang pencarian (tentunya dengan batasan tertentu) dan kemudian pada output
dituliskan juga “Bilangan prima yang ditemukan ada n buah”.
Selamat mencoba.