Menghitung Permutasi

Sebuah contoh perhitungan matematika mengenai permutasi adalah sebagai berikut:

Berapa banyaknya permutasi dari perkataan “ANITA” jika disusun dari tiga huruf?

Jawab:

Banyaknya unsur pada perkataan “ANITA” adalah 5.

Banyaknya unsur yang sama adalah 2 yaitu dua huruf A.

Banyaknya permutasi tersebut adalah:

Permutasi

dimana n adalah jumlah unsur, r adalah jumlah pengambilan, dan k adalah jumlah unsur yang sama.

Untuk menyelesaikan perhitungan tersebut, kita membutuhkan prosedur yang melakukan perhitungan faktorial dan memberikan hasilnya kepada pemanggilnya (bukan langsung mencetak hasilnya seperti pada contoh terdahulu).

program Permutasi;
{$APPTYPE CONSOLE}
var
  n,r,k:integer;
  tmp1,tmp2,tmp3,Hasil:Extended;
  procedure HitungFakt(bil:integer;out Hasil:Extended);
  var n:integer;
  begin
    Hasil:=1;
    if (bil<>0) then
    begin
      n:=1;
      repeat
        Hasil:=Hasil*n;
        n:=n+1;
      until (n>bil);
    end;
  end;
begin
  Write('Masukkan jumlah unsur (n): ');
  Readln(n);
  Write('Masukkan jumlah pengambilan (r): ');
  Readln(r);
  Write('Masukkan jumlah unsur sama (k): ');
  Readln(k);  
  HitungFakt(n,tmp1); //hitung n!  
  HitungFakt(n-r,tmp2); //hitung (n-r)!  
  HitungFakt(k,tmp3); //hitung k!
  Hasil:=tmp1/(tmp2*tmp3);
  Writeln('Hasil permutasinya adalah: ',Hasil:0:0);
  Writeln('Tekan Enter');
  Readln;
end.

Pada bagian menampilkan hasil, kita memberikan parameter kepada Writeln berupa Hasil:0:0. Ini adalah cara untuk memformat tampilan bilangan dengan tipe pecahan. Angka pertama setelah nama variabel menunjukkan jumlah karakter yang dipesan untuk penampilan hasilnya. Angka ini berguna jika kita hendak membuat tampilan yang rata kanan. Sedangkan angka kedua adalah angka yang menunjukkan jumlah digit setelah titik desimal. Tanpa adanya penambahan dua angka ini, maka bilangan pecahan akan ditampilkan dalam format sx.xxxxxxxxxxxxxxEsxxxx dimana x adalah angka dan s adalah tanda (- atau +, tetapi jika + tidak di cetak untuk s yang pertama).

Anda juga bisa memberikan angka format tersebut untuk bilangan bulat, tetapi hanya sebuah angka saja yang diijinkan yang berguna untuk menentukan jumlah karakter. Ingat bahwa bilangan bulat tidak pernah punya nilai setelah titik desimal.

Jika program dijalankan, maka hasilnya akan tampak sebagai berikut:

Masukkan jumlah unsur (n): 5
Masukkan jumlah pengambilan (r): 3
Masukkan jumlah unsur sama (k): 2
Hasil permutasinya adalah: 30
Tekan Enter

Jika kita tidak memberikan angka pengaturan, maka hasil yang muncul akan menjadi 3.00000000000000E+0001 bukan 30.

Comments |0|

Time limit is exhausted. Please reload the CAPTCHA.

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Legend *) Required fields are marked
**) You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>