Posted by : Ulil Amri Wednesday, November 20, 2013

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.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

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