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.

Apakah Anda menyukai post ini? Mengapa tidak memberikan komentar di bawah dan melanjutkan perbincangan, atau berlangganan my feed dan dapatkan artikel semacam ini yang dikirm secara otomatis feed reader Anda.
Harap diperhatikan bahwa komentar atau pertanyaan yang disampaikan haruslah sesuai dengan topik yang sedang dibahas. Komentar atau pertanyaan yang tidak sesuai dengan topik akan kami hapus :!:

Tinggalkan komentar

Sebelum membuat komentar, pastikan Anda telah membaca komentar-komentar sebelumnya. Jangan membuat pertanyaan yang telah ditanyakan. Perhatikan pula link-link dalam artikel. Lihatlah link tersebut sebelum membuat pertanyaan, karena mungkin penjelasan dari pertanyaan Anda telah di jawab dalam link tersebut.

Komentar yang tidak mengikuti aturan ini akan dihapus!

(wajib)

(wajib)


Time limit is exhausted. Please reload the CAPTCHA.