Studi Kasus Permutasi dan Kombinasi Python – pesonainformatika.com, pada studi kasus kali ini, kita akan belajar mengenai studi kasus menggunakan bahasa pemrograman python, nah di kasus kali ini kali ini kita akan menerapkan konsep permutasi dan kombinasi menggunakan bahasa pemrograman python.
selanjutnya sebelum mulai membuat program kita harus tau dulu apa itu permutasi dan kombinasi, apa pentingnya mempelajari ini, kita akan kupas tuntas disini
Apa itu Permutasi
Permutasi adalah konsep tentang bagaimana cara menggabungkan objects dalam suatu grub angka (array/list) dengan memperhatikan urutan, contohnya seperti ini
{1,2,3}, {2,3,1}, {3,1,2}
ketiga contoh diatas tidak lah sama karena ketiganya tidak memperhatikan urutan, sebagai gambaran kita akan menggunakan studi kasus cerita, seperti ini
Ada sebuah kotak berisi 3 bola masing-masing berwarna merah, hijau dan biru. Jika seorang anak ditugaskan untuk mengambil 2 bola secara acak dan urutan pengambilan diperhatikan, ada berapa permutasi yang terjadi?
contoh soal permutasi
dari kasus diatas dapat kita tangkap bahwa
Ada 6 permutasi yaitu; M-H, M-B, H-M, H-B, B-M dan B-H.
jawaban soal permutasi
kali ini lanjut untuk mengenal apa itu kombinasi
Mengenal Apa itu Kombinasi
lawan dari permutasi adalah kombinasi , nah kombinasi adalah cara menggabungkan objects dalam suatu grub angka (array/list) tanpa memperhatikan urutan, contohnya seperti ini
{1,2,3}, {2,3,1}, {3,1,2}
sama seperti sebelumnya, kita menggunakan soal cerita seperti ini
Seorang anak hanya diperbolehkan mengambil dua buah amplop dari tiga buah amplop yang disediakan yaitu amplop A, amplop B dan amplop C. Tentukan ada berapa banyak kombinasi untuk mengambil dua buah amplop dari tiga buah amplop yang disediakan?
soal contoh kombinasi
dari kasus ini dapat kita menyimpulkan bahwa
Ada 3 kombinasi yaitu; A-B, A-C dan B-C.
jawaban soal kombinasi
Membuat Program
nah dari rumus diatas kita bisa membuat program dari rumus diatas, kita bisa membuat program, sederhana menggunakan modul bawaan dari python
Permutasi
langkah pertama kita buat dulu bentuk dasar dari permitasi di file permutasi.py lalu isi seperti ini
from itertools import permutations
data_list = [1, 2, 3, 4, 5]
# penggunaan permutation
permutasi = permutations(data_list)
# cetak object
print(permutasi)
# loop untuk mengetahui hasil dari fungsi permutation
for index, data in enumerate(list(permutasi), 1):
print(f'hasil nomor: {index}. {data}')
jika dijalankan hasilnya seperti ini
hasil nomor: 1. (1, 2, 3, 4, 5)
hasil nomor: 2. (1, 2, 3, 5, 4)
hasil nomor: 3. (1, 2, 4, 3, 5)
hasil nomor: 4. (1, 2, 4, 5, 3)
hasil nomor: 5. (1, 2, 5, 3, 4)
hasil nomor: 6. (1, 2, 5, 4, 3)
hasil nomor: 7. (1, 3, 2, 4, 5)
hasil nomor: 8. (1, 3, 2, 5, 4)
hasil nomor: 9. (1, 3, 4, 2, 5)
hasil nomor: 10. (1, 3, 4, 5, 2)
hasil nomor: 11. (1, 3, 5, 2, 4)
hasil nomor: 12. (1, 3, 5, 4, 2)
hasil nomor: 13. (1, 4, 2, 3, 5)
hasil nomor: 14. (1, 4, 2, 5, 3)
hasil nomor: 15. (1, 4, 3, 2, 5)
hasil nomor: 16. (1, 4, 3, 5, 2)
hasil nomor: 17. (1, 4, 5, 2, 3)
hasil nomor: 18. (1, 4, 5, 3, 2)
hasil nomor: 19. (1, 5, 2, 3, 4)
hasil nomor: 20. (1, 5, 2, 4, 3)
hasil nomor: 21. (1, 5, 3, 2, 4)
hasil nomor: 22. (1, 5, 3, 4, 2)
hasil nomor: 23. (1, 5, 4, 2, 3)
hasil nomor: 24. (1, 5, 4, 3, 2)
hasil nomor: 25. (2, 1, 3, 4, 5)
hasil nomor: 26. (2, 1, 3, 5, 4)
hasil nomor: 27. (2, 1, 4, 3, 5)
hasil nomor: 28. (2, 1, 4, 5, 3)
hasil nomor: 29. (2, 1, 5, 3, 4)
hasil nomor: 30. (2, 1, 5, 4, 3)
hasil nomor: 31. (2, 3, 1, 4, 5)
hasil nomor: 32. (2, 3, 1, 5, 4)
hasil nomor: 33. (2, 3, 4, 1, 5)
hasil nomor: 34. (2, 3, 4, 5, 1)
hasil nomor: 35. (2, 3, 5, 1, 4)
hasil nomor: 36. (2, 3, 5, 4, 1)
hasil nomor: 37. (2, 4, 1, 3, 5)
hasil nomor: 38. (2, 4, 1, 5, 3)
hasil nomor: 39. (2, 4, 3, 1, 5)
hasil nomor: 40. (2, 4, 3, 5, 1)
hasil nomor: 41. (2, 4, 5, 1, 3)
hasil nomor: 42. (2, 4, 5, 3, 1)
hasil nomor: 43. (2, 5, 1, 3, 4)
hasil nomor: 44. (2, 5, 1, 4, 3)
hasil nomor: 45. (2, 5, 3, 1, 4)
hasil nomor: 46. (2, 5, 3, 4, 1)
hasil nomor: 47. (2, 5, 4, 1, 3)
hasil nomor: 48. (2, 5, 4, 3, 1)
hasil nomor: 49. (3, 1, 2, 4, 5)
hasil nomor: 50. (3, 1, 2, 5, 4)
hasil nomor: 51. (3, 1, 4, 2, 5)
hasil nomor: 52. (3, 1, 4, 5, 2)
hasil nomor: 53. (3, 1, 5, 2, 4)
hasil nomor: 54. (3, 1, 5, 4, 2)
hasil nomor: 55. (3, 2, 1, 4, 5)
hasil nomor: 56. (3, 2, 1, 5, 4)
hasil nomor: 57. (3, 2, 4, 1, 5)
hasil nomor: 58. (3, 2, 4, 5, 1)
hasil nomor: 59. (3, 2, 5, 1, 4)
hasil nomor: 60. (3, 2, 5, 4, 1)
hasil nomor: 61. (3, 4, 1, 2, 5)
hasil nomor: 62. (3, 4, 1, 5, 2)
hasil nomor: 63. (3, 4, 2, 1, 5)
hasil nomor: 64. (3, 4, 2, 5, 1)
hasil nomor: 65. (3, 4, 5, 1, 2)
hasil nomor: 66. (3, 4, 5, 2, 1)
hasil nomor: 67. (3, 5, 1, 2, 4)
hasil nomor: 68. (3, 5, 1, 4, 2)
hasil nomor: 69. (3, 5, 2, 1, 4)
hasil nomor: 70. (3, 5, 2, 4, 1)
hasil nomor: 71. (3, 5, 4, 1, 2)
hasil nomor: 72. (3, 5, 4, 2, 1)
hasil nomor: 73. (4, 1, 2, 3, 5)
hasil nomor: 74. (4, 1, 2, 5, 3)
hasil nomor: 75. (4, 1, 3, 2, 5)
hasil nomor: 76. (4, 1, 3, 5, 2)
hasil nomor: 77. (4, 1, 5, 2, 3)
hasil nomor: 78. (4, 1, 5, 3, 2)
hasil nomor: 79. (4, 2, 1, 3, 5)
hasil nomor: 80. (4, 2, 1, 5, 3)
hasil nomor: 81. (4, 2, 3, 1, 5)
hasil nomor: 82. (4, 2, 3, 5, 1)
hasil nomor: 83. (4, 2, 5, 1, 3)
hasil nomor: 84. (4, 2, 5, 3, 1)
hasil nomor: 85. (4, 3, 1, 2, 5)
hasil nomor: 86. (4, 3, 1, 5, 2)
hasil nomor: 87. (4, 3, 2, 1, 5)
hasil nomor: 88. (4, 3, 2, 5, 1)
hasil nomor: 89. (4, 3, 5, 1, 2)
hasil nomor: 90. (4, 3, 5, 2, 1)
hasil nomor: 91. (4, 5, 1, 2, 3)
hasil nomor: 92. (4, 5, 1, 3, 2)
hasil nomor: 93. (4, 5, 2, 1, 3)
hasil nomor: 94. (4, 5, 2, 3, 1)
hasil nomor: 95. (4, 5, 3, 1, 2)
hasil nomor: 96. (4, 5, 3, 2, 1)
hasil nomor: 97. (5, 1, 2, 3, 4)
hasil nomor: 98. (5, 1, 2, 4, 3)
hasil nomor: 99. (5, 1, 3, 2, 4)
hasil nomor: 100. (5, 1, 3, 4, 2)
hasil nomor: 101. (5, 1, 4, 2, 3)
hasil nomor: 102. (5, 1, 4, 3, 2)
hasil nomor: 103. (5, 2, 1, 3, 4)
hasil nomor: 104. (5, 2, 1, 4, 3)
hasil nomor: 105. (5, 2, 3, 1, 4)
hasil nomor: 106. (5, 2, 3, 4, 1)
hasil nomor: 107. (5, 2, 4, 1, 3)
hasil nomor: 108. (5, 2, 4, 3, 1)
hasil nomor: 109. (5, 3, 1, 2, 4)
hasil nomor: 110. (5, 3, 1, 4, 2)
hasil nomor: 111. (5, 3, 2, 1, 4)
hasil nomor: 112. (5, 3, 2, 4, 1)
hasil nomor: 113. (5, 3, 4, 1, 2)
hasil nomor: 114. (5, 3, 4, 2, 1)
hasil nomor: 115. (5, 4, 1, 2, 3)
hasil nomor: 116. (5, 4, 1, 3, 2)
hasil nomor: 117. (5, 4, 2, 1, 3)
hasil nomor: 118. (5, 4, 2, 3, 1)
hasil nomor: 119. (5, 4, 3, 1, 2)
hasil nomor: 120. (5, 4, 3, 2, 1)
jadi dari contoh kasus diatas terdapat 120 permutasi bedasarkan data yang kita input dalam variabel data_list mari kita kupas satu persatu
pertama kita import fungsi permutation dari modul itertools
from itertools import permutations
kemudian kita definisikan list yang akan kita hitung permutasinya menggunakan fungsi permutations
data_list = [1, 2, 3, 4, 5]
# penggunaan permutation
permutasi = permutations(data_list)
nah dari kode diatas variabel permutasi akan berisi object dari permutations(data_list) jika kita cetak menggunakan fungsi print hasilnya seperti ini
<itertools.permutations object at 0x7fc49ead8860>
nah untuk mengetahui hasil dari permutasinya kita perlu convert dulu menjadi list kemudian kita lakukan looping
for index, data in enumerate(list(permutasi), 1):
print(f'hasil nomor: {index}. {data}')
Kombinasi
sekarang masuk ke kasus yang kedua yaitu kombinasi, sama seperti kasus sebalumnya kita akan menggunakan fungsi bawaan dari python, yaitu combinations penerapanya seperti ini
from itertools import combinations
data_list = [1, 2, 3, 4, 5]
kombinasi = combinations(data_list, r=2)
# cetak objects
print('object kombinasi', kombinasi)
# Cetak Hasil
for index, data in enumerate(list(kombinasi), 1):
print(f'kombinasi ke: {index}. {data}')
jika kita jalankan hasilnya akan seperti ini
kombinasi ke: 1. (1, 2)
kombinasi ke: 2. (1, 3)
kombinasi ke: 3. (1, 4)
kombinasi ke: 4. (1, 5)
kombinasi ke: 5. (2, 3)
kombinasi ke: 6. (2, 4)
kombinasi ke: 7. (2, 5)
kombinasi ke: 8. (3, 4)
kombinasi ke: 9. (3, 5)
kombinasi ke: 10. (4, 5)
sama seperti sebelumnya yang kita konversi adalah object dari kombinasi yang tersimpan dalam variabel kombinasi yang kita conversi menjadi list dan kita looping
# Cetak Hasil
for index, data in enumerate(list(kombinasi), 1):
print(f'kombinasi ke: {index}. {data}')
nah sampai disini dulu studi kasus kali ini source code materi kali ini dapat diakses di github, ikuti terus pesonainformatika, dan dapatkan studi kasus bahasa pemrograman lainya seperti Java, Python C++
people who use linux and people who are friendly