Showing posts with label ulil. Show all posts

Algoritma BIlangan Prima

Postingan kali ini terinspirasi dari soal praktikum Bahasa Pemrograman I yang saat itu saya sedang mengawas praktikum untuk mata kuliah ini. Dari yang soal yang ada, memang semuanya berhubungan dengan dasar pemrograman yaitu algoritma.

Algoritma merupakan tahap-tahap dalam menyelesaikan sebuah permasalahan. Apapun bahasa pemrograman yang akan kita pelajari. Ilmu dasar yang harus kita kuasai adalah Algoritma.

Kembali ke soal tadi, soal tersebut menyatakan sebagai berikut:

"Buatlah Program PHP untuk menampilkan algoritma diantara 2 buah bilangan dan jumlahkan"

Oke, pada postigan kali ini saya akan coba menjelaskan bagaimana Algoritma dari menentukan bilangan prima diantara 2 buah bilangan dan menentukan jumlah dari bilangan tersebut.

*bilangan prima adalah biangan yang hanya bisa dibagi dengan 1 dan dirinya sendiri*

Misalkan begini, Bilangan prima diantara 1 dan 10 adalah 2, 3, 5,7 dan jumlahnya adalah 2+3+5+7 = 17.

So, apa yang diperlukan untuk menentukan semua itu. Pertama, pasti sebuah perulangan. Boleh while atau for ataupun foreach.

Kita perlu 2 buah perulangan.
1. Perulangan I Untuk mencacah dari bilangan pertama ke bilangan ke dua
2. Perulangan II untuk mencari jumlah pembagian dari nilai I sampai nilai ke dua. jika jumlah pembagian sama dengan 2 maka dia termasuk kepada bilangan prima.

Bingung? Sama saya juga bingung hehe berikut saya tuliskan algoritma beserta penjelasannya.

for (i=bilanganPertama; i <= bilangankedua; i++)                               ---> Perulangan pertama
b=0;
       for ( j=1; j<=i; j++)                                           ---> Perulangan Kedua
              a=0;         ---> Inisialisasi nilai A, untuk penghitung jumlah bilangan yang habis dibagi.
              if  (i % j == 0)
                  a++;                       // hitung jumlah pembagian
              endif;
       endfor;
    if ( a == 2)
       //merupakan bilangan prima
      b = b + i;   // hitung jumlah bilangan prima
   endif;
endfor;


Kelemahan Algoritma di atas adalah proses yang lama jika data yang di load sampai jutaan data yang akan dicek satu persatu apakah habis dibagi dengan banyak bilangan sebelumnya.
Wednesday, November 20, 2013
Posted by Ulil Amri

- Copyright © 2013 Laboratorium Pemrograman dan Basis Data -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -