Sabtu, 17 April 2010

Deret Prima C++


Deret Prima

 

Output:

Input Jumlah Angka : 4

2  3  5  7

 

LOGIKA PROGRAM :

            Dalam pembuatan program deret bilangan prima ini menggunakan statemen perulangan ”FOR” dan ”WHILE”. Statement FOR digunakan untuk menyatakan perulangan yang dapat digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for nampaknya lebih efisien karena susunannya lebih simpel dan sederhana.. Sedangkan ’While’  banyak digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah.

            Pada bagian awal program terdapat pengarah kompiler berupa ”#include”. Pengarah kompiler ini Berfungsi membaca file program tertentu dan mengikutsertakan file tersebut dalam proses kompilasi. Nama file yang dimaksud harus diapit symbol ‘ < ‘ dan ‘ > ‘ atau tanda kutip dua ( “ … “ ). Dalam program tersebut terdapat “#include dan “#include”. ‘conio.h’ menunjukan pengarah kompiler dalam hal pengaturan konfigurasi input output. Sedangkan ‘iostream.h’ merupakan file program yang mengandung deklarasi kelas-kelas yang diperlukan oleh objek cout. File-file dengan ekstensi “.h” yang berisi deklarasi fungsi-fungsi standar C ini, disebut secara umum sebagai file header. ”Main() merupakan contoh fungsi, fungsi ini perlu dideklarasikan agar compiler dapat memeriksa ketepatan pemanggilan fungsi yang bersangkutan. Deklarasi fungsi sering disebut pula prototype fungsi. Pada awalanya program meminta inputan bilangan sebagai batasan bilangan yang akan dicetak atau sebagai banyaknya deret yang dihasilkan. Jika kita menginputkan ’4’ maka akan tampil 4 buah angka pertama prima dimulai dari yang paling kecil yakni ”2 3 5 7” sedangkan jika kita masukkan angka ”5” maka hasil output adalah : ”2 3 5 7 11”. Program tersebut terdapat variabel  ”int bil,i,j,n,jum;”. Variabel ’bil digunakan untuk mengecek hasil proses keseluruhan apakah bilangan tersebut merupakan prima atau tidak dimulai dari 1 sampai dengan jumlah deret yang kita inginkan. Variabel ’i’ digunakan sebagai pengganti hasil bilangan pembagi dari modulo. Misal : ”bil=2 i=1” maka ’bil%i = 2%1’. Variabel ’j’ diguanakan untuk mendefinisikan hasil sisa bagi = 0. Variabel ’n’ digunakan sebagai banyaknya jumlah variabel dari inputan user yang digunakan sebagai batasan dari perulangan ’while’. Pada bagian program tersebut terdapat statemen perulangan ”for(i=1;i<=bil;i++)”hal ini merupakan suatu syarat perulangan dengan memberikan nilai awal i = 1 dimana i bernilai dari 1 sampai dengan variabel ’jum’ yang dimasukkan oleh user. Kemudian statemen selanjutnya terdapat ”if(bil % i = = 0) { j++; }” maksudnya jika variabel ’bil’ memiliki sisa hasil bagi = 0 maka nilai j yang semula 0 akan bertambah menjadi 1. Dan pada kondisi selanjutnya terdapat statemen ”if(j= = 2)” maka akan mencetak bilangan prima tersebut. Jadi definisi bilangan prima disini adalah suatu bilangan yang bisa dibagi oleh bilangan itu sendiri dan memiliki nilai hasil sisa bagi = 0 sebanyak 2 buah. Contohnya angka 5. Untuk angka 5 sendiri itu dapat dijelaskan dari algoritma berikut ini :

i = 1 →  5 % 1 = 0

i = 2 →  5 % 2 = 1

i = 3 →  5 % 3 = 2

i = 4 →  5 % 4 = 1

i = 5 →  5 % 5 = 0

            Dan di atas dapat dilihat bahwa angka 5 memiliki sisa bagi sama dengan nol sebanyak 2 buah. Hal ini menjadi bukti bahwa bilangan prima adalah bilangan yang dapat dibagai dengan dirinya sendiri dengan syarat bilangan tersebut memiliki hasil sisa pembagian sebanyak 2 buah.

Adapun secara rinci program di atas dapat dijalankan dengan algoritma seperti di bawah ini :

*     Input Jumlah Angka : 4

*     jum=4, n=0;

*     bil =1, j=0, i=1, i<=1 ?  maka:

        1 % 1 = 0 → maka nilai j menjadi bertambah 1 (j++) atau j = 1

        Nilai variabel ’bil’ akan bertambah 1 menjadi bil=2.

*     bil = 2, j =0, n=0, i=1, i<=2?  maka:

        2 % 1 = 0 → j++; j= 0+1=1 maka j=1

        2 % 2 = 0 → j++; j=1+1=2 maka j=2

        Karena j=2 maka cetak ”bil”. Hasil output : 2

        Variabel n bertambah (n++) → n=0+1=1 maka n=1

        Nilai variabel ’bil’ akan bertambah 1 menjadi bil=3.

*     bil = 3 j=0, n=1, i=1→ i<=3?

        3 % 1 = 0 → j++; j=0+1 maka j=1

        3 % 2 = 1

        3 % 3 = 0 → j++; j=1+1 maka j=2

        Karena j=2 maka cetak ”bil”. Hasil output : 2 3

        Variabel n bertambah (n++) → n=1+1=2 maka n=2

        Nilai variabel ’bil’ akan bertambah 1 menjadi bil=3.

*     bil = 4 kj=0, n=2, i=1→ i<=4?

         4 % 1 = 0 → j++; j=0+1 maka j=1

         4 % 2 = 0→ j++; j=1+1 maka j=2

         4 % 3 = 1

         4 % 4 = 0 → j++; j=2+1 maka j=3

         Nilai variabel ’bil’ akan bertambah 1 menjadi bil=5.

*     bil = 5 j=0, n=2, i=1→ i<=5?

         5 % 1 = 0 → j++; j=0+1 maka j=1

         5 % 2 = 1

         5 % 3 = 2

         5 % 4 = 1

         5 % 5 = 0 → j++; j=1+1 maka j=2

         Karena j=2 maka cetak ”bil”. Hasil output : 2 3 5

        Variabel n bertambah (n++) → n=2+1=3 maka n=3

        Nilai variabel ’bil’ akan bertambah 1 menjadi bil=6.

*     bil = 6 j=0, n=3, i=1→ i<=6?

         6 % 1 = 0 → j++; j=0+1 maka j=1

         6 % 2 = 0→ j++; j=1+1 maka j=2

         6 % 3 = 0→ j++; j=2+1 maka j=3

         6 % 4= 2

         6 % 5= 1

        6 % 6= 0 → j++; j=3+1 maka j=4

        Nilai variabel ’bil’ akan bertambah 1 menjadi bil=7.

*     bil = 7 j=0, n=3, i=1→ i<=7?

         7 % 1 = 0 → j++; j=0+1 maka j=1

         7 % 2 = 1

         7 % 3 = 1

         7 % 4 = 3

         7 % 5 = 2

         7 % 6 = 1

         7 % 7 = 0 → j++; j=1+1 maka j=2

        Karena j=2 maka cetak ”bil”. Hasil output : 2 3 5 7

        Variabel n bertambah (n++) → n=3+1=4 maka n=4

        Karena program di atas hanya menjalankan program dengan kondisi perulangan “while(n jum. Oleh karena itu setelah program mendapatkan nilai variabel n=4 maka program berhenti dieksekusi. Program di atas akan berhenti berjalan jika nilai n telah mencapai harga = 4. Hal ini dapat dibatasi melalui statemen perulangan ‘while(n Sehingga jika kita memasukkan ‘4’ maka akan tampil output 4 bilangan prima pertama yang dimulai dari urutan terkecil sampai bilangan yang lebih besar yaitu “2 3 5 7”

1 komentar:

Unknown mengatakan...

good

Posting Komentar

Template by:
Free Blog Templates