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.
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.
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:
Output:
Silakan masukkan angka yang akan di cek:
76451
76451 bukanlah bilangan prima
Contoh, bilangan prima antara 1 sampai 100000? Gak kebayang kalau mengetes secara manual satu persatu.
Contoh, menampilkan 100 bilangan prima pertama dan menampilkan 10 bilangan tersebut dalam setiap barisnya.
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
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.
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
}
}
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
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
I blog frequently and I genuinely appreciate your content.
ReplyDeleteThis 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.