Program Tes Bilangan Prima dalam C++


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

Implementasi ke dalam Bahasa Pemrograman C++
 
#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;
}
di atas adalah source code dalam c++, untuk bagian main hanya modifikasi output saja.
sourcode dapat di download di sini

SEKIAN DAN TERIMAKASIH, SEMOGA BERMANFAAT UNTUK ANDA

Jangan Lupa Komentarnya :)
EmoticonEmoticon