Analisis Algoritma Greedy pada Game Summy
himpunan kotak acuan pada tengah-tengah papan game : {‘=’} merupakan
himpunan kandidat, sehingga himpunan kandidat: { ‘2’, ‘3’, ‘1’, ‘:’, ‘4’, ‘=’,
‘x’, ‘+’, ‘=’}. Selanjutnya anggota himpunan kandidat akan dipisahkan berdasarkan apakah termasuk angka, operator aritmetika, atau operator
penugasan, sehingga diperoleh hasil seperti pada Tabel 3.2.
Tabel 3.2 Pengelompokan Himpunan Kandidat Berdasarkan Tipe Himpunan Kandidat
‘2’, ‘3’, ‘1’, ‘:’, ‘4’, ‘=’, ‘x’, ‘=’
Tipe Numerik
‘2’, ‘3’, ‘1’, ‘4’
Operator
‘:’, ‘x’
Penugasan
‘=’, ‘=’
2. Langkah 2 dimulai dengan melakukan permutasi anggota himpunan numerik
berturut-turut dari permutasi 3 dari n anggota sampai permutasi 1 dari n anggota numerik. Namun sebelum itu anggota numerik akan diurutkan terlebih
dahulu dari yang terbesar ke yang terkecil. N={ ‘2’, ‘3’, ‘1’, ‘4’} akan diurutkan
menjadi N={ ‘4’, ‘3’, ‘2’, ‘1’}. Hasil permutasinya dapat dilihat pada Tabel 3.3.
Tabel 3.3 Hasil Permutasi Himpunan Numerik Menjadi Himpunan A Permutasi
Hasil dari Permutasi N= {‘4’, ‘3’,’2’,’1’}
Banyak
3 dari 4
432 431
423 421
413 412
342 341
324 321
314 312
243 241
234 231
214 213
143 142
134 132
124 123
24
2 dari 4
43 42
41 34
32 31
24 23
21 14
13 12
12
1 dari 4 4
3 2
1 4
Total 40
Pada Tabel 3.3. terlihat bahwa pada permutasi 3 dari 4 anggota numerik adalah sebanyak 24, permutasi 2 dari 4 anggota numerik adalah sebanyak 12, dan
permutasi 1 dari 4 anggota numerik adalah sebanyak 4. Total semuanya adalah sebanyak 40. Hasil permutasi tersebut selanjutnya akan disebut sebagai
himpunan A. Sehingga A = {432, 431, 423, 421, ... , 4, 3, 2, 1}
3. Pada langkah 3 akan dimulai dengan memilih satu anggota A dari yang
terbesar ke yang terkecil yang setiap digit elemennya akan dihapus dari himpunan numerik. Sebagai contoh ketika akan memilih
‘12’ anggota A ke-36 dari yang terbesar. Maka ‘1’, dan ‘2’ akan dihapus dari anggota himpunan
numerik, sehingga awalnya N = { ‘4’, ‘3’, ‘2’, ‘1’} menjadi N = {‘4’, ‘3’}. Lalu
akan dilakukan permutasi anggota himpunan numerik berturut-turut dari permutasi 3 dari n anggota sampai permutasi 1 dari n anggota numerik. Hasil
permutasinya dapat dilihat pada Tabel 3.4.
Tabel 3.4 Hasil Permutasi Himpunan Numerik Menjadi Himpunan B Permutasi Hasil dari Permutasi
N={‘4’, ‘3’} Banyak 3 dari 2
- -
2 dari 2
43 34
2
1 dari 2 4
3 2
Total 4
Pada Tabel 3.4 terlihat bahwa permutasi tidak dimulai dari permutasi 3 dari n jumlah anggota numerik karena anggotanya saat ini berjumlah lebih kecil dari
3. Permutasi 2 dari 2 anggota numerik saat ini adalah sebanyak 2. Permutasi 1 dari 2 anggota numerik saat ini adalah sebanyak 2. Total semuanya adalah
sebanyak 4. Hasil permutasi tersebut selanjutnya akan disebut himpunan B. Sehingga B = {43, 34, 4, 3}
4. Jika pada langkah 3 tidak dapat dilakukan permutasi maka akan kembali ke
langkah 2 dengan memilih anggota A selanjutnya. 5.
Langkah 5 dimulai dengan memilih satu anggota B dari yang terbesar ke yang terkecil yang setiap digit elemennya akan dihapus dari himpunan numerik.
Sebagai contoh keti ka akan memilih ‘4’ anggota ke-3 dari yang terbesar. Maka
‘4’ akan dihapus dari anggota numerik saat ini. Sehingga awalnya N = {‘4’, ‘3’} menjadi N = {
‘3’}. Lalu akan dilakukan permutasi anggota himpunan numerik berturut-turut dari permutasi 3 dari n anggota sampai permutasi 1 dari n anggota
numerik. Hasil permutasinya dapat dilihat pada Tabel 3.5.
Tabel 3.5 Hasil Permutasi Himpunan Numerik Menjadi Himpunan C Permutasi
Hasil dari Permutasi N={‘3’} Banyak
3 dari 1 -
- 2 dari 1
- -
1 dari 1 3
1
Total 1
Pada Tabel 3.5 terlihat bahwa permutasi tidak dimulai dari permutasi 3 maupun permutasi 2 dari n jumlah anggota numerik karena anggotanya saat ini
berjumlah lebih kecil dari 2. Permutasi 1 dari 1 anggota numerik saat ini adalah sebanyak 1. Dan hasil permutasi tersebut selanjutnya akan disebut himpunan C.
Sehingga C = {3} 6.
Jika pada langkah 5 tidak dapat dilakukan permutasi maka akan kembali ke langkah 3 dengan memilih anggota B selanjutnya.
7. Jika himpunan A, B, dan C telah didapatkan maka langkah 7 akan membentuk
penjumlahan, pengurangan, perkalian, atau pembagian dengan menggabungkan setiap anggota A, B, dan C dengan aturan seperti pada Tabel 3.1.
Tabel 3.6 Hasil Pembentukan Bentuk Perkalian dan Pembagian A36 Operator B1 Penugasan C1 Hasil
Valid 12
‘x’ 4
‘=’ 3
12x4=3 Salah
12
‘:’ 4
‘=’ 3
12:4=4 Benar
Pada Tabel 3.6 terlihat bahwa setiap anggota yang terdapat pada himpunan operator akan dicoba untuk disusun untuk membentuk penjumlahan,
pengurangan, perkalian, atau. Karena pada himpunan operator hanya terdapat ‘x’ atau ‘:’ maka hanya bisa dibentuk perkalian atau pembagian saja. Pada saat
dicoba ‘x’ bentuk perkalian tersebut tidak valid karena hasil dari 12x4 adalah 48
bukan 3. Pada saat dicoba ‘:’ bentuk pembagian tersebut valid karena hasil 12:4
adalah 3. 8.
Pada langkah keenam akan memeriksa hasil yang didapat dari algoritma Greedy pada langkah kelima ke papan game. Hasil yang didapatkan tersebut akan dicek
secara horizontal atau vertikal pada papan game berdasarkan acuan kotak ‘=’
yang ada di tengah-tengah papan game seperti yang ditunjukkan Gambar 3.3
Gambar 3.3 Cek Papan Game
Pada Gambar 3.3 terlihat bahwa kotak ‘=’ yang merupakan salah satu anggota
dari himpunan kandidat akan dijadikan acuan. Kotak ‘=’ akan dicek tetangga
horizontalnya dan tetangga vertikalnya. Karena tetangga horizontal dan vertikal kotak ‘=’ sama-sama tidak ada, maka akan dipilih penyusunan horizontal
terlebih dahulu. Hasil algoritma greedy sebelumnya “12:4=3” akan dimasukkan
ke dalam papan game secara horizontal dengan kotak ‘=’ sebagai acuannya.
Gambar 3.4 Kotak Milik Komputer Dicocokkan ke Papan Game
Gambar 3.5 Kotak Milik Komputer Setelah Diletakkan Pada Papan Game
Pada Gambar 3.4 terlihat bahwa kotak milik komputer akan dicocokkan ke papan game. Jika pencocokannya berhasil maka kotak milik komputer akan
diletakkan pada papan game seperti Gambar 3.5 dan algoritma greedy telah menemukan solusi.