Menentukan apakah sebuah angka adalah bilangan prima atau bukan.
A. Programnya:
#include <iostream.h>
#include <conio.h>
main()
{
char yt;
int x, i, count=0;
awal:
cout<<"\n Masukkan 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
cout<<x<<" adalah bilangan prima\n";
cout<<"Mau ulang?[Y/T]:";
cin>>yt;
cout<<endl;
if(yt=='Y'||yt=='y')
{goto awal;}
if(yt=='T'||yt=='t')
{goto selesai;}
selesai:
cout<<"Mantappppp!!!!!!!!!!!";
getch();
}
Penjelasan:
<iostream.h>= untuk menampilkan perintah cin, cout dan endl.
<conio.h>=untuk menampilkan perintah getch.
main()=Ini adalah fungsi main dimana akan dipanggil pertamakali jika program dieksekusi.
if(yt=='Y'||yt=='y')=untuk menginput ulang(ketik y jika mau input ulang maka akan kembali ke awaal)
{goto awal;}
if(yt=='T'||yt=='t')=jika tidak ingin menginput lagi(ketik t maka selesai)
A. Programnya:
#include <iostream.h>
#include <conio.h>
main()
{
char yt;
int x, i, count=0;
awal:
cout<<"\n Masukkan 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
cout<<x<<" adalah bilangan prima\n";
cout<<"Mau ulang?[Y/T]:";
cin>>yt;
cout<<endl;
if(yt=='Y'||yt=='y')
{goto awal;}
if(yt=='T'||yt=='t')
{goto selesai;}
selesai:
cout<<"Mantappppp!!!!!!!!!!!";
getch();
}
Penjelasan:
<iostream.h>= untuk menampilkan perintah cin, cout dan endl.
<conio.h>=untuk menampilkan perintah getch.
main()=Ini adalah fungsi main dimana akan dipanggil pertamakali jika program dieksekusi.
{
int x,i,count=0; =3 variabel yang bertipe integer. variable "count" diisi dengan nol
cout<<"\nMasukkan angka : =ditampilkan di atmpilan output
cin>>x; = input sebuah angka
for(i=2;i<=x/2;i++) = loop mulai dari 2 sampai n/2 kenapa? Karena 2 adalah bilangan prima yang paling kecil. Inilah kenapa kita pakai batas atasnya adalah n/2 karena kita sudah mengecek 2 pertama kali. Jika bilangan yang kita periksa merupakan kelipatan 2, maka pada pemeriksaan ke n/2 kita akan mendapatkan sisa pembagian 0. Artinya bilangan tersebut bukan prima dan kita tidak perlu melakukan pengecekan selanjutnya
{
if(x%i==0) = ini adalah kondisi jika sisa pembagian x dengan i sama dengan 0
count++; = count yang diisi 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). Jika ya, maka kita tambah counter "count". count++ sama artinya dengan count=count+1. Jadi, jika count bertambah maka bilangan ini bukan bilangan prima
Apakah 2 masuk jadi bilangan prima (seharusnya masuk)?
Ya, kita tidak mengecek 2 karena loop dimulai dari 2 sampai 2/2. Loop gak jalan,
Yang artinya count tidak bertambah(tetap 0), dan 2 masuk sebagai bilangan prima.
*/
if(count>0 || x<2) = jika count lebih dari 0 atau x lebih kecil dari 2 (0 atau 1)
cout<<x<<"bukan bilangan prima\n";
else
cout<<x<<"\n bilangan prima\n";
}
int x,i,count=0; =3 variabel yang bertipe integer. variable "count" diisi dengan nol
cout<<"\nMasukkan angka : =ditampilkan di atmpilan output
cin>>x; = input sebuah angka
for(i=2;i<=x/2;i++) = loop mulai dari 2 sampai n/2 kenapa? Karena 2 adalah bilangan prima yang paling kecil. Inilah kenapa kita pakai batas atasnya adalah n/2 karena kita sudah mengecek 2 pertama kali. Jika bilangan yang kita periksa merupakan kelipatan 2, maka pada pemeriksaan ke n/2 kita akan mendapatkan sisa pembagian 0. Artinya bilangan tersebut bukan prima dan kita tidak perlu melakukan pengecekan selanjutnya
{
if(x%i==0) = ini adalah kondisi jika sisa pembagian x dengan i sama dengan 0
count++; = count yang diisi 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). Jika ya, maka kita tambah counter "count". count++ sama artinya dengan count=count+1. Jadi, jika count bertambah maka bilangan ini bukan bilangan prima
Apakah 2 masuk jadi bilangan prima (seharusnya masuk)?
Ya, kita tidak mengecek 2 karena loop dimulai dari 2 sampai 2/2. Loop gak jalan,
Yang artinya count tidak bertambah(tetap 0), dan 2 masuk sebagai bilangan prima.
*/
if(count>0 || x<2) = jika count lebih dari 0 atau x lebih kecil dari 2 (0 atau 1)
cout<<x<<"bukan bilangan prima\n";
else
cout<<x<<"\n bilangan prima\n";
}
if(yt=='Y'||yt=='y')=untuk menginput ulang(ketik y jika mau input ulang maka akan kembali ke awaal)
{goto awal;}
if(yt=='T'||yt=='t')=jika tidak ingin menginput lagi(ketik t maka selesai)
Bukan kaleng kaleng mantapsss
ReplyDeleteMasukkan komentar anda ...
ReplyDelete