• Tidak ada hasil yang ditemukan

Penyelesaian Permainan Pergeseran Angka Pada Bintang Kejora Menggunakan Metode Breadth first Search (BFS).

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penyelesaian Permainan Pergeseran Angka Pada Bintang Kejora Menggunakan Metode Breadth first Search (BFS)."

Copied!
107
0
0

Teks penuh

(1)

i

Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga penulis dapat menyelesaikan pengerjaan dan penyusunan laporan Tugas Akhir ini. Penulis ucapkan rasa terima kasih yang teramat dalam kepada semua pihak dan pihak UPN “Veteran” Jatim yang telah memberikan kesempatan pada penulis untuk melaksanakan Tugas Akhir ini. Serta rasa terima kasih penulis yang teramat dalam kepada Dosen Pembimbing I, Bapak Moch.Irwan Affandy ,ST.MSc dan Ibu Fetty Trianggraeny ,S.Kom selaku Dosen Pembimbing II yang telah membimbing penulis dalam Tugas Akhir.

Disadari bahwa dalam penulisan laporan ini masih jauh dari kata sempurna, namun, penulis tetap berharap semoga isi dari laporan ini dapat benar-benar berguna baik untuk para penulis khususnya dan para pembaca pada umumnya, maka dari itu kritik dan saran yang membangun sangat penulis harapkan.

Surabaya, 2010 Hormat saya,

(2)

ii

Penulis menyadari bahwasanya dalam menyelesaikan Tugas Akhir ini telah mendapat banyak bantuan dan dukungan dari berbagai pihak, untuk itu pada kesempatan yang berharga ini, penyusun mengucapan terima kasih kepada:

1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya

2. Bapak Tasyim, Selaku Wakil Dekan I Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya

3. Sembah Sungkem buat Bapak Ibuku. Penulis, terima kasih atas doa restunya, sehingga penulis bisa membuat sesuatu yang lebih baik dari laporan ini.

4. Buat keluarga besarku di sidoarjo Terima Kasih atas dukungan support maupun doanya

5. Bapak Moch.Irwan Affandy ,ST.MSc selaku Dosen Pembimbing I dan Ibu Fetty Trianggraeny ,S.Kom selaku Dosen Pembimbing II Tugas Akhir yang telah meluangkan begitu banyak waktu, tenaga dan pikiran serta dengan sabar membimbing penulis dari awal hingga Laporan Tugas Akhir ini dapat terselesaikan.

6. Spesial terima kasih buat yang tercinta Hedi Darmawan yang telah memberikan semangat dan doa, serta dukungannya baik moral maupun materi. 

(3)

iii

Permainan pergeseran angka dalam bintang kejora ini dapat diselesaikan

dengan menggunakan bantuan struktur pohon pelacakan (search tree). Pohon

pelacakan adalah suatu pohon (tree), dimana akar dari pohon berupa keadaan

awal dan cabang berupa keadaan-keadaan yang mungkin terjadi dari keadaan

sebelumnya serta daun merupakan keadaan akhir, yang dapat dijadikan sebagai

solusi dari permasalahan.

Algoritma pencarian yang akan digunakan adalah algoritma breadth-first

search (BFS). Pada algoritma BFS, pencarian dimulai dari node akar terus ke

level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya.

Hasil akhir dari pembuatan system ini adalah membuat system yang dapat

menyelesaikan permasalahan yang ada pada permainan bintang kejora ini. dan

dapat memperlihatkan langkah demi langkah penyelesaian / solusi yang telah di

dapat.

(4)

LEMBAR PENGESAHAN

DAFTAR TABEL... xiii

BAB I PENDAHULUAN... 1

BAB II TINJAUAN PUSTAKA... 7

2.1 Artifisial Intelligentce (AI) ... 7

iv 

(5)

2.1.3 Paham Pemikiran AI... 12

2.1.4 Lingkup AI Pada Aplikasi Komersial ... 13

2.1.5 AI dan Kecerdasan Alamiah... 15

2.2 Teknik Dasar Pencarian ... 17

2.2.1 Pencarian Melebar Pertama (Breadth First Search) ... 18

2.2.2 Pencarian Mendalam Pertama (Depth First Search)... 20

2.2.3 Pencarian BFS dan DFS Tidak Mendapatkan Solusi ... 22

2.2.4 Pencarian Terbimbing ( Heuristik Search) ... 22

2.3 Masalah Ruang Keadaan... 24

2.4 Pergeseran Angka Pada Bintang Kejora ... 26

2.5 Representasi Pengetahuan... 28

2.5.1 Pohon ... 28

2.5.2 Jaringan Semantik... 29

BAB III ANALISA DAN PERANCANGAN... 31

3.1 Pembahasan... 31

3.1.1 Alur Kerja Perangkat Lunak... 31

(6)

3.2 Perancangan ... 39

3.2.1 Perancangan Database ... 39

3.2.2 Perancangan Perangkat Lunak... 41

3.2.2.1 Form Awal... 42

4.1.1 Algoritma Pencarian Breadth First Search (BFS) ... 50

4.2 Implementasi Perangkat Lunak... 54

4.2.1 Spesifikasi Hardware dan Software... 54

4.2.2 Aplikasi Perancangan Interface Perangkat Lunak... 55

 xii      

(7)

C. Form Set Keadaan Bintang Kaki 6 ... 57

5.1 Uji Coba Permainan Pergeseran Angka... 77

5.1.1 Uji Coba Pada Bintang Kejora Kaki 5... 77

A. Mencari Solusi dengan Menggunakan Software... 78

B. Mencari Solusi dengan Menggunakan Cara Manual... 82

C. Analisa Hasil Uji Coba... 84

5.1.2 Uji Coba Pada Bintang Kejora Kaki 6... 84

A. Mencari Solusi dengan Menggunakan Software... 84

B. Mencari Solusi dengan Menggunakan Cara Manual... 88

C. Analisa Hasil Uji Coba... 91

vii 

(8)

6.2. Saran ... 92

DAFTAR PUSTAKA... 94

LAMPIRAN

 xii      

(9)

Gambar 2.1 Pencarian Melebar Pertama (BFS)... 19

Gambar 2.2 Pencarian Mendalam Pertama (DFS)... 21

Gambar 2.3 Gambaran Ruang Keadaan dalam Permainan tic-tac-toe... 25

Gambar 2.4 Bentuk Bintang Kejora Berkaki 5 ... 26

Gambar 2.5 Bentuk Bintang Kejora Berkaki 6 ... 27

Gambar 2.6 Contoh tree ... 28

Gambar 2.7 Contoh Jaringan Semantik ... 29

Gambar 3.1 Flowchart... 32

Gambar 3.2 Aturan Pergeseran Angka Dalam Bintang Kejora ... 34

Gambar 3.3 Posisi Titik Pada Bintang Kejora Berkaki 5... 35

Gambar 3.4 Posisi Titik Pada Bintang Kejora Berkaki 6... 35

Gambar 3.7 Contoh Permasalah dalam Bintang Kejora Berkaki 5... 37

Gambar 3.8 Struktur Pohon Pelacakan pada Permasalahan gambar 3.6... 38

Gambar 3.9 Rancangan Form Awal... 42

Gambar 3.10 Rancangan Form Set Keadaan Bintang Kaki 5... 43

Gambar 3.11 Rancangan Form Set Keadaan Bintang Kaki 6... 44

ix 

(10)

Gambar 3.14 Rancangan Form Solusi Bintang Kaki 6 ... 47

Gambar 3.15 Rancangan Form Abaout... 48

Gambar 4.1 Form Awal ... 55

Gambar 4.2 Form Set Keadaan Bintang Kaki 5... 56

Gambar 4.3 Form Set Keadaan Bintang Kaki 6... 57

Gambar 4.4 Form Pilih Metode Pencarian... 58

Gambar 4.5 Form Pencarian BFS ... 59

Gambar 4.6 Form Solusi Bintang Kaki 5... 59

Gambar 4.7 Form Solusi Bintang Kaki 6... 60

Gambar 4.8 Contoh Kasus Pada Bintang Kejora kaki 5 ... 62

Gambar 4.9 Metode Pencarian pada Bintang Kejora Kaki 5 ... 63

Gambar 4.10 Pencarian Solusi ... 64

Gambar 4.11 Langkah 1 pada Solusi Bintang Kaki 5... 65

Gambar 4.12 Langkah 2 pada Solusi Bintang Kaki 5... 66

Gambar 4.13 Langkah 3 pada Solusi Bintang Kaki 5... 66

Gambar 4.14 Langkah 4 pada Solusi Bintang Kaki 5... 67

 xii      

(11)

Gambar 4.17 Contoh Kasus Pada Bintang Kejora kaki 6 ... 70

Gambar 4.18 Metode Pencarian pada Bintang Kejora Kaki 6 ... 71

Gambar 4.19 Pencarian Solusi ... 72

Gambar 4.20 Langkah 1 pada Solusi Bintang Kaki 6... 73

Gambar 4.21 Langkah 2 pada Solusi Bintang Kaki 6... 74

Gambar 4.22 Langkah 3 pada Solusi Bintang Kaki 6... 74

Gambar 5.1 Kasus pada Bintang Kejora Kaki 5 ... 78

Gambar 5.2 Pencarian Solusi ... 79

Gambar 5.3 Langkah 1 pada Solusi Bintang Kaki 5... 80

Gambar 5.4 Langkah 2 pada Solusi Bintang Kaki 5... 81

Gambar 5.5 Mencari Solusi Secara Manual... 82

(12)

Gambar 5.13 Langkah 3 pada Solusi Bintang Kaki 6... 87

Gambar 5.14 Mencari Solusi Secara Manual... 88

Gambar 5.15 State Awal ... 89

Gambar 5.16 Geser Angka. 4,5 dan 3 pada level 1... 89

Gambar 5.17 Geser Angka 5,7 dan B pada level 2 ... 90

Gambar 5.18 Geser Angka 4, dan A pada level 3... 90

 xii      

(13)

xiii 

 

Tabel 3.1 Solusi Pergeseran Angka ... 38

Tabel 3.2 Rancangan Tabel Heuristik... 40

Tabel 4.1 Solusi Contoh Kasus pada Bintang Kejora Kaki 5 ... 69

Tabel 4.2 Waktu Pencarian Solusi Pada Bintang Kejora Kaki 5 ... 69

Tabel 4.3 Solusi Contoh Kasus pada Bintang Kejora Kaki 6 ... 74

Tabel 4.4 Waktu Pencarian Solusi Pada Bintang Kejora Kaki 6 ... 75

(14)

1

1.1 Latar Belakang

Dalam kehidupan sehari-hari maupun dalam literatur-literatur dapat ditemukan berbagai jenis permainan angka. Keunikan dari permainan-permainan angka ini menjadikan permainan ini sangat mengasyikkan, dan sekaligus dapat digunakan untuk melatih kecerdasan. Permainan pergeseran angka biasanya dimainkan dalam kotak berbentuk persegi atau persegi panjang. Jenis permainan ini cenderung lebih mudah untuk dimainkan dan diselesaikan. Permainan ini akan menjadi jauh lebih rumit dan sukar apabila dimainkan dalam wadah yang berbentuk bintang. Bentuk wadah ini menyebabkan arah proses pergeseran angka menjadi terbatas.

(15)

breadth-first search (BFS). Pada algoritma BFS, pencarian dimulai dari node akar terus ke

level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya.

Permainan pergeseran angka dalam bintang kejora ini sangat rumit dan sukar untuk diselesaikan secara manual. Oleh karena itu, penulis berusaha untuk merancang sebuah perangkat lunak yang dapat mencari solusi terpendek bagi permainan ini dengan menggunakan bantuan pohon pelacakan. Maka, penulis mengambil tugas akhir dengan judul “Penyelesaian Permainan Pergeseran Angka Pada Bintang

Kejora Menggunakan Metode Breadth First Search ( BFS )

”.

1.2 Perumusan Masalah

Masalah permainan pergeseran angka dalam bintang kejora dapat dirumuskan sebagai berikut, user memilih bentuk bintang kejora yang akan digunakan, menentukan keadaan awal, menentukan keadaan akhir dan memilih metode yang akan digunakan untuk mencari solusi. Setelah itu, program akan mencari solusi penyelesaian dengan metode yang dipilih dan memperlihatkan solusi terpendek yang ditemukan dengan metode tersebut.

1.3 Tujuan dan Manfaat Penulisan

(16)

Manfaat dari penyusunan tugas akhir (skripsi) ini, yaitu :

1. Perangkat lunak dapat digunakan sebagai fasilitas pendukung dalam proses belajar mengajar, terutama dalam mata kuliah Artificial Intelligence.

2. Membantu mencari solusi terpendek dari permainan pergeseran angka dalam bintang kejora.

1.4 Pembatasan Masalah

Ruang lingkup permasalahan dalam merancang perangkat lunak ini dibatasi sebagai berikut :

1. Bintang kejora yang digunakan memiliki 2 jenis (bentuk), yaitu :

a. Bentuk bintang berkaki lima, dengan jumlah titik (node) dalam bintang kejora sebanyak 10 buah, dan jumlah titik yang dapat diisi adalah sebanyak 9 buah.

b. Bentuk bintang berkaki enam, dengan jumlah titik (node) dalam bintang kejora sebanyak 12 buah, dan jumlah titik yang dapat diisi adalah sebanyak 11 buah.

2. Keadaan awal dan keadaan akhir yang diinginkan dapat ditentukan secara manual ataupun di-setting secara acak oleh komputer.

(17)

4. Algoritma pencarian yang digunakan adalah algoritma breadth-first search (BFS).

5. Perangkat lunak akan mencari solusi terpendek. Jika tidak terdapat solusi, maka perangkat lunak akan menampilkan sebuah pesan pemberitahuan.

1.5 Metodologi Penyelesaian Masalah

Langkah – langkah pembuatan perangkat lunak ini antara lain :

a. Membaca dan mempelajari buku – buku yang berhubungan dengan Artificial Intelligence (AI).

b. Mempelajari konsep pohon pelacakan, terutama metode breadth-first search, dan heuristik dan penerapannya dalam penyelesaian problema

pergeseran angka dalam bintang kejora.

c. Merancang suatu perangkat lunak penyelesaian dari permainan pergeseran angka dalam bintang kejora dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0.

d. Menguji perangkat lunak dan memperbaiki kesalahan (error) yang muncul.

1.6 Sistematika Penulisan

Pada laporan Tugas Akhir ini akan menjelaskan Perangkat Lunak

(18)

memahami materi, laporan Tugas Akhir ini dibagi menjadi lima bab yang dilengkapi dengan penjelasan langkah-langkah dan ilustrasinya.

BAB I PENDAHULUAN

Bab ini akan menjelaskan tentang Latar Belakang, Perumusan Masalah, Batasan Masalah, Tujuan Penulisan, Manfaat, Metodologi Penulisan, dan Sistematika Penulisan.

BAB II TINJAUAN PUSTAKA

Bab ini menjelaskan tentang dasar teori yang digunakan sebagai penunjang serta referensi dalam pembuatan laporan Tugas Akhir ini. Penjelasannya meliputi definisi Artificial Intelligence, Algoritma Birth First Search, Algoritma Heuristik.

BAB III PEMBAHASAN DAN PERANCANGAN

Dalam bab ini dijelaskan tentang pembahasan dan perancangan serta alur kerja Perangkat Lunak Permainan Pergeseran Angka Pada Bintang Kejora.

BAB IV ALGORITMA DAN IMPLEMENTASI

(19)

BAB V PENUTUP

Bab ini akan menjelaskan tentang Kesimpulan dari keseluruhan isi dari laporan Tugas Akhir serta Saran yang disampaikan penulis untuk penelitian berikutnya dalam Perangkat lunak Permainan Pergeseran Angka Dalam Bintang Kejora

DAFTAR PUSTAKA

(20)

7

2.1 Kecerdasan Buatan / Artificial Intelligence (AI)

2.1.1 Definisi Artificial Intelligence (AI)

Kecerdasan Buatan (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.

Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau menyelesaikan permainan puzzle geser angka. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain Sepakbola.

(21)

perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.

Kecerdasan buatan ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya. Tidak ada definisi yang memuaskan untuk 'kecerdasan':

1. kecerdasan: kemampuan untuk memperoleh pengetahuan dan menggunakannya

(22)

karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namun bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki kemampuan menalar yang baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian pula, dengan kemampuan menalar yang sangat baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik.

Komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar, agar komputer bisa bertindak seperti dan sebaik manusia. Untuk itu pada artificial intelligence, akan mencoba untuk memberikan beberapa metode untuk membekali komputer dengan kedua komponen tersebut agar komputer bisa menjadi mesin yang pintar. Untuk menciptakan aplikasi kecerdasan buatan ada 2 bagian utama yang sangat dibutuhkan, yaitu:

1. Basis Pengetahuan (Knowledge Base)

Basis pengetahuan berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan yang lainnya.

2. Motor Inferensi (Inference Engine)

(23)

2.1.2 Sejarah AI

Pada awal abad 17, René Descartes mengemukakan bahwa tubuh hewan bukanlah apa-apa melainkan hanya mesin-mesin yang rumit. Blaise Pascal menciptakan mesin penghitung digital mekanis pertama pada 1642. Pada 19, Charles Babbage dan Ada Lovelace bekerja pada mesin penghitung mekanis yang dapat diprogram.

Bertrand Russell dan Alfred North Whitehead menerbitkan Principia Mathematica, yang merombak logika formal. Warren McCulloch dan Walter Pitts menerbitkan "Kalkulus Logis Gagasan yang tetap ada dalam Aktivitas " pada 1943 yang meletakkan pondasi untuk jaringan syaraf.

Tahun 1950-an adalah periode usaha aktif dalam AI. Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester (UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah "kecerdasan buatan " pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. Dia juga menemukan bahasa pemrograman Lisp. Alan Turing memperkenalkan "Turing test" sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian.

(24)

dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnosa dan terapi medis yang kadangkala disebut sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang yang kusut secara mandiri.

Pada tahun 1980-an, jaringan syaraf digunakan secara meluas dengan algoritma perambatan balik, pertama kali diterangkan oleh Paul John Werbos pada 1974. Tahun 1990-an ditandai perolehan besar dalam berbagai bidang AI dan demonstrasi berbagai macam aplikasi. Lebih khusus Deep Blue, sebuah komputer permainan catur, mengalahkan Garry Kasparov dalam sebuah pertandingan 6 game yang terkenal pada tahun 1997. DARPA menyatakan bahwa biaya yang disimpan melalui penerapan metode AI untuk unit penjadwalan dalam Perang Teluk pertama telah mengganti seluruh investasi dalam penelitian AI sejak tahun 1950 pada pemerintah AS.

(25)

2.1.3 Paham Pemikiran AI

Secara garis besar, AI terbagi ke dalam dua faham pemikiran yaitu AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI konvensional kebanyakan melibatkan metoda-metoda yang sekarang diklasifikasikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. AI konvensional dikenal juga dengan sebutan AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). Metoda-metodanya meliputi:

1. Sistem pakar: menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.

2. Petimbangan berdasar kasus 3. Jaringan Bayesian

4. AI berdasar tingkah laku: metoda modular pada pembentukan sistem AI secara manual

Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak. Metoda-metoda pokoknya meliputi:

(26)

2. Sistem Fuzzy: teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen.

3. Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk menghasilkan pemecahan masalah yang lebih baik.

Metoda-metoda ini terutama dibagi menjadi algoritma evolusioner (misalnya algoritma genetik) dan kecerdasan berkelompok (misalnya algoritma semut).

Dengan sistem cerdas hibrid, percobaan-percobaan dibuat untuk menggabungkan kedua kelompok ini. Aturan inferensi pakar dapat dibangkitkan melalui jaringan syaraf atau aturan produksi dari pembelajaran statistik seperti dalam ACT-R. Sebuah pendekatan baru yang menjanjikan disebutkan bahwa penguatan kecerdasan mencoba untuk mencapai kecerdasan buatan dalam proses pengembangan evolusioner sebagai efek samping dari penguatan kecerdasan manusia melalui teknologi.

2.1.4 Lingkup AI pada Aplikasi Komersial

(27)

komputer (informatika), namun juga sudah merambah di berbagai disiplin ilmu yang lain. Irisan antara psikologi dan AI melahirkan sebuah area yang dikenal dengan nama cognition & psycolinguistics. Irisan antara teknik elektro dengan AI melahirkan berbagai ilmu, seperti: pengolahan citra, teori kendali, pengenalan pola dan robotika.

Adanya irisan penggunaan AI di berbagai disiplin ilmu tersebut menyebabkan cukup rumitnya untuk mengklasifikasikan AI menurut disiplin ilmu yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian lingkup AI didasarkan pada output yang diberikan, yaitu pada aplikasi komersial (meskipun sebenarnya AI itu sendiri bukan merupakan medan komersial).

Lingkup utama dalam kecerdasan buatan adalah: 1. Sistem Pakar (Expert System).

Disini, komputer digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan demikian, komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.

2. Pengolahan Bahasa Alami (Natural Language Processing).

Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan Ucapan (Speech Recognition).

Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara.

(28)

5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau objek-objek tampak melalui komputer.

6. Intelligent Computer-aided Instruction. Komputer dapat digunakan

sebagai tutor yang dapat melatih dan mengajar. 7. Game Playing.

Seiring dengan perkembangan teknologi, muncul beberapa teknologi yang juga bertujuan untuk membuat agar komputer menjadi cerdas sehingga dapat menirukan kerja manusia sehari-hari. Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun 1965 muncul Logika Fuzzy. Kemudian pada tahun 1975, John Holland mengatakan bahwa setiap problem berbentuk adaptasi (alami maupun buatan) secara umum dapat diformulasikan dalam terminologi genetika. Algoritma genetika ini merupakan simulasi proses evolusi Darwin dan operasi genetika atas kromosom.

2.1.5 AI dan Kecerdasan Alamiah

Kecerdasan alamiah adalah kecerdasan yang dimiliki oleh manusia. Jika dibandingkan dengan AI, ada beberapa keuntungan kecerdasan buatan dibanding kecerdasan alamiah, yaitu:

1. Lebih permanen.

(29)

2. Memberikan kemudahan dalam duplikasi dan penyebaran.

Mentransfer pengetahuan manusia dari satu orang ke orang lain membutuhkan proses yang sangat lama, dan keahlian itu juga tidak akan pernah dapat diduplikasi dengan lengkap. Oleh karena itu, jika pengetahuan terletak pada suatu sistem komputer, pengetahuan tersebut dapat disalin dari komputer tersebut dan dapat dipindahkan dengan mudah ke komputer yang lain.

3. Relatif lebih murah dari kecerdasan alamiah.

Menyediakan layanan komputer akan lebih mudah dan lebih murah dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4. Konsisten dan teliti.

Hal ini disebabkan karena AI adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami akan senantiasa berubah-ubah.

5. Dapat didokumentasi.

Keputusan yang dibuat oleh komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

(30)

Sedangkah, keuntungan kecerdasan alamiah dibanding AI: 1. Bersifat lebih kreatif.

Kemampuan untuk menambah ataupun memenuhi pengetahuan itu sangat melekat pada jiwa manusia. Pada AI, untuk menambah pengetahuan harus dilakukan melalui sistem yang dibangun.

2. Dapat melakukan proses pembelajaran secara langsung, sementara AI harus mendapatkan masukan berupa simbol dan representasi.

3. Fokus yang luas sebagai referensi untuk pengambilan keputusan, sebaiknya AI menggunakan fokus yang sempit.

Komputer dapat digunakan untuk mengumpulkan informasi tentang obyek, kegiatan (events), proses dan dapat memproses sejumlah besar informasi dengan lebih efisien dari yang dapat dikerjakan manusia. Namun di sisi lain, manusia dengan menggunakan insting dapat melakukan hal yang sulit diprogram pada komputer, yaitu kemampuan mengenali (recognize) hubungan antara hal-hal tersebut, menilai kualitas dan menemukan pola yang menjelaskan hubungan tersebut.

2.2 Teknik Dasar Pencarian

(31)

memberikan suatu kunci bagi banyak sejarah penyelesaian yang penting dalam bidang AI. Ada beberapa aplikasi yang menggunakan teknik pencarian ini, yaitu:

a. Papan game dan puzzle (tic-tac-toe, catur)

b. Penjadwalan dan masalah routing (travelling salesman problem) c. Parsing bahasa dan interpretasinya (pencarian struktur dan arti) d. Logika pemograman (pencarian fakta dan implikasinya)

e. Computer vision dan pengenalan pola

f. Sistem pakar berbasis kaidah (rule based expert system)

Konsep pencarian untuk suatu solusi dalam ruang keadaan (state space) merupakan pusat AI yang menjadikan AI lebih unggul dalam bidang ilmu komputer dibandingkan dengan yang lainnya, dan prinsip kontribusi AI untuk ilmu pengetahuan dari pencarian ini merupakan konsep basis pengetahuan (knowledge based) heuristik untuk pembatasan dan pencarian berarah (directing search). Pada dasarnya, ada dua teknik pencarian dan pelacakan yaitu:

a. Pencarian buta (blind search), terdiri atas:

(i) Pencarian melebar pertama (Breadth First Search) (ii) Pencarian mendalam pertama (Depth First Search) b. Pencarian terbimbing (heuristic search).

2.2.1 Pencarian Melebar Pertama (Breadth First Search)

(32)

dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya.

Gambar 2.1 Pencarian melebar pertama (Breadth First Search) (Sumber: Konsep Kecerdasan Buatan, Anita Desiani & Muhammad Arhami,

2006)

Karena proses breadth first search mengamati setiap node di setiap level graf sebelum bergerak menuju ruang yang lebih dalam, maka mula-mula semua keadaan akan dicapai lewat lintasan yang terpendek dari keadaan awal. Oleh sebab itu, proses ini menjamin ditemukannya lintasan terpendek dari keadaan awal ke keadaan tujuan. Lebih jauh karena mula-mula semua keadaan ditemukan melalui lintasan terpendek sehingga setiap keadaan yang ditemui pada kali kedua didapati pada sepanjang sebuah lintasan yang sama atau lebih panjang. Kemudian, jika tidak ada kesempatan ditemukannya keadaan yang identik pada sepanjang lintasan yang lebih baik maka algoritma akan menghapusnya, sehingga keuntungan dari metode pencarian ini adalah:

1. Tidak akan menemui jalan buntu.

(33)

Namun demikian, ada tiga persoalan utama berkenaan dengan metode pencarian ini, yaitu:

1. Membutuhkan memori yang besar, karena menyimpan semua node dalam satu pohon. Jumlah node di setiap tingkat dari pohon bertambah secara eksponensial terhadap jumlah tingkat, dan semuanya ini harus disimpan sekaligus.

2. Membutuhkan sejumlah besar pekerjaan, khususnya jika lintasan solusi terpendek cukup panjang, karena jumlah node yang perlu diperiksa bertambah secara eksponensial terhadap panjang lintasan.

3. Tidak relevannya operator akan menambah jumlah node yang harus diperiksa sangat besar.

4. Relatif membutuhkan waktu yang cukup lama, karena akan menguji semua node pada level n untuk mendapatkan solusi pada level ke-(n+1).

2.2.2 Pencarian Mendalam Pertama (Depth First Search)

(34)

Gambar 2.2 Pencarian mendalam pertama (Depth First Search) (Sumber: Konsep Kecerdasan Buatan, Anita Desiani & Muhammad Arhami,

2006)

Berdasarkan gambar 2.2, proses pencarian dilakukan dengan mengunjungi cabang terlebih dahulu hingga tiba di simpul terakhir. Jika tujuan yang diinginkan belum tercapai maka pencarian dilanjutkan ke cabang sebelumnya, turun ke bawah jika memang masih ada cabangnya. Begitu seterusnya hingga diperoleh tujuan (goal). Operasi semacam ini dikenal dengan sebutan backtracking.

Keuntungan dari metode DFS:

1. Membutuhkan memori yang relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.

2. Secara kebetulan, metode DFS akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan, sehingga tidak memboros waktu untuk melakukan sejumlah besar keadaan ‘dangkal’ dalam permasalahan graf/pohon.

Kelemahan dari metode DFS:

(35)

2.2.3 Pencarian BFS dan DFS Tidak Mendapatkan Solusi

Apabila node (keadaan) pada pohon pelacakan BFS dan DFS tidak dapat dikembangkan lagi untuk mendapatkan node baru (keadaan baru) dan solusi belum didapatkan, maka pencarian BFS dan DFS tidak mendapatkan solusi. Atau dengan kata lain, permasalahan yang sedang diselesaikan tidak memiliki solusi.

2.2.4 Pencarian Terbimbing (Heuristic Search)

Heuristic search adalah suatu istilah yang berasal dari bahasa Yunani yang

berarti menemukan / menyingkap. Heuristic adalah suatu perbuatan yang membantu kita menemukan jalan dalam pohon pelacakan yang menuntut kita kepada suatu solusi masalah. Heuristic dapat diartikan juga sebagai suatu kaidah yang merupakan metoda / prosedur yang didasarkan kepada pengalaman dan praktek, syarat, trik atau bantuan lainnya yang membantu mempersempit dan memfokuskan proses pelacakan kepada suatu tujuan tertentu.

Pencarian terbimbing (heuristic search) dibutuhkan karena pencarian buta (blind search) tidak selalu dapat diterapkan dengan baik, hal ini disebabkan waktu aksesnya yang cukup lama serta besarnya memori yang diperlukan. George Poyla mendefinisikan heuristik sebagai studi metode dan kaidah penemuan. Dalam pencarian ruang keadaan, heuristik dinyatakan sebagai aturan untuk melakukan pemilihan cabang-cabang dalam ruang keadaan yang paling tepat untuk mencapai solusi permasalahan yang dapat diterima. Heuristic dapat digunakan pada beberapa kondisi berikut ini :

(36)

Ada masalah yang kemungkinan arah penyelesaiannya berkembang pesat (bersifat faktorial) sehingga menimbulkan combinatorial explosion. Heuristic merupakan cara untuk menentukan kemungkinan arah

penyelesaian masalah secara efisien.

2. Solusi paling optimal mungkin tidak diperlukan.

Dalam suatu keadaan, mungkin lebih baik mendapatkan solusi yang mendekati optimal dalam waktu yang singkat daripada solusi yang paling optimal dalam waktu yang lama.

3. Pada umumnya hasilnya cukup baik.

Sekalipun tidak optimal, tetapi biasanya mendekati optimal. 4. Membantu pemahaman bagi orang yang menyelesaikan persoalan.

Banyak alternatif heuristic yang dapat diterapkan dalam suatu percobaan. Orang yang menyelesaikan persoalan tersebut akan lebih mengerti persoalannya jika mencoba heuristic yang diterapkannya.

(37)

2.3 Masalah Ruang Keadaan

Masalah ruang keadaan disebut juga dengan state space problem. Ruang keadaan (state space) merupakan suatu ruang yang berisi semua keadaan yang mungkin dalam suatu kasus AI.

State adalah representasi suatu keadaan pada suatu saat ataupun dekripsi

konfigurasi sistem. State space adalah semua state (keadaan) yang mungkin, dan biasanya digambarkan sebagai jaringan dengan verteks merupakan state dan edge merupakan perubahan yang mungkin.

Kondisi dalam ruang keadaan meliputi: a. Keadaan awal (initial state / start node)

b. Keadaan tujuan, merupakan solusi yang dijangkau dan perlu diperiksa apakah telah mencapai sasaran.

c. Kaidah atau aturan yang memberikan bagaimana mengubah keadaan. Keadaan direpresentasikan sebagai node (simpul), sedangkan langkah yang diperbolehkan atau aksi direpresentasikan dengan arc (busur).

Representasi state space memungkinkan definisi formal suatu masalah sebagai persoalan mengubah status dengan menggunakan sekumpulan operator (rule) dan juga mendefinisikan masalah sebagai search yaitu mencari lintasan di dalam state space dari initial state ke goal state.

(38)

mempertimbangkan sejumlah alternatif strategi dalam menyelesaikan suatu problema, dalam permainan catur misalnya, seorang pemain mempertimbangkan sejumlah kemungkinan tentang langkah-langkah berikutnya, memilih yang terbaik menurut kriteria tertentu seperti kemungkinan respon lawannya, atau memilih sejumlah langkah menurut suatu strategi global yang dirancangnya. Seorang pemain catur juga memperhitungkan pencapaian jangka pendek (seperti siasat untuk memperoleh keuntungan materi atau kualitas). Aspek tingkah laku cerdas yang mendasari teknik penyelesaian problema seperti dalam catur ini disebut proses pencarian ruang keadaan (space state search).

Beberapa permasalahan ruang keadaan adalah water jug problem, tic-tac-toe, dan permainan pergeseran angka pada bintang kejora.

Gambar 2.3 Gambaran ruang keadaan dalam permainan tic-tac-toe (Sumber: Penggunaan Kecerdasan Buatan untuk Penyelesaian Masalah Matriks

Simbol Berurut, Tugas Akhir Merlyva STMIK-Mikroskil, 2004)

2.4 Pergeseran Angka pada Bintang Kejora

(39)

perpotongan dalam bintang kejora merupakan titik (node) penempatan angka. Seperti halnya, permainan pergeseran angka lainnya, dalam permainan ini juga disediakan satu tempat kosong sebagai ruang untuk menggeser posisi angka. Aturan permainannya adalah sebagai berikut:

1. Tentukan keadaan awal (initial state) pada bintang kejora. 2. Tentukan keadaan tujuan (goal state) pada bintang kejora.

3. Aturan pergeseran: Setiap angka dalam bintang kejora hanya dapat digeser ke suatu titik yang kosong atau tidak ditempati.

Permasalahan dari permainan ini adalah bagaimana mencapai goal state dari initial state dengan mengikuti aturan pergeseran yang telah ditetapkan.

Gambar 2.4 Bentuk bintang kejora berkaki lima (Sumber: Permainan untuk IQ Super, John I.Bigg, 2001)

(40)

Gambar 2.5 Bentuk bintang kejora berkaki enam (Sumber: Permainan untuk IQ Super, John I.Bigg, 2001)

(41)

2.5 Representasi Pengetahuan

Penyelesaian suatu permasalahan dalam AI membutuhkan pengetahuan yang cukup. Tidak hanya itu, sistem juga harus memiliki kemampuan unuk menalar. Basis pengetahuan dan kemampuan untuk melakukan penalaran merupakan bagian terpenting dari sistem yang menggunakan AI. Meskipun suatu sistem memiliki banyak pengetahuan, namun apabila tidak memiliki kemampuan untuk menalar, tentu akan menjadi percuma saja. Demikian pula sebaliknya, apabila suatu sistem memiliki kemampuan yang sangat handal untuk menalar, namun basis pengetahuan yang dimilikinya tidak cukup, maka solusi yang diperoleh pun menjadi tidak maksimal.

2.5.1 Pohon

Pohon merupakan struktur penggambaran secara hirarkis. Struktur pohon terdiri dari node-node yang menunjukkan objek dan arc (busur) yang menunjukkan hubungan antar objek. Contoh struktur pohon:

Gambar 2.6 Contoh Tree

(42)

.Node-node pada pohon mencakup nama list dan arc yang menunjukkan hubungan antar node. Struktur atau grafik ini disebut pohon karena mempunyai cabang-cabang. Tapi cabang dari pohon yang terbalik, berbeda dengan pohon yang sebenarnya. Pohon sangat umum dipakai untuk menggambarkan pengetahuan yang akan digunakan dalam AI.

2.5.2 Jaringan Semantik

Jaringan semantik merupakan gambaran pengetahuan grafis yang menunjukkan hubungan antar berbagai objek. Jaringan semantik terdiri dari lingkaran-lingkaran yang menunjukkan objek dan informasi tentang objek-objek tersebut. Objek bisa berupa benda atau peristiwa. Antara 2 objek dihubungkan oleh arc yang menunjukkan hubungan antar objek. Contoh jaringan semantik :

Gambar 2.7 Contoh Jaringan Semantik

(Sumber: Artificial Intelligence – Teknik dan Aplikasinya, Sri Kusumadewi, 2003)

(43)

dipecahkan. Jika masalah itu bersifat umum, maka hanya memerlukan sedikit rincian. Jika ternyata masalah itu banyak melibatkan hal-hal lain, maka di dalam jaringan awalnya diperlukan penjelasan yang lebih rinci lagi.

(44)

31

3.1 Pembahasan

Pembahasan perancangan perangkat lunak penyelesaian permainan pergeseran angka dalam bintang kejora mencakup alur kerja perangkat lunak dan pembahasan mengenai permainan pergeseran angka dalam bintang kejora. Masing-masing pembahasan akan dibahas dalam beberapa sub bab berikut ini.

3.1.1 Alur Kerja Perangkat Lunak

(45)

START

Pilih Bintang

Bintang Kaki 5 Bintang Kaki 6

Set Keadaan Awal

3.1.2 Permainan Pergeseran Angka dalam Bintang Kejora

(46)

titik (node) penempatan angka. Seperti halnya, permainan pergeseran angka lainnya, dalam permainan ini juga disediakan satu tempat kosong sebagai ruang untuk menggeser posisi angka. Dalam permainan ini terdapat aturan untuk menggeser angka dari satu titik ke titik lain. Aturan pergeseran angka dalam bintang kejora adalah sebagai berikut:

1. Setiap angka hanya dapat digeser mengikuti jalur yang sudah ada sesuai dengan bentuk bintang kejora yang digunakan.

2. Setiap angka hanya dapat digeser ke suatu titik atau tempat kosong yang tidak ditempati oleh angka lain.

(47)

Gambar 3.2 Aturan Pergeseran Angka dalam Bintang Kejora

Pada gambar 3.2, angka 3, 5, 4 dan 1 dapat digeser ke titik kosong, karena terdapat jalur (garis) yang menghubungkan titik tempat angka tersebut berada dengan titik yang kosong.

(48)

Gambar 3.3 Posisi titik dalam bintang kejora berkaki lima

(49)

Kondisi bintang kejora pada gambar 3.3 dapat disimpan dalam bentuk string, yaitu ’5304917268’, sedangkan kondisi bintang kejora pada gambar 3.4 dapat disimpan dalam bentuk string, yaitu ’3061425987BA’.

Permasalahan pergeseran angka dalam bintang kejora mempunyai keadaan awal (initial state) dan keadaan tujuan (goal state). Dengan menggunakan pohon pelacakan, pencarian akan dimulai dari node akar yang berisikan keadaan awal. Kemudian, sesuai dengan aturan pergeseran yang berlaku, keadaan-keadaan baru dihasilkan dan disimpan sebagai node cabang dari keadaan sebelumnya. Pencarian berakhir ketika ditemukan keadaan tujuan atau tidak ada lagi keadaan baru yang dapat dikembangkan atau dihasilkan. Apabila tidak ada keadaan baru yang dapat dikembangkan lagi dan keadaan tujuan belum ditemukan, maka permasalahan tidak memiliki solusi menuju keadaan tujuan.

Adapun metode pencarian yang digunakan untuk mendapatkan keadaan tujuan adalah:

A. Algoritma pencarian melebar pertama (breadth first search / BFS)

(50)

karena untuk mendapatkan solusi pada level n, BFS akan mengembangkan semua node pada level sebelum n. Hal ini akan bermasalah apabila n adalah angka yang

besar (solusi dengan langkah penyelesaian yang panjang).

Sebagai contoh, perhatikan permasalahan pada gambar 3.6 berikut.

Gambar 3.5 Contoh permasalahan dalam bintang kejora berkaki lima

(51)

Gambar 3.6 Struktur pohon pelacakan pada permasalahan pada gambar 3.5

Solusi dari pergeseran angka terlihat pada tabel 3.1.

Tabel 3.1 Solusi Pergeseran Angka

No. Langkah Kondisi

0. Keadaan Awal. 2634510897

(52)

9. Geser angka ’1’ dari posisi 4 ke posisi 1. 1620583497 10. Geser angka ’3’ dari posisi 7 ke posisi 4. 1623580497 11. Geser angka ’4’ dari posisi 8 ke posisi 7. 1623584097 12. Geser angka ’8’ dari posisi 6 ke posisi 8. 1623504897 13. Geser angka ’6’ dari posisi 2 ke posisi 6. 1023564897 14. Geser angka ’2’ dari posisi 3 ke posisi 2. 1203564897 15. Geser angka ’3’ dari posisi 4 ke posisi 3. 1230564897 16. Geser angka ’4’ dari posisi 7 ke posisi 4. 1234560897 17. Geser angka ’7’ dari posisi 10 ke posisi 7. 1234567890

Apabila menggunakan pencarian BFS, pencarian solusi pada tabel 3.1 memakan waktu 188.766 detik (3 menit dan 8.766 detik).

3.2 Perancangan

Perancangan perangkat lunak permainan pergeseran angka dalam bintang kejora menggunakan bahasa pemograman Microsoft Visual Basic 6.0. Untuk database yang berfungsi sebagai tempat penyimpanan pengetahuan heuristik,

digunakan Microsoft Access 2003.

3.2.1 Perancangan Database

Database digunakan sebagai tempat penyimpanan pengetahuan heuristik.

(53)

Tabel 3.2 Rancangan Tabel ’Heuristic’

5. ParentNode Number Long Integer

6. Kosong Number Long Integer

7. Pergeseran Text 50

Keterangan:

1 : Field ’GoalState’ berisi keadaan tujuan. 2 : Field ’Isi’ berisi keadaan / isi dari node. 3 : Field ’Indeks’ berisi indeks dari node. 4 : Field ’LevelS’ berisi level dari node.

5 : Field ’ParentNode’ berisi indeks dari parent node (node induk satu level di atas node yang bersangkutan).

6 : Field ’Kosong’ berisi posisi titik dari node yang kosong.

7 : Field ’Pergeseran’ berisi informasi atas aksi yang telah dilakukan untuk

(54)

3.2.2 Perancangan Perangkat Lunak

Perangkat lunak dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0 dengan menggunakan komponen standard, seperti

command button sebagai tombol, text box sebagai tempat input, label sebagai

komponen untuk menampilkan tulisan, option button sebagai komponen untuk memilih, image atau pictureBox sebagai komponen untuk menampilkan gambar, shape sebagai komponen untuk menampilkan bentuk persegi, lingkaran, MSFlexGrid

sebagai tabel, dan komponen standard lainnya. Perangkat lunak ini memiliki beberapa form, antara lain:

1. Form Awal.

2. Form Set Keadaan Bintang Berkaki Lima.

3. Form Set Keadaan Bintang Berkaki Enam.

4. Form Pilih Metode Pencarian. 5. Form Pencarian BFS atau Heuristik. 6. Form Solusi Bintang Berkaki Lima.

7. Form Solusi Bintang Berkaki Enam.

(55)

3.2.2.1 Form Awal

Form ini adalah form yang muncul pertama kali ketika program dijalankan.

Fungsi dari form ini adalah untuk memilih bentuk wadah bintang kejora yang akan digunakan (bintang berkaki lima atau bintang berkaki enam).

Gambar 3.7 Rancangan Form Awal 1 : optionbutton, untuk memilih bintang kejora berkaki lima. 2 : optionbutton, untuk memilih bintang kejora berkaki enam.

3 : picturebox, untuk menampilkan gambar bintang kejora berkaki lima. 4 : picturebox, untuk menampilkan gambar bintang kejora berkaki enam. 5 : tombol ’Tentang Pembuat’, untuk menampilkan form ’About’.

6 : tombol ’OK’, untuk mengkonfirmasi pilihan dan menampilkan form set keadaan. 7 : tombol ’Keluar’, untuk menutup form.

Pilih bentuk bintang yang akan digunakan

(56)

3.2.2.2 Form Set Keadaan Bintang Berkaki Lima

Form ini berfungsi untuk mengatur keadaan awal dan keadaan tujuan pada

bintang kejora berkaki lima. Keadaan awal dan keadaan tujuan dapat dihasilkan secara acak oleh komputer.

Gambar 3.8 Rancangan Form Set Keadaan Bintang Berkaki Lima 1 : picturebox, untuk menampilkan keadaan awal.

2 : tombol ’Random’, untuk menghasilkan keadaan awal secara acak. 3 : picturebox, untuk menampilkan keadaan tujuan.

4 : tombol ’Random’, untuk menghasilkan keadaan tujuan secara acak. 5 : tombol ’Kembali’, untuk kembali ke form ’Awal’.

(57)

3.2.2.3 Form Set Keadaan Bintang Berkaki Enam

Form ini berfungsi untuk mengatur keadaan awal dan keadaan tujuan pada

bintang kejora berkaki enam. Keadaan awal dan keadaan tujuan dapat dihasilkan secara acak oleh komputer.

Gambar 3.9 Rancangan Form Set Keadaan Bintang Berkaki Enam 1 : picturebox, untuk menampilkan keadaan awal.

2 : tombol ’Random’, untuk menghasilkan keadaan awal secara acak. 3 : picturebox, untuk menampilkan keadaan tujuan.

4 : tombol ’Random’, untuk menghasilkan keadaan tujuan secara acak. 5 : tombol ’Kembali’, untuk kembali ke form ’Awal’.

(58)

3.2.2.4 Form Pilih Metode Pencarian

Form ini berfungsi untuk memilih metode pencarian yang akan digunakan

untuk mencari solusi pergeseran angka dari keadaan awal menuju keadaan tujuan.

Gambar 3.10 Rancangan Form Pilih Metode Pencarian 1 : optionbutton, untuk memilih metode pencarian BFS.

2 : tombol ’OK’, untuk mengkonfirmasi pilihan dan lanjut ke form pencarian solusi. 3 : tombol ’Batal’, untuk membatalkan pemilihan dan kembali ke form set keadaan.

3.2.2.5 Form Solusi Bintang Berkaki Lima

Form ini berfungsi untuk menampilkan solusi pada bintang kejora berkaki

(59)

Gambar 3.11 Rancangan Form Solusi Bintang Berkaki Lima Keterangan:

1 : picturebox, untuk menampilkan keadaan dari bintang kejora berkaki lima. 2 : label, untuk menampilkan metode yang telah digunakan untuk mendapatkan solusi.

3 : label, untuk menampilkan waktu pencarian. 4 : label, untuk menampilkan panjang langkah solusi.

5 : msflexgrid, sebagai tabel untuk menampilkan langkah-langkah menuju keadaan akhir.

6 : textbox, untuk memasukkan besar delay pergerakan antar langkah.

7 : tombol ’Mulai’, untuk memulai proses pergeseran angka menuju keadaan akhir. 8 : tombol ’Hentikan’, untuk menghentikan proses pergeseran angka.

(60)

9 : tombol ’Ulangi’, untuk mengulangi proses pergeseran angka. 10 : tombol ’Keluar’, untuk menutup form.

3.2.2.9 Form Solusi Bintang Berkaki Enam

Form ini berfungsi untuk menampilkan solusi pada bintang kejora berkaki

enam yang telah didapatkan dari form pencarian.

Gambar 3.12 Rancangan Form Solusi Bintang Berkaki Enam Keterangan:

1 : picturebox, untuk menampilkan keadaan dari bintang kejora berkaki lima. 2 : label, untuk menampilkan metode yang telah digunakan untuk mendapatkan solusi.

(61)

3 : label, untuk menampilkan waktu pencarian. 4 : label, untuk menampilkan panjang langkah solusi.

5 : msflexgrid, sebagai tabel untuk menampilkan langkah-langkah menuju keadaan akhir.

6 : textbox, untuk memasukkan besar delay pergerakan antar langkah.

7 : tombol ’Mulai’, untuk memulai proses pergeseran angka menuju keadaan akhir. 8 : tombol ’Hentikan’, untuk menghentikan proses pergeseran angka.

9 : tombol ’Ulangi’, untuk mengulangi proses pergeseran angka. 10 : tombol ’Keluar’, untuk menutup form.

3.2.2.10 Form About

Form ini berfungsi untuk menampilkan informasi atau data pribadi pembuat program atau penyusun tugas akhir.

Gambar 3.13 Rancangan Form About Keterangan:

1 : picturebox, untuk menampilkan logo perangkat lunak. 2 : label, untuk menampilkan judul atau nama perangkat lunak.

(62)

perangkat lunak.

4 : tombol ’OK’, untuk menutup form.

(63)

50

4.1 Algoritma

Algoritma untuk merancang perangkat lunak penyelesaian permainan pergeseran angka dalam bintang kejora dibagi menjadi 2 (dua) bagian, yaitu:

1. Algoritma Pencarian Breadth First Search.

4.1.1 Algoritma Pencarian Breadth First Search

Pencarian dilakukan pada semua simpul dalam setiap level secara berurutan dari kiri ke kanan. Jika pada satu level belum ditemukan solusi, maka pencarian akan dilakukan pada level berikutnya.

Demikian seterusnya sampai ditemukan solusi.Dengan cara ini, BFS menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukannya paling baik. Dengan kata lain, BFS adalah komplit dan optimal.

BFS harus menyimpan semua simpul yg pernah dibangkitkan agar BFS dapat melakukan penelusuran simpul-simpul sampai di level bawah. Jika b adalah faktor percabangan (jumlah simpul anak yg dimiliki oleh suatu simpul) dan d adalah kedalaman solusi, maka jumlah simpul yg harus disimpan sebanyak O(bd). Misalkan,

(64)

101 + 102+ 103 +104 +105 +106 +107+108 = 111.111.111 simpul. Dari segi kecepatan, hal ini mungkin masih bisa diterima. Dari segi memori, ini menjadi masalah karena membutuhkan ruang memori yg sangat besar.

Algoritma pencarian BFS adalah sebagai berikut:

a. Mulai pencarian BFS

(65)

b. Rule untuk bintang 5

Setelah kita ketahui nTKosong pada langkah sebelumnya, maka program akan mengecek rule untuk bintang 5 pada case 7. Hal ini untuk mengetahui langkah yang bisa dilakukan oleh program, sesuai dengan aturan yang berlaku.

c. Generate keadaan baru

(66)

yang mungkin bisa di geser ke tempat kosong. Misal, untuk kasus yang di atas, maka tempat kosong ada pada posisi 7, jadi angka yang bisa di geser ke posisi ini adalah angka yang berada pada posisi 4, posisi 5, posisi 10, dan posisi 11. Setelah angka di geser ke tempat kosong maka ganti tempat angka asal menjadi “0”. d. Sudah menemukan solusi

Ulangi langkah a – c sampai menemukan solusi dari permasalahan yang ada. Apabila isi dari state ke n sama dengan goalstate maka berarti solusi ditemukan dan pencarian akan di hentikan.

e. Algoritma Pencarian BFS

1. Menentukan state awal dan state akhir pada bintang kejora.

2. Sistem akan mengecek tempat kosong pada bintang saat set keadaan awal. 3. Dari tempat kosong dapat diketahui rule yang dapat di jalankan oleh

program sesuai dengan aturan yang berlaku.

4. Program akan mengenerate keeadaan sekarang sebagai keadaan awal,lalu program akan memindahkan node satu persatu sesuai dengan aturan yang berlaku, hingga ditemukan solusi.

(67)

4.2 Implementasi Perangkat Lunak

4.2.1 Spesifikasi Hardware dan Software

Spesifikasi perangkat keras yang direkomendasikan untuk menjalankan perangkat lunak penyelesaian permainan pergeseran angka dalam bintang kejora ini adalah sebagai berikut :

1. Prosesor Pentium IV 1.6 GHz.

2. Harddisk dengan minimal free space 500 MB.

3. Memori RAM sebesar 128 MB. 4. Monitor SVGA.

5. VGA Card 64 MB dengan resolusi minimum 1024 x 768..

6. Keyboard dan Mouse.

(68)

4.2.2 Aplikasi Perancangan Interface Perangkat Lunak

A. Form Awal

Keterangan: 1 : title bar.

2 : tombol ’Close’, untuk menutup form.

3 : optionbutton, untuk memilih bintang kejora berkaki lima. 4 : optionbutton, untuk memilih bintang kejora berkaki enam.

5 : picturebox, untuk menampilkan gambar bintang kejora berkaki lima. 6 : picturebox, untuk menampilkan gambar bintang kejora berkaki enam. 7 : tombol ’Tentang Pembuat’, untuk menampilkan form ’About’.

8 : tombol ’OK’, untuk mengkonfirmasi pilihan dan menampilkan form set keadaan. 9 : tombol ’Keluar’, untuk menutup form.

(69)

B. Form Set Keadaan Bintang Berkaki Lima

Keterangan: 1 : Title Bar.

2 : tombol ’Close’, untuk menutup form.

3 : picturebox, untuk menampilkan keadaan awal.

4 : tombol ’Random’, untuk menghasilkan keadaan awal secara acak. 5 : picturebox, untuk menampilkan keadaan tujuan.

6 : tombol ’Random’, untuk menghasilkan keadaan tujuan secara acak. 7 : tombol ’Kembali’, untuk kembali ke form ’Awal’.

(70)

C. Form Set Keadaan Bintang Berkaki Enam

Keterangan: 1 : Title Bar.

2 : tombol ’Close’, untuk menutup form.

3 : picturebox, untuk menampilkan keadaan awal.

4 : tombol ’Random’, untuk menghasilkan keadaan awal secara acak. 5 : picturebox, untuk menampilkan keadaan tujuan.

6 : tombol ’Random’, untuk menghasilkan keadaan tujuan secara acak. 7 : tombol ’Kembali’, untuk kembali ke form ’Awal’.

(71)

D. Form Pilih Metode Pencarian

Keterangan: 1 : Title Bar.

2 : tombol ’Close’, untuk menutup form.

3 : optionbutton, untuk memilih metode pencarian BFS. 4 : optionbutton, untuk memilih algoritma pencarian heuristik.

5 : textbox, untuk memasukkan panjang langkah atau besar jangkauan pencarian heuristik.

6 : tombol ’OK’, untuk mengkonfirmasi pilihan dan lanjut ke form pencarian solusi. 7 : tombol ’Batal’, untuk membatalkan pemilihan dan kembali ke form set keadaan.

(72)

E. Form Pencarian BFS

Keterangan: 1 : Title Bar.

2 : progressbar, untuk menampilkan proses pencarian BFS atau Heuristik.

3 : label, untuk menampilkan urutan dari node yang sedang diperiksa, jumlah node yang telah dikembangkan dan tingkat node yang sudah dikembangkan.

4 : tombol ’Batal’, untuk membatalkan proses dan kembali ke form set keadaan.

F. Form Solusi Bintang Berkaki Lima

Gambar 4.7 Form Pencarian BFS atau Heuristik

(73)

Keterangan: 1 : Title Bar.

2 : tombol ’Close’, untuk menutup form.

3 : picturebox, untuk menampilkan keadaan dari bintang kejora berkaki lima. 4 : label, untuk menampilkan metode yang telah digunakan untuk mendapatkan solusi.

5 : label, untuk menampilkan waktu pencarian. 6 : label, untuk menampilkan panjang langkah solusi.

7 : msflexgrid, sebagai tabel untuk menampilkan langkah-langkah menuju keadaan akhir.

8 : textbox, untuk memasukkan besar delay pergerakan antar langkah.

9 : tombol ’Mulai’, untuk memulai proses pergeseran angka menuju keadaan akhir. 10 : tombol ’Hentikan’, untuk menghentikan proses pergeseran angka.

11 : tombol ’Ulangi’, untuk mengulangi proses pergeseran angka. 12 : tombol ’Keluar’, untuk menutup form.

G. Form Solusi Bintang Berkaki Enam

1 2

(74)

Keterangan: 1 : Title Bar.

2 : tombol ’Close’, untuk menutup form.

3 : picturebox, untuk menampilkan keadaan dari bintang kejora berkaki enam. 4 : label, untuk menampilkan metode yang telah digunakan untuk mendapatkan solusi.

5 : label, untuk menampilkan waktu pencarian. 6 : label, untuk menampilkan panjang langkah solusi.

7 : msflexgrid, sebagai tabel untuk menampilkan langkah-langkah menuju keadaan akhir.

8 : textbox, untuk memasukkan besar delay pergerakan antar langkah.

9 : tombol ’Mulai’, untuk memulai proses pergeseran angka menuju keadaan akhir. 10 : tombol ’Hentikan’, untuk menghentikan proses pergeseran angka.

11 : tombol ’Ulangi’, untuk mengulangi proses pergeseran angka. 12 : tombol ’Keluar’, untuk menutup form.

4.2.3 Pengujian Program

(75)

Gambar 4.10 Contoh kasus pada bintang kejora berkaki lima

Pada gambar 4.10 kita dapat mengetahui state awal (start state) dan state akhir (goalstate) dari permasalahan pada bintang kejora kaki liam.klil tombol ”OK” untuk melanjutkan ke Form berikutnya, yaitu Form pilih metode BFS (lihat gambar 4.11)

Untuk kasus pada gambar 4.10, solusi yang dihasilkan perangkat lunak dapat dilihat pada tabel 4.1 dan waktu pencarian yang dibutuhkan dapat dilihat pada tabel 4.2.

(76)

Gambar 4.11 Metode Pencarian pada bintang kejora berkaki lima

(77)

Gambar 4.12 Pencarian solusi dengan metode BFS

(78)

Gambar 4.13 Langkah 1 pada solusi bintang kaki 5

(79)

Gambar 4.14 Langkah 2 pada solusi bintang kaki 5

Pada gambar 4.14 menunjukkan langkah ke dua dari enam langkah yang ditemukan untuk mencapai solusi. Langkah kedua yaitu geser angka 3 dari posisi 1 ke posisi 3.

(80)

Pada gambar 4.15 menunjukkan langkah ke tiga dari enam langkah yang ditemukan untuk mencapai solusi. Langkah ketiga yaitu geser angka 1 dari posisi 4 ke posisi 1.

Gambar 4.16 Langkah 4 pada solusi bintang kaki 5

(81)

Gambar 4.17 Langkah 5 pada solusi bintang kaki 5

Pada gambar 4.17 menunjukkan langkah ke lima dari enam langkah yang ditemukan untuk mencapai solusi. Langkah kelima yaitu geser angka 5 dari posisi 7 ke posisi 5.

(82)

Pada gambar 4.18 menunjukkan langkah ke enam atau terakhir dari enam langkah yang ditemukan untuk mencapai solusi. Langkah keenam yaitu geser angka 7 dari posisi 10 ke posisi 7. Dan langkah – langkah solusi telah selesai dan solusi telah ditemukan. Untuk mengulangi atau melihat kembali langkah – langkah yang telah ditemukan maka klik di tombol ”ulangi” lalu klik tombol ”mulai”. Jika telah selesai maka klik tombol ”keluar”

Tabel 4.1 Solusi contoh kasus pada bintang kejora berkaki lima

No. Langkah Kondisi

0. Keadaan Awal. 3261405897

1. Geser angka ’6’ dari posisi 3 ke posisi 6. 3201465897 2. Geser angka ’3’ dari posisi 1 ke posisi 3. 0231465897 3. Geser angka ’1’ dari posisi 4 ke posisi 1. 1230465897 4. Geser angka ’4’ dari posisi 5 ke posisi 4. 1234065897 5. Geser angka ’5’ dari posisi 7 ke posisi 5. 1234560897 6. Geser angka ’7’ dari posisi 10 ke posisi 7. 1234567890

Pada table 4.1 kita dapat mengetahui secara keseluruhan langkah – langkah yang telah di lakukan untuk mencapai keadan akhir, serta kita dapat melihat state awal permasalahan dan perubahan posisi langkah demi langkah hingga mencapai state akhir (goal state).

(83)

Contoh kasus pada bintang kejora berkaki enam seperti terlihat pada gambar 4.18 berikut.

Gambar 4.19 Contoh kasus pada bintang kejora berkaki enam

(84)

Untuk pencarian menggunakan metode BFS hasilnya dapat dilihat pada gambar-gambar dibwah ini :

Gambar 4.20 Metode Pencarian pada bintang kejora berkaki enam

(85)

Gambar 4.21 Pencarian solusi menggunakan metode BFS

(86)

Gambar 4.22 Langkah 1 pada solusi bintang 6

(87)

Gambar 4.23 Langkah ke 2 pada solusi bintang 6

Pada gambar 4.23 menunjukkan langkah ke kedua dari tiga langkah yang ditemukan untuk mencapai solusi. Langkah kedua yaitu geser angka 7 dari posisi 10 ke posisi 7.

(88)

Pada gambar 4.24 menunjukkan langkah ke tiga atau terakhir dari tiga langkah yang ditemukan untuk mencapai solusi. Langkah ketiga yaitu geser angka / huruf A dari posisi 12 ke posisi 10.

Tabel 4.3 Solusi contoh kasus pada bintang kejora berkaki enam

No. Langkah Kondisi

0. Keadaan Awal. 1230564897BA

1. Geser angka ’4’ dari posisi 7 ke posisi 4. 1234560897BA 2. Geser angka ’7’ dari posisi 10 ke posisi 7. 1234567890BA 3. Geser angka ’A’ dari posisi 12 ke posisi 10. 123456789AB0

Pada table 4.3 kita dapat mengetahui secara keseluruhan langkah – langkah yang telah di lakukan untuk mencapai keadan akhir, serta kita dapat melihat state awal permasalahan dan perubahan posisi langkah demi langkah.

Tabel 4.4 Waktu pencarian pada pencarian BFS

Pencarian Waktu Pencarian

(89)
(90)

BAB V

EVALUASI DAN UJI COBA

5.1 Uji Coba Permainan Pergeseran Angka

Uji coba pada permainan pergeseran angka ini dilakukan dengan membandingkan antara hasil perhitungan akhir (solusi) dari software ini dengan hasil perhitungan akhir (solusi) meggunakan perhitungan manual. Baik pada bintang 5 (lima) maupun pada bintang 6 (enam).

Dengan dilakukan uji coba dengan cara manual ini, diharapkan dapat memperoleh hasil atau kesimpulan yang dapat digunakan sebagai bahan pertimbangan atau dapat digunakan sebagai acuan dalam penyusunan skripsi ini, terutama untuk mengetahui kelebihan dan kekurangan dari software permainan pergeseran angka ini.

5.1.1 Uji Coba Pada Bintang Kejora Kaki 5

(91)

A. Mencari Solusi Bintang Kaki 5 Dengan Menggunakan Software

 

Gambar 5.1 kasus pada bintang kejora berkaki lima

(92)

 

Gambar 5.2 Pencarian solusi dengan metode BFS

(93)

Gambar 5.3 Langkah pertama pada solusi bintang kaki 5

(94)

Gambar 5.4 Langkah kedua pada solusi bintang kaki 5

Pada gambar 5.4 menunjukkan langkah ke kedua atau terakhir dari dua langkah yang ditemukan untuk mencapai solusi. Langkah kedua yaitu geser angka 7 dari posisi 10 ke posisi 7. Dan langkah – langkah untuk mencapai solusi telah selesai dan solusi telah ditemukan

Dari percobaan di atas dapat kita ketahui bahwa dengan permasalah yang ada pada bintang kejora kaki lima di atas (pada gambar 5.1) ditemukan solusi menuju ke keadaan akhir, yaitu sebanyak dua langkah.

 Langkah pertama geser angka 4 dari posisi 7 ke posisi 4

(95)

B. Mencari Solusi Bintang Kaki 5 Dengan Menggunakan Cara Manual

Gambar 5.5 Mencari Solusi Secara Manual

Gambar 5.5 menjelaskan tentang pencarian metode breadth first search menggunakan tree. Dimulai dari state awal klemudian turun ke level berikutnya (level 1), dari kiri ke kanan, kemudian turun ke level 2, dari kiri ke kanan. Dan ditemukan solusi di level ini, maka pencarian di hentikan.

Keterangan :

 State Awal

Gambar 5.6 State Awal

(96)

Level 1

Gambar 5.7 Geser angka 5, 1, dan 4 pada level 1

Dari state awal turun ke level 1, pergeseran di mulai dari kiri ke kanan, yaitu geser angka 5 dari posisi 5 ke posisi 4, kemudian geser angka 1 dari posisi 1 ke posisi 4, lalu posisi yang paling kiri yaitu geser angka 4 dari posisi 7 ke posisi 4. Kemudian pencarian diteruskan ke level berikutnya, yaitu level 2 dimulai dari kiri ke kanan.

Level 2

Gambar 5.8 Geser angka 8, 5, dan 7 pada level 2

(97)

C. Analisa Hasil Uji Coba Permasalahan pada Bintang Kaki 5

Solusi telah di temukan yaitu pada level 2 di langkah 4,7. Maksudnya langkah pertama menggeser angka 4 dari posisi 7 ke posisi 4, kemudian menggeser angka 7 dari posisi 10 ke posisi 7. . Hasil atau solusi yang di hasilkan oleh software sama dengan hasil yang di peroleh dengan perhitungan secara manual. Jadi percobaan di atas membuktikan bahwa software berjalan seperti yang direncanakan (di inginkan).

5.1.2 Uji Coba Pada Bintang Kejora Kaki 6

A. Mencari Solusi Pada Bintang Kaki 6 Dengan Menggunakan Software

(98)

Pada gambar 5.9 kita dapat mengetahui state awal (start state) dan state akhir (goalstate) dari permasalahan pada bintang kejora kaki enam. Klik tombol ”OK” untuk melanjutkan ke Form berikutnya, yaitu Form pilih metode BFS, lalu klik ”OK”untuk melanjutkan ke Form pencarian BFS (lihat gambar 5.10).

Gambar 5.10 Pencarian solusi dengan metode BFS

(99)

Gambar 5.11 Langkah pertama pada solusi bintang kaki 6

(100)

Gambar 5.12 Langkah kedua pada solusi bintang kaki 6

Pada gambar 5.12 menunjukkan langkah ke kedua dari tiga langkah yang ditemukan untuk mencapai solusi. Langkah kedua yaitu geser angka 7 dari posisi 10 ke posisi 7.

(101)

Pada gambar 5.13 menunjukkan langkah ke tiga atau terakhir dari tiga langkah yang ditemukan untuk mencapai solusi. Langkah ketiga yaitu geser angka / huruf A dari posisi 12 ke posisi 10. Dan langkah – langkah untuk mencapai solusi telah selesai dan solusi telah ditemukan

B. Mencari Solusi pada Bintang Kaki 6 Dengan Menggunakan Cara Manual

(102)

 State awal

Gambar 5.15 State Awal pada permasalahan bintang kejora kaki 6

Level 1

Gambar 5.15 Geser angka 4, 5, 3 pada level 1

(103)

Level 2

Gambar 5.16 Geser angka 5,7, B pada level 2

Pada gambar 5.16 diatas menunjukkan pencarian di level 2. Pencarian dimulai dari kiri ke kanan, yaitu geser angka 5 dari posisi 5 ke posisi 7, kemudian geser angka 7 dari posisi 10 ke posisi 7, dan yang terakhir geser angka / huruf B dari posisi 11 ke posisi 7. Jika solusi ditemukan maka pencarian di hentikan. Jika belum maka pencarian di lanjutkan ke level 3.

Level 3

(104)

Pada gambar 5.17 diatas menunjukkan pencarian di level 3. Pencarian dimulai dari kiri ke kanan, yaitu geser angka 4 dari posisi 4 ke posisi 5, kemudian geser angka / huruf A dari posisi 12 ke posisi 10. Jika solusi ditemukan maka pencarian di hentikan.

C. Analisa Hasil Uji Coba Permasalahan pada Bintang Kaki 6

(105)

92

5.1 Kesimpulan

Setelah menyelesaikan perangkat lunak penyelesaian permainan pergeseran angka dalam bintang kejora, penulis menarik kesimpulan sebagai berikut:

1. Penggunaan metode Breadth First Search dapat mempercepat pencarian solusi dari pada pencarian yang dilakukan dengan manual

2. Perangkat lunak merupakan implementasi nyata penggunaan metode pencarian Breadth First Search (BFS) dalam mencari solusi dalam suatu permasalahan berbasis Artificial Intelligence (AI).

5.2 Saran

Penulis ingin memberikan beberapa saran yang mungkin dapat membantu dalam pengembangan perangkat lunak ini yaitu:

1. Perangkat lunak dapat dikembangkan dengan menambahkan beberapa bentuk wadah lainnya, seperti: segi enam (heksagon), segi tujuh (heptagon), segi delapan (octagon) dan bentuk lainnya.

(106)
(107)

94

Kusumadewi.S, Artificial Intelligence (Teknik dan Aplikasinya), Edisi 2, Penerbit Graha Ilmu, 2002.

Desiani.A dan Arhami.M, Konsep Kecerdasan Buatan, Penerbit Graha Ilmu, 2002.

Sandi.S, Artificial Intelegencia, Andi Offset Yogyakarta, 1993.

Arhani.M , Konsep Dasar Sistem Pakar, Penerbit Andi, Yogyakarta, 2005. Hadi.R, Pemrograman Microsoft Visual Basic dengan menggunakan Windows

API, PT. Elex Media Komputindo, Jakarta, 2001.

Ramadhan.A, 36 Jam Belajar Komputer Visual Basic 6.0, PT. Elex Media Komputindo, Jakarta, 2004.

Gambar

Gambar 3.1 Flowchart
Gambar 3.2 Aturan Pergeseran Angka dalam Bintang Kejora
Gambar 3.3 Posisi titik dalam bintang kejora berkaki lima
Gambar 3.6 Struktur pohon pelacakan pada permasalahan pada gambar 3.5
+7

Referensi

Dokumen terkait