PENYELESAIAN MASALAH 8 PUZZLE DENGAN ALGORITMA HILL CLIMBING STEPEST ASCENT LOGLIST HEURISTIK BERBASIS JAVA

dokumen-dokumen yang mirip
HEURISTIC SEARCH UTHIE

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh:

METODE PENCARIAN DAN PELACAKAN

PROTOTIPE IMPLEMENATSI ALGORITHMA HILLCLIMBING UNTUK MEMBUAT JADWAL PRODUKSI GARMENT DI PT XX

BAB I PENDAHULUAN. generasi pertama pada tahun 1972 dikenal dengan game konsol yang dikeluarkan

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Pencarian. Kecerdasan Buatan Pertemuan 3 Yudianto Sujana

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik

PENERAPAN ALGORITMA STEEPEST ASCENT HILL CLIMBING DAN LINEAR CONGRUENT METHOD (LCM) DALAM GAME SLIDE PUZZLE PENGENALAN SEMBILAN SUNAN BERBASIS ANDROID

Metode Pencarian & Pelacakan dengan Heuristik

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

SISTEM PENENTUAN LINTASAN TERPENDEK TRAVELING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING

Case Study : Search Algorithm

BAB III METODE PELACAKAN/PENCARIAN

ALGORITMA PENCARIAN (HEURISTIC)

Artificial Intelegence/ P_3 EKA YUNIAR

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A*

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA SIMPLE HILL CLIMBING

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

SEARCHING. Blind Search & Heuristic Search

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Penyelesaian Masalah 8-Puzzle dengan Algoritma Steepest-Ascent Hill Climbing

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB IV TEKNIK PELACAKAN

ALGORITMA PENCARIAN (1)

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell

Teknik Pencarian Heuristik

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E.

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Pencarian Rute Terpendek pada Tempat Wisata di Kota Bogor Menggunakan Metode Heuristik

IMPLEMENTASI ALGORITMA HILL CLIMBING DAN ALGORITMA A* DALAM PENYELESAIAN PENYUSUNAN SUKU KATA DASAR DENGAN POLA PERMAINAN BINTANG KEJORA

ISSN: PROBLEM SOLVING PERMAINAN PUZZLE 8 MENGGUNAKAN ALGORITMA A* Beny Hakim Halimsah, Eggy Margiso

Penggunaan Algoritma Greedy untuk Mencari Solusi Optimal dalam Permainan Brick Breaker

Masalah, Ruang Masalah dan Pencarian

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

PENCARIAN RUTE TERPENDEK ARENA KONTES ROBOT PEMADAM API INDONESIA (KRPAI) MENGGUNAKAN ALGORITMA HILL CLIMBING

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR

BAB III ANALISIS DAN DESAIN SISTEM

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI)

Implementasi Algoritma A Star pada Pemecahan Puzzle 8

TEKNIK PENCARIAN HEURISTIK (HEURISTIC SEARCHING)

Ruang Pencarian PERTEMUAN 3

AI sebagai Masalah Pelacakan. Lesson 2

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

LESSON 6 : INFORMED SEARCH Part II

Algoritma Puzzle Pencarian Kata

Penerapan Algoritma Brute Force pada permainan Countdown Number

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Strategi Algoritma Penyelesaian Puzzle Hanjie

PENYELESAIAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN METODE SIMPLE HILL CLIMBING

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI TEKA-TEKI BATTLESHIP

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

MASALAH, RUANG KEADAAN & PENCARIAN

SOLUSI ALGORITMA BACKTRACKING DALAM PERMAINAN KSATRIA MENYEBRANG KASTIL

ANTIMAGIC PUZZLE. Alwi Afiansyah Ramdan

Sebelumnya... Best-First Search Greedy Search A* Search, karena boros memory, dimunculkan variannya (sekilas): IDA* SMA* D* (DWA*) RBFS Beam

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube

UNTUK PEMECAHAN MASALAH PADA PERMAINAN HASHIWOKAKERO

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

Penerapan Algoritma Greedy untuk Permainan Halma

IMPLEMENTASI ALGORITMA GREEDY BEST FIRST SEARCH PADA APLIKASI PERMAINAN CONGKLAK UNTUK OPTIMASI PEMILIHAN LUBANG DENGAN POLA BERFIKIR DINAMIS

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

IMPLEMENTASI ALGORITMA STOCHASTIC HILL CLIMBING PADA PERMAINAN MASTERMIND

BAB 2 LANDASAN TEORI

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

Masalah, Ruang Keadaan dan Pencarian 4/7/2016. fakultas ilmu komputer program studi informatika

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Penerapan Algoritma Backtracking untuk Menyelesaikan Permainan Hashiwokakero

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Pendakian Bukit (Hill Climbing)

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

PENGEMBANGAN MEDIA PEMBELAJARAN SISTEM PELACAKAN PADA MATA KULIAH KECERDASAN BUATAN BERBASIS MULTIMEDIA

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Penyelesaian Permainan 3 missionaries and 3 cannibals Dengan Algoritma Runut-Balik

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem

PENGEMBANGAN MEDIA PEMBELAJARAN SISTEM PELACAKAN PADA MATA KULIAH KECERDASAN BUATAN BERBASIS MULTIMEDIA

ROBOT MOBIL PENCARI RUTE TERPENDEK MENGGUNAKAN METODE STEEPEST ASCENT HILL CLIMBING

BAB I PENDAHULUAN 1-1. Howard. W. Sams & Co.1987, hal 1. 1 Frenzel, L.W. Crash Course In Artifical Intelligence And Expert Systems. 1st Edition.

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

Transkripsi:

Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012) ISSN: 209-915 PENYELESAIAN MASALAH PUZZLE DENGAN ALGORITMA HILL CLIMBING STEPEST ASCENT LOGLIST HEURISTIK BERBASIS JAVA Azizah Zakiah Teknik Informatika, Politeknik Pos Indonesia Jl. Sariasih 54 Bandung 40151 Telp. (022) 2009570 ext 130 E-mail: azizah_zakiah@yahoo.com ABSTRAKS puzzle merupakan salah satu implementasi dari Artificial Intelegence Dalam proses penyelesaiannya banyak terdapat algoritma-algoritma pencarian yang dapat diterapkan. Solusi puzzle akan lebih cepat diperoleh jika digunakan prinsip array dengan variasi algoritma Steepest-Ascent Hill Climbing (Hill Climbing dengan memilih kemiringan yang paling tajam / curam) dengan parameter heuristik posisi yang benar dan heuristik jarak serta dikombinasikan dengan LogList sebagai penyimpanan state state yang pernah dilalui untuk menanggulangi permasalah pada algoritma hill climbing itu sendiri dan terhindar dari looping state yang pernah dilalui. Metode-metode yang termasuk ke dalam teknik pencarian yang berdasarkan pada fungsi heuristik salah satu diantaranya adalah Hill Climbing, Best First Search, A* (A Bintang). Loglist merupakan tempat penyimpanan setiap kunjungan dari state-state puzzle yang telah dilakukan untuk menghindari looping atau pengulangan terhadap state yang pernah dilalui. Untuk menanggulangi permasalahan pada Steepest- Ascent Hill Climbing. Kata Kunci: Puzzle, heuristik, hill climbing, Steepest-Ascent Hill Climbing, loglist 1. PENDAHULUAN 1.1 Latar Belakang puzzle adalah permainan sliding puzzle ciptaan Sam Loyd yang terdiri dari sebuah bingkai yang berisi kotak kotak angka dalam keadaan teracak dimana sebuah kotak hilang. Karena permainan ini bernama puzzle, maka ukuran bingkai adalah 3 x 3. tujuan dari puzzle ini adalah dengan memakai gerakan geser yang menggunakan ubin kosong untuk mencapai goal state. puzzle merupakan salah satu implementasi dari Artificial Intelegence. Dalam proses penyelesaiannya banyak terdapat algoritmaalgoritma pencarian yang dapat diterapkan. Dalam hal ini penulis memilih algoritma Steepest-Ascent Hill Climbing (Hill Climbing dengan memilih kemiringan yang paling tajam / curam) yang divariasikan dengan fungsi heuristik jarak dan posisi serta loglist sebagai tempat penyimpanan sebagai pembanding terhadap state state yang pernah dilalui untuk menghindari looping atau proses pergeseran ke state yang telah ada sebelumnya. 1.2 Rumusan Masalah Adapun rumusan masalah pada kasus puzzle ini adalah sebagai berikut: a. Bagaimana menyelesaikan permasalahan puzzle b. Algoritma apa yang harus digunakan untuk menyelesaikan permasalahan puzzle c. Bagaimana aturan pergeseran tile yang diperbolehkan. d. Parameter apa yang digunakan sebagai patokan dilakukannya pergeseran e. Apa yang harus dilakukan apabila terjadi state atau posisi sama yang pernah dilalui oleh puzzle f. Fungsi heuristik apa yang harus digunakan untuk pembanding untuk dilakukan persegeseran state nya. 1.3 Tujuan Adapun tujuan adalah sebagai berikut: a. Menyelesaikan permasalahan puzzle b. Menentukan Algoritma yang harus digunakan untuk menyelesaikan permasalahan puzzle c. Menentukan aturan pergeseran tile yang diperbolehkan. d. Memperoleh Parameter apa yang digunakan sebagai patokan dilakukannya pergeseran e. Menhandle apabila terjadi state atau posisi sama yang pernah dilalui oleh puzzle f. Menentukan Fungsi heuristik apa yang harus digunakan untuk pembanding untuk dilakukan persegeseran state nya. 2. TINJAUAN PUSTAKA 2.1 Fungsi Heuristic (Heuristic Search) Heuristic berasal dari bahasa Yunani yaitu heuriskein yang berarti mencari atau menemukan. Di dalam mempelajari metode metode pencarian ini, kata heuristik diartikan sebagai suatu fungsi yang memberikan suatu nilai berupa biaya perkiraan (estimasi) dari suatu solusi. (Suyanto, 2007). Metode-metode yang termasuk ke dalam teknik pencarian yang berdasarkan pada fungsi heuristik salah satu diantaranya adalah: Hill Climbing 15

Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012) ISSN: 209-915 Best First Search A* (A Bintang) Terdapat dua jenis fungsi heuristik yang bisa digunakan yaitu: a. H1 = jumlah kotak yang posisinya benar. b. H2 = jarak antara initialstate dan goalstate. Cara menghitungnya yaitu dengan menjumlahkan harga mutlak selisih antara kolom dan baris pada initial state dengan goal state. Total nilai dari h1 dan h2 adalah maksimal 9 yaitu H1 maksimum apabila posisi tile sudah sesuai dengan goalstate adalah 9 dan H2 adalah 0 (nol). Heuristik posisi adalah nilai dari pencocokan antara inisialstate dengan goalstate apabila: a. Jumlah ubin yang menempati posisi yang benar: jumlah yang lebih tinggi adalah yang diharapkan (lebih baik). b. Jumlah ubin yang menempati posisi yang salah: jumlah yang lebih kecil yang diharapkan (lebih baik). Contoh a. Jumlah Posisi Ubin yang menempati posisi yang benar adalah [1 2 4 5 6 7 ] yaitu h1 = 7. b. Jumlah Posisi Ubin yang menempati posisi yang salah adalah [0 3 ] yaitu h1 = 2. Fungsi Heuristik jarak yang diambil adalah yang bernilai 0 (nol) Contoh a. Heuristik Jarak angka 6 adalah 0 yaitu: Initial state 6: kolom = 0 ; baris = 0 Goal State 6: kolom = 0 ; baris = 0 Maka Jarak 6 adalah kolom goalstate-kolom Initialstate + baris goalstate-baris Initialstate = 0-0 + 0-0 0 b. Heuristik Jarak angka 3 adalah 0 yaitu: Initial state 3: kolom = 0 ; baris = 0 Goal State 3: kolom = 0 ; baris = 1 Maka Jarak 3 = kolom goalstate-kolom Initialstate + baris goalstate-baris Initialstate = 0-0 + 1-0 1 2.2 Hill Climbing Proses Pengujian dilakukan dengan menggunakan fungsi heuristik. Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaankeadaan lainnya yang mungkin.(kusumadewi, 2003) Terdapat dua jenis Hill Climbing yang sedikit berbeda, yakni Simple Hill Climbing (Hill Climbing sederhana) dan Steepest-Ascent Hill Climbing (Hill Climbing dengan memilih kemiringan yang paling tajam / curam). Pada kasus pemecahan masalah puzzle ini penulis memilih Steepest-Ascent Hill Climbing. Steepest-Ascent Hill Climbing sebenarnya hampir sama dengan simple hill climbing. Hanya sajagerakan pencarian tidak dimulai dari posisi paling kiri. Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik. Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi. Algoritma: a. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti ; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal. b. Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang. 1. Tentukan SUCC sebagai niali heuristik terbaik dari successor- successor 2. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang: 3. Gunakan operator tersebut dan bentuk keadaan baru. 4. Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar, Jika bukan, bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik, jadikan nilai heuristic keadaan baru tersebut sebagai SUCC. Namun jika tidak lebih baik, nilai SUCC tidak berubah. 5. Jika SUCC lebih baik daripada nilai heuristik keadaan sekarang, ubah node SUCC menjadi keadaan sekarang. Pada Steepest-Ascent Hill Climbing ini ada 3 masalah yang mungkin yaitu: a. Local optimum keadaan semua tetangga lebih buruk atau sama dengan keadaan dirinya. b. Plateu keadaan semua tetangga sama dengan keadaan dirinya. c. Ridge local optimum yang lebih disebabkan karena ketidakmampuan untuk menggunakan 2 operator sekaligus. 2.3 Loglist Loglist merupakan tempat penyimpanan setiap kunjungan dari state-state puzzle yang telah 159

Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012) ISSN: 209-915 dilakukan untuk menghindari looping atau pengulangan terhadap state yang pernah dilalui. Untuk menanggulangi permasalahan pada Steepest- Ascent Hill Climbing. 3. PEMBAHASAN 3.1 Pemilihan GoalState Sebelum melalukan pencarian state yang harus dipilih. langkah yang harus dilakukan adalah memilih goalstate. Dalam puzzle terdapat 2 buah goalstate yaitu: a. GoalState A adalah goalstate yang dipilih apabila jumlah dari perbandingan semua tile dengan tile setelahnya(sebelah kanannya) berjumlah ganjil maka goalstatenya melingkar adalah [1,2,3,,0,4,7,6,5] b. GoalState B adalah goalstate yang dipilih apabila jumlah dari perbandingan semua tile dengan tile setelahnya(sebelah kanannya) berjumlah genap maka goalstatenya berurut adalah [0,1,2,3,4,5,6,7,] (sumber: www.puzzle.com) Contohnya: Diketahui InisialState dibawah ini: Maka goalstate nya adalah 1. Hitung jumlah bilangan yang berada di sebelah kanan angka 3 yang lebih kecil tapi (inisialstate[i]< initialstate[0]) = 2 I=1 2. Hitung jumlah bilangan yang berada di sebelah kanan angka 1 yang lebih kecil tapi (inisialstate[i]< initialstate[1]) = 0 I=2 3. Hitung jumlah bilangan yang berada di sebelah kanan angka 2 yang lebih kecil tapi (inisialstate[i]< initialstate[2]) = 0 I=3 4. Hitung jumlah bilangan yang berada di sebelah kanan angka 6 yang lebih kecil tapi (inisialstate[i]< initialstate[3]) = 2 I=4 5. Hitung jumlah bilangan yang berada di sebelah kanan angka 4 yang lebih kecil tapi (inisialstate[i]< initialstate[4]) = 0 I=5 6. Hitung jumlah bilangan yang berada di sebelah kanan angka 5 yang lebih kecil tapi (inisialstate[i]< initialstate[5]) = 0 I=6 7. Hitung jumlah bilangan yang berada di sebelah kanan angka 7 yang lebih kecil tapi (inisialstate[i]< initialstate[7]) = 0 I= Jadi diperoleh jumlah: 2 + 0 + 0 + 2 + 0 + 0 + 0 6, maka goalstate yang dipilih adalah goalstate B yaitu [ 0 1 2 3 4 5 6 7 ] 3.2 Pemilihan Pergeseran State yang diperbolehkan. State dapat bergerak ke state yang selanjutnya berdasarkan posisi ubin kosong. Operator yang diperbolehkan adalah: 1. Ubin Kosong ke Kanan 2. Ubin Kosong ke Kiri 3. Ubin Kosong ke Atas 4. Ubin Kosong ke Bawah Kemungkinan Posisi ubin kosong pada state adalah: 1. Posisi Ubin Kosong pada index ke 0 atau pojok adalah bergeser ke kanan atau ke bawah. 2. Posisi Ubin Kosong pada index ke 1 atau tengah atas, maka pergesaran yang diperbolehkan adalah bergeser ke kanan, kiri atau ke bawah. 3. Posisi Ubin Kosong pada index ke 2 atau pojok kanan atas, maka pergesaran yang diperbolehkan adalah bergeser ke kiri atau ke bawah. 4. Posisi Ubin Kosong pada index ke 3 atau tengah 160

Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012) ISSN: 209-915 kiri, maka pergesaran yang diperbolehkan adalah bergeser ke kanan, atas atau bawah. 5. Posisi Ubin Kosong pada index ke 4 atau tepat di tengah, maka pergesaran yang diperbolehkan adalah bergeser ke kanan, kiri, atas atau ke bawah. 6. Posisi Ubin Kosong pada index ke 5 atau pojok adalah bergeser ke kiri, atas atau ke bawah. 7. Posisi Ubin Kosong pada index ke 6 atau pojok adalah bergeser ke kanan atau ke atas.. Posisi Ubin Kosong pada index ke 7 atau pojok adalah bergeser ke kanan, kiri atau ke atas. 9. Posisi Ubin Kosong pada index ke atau pojok adalah bergeser ke kiri atau ke atas. Dari kemungkinan pergeseran-pergeseran yang diperbolehkan dari ubin kosong diatas maka dapat disimpulkan bahwa: 1. Geser Kanan = 1 2. Geser Kiri = -1 3. Geser Atas =-3 4. Geser Bawah = +3 3.3 Algoritma Algoritma Masukkan inisial state Procedure Masukkan Inisial State DEKLARASI initialstate:array[1..9]of integer i: integer DESKRIPSI For i 0 to do Read(initialState[i]) Endfor. Algoritma Pemilihan Goalstate Procedure Pemilihan Goal State DEKLARASI initialstate: array[1..9] of integer goalstatea: array[1..9] of integer goalstateb: array[1..9] of integer goalstate: array[1..9] of integer i, j,jumlah: integer DESKRIPSI goalstatea = {1,2,3,,0,4,7,6,5} goalstateb = {0,1,2,3,4,5,6,7,} jumlah =0 { mengecek apakah jumlah dari perbandingan semua tile dengan tile setelahnya (sebelah kanannya) berjumlah ganjil maka goalstatenya melingkar jika tidak goalstateb} For i 0 to do For j i + 1 to 7 do If (initialstate[j]< initialstate[i] && initialstate[j]!= 0) then Jumlah++ endfor. Endfor. If (jumlah % 2 == 1) Then For i 0 to do goalstate[i]=goalstatea[i] endfor For i 0 to do goalstate[i]=goalstateb[i] endfor EndIf Algoritma pemilihan ubin kosong Procedure Pemilihan Langkah ubin kosong (input State: array[1..9] of integer) DEKLARASI i: integer TotalKanan: integer TotalKiri: integer TotalAtas: integer TotalBawah: integer DESKRIPSI For i 0 to do If (State[i]==0) Posisi i Endfor. Switch(posisi) Case 0: Totalkanan = heuristikposisi(kanan)+ If(Totalkanan > Totalbawah) Then Case 1: Totalkanan = heuristikposisi(kanan)+ If(Totalkanan > Totalbawah && TotalKanan > TotalKiri) Then If(Totalbawah > Totalkanan && TotalBawah > TotalKiri) Then Case 2: If(TotalKiri> Totalbawah) Then Case 3: 161

Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012) ISSN: 209-915 If(Totalkanan > Totalbawah && TotalKanan > TotalAtas) Then If(Totalbawah > Totalkanan && TotalBawah > TotalAtas) Then Case 4: If(Totalkanan > Totalbawah && TotalKanan > TotalAtas && TotalKanan > TotalKiri) Then If(TotalKiri > Totalkanan && TotalKiri > TotalAtas &&TotalKiri > TotalBawah) Then If(Totalbawah > Totalkanan && TotalBawah > TotalAtas &&TotalBawah > TotalKiri) Then Case 5: If(TotalKiri > TotalAtas &&TotalKiri > TotalBawah) Then If(TotalBawah > TotalAtas &&TotalBawah > TotalKiri) Then Case 6: If(TotalKanan > TotalAtas ) Then Case 7: If(TotalKanan > TotalAtas && TotalKanan > TotalKiri) Then If(TotalKiri > Totalkanan && TotalKiri > TotalAtas ) Then Case : If(TotalKiri > TotalAtas ) Then endswitch. 3.4 Program Program masukkan state Program pemilihan goalstate Program penghitungan nilai jarak heuristik 3.5 Antarmuka Adapun antarmuka hasil dari program puzzle ini adalah sebagai berikut: 162

Seminar Nasional Teknologi Informasi dan Komunikasi 2012 (SENTIKA 2012) ISSN: 209-915 Gambar 1. Tampilan pertama program puzzle Gambar 2. Tampilan inisial state program puzzle Gambar 3. Tampilan hasil program puzzle Tampilan Pelacakkan Pergeseran: 4. PENUTUP Kesimpulan pada makalah ini yaitu: 1. Persoalan puzzle dapat diselesaikan dengan menggunakan prinsip array serta algoritma Steepest-Ascent Hill Climbing yang telah divariasikan. 2. Solusi puzzle akan lebih cepat diperoleh jika digunakan prinsip array dengan variasi algoritma Steepest-Ascent Hill Climbing (Hill Climbing dengan memilih kemiringan yang paling tajam / curam) dengan parameter heuristik posisi yang benar dan heuristik jarak serta dikombinasikan dengan LogList sebagai penyimpanan state state yang pernah dilalui untuk menanggulangi permasalah pada algoritma hill climbing itu sendiri. PUSTAKA HillClimbing. (Online). (http://en.wikipedia.org/ wiki/hill_climbing diakses pada tanggal 2 April 2010 pukul 20.00 WIB) Kusumadewi, S. (2003). Artificial Intelelligence. Jogyakarta: Graha Ilmu.\ Local search (Constraint satisfication). (Online). (http://en.wikipedia.org/wiki/local_search_%2 constraint_satisfaction%29#hill_climbing diakses pada tanggal 2 April 2010 pukul 20.00) Suyanto. (2007). ST.,M.Sc. Dalam A. Intellegence, Searching, Reasoning, Planning and Learning. Bandung: Informatika Bandung. What is puzzle. (Online). (http://www.puzzle.com diakses pada tanggal 2 April 2010 pukul 20.00 WIB ) Yuval Baror. Visualgo N-puzzle. (Online). (http://yuval.bar-or.org/index.php?item=10 diakses pada tanggal 2 April 2010 pukul 20.00 WIB) Gambar 4. Tampilan pelacakan pergeseran program puzzle 163