Lompat ke isi

Membangkitkan Permutasi: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29187987; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 49: Baris 49:
* [[Permutasi]]
* [[Permutasi]]
* [[Permutadik]]
* [[Permutadik]]


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Membangkitkan+Permutasi&oldid=29187987 Wikipedia bahasa Indonesia], revisi 29187987 (2026-05-02T15:36:19Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Membangkitkan+Permutasi&oldid=29187987 Wikipedia bahasa Indonesia], revisi 29187987 (2026-05-02T15:36:19Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 23 Agustus 2026 04.14

Membangkitkan Permutasi berarti membentuk untai S' yang merupakan permutasi dari untai S.

Permasalahan umum yang terdapat seputar membangkitkan permutasi adalah:

Diberikan sebuah untai S, tentukan:

  • Semua permutasi dari S
  • Semua permutasi n-elemen dari S
  • Permutasi berikutnya setelah S
  • Permutasi ke-k dari s sesuai urutan leksikografik (atau aturan lainnya)

Membangkitkan seluruh permutasi dari S

Menggunakan rekursi

Kita dapat mendaftar semua himpunan permutasi dari S dengan algoritma sebagai berikut:

Diberikan sebuah untai

s=a0a1a2...an1an.

Hendak dibuat himpunan

P(s)={pi|pi adalah permutasi ke-i dari s}.
  1. Jika s tidak kosong, maka untuk setiap abjad untai s (a0 hingga an), yaitu ai:
    1. Pindahkan ai ke p (taruh paling belakang).
    2. Jalankan algoritma kembali untuk s dan p yang baru.
    3. Kembalikan huruf yang telah dipindahkan ke posisi semula.
  2. Jika s sudah kosong, maka p adalah sebuah permutasi dari s.

Implementasi algoritma tersebut dalam bahasa Pascal adalah seperti yang tertulis di bawah ini. Prosedur ini akan mencetak semua kemungkinan permutasi.

 procedure perm(s, p: string);
 begin
   if' s <> ''  then
   begin
     for i:= 1 to length(s) do
     begin
       // pindahkan abjad ke-i dari s ke p
       p:= p + s[i];
       delete(s, i, 1);
       perm(s, p);
       // kembalikan abjad yang telah diambil ke posisi semula
       insert(p[length(p)], s, 1);
       delete(p, length(p), 1);
     end;
   end
   else
     writeln(p);
 end;

Lihat pula

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29187987 (2026-05-02T15:36:19Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.