72
IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN GAME ELENA PUZZLE SKRIPSI RISKI OKTAVIAN 091401060 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016 Universitas Sumatera Utara

IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

GAME ELENA PUZZLE

SKRIPSI

RISKI OKTAVIAN

091401060

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016

Universitas Sumatera Utara

Page 2: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

IMPLEMENTASI ALGORITMA BACKTRACKING DALAM

PENYELESAIAN GAME ELENA PUZZLE

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Ilmu Komputer

RISKI OKTAVIAN

091401060

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016

Universitas Sumatera Utara

Page 3: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

ii

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA BACKTRACKING

DALAM PENYELESAIAN GAME ELENA PUZZLE

Kategori : SKRIPSI

Nama : RISKI OKTAVIAN

Nomor Induk Mahasiswa : 091401060

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Handrizal, S.Si, M.Comp.Sc Maya Silvi Lydia, B.Sc, M.Sc

NIP. NIP. 197401272002122001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom

NIP. 196203171991031001

Universitas Sumatera Utara

Page 4: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

iii

PERNYATAAN

IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYELESAIAN

GAME ELENA PUZZLE

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa

kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 20 Januari 2017

Riski Oktavian

NIM. 091401060

Universitas Sumatera Utara

Page 5: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas berkat dan kasih karunia-

Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik

Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih

kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan

terima kasih kepada:

1. Bapak Drs. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer

Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

2. Ibu Maya Silvi Lydia, B.Sc, M.Sc sebagai Sekretaris Program Studi S1 Ilmu Komputer

Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan

selaku pembimbing yang telah membimbing penulis sehingga penulis dapat

menyelesaikan skripsi ini

3. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara.

4. Bapak Handrizal, S,Si, M.Comp, Sc selaku pembimbing yang telah membimbing

penulis sehingga penulis dapat menyelesaikan skripsi ini.

5. Bapak Drs. MarihatSitumorang, M.Si dan Ibu Dian Rachmawati, S.Si, M.Komsebagai

dosen penguji yang telah memberikan saran dan kritik yang sangat beruna bagi penulis.

6. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu

Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU.

7. Ayahanda tercinta Anwar Hasyim dan Ibunda tercinta Elviana, abang saya Andi Evan,

adik saya Putri Triska Sari dan Nurul Auni yang selalu memberikan doa, motivasi dan

dukungan baik materi maupun spiritual serta semangat yang diberikan selama kuliah

dan menyelesaikan skripsi ini.

8. Dan juga kepada teman-teman seperjuangan program studi S1 Ilmu Komputer USU,

terkhusus kepada: Reza Bayu Prabowo, Septian Maihadi, Septian DC Panjaitan,

Samuel Tarigan yang telah berbagi kebersamaan selama berada di S1 Ilmu Komputer.

Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu penulis

menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan

skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya

dan pembaca pada umumnya.

Medan , 9 Mei 2016

Penulis

Universitas Sumatera Utara

Page 6: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

ABSTRAK

Elena Puzzle adalah sebuah game puzzle yang muncul pada anime phi brain episode 10, Game

Elena puzzle adalah game puzzle dimana pemain harus meletakkan 18 bidak pada papan

permainan yang berukuran 6x6. Bidak yang diletakkan terdiri dari 3 warna yang berbeda yaitu

wana merah, biru dan kuning. Bidak yang di letakkan pada di arena permainan harus sesuai

dengan petunjuk yang berada di pinggir arena. Petunjuk yang berada di pinggir arena

menjelaskan bahwa warna yang pertama kali di jumpai dari pinggir arena adalah warna yang

sesuai dengan petunjuk tersebut. Pada setiap baris dan kolom di arena permainan tidak boleh

terdapat dua warna yang sama dan pada setiap baris dan kolom harus terdapat tiga warna yang

berbeda. Tujuan Penelitian ini adalah membangun sebuah agen kecerdasan buatan yang dapat

menyelesaikan puzzle yang diberikan. Metodologi yang digunakan yaitu algoritma backtrack

yang merupakan algoritma berbasis Depth-First Search, maka pencarian solusi dilakukan

dengan menelusuri suatu struktur berbentuk pohon berakar secara preorder. Proses ini dicirikan

dengan ekspansi simpul terdalam lebih dahulu sampai tidak ditemukan lagi suksesor dari suatu

simpul. Hasil yang akan di peroleh dari aplikasi yang ada dibangun adalah penerapan algoritma

backtracking dalam membangun agen kecerdasan buatan agar dapat menyelesaikan puzzle

sesuai dengan petunjuk yang diberikan.

Kata Kunci : Game, Elena Puzzle, Backtrack, Kecerdasan Buatan

Universitas Sumatera Utara

Page 7: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

IMPLEMENTATION OF BACKTRACKING ALGORITHM IN ELENA PUZZLE

GAME

ABSTRACT

Elena Puzzle is a puzzle game that appears on an anime called Phi Brain in episode 10, Elena

puzzle game is a puzzle game where players have to put the 18 pieces of pawns on the game

board size 6x6. Pawns are placed consists of the three different colors red, blue and yellow.

Pawns put on in the game area must be in accordance with the instructions on the edge of the

arena. The instructions are on the sidelines of arena explain that the first color that was

encountered in the edge of the arena is a color that corresponds to these instructions. In each

row and column in the game of arena can not have two same colors and in each row and column

must have three different colors. The purpose of this research is to build an artificial intelligence

agent that can solve the puzzle. The methodology used is the backtrack algorithm, that is an

algorithm based on Depth-First Search, so the search for solutions is done by tracing the rooted

tree-shaped structure in preorder. This process is characterized by the expansion of the deepest

node until no longer found the successor of a node. The results will be obtained from existing

applications is backtracking algorithm implementation in building artificial intelligence

agencies in order to complete the puzzle in accordance with the instructions provided.

Keyword : Game, Elena Puzzle, Backtrack, Artificial Intelligence

Universitas Sumatera Utara

Page 8: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

vii

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori 5

2.1 Kecerdasan Buatan 5

2.2 Algoritma Backtracking 7

2.3 Game 10

2.4 Game Elena Puzzle 12

2.5 Penelitian Terdahulu 13

Bab 3 Analisis dan Perancangan Sistem 15

3.1 Analisis Kebutuhan Sistem 15

3.1.1 Analisis Masalah 15

3.1.2 Analisis Persyaratan 16

3.1.2.1 Analisis Fungsional 16

3.1.2.2 Analisis Nonfungsional 16

3.1.3 Analisis Arena Permainan 17

3.1.4 Analisis Algoritma 19

3.2 Perancangan Sistem 28

3.2.1 Perancangan Aplikasi Permainan 28

3.2.1.1 Flowchart Backtacking 29

3.3 Perancangan Pemodelan Analisis 31

3.3.1 Use Case Diagram 31

3.2.2 Use Case Specification dan activity diagram 32

3.4 Perancangan Antarmuka 38

Bab 4 Implementasi dan Pengujian Sistem 44

4.1 Implementasi Sistem 44

4.1.1 Home 44

4.1.2 Help 45

Universitas Sumatera Utara

Page 9: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

viii

4.1.3 About 46

4.1.4 Pilih Map 47

4.1.4.1 Map 1 47

4.1.4.2 Map 2 48

4.1.4.3 Map 3 48

4.2 Pengujian Sistem 49

4.2.1 Pengujian Backtrack Map 1 49

4.2.2 Pengujian Backtrack Map 2 51

4.2.3 Pengujian Backtrack Map 3 53

Bab 5 Kesimpulan dan Saran 56

5.1 Kesimpulan 56

5.2 Saran 56

Daftar Pustaka 57

Lampiran 58

Universitas Sumatera Utara

Page 10: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

ix

DAFTAR TABEL

Nomor Judul Halaman

2.1

2.2

3.1

3.2

3.3

3.4

Penelitian Terdahulu

Penelitian Terdahulu (Lanjutan 1)

Use Case specification Memulai permainan

Use Case specification Selesaikan permainan dengan backtrack

Use case specification Lihat Help

Use case soecification Lihat About

13

14

32

34

36

37

Universitas Sumatera Utara

Page 11: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

x

DAFTAR GAMBAR

Nomor Judul Halaman

2.1

2.2

2.3

3.1

3.2

3.3

3.4

3.5

3.6

3.7

3.8

3.9

3.10

3.11

3.12

3.13

3.14

3.15

3.16

3.17

3.18

3.19

3.20

4.1

4.2

4.3

4.4

4.5

4.6

4.7

4.8

4.9

4.10

4.11

4.12

4.13

4.14

4.15

4.16

4.17

Pohon Solusi

Pernerapan Algoritma Backtracking pada crossword puzzle

Contoh Elena puzzle sebelum dan sesudah di selesaikan

Diagram Ishikawa (Fishbone Diagram)

Arena Permainan Elena Puzzle

Koordinat map elena puzzle

Keadaan papan permainan elena puzzle untuk langkah awal

Keadaan papan elena puzzle untuk one point

Keadaan papan elena puzzle untuk cek sektor

Keadaan papan elena puzzle untuk langkah backtrack

Flowchart Perancangan Aplikasi Permainan

Flowchart Backtracking

Flowchart Backtracking lanjutan

Use case diagram Elena Puzzle

Activity Diagram Memulai Permainan

Activity Diagram Selesaikan permainan dengan backtrack

Activity Diagram Lihat help

Activity Diagram Memainkan permainan

Form Utama

Form Pilih Map

Form Arena Permainan

Form Panduan Permainan

Form Tentang Permainan

Form Utama

Form Help Halaman Pertama

Form Help Halaman Kedua

Form About

Form Pilih Map

Form Arena Permainan Map 1

Form Arena Permainan Map 2

Form Arena Permainan Map 3

Tampilan Map 1 Ketika Backtrack dijalankan

Tampilan Pop-up window jawaban benar Map 1

Tampilan Solusi Map 1

Tampilan Map 2 Ketika Backtrack dijalankan

Tampilan Pop-up window jawaban benar Map 2

Tampilan Solusi Map 2

Tampilan Map 3 Ketika Backtrack dijalankan

Tampilan Pop-up window jawaban benar Map 3

Tampilan Solusi Map 3

8

10

12

15

17

18

24

25

26

27

28

29

30

31

33

35

37

38

39

40

41

42

43

44

45

45

46

47

47

48

48

49

50

50

51

52

52

53

54

54

Universitas Sumatera Utara

Page 12: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Permainan atau sering disebut dengan game merupakan suatu sarana hiburan yang diminati

dan dimainkan oleh banyak orang baik dari kalangan anak-anak, remaja maupun orang dewasa.

Permainan juga dapat berguna untuk melatih dan mengasah kemampuan berpikir seseorang,

salah satu game yang melatih dan mengasah kemampuan berpikir adalah game puzzle

(permainan teka-teki).

Puzzle game berfokus pada tantangan yang bersifat logis dan konseptual. Meskipun

kadang-kadang permainan menambahkan waktu sebagai unsur tekanan dan hal-hal lainnya

dalam menyelesaikan permainan tersebut. Meskipun banyak permainan action dan permainan

petualangan yang melibatkan teka-teki seperti mendapatkan barang yang di akses, permainan

puzzle yang benar berfokus pada pemecahan teka-teki sebagai kegiatan utama gameplay

puzzle. Permainan biasanya melibatkan bentuk, warna, atau simbol, dan pemain harus langsung

atau tidak langsung memanipulasi mereka ke dalam pola tertentu.

Dari sekian banyak game puzzle ada satu game puzzle yang menarik perhatian penulis

yaitu, Elena puzzle. Pada permainan Elena puzzle pemain di beri 18 bidak yang terdiri dari 3

warna yakni, merah, biru, dan kuning (masing-masing warna terdiri dari 6 bidak). Pemain

harus meletakkan bidak sesuai dengan pentunjuk yang telah di berikan pada arena permainan

6x6 dengan syarat tidak boleh ada warna yang sama pada satu baris dan kolom.

Algoritma backtracking merupakan salah satu metode pemecahan masalah yang termasuk

dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtracking bekerja

secara rekursif dan melakukan pencarian solusi persoalan secara sistematis pada semua

kemungkinan solusi yang ada. Oleh karena algoritma ini berbasis pada algoritma Depth-First

Search (DFS), maka pencarian solusi dilakukan dengan menelusuri struktur berbentuk pohon

berakar secara preorder.

Universitas Sumatera Utara

Page 13: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

2

Untuk itu, penulis tertarik untuk mengimplementasikan algoritma backtracking pada

permainan Elena puzzle sebagai problem solving (pemecah masalah) untuk menemukan solusi

yang tepat sesuai dengan pentunjuk yang telah di berikan.

Berdasarkan hal yang telah di uraikan di atas maka penulis berniat melakukan penelitian

dengan judul “IMPLEMENTASI ALGORITMA BACKTRACKING DALAM

PENYELESAIAN GAME ELENA PUZZLE”.

1.2 Perumusan Masalah

Berdasarkan latar belakang yang telah di kemukakan sebelumnya, maka yang menjadi

rumusan masalah pada penelitian ini yaitu bagaimana menerapkan algoritma backtracking

untuk menyelesaikan Elena puzzle yang di berikan.

1.3 Batasan Masalah

Adapun batasan masalah untuk tugas akhir ini adalah:

1. Algoritma yang digunakan adalah algoritma Backtracking.

2. Map puzzle berukuran 6x6 dan map puzzle yang digunakan ada 3 map berupa 3 solusi yang

berbeda.

3. Permainan menggunakan 18 bidak yang memiliki 3 warna yang masing-masing warna

terdiri dari 6 bidak, yakni merah, biru, dan kuning.

4. Permainan ini bersifat single player sebagai fitur tambahan .

5. Aplikasi berbasis desktop dan Bahasa pemograman yang digunakan adalah VB.net dengan

menggunakan XNA framework.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah untuk membuat sebuah kecerdasan buatan yang dapat

menyelesaikan puzzle secara tepat sesuai dengan petunjuk yang telah diberikan.

Universitas Sumatera Utara

Page 14: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

3

1.5 Manfaat Penelitian

Tugas akhir ini diharapkan dapat memberi solusi berupa aplikasi pemecah masalah dalam

menyelesaikan game Elena puzzle dengan menggunakan algoritma backtracking sebagai agen

kecerdasan buatan.

1.6 Metode Penelitian

Metodelogi penelitian yang akan digunakan adalah:

1. Studi Literatur

Pada awal penulisan dilakukan peninjauan terhadap buku-buku, artikel-artikel, jurnal-jurnal

maupun hasil penelitian yang terkait dengan kecerdasan buatan, algoritma backtracking, dan

penerapan algoritma backtracking pada beberapa game puzzle yang digunakan sebagai agen

kecerdasan buatan untuk menyelesaikan masalah (problem solving) pada game tersebut, dan

referensi lainnya yang berkaitan dengan penelitian ini.

2. Analisis dan Perancangan Sistem

Pada tahap ini di lakukan analisis terhadap game Elena puzzle dan bagaimana penyelesaianya

dengan menerapkan algoritma backtracking untuk perancangan sistem disertai pembuatan

Flowchart, perancangan aplikasi, dan peracangan antarmuka (interface).

3. Implementasi Sistem

Pada tahap ini dilakukan coding system.

4. Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap aplikasi game yang telah dibangun. Apakah

aplikasi game tersebut dapat menyelesaikan puzzle sesuai dengan petunjuk yang telah

diberikan.

5. Dokumantasi dan Laporan Akhir

Setelah implementasi, maka penulis akan membuat dokumentasi atau laporan tiap tahap dari

program yang penulis rancang.

Universitas Sumatera Utara

Page 15: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

4

1.7 Sistematika Penulisan

Untuk membuat penulisan lebih terstruktur, maka penulisan ini dibagi menjadi lima bab, yaitu

sebagai berikut :

BAB 1 : PENDAHULUAN

Pada bab ini berisi penjelasan mengenai latar belakang masalah, perumusan masalah, batasan

masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika

penulisan.

BAB 2 : LANDASAN TEORI

Pada bab ini berisi penjelasan mengenai teori yang berbuhungan dengan penelitian,

diantaranya yaitu teori kecerdasan buatan, algoritma backtacking, game elena puzzle, dan teori

lainnya yang berkaitan.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini berisi mengenai analisis masalah dan segala hal yang berkaitan dengan sistem

yang dibangun, serta menjelaskan cara kerja sistem, kemudian dilanjutkan dengan

perancangan antarmuka sistem.

BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini berisi penjelasan mengenai implementasi sistem dengan menggunakan bahasa

pemrograman VB.net dan XNA framework berdasarkan tahapab perancangan sistem,

kemudian dilakukan pengujian sistem dengan perancangan yang dilakukan sebelumnya.

BAB 5 : KESIMPULAN DAN SARAN

Pada bab ini berisi kesimpulan yang diperoleh dalam penelitian dan saran yang diberikan untuk

pengembangan lebih lanjut.

Universitas Sumatera Utara

Page 16: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

BAB II

LANDASAN TEORI

2.1. Kecerdasan Buatan.

Kecerdasan Buatan “Artificial Intelegence (AI)” merupakan suatu metode atau sistem pada

suatu controller (komputer atau sejenisnya) yang digunakan dalam mengambil keputusan atau

melakukan suatu tindakan. Kecerdasan buatan atau sering disebut Artificial Intelegence (AI)

dapat diartikan dalam beberapa pengertian sebagai berikut :

1. Suatu cara yang sederhana untuk membuat komputer dapat “berpikir” secara

intelligent.

2. Bagian dari ilmu komputer yang mempelajari perancangan sistem komputer yang

intelligent,yaitu suatu sistem yang memperlihatkan karakteristik yang ada pada tingkah

laku manusia ,seperti mengerti suatu bahasa, mempelajari, mempertimbangkan dan

memecahkan suatu masalah.

3. Suatu studi bagaimana komputer dapat mengerjakan sesuatu, yang pada saat ini, orang

dapat mengerjakan lebih baik.

4. Bidang Ilmu komputer yang memungkinkannya untuk memahami, bernalar dan

bertindak.

Tujuan penggunaan sistem pengambilan keputusan menggunakan kecerdasan buatan atau

AI adalah :

1. Untuk mengembangkan metode dan sistem untuk menyelesaikan masalah. Malasah

yang biasa di selesaikan melalui aktivitas intelektual manusia, misalnya pengolahan

citra, perencanaan, peralaman dan lain-lain, meningkatkan kinerja sistem informasi

yang berbasis komputer.

2. Untuk meningkatkan pengertian atau pemahaman kita pada bagaimana otak manusia

bekerja

Arah pengembangan dari kecerdasan buatan atau Artificial Intelegence (AI) pada suatu

sistem pengambilan keputusan memiliki 2 metode sebagai berikut :

Universitas Sumatera Utara

Page 17: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

6

1. Mengembangkan metode dan sistem untuk menyelesaikan masalah pada sistem

kecerdasan buatan (AI) tanpa mengikuti cara manusia menyelesaikannya. Arah

pengembangan kecerdasan buatan (AI) dengan metode ini adalah sistem pakar / expert

system.

2. Mengembangkan metode dan sistem untuk menyelesaikan masalah pada sistem

kecerdasan buatan (AI) melalui pemodelan yang mengikuti cara berpikir manusia, atau

cara bekerja otak manusia. Arah pengembangan kecerdasan buatan menggunakan

metode seperti ini adalah sistem jaringan syaraf tiruan (neural networks).

Bidang bidang Aplikasi kecerdasan buatan “Artificial Intelegence (AI)” menurut Elaine

Rich masalah pada AI (Task Domain) :

Tugas Kedunian (Mundane Task)

Perception: Vision, Speech Recognition

Natural Languange : Understanding, Generation, Translation.

Commonsense Reasoning

Robot Control

Tugas Formal (Formal Task )

Games (Chess, Backgamon, checkers, Go, etc)

Mathematic (Geometry, Logic, Integral, Calculus, Proving properties of program)

Tugas Ahli (Expert Task)

Engineering ( Design, Fault Finding, Manufacturing Planning

Scientific Analysis, Medical Diagnosis, Financial Analysis

Lebih detailnya, pengertian kecerdasan buatan dapat dipandang dari berbagai sudut

pandang (Kusumadewi Sri,2003), antara lain :

1. Sudut pandang kecerdasaan.

Kecerdasan buatan membuat mesin menjadi ‘cerdas’ (mampu berbuat seperti apa yang

dilakukan oleh manusia).

Universitas Sumatera Utara

Page 18: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

7

2. Sudut Pandang penelitian

Kecerdasan buatan adalah suatu studi bagaimana membuat agar komputer dapat

melakukan sesuatu sebaik yang dikerjakan oleh manusia

3. Sudut pandang bisnis.

Kecerdasan buatan adalah kumpulan peralatan yang sangat powerful dan merodologis

dalam menyelesaikan masalah-masalah bisnis.

4. Sudut pandang pemrograman.

Kecerdasan buatan melitputi studi tentang pemrograman simbolik, penyelesaian

masalah (problem solving) dan pencarian (searching).

Untuk menciptakan aplikasi kecerdasan buatan ada dua bagian utama yang sangat

dibutuhkan (Kuswandi,2007), 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)

Motor Inferensi merupakan kempampuan menarik kesimpulan berdasarkan

pengalaman atau dapat juga disebut dengan penalaran.

2.2 Algoritma Backtacking

Algoritma backtracking pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950.

Dalam perkembangannya beberapa ahli seperti RJ Walker, Golomb, dan Baumert menyajikan

uraian umum tentang backtracking dan penerapannya dalam berbagai persoalan dan aplikasi.

Algoritma backtracking (runut balik) merupakan salah satu metode pemecahan masalah yang

termasuk dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtracking

bekerja secara rekursif dan melakukan pencarian solusi persoalan secara sistematis pada semua

kemungkinan solusi yang ada (Aho, Hopcroft, dan Ullman, 1983, hal:327).

Universitas Sumatera Utara

Page 19: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

8

Oleh karena algoritma ini berbasis pada algoritma Depth-First Search (DFS), maka

pencarian solusi dilakukan dengan menelusuri suatu struktur berbentuk pohon berakar secara

preorder. Proses ini dicirikan dengan ekspansi simpul terdalam lebih dahulu sampai tidak

ditemukan lagi suksesor dari suatu simpul (Aho, Hopcroft, dan Ullman, 1974, hal:176).

Algoritma backtracking mempunyai prinsip dasar kemungkinan solusi. Perbedaan

utamanya adalah pada ide dasarnya, semua solusi dibuat dalam bentuk pohon solusi (pohon ini

tentunya berbentuk abstrak) dan algoritma akan menelusuri pohon tersebut secara DFS sampai

ditemukan solusi yang layak. Nama backtrack didapatkan dari sifat algoritma ini yang

memanfaat karakteristik himpunan solusinya yang sudah disusun menjadi suatu pohon solusi.

Agar lebih jelas bisa dilihat pada pohon solusi seperti gambar 1 (Marbun. 2012) berikut:

Gambar 2.1 Pohon Solusi

Misalkan pohon diatas menggambarkan solusi dari suatu permasalahan. Untuk mecapai

solusi (5), maka jalan yang ditempuh adalah (1,2,5), demikian juga dengan solusi-solusi yang

lain. Algoritma backtrack akan memeriksa mulai dari solusi yang pertama yaitu solusi (5). Jika

ternyata solusi (5) bukan solusi yang layak maka algoritma akan melanjutkan ke solusi (6).

Jalan yang ditempuh ke solusi (5) adalah (1,2,5) dan jalan untuk ke solusi (6) adalah (1,2,6).

Kedua solusi ini memiliki jalan awal yang sama yaitu (1,2). Jadi daripada memeriksa ulang

dari (1) kemudian (2)

maka hasil (1,2) disimpan dan langsung memeriksa solusi (6). Pada pohon yang lebih rumit,

cara ini akan jauh lebih efisien daripada brute-force. Pada beberapa kasus, hasil perhitungan

sebelumnya harus disimpan, sedangkan pada kasus yang lainnya tidak perlu.

Universitas Sumatera Utara

Page 20: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

9

Prinsip pencarian solusi dengan metode backtracking adalah sebagi berikut :

1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan

yang dipakai adalah mengikuti aturan pencarian mendalam (DFS). Simpul-simpul

yang sudah dilahirkan dinamakan simpul hidup (live node). Simpul hidup yang

sedang diperluas dinamakan simpul-E (Expand node).

2. Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang.

Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka simpul-E

tersebut “dibunuh” sehingga menjadi simpul mati (dead node). Fungsi yang

digunakan untuk membunuh simpul-E adalah dengan menerapkan fungsi pembatas

(bounding function). Simpul yang sudah mati tidak akan pernah di perluas lagi.

3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian

diteruskan dengan membangkitkan simpul anak yang lainnya. Bila tidak ada lagi

simpul anak yang dapat dibangkitkan, maka pencarian solusi dilanjutkan dengan

membacktraking ke simpul hidup terdekat (simpul orangtua). Selanjutnya itu

menjadi simpul-E yang baru.

4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada lagi simpul

hidup untuk backtracking.

Penggunaan terbesar backtrack adalah untuk membuat AI (Artificial Intelligence) pada

board games. Dengan algoritma ini program dapat menghasilkan pohon sampai dengan

kedalaman tertentu dari current status dan memilih solusi yang akan membuat langkah-langkah

yang dapat dilakukan oleh user akan menghasilkan pohon solusi baru dengan jumlah pilihan

langkah terbanyak. Cara ini dipakai sebagai AI yang digunakan untuk dynamic problem

solving.

Beberapa kegunaan yang cukup terkenal dari algoritma backtrack dari suatu masalah

“statik” adalah untuk memecahkan masalah N-Queen problem dan maze solver. N-Queen

problem adalah bagaimana cara meletakkan bidak Queen catur sebanyak N buah pada papan

catur atau pada papan ukuran NxN sedemikian rupa sehingga tidak ada satu bidakpun yang

dapat memangsa bidak lainnya dengan 1 gerakan. Meskipun mungkin terdapat lebih dari satu

solusi untuk masalah ini, tetapi pencarian semua solusi biasanya tidak terlalu diperlukan, tetapi

untuk beberapa kasus tertentu diperlukan pencarian semua solusi sehingga didapatkan solusi

Universitas Sumatera Utara

Page 21: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

10

yang optimal. Berikut adalah contoh sederhana penerapan algoritma backtracking pada

permainan crossword puzzle dapat dilihat pada gambar 2. (Wardani & Savitri 2005) berikut :

Gambar 2.2 penerapan algoritma backtracking pada crossword puzzle

Pada gambar nomor 2 di atas jika di lihat dari database maka kata yang harus di isi menurun

ialah kata libur seperti gambar nomor 3, namu ketika di lakukan pencarian kata yang

panjangnya 4 karakter yang di temukan adalah kata ‘hari’. Karena itu dilakukan backtracking

terhadap kata ‘libur’, dan pengisian dilanjutkan dengan memasukkan kata ‘lihat’. Dengan

demikian kata ‘hari’ dapat di masukkan seperti pada gambar nomor 4.

2.3 Game

Game berasal dari bahasa inggris yang berarti permainan. Dalam setiap game terdapat

peraturan yang berbeda – beda untuk memulai permainannya sehingga membuat jenis game

semakin bervariasi. Karena salah satu fungsi game sebagai penghilang stress atau rasa jenuh

maka hamper setiap orang senang bermain game baik anak kecil, remaja maupun dewasa.

Mungkin hanya berbeda dari jenis game yang di mainkannya saja.

Game sendiri mempunyai dampak positif dan negatif pada kehidupan yang memainkannya

. Contoh dampak positif , misalnya : sebagai penghilang stres karena lelah bekerja seharian ,

Universitas Sumatera Utara

Page 22: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

11

mungkin bermain game tepat untuk menghilangkan penat tersebut . Lalu bagi anak - anak

sebagai media untuk menambah kecerdasan otak dan daya tanggap , dan masih banyak lagi

dampak positif yang lainnya . Contoh dampak negatif, misalnya : karena terlalu sering bermain

game lupa untuk melakukan pekerjaan yang lainnya , sehingga membuat pekerjaan lain

menjadi tertunda . Lalu jika bermain game di komputer terlalu lama akan merusak mata , dan

lain sebagainya .

Jenis game mungkin sangat banyak dan bervariasi , dari media untuk memainkannya yang

berbeda , cara bermain , jumlah pemain , tapi disini yang akan saya jelaskan adalah jenis game

berdasarkan tipe game yang biasanya dimainkan di handphone dan komputer .

1. Action games, biasanya meliputi tantangan fisik, teka-teki (puzzle), balapan, dan beberapa

konflik lainnya. Dapat juga meliputi masalah ekonomi sederhana, seperti mengumpulkan

benda-benda.

2. Real Time Strategy (RTS) adalah game yang melibatkan masalah strategi, taktik, dan logika.

Contoh game jenis ini adalah Age of Empire, War Craft, dan sebagainya.

3. Role Playing Games (RPG), kebanyakan game jenis ini melibatkan masalah taktik, logika,

dan eksplorasi atau penjelajahan. Dan juga kadang meliputi teka-teki dan masalah ekonomi

karena pada game ini biasanya melibatkan pengumpulan barang-barang rampasan dan

menjualnya untuk mendapatkan senjata yang lebih baik. Contoh dari game ini adalah Final

Fantasy, Ragnarok, Lord of The Rings, dan sebagainya.

4. Real World Simulation, meliputi permainan olahraga dan simulasi masalah kendaraan

termasuk kendaraan militer. Games ini kebanyakan melibatkan masalah fisik dan taktik, tetapi

tidak masalah eksplorasi, ekonomi dan konseptual. Contohnya seperti adalah game

Championship Manager.

5. Construction and Management, seperti game Roller Coster Tycoon dan The Sims. Pada

dasarnya adalah masalah ekonomi dan konseptual. Game ini jarang yang melibatkan konflik

dan eksplorasi, dan hampir tidak pernah meliputi tantangan fisik.

6. Adventure games, mengutamakan masalah eksplorasi dan pemecahan teka-teki. Namun

terkadang meliputi masalah konseptual, dan tantangan fisik namun sangat jarang.

7. Puzzle games, ditujukan untuk memecahkan suatu masalah tertentu. Hampir semua semua

tantangan disini menyangkut masalah logika yang biasanya dibatasi oleh waktu.

Universitas Sumatera Utara

Page 23: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

12

8. Slide scrolling games, pada jenis game ini karakter dapat bergerak ke samping diikuti

dengan gerakan background. Contoh game tipe seperti ini adalah Super Mario, Metal Slug,

dan sebagainya.

2.4. Game Elena puzzle

Game Elena puzzle adalah sebuah game puzzle yang muncul pada anime phi brain episode 10

Welcome_to_the_Queen's_Kingdom dengan nama Elena puzzle yang di bawakan oleh

serorang perempuan bernama Elena pada acara yang bernama puzzle kingdom.

Game Elena puzzle adalah sebuah puzzle dimana kita harus meletakkan 18 bidak pada

papan permainan yang berukuran 6x6. Bidak yang diletakan terdiri dari 3 warna yang berbeda

yaitu bidak warna merah, kuning, dan biru. Bidak tersebut diletakkan pada satu baris dan

kolom bedasarkan petunjuk yang telah diberikan di pinggir arena. Petunjuk tersebut

mejelaskan bawah warna yang pertama kali di jumpai dari pinggir arena adalah warna yang

sama dengan warna petunjuk tersebut. Pada satu baris dan satu kolom tidak boleh terdapat

warna yang sama dan pada setiap baris dan kolom harus mempunyai 3 warna yang berbeda.

Berikut ini adalah contoh gambar dari game Elena puzzle sebelum dan sesudah di selesaikan

dapat di lihat pada gambar 2.3. berikut :

Gambar 2.3 Contoh Elena puzzle sebelum dan sesudah di selesaikan

Universitas Sumatera Utara

Page 24: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

13

2.5 Penelitian Terdahulu

Berikut ini beberapa penelitian yang terkait dengan algoritma backtracking :

Tabel 2.1 Penelitian Terdahulu

No. Nama Judul

Peneletian

Ringkasan

1 Bakri

Analisis dan

Implementasai

Algoritma

Backtracking

Pada

Permainan

Congkalak

Pada penelitian ini Algoritma backtracking di

jadikan sebagai agen kecerdasan buatan pada

permainan conglak. Algoritma backtracking

dapat digunakan untuk mengoptimalkan

langkah yang dipilih oleh agen kecederdasan

buatan dengan persentase kemenangan 75%

jika pemain jalan terlebih dahulu dan

kemenangan 100% jika agen backtrack jalan

terlebih dahaulu.

2 Marbun Permainan

Word Seacrh

Puzzle Pada

Android

Menggunakan

Algoritma

Backtracking

Pada penelitian ini algortitma backtracking di

terapkan dalam aplikasi permainan word

search puzzle untuk mengotomatiskan

pencarian kata sehingga pemain dapat

mengetahui letak kata-kata yang di cari pada

permainan tersebut. Algoritma backtack secara

sistematis mencari solusi persoalan di antara

semua kemungkinan solusi yang ada dengan

cara menelurusi pohon solusi secara DFS

(Depth First Search) sampai menemukan

solusi yang ada.

Universitas Sumatera Utara

Page 25: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

14

Tabel 2.2 Penelitian Terdahulu (Lanjutan)

3 Utari Analisis dan

Implementasi

Algotitma

Backtracking

Pada Permainan

Hangman

Pada penelitian ini algoritma backtracking

diimplementasikan sebagai agen kecerdasan

buatan untuk melakukan penelusuran pada

simpul-simpul yang mengarah ke solusi

sebagai representasi dari huruf-huruf yang

akan di tebak pada indeks huruf yang masih

kosong atau belum ditebak. Huruf yang

menjadi tebakan diambil dari kata yang

telah dipilih secara acak pada indeks, jika

ditemukan huruf yang cocok maka akan di

jadikan solusi jika tidak ditemukan maka

akan di lakukan backtrack dan dilakukan

penelusuranpada huruf dari kata

berikutnya.penerapan kecerdasan buatan ini

dapat mengefisienkan waktu eksekusi

program dan memungkinkan agen

kecerdasan buatan untuk mengalahkan

manusia.

4 Sembiring

(2015)

Penerapan

Algoritma

Bactracking Pada

Perancangan Line

Maze Solver

Robotic Berbasis

Mikrokontroler

Atmega32

Pada penelitian ini algoritma backtracking

Digunakan pada robot untuk mencari

lintasan terpendek dari sebuah labirin.

Algoritma backtracking diterapkan pada

dua mode yaitu search dan return. Pada

mode search robot berjalan dari start

menuju finish, robot berjalan dengan aturan

mengutaman belok ke kiri dan pada mode

return robot sudah berjalan dari start

menuju finish dengan jalur terpendeknya

Universitas Sumatera Utara

Page 26: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

BAB III

ANALISISDAN PERANCANGAN SISTEM

3.1 Analisis Kebutuhan Sistem

Pada analisis kebutuhan sistem ini, akan dilakukan analisis terhadap arena permainan dan

analisis algoritma.

3.1.1 Analisis Masalah

Adanya kecerdasan buatan sebagai metode pemecah masalah untuk menemukan solusi pada

permainan elena puzzle sesuai dengan petunjuk yang telah diberikan, solusi yang dihasilkan

oleh kecerdasan buatan merupakan hasil penelurusan dari beberapa kondisi untuk mendapatkan

jawaban yang tepat.

Sehingga dibutuhkan sebuah metode pencarian yang dapat melakuan pencarian solusi

persoalan secara sistematis pada semua kemungkinan yang ada tersebut dengan menggunakan

algoritma backtracking.

Dalam analisis masalah, dapat digambarkan lebih jelas melalui Diagram Ishikawa

(Fishbone Diagram) yang dapat dilihat pada Gambar 3.1

People

Kercedasan buatan

Pencarian

solusi

methods

Membantu pemain

mencari solusi yang tepat

Pemain tidak dapat menemukan

solusi permainan elena puzzle

Algoritma backtracking di gunakan

sebagai agen kecerdasan buatan

untuk menemukan solusi yang tepat

Gambar 3.1 Diagram Ishikawa (Fishbone Diagram)

Universitas Sumatera Utara

Page 27: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

16

3.1.2 Analisis Persyaratan

Analisis persyaratan merupakan tahap penting, yaitu menentukan persyaratan dari sistem

seperti kebutuhan dari pengguna. Analisis persyaratan tebagi dua, yaitu analisis fungsional dan

analisis nonfungsional

3.1.2.1 Analisis fungsional

Analisis fungsional dilakukan untuk dapat mendeskripsikan tentang aktivitas dan layanan apa

saja yang harus disediakan oleh sistem. Berikut adalah aktivitas yang dapat dilakukan oleh

sistem

1. Sistem menyediakan 3 malasah berupa 3 Map permainan dengan 3 Solusi yang berbeda.

2. Warna yang digunakan pada permainan ada 3 warna yaitu, warna merah,warna biru,

dan warna kuning.

3. Kecerdasan buatan yang terdapat pada permaianan menggunakan algoritma backtrack

4. Bahasa pemrograman yang digunakan adalah VB.net dengan Xna framework.

3.1.2.2 Analisis nonfungsional

Analisis nonfungsional dilakukan untuk dapat mendeskripsikan mengenai fitur, karakteristik

dan batasan lainnya yang menentukan kepuasan pengguna terhadap sistem.

1. Performa

Sistem yang akan dibangun harus dapat menunjukkan solusi dari permainan dengan

menggukan backtrack sebagai agen kecerdasan buatan.

2. Mudah digunakan

Sistem yang akan dibangun harus memiliki tampilan dan respin yang baik dalam proses

penggunaannya.

3. Hemat biaya

Sistem yang akan dibangun bebas digunakan dan tidak membutuhkan perangkat lain

4. Manajemen Kualitas

Sistem yang akan dibangun memiliki kuatlitas yang baik

5. Kontrol

Sistem yang akan dibangun menampilkan pesan sukses ketika puzzle diselesaikan

Universitas Sumatera Utara

Page 28: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

17

3.1.3 Analisis Arena Permainan

Pada aplikasi yang akan di bangun, permainan Elena puzzle ini akan di mainkan oleh satu

pihak, yaitu pemain atau sebuah kecerdasan buatan

Arena permainan pada Elena puzzle ini terdiri atas 2 daerah, yaitu : daerah pada pinggir

arena permainan yang berfungsi sebagi petunjuk dan daerah tengah arena permainan yang

berukuran 6x6 untuk mengisi bidak yang tersedia. Hal ini dapat dilihat pada Gambar 3.2 dan

Gambar 3.3

P E T U N J U K

PETUNJUK

PETUNJUK

P E T U N J U K

Gambar 3.2 Area Permainan Elena Puzzle

Universitas Sumatera Utara

Page 29: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

18

(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6)

(1,0)

(0,7)

(1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7)

(2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7)

(3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7)

(4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7)

(5,0) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7)

(6,0) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7)

(7,0) (7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7)

x

y

Gambar 3.3 Koordinat map elena puzzle

Keterangan :

1. petunjuk: kotak berwarna abu abu, merupakan penanda bahwa warna yang pertama yg

di jumpai dari arah petunjuk tersebut merupakan warna yang sama dengan petunjuk

tersebut

2. Arena permainan : kotak berwarna putih, merupakan daerah yang di isi oleh pemain

atau oleh agen kecerdasan buatan , area permainan harus di isi dengan 6 warna merah

6 warna biru dan 6 warna kuning dengan syarat pada satu baris dan kolom tidak boleh

terdapat warna yang sama dan warna yang di isi di arena harus sesuai dengan petunjuk

yang telah di berikan.

Universitas Sumatera Utara

Page 30: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

19

3.1.4 Analisis Algoritma

Seperti yang telah di paparkan pada bab sebelumnya, algortima yang digunakan untuk

menyelesaikan game puzzle ini adalah algoritma Runut-Balik (Backtracking). Algortima ini

akan digunakan olaeh agen kecerdasan buatan untuk mengisi arena permainan dengan benar.

Pada algoritma Backtracking, ada beberapa properti yang perlu dipertimbangkan yaitu

properti solusi persoalan, properti komponen vektor solusi dan properti kriteria pembatas.

Berikut adalah penjabaran dari properti-properti tersebut.

1. Properti solusi persoalan

Properti solusi persoalan properti yang berisikan simpul-simpul solusi dari persoalan.

Pada permainan Elena Puzzle ini, simpul-simpul persoalan merupakan kotak-kotak

berwarna putih yang berada ditengah arena permainan. Kotak-kotak tersebut diberi

koordinat (1,1) – (6,6) berdasarkan baris dan kolomnya.

2. Properti komponen vektor solusi

Properti komponen vektor solusi merupakan parameter yang digunakan untuk

mengarahkan penelusuran simpul menuju ke arah solusi. Parameter ini terdiri atas dua,

yaitu warna dan kordinat yang di isi oleh backtrack.

3. properti kriteria pembatas

Properti kriteria pembatas merupakan properti yang berfungsi untuk mengarahkan agen

kecerdasan buatan menentukan simpul-simpul yang mengarah ke solusi. Kriteria

pembatas yang diterapkan pada algoritna backtracking ini , mengacu pada strategi yang

di gunakan kecerdasan buatan pada pemainan game elena puzzle ini. Strategi tersebut,

yaitu :

a. Langkah awal. Pemilihan langkah di ambil berdasarkan petunjuk yang ada di

pinggir arena, agen kecerdasan buatan akan mengecek dari ketiga warna

(merah,biru,kuning) yang hanya terdapat 1 di baris atau di kolom petunjuk maka

agen kecerdasan buatan akan mengisi warna tersebut diarena permainan

disamping petunjuk.

Universitas Sumatera Utara

Page 31: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

20

b. one point. Fungsi dari one point adalah untuk membuat agen kecerdasan buatan

mengecek apakah warna yang akan di isi sudah ada pada baris atau kolom

tersebut.

c. ceksektor. Cek sektor di jalankan bila fungsi onepoint true maka selanjutnya

agen kecerdasan buatan akan mengecek apakah warna yang akan di isi sesuai

dengan petunjuk yang ada di pinggir arena.

d. backtrack. Agen kecerdasan buatan akan melakukan pengecekan warna di arena

permainan mulai dari kordinat (1,1) sampai (3,6) kemudian pengecekan akan

diteruskan dari kordinat (6,6) sampai (4,1). Jika fungsi one point dan ceksektor

bernilai true maka agen kecerdasan buatan akan meletakkan warna tersebut di

arena permainan dan membuat simpul pada akar pohon solusi yang nantinya di

gunakan untuk mencari jawaban yang benar.

Pada kriteria pembatas ini, langkah awal a) menjadi prioritas utama, langkah awal

merupakan langkah pertama yang di jalankan oleh agen kecerdasan buatan dan warna

yang di isi dengan mengunakan langkah awal tidak dapat diganti dengan warna yang

lain.

Berikut ini adalah pseudocode penerapan algoritma Backtracking pada permainan

Elena puzzle.

warnaVal= 0 , Baris= 0, Kolom=0

templis = vector2(x,y)

kotak(7,7) As kotakpuzzle

hasil =false

do until hasil = benar

warnaVal += 1

warnaVal += 1

If warnaVal > 3 Then

warnaVal = 0

Universitas Sumatera Utara

Page 32: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

21

End If

If (baris >= 0 And kolom >= 0) Then

If Not kotak(baris, kolom).checked And Not kotak(baris, kolom).invunerable

Then

kotak(baris, kolom).value = warnaVal

onepoint = ((baris, kolom), kotak, warnaVal)

ceksektor = (New Vector2(baris, kolom), warnaVal, kotak)

If onepoint And ceksektor Then

kotak(baris, kolom).checked = True

If Not templis.Contains(New Vector2(baris, kolom)) Then

templis.Add(New Vector2(baris, kolom))

End If

End If

End If

End If

If warnaVal = 0 Then

If HAtas Then

kolom += 1

If kolom > 6 Then

kolom = 1

Universitas Sumatera Utara

Page 33: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

22

baris += 1

If baris > 3 Then

HAtas = False

kolom = 6

baris = 6

End If

End If

Else

kolom -= 1

If kolom < 1 Then

kolom = 6

baris -= 1

If baris < 4 Then

HAtas = True

kolom = 1

baris = 1

End If

If baris = 1 And kolom = 1 Then

If templis.Count = Rtemp Then

baris=templis(templis.Count-1).X

kolom=templis(templis.Count-1).Y

If baris < 4 Then

Universitas Sumatera Utara

Page 34: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

23

HAtas = True

Else

HAtas = False

End If

warnaVal=kotak(baris, kolom).value

kotak(baris,kolom).checked=False

templis.RemoveAt(templis.Count- 1)

End If

Rtemp = templis.Count

End If

End If

End If

End If

hasil= cek_akhir(mapaktif, kotak, map1, solusimap1, solusimap2, solusimap3)

end loop

Pada pseudocode diatas, menjelaskan bagaimana proses backtracking menyelesaikan

persoalan yang terdapat pada game elena puzzle. Backtrack akan terus berjalan hingga hasil

yang ada di arena permainan sesuai dengan jawaban yang tepat.

Berikut contoh kasus penelusuran algoritma backtracking pada game elena puzzle.

1. Contoh kasus langkah awal.

Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat

pada Gambar 3.4

Universitas Sumatera Utara

Page 35: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

24

Gambar 3.4 Keadaan papan permainan elena puzzle untuk langkah awal

Pada gambar diatas, hasil penelursuran algoritma backtracking adalah mengisi papan

permainan dengan warna yang hanya terdapat satu pada kolom atau baris petunjuk. Hasilnya

dapat dilihat dari Gambar 3.3

Universitas Sumatera Utara

Page 36: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

25

2. contoh kasus one point.

Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat

pada gambar 3.5

Gambar 3.5 keadaan papan elena puzzle untuk one point

Pada gambar diatas, bactrack mengecek apakah sudah ada warna biru dikolom atau

baris yang akan diisi, karena tidak ada warna biru maka fungsi one point true dan dilanjutkan

ke langkah selanjutnya.

Universitas Sumatera Utara

Page 37: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

26

3. contoh kasus cek sektor

Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat

pada gambar 3.6

Gambar 3.6 keadaan papan elena untuk cek sektor

Pada gambar di atas, backtrack mengecek apakah warna yang di akan di isi di arena

permainan sesuai dengan petunjuk yang ada di pinggir arena, karena warna sesuai maka cek

sektor true dan dilanjutkan ke langkah selanjutnya.

Universitas Sumatera Utara

Page 38: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

27

4. contoh kasus backtrack

Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat

pada gambar 3.7

(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6)

(1,0)

(0,7)

(1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7)

(2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7)

(3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7)

(4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7)

(5,0) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7)

(6,0) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7)

(7,0) (7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7)

x

y

1

2

3

6

5

4

Gambar 3.7 keadaan papan elena untuk langkah backtrack

Pada gambar di atas, backtrack melakukan pengecekan warna mulai dari(1,1) sesuai

dengan arah dan nomor panah, jika selama pengecekan fungsi one point dan cek sektor bernilai

true maka backtrack akan meletak warna tesebut diarena permainan dan memasukan hasil ke

pohon solusi dan jika pengecekan berakhir pada kotak (4,1) dan masih belum di temukan solusi

yang tepat maka backtrack mencabut langkah terakhir dan mengantinya dengan warna yang

lain dan pengecekan di mulai kembali dari (1,1) sampai di temukan solusi yang tepat.

Universitas Sumatera Utara

Page 39: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

28

3.2. Perancangan Sistem

Perancangan sistem yang akan dibahas meliputi alur permainan pada permainan elena puzzle,

perancangan aplikasi permainan dan perancangan antarmuka.

3.2.1 Perancangan Aplikasi Permainan

Perancanggan aplikasi permainan merupakan perancangan interaksi apa yang dapat di lakukan

pengguna terhadap aplikasi permainan yang akan di bangun. Aplikasi ini di mulain dengan

form Utama yang berisikan menu pilihan Start, Menu Help, Menu About dan Exit. Pada setiap

tampilan ini, akan memberikan tamplan form-form berikutnya. Aplikasi akan berhenti jika

pengguna memilih tombol Exit. Berikut ini adalah proses yang akan terjadi pada aplikasi

permainan elena puzzle yang akan dilihat para Gambar 3.8

START

Tampilan Form Menu Utama

Pilih Menu Start?

Pilih Menu Help?

Pilih Menu About

Keluar

END

Tampilan Form

Panduan Permainan

Tampilan Form

Tentang Permainan

Kembali ?

Kembali ?

Tampilan Form pilih

arena permainan

Pilih arena permainan 1

Form Arena permainan 1

Backtrack?Output :

Solusi

Pilih arena permainan 2

Pilih arena permainan 3

Form Arena permainan 2

Form Arena permainan 3

BermainPuzzle

Backtrack

Keluar?

Kembali?

ya

tidak

ya

ya

ya

tidak

tidak

tidak

ya

tidak

tidak

tidak

ya

ya

ya

ya

ya

tidak

tidak

tidak

ya

tidak

Gambar 3.8 Flowchart Perancangan Aplikasi Permainan

Universitas Sumatera Utara

Page 40: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

29

3.2.1.1 Flowchart Backtracking

Flowchart ini menggambarkan bagaimana algoritma backtracking berjalan pada permainan

elena puzzle sebagai kecerdasan buatan untuk mencari jawaban yang tepat. Gambar 3.9 dan

Gambar 3.10 merupakan flowchart backtrack.

Start

Baris = 0;Kolom = 0;Warna = 0;Rtemp = 0;

CallLangkahawal()

Warna += 1

Cekakhir() == true

Warna > 3

Warna = 0

True

True

(Baris >= 0) && (kolom >= 0)

False

!((Kotak(baris,kolom).checked == true) && (kotak(baris,kolom).invunerable == true))

True

(one point() == true) && (ceksektor == true)

True

Kotak(baris,kolom).checked = true

Templis.containt(kotak(baris.kolom)) == false

Templis.add(kotak(baris,kolom))

Warna == 0

False

True

False

True

False

False

1

1

Hatas == true

Kolom += 1

Kolom > 6

2

True

True

True

Kolom = 1;Baris += 1;

Baris > 3

Hatas = false;Kolom = 6;Baris = 6;

1False

2

False

False

False

False

True

2

3

3

3

Gambar 3.9 Flowchart Backtracking Untuk Mencari Solusi Yang Tepat Pada

Permainan Elena Puzzle

Universitas Sumatera Utara

Page 41: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

30

1

2

Kolom -= 1

Kolom < 1

Kolom = 6;Baris -= 1;

Baris < 4

Hatas = true;Kolom = 1;Baris = 1;

Baris = 1 && kolom = 1

Templis.count == Rtemp

True

True

False

True

5

5

Baris = templis(templis.count – 1).xKolom = templis(templis.count – 1).y

Baris < 4

Hatas = true

Hatas = false

Warna = kotak(baris,kolom).warna;Kotak(baris,kolom) not checked;

Templis.RemoveAtIndex(templis.Count -1);

Rtemp = templis.count;

True

True

False

3

4

False

4

End

False

False

Gambar 3.10 Flowchart Backtracking Untuk Mencari Solusi Yang Tepat Pada

Permainan Elena Puzzle lanjutan

Universitas Sumatera Utara

Page 42: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

31

3.3 Perancangan Pemodelan Analisis

Pada penelitian ini, perancangan yang akan dibahas menggunakan bahasa pemodelan UML

(Unified Modeling Languange) untuk perancangan aplikasi permainan dan perancangan

antarmuka aplikasi.

Bahasa pemodelan UML (Unified Modeling Languange) merupakan cara standar untuk

menggambarkan arsitektur sistem. Pada perancangan ini UML yang digunakan adalah use case

diagram, use case spesification dan activity diagram.

3.3.1 Use case diagram

Use case merupakan suatu teknik untuk mendeksripsikan persyaratan fungisonal sebuah sistem

yang berfungsi mendeskripsikan interaksi antara pemain dan aplikasi permainan secara

eksternal dalam sebuah sistem. Berikut merupakan use case diagram pada permainan Elena

Puzzle.

Start

Melihat help

Melihat About

Memilih Arena

Permainan

Memainkan

permainan

Selesaikan

permainan dengan

backtrack

<<Extend>><<include>>

Gambar 3.11 Use case diagram Elena Puzzle

Universitas Sumatera Utara

Page 43: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

32

3.3.2 Use case specification dan activity diagram

Suatu use case specification menggambarkan masing-masing skenario dari use case sistem

yang akan dibangun secara terperinci dan activity diagram merupakan teknik yang

menggambarkan berbagai alur aktivitas dalam aplikasi yang akan dirancang, yaitu bagaimana

alur berawal, keputusan yang mungkin terjadi dan bagaimana alur berakhir. Berikut merupakan

use case specification dan activity diagram untuk aplikasi permainan yang akan di bangun.

a. Use case specification dan actifity diagram untuk membuka aplikasi permainan

Tabel 3.1 Use case specification Memulai permainan

Nama use case Memulai Permainan

Aktor Pemain

Deksripsi Use case ini berfungsi untuk memulai permainan Elena Puzzle

Pre condition -

Normal Flow Kegiatan Aktor Respon sistem

Pemain membuka aplikasi

Pemain memilih menu start

Pemain memilih Map 1,Map 2,atau

Map 3

Sistem menampilkan menu utama

Sistem menampilkan menu pilih map

Sistem menampilkan arena permainan

Alternative flow Kegiatan Aktor Respon Sistem

- -

Post condition Pemain dapat memulai permainan

Universitas Sumatera Utara

Page 44: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

33

Activity diagram Memulai permainan dapat dilihat pada gambar 3.12 berikut

Pemain Sistem

Memilih menu Start

Menampilkan Menu Pilih Map

Menampilkan Menu Utama

Memilih Map 1, Map 2, atau Map 3

Menampilkan Arena Permainan

Membuka Aplikasi Permainan

Gambar 3.12 Activity Diagram Memulai Permainan

Universitas Sumatera Utara

Page 45: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

34

b. Use case specification dan activity diagram Selesaikan permainan denan backtrack

Tabel 3.2 Use case specification Selesaikan permainan dengan backtrack

Nama use case Selesaikan Permainan dengan Backtrack

Aktor Pemain

Deksripsi Use case ini berfungsi untuk menyelesaikan permainan dengan

bantuan dari sistem.

Pre condition Papan permainan telah ditampilkan.

Normal Flow Kegiatan Aktor Respon sistem

Pemain menekan tombol

Backtrack yaitu memilih

menyelesaikan permainan

dengan Backtrack

Sistem akan mengisi arena

permainan dengan warna-warna

yang memungkinkan sampai

menemukan jawaban yang tepat.

Alternative flow Kegiatan Aktor Respon Sistem

Pemain menekan tombol back Sistem menampilkan kembali

Menu Utama.

Post condition Sistem akan mengisi arena permainan sampai menemukan jawaban

yang tepat.

Activity diagram Selesaikan permainan dengan backtrack dapat dilihat pada gambar

3.13 berikut

Universitas Sumatera Utara

Page 46: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

35

Pemain Sistem

Memilih menu Start

Menampilkan Menu Pilih Map

Menampilkan Menu Utama

Memilih Map 1, Map 2, atau Map 3

Menampilkan Arena Permainan

Membuka Aplikasi Permainan

Menekan Tombol Backtrack

Mengisi Arena Permainan hingga menemukan jawaban yang tepat

Gambar 3.13 Activity diagram Selesaikan permainan dengan backtrack

Universitas Sumatera Utara

Page 47: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

36

c. Use case specification dan activity diagram untuk Lihat Help

Tabel 3.3 Use case specification Lihat Help

Nama use case Lihat Help

Aktor Pemain

Deksripsi Use case ini berfungsi untuk menampilkan Halaman Help

Pre condition Menu utama sudah di tampilkan

Normal Flow Kegiatan Aktor Respon sistem

Pemain menekan tombol Help

pada menu utama

Pemain menekan tombol back

Menampilkan halaman help

.

Menutup halaman help

Alternative flow Kegiatan Aktor Respon Sistem

Post condition Pemain dapat melihat peraturan permainan pada halaman help

Activity diagram Lihat Help dapat dilihat pada gambar 3.14

Universitas Sumatera Utara

Page 48: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

37

Pemain Sistem

Menekan tombol back

Menutup halaman help

Menampilkan halaman help

Memilih tombol help

Gambar 3.14 Activity Diagram Lihat Help

d. Use case specification dan activity diagram untuk Lihat About

Nama use case Lihat about

Aktor Pemain

Deksripsi Use case ini berfungsi untuk menampilkan Halaman About

Pre condition Menu utama sudah di tampilkan

Normal Flow Kegiatan Aktor Respon sistem

Pemain menekan tombol About

pada menu utama

Pemain menekan tombol back

Menampilkan halaman about

.

Menutup halaman about

Alternative flow Kegiatan Aktor Respon Sistem

Post condition Pemain dapat melihat tentang permainan pada halaman about

Tabel 3.4 Use case specification Lihat About

Universitas Sumatera Utara

Page 49: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

38

Activity diagram Lihat About dapat dilihat pada gambar 3.15

Pemain Sistem

Menekan tombol back

Menutup halaman about

Menampilkan halaman about

Memilih tombol about

Gambar 3.15 Activity diagram Lihat About

3.4 Perancangan Antarmuka

Perancangan antarmuka aplikasi permainan elena puzzle ini terdiri dari beberapa form, yaitu

form Utama, Form Pilih Map, form Arena Permainan, form Panduan Permainan dan Form

Tentang Permainan. Berikut ini adalah rancangan antarmuka form form tersebut.

1. Form Utama

Form Utama merupakan form yang pertama kali ditampilkan saat aplikasi dijalankan.

Form ini berisikan menu yang dapat dipilih oleh pengguna yaitu Start, Help, About dan

Exit. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.16

Universitas Sumatera Utara

Page 50: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

39

Start

Help

About

Exit

Utama

Elena Puzzle 1

2

3

4

5

Gambar 3.16 Form Utama

Keterangan :

1. Elena Puzzle merupkan judul aplikasi.

2. Start merupakan tombol menu yang berfungsi untuk menampilkan form Pilih

Map.

3. Help merupakan tombol menu yang berfungsi untuk menampilkan form Panduan

permainan.

4. About merupakan tombol menu yang berfungsi untuk menampilkan form

Tentang Permainan.

5. Exit merupkan tombol menu yang berfungsi untuk keluar dari aplikasi.

Universitas Sumatera Utara

Page 51: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

40

2. Form Pilih Map

Form Pilih Map merupakan form yang digunakan untuk memilih salah satu dari tiga

arena permainan yang tersedia pada permainan elena puzzle. Rancangan antarmuka

form ini dapat dilihat pada Gambar 3.17

Map 1

Map 2

Map 3

Back

Pilih map

Elena Puzzle 1

2

3

4

5

Gambar 3.17 Form Pilih Map

Keterangan :

1. Elena Puzzle merupkan judul aplikasi.

2. Map 1 merupakan tombol menu yang berfungsi untuk menampilakan form arena

permainan dengan map 1 sebagai arena permainan.

3. Map 2 merupakan tombol menu yang berfungsi untuk menampilkan form arena

permainan dengan map 2 sebagai arena permainan.

4. Map 3 merupakan tombol menu yang berfungsi untuk menampilkan form arena

permainan dengan map 3 sebagai arena permainan.

5. Back merupakan tombol menu yang berfungsi untuk menampilkan kembali form

Utama.

Universitas Sumatera Utara

Page 52: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

41

3. Form Arena Permainan

Form Arena Permainan merupakan form yang digunakan untuk bermain game elena

puzzle. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.18

Backtrack

Back

Arena permainan

1

2

3

Gambar 3.18 Form Arena Permainan

Keterangan :

1. Papan permainan Elena Puzzle.

2. Backtrack merupkan tombol yang berfungsi untuk menjalankan Agen

kecerdasan agar dapat menyelesaikan permainan Elena Puzlle.

3. Back Merupakan tombol yang berfungsi untuk menampilkan kembali form

Pilih Map.

Universitas Sumatera Utara

Page 53: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

42

4. Form Panduan Permainan

Form panduan permainan merupakan form yang berisikan peraturan dan cara bermain

sehingga dapat memberikan informasi kepada pengguna tentang permainan elena

puzzle. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.19

previous Next

Panduan Permainan

Peraturan Permainan

Back

1

2 3

4

Gambar 3.19 Form Panduan Permainan

Keterangan :

1. Halaman berisi petunjuk mengenai peraturan permainan elena puzzle

2. Preverious merupakan tombol untuk melihat halaman peraturan sebelumnya

3. Next merupakan tombol untuk melihat halaman perarutan selanjutnyha

4. Back merupakan tombol untuk kembali ke menu utama

Universitas Sumatera Utara

Page 54: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

43

5. Form Tentang Permainan

Form Tentang permainan merupakan form yang berisikan informasi mengenai author

aplikasi. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.20

Back

Tentang permainan

1

2

Gambar 3.20 Form Tentang Permainan

Keterangan :

1. Halaman yang berisi tentang permainan

2. Back merupakan tombol untuk kembali ke menu utama

Universitas Sumatera Utara

Page 55: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Implementasi sistem merupakan kelanjutan dari tahap perancangan istem yang di bangun ini

menggunakan bahasa pemrograman VB dan XNA framework. Terdiri dari 7 Form yaitu Form

utama, Help, About, Pilih Map, Map1, Map2, Map3

4,1,1 Home

Pada saat dijalankan, Form Home akan muncul dan menampilkan 4 sub menu yaitu Start, Help,

About, Exit

Tampilan Form utama dapat dilihat pada Gambar 4.1

Gambar 4.1 Form Utama

Universitas Sumatera Utara

Page 56: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

45

4.1.2 Help

Form Help akan muncul apabila User memilih sub menu Help pada aplikasi. Form ini

menampilkan penjelasan mengenai peraturan permainan elena puzzle.

Tampilan Form Help dapat dillihat pada Gambar 4,2 dan 4.3

Gambar 4.2 Form Help Halaman Pertama

Gambar 4.3 Form Help Halaman Kedua

Universitas Sumatera Utara

Page 57: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

46

4.1.3 About

Form About akan muncul apabila User memilih sub menu About pada aplikasi. Form ini

menampilkan judul sistem dan informasi pembuat aplikasi.

Tampilan Form about dapat dilihat pada Gambar 4.4

Gambar 4.4 Form About

Universitas Sumatera Utara

Page 58: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

47

4.1.4 Pilih Map

Form Pilih Map akan muncul apabila User memilih sub menu Start pada aplikasi. Form ini

menampilakan Pilihan map yang dapat dipilih untuk memulai permainan Elena Puzzle, pada

form ini User dapa memilih Map 1, Map 2, atau Map 3

Tampilan Form Pilih Map dapat dilihat pada Gambar 4.5

Gambar 4.5 Form Pilih Map

4.1.4.1 Map1

Form Map 1 akan muncul apabila User memilih map 1 pada Menu Pilih map. Tampilan Arena

Permainan yang muncul dapat dilihat pada Gambar 4.6

Gambar 4.6 Form Arena Permainan Map 1

Universitas Sumatera Utara

Page 59: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

48

4.1.4.2 Map 2

Form Map 2 akan muncul apabila User memilih map 2 pada Menu Pilih map. Tampilan Arena

Permainan yang muncul dapat dilihat pada Gambar 4.7

Gambar 4.7 Form Arena Permainan Map 2

4.1.4.3 Map 3

Form Map 2 akan muncul apabila User memilih map 2 pada Menu Pilih map. Tampilan Arena

Permainan yang muncul dapat dilihat pada Gambar 4.8

Gambar 4.8 Form Arena Permainan Map 3

Universitas Sumatera Utara

Page 60: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

49

4.2 Pengujian Sistem

Pengujian untuk sistem implemmentasi algoritma Backtracking dalam penyelesaian game

elena puzzle ini dilakukan untuk dapat melihat apakah agen kecerdasan buatan dapat

menyelesaikan puzzle dengan benar sesuai dengan pentunjuk yang diberikan.

4.2.1 Pengujian Backtrack Map 1

Sebelum melakukan proses Backtrack user harus memilih Map 1 dan kemudian menekan

tombol Backtrack pada halaman yang tersedia.

Berikut adalah tampilan ketika backtrack dijalankan dapat dilihat pada Gambar 4.9

Gambar 4.9 Tampilan Map 1 Ketika Backtrack dijalankan

Ketika Backtrack dijalankan maka agen kerdasan buatan akan mengisi arena permainan

dan mencatat kordinat warna yang di isi pada bagian kanan Map. Agen kecerdasan buatan akan

mengisi arena permainan dari kotak 1 sampai dengan kotak 18 kemudian dilanjutkan dari kotak

36 sampai kotak 19, jika masih belum di temukan jawaban yang benar maka agen kercerdasan

agan mengganti langkah terakhir dengan warna yang lain dan memulai pencarian kembali dari

kotak 1 sampai di temukan jawaban yang benar. Ketika jawaban sudah benar maka pencarian

Universitas Sumatera Utara

Page 61: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

50

akan berhenti dan akan muncul Pop-up Window yang menyatakan jawaban sudah benar seperti

yang di tunjukan pada Gambar 4.10.

Gambar 4.10 Tampilan Pop-up window jawaban benar Map 1

Ketika kita menghilangkan pop-up window kita dapat melihat solusi yang telah di isi

oleh agen kecerdasan buatan, Solusi dari Map 1 dapat dilihat pada gambar 4.11 berikut.

Gambar 4.11 Tampilan Solusi Map 1

Universitas Sumatera Utara

Page 62: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

51

Pada pengujian diatas waktu yang dibutuhkan oleh agen kecerdasan buatan untuk

mengisi dengan benar Map 1 sekitar 10 jam, hal ini disebabkan karena banyaknya solusi yang

memungkin kan untuk diisi oleh agen kecerdasan buatan, tetapi jika kita memberi bantuan

tambahan dengan mengisi warna biru pada kotak nomor 12 maka waktu yang dibutuhkan oleh

agen kecerdasan buatan hanya sekitar 1 menit.

4.2.2 Pengujian Backtrack Map 2

Sebelum melakukan proses Backtrack user harus memilih Map 2 dan kemudian menekan

tombol Backtrack pada halaman yang tersedia.

Berikut adalah tampilan ketika backtrack dijalankan dapat dilihat pada Gambar 4.12

Gambar 4.12 Tampilan Map 2 Ketika Backtrack dijalankan

Ketika Backtrack dijalankan maka agen kerdasan buatan akan mengisi arena permainan

dan mencatat kordinat warna yg di isi pada bagian kanan Map. Agen kecerdasan buatan akan

mengisi arena permainan dari kotak 1 sampai dengan kotak 18 kemudian dilanjutkan dari kotak

36 sampai kotak 19, jika masih belum di temukan jawaban yang benar maka agen kercerdasan

agan mengganti langkah terakhir dengan warna yang lain dan memulai pencarian kembali dari

kotak 1 sampai di temukan jawaban yang benar. Ketika jawaban sudah benar maka pencarian

Universitas Sumatera Utara

Page 63: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

52

akan berhenti dan akan muncul Pop-up Window yang menyatakan jawaban sudah benar seperti

yang di tunjukan pada Gambar 4.13.

Gambar 4.13 Tampilan Pop-up window jawaban benar Map 2

Ketika kita menghilang kan pop-up window kita dapat melihat solusi yang telah di isi

oleh agen kecerdasan buatan, Solusi dari Map 2 dapat dilihat pada gambar 4.14 berikut.

Gambar 4.14 Tampilan Solusi Map 2

Universitas Sumatera Utara

Page 64: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

53

Pada pengujian diatas waktu yang dibutuhkan oleh agen kecerdasan buatan untuk

mengisi dengan benar Map 2 sekitar 24 jam, hal ini disebabkan karena banyaknya solusi yang

memungkin kan untuk diisi oleh agen kecerdasan buatan, tetapi jika kita memberi bantuan

tambahan dengan mengisi warna merah pada kotak nomor 3 dan warna kuning pada kotak

nomor 15 maka waktu yang dibutuhkan oleh agen kecerdasan buatan hanya sekitar 15 menit.

4.2.3 Pengujian Backtrack Map 3

Sebelum melakukan proses Backtrack user harus memilih Map 3 dan kemudian menekan

tombol Backtrack pada halaman yang tersedia.

Berikut adalah tampilan ketika backtrack dijalankan dapat dilihat pada Gambar 4.15

Gambar 4.15 Tampilan Map 3 Ketika Backtrack dijalankan

Ketika Backtrack dijalankan maka agen kerdasan buatan akan mengisi arena permainan

dan mencatat kordinat warna yg di isi pada bagian kanan Map. Agen kecerdasan buatan akan

mengisi arena permainan dari kotak 1 sampai dengan kotak 18 kemudian dilanjutkan dari kotak

36 sampai kotak 19, jika masih belum di temukan jawaban yang benar maka agen kercerdasan

agan mengganti langkah terakhir dengan warna yang lain dan memulai pencarian kembali dari

kotak 1 sampai di temukan jawaban yang benar. Ketika jawaban sudah benar maka pencarian

Universitas Sumatera Utara

Page 65: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

54

akan berhenti dan akan muncul Pop-up Window yang menyatakan jawaban sudah benar seperti

yang di tunjukan pada Gambar 4.16.

Gambar 4.16 Tampilan Pop-up window jawaban benar Map 3

Ketika kita menghilang kan pop-up window kita dapat melihat solusi yang telah di isi

oleh agen kecerdasan buatan, Solusi dari Map 2 dapat dilihat pada gambar 4.17 berikut.

Gambar 4.17 Tampilan Solusi Map 3

Universitas Sumatera Utara

Page 66: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

55

Pada pengujian diatas waktu yang dibutuhkan oleh agen kecerdasan buatan untuk

mengisi dengan benar Map 3 sekitar 18 jam, hal ini disebabkan karena banyaknya solusi yang

memungkin kan untuk diisi oleh agen kecerdasan buatan, tetapi jika kita memberi bantuan

tambahan dengan mengisi warna biru pada kotak nomor 6 maka waktu yang dibutuhkan oleh

agen kecerdasan buatan hanya sekitar 15 menit.

Universitas Sumatera Utara

Page 67: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan studi literalur, analisis, perancangan implementasi dan pengujian sistem

untuk implementasi algoritma backtracking dalam penyelesaian game elena puzzle maka

diperoleh kesimpulan sebagai berikut.

1. Algoritma backtrack dapat diterapkan oleh Agen Kecerdasan Buatan untuk

menemukan solusi yang benar tetapi membutuhkan waktu yang lama.

2. Kercerdasan buatan dengan algoritma backtrack ini dapat menyelsaikan Map 1 dengan

waku sekitar 1 menit jika dibantu dengan meletakkan warna biru pada kotak nomor 12

3. Kercerdasan buatan dengan algoritma backtrack ini dapat menyelsaikan Map 2 dengan

waku sekitar 15 menit jika dibantu dengan meletakkan warna merah pada kotak nomor

3 dan warna kuning pada kotak nomor 15

4. Kercerdasan buatan dengan algoritma backtrack ini dapat menyelsaikan Map 3 dengan

waku sekitar 10 menit jika dibantu dengan meletakkan warna biru pada kotak nomor 6

5.2 Saran

Adapun saran untuk pengembangan dan perbaikian dari sistem ini adalah :

1. Menambahkan fitur untuk Meng-generate Map agar Map yang di mainkan lebih

bervariasi.

2. Membuat antarmuka yg lebih menarik dengan animasi yang lebih baik.

3. Menambahkan Sound Effect dan Background Sound agar aplikasi menjadi lebih

menarik.

4. Menggunakan algoritma yang lebih baik dan lebih efisien agar pencarian solusi menjadi

lebih cepat dibandingkan dengan algoritma backtack.

5. Mengembangkan aplikasi pada platform yang berbeda

Universitas Sumatera Utara

Page 68: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

14

DAFTAR PUSTAKA

Aho, A. V., Hopcroft, J. E., dan Ullman, J. D. 1974. The Design And Analysis Of Computer

Algorithms. USA: Addison-Wesley Publishing Company

Aho, A. V., Hopcroft, J. E., dan Ullman, J. D. 1983. Data Structures and Algorithms. USA:

Addison-Wesley Publishing Company

Bakri, A. H. 2010. Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Congklak.

Skripsi. Medan: Universitas Sumatera Utara.

Kusumadewi, S. 2003. Artificial Intelligence. Edisi Pertama. Yogyakarta: Graha Ilmu.

Kuswadi. Son. 2007. Kendali Cerdas Teori dan Aplikasi Praktisnya. Yogyakarta: ANDI.

Marbun, I.I. 2012. Permainan Word Search Puzzle Pada Android Menggunakan Algoritma

Backtraking, Skripsi. Medan: Universitas Sumatera Utara.

phibrainkaminopuzzle.wikia. 2014. Welcome to the Queen's Kingdom. (Online). Tersedia :

http://phibrainkaminopuzzle.wikia.com/wiki/Welcome_to_the_Queen%27s_Kingdom. [1

Desember 2014]

Sembiring, H. 2015. Penerapan Algoritma Backtracking Pada Perancangan Line Maze Solver

Robotic Berbasis Mikrokontroler. Skripsi. Medan : Universitas Sumatera Utara

Utari, D. 2011. Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Hangman.

Skripsi. Medan : Universitas Sumatera Utara.

Wardani, W. & Savitri, D. I. 2005. Analisis Penerapan Algoritma Backtracking Dalam Pencarian

Solusi Game “Crossword Puzzle”.

Universitas Sumatera Utara

Page 69: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

58

LAMPIRAN

LAMPIRAN LISTING PROGRAM

Public Overrides Sub Update(ByRef MenuMain As MainMenuState, ByRef PilihMap As SubMenuState) If StateBacktracking = StateBackTrack.Finish Then If notifsukses Then MsgBox("Puzzle Benar") notifsukses = False End If For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 If i = 0 Or i = 7 Or j = 0 Or j = 7 Then kotak(i, j).invunerable = True Else kotak(i, j).invunerable = True End If Next Next End If If StateBacktracking = StateBackTrack.Running Then If notifsukses = False Then notifsukses = True For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 If i = 0 Or i = 7 Or j = 0 Or j = 7 Then kotak(i, j).invunerable = True Else kotak(i, j).invunerable = False End If Next Next End If End If T += Waktu.ElapsedGameTime.TotalMilliseconds For Each m In Menu m.Update(m.Tekstur2D) Next For Each m In Menu If m.IsActivated Then If m.Value = 0 Then MenuMain = MainMenuState.Menu PilihMap = SubMenuState.NoMap End If If m.Value = 1 Then StateBacktracking = StateBackTrack.Running End If End If Next If StateBacktracking = StateBackTrack.Null Then If PilihMap = SubMenuState.Map1 Then For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 kotak(i, j).value = map1(i, j) kotak_hint(i, j).value = solusimap1(i, j)

Universitas Sumatera Utara

Page 70: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

59

Next Next mapaktif = activemap.map1 StateBacktracking = StateBackTrack.StandBy End If If PilihMap = SubMenuState.Map2 Then For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 kotak(i, j).value = map2(i, j) kotak_hint(i, j).value = solusimap2(i, j) Next Next mapaktif = activemap.map2 StateBacktracking = StateBackTrack.StandBy End If If PilihMap = SubMenuState.Map3 Then For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 kotak(i, j).value = map3(i, j) kotak_hint(i, j).value = solusimap3(i, j) Next Next mapaktif = activemap.map3 StateBacktracking = StateBackTrack.StandBy End If End If For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 If (i > 0 And i < 7) And (j > 0 And j < 7) Then If kotak(i, j).invunerable = False Then kotak(i, j).value = mouseklik(kotak(i, j).kordinat, kotak(i, j).value) End If End If Next Next If StateBacktracking = StateBackTrack.Running Then timerun += Waktu.ElapsedGameTime.TotalMinutes GPScript.langkahawal(kotak) If T > tempo Then warnaVal += 1 If warnaVal > 3 Then warnaVal = 0 End If If (baris >= 0 And kolom >= 0) Then If Not kotak(baris, kolom).checked And Not kotak(baris, kolom).invunerable Then kotak(baris, kolom).value = warnaVal onepoint = GPScript.onepoint(New Vector2(baris, kolom), kotak, warnaVal) ceksektor = GPScript.ceksektor(New Vector2(baris, kolom), warnaVal, kotak) If onepoint And ceksektor Then

Universitas Sumatera Utara

Page 71: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

60

kotak(baris, kolom).checked = True If Not templis.Contains(New Vector2(baris, kolom)) Then templis.Add(New Vector2(baris, kolom)) End If End If End If End If If warnaVal = 0 Then If HAtas Then kolom += 1 If kolom > 6 Then kolom = 1 baris += 1 If baris > 3 Then HAtas = False kolom = 6 baris = 6 End If End If Else kolom -= 1 If kolom < 1 Then kolom = 6 baris -= 1 If baris < 4 Then HAtas = True kolom = 1 baris = 1 End If If baris = 1 And kolom = 1 Then If templis.Count = Rtemp Then baris = templis(templis.Count - 1).X kolom = templis(templis.Count - 1).Y If baris < 4 Then HAtas = True Else HAtas = False End If warnaVal = kotak(baris, kolom).value kotak(baris, kolom).checked = False templis.RemoveAt(templis.Count - 1) End If Rtemp = templis.Count End If End If End If End If End If End If If T > tempo Then T = 0 End If GPScript.cek_akhir(StateBacktracking, mapaktif, kotak, map1, solusimap1, solusimap2, solusimap3)

Universitas Sumatera Utara

Page 72: IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN

61

If KeyboardStateAfter.IsKeyDown(Keys.C) Then hint_aktif = True Else hint_aktif = False End If

End Sub

Universitas Sumatera Utara