Materi
Permutasi adalah susunan berurutan. Banyaknya cara memilih dan mengurutkan r objek dari n objek berbeda adalah P(n, r) = n! ÷ (n − r)!, dengan n! = n × (n − 1) × … × 1 dan 0! = 1. Kombinasi adalah pilihan tanpa urutan. Banyaknya cara memilih r objek dari n objek adalah C(n, r) = n! ÷ (r! × (n − r)!), juga disebut koefisien binomial. Hubungan keduanya: setiap kombinasi r objek dapat diurutkan dengan r! cara, sehingga P(n, r) = C(n, r) × r!.
Pertanyaan penentunya satu: apakah menukar urutan menghasilkan sesuatu yang berbeda? Juara satu, dua, dan tiga adalah permutasi, karena Ani juara satu dan Budi juara dua berbeda dari sebaliknya. Tim beranggotakan tiga orang adalah kombinasi, karena tim {Ani, Budi, Citra} sama dengan {Citra, Ani, Budi}. Contoh: dari 8 pelari, susunan juara 1–2–3 ada P(8, 3) = 8 × 7 × 6 = 336, sedangkan tim tiga pelari ada C(8, 3) = 336 ÷ 3! = 56. Di Python, math.perm dan math.comb menghitungnya langsung, sedangkan itertools.permutations dan itertools.combinations mendaftarnya.
import math
print(math.perm(8, 3)) # 336
print(math.comb(8, 3)) # 56
print(math.comb(8, 9)) # 0: memilih 9 dari 8 tidak mungkin