Wednesday, March 21, 2012

Perhitungan Permutasi dan Kombinasi dengan Program Java

Berikut ini merupakan kodingan permutasi dan kombinasi pada bahasa pemrograman Java menggunakan pilihan menu. Kodingannya sebagai berikut :

import java.io.*; //menambahkan fungsi java.io yang diantaranya fungsi (InputStreamReader dan BufferedReader)
import javax.swing.*; //meng-import class JOptionPane dari package javax.swing
public class permutasi_dan_kombinasi {
    public static void main(String[] args) throws IOException{ /*untuk penanganan kesalahan*/
   
      BufferedReader input=new BufferedReader (new InputStreamReader(System.in)); /*untuk membaca inputan dari user*/

    do {
    System.out.println("PROGRAM PERMUTASI DAN KOMBINASI");
    System.out.println("===============================");
    System.out.println("1. Permutasi");
    System.out.println("2. Kombinasi");
    System.out.println("3. Keluar");
    System.out.println("===============================");
    System.out.print("Masukan pilihan [1-3] = ");
    int pi=Integer.parseInt(input.readLine());
 
    switch(pi){ /*instruksi percabangan untuk menyederhanakan instruksi percabangan supaya kondisi yang ada menjadi lebih sedikit*/
     
        case 1:
        System.out.println("Bentuk Umum Permutasi mPn");
        System.out.print("Masukan bilangan m = ");
        int m=Integer.parseInt(input.readLine());
        System.out.print("Masukan bilangan n = ");
        int n=Integer.parseInt(input.readLine());
        int o=1;
        int s=1;
        int p, q, r;
        for(p=m;p>=1;p--) {
            o*=p;
        }
        q=(m-n);
        for(r=q;r>=1;r--) {
            s*=r;
        }
        System.out.println(m+"P"+n+" = "+(o/s));
        break;
     
        case 2:
        System.out.println("Bentuk Umum Kombinasi xCy");
        System.out.print("Masukan bilangan x = ");
        int x=Integer.parseInt(input.readLine());
        System.out.print("Masukan bilangan y = ");
        int y=Integer.parseInt(input.readLine());
        int t=1;
        int u=1;
        int v=1;
        int w, z, k, j;
        for(w=x;w>=1;w--) {
            t*=w;
        }
        k=(x-y);
        for(z=k;z>=1;z--) {
            u*=z;
        }
        for(j=y;j>=1;j--) {
            v*=j;
        }
        System.out.println(x+"C"+y+" = "+(t/(u*v)));
        break;
     
        case 3:
        break;
     
        default:
        System.out.println("Tolong masukan yang benar pilihannya!!");
        break;
    }
}
/*menampilkan sebuah dialog untuk melakukan konfirmasi pemakai tentang suatu proses yang tampilannya berupa yes, no atau cancel*/
while (JOptionPane.showConfirmDialog(null,"Ulang lagi?")==JOptionPane.YES_OPTION);
    }
}

inilah outputnya :

  • tampilan menu 


  • tampilan pilihan 1, yaitu permutasi : 

  • tampilan dialog box, klik yes untuk mengulang ke menu awal : 

  • tampilan pilihan 2, yaitu kombinasi : 

  • tampilan pilihan 3, yaitu keluar atau pada kotak dialog box pilih no :