Skip to content Skip to sidebar Skip to footer

Menentukan Bilangan Prima Dengan Java

Halo para agan, kali ini akan dijelaskan mengenai pembahasan simpel cara menentukan bilangan prima dari suatu angka.

Dengan memahami program-program yang simpel dan berlatih mengembangkan logika, mudah-mudahan menjadi dasar yang kuat untuk menuju ketingkat selanjutnya.

Sebelumnya harus diketahui dahulu, apa itu bilangan prima? Saya yakin semuanya mengetahuinya, mungkin ada beberapa yang lupa juga karena ini pelajaran matematika dasar.

Menentukan Bilangan Prima Dengan Java


Jadi bilangan prima itu adalah bilangan asli, kecuali 1, yang hanya memiliki dua faktor pembagian yaitu 1 dan angka itu sendiri. Jadi angka 0 juga tidak termasuk bilangan prima.

Contoh bilangan prima adalah 2, 3 5, 7 dan seterusnya.

Menentukan Apakah Suatu Angka Merupakan Bilangan Prima Atau Bukan?

Jadi kira-kira bagaimana ya algoritmanya bila anda akan mengecek suatu angka yang diberikan itu adalah bilangan prima atau bukan? Misalkan user memasukkan angka 75, bagaimanakah anda mengetesnya?

Pada program sederhana ini, anda akan meminta user yang ingin mengetes suatu angka, apakah termasuk bilangan prima atau bukan. Jika angka tersebut adalah bilangan prima, maka akan ditampilkan pesan yang menyatakan hal tersebut, dan juga sebaliknya.

Pemahaman mengenai penggunaan loop, pernyataan if-else, tipe data boolean, operator increment, serta break pada loop sebaiknya diketahui terlebih dahulu.

Berikut ini adalah contoh programnya:

import java.util.Scanner;

public class BilanganPrima {
 
 public static void main (String args []){
  
  Scanner input = new Scanner(System.in);
  System.out.println("Silakan masukkan angka yang akan di cek: ");
  
  int angka = input.nextInt();
  
  int temp;
  boolean prima = true;
  
  //penggunaan for loop
  for(int pembagi = 2; pembagi <= angka / 2; pembagi++){
   
   temp = angka % pembagi;
   
   if(temp == 0){
    
    prima = false;
    break;
    
   }
  
  }
  
  /*
   Jika prima adalah true dan angka yang diberikan user
   bukanlah 0 dan 1
   */
  if(prima && ((angka > 0)&&(angka != 1)))
   System.out.println(angka + " adalah bilangan prima");
  else
   System.out.println(angka + " bukanlah bilangan prima");
  
 }

}

Output:
Silakan masukkan angka yang akan di cek:
76451
76451 bukanlah bilangan prima

Menentukan Bilangan Prima Dari Rentang Angka Tertentu

Bila di atas adalah cara untuk menentukan bilangan prima dengan input satu angka, bagaimana halnya bila yang diinginkan adalah bilangan prima dari rentang angka tertentu, misalnya menampilkan bilangan prima antara rentang yang diberikan oleh user?

Contoh, bilangan prima antara 1 sampai 100000? Gak kebayang kalau mengetes secara manual satu persatu.




import java.util.Scanner;
public class BilanganPrimaDalamRentang
{
    public static void main(String args[])
    {
         
         Scanner input = new Scanner(System.in);
         System.out.println ("Masukkan angka batas bawah :"); 
         
         int angkaBawah = input.nextInt();
         System.out.println ("Masukkan angka batas atas :"); 
         int angkaAtas = input.nextInt();
         System.out.println ("Bilangan prima antara "+angkaBawah+ " dan " + 
         angkaAtas + " adalah: ");
         
         int flag = 0;
         for(int i = angkaBawah; i <= angkaAtas; i++)
         {
             for( int j = 2; j < i; j++)
             {
                 if(i % j == 0)
                 {
                     flag = 0;
                     break;
                 }
                 else
                 {
                     flag = 1;
                 }
             }
             if(flag == 1)
             {
                 System.out.println(i);
             }
         }
    }
}

 

Menampilkan Deret Bilangan Prima Dan Menampilkannya Dalam Baris

Untuk menampilkan deret bilangan prima, algoritmanya adalah:
  • Menggunakan variabel boolean prima untuk menyatakan bahwa bilangan itu termasuk bilangan prima;
  • Meng-set prima pada nilai true saat inisialisasi

    for(int pembagi = 2; pembagi <= angka / 2; pembagi++{
              if(angka % pembagi == 0)
                      Set prima ke nilai false
                      Keluar dari loop
            }
    }
Setelah itu bilangan prima yang diperoleh akan ditampilkan sesuai dengan jumlah yang diinginkan user setiap dalam setiap barisnya.

Contoh, menampilkan 100 bilangan prima pertama dan menampilkan 10 bilangan tersebut dalam setiap barisnya.

import java.util.Scanner;

public class BilanganPrima {
 
 public static void main (String args []){
  
  Scanner input = new Scanner(System.in);
  System.out.println("Silakan masukkan jumlah deret bilangan yang akan diinginkan: ");
  int jumlahBilanganPrima = input.nextInt();
  
  System.out.println("Silakan masukkan jumlah baris yang akan diinginkan: ");
  int baris = input.nextInt();
  
  System.out.println(jumlahBilanganPrima + " bilangan prima pertama adalah: ");
  
  
  int hitung = 0; //menghitung jumlah bilangan prima
  int angka = 2; //angka untuk menguji blangan prima
  
  //Perulangan dilakukan untuk mencari bilangan prima
  while(hitung < jumlahBilanganPrima){
   
   //set boolean prima ke true
   boolean prima = true;
   
   for(int pembagi = 2; pembagi <= angka / 2; pembagi++){
    
    if (angka % pembagi == 0){
     prima = false;//set prima ke false
     break;//keluar dari loop
    }
    
   }
   
   if(prima){
    
    hitung++;
    
    if(hitung % baris == 0){
     System.out.println(angka);

    }
    
    else{
     System.out.print(angka + " ");

    }
   }
   //Cek bila angka adalah bilangan prima
   angka++;
  }

  
 }

}

Ouput:

Silakan masukkan jumlah deret bilangan yang akan diinginkan:
100
Silakan masukkan jumlah baris yang akan diinginkan:
10

100 bilangan prima pertama adalah:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173
179 181 191 193 197 199 211 223 227 229
233 239 241 251 257 263 269 271 277 281
283 293 307 311 313 317 331 337 347 349
353 359 367 373 379 383 389 397 401 409
419 421 431 433 439 443 449 457 461 463
467 479 487 491 499 503 509 521 523 541

1 comment for "Menentukan Bilangan Prima Dengan Java"

  1. I blog frequently and I genuinely appreciate your content.

    This great article has truly peaked my interest.
    I am going to book mark your site and keep checking for new information about once per week.

    I subscribed to your Feed as well.

    ReplyDelete