Anda di halaman 1dari 4

Jurnal Mantik Penusa Volume 19 No 1 Juni 2016 ISSN 2088-3943

IMPLEMENTASI ALGORITMA SIMPLE HILL CLIMBING PADA APLIKASI


GAME TTS (TEKA – TEKI SILANG)
Paska Marto Hasugian

Program Studi Teknik Informatika


STMIK Pelita Nusantara , Jl Iskandar Muda No 1 Medan, Sumatera Utara, Indonesia
paskmarto86@gmail.com

Abstrak
Seiring dengan perkembangan ilmu pengetahuan dan teknologi, maka salah satu cara untuk mencapai
tujuan tersebut adalah dengan optimasi. Optimasi adalah pencarian nilai-nilai variable yang dianggap
optimal untuk mencapai hasil yang diinginkan. Masalah optimasi adalah dengan cara memaksimumkan
pengisian ruang-ruang kosong. Untuk memecahkan masalah optimasi tersebut, tentunya diperlukan
algoritma yang handal. Kajian ini bertujuan untuk membuat sebuah aplikasi optimasi yaitu pembuatan
teka-teki silang dengan menggunakan algoritma simple hill climbing. Algoritma Simple Hill Climbing
adalah salah satu metode dari sekian banyak metode kecerdasan buatan untuk menyelesaikan
permasalahan optimasi. Karena algoritmanya yang cukup sederhana, metode Hill Climbing telah banyak
diterapkan dalam berbagai aplikasi. Disamping itu metode hill climbing juga mengefisienkan penggunaan
memori yang besar. Dengan menggunakan Algoritma Simple Hill Climbing, maka aplikasi ini bertujuan
untuk mempermudah dalam membuat teka-teki silang dengan pertanyaan-pertanyaan yang dapat
ditentukan sendiri oleh pengguna.
Kata Kunci : Simple Hill Climbing, TTS

I. PENDAHULUAN metode hill climbing juga mengefisienkan


Seiring dengan perkembangan ilmu pengetahuan penggunaan memori yang besar. Teka-teki silang
dan teknologi, maka salah satu cara untuk mencapai merupakan permainan klasik. Selain digunakan untuk
tujuan tersebut adalah dengan optimasi. Optimasi menghilangkan rasa jenuh, TTS juga bermanfaat
adalah pencarian nilai-nilai variable yang dianggap untuk mengasah kemampuan otak dan penambah
optimal untuk mencapai hasil yang diinginkan. pengetahuan.
Masalah optimasi adalah dengan cara Dalam optimasi, penerapan algoritma Simple
memaksimumkan pengisian ruang-ruang kosong. Hill Climbing digunakan untuk mendapatkan suatu
Untuk memecahkan masalah optimasi tersebut, pola penyusunan kata dalam ruang-ruang kosong
tentunya diperlukan algoritma yang handal. yang paling optimal. Untuk mengetahui optimal atau
Teka-teki silang merupakan sebuah permainan tidaknya pengisian ruang kosong tersebut, dilakukan
untuk mengasah otak. Teka-teki silang dapat dengan melihat banyaknya kombinasi kata yang
dimanfaatkan dalam bidang pendidikan untuk dapat dibuat atau dapat juga dilihat dari banyaknya
menguji kemampuan anak didik, sehingga sisa ruang kosong teka-teki silang tersebut. Jadi,
pertanyaan-pertanyaan yang digunakan disesuaikan semakin banyak dan baik kombinasi kata yang dibuat
dengan kebutuhan saja. Tapi akan sulit apabila untuk mengisi ruang-ruang kosong, maka semakin
jumlah pertanyaan yang digunakan banyak, karena optimal pengisian tersebut. Solusi ini dapat diatasi
untuk membuat sebuah teka-teki silang dari apabila membuat teka-teki silang dilakukan secara
sekumpulan pertanyaan, kita harus mencoba otomatis dengan computer
kombinasi yang mungkin dari kata yang ada sampai
terbentuk sebuah TTS. Semakin banyak jumlah II. TEORI
pertanyaan, maka semakin banyak kombinasi yang Dasar penyelesaian permasalahan dengan
harus dicoba. TTS merupakan permainan yang mengikuti langkah berikut ini :
memberikan pembelajaran. Metode Hill Climbing 1. Mulai dari keadaan awal, lakukan pengujian: jika
adalah salah satu metode dari sekian banyak metode merupakan tujuan, maka berhenti; dan jika tidak,
kecerdasan buatan untuk menyelesaikan lanjutkan dengan keadaan sekarang sebagai
permasalahan optimasi. Karena algoritmanya yang keadaan awal.
cukup sederhana, metode Hill Climbing telah banyak 2. Kerjakan langkah-langkah berikut sampai
diterapkan dalam berbagai aplikasi. Disamping itu solusinya ditemukan atau sampai tidak ada
138

Junal Manajemen dan Informatika Komputer Pelita Nusantara


Jurnal Mantik Penusa Volume 19 No 1 Juni 2016 ISSN 2088-3943

operator baru yang akan diaplikasikan pada pertanyaan yang akan ditampilkan pada pengguna
keadaan sekarang tersebut diperoleh dari database secara acak oleh
3. Cari operator yang belum pernah digunakan; program. Teka-teki silang yang telah dibuat dapat
gunakan operator ini untuk mendapatkan disimpan dalam bentuk sebuah file yang
keadaan yang baru. memungkinkan pengguna untuk memainkan kembali
4. Evaluasi keadaan baru tersebut: teka-teki silang tersebut pada waktu yang lain.
a. Jika keadaan baru merupakan tujuan, keluar. Pertanyaan-pertanyaan yang akan digunakan dalam
b. Jika bukan tujuan, namun nilainya lebih baik teka-teki silang disimpan dalam database. Database
daripada keadaan sekarang, maka jadikan yang berisi pertanyaan-pertanyaan tersebut dapat di-
keadaan baru tersebut menjadi keadaan update sehingga koleksi pertanyaan yang tersimpan
sekarang. dapat bertambah. Dengan demikian, pengguna dapat
c. Jika keadaan baru tidak lebih baik daripada bermain teka-teki silang dengan pertanyaan yang
keadaan sekarang, maka lanjutkan iterasi. lebih bervariasi. Teka-teki silang yang dibentuk
Pada simple hill climbing ini, ada 3 masalah merupakan kumpulan jawaban dari pertanyaan yang
yang mungkin, yaitu: digunakan. Jawaban-jawaban pertanyaan disusun
1. Algoritma akan berhenti kalau mencapai nilai sedemikian rupa sehingga saling berpotongan satu
optimum lokal. sama lain. Untuk membentuk sekumpulan jawaban
2. Urutan penggunaan operator akan sangat pertanyaan menjadi teka-teki silang digunakan
berpengaruh pada penemuan solusi. sebuah papan matriks berdimensi dua. Papan matriks
3. Tidak diizinkan untuk melihat satupun langkah dapat dianalogikan seperti sebuah papan catur. Setiap
sebelumnya kotak (cell) berada pada koordinat x,y. Pada papan
Fungsi Heuristik yang digunakan adalah jumlah matriks ini nantinya jawaban dari pertanyaan akan
kotak yang menempati posisi benar. Kriteria yang diletakkan untuk dibentuk menjadi sebuah teka-teki
dipakai adalah jumlah benar yang paling besar yang silang. Setiap huruf dari jawaban akan menempati
dipilih. Crossover atau pindah silang adalah proses satu cell pada papan matriks. Aplikasi menerima
pembentukan kromosom anak (offspring). Crossover masukan dari pengguna berupa jumlah pertanyaan,
bertujuan menambah keanekaragaman string dalam permintaan update, pilihan load game dan jawaban
satu populasi dengan penyilangan antar-string yang pengguna. Jumlah pertanyaan merupakan jumlah dari
diperoleh dari reproduksi sebelumnya. Algoritma ini pertanyaan yang akan digunakan dalam permainan
paling banyak dipakai orang karna algoritma ini teka-teki silang. Permintaan update digunakan
sangat mudah digunakan. pengguna untuk meng-update database pertanyaan.
Sedangkan, pilihan load game digunakan untuk
memainkan teka-teki silang yang telah disimpan
sebelumnya dalam bentuk file dengan ekstensi .tts.
Selain menerima masukan dari pengguna, aplikasi
juga memberikan keluaran kepada pengguna berupa
teka-teki silang dan jawaban yang benar dari TTS
tersebut.
Analisa Penyelesaian Algoritma Simple Hill
Climbing

Ruang keadaan :
Misalkan :
x = baris = [1.2,3]
y = kolom = [1,4,7]
Gambar 1. Algoritma Simple Hill Climbing dengan 4 Aturan / Opreator :
operator Posisi kotak kosong (x,y)
x = baris kotak kosong
III. Analisa dan Hasil y = kolom kotak kosong
1. Analisa 1. Gerakkan kotak kosong ke atas
Teka-teki silang dengan menggunakan algoritma : if x > 1 then ( x-1, y)
Simple Hill Climbing yang akan dibangun dalam 2. Gerakkan kotak kosong kebawah : if x < 3
penelitian ini diharapkan dapat menghasilkan teka- then ( x+1, y)
teki silang dengan jumlah pertanyaan yang 3. Gerakkan kotak kosong kekanan
ditentukan sendiri oleh pengguna. Pertanyaan- : if y < 3 then ( x, y +1)
139

Junal Manajemen dan Informatika Komputer Pelita Nusantara


Jurnal Mantik Penusa Volume 19 No 1 Juni 2016 ISSN 2088-3943

4. Gerakkan kotak kosong kekiri : if y >1


then ( x, y -1)
Fungsi Heuristik Aturan :
Nilai = 0
Fungsi heuristik yang digunakan adalah jumlah Mendatar
kotak yang menempati posisi benar, kriteria yang 1. If (1,1) = “A” And (1,2) = “I” And (1,3) =
dipakai adalah jumlah benar yang paling besar yang “R” Then Nilai = +1
dipilih. 2. If (1,5) = “A” And (1,6) = “P” And (1,7) =
“I” Then Nilai = +1
A I R A P I 3. If (3,1) = “G” And (3,2) = “E” And (3,3) =
“M” And (3,4) = “B”
N I N And (3,5) = “U” And (3,6) = “N” And
(3,7) = “G” Then Nilai = +1
G E M B U N G
4. If (5,1) = “A” And (5,2) = “S” And(5,3)
K A I =”I” Then Nilai = +1
5. If (5,5) = “S” And (5,6) = “U” And(5,7)
A S I S U N =”N” Then Nilai = +1
Menurun
Gambar 2 Contoh Kasus 1. If (1,1) = “A” And (2,1) = “N” And (3,1) =
“G” And (4,1) = “K” And (5,1) = “A” Then
Mendatar Nilai = +1
Menurun 2. If (1,4) = “I” And (2,4) “B” And (3,4) = “A”
1. Water (Inggris) 1. Bilangan Then Nilai = +1
2. Panas 3. Mau 3. If (1,7) = “I” And (2,7) = “N” And (3,7) =
5. Melebar, Membesar 4. Kasihan “G” And(4,7) = “I” And (5,7) = “N” Then
6. Air Susu Ibu Nilai = +1
7. Matahari (Inggris) Nilai = 6
Tabel 1 : Keadaan Awal
A I R O G A S 2. Hasil
Pada hasil penelitian diungkapkan tersaji aplikasi
N O O I O O -1 permainan dengan penerapan hill climbing
G E M B U N G
K O O A O O -1
A S I O S U N

Tabel 2 Keadaan Goal

A I R O A P I
N O O I O O N
Tabel 3 Ruang Keadaan
G E M B U N G Gambar 3 Hasil TTS
K O O A O O I IV. KESIMPULAN
A S I O S U N Algoritma simple hill climbing dapat digunakan
untuk membuat teka-teki silang. Seperti TTS pada
1,1 1,2 1,3 1,4 1,5 1,6 1,7 umumnya, karakter yang digunakan untuk mengisi
kotak TTS hanya karakter huruf A sampai Z. Teka-
2,1 2,2 2,3 2,4 2,5 2,6 2,7 Teki Silang yang dibuat adalah teka-teki silang dalam
bentuk yang dikenal sekarang ini. Pertanyaan dibagi
3,1 3,2 3,3 3,4 3,5 3,6 3,7 menjadi dua kategori, yaitu mendatar dan menurun.
4,1 4,2 4,3 4,4 4,5 4,6 4,7 Jawaban pertanyaan mendatar tidak boleh tersusun
bersambung dengan jawaban pertanyaan mendatar,
5,1 5,2 5,3 5,4 5,5 5,6 5,7
140

Junal Manajemen dan Informatika Komputer Pelita Nusantara


Jurnal Mantik Penusa Volume 19 No 1 Juni 2016 ISSN 2088-3943

dan jawaban pertanyaan menurun tidak boleh [3] Hafni Syaeful Sulun dan Renaldi Munir, “Jurnal
tersusun bersambung dengan jawaban pertanyaan Teka-Teki Silang”, 2010.
menurun. Dari hasil pengujian diatas dapat dilihat
bahwa waktu komputasi yang diperlukan untuk [4] Herlawati, 2011, Menggunakan UML, Bandung,
membuat teka-teki silang sebanding dengan jumlah Penerbit Informatika
soal yang digunakan.
[5] Prahasta Eddy, 2009, Sistem Informasi
V. REFERENSI
Geografis, Bandung, Penerbit Informatik
[1] T.Sujono, Edy Mulyanto, Vincent Suhartono,
“Kecerdasan Buatan”, Penerbit Andi [6] Munir, Rinaldi, 2010. Matematika Diskrit Edisi
Yogyakarta, 2010. Ketiga, Bandung : Informatika Bandung.
[2] Thiang, Hendry Khoswsanto, Felix Pasila,
Hendra Thelly, “Jurnal Simple Hill Climbing,
2008.

141

Junal Manajemen dan Informatika Komputer Pelita Nusantara

Anda mungkin juga menyukai