Program Java Bilangan Prima

/**
 * Title    : Program bilangan prima
 * Deskripsi: Mengaplikasikan beberapa elemen kendali (while, for, if) untuk mencari bilangan prima
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BilanganPrima {
    /** Main method */
    public static void main(String[] args) throws IOException
    {
        int jumBilPrima;
        int counter = 1; // counter penghitung jumlah bilangan prima
       
        int bilangan = 2; // bilangan yang akan diperiksa, apakah merupakan bilangan prima atau bukan.
                          // variabel ini diinisialisasi dengan 2 karena merupakan bilangan prima pertama
                          // selanjutnya bilangan ini akan diupdate
                          // dengan bilangan berikutnya (3, 4, 5,..)
        boolean testPrima = true; // kondisi yang akan menyatakan suatu bilangan sebagai prima atau bukan
       
        System.out.println("\nPROGRAM MENCARI N BILANGAN PRIMA" + "PERTAMA");
        System.out.println("---------------------------------------------" + "--------\n");
       
        // Menginstruksikan user untuk memasukkan N (jumlah bilangan prima) yang akan dicari
        System.out.print("Masukkan jumlah bilangan prima: ");
        jumBilPrima = InputConsole.readInt();
        System.out.println("\nMencari" + jumBilPrima + "bilangan prima pertama: \n");
       
        // Blok yang mengulang pemeriksaan bila bilangan yang baru adalah bilangan prima
        while (counter <= jumBilPrima)
        {
       
        // Mengasumsikan suatu bilangan merupakan bilangan prima
        testPrima = true;
       
        // Mengeset testPrima menjadi false, jika bilangan tersebut ternyata bukan bilangan prima
        for (int pembagi = 2; pembagi <= bilangan/2; pembagi++)
        {
            if (bilangan % pembagi == 0) // jika bernilai true maka bilangan bukan prima
            {
                testPrima = false;
                break; // keluar dari blok perulangan for
            }
        }
       
        // Mencetak bilangan prima dan menambahkan counter
        if (testPrima)
        {
            if (counter%10 == 0)
            {
                // Mencetak bilangan prima
                System.out.println(bilangan);
            }
            else
                System.out.print(bilangan + " ");
               
            counter++; // Menambah satu ke counter
        }
       
        // Memeriksa apakah bilangan selanjutnya merupakan prima
        bilangan++;
        }
    }
}

class InputConsole {
public static int readInt() throws IOException{
int nilai;
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in));
String number = bufferedreader.readLine();
nilai = Integer.parseInt(number);
return nilai;
}
}

0 comments: