Senin, 17 Oktober 2011

Program Daftar Bilangan Prima 2 - n

Mendapatkan bilangan prima kalau dihitung secara manual terasa sulit karena harus memeriksa tiap bilangan apakah ada nilai hasil sisa pembagian atau tidak. Namun dengan algoritma sederhana, nilai-nilai bilangan prima mudah di dapatkan dengan sekali klik. Program ini dapat menampilkan semua daftar bilangan prima dari jangkauan nilai 2 sampai 9999 hanya dengan sekali klik dan waktu hitung kurang dari 1 detik :D

Bayangkan bila kita mencarinya secara manual meski menggunakan kalkulator, berapa lama waktu dan tenaga yang dihabiskan untuk mencari semua bilangan prima pada jangkauan nilai tersebut? Tentu membutuhkan waktu lama dan tenaga ekstra. Hmm... itulah salah satu manfaat program komputer, biarlah komputer yang menghitungnya kita tinggal memerintahkannya :D

Algoritmanya
Terdapat dua perulangan for (perulangan bersarang), perulangan pertama berfungsi sebagai nilai titik akhir perhitungan, misal nilainya n = 7, maka perulangan dimulai dari nilai 2 sampai 7. Perulangan kedua berfungsi untuk memeriksa tiap bilangan di dalam range 2 sampai n - 1, misal nilai perulangan pertama n = 7, maka perulangan kedua ini akan melakukan perulangan sebanyak 5 kali (2,3,4,5,6). Nilai di dalam perulangan kedua ini akan dites apakah berupa bilangan genap atau terdapat sisa pembagian. Bila salah satu atau keduanya benar, maka bilangan tersebut bukan bilangan prima.

Bagaimana membuat program JavaScript ini?
Gampang banget, nih caranya :
- Buat file jenis 'html', caranya klik kanan, pilih new terus pilih Text Document
- buka file baru tersebut terus copy-paste kode program berikut, terakhir simpan (Save As) dengan nama file misal daftar-bil-prima.html
- untuk mencobanya, klik ganda file tersebut. Browser akan membuka dan menjalankan program tersebut.

Kode programnya:
  function periksa_bil()
  {
   var n = document.getElementById('n').value;
   var isPrima = true;
   if (n > 9999 || n == '' || n < 2) return;
   
   for (i = 2; i < n; i++){
    isPrima = true;
    for(j = 2; j < i; j++){
     if (i % 2 == 0 || i % j == 0){
      isPrima = false;
      break;
     }    
    }

    if(isPrima) {
     document.write("   "+i+"  ");     
    }
   }
  }

Berikut tampilannya:


(C) 2011 Computer Science Solution (CSS)

Tidak ada komentar:

Posting Komentar