Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

dokumen-dokumen yang mirip
TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

Masalah, Ruang Masalah dan Pencarian

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

METODE PENCARIAN DAN PELACAKAN

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

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

ALGORITMA PENCARIAN (1)

BAB III METODE PELACAKAN/PENCARIAN

memberikan output berupa solusi kumpulan pengetahuan yang ada.

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

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

Masalah, Ruang Masalah dan Pencarian

Tujuan Instruksional

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

MASALAH, RUANG KEADAAN & PENCARIAN

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

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

KATA PENGANTAR. Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga

AI sebagai Masalah Pelacakan. Lesson 2

METODE PENCARIAN BFS dan DFS

PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

ALGORITMA PENCARIAN (HEURISTIC)

SEARCHING. Blind Search & Heuristic Search

Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE)

HEURISTIC SEARCH UTHIE

METODE PENCARIAN. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

Masalah, Ruang Keadaan, Pencarian. Kecerdasan Buatan Pertemuan 2 Yudianto Sujana

ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM

Pencarian. Kecerdasan Buatan Pertemuan 3 Yudianto Sujana

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

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

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

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

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

PENERAPANAN ALGORITMA BFS, DFS, DAN UCS UNTUK MENCARI SOLUSI PADA MASALAH ROMANIA

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Bab 2 2. Teknik Pencarian

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

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

PENERAPAN POHON PELACAKAN DALAM MENCARI LINTASAN YANG DAPAT DILALUI OLEH SEEKOR SEMUT PADA BIDANG KARTESIAN DENGAN METODE BREADTH FIRST SEARCH

Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan

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

SEARCHING. Blind Search

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.

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

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

TEKNIK PENCARIAN HEURISTIK (HEURISTIC SEARCHING)

SSSS, Problem Solving. State Space Search. Erick Pranata. Edisi I

BAB 2 LANDASAN TEORI

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

Penerapan BFS dan DFS pada Pencarian Solusi

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

IMPLEMENTASI ALGORITMA GENERATE AND TEST PADA PENCARIAN RUTE TERPENDEK

BAB 2 TINJAUAN PUSTAKA

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

Artificial Intelegence/ P_3 EKA YUNIAR

TERAPAN SISTEM KECERDASAN BUATAN PADA SISTEM INFORMASI AKADEMIK BERBASIS SMS GATEWAY MENGGUNAKAN METODE BREADTH FIRST SEARCH

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

BAB IV TEKNIK PELACAKAN

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Problem-solving Agent: Searching

Artificial Intelegence/ P_2. Eka Yuniar

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

BAB II LANDASAN TEORI

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

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

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

Search Strategy. Search Strategy

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

BAB 3 ANALISIS DAN PERANCANGAN

Penerapan BFS dan DFS pada Pencarian Solusi

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

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

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

BAB I PENDAHULUAN UKDW. dalam kehidupan kita sehari-hari, terutama bagi para pengguna sarana

Penggunaan Metode Depth First Search (DFS) dan Breadth First Search (BFS) pada Strategi Game Kamen Rider Decade Versi 0.3

BAB I PENDAHULUAN 1.1 Latar Belakang

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

KECERDASAN BUATAN. Simple Hill Climbing. Disusun Oleh:

ARTIFICIAL INTELLIGENCE

IMPLEMENTASI SISTEM PARKIR CERDAS DI UNIVERSITAS TELKOM. SUBSISTEM : APLIKASI MOBILE

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Penerapan Algoritma BFS dan DFS dalam Permainan Ular Tangga

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Penerapan Algoritma DFS dalam Menyelesaikan Permainan Buttons & Scissors

03/03/2015. Agenda Teknik Dasar Pencarian Teknik Pemecahan Masalah Strategi Pencarian Mendalam Pencarian Heuristik

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

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi

Transkripsi:

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe Harvei Desmon Hutahaean STMIK Pelita Nusantara, Jl. Iskandar Muda No. 1 Medan, Sumatera Utara, Indonesia http : // www.penusa.ac.id, Email: harvei.hutahaean@gmail.com ABSTRAK Pencarian adalah proses pencarian solusi di dalam suatu permasalahan sampai solusi atau tujuan ditemukan, atau pergerakan di state-space untuk mencari lintasan dari initial-state ke goal-state. Dalam sebuah permainan TIC TAC Toe proses pencarian ruang keadaan tidak cukup untuk mengotomasikan tingkah laku pemecahan masalah, pada setiap situasi tersebut hanya terdapat sejumlah pilihan langkah yang terbatas yang boleh dilakukan oleh seorang pemain. Masalah-masalah yang akan dihadapi dapat dipecahkan dengan melakukan pencarian (search) dari antara pilihan-pilihan yang ada, terdukung oleh pandangan cara penyelesaian yang biasa dilakukan. Best First Search bekerja dengan cara melakukan pencarian pada sebuah Graf Berarah yang setiap simpulnya menggambarkan sebuah titik di dalam suatu ruang problema. Kata kunci: pencarian, best first serach, game PENDAHULUAN Dalam permainan digunakan pencarian ruang keadaan. Untuk menampilkannya diperlukan suatu metoda yang cocok sesuai dengan masalah yang dihadapi, maka pada masalah ini akan diterapkan metoda pencarian Best First Search yaitu pencarian terbaik pertama yang paling menjanjikan sesuatu. 1. Masalah-masalah yang akan dihadapi dapat dipecahkan dengan melakukan pencarian (search) dari antara pilihanpilihan yang ada, terdukung oleh pandangan cara penyelesaian yang biasa dilakukan. Proses pencarian (search) merupakan proses yang amat penting dalam mendapatkan solusi problema sulit dimana tidak ada lagi teknik langsung yang dimungkinkan untuk dipakai. 2. Dalam kebanyakan problema (masalah), ruang keadaan bertambah secara luar biasa seiring dengan pertambahan jumlah keadaan yang dimungkinkan. Best First Search menangani kerumitan masalah dengan cara memandu proses pencarian pada sepanjang lintasan yang paling diharapkan. Agar dapat memecahkan problema (masalah) dalam pencarian tersebut, maka dipakailah apa yang disebut dengan proses pencarian Best First Search [1]. Masalah yang akan dihadapi dalam pembuatan aplikasi tersebut yaitu : a. Bagaimana menerapkan metode Best First Search pada permainan? b. Bagaimana mengimplementasikan metode Best First Search ke dalam sebuah bentuk aplikasi? c. Bagaimana metode Best First Search tersebut bisa digunakan untuk melakukan pencarian secara optimal? Proses pencarian ruang keadaan tidak cukup untuk mengotomasikan tingkah laku pemecahan masalah, pada setiap situasi tersebut hanya terdapat sejumlah pilihan langkah yang terbatas yang boleh dilakukan oleh seorang pemain. Maka dalam penulisan penelitian ini akan dibahas beberapa hal antara lain : a). Pemecahan problema yang didasarkan pada aturan-aturan yang memandu proses pencarian (search) ke arah ruang keadaan yang paling menjanjikan. b). Kemungkinan tentang langkah-langkah berikutnya dan memilih yang terbaik menurut kriteria tertentu dan strategi yang dirancang. c). Penerapan metode pencarian Best First Search yang melakukan pencarian terbaik pertama. Adapun tujuan dari studi ini yang dilakukan pada pembuatan penelitian ini adalah : a. Mempelajari dan menerapkan ilmu yang didapat selama bangku kuliah. b. Untuk mengetahui bagaimana cara menyelesaikan suatu masalah yang akan dihadapi. c. Untuk dapat mendefenisikan suatu problema (masalah). LANDASAN TEORI 2.1 Pencarian Pencarian adalah proses pencarian solusi di dalam suatu permasalahan sampai solusi atau tujuan ditemukan, atau pergerakan di statespace untuk mencari lintasan dari initial-state ke goal-state. Dimana state-space itu sendiri adalah himpunan semua state yang dapat Penerapan Metode Best First Search Pada Permainan Tic Tac Toe. 1

dicapai dari state awal sampai state tujuan melalui sederetan aksi. Sedangkan initial-state merupakan state awal yaitu darimana suatu pencarian akan dimulai. Goal-state merupakan state tujuan, seringkali tujuan hanya dinyatakan sebagai sifat yang harus dipenuhi. Lintasan (path) dalam state-space adalah sederetan aksi dari satu state ke state yang lain. Untuk banyak persoalan, lintasan mana yang diambil menentukan kualitas solusi. 2.2. Teknik Pencarian Ada empat hal yang harus diperhatikan untuk membangun sistem atau memecahkan masalah tertentu : a. Mendefenisikan masalah dengan jelas. b. Menganalisis masalah. c. Mengumpulkan dan mempresentasikan ilmu pengetahuan (knowledge). d. Memilih teknik pemecahan masalah terbaik dan menggunakannya untuk masalah tertentu. Masalah utama dalam membangun sistem berbasis Artificial Intelligence (AI) adalah bagaimana mengkonversikan situasi yang diberikan ke dalam situasi lain yang diinginkan menggunakan sekumpulan operasi tertentu. Ada berbagai macam masalah yaitu : 1. Single-state problems yaitu satu aksi mengantarkan agen ke satu state yang lain. 2. Multi-state problems yaitu satu aksi dapat mengantarkan agen ke beberapa kemungkinan state. 3. Contingency problems yaitu hasil dari satu aksi sangat sukar untuk diprediksi, agen mengetahui efek apa yang mungkin ditimbulkan oleh aksi yang dilakukannya. Umumnya menggunakan perencanaan (planning). 4. Exploration problems yaitu agen sama sekali tidak mempunyai informasi mengenai efek dari aksi yang dilakukannya. Agen perlu bereksperimen dan belajar atau menggunakan metoda learning yang ada. 2.3 Kriteria Pencarian Terdapat empat kriteria dalam strategi pencarian yaitu : a. Completeness : Apakah strategi tersebut menjamin penemuan solusi jika solusinya memang ada? b. Time complexity : Berapa lama waktu yang diperlukan? c. Space complexity : Berapa banyak memori yang diperlukan? d. Optimality : Apakah strategi tersebut menemukan solusi yang paling baik jika terdapat beberapa solusi berbeda pada permasalahan yang ada? 2.4 Metoda Pencarian Secara garis besar pencarian dapat dibedakan menjadi dua, yaitu Pencarian Buta (Blind Uninformed Search) dan Pencarian Terbimbing (Informed Heuristics Search). Pada Blind Uninformed Search tidak ada informasi mengenai jarak dari current-state ke goal-state sedangkan pada Informed heuristic Search ada informasi mengenai jarak dari current-state ke goal-state. Pada Blind uninformed search terdapat beberapa metoda, yaitu Breadth First Search, Depth First Search. Sedangkan pada Informed Heuristics Search yaitu : Generate and Test, Pendakatan Bukit (Hill Climbing), Pencarian Terbaik Pertama (Best First Search). Masing-masing metoda tersebut mempunyai karakteristik yang berbeda. 2.4.1 Breadth First Search (BFS) Prosedur pencarian pelebaran pertama merupakan prosedur yang menjamin diperolehnya sebuah solusi jika solusi itu memang ada, dimana tersedia sejumlah pencabangan pohon (tree) yang berhingga. Jika terdapat sebuah solusi, maka akan ada sebuah lintasan dengan panjang berhingga dari keadaan awal ke keadaan tujuan. Pencarian pelebaran pertama ini akan mencari semua lintasan dengan panjang satu (yang panjangnya berhingga), dan kemudian akan mengamati semua lintasan dengan panjang dua (yang panjangnya juga berhingga). Proses ini terus dilanjutkan sampai semua lintasan diamati, sehingga solusi dapat diperoleh. Prosedur ini dijamin tidak hanya dapat menemukan solusi, namun juga solusi dengan lintasan yang terpendek dari tujuan. Terdapat tiga persoalan utama sehubungan dengan prosedur tersebut, yaitu : Memerlukan memori yang besar. Jumlah simpul (node) di setiap tingkat dari pohon (tree) bertambah secara eksponensial terhadap jumlah tingkat, dan kesemuanya itu harus disimpan sekaligus. Membutuhkan sejumlah besar pekerjaan, khususnya jika lintasan solusi terpendek cukup panjang, karena jumlah simpul (node) yang diperlukan untuk diperiksa bertambah secara eksponensial terhadap panjang lintasan. Ketidakrelevanan operator akan menambah jumlah simpul (node) yang harus diperiksa dengan sangat besar. Penerapan Metode Best First Search Pada Permainan Tic Tac Toe. 2

Untuk mengimplementasikan pencarian pelebaran pertama digunakan daftar (list), baik yang open (terbuka) maupun yang close (tertutup) dalam menelusuri gerakan pencarian di dalam ruang keadaan. Prosedurnya adalah sebagai berikut : Prosedur Breadth First Search inisialisasi: open = [Start]; close = [] while open /= [] do hapuskan keadaan paling kiri dari kedaan open, sebutlah keadaan itu dengan X; jika X merupakan tujuan then return(sukses); buatlah semua child dari X; ambillah X dan masukkan pada closed; eliminasilah setiap child X yang telah berada pada open atau closed, yang akan menyebabkan loop dalam search; ambillah turunan di ujung kanan open sesuai urutan penemuannya; end. Gambar 1 : Breadth First search Graf Sumber : Elearning.uinsuka.ac.id/attachment/pencarian_heuristik_bjyr 6.pdf Bila menelusuri prosedur diatas pada graf gambar 2.1, maka dengan menganggap U sebagai keadaan tujuan yang diinginkan : open = [A]; closed = [] open = [B,C,D]; closed = [A] open = [C,D,E,F]; closed = [B,A] open = [D,E,F,G,H]; closed = [C,B,A] open = [E,F,G,H,I,J]; closed = [D,C,B,A] open = [F,G,H,I,J,K,L]; closed = [E,D,C,B,A] open = [G,H,I,J,K,L,M] (karena L telah open); closed = [F,E,D,C,B,A] open = [H,I,J,K,L,M,N]; closed = [G,F,E,D,C,B,A] dan seterusnya sampai U diperoleh atau open = [] Proses pencarian Breadth First mengamati setiap simpul (node) di setiap tingkat Graf sebelum bergerak menuju ruang yang lebih dalam, maka mula-mula semua keadaan akan dicapai lewat lintasan yang terpendek dari keadaan awal. Karena itu, proses pencarian ini menjamin ditemukannya lintasan terpendek dari keadaan awal ke keadaan tujuan. 2.4.2 Depth First Search (DFS) Pada Depth First Search, proses pencarian akan dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi, proses ini diulangi terus hingga ditemukannya solusi. Proses pencarian ini akan cepat mencapai kedalaman ruang pencarian. Jika diketahui bahwa lintasan solusi problema akan panjang, maka pencarian Depth First tidak akan memboroskan waktu untuk melakukan pencarian sejumlah besar keadaan dangkal kedalaman dalam Graf, tidak melihat lintasan lebih pendek menuju tujuan atau terjebak dalam lintasan dengan panjang takhingga (infinite) yang tidak mengarah ke tujuan. Depth_First Search jauh lebih efisien untuk ruang pencarian dengan banyak pencabangan, karena tidak perlu harus mengevaluasi semua simpul pada suatu tingkat tertentu pada daftar Open. Depth First Search mempunyai keuntungan dan kelemahan : a. Keuntungan dari Depth First Search 1. Membutuhkan memori yang relatif kecil, karena hanya node- node pada lintasan yang aktif saja yang disimpan. 2. Secara kebetulan, metode depth-first search akan menemukan solusi tanpa harus menguji labih banyak lagi dalam ruang keadaan. b. Kelemahan dari Depth First Search 1. Memungkinkan tidak ditemukannya tujuan yang diharapkan. 2. Hanya akan mendapatkan 1 solusi pada setiap pencarian. Prosedur pencarian kedalaman pertama dapat diimplementasikan dengan melakukan proses pencarian sebagai berikut : Prosedur Depth First Search Inisialisasi open = [Start]; close = [] While open /= [] do Begin hapuskan keadaan berikutnya dari sebelah kiri open, sebutlah keadaan itu dengan X; jika X merupakan tujuan then return(sukses); buatlah semua child yang dimungkinkan dari X; ambillah X dan masukkan pada closed; eliminasilah setiap child X yang telah berada pada open atau closed, yang akan menyebabkan loop dalam search; ambillah child yang tersisa di ujung kanan open sesuai urutan penemuannya; Penerapan Metode Best First Search Pada Permainan Tic Tac Toe. 3

Untuk memeriksa algoritma diatas, bahwa keadaan-keadaan turunan (descendant) ditambahkan atau dihapuskan dari ujung kiri open. Hasil penerapan algoritma diatas ditunjukkan pada gambar Gambar 2 : Graf setelah 6 iterasi Depth Firs Search [3] Langkah-langkah penelusuran algoritma Depth_First_Search adalah : open = [A]; closed = [] open = [B,C,D]; closed = [A] open = [E,F,C,D]; closed = [B,A] open = [K,L,F,C,D]; closed = [E,B,A] open = [S,L,F,C,D]; closed = [K,E,B,A] open = [L,F,C,D]; closed = [S,K,E,B,A] open = [T,F,C,D]; closed = [L,S,K,E,B,A] open = [F,C,D]; closed = [T,L,S,K,E,B,A] open = [M,C,D]; closed = [F,T,L,S,K,E,B,A] open = [C,D]; closed = [M,F,T,L,S,K,E,B,A] dan seterusnya sampai diperoleh U atau open = []. Algoritma pencarian Depth First dapat menyimpan sebuah record parent pada setiap keadaan, dan dapat merekonstruksi lintasan yang menghasilkan keadaan tujuan dari keadaan awal. Pencarian Depth First tidak menjamin ditemukannya lintasan terpendek menuju keadaan ketika pertama kali ditemuinya. 2.4.3 Best First Search (BFS) Ada dua bagian pencarian terbaik pertama (Best First Search) yaitu : 2.4.3.1 Graf Or Pencarian terbaik pertama (Best First Search) merupakan suatau cara yang menggabungkan keuntungan atau kelebihan dari pencarian Breadth First dan Depth First. Pada setiap langkah proses pencarian terbai pertama, kita memilih simpul-simpul (node) yang paling menjanjikan sesuatu. Hal ini dilakukan dengan menerapkan fungsi Heuristik yang memadai pada setiap simpul tersebut. Kemudian, kita mengembangkan simpul yang kita pilih itu dengan menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya. Jika salah satu simpul tersebut merupakan sebuah solusi, kita berhenti. Jika bukan, semua simpul baru itu ditambahkan ke himpunan simpul yang sejauh ini telah dibuat. Setelah itu, kembali kita memilih simpul yang paling diharapkan dan melanjutkan proses. Namun, jika tidak bisa mendapatkan sebuah solusi, pencabangan itu akan mulai mencari simpul yang kurang menjanjikan sesuatu daripada cabang di tingkat puncak yang telah kita abaikan. Di titik itu, cabang yang saat ini lebih menjanjikan sesuatu dan sebelumnya sempat diabaikan, akan disimak. Gambar 3 berikut menunjukkan awal prosedur pencarian terbaik pertama (Best_First). Mula-mula hanya terdapat satu simpul yang kemudian dikembangkan menjadi tiga simpul baru. Dalam contoh ini, fungsi Heuristik yang merupakan pengukur biaya dalam memperoleh sebuah solusi dari sebuah simpul (node) tertentu, diterapkan pada simpulsimpul yang baru tersebut. Karena D merupakan simpul yang paling menjanjikan sesuatu, maka simpul ini yang kemudian dikembangkan dan menghasilkan dua simpul pengganti E dan F. lewat lintasan yang lain, katakanlah B tampak cukup dapat diharapkan, dan bila diproses akan didapatkan simpul G dan H. namun setelah dievaluasi, simpul-simpul baru ini tidak begitu dapat diharapkan dibandingkan dengan lintasan yang pertama tadi (lewat simpul D), sehingga perhatian kembali diarahkan ke simpul D menuju ke E. Bila E dikembangkan, diperoleh simpul I dan J. Selanjutnya, simpul J yang akan dikembangkan karena simpul ini yang tampaknya paling dapat diharapkan. Proses semacam ini akan terus dilanjutkan sampai diperoleh sebuah solusi. Gambar 3 : Ilustrasi pencarian terbaik pertama (best_first_search) [6] Implementasi pencarian Best_First dapat dilakukan dengan algoritma A*. Algoritma ini bekerja dengan cara melakukan pencarian pada sebuah Graf Berarah yang setiap Penerapan Metode Best First Search Pada Permainan Tic Tac Toe. 4

simpulnya menggambarkan sebuah titik di dalam suatu ruang problema. Setiap simpul (node) akan berisi sebuah penunjuk seberapa besar simpul itu dapat diharapkan sebagai tambahan terhadap depenelitian keadaan problema yang direpresentasikannya, serta penghubung parent yang mengarah balik pada simpul terbaik dan sebuah daftar simpul yang dihasilkan darinya. Penghubung Parent ini akan memungkinkannya untuk menemukan kembali lintasan yang mengarah ke tujuan begitu tujuan tersebut ditemukan. Daftar pengganti atau penerusnya (successor) akan memungkinkannya untuk melanjutkan pengembangan ke penggantinya jika ditemukan sebuah lintasan yang lebih baik dari sebuah simpul yang telah ada. Ada dua daftar simpul yang digunakan yaitu: 1. Open (Terbuka) Simpul-simpul yang telah dihasilkan dan ada fungsi Heuristik yang terterap padanya, namun belum diperiksa. Daftar ini sebenarnya merupakan antrian yang diprioritaskan dengan elemen yang memiliki prioritas tertinggi sebagai nilai fungsi Heuristik yang paling dapat diharapkan. 2. Close (Tertutup) Simpul-simpul yang telah diperiksa. Berikut ini adalah Algoritma A* : mulailah dengan open yang hanya berisi simpul awal. Buatlah nilai g simpul ini sama dengan 0, nilai h nya berapa saja, serta nilai f nya sama dengan h + 0, atau h. buatlah closed untuk suatu daftar kosong. Prosedur berikut akan diulangi sampai simpul tujuan didapatkan : Jika tidak ada simpul pada open, dilaporkan adanya kesalahan. Jika ada, simpul pada open diberi nilai f terendah, kemudian simpul ini disebut Simpul_Terbaik. Setelah itu, simpul ini dipindahkan dari open dan diletakkan pada closed. Kemudian simpul ini ditelaah apakah merupakan simpul tujuan?. Jika ya, maka ke luar (exit) dan melaporkan solusi. Jika tidak, buatlah pengganti Simpul Terbaik. Pada keadaan yang pasti, algoritma A* menunjukkan hasil yang optimal dalam menghasilkan jumlah simpul tersedikit dalam proses menemukan solusi sebuah problema. Adapun algoritma (pseudocode) heuristik (Best First Search) sebagai berikut : Procedure Best First Search Inisialisasi : open = [Mulai]; closed = [] While open /= do ambillah keadaan berikutnya dari open, sebutlah ini dengan X; jika X merupakan tujuan the return lintasan solusi yang menghasilkan X; proseslah X; buatlah semua child-nya; untuk setiap child X do case child belum berada pada open atau closed : tentukan nilai heuristik untuk keadaan child; tambahkan keadaan child pada open; child telah berada pada open : pada open child telah berada pada closed : jika child telah sampai pada closed lewat lintasan yang lebih pendek dari keadaan saat ini then berikan nilai lintasan yang lebih pendek ini pada closed; move keadaan ini dari closed ke open letakkan X pada closed; atur ulang keadaan-keadaan pada open menurut heuristik (nilai yang terbaik pada urutan pertama) return (gagal); {open telah selesai diperiksa seluruhnya} end. PEMBAHASAN Adapun analisa dari pembahasan penelitian ini agar pembahasan dapat diselesaikan adalah sebagai berikut: b. Implementasi metoda pencarian terbaik pertama (Best First Search) untuk penyelesaian permainan Tic Tac Toe, hal mendasar yang diperhatikan dalam permainan ini yaitu bagaimana permainan tersebut melakukan pencarian dan dapat diselesaikan dengan cepat. c. Pada penelitian ini permainan yang dimaksud adalah permainan Tic Tac toe yaitu permainan yang dimainkan oleh dua orang yang akan mengklick sehingga muncul nilai atau gambar sesuai yang dibuat (O dan X). Jika nilai X atau O-nya membentuk tiga nilai yang sama baik secara mendatar, menurun atau melalui diagonalnya maka pemain tersebut yang menang. d. Pemain pertama dapat melakukan gerakan dimana X memilki garis yang paling diharapkan untuk mencapai kemenangan. Pencarian Best First akan memilih dan melakukan gerakan menuju keadaan dengan nilai Heuristik tertinggi. Dalam hal ini, X diletakkan di pusat papan. Seperti gambar berikut : Penerapan Metode Best First Search Pada Permainan Tic Tac Toe. 5

Form permainan merupakan tampilan dari permainan. Gambar 4 : Paling mungkin untuk menang yang diterapkan pada permainan tic tac toe Setelah langkah pertama, pemain ke-dua dapat memilih dua alternatif. Manapun yang dipilih pemain ke-dua, Best First search dapat tetap diterapkan dan melakukan pemilihan langkah dari langkah-langkah yang dimungkinkan seperti gambar berikut : Gambar 5 : Ruang keadaan yang tereduksi secara heuristik Permasalahan yang telah dibahas sebelumnya dicoba merancang sistem dengan membuat aplikasi permainan tersebut. IMPLEMENTASI Implementasi merupakan percobaan suatu sistem yang telah jadi ke dalam permasalahan yang sebenarnya. Pengimplementasian suatu program akan berpengaruh pada spesifikasi komputer yang digunakan, agar program bisa berjalan dengan baik maka spesifikasi perangkat keras dan perangkat lunak harus sesuai. A. Form Menu Utama Form menu utama merupakan form yang berisi pilihan-pilihan menu utama atau tampilan pertama saat program dijalankan. Gambar 6 : Form Game KESIMPULAN Adapun yang menjadi kesimpulan dari penelitian ini adalah sebagai berikut: 1. Algoritma Best First Search dapat diimplementasikan dalam penentuan pencarian rute terpendek, penetuan langkah dan juga dalam kasus TSP. 2. Algoritma Best First Search pada game tic tac toe cukup bagus dengan nilai heuristiknya yang relatif kecil daripada kesempatan yang disediakan. Sehingga, skor yang diperoleh dapat lebih tinggi. DAFTAR PUSTAKA 1. Sandy S. Artificial Intelligence. Yogyakarta : Andy offset. 1993. 2. Sony Daniswara, Ryan. Mencari dan memperbaiki Handphone. Depok: kawan pustaka. 2005 3. Adipranata, dkk, 2007. Aplikasi Pencarian Rute Optimum pada Peta guna Meningkatkan Efisiensi Waktu Tempuh Pengguna Jalan Dengan Metode A* dan Best First Search. Jurnal Informatika Vol. 8, N0. 2 4. Kusumadewi, Sri. 2003. Artificial Intelligence (Teknik dan Aplikasinya), yogyakarta, Graha Ilmu. 5. Kusumadewi, Sri. 2003. Pengantar Kecerdasan Buatan. Yogyakarta, Graha Ilmu. 6. Zi, Nurullina. 2011. Implementasi Konsep Kecerdasan Buatan dengan Metode Best First Search (BFS) untuk Pembuatan Game Ular Tangga Modifikasi. Universitas Sumatera Utara. Gambar 5 : Form Menu Utama B. Form Permainan (Game) Penerapan Metode Best First Search Pada Permainan Tic Tac Toe. 6