Perancangan Permainan Word Ladder Menggunakan Algoritma Depth First Search Pada Android

(1)

PERANCANGAN PERMAINAN

WORD LADDER

MENGGUNAKAN

ALGORITMA

DEPTH FIRST SEARCH

PADA ANDROID

SKRIPSI

RAFIQA ULFAH RANGKUTI

091402040

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

PERANCANGAN PERMAINAN

WORD LADDER

MENGGUNAKAN

ALGORITMA

DEPTH FIRST SEARCH

PADA ANDROID

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

RAFIQA ULFAH RANGKUTI 091402040

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Judul : PERANCANGAN PERMAINAN WORD LADDER

MENGGUNAKAN ALGORITMA DEPTH FIRST SEARCH PADA ANDROID

Kategori : SKRIPSI

Nama : RAFIQA ULFAH RANGKUTI

Nomor Induk Mahasiswa : 091402040

Program Studi : SARJANA (S-1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 17 April 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Sarah Purnamawati, ST. M.Sc Mohammad Fadly Syahputra, M.Sc NIP 19830226 201012 2 003 NIP 19830129 200912 1 003

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Prof. Dr. Opim Salim Sitompul, M.Sc. NIP 19610817 198701 1 001


(4)

PERNYATAAN

PERANCANGAN PERMAINAN WORD LADDER MENGGUNAKAN ALGORITMA DEPTH FIRST SEARCH PADA ANDROID

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 17 April 2014

Rafiqa Ulfah Rangkuti 091402040


(5)

PENGHARGAAN

Alhamdulillah segala puji dan syukur saya sampaikan kehadirat Allah SWT beserta Nabi Besar Muhammad SAW yang telah memberikan rahmat, hidayah-Nya, segala daya dan upaya sehingga saya dapat menyelesaikan skripsi ini untuk memperoleh gelar Sarjana Program Studi S-1 Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada:

1. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc dan Drs. Sawaluddin, M.IT selaku Ketua dan Sekretaris Departemen Teknologi Informasi. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, dan semua dosen serta pegawai di Program Studi S-1 Teknologi Informasi.

2. Bapak Mohammad Fadly Syahputra, B.Sc, M.Sc, IT selaku pembimbing pertama saya dan Ibu Sarah Purnawati, ST., M.Sc selaku pembimbing kedua saya yang telah banyak meluangkan waktunya dan memberikan masukan-masukan yang bermanfaat bagi penulis dalam menyelesaikan skripsi ini. 3. Bapak Drs. Sawaluddin, M.IT dan Bapak Dr. Syahril Efendi, S.Si, M.IT yang

telah bersedia menjadi dosen penguji dan telah memberikan saran-saran yang baik bagi penulis dalam menyelesaikan skripsi ini.

4. Ibunda Dra. Rahlina Muskar Nasution, M.Hum dan Ayahanda Drs. H. Faisal Rangkuti yang telah memberikan pelajaran hidup yang berguna bagi saya dari saya kecil dan selalu sabar dalam mendidik saya. Abang saya Fakhrizal Mukhtar Rangkuti dan adik saya Muhammad Irfan Luthfi Rangkuti yang selalu memberikan saya motivasi yang baik dan terus mendukung saya.

5. Sahabat saya Nurhasnah, Nurhasni, Dini Seftiani, Muhammad Fachry, dan Asnan Kholidien yang selalu mendukung saya. Teman masa kecil yang selalu memberi saya semangat Faddy Firdaus dan juga sepupu saya Zahrina Rahmaini Dalimunthe yang selalu memberikan masukan untuk saya.

6. Teman-teman seperjuangan yang selalu mendukung saya dan membantu saya selama belajar di Program Studi Teknologi Informasi yaitu Amira Akhmad Nasution, Alvin Rizki, Umaya Ramadhani Putri Nst, Jihan Meutia Fauzen, Annifa Iqramitha, Nurul Fadhlia, Lydia Alissa, T. Fadhilah Hasyim, Fadil Haryudi, dan M. Fadhlullah.

7. Guru-guru saya dari TK, SD, SMP, dan MAN, yang telah mendidik saya tanpa kenal lelah serta orang-orang yang telah berbagi ilmu dengan saya.

Sekali lagi penulis mengucapkan terima kasih kepada semua pihak yang membantu dalam penyelesaian tugas akhir ini yang tidak dapat disebutkan satu persatu, terima kasih atas masukan, saran dan motivasi yang diberikan.


(6)

ABSTRAK

Permainan word ladder merupakan permainan membentuk rantai kata dengan cara mencari sebuah kata baru yang hanya berbeda satu huruf dari kata sebelumnya. Algoritma pencarian depth first search dapat diterapkan pada aplikasi agar dapat melakukan pencarian kata. Algoritma depth first search merupakan metode pencarian pada struktur pohon dengan menelusuri suatu cabang pohon secara mendalam hingga ditemukannya solusi. Aplikasi yang dibangun bertujuan untuk membantu pemain dalam mencari kata yang tepat untuk membentuk sebuah rantai kata dalam permainan word ladder. Hasil yang diperoleh dari aplikasi yang dibangun menunjukkan bahwa algoritma depth first search mampu memberikan penyelesaian permainan word ladder dengan baik.


(7)

WORD LADDER GAME DESIGN USING DEPTH FIRST SEARCH ALGORITHM ON ANDROID

ABSTRACT

Word ladder is a game to make a word chain by search a new word from the previous word with only differ by one letter. Depth first search algorithm can be implemented into an application to search the words. Depth first search algorithm is a searching method on tree structure by explore a branch of tree deeply until the solution is found. The application is built to help the player in finding the right words to make a word chain in the word ladder game. The result obtained from the application built shows that depth first search algorithm can give a good solution for the game.


(8)

DAFTAR ISI

Halaman

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSTRAK iv

ABSTRACT v

DAFTAR ISI vi

DAFTAR TABEL viii

DAFTAR GAMBAR ix

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 4

BAB 2 TINJAUAN PUSTAKA 6

2.1 Kecerdasan Buatan 6

2.1.1 Bidang Terapan Kecerdasan Buatan 7

2.2 Pemainan (Game) 8

2.3 Word Ladder 9

2.4 Android 11

2.4.1 Arsitektur Android 13 2.5 Client Server 15

2.6 Algoritma Depth First Search 15

2.7 Penelitian Terdahulu 16

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 20

3.1 Analisis Sistem 20

3.1.1 Analisis Permainan Word Ladder 20 3.1.2 Analisis Algoritma Depth First Search pada Permainan Word

Ladder 21 3.2 Perancangan Sistem 23

3.2.1 Perancangan Alur Aplikasi 25

3.2.2 Pemodelan Visual dengan UML 28 3.2.3 Perancangan Antarmuka Aplikasi 39

3.2.4 Perancangan Database 44


(9)

4.1 Implementasi 46

4.1.1 Spesifikasi Perangkat Lunak 46

4.1.2 Spesifikasi Perangkat Keras 47

4.1.3 Hasil Eksekusi Aplikasi 47

4.2 Pengujian 54

4.2.1 Pengujian Aplikasi 54

4.2.2 Pengujian Algoritma 59 4.2.3Pengujian Aspek Antarmuka Aplikasi 61 4.2.4 Pengujian Aspek Penggunaan Aplikasi 64 BAB 5 KESIMPULAN DAN SARAN 67

5.1 Kesimpulan 67

5.2 Saran 67

DAFTAR PUSTAKA 69

LAMPIRAN A : KODING PROGRAM 71


(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Penelitian Terdahulu 18

Tabel 3.1 Dokumentasi Naratif Use Case Mulai Permainan 30 Tabel 3.2 Dokumentasi Naratif Use Case Input Nama 30 Tabel 3.3 Dokumentasi Naratif Use Case Pilih Level 31 Tabel 3.4 Dokumentasi Naratif Use Case Pilih Soal 31 Tabel 3.5 Dokumentasi Naratif Use Case Mencari Kata 32 Tabel 3.6 Dokumentasi Naratif Use Case Hapus Jawaban 33 Tabel 3.7 Dokumentasi Naratif Use Case Lihat Solusi 33 Tabel 3.8 Dokumentasi Naratif Use Case Kembali Ke Halaman Level 34 Tabel 3.9 Dokumentasi Naratif Use Case Kembali Ke Menu Utama 34 Tabel 3.10 Dokumentasi Naratif Use Case Petunjuk 35 Tabel 3.11 Dokumentasi Naratif Use Case Tentang 35 Tabel 3.12 Dokumentasi Naratif Use Case Keluar 36 Tabel 4.1 Rencana Pengujian Sistem 55 Tabel 4.2 Hasil Pengujian pada Halaman Menu Utama 55 Tabel 4.3 Hasil Pengujian pada Halaman Pilih Level 56 Tabel 4.4 Hasil Pengujian pada Halaman Soal 57 Tabel 4.5 Hasil Pengujian pada Halaman Permainan 57 Tabel 4.6 Hasil Pengujian pada Halaman Petunjuk 59 Tabel 4.7 Hasil Pengujian pada Halaman Tentang 59

Tabel 4.8 Hasil Pengujian Algoritma 61

Tabel 4.9 Hasil Kuesioner Aspek Antarmuka Aplikasi 62 Tabel 4.10 Hasil Kuesioner Aspek Penggunaan Aplikasi 64


(11)

DAFTAR GAMBAR

Halaman Gambar 2.1 Beberapa Definisi Kecerdasan Buatan 6

Gambar 2.2 Word Ladder 10

Gambar 2.3 Word Ladder pada Mobile Game 11

Gambar 2.4 Arsitektur Android 13

Gambar 2.5 Pohon Ruang Status 16

Gambar 3.1 Pohon Ruang Solusi Permainan Word Ladder 22 Gambar 3.2 Konsep Aplikasi Android Client Server 24 Gambar 3.3 Flowchart Aplikasi Permainan Word Ladder 26

Gambar 3.4 Flowchart Menu Solusi 27

Gambar 3.5 Diagram Use Case Permaian Word Ladder 29 Gambar 3.6 Diagram Activity Mulai Permainan 37

Gambar 3.7 Diagram Activity Petunjuk 38

Gambar 3.8 Diagram Activity Tentang 38

Gambar 3.9 Diagram Activity Keluar 39

Gambar 3.10 Tampilan Antarmuka Halaman Menu Utama 40 Gambar 3.11 Tampilan Antarmuka Halaman Level 40

Gambar 3.12 Tampilan Antarmuka Halaman Soal 41 Gambar 3.13 Tampilan Antarmuka Halaman Permainan 42 Gambar 3.14 Tampilan Antarmuka Menu pada Halaman Permainan 42 Gambar 3.15 Tampilan Antarmuka Halaman Petunjuk 43 Gambar 3.16 Tampilan Antarmuka Halaman Tentang 44

Gambar 3.17 Tabel Kata pada Database 45

Gambar 4.1 Tampilan Halaman Menu Utama 47

Gambar 4.2 Tampilan Textbox pada Alert Dialog 48

Gambar 4.3 Tampilan Halaman Pilih Level 48

Gambar 4.4 Tampilan Halaman Soal 50

Gambar 4.5 Tampilan Halaman Permainan 51

Gambar 4.6 Tampilan Menu pada Halaman Permainan 51

Gambar 4.7 Tampilan Menu Solusi 52 Gambar 4.8 Tampilan Saat Permaianan Berakhir 53

Gambar 4.9 Tampilan Halaman Petunjuk 53

Gambar 4.10 Tampilan Halaman Tentang 54

Gambar 4.11 Solusi BUKU-BARU 60

Gambar 4.12 Solusi BENAR-SALAH 60


(12)

ABSTRAK

Permainan word ladder merupakan permainan membentuk rantai kata dengan cara mencari sebuah kata baru yang hanya berbeda satu huruf dari kata sebelumnya. Algoritma pencarian depth first search dapat diterapkan pada aplikasi agar dapat melakukan pencarian kata. Algoritma depth first search merupakan metode pencarian pada struktur pohon dengan menelusuri suatu cabang pohon secara mendalam hingga ditemukannya solusi. Aplikasi yang dibangun bertujuan untuk membantu pemain dalam mencari kata yang tepat untuk membentuk sebuah rantai kata dalam permainan word ladder. Hasil yang diperoleh dari aplikasi yang dibangun menunjukkan bahwa algoritma depth first search mampu memberikan penyelesaian permainan word ladder dengan baik.


(13)

WORD LADDER GAME DESIGN USING DEPTH FIRST SEARCH ALGORITHM ON ANDROID

ABSTRACT

Word ladder is a game to make a word chain by search a new word from the previous word with only differ by one letter. Depth first search algorithm can be implemented into an application to search the words. Depth first search algorithm is a searching method on tree structure by explore a branch of tree deeply until the solution is found. The application is built to help the player in finding the right words to make a word chain in the word ladder game. The result obtained from the application built shows that depth first search algorithm can give a good solution for the game.


(14)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Bahasa merupakan alat komunikasi yang memiliki peranan penting dalam kehidupan sehari-hari. Dengan bahasa, manusia dapat saling berhubungan antara manusia yang satu dengan yang lainnya. Dalam berbahasa, penggunaan dan penguasaan kata-kata yang baik dapat mempermudah seseorang untuk berkomunikasi. Makin banyak seseorang menguasai kosakata, makin banyak gagasan yang dapat diungkapkannya (Hikmayana, 2013). Menurut Tarigan (1997) kualitas keterampilan berbahasa seseorang tergantung pada kuantitas kosakata yang dimilikinya. Sehingga,dapat dikatakan bahwa penguasaan kosakata merupakan salah satu hal yang sangat penting dalam pembelajaran bahasa (Rofiq, 2009). Salah satu cara untuk mempelajari kosakata bahasa dengan mudah ialah melalui permainan. Ada banyak jenis permainan yang dapat dibuat untuk pembelajaran bahasa, salah satunya adalah permainan word ladder yang juga dikenal dengan doublets, word-links, atau word golf.

Permainan word ladder diciptakan oleh Lewiss Carroll pada tahun 1878, merupakan salah satu permainan kata sederhana. Permainan word ladder dimulai dengan dua kata, dan untuk menyelesaikannya harus menemukan rantai kata dari kata lain untuk menghubungkan keduanya, dimana dua kata yang berdekatan dibedakan oleh satu huruf (Haunsperger & Kennedy , 2006). Permainan ini banyak membutuhkan kosakata, karena para pemain dituntut untuk mempelajari kosakata baru.

Adanya perkembangan teknologi pada saat ini membuat permainan tradisional dapat dikembangkan menjadi lebih modern yakni dengan membuatnya ke dalam bentuk permainan elektronik atau yang lebih dikenal dengan game. Pengembangan ini membuat permainan atau game menjadi lebih menarik karena terdapat elemen-elemen


(15)

seperti visual, audio, dan interaksi, sehingga game memiliki banyak peminat mulai dari anak-anak hingga orang dewasa (Wibawa, 2010). Tak hanya itu, game juga dikembangkan ke dalam bentuk mobile, yakni game yang dapat dimainkan pada mobile phone, smartphone, PDA, ataupun komputer tablet. Salah satu media game mobile yang sangat populer akhir-akhir ini ialah smartphone dengan sistem operasi android.

Android adalah sistem operasi berbasis Java yang dijalankan pada kernel Linux 2.6 (DiMarzio, 2008). Android merupakan platform open source yang dirancang untuk perangkat mobile (Gargenta, 2011). Android diakuisisi oleh Google pada tahun 2005, lalu membentuk Open Handset Alliance sebagai upaya untuk mengembangkan Android (Hermawan, 2011). Karena bersifat open source, aplikasi android banyak dikembangkan secara luas, ini menjadi salah satu alasan penulis untuk membuat game word ladder berbasis android.

Permainan word ladder membutuhkan pencarian kata yang tepat dari sekumpulan daftar kata dalam jumlah yang besar. Sehingga, sering kali pemain merasa kesulitan untuk menyelesaikan permainan ini. Adanya perkembangan teknologi saat ini memungkinkan permainan word ladder dapat diselesaikan oleh komputer dengan menerapkan prinsip kecerdasan buatan yakni dengan menggunakan sebuah pendekatan yang biasa disebut dengan algoritma. Algoritma merupakan suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya (Suarga, 2006).

Algoritma depth first search diajukan untuk penelitian ini karena algoritma ini memiliki penggunaan memori dan kompleksitas waktu yang lebih baik karena hanya simpul-simpul yang aktif saja yang disimpan. Selain itu, jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka akan cepat ditemukan (Cormen et al, 2009). Algoritma depth first search merupakan metode pencarian di dalam ruang solusi berbentuk pohon dengan menelusuri suatu simpul yang paling kiri pada setiap level hingga ditemukannya solusi. Algoritma ini telah dipakai untuk permainan scramble (Sabdifha, 2010), permainan pairs (Atrinawati, 2007), permainan maze (Charifa, 2011), permainan puzzle hashiwokakero (Pratiwi et al, 2011), dan permainan othello (Handayani, 2012).


(16)

1.2.Rumusan Masalah

Permainan word ladder membutuhkan pencarian kata yang tepat dari sekumpulan daftar kata dalam jumlah yang besar. Namun, terdapat kesulitan untuk menemukan kata yang tepat tersebut, yakni kata yang hanya dibedakan oleh satu huruf dari kata sebelumnya, untuk membentuk sebuah word ladder.

Dari latar belakang tersebut maka masalah yang dapat dirumuskan ialah: Dibutuhkan suatu teknik atau pendekatan dalam pencarian kata pada permainan word ladder agar dapat membantu pemain dalam menemukan kata yang sesuai untuk membentuk sebuah word ladder.

1.3.Batasan Masalah

Dari permasalahan yang ada maka batasan-batasan dalam penelitian ini adalah:

1. Aplikasi permainan yang dibangun hanya dapat dimainkan oleh satu orang pemain (single player).

2. Permainan ini menggunakan kata dasar dalam bahasa Indonesia.

3. Permainan ini terdiri dari tiga level, yakni level pertama terdiri dari lima soal dengan kata yang berjumlah empat huruf, level kedua terdiri dari lima soal dengan kata yang berjumlah lima huruf dan level ketiga terdiri dari lima soal dengan kata yang berjumlah enam huruf.

4. Daftar kata yang digunakan berasal dari KBBI.

5. Algoritma depth first search digunakan untuk melakukan pencarian kata. 6. Algoritma depth first search tidak dibandingkan dengan algoritma lain.

7. Aplikasi permainan word ladder hanya dapat dimainkan jika terhubung dengan internet.

1.4. Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk menerapkan algoritma depth first search dalam pencarian kata yang dapat membantu menemukan solusi pada permainan word ladder pada perangkat yang memiliki sistem operasi android.


(17)

1.5. Manfaat Penelitian

Manfaat yang diharapkan dari penelitian ini antara lain sebagai berikut : 1. Sebagai media pembelajaran bahasa Indonesia bagi masyarakat. 2. Membantu meningkatkan pengetahuan kosakata bahasa Indonesia.

3. Menerapkan ilmu pengetahuan yang diperoleh penulis selama masa perkuliahan.

4. Menambah wawasan pengetahuan serta pemahaman penulis tentang algoritma depth first search.

1.6.Metodologi Penelitian

Adapun metodologi yang dilakukan dalam penelitian ini antara lain: 1. Studi Literatur

Pada tahap ini, penulis mencari referensi-referensi, buku-buku, ataupun informasi via internet yang terkait dengan permasalahan yang sedang diteliti. 2. Desain Sistem

Pada tahap ini, penulis membuat rancangan flowchart, rancangan database, dan desain interface dari sistem tersebut.

3. Pembuatan Sistem

Pada tahap ini, penulis telah memulai pengkodean dari sistem yang akan dibuat dengan menggunakan bahasa pemrograman Java.

4. Pengujian Sistem

Pada tahap ini, penulis melakukan pengujian dari sistem yang telah dibuat, memperbaiki kesalahan pemrograman, sampai sesuai dengan yang diharapkan. 5. Dokumentasi

Pada tahap ini, penulis menyusun laporan terhadap sistem yang telah dibuat.

1.7 Sistematika Penulisan


(18)

BAB I. PENDAHULUAN

Pada bab ini membahas tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodelogi penelitian, serta sistematika penulisan penelitian.

BAB II. TINJAUAN PUSTAKA

Pada bab ini menguraikan teori-teori yang mendasari masalah yang diteliti, serta penelitian-penelitian yang pernah dilakukan sebelumnya.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini diuraikan tentang analisis algoritma depth first search pada permainan word ladder serta rancangan aplikasi permainan word ladder.

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Pada bab ini akan dibahas tentang implementasi dari analisis yang telah dilakukan pada aplikasi yang telah dibuat serta hasil pengujian dari aplikasi tersebut

BAB V. PENUTUP

Pada bab ini dibahas bagaimana kesimpulan yang didapat berdasarkan pembahasan bab yang ada sebelumnya dan juga berisi saran-saran yang digunakan sebagai pengembangan di masa yang datang bagi pembaca sebagai bahan referensi.


(19)

BAB 2

TINJAUAN PUSTAKA

Pada bab ini, akan dibahas landasan teori, penelitian terdahulu, kerangka pikir yang mendasari penyelesaian permasalahan searching dengan menggunakan algoritma depth first search.

2.1. Kecerdasan Buatan

Definisi kecerdasan buatan terbagi ke dalam dua dimensi utama dan empat kategori yang dapat dilihat pada Gambar 2.1 berikut.

Sistem yang berpikir seperti manusia Sistem yang berpikir secara rasional “Upaya baru yang menarik untuk menjadikan

komputer berfikir ... mesin dengan fikiran, dalam arti sebenarnya dan literal.” (Haugeland, 1985)

“[Pengotomasian dari] aktifitas-aktifitas yang dikaitkan dengan fikiran manusia, aktifitas-aktifitas seperti pengambilan keputusan, pembelajaran, ... “ (Bellman,1978)

“Studi tentang kemampuan mental melalui penggunaan model-model komputasional “ (Chamiak dan McDermott, 1985)

“Studi tentang komputasi yang memungkinkan pengenalan, alasan, dan tindakan” (Winston, 1992)

Sistem yang bertindak seperti manusia Sistem yang bertindak secara rasional “Seni membuat mesin yang melakukan

fungsi-fungsi yang memerlukan kecerdasan apabila dilaksanakan oleh manusia” (Kurzweil, 1990)

“Studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat itu manusia melakukan dengan lebih baik” (Rich dan Knight, 1991)

“Kecerdasan Komputasional adalah studi tentang perancangan agen-agen cerdas” (Poole et al., 1998)

“AI...berkaitan dengan perilaku cerdas dalam artifak(karya seni)” (Nilsson,1998)

Gambar 2.1 Beberapa definisi kecerdasan buatan, diorganisasikan ke dalam empat kategori. (Sumber : Artificial Intelligence : A Modern Approach, 2010)


(20)

Pada bagian atas menunjukkan kecerdasan buatan yang menyangkut proses berpikir dan reasoning, sedangkan bagian bawah menunjukkan kecerdasan buatan yang menuju kepada proses bertindak. Definisi pada bagian kiri menunjukkan kecerdasan buatan yang mengukur keberhasilan dengan kebenaran pada kinerja manusia, sedangkan bagian kanan diukur bertentangan dengan konsep ideal kecerdasan, yang disebut rasionalitas (Russel & Norvig, 2010).

Tujuan utama dari kecerdasan buatan adalah membuat komputer untuk lebih berguna dan mengerti prinsip-prinsip yang memungkinkan untuk menjadi cerdas. Selain itu, tujuan dari kecerdasan buatan adalah untuk mengembangkan kerja sistem komputer yang benar-benar mampu melakukan tugas-tugas yang memerlukan kecerdasan tingkat tinggi (Kristanto, 2004).

2.1.1. Bidang terapan kecerdasan buatan

Kecerdasan buatan memiliki beberapa sub bidang terapan yang dapat dilihat sebagai berikut :

1. Sistem Pakar (Expert System)

Sistem pakar dibuat pada wilayah pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia di salah satu bidang. Sistem pakar mencoba mencari solusi yang memuaskan sebagaimana yang dilakukan seorang pakar.

2. Perencanaan (Planning) dan Robotik

Perencanaan merupakan sebuah aspek penting dalam usaha merancang robot yang mampu melaksanakan tugasnya sampai suatu derajat keluwesan dan keresponsifan tertentu. Salah satu cara yang digunakan dalam perencanaan adalah dengan komposisi hirarki. Pendekatan tersebut akan membatasi lingkup permasalahan yang dirunut secara efektif dan juga dapat digunakan untuk pemakaian di masa yang akan datang.

3. Permainan (Game)

Kebanyakan permainan dilakukan dengan mengggunakan sekumpulan aturan. Dalam permainan digunakan apa yang disebut dengan pencarian ruang keadaan (state space search). Permainan dapat menghasilkan


(21)

sejumlah besar pencarian ruang. Teknik yang menggeluti hal ini disebut heuristic.

4. Pemodelan Kinerja (Performance) Manusia

Pemodelan kinerja manusia telah terbukti merupakan alat yang sangat bermanfaat dalam merumuskan dan menguji teori-teori penerapan inderawi manusia.

5. Bahasa Alamiah (Natural Language), Pemodelan Semantik, dan Mesin yang Dapat Belajar (Learning Machine)

Salah satu tujuan jangka panjang Kecerdasan Buatan adalah pembuatan program yang memiliki kemampuan untuk memahami bahasa manusia. Tidak hanya kemampuan komputer dalam memahami bahasa alamiah saja yang tampaknya merupakan salah satu aspek dasar dari kecerdasan manusia, namun otomasi yang berhsail darinya juga memiliki pengaruh yang sangat besar pada kemampuan penggunaanya dan keefektifannya.

2.2.Permainan (Game)

Permainan atau game merupakan salah satu bidang terapan dalam kecerdasan buatan. Menurut Salen & Zimmerman (2003), game merupakan suatu sistem yang memiliki aturan-aturan tertentu dimana pemain akan terlibat di dalam suatu permasalahan sehingga dapat menghasilkan suatu hasil yang dapat diukur yaitu menang atau kalah.

Menurut Kusumadewi (2003), ada beberapa alasan mengapa game merupakan domain yang baik untuk dieksplor dalam bidang kecerdasan buatan, diantaranya :

1. Sangat mudah untuk menentukan ukuran kesuksesan dan kegagalannya (menang atau kalah).

2. Tidak membutuhkan terlalu banyak pengetahuan. Permainan dapat diselesaikan dengan melakukan pencarian dari arah start sampai posisi menang.

3. Ruang keadaannya mudah direpresentasikan.

4. Operator-operator yang digunakan tidak terlalu banyak. 5. Sebagian besar game dapat dimodelkan dengan mudah.


(22)

6. Sangat mungkin untuk dibandingkan dengan kemampuan manusia.

Perkembangan game yang kian melesat saat ini membuat permainan atau game menjadi lebih menarik karena terdapat elemen-elemen seperti visual, audio, dan interaksi, sehingga game memiliki banyak peminat mulai dari anak-anak hingga orang dewasa (Wibawa, 2010). Tak hanya itu, game juga dikembangkan ke dalam bentuk mobile atau biasa disebut game mobile. Game mobile adalah game yang dapat dimainkan pada mobile phone, smartphone, PDA, ataupun komputer tablet. Game mobile semakin digemari karena memiliki fleksibilitas atau mudah dibawa kemana-mana.

2.3. Word Ladder

Word ladder atau doublets adalah sebuah permainan kata sederhana yang diciptakan

oleh Lewis Carroll. Permainan ini pertama kali disebutkan sebagai “Word Links”

dalam buku harian Carroll pada tanggal 12 Maret 1878. Disebutkan bahwa dia telah menemukan permainan untuk dua gadis kecil yang sedang bosan di sebuah pesta makan malam, dia mengabarkannya dalam sebuah pamflet pada hari Natal tahun 1877 (Haunsperger & Kennedy , 2006).

Carroll mempublikasikan serial permainan word ladder dan penyelesaiannya,

yang kemudian disebutnya “doublets”, dalam majalah Vanity Fair pada tanggal 29

Maret 1879. Pada tahun 1879 percetakan Macmillan mengumpulkan artikel Vanity Fair menjadi sebuah buku berisi 39 halaman, dengan sampul kain berwarna merah, berjudul Doublets: A Word Puzzle.

Pada tahun 1880, edisi kedua telah ditambahkan menjadi 73 halaman. Pada tahun yang sama Macmillan menerbitkan edisi ketiga, yang telah direvisi dan ditambahkan menjadi 85 halaman. Carroll mengambil nama doublets dari penggalan mantra penyihir dalam karangan Shakespeare, Macbeth : Double, double, toil and troublepenggalan ini diletakkan Carroll pada halaman judul bukunya (Haunsperger & Kennedy , 2006).

Permainan ini merupakan permainan menyusun rantai kata yang dapat menghubungkan dua buah kata. Permainan word ladder dimulai dengan dua kata, dan untuk menyelesaikannya harus menemukan rantai kata dari kata lain untuk


(23)

menghubungkan keduanya, di mana dua kata yang berdekatan dibedakan oleh satu huruf (Haunsperger & Kennedy , 2006). Salah satu contoh permainan ini yang terdapat dalam majalah Vanity Fair pada 29 Maret 1879 dapat dilihat sebagai berikut:

Rise FOUR to FIVE

Untuk mengubah kata FOUR menjadi kata FIVE, maka penyelesaiannya adalah sebagai berikut.

Seiring berjalannya waktu, permainan ini dikembangkan agar menjadi bentuk yang lebih menarik dengan menambahkan gambar ilustrasi tangga seperti Gambar 2.2 berikut ini:

Gambar 2.2 Word Ladder

Dengan adanya perkembangan teknologi saat ini, permainan word ladder dikembangkan dalam bentuk permainan elektronik (game) sehingga lebih menarik dan bervariasi dengan tampilan antarmuka yang lebih baik.

Pengembangan permainan ini dalam bentuk permainan elektronik (game) dapat dilihat mulai dari permainan komputer (game PC), game online, hingga game mobile yang banyak diminati pada masa sekarang ini. Beberapa contoh permainan word ladder yang ada pada perangkat mobile tersebut dapat dilihat pada Gambar 2.3 berikut.


(24)

Gambar 2.3 Word Ladder pada Mobile Game

2.4. Android

Android adalah sistem operasi berbasis Java yang dijalankan pada kernel Linux 2.6 (DiMarzio, 2008). Android merupakan platform open source yang dirancang untuk perangkat mobile (Gargenta, 2011). Sistem operasi ini berjalan dengan memprioritaskan aplikasi inti yang dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak ketiga.

Android menawarkan sebuah lingkungan yang berbeda untuk pengembang. Setiap aplikasi memiliki tingkatan yang sama, tidak membedakan antara aplikasi inti dengan aplikasi pihak ketiga. Bahkan pengguna dapat menghapus aplikasi inti dan menggantinya dengan aplikasi pihak ketiga. Pada awalnya sistem operasi ini dikembangkan oleh Android Inc. lalu pada tahun 2005, perusahaan ini diakuisisi oleh Google (Hermawan , 2011).

Pada tahun 2007, Google membentuk Open Handset Alliance (OHA) sebagai upaya untuk mengembangkan Android, yakni sebuah konsorium dari beberapa perusahaan yaitu Texas Instruments, Broadcom Coorporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, NVDIA, Qualcomm, Samsung Electronics, Sprint Nextel, dan T-Mobile. Tujuan utama dibentuknya OHA adalah untuk mengembangkan standar terbuka untuk perangkat mobile.


(25)

Menurut Hermawan (2011), pengembangan sistem operasi dan aplikasi Android mengacu pada empat prinsip yakni:

1. Terbuka

Android dibangun untuk menjadi benar-benar terbuka. Sebagai contoh, sebuah aplikasi dapat mengambil dan mengakses fungsi-fungsi utama ponsel seperti membuat panggilan, mengirim pesan teks, bahkan menggunakan kamera. Hal ini memungkinkan para pengembang untuk membuat aplikasi yang lebih baik.

2. Semua Aplikasi Dibuat Sama

Android tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun dan memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka.

3. Mendobrak Batasan-Batasan Aplikasi

Android membuang berbagai hambatan untuk membangun aplikasi baru yang inovatif. Misalnya, seorang pengembang dapat menggabungkan informasi dari web dengan data individu dari ponsel seperti data kontak, kalender atau lokasi geografis. Sehingga memberikan informasi yang lebih relevan.

4. Pengembangan Aplikasi yang Cepat dan Mudah

Android menyediakan akses ke berbagai libraries dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.

Beberapa fitur yang tersedia pada Android antara lain: 1. Framework aplikasi

memungkinkan penggunaan dan pemindahan dari komponen yang tersedia.

2. Dalvik virtual machine

virtual machine yang dioptimalkan untuk perangkat mobile. 3. Grafik


(26)

grafik 2D dan grafik 3D yang didasarkan pada library OpenGL. 4. SQLite

untuk penyimpanan data.

5. Mendukung media audio, video, dan berbagai format gambar. 6. GSM, Bluetooth, EDGE, 3G, dan WiFi.

7. Kamera, GPS (Global Positioning System), Kompas, dan accelerometer.

8. Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging, dan plugin untuk Eclipse IDE.

2.4.1. Arsitektur android

Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti Gambar 2.4 berikut.


(27)

1. Applications

Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lainnya. Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman Java.

2. Application Framework

Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat mempublikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang digunakan untuk membangun UI, Content Provider yang memungkinkan aplikasi berbagi data, ResourceManager menyediakan akses bukan kode seperti grafik, string, dan layout, NotificationManager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan ActivityManager yang berguna mengatur daur hidup dari aplikasi.

3. Libraries

Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.

4. Android Runtime

Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine.


(28)

5. Linux Kernel

Android bergantung pada Linux kernel 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.

2.5. Client Server

Client server adalah salah satu model komunikasi 2 komputer atau lebih yang berfungsi melakukan pembagian tugas. Client bertugas untuk melakukan input, update, penghapusan, dan menampilkan data sebuah database. Sedangkan server bertugas menyediakan pelayanan untuk melakukan manajemen, yaitu menyimpan dan mengolah database (Wahana Komputer, 2010).

Ada beberapa model arsitektur client server, diantaranya adalah 1-Tier (standalone), 2-Tier, dan n-Tier. Arsitektur 1-Tier merupakan model dimana sebuah komputer mengakses sebuah database dari komputer sendiri. Dengan kata lain, aplikasi antarmuka user dan aplikasi database terdapat pada komputer yang sama.

Arsitektur 2-Tier merupakan model yang membagi tugas antara komputer client dan komputer server. Komputer client bertugas menyediakan antarmuka untuk user, permintaan data ke server, serta pemrosesan data. Komputer server bertanggung jawab terhadap penyimpanan, pengelolaan, serta melayani permintaan akses data.

Arsitektur n-Tier berarti membagi komponen menjadi n entitas, yaitu 1 tier client dan n-1 tier server. Bagian client bertugas menyediakan antarmuka aplikasi, sedangkan bagian server bertugas menyediakan data.

2.6. Algoritma Depth First Search

Ada banyak jenis algoritma yang digunakan untuk memecahkan berbagai permasalahan, salah satunya permasalahan pencarian atau searching. Salah satu algoritma yang digunakan untuk permasalahan ini adalah algoritma depth first search. Algoritma depth first search ditemukan pertama kali oleh Charles Pierre Trémaux pada abad ke-19 (Charifa, 2011).


(29)

Algoritma depth first search merupakan metode pencarian pada struktur pohon dengan menelusuri suatu cabang pohon secara mendalam hingga ditemukannya solusi.

Gambar 2.5 Pohon Ruang Status

Adapun langkah-langkah pencarian solusi algoritma depth first search ini umumnya adalah sebagai berikut:

1. Solusi dicari dengan cara menelusuri setiap simpul yang paling kiri dari setiap level.

2. Jika solusi tidak ditemukan dalam simpul kiri pada level yang paling dalam, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul kiri dapat dihapus dari memori.

3. Jika solusi tidak ditemukan pada level yang paling dalam, maka pencarian dilanjutkan pada level sebelumnya.

4. Ulangi langkah 1, 2, 3 hingga ditemukan solusi.

Kelebihan algoritma depth first search antara lain membutuhkan memori yang relatif kecil, karena hanya simpul pada lintasan yang aktif saja yang disimpan. Selain itu, waktu yang dibutuhkan dalam pencarian solusi juga cukup cepat (Cormen et al, 2009).

2.7. Penelitian Terdahulu

Algoritma depth first search telah banyak digunakan dalam penelitian-penelitian tentang pembuatan program permainan. Penelitian-penelitian tersebut antara lain yakni pencarian solusi permainan pairs (Atrinawati, 2007), pengambilan keputusan


(30)

pada klimaks permainan scrabble (Gozali, 2008), pembuatan word game scramble pada board dua dimensi (Sabdifha, 2010), program pembentukan maze (Charifa, 2011), dan perancangan permainan othello berbasis android (Handayani, 2012).

Atrinawati (2007) menggunakan metode depth first search dalam pencarian solusi pada permainan pairs. Permainan pairs adalah permainan mencari pasangan kartu yang sama. Kartu ini terdiri dari atribut gambar bertipe integer dan atribut open bertipe boolean. Atribut gambar akan bernilai integer yang merepresentasikan jenis gambar yang ada pada kartu dan bersifat unik. Sedangkan atribut open akan bernilai false jika pasangan gambarnya belum ditemukan, dan bernilai true jika pasangan gambarnya telah ditemukan. Pencarian solusi dilakukan secara mendalam hingga seluruh kartu pada permainan pairs terbuka.

Gozali (2008) mengimplementasikan algoritma depth first search dalam pengambilan keputusan pada klimaks permainan scrabble. Dalam penelitian ini, penelusuran dimulai dari simpul akar yang merupakan himpunan kosong dengan nilai -P. Simpul-simpul berikutnya dibangkitkan dari himpunan biji pada tabel nilai yang saling lepas dengan himpunan solusi yang telah terbentuk sejauh ini. Jika penelusuran telah mencapai simpul daun dan tidak ada lagi simpul yang dapat dibangkitkan, nilai total dari himpunan solusi disimpan sebagai nilai maksimum sementara. Pencarian dilakukan sampai mendapatkan nilai maksimum yang paling besar.

Sabdifha (2010) menggunakan depth first search dalam pembuatan word game scramble pada board dua dimensi. Permainan scramble adalah permainan kata yang merupakan pengembangan dari permainan scrabble. Pada permainan ini pencarian kata dilakukan dengan menelusuri huruf-huruf yang terdapat pada board permainan yang membentuk sebuah kata.

Charifa (2011) menggunakan depth first search dalam program pembentukan maze. Maze atau labirin yang dibentuk dengan algoritma DFS ini mempunyai kemungkinan terciptanya jalur bercabang yang rendah dan sebagai akibatnya akan tercipta banyak jalur yang cenderung lurus. Hal ini lah yang menyebabkan algoritma DFS bagus untuk digunakan dalam video game.

Handayani (2012) menggunakan depth first search dalam perancangan permainan othello berbasis android. Algoritma depth first search diterapkan dengan menggunakan algoritma Negamax yang dioptimasi dengan alpha beta pruning dalam membantu mencari solusi pada permainan othello.


(31)

Penelitan terdahulu dipaparkan dalam bentuk tabel berikut:

Tabel 2.1 Penelitian terdahulu

Penelitian Nama Keterangan

Penerapan Algoritma Depth-First Search (DFS) Pada Pencarian Solusi Permainan

“Pairs”

(Atrinawati, 2007) Kemampuan algoritma depth first search dalam menyelesaikan permainan Pairs menunjukkan bahwa algoritma ini cukup efektif untuk mendapatkan solusi persoalan tersebut.

Penggunaan Depth First Search Dalam Pengambilan

Keputusan Pada Klimaks Permainan Scrabble

(Gozali, 2008) Algoritma depth first search cukup baik untuk menyelesaikan

permasalahan

pengambilan keputusan pada klimaks permainan scrabble.

Perancangan Dan Pembuatan Aplikasi Word Game Scramble Pada Board Dua Dimensi

(Sabdifha, 2010) Algoritma depth first

search dapat

diaplikasikan pada word game scramble untuk mencari seluruh kata yang terdapat pada board dua dimensi 4x4


(32)

Tabel 2.1 Penelitian terdahulu (lanjutan)

Penelitian Nama Keterangan

Penerapan Algoritma Depth-First Search dan Backtracking dalam Program Pembentuk Maze

(Charifa, 2011) Penggunaan algoritma depth first search dalam pembentukan Maze adalah cara yang paling sederhana, diperlukan beberapa tambahan dan perbaikan agar dapat membentuk Maze yang lebih rumit.

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

(Handayani, 2012) Pencarian solusi permainan othello menggunakan algoritma depth first search dapat mengurangi ruang pencarian sehingga proses penelusuran dapat dilakukan lebih cepat.


(33)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini, akan dibahas beberapa hal diantaranya analisis sistem yang terdiri dari analisis permainan, analisis algoritma depth first search dalam proses pencarian solusi pada permainan word ladder dan perancangan sistem yang terdiri dari perancangan alur aplikasi, perancangan alur permainan dan perancangan antarmuka aplikasi.

3.1. Analisis Sistem

Pada bagian analisis sistem, penulis akan menjelaskan tentang analisis permainan word ladder dan analisis algoritma depth first search pada permainan word ladder. Pada bagian analisis permainan berisi tentang cara bermain serta aturan-aturan permainan, sedangkan pada bagian analisis algoritma berisi penjelasan tentang penggunaan algoritma dalam proses pencarian kata.

3.1.1.Analisis permainan word ladder

Pada bagian analisis permainan word ladder akan dijelaskan beberapa aturan permainan word ladder.

Berikut beberapa aturan permainan yang ditetapkan oleh penulis dalam permainan word ladder.

1. Pemain mencari sebuah kata baru yang dapat dibentuk oleh kata awal yang hanya dibedakan oleh satu huruf untuk dapat terhubung dengan kata target. 2. Pemain harus menekan salah satu huruf dari kata awal yang berada pada kotak


(34)

satu huruf yang tersedia pada tombol huruf berwarna putih agar dapat membentuk sebuah kata baru.

3. Jika kata yang dibentuk pemain ada pada database, maka kata tersebut akan ditampilkan dan jika tidak maka akan ada pemberitahuan bahwa kata tersebut tidak ada.

4. Pemain harus membentuk kata sebanyak-banyaknya agar dapat terhubung dengan kata target.

5. Setiap kata yang berhasil dibentuk pemain akan mendapatkan nilai 50 poin. 6. Jika pemain berhasil menghubungkan kata awal dengan kata target akan

mendapatkan 1000 poin.

7. Pemain diberikan waktu yang berbeda pada tiap level untuk menyelesaikan permainan.

8. Pemain dapat menggunakan menu solusi untuk mendapatkan bantuan dalam mencari kata.

3.1.2.Analisis algoritma depth first search pada permainan word ladder

Pada bagian analisis algoritma depth first search akan dibahas tentang penerapan algoritma depth first search dalam melakukan pencarian solusi pada permainan word ladder.

Algoritma yang digunakan untuk pencarian kata dalam permainan word ladder adalah algoritma depth first search. Algoritma depth first search merupakan metode pencarian pada struktur pohon dengan menelusuri suatu cabang pohon secara mendalam hingga ditemukannya solusi.

Adapun langkah-langkah yang dilakukan dalam pencarian solusi pada permainan word ladder ini adalah :

1. Kata pertama dari soal merupakan kata awal yang dijadikan sebagai simpul akar dari pohon solusi.

2. Kemudian dari simpul akar dicari kata berikutnya yang memiliki perbedaan satu huruf dengan kata awal berdasarkan urutan alphabet.


(35)

3. Jika berhasil ditemukan kata berikutnya lakukan langkah (4) dan jika tidak berhasil ditemukan kata berikutnya maka solusi tidak ditemukan dan pencarian dihentikan.

4. Cek kata berikutnya apakah sama dengan kata target, jika sama dengan kata target maka pencarian selesai, jika tidak sama dengan kata target maka lakukan langkah (5).

5. Bangkitkan simpul kata berikutnya dan lakukan pencarian selanjutnya dari simpul ini, kemudian lakukan kembali langkah (3) hingga kata berikutnya sama dengan kata target.

Penerapan algoritma depth first search dapat dilihat dalam pencarian kata pada contoh soal word ladder yang terdiri dari empat huruf yakni PITA-BIRU pada Gambar 3.1 berikut.

PITA

AITA BITA

CIAA

CITA

CIBA ... CIKA

CIKB ... CIKU

AIKU BIKU

BIRU

Gambar 3.1 Pohon ruang solusi permainan word ladder

1. Kata PITA merupakan kata awal dan kata BIRU merupakan kata target. Pencarian kata berikutnya yang memiliki perbedaan satu huruf dengan kata awal dimulai dari kata PITA berdasarkan urutan alphabet, yakni AITA, BITA, CITA.

2. Kata AITA dan BITA tidak terdapat dalam database sehingga simpul-simpul tersebut tidak ditelusuri. Kata CITA dicek apakah sama dengan kata target,


(36)

karena tidak sama maka kata CITA dijadikan simpul untuk penelusuran berikutnya karena kata CITA terdapat dalam database.

3. Pencarian kata berikutnya dimulai dari kata CITA berdasarkan urutan alphabet. Namun, karena pada database hanya ada kata CITA maka simpul CITA tidak diperluas.

4. Pencarian kata selanjutnya tetap dimulai dari kata CITA berdasarkan urutan alphabet, yakni CIAA, CIBA, dan seterusnya.

5. Kata CIAA, CIBA, dan seterusnya tidak terdapat dalam database sehingga simpul-simpul tersebut tidak ditelusuri. Yang terdapat dalam database hanya kata CIKA, maka kata CIKA dicek apakah sama dengan kata target. Karena kata CIKA tidak sama dengan target maka kata ini dijadikan simpul berikutnya.

6. Pencarian kata berikutnya dimulai dari kata CIKA berdasarkan urutan alphabet, didapatkan kata CIKU.

7. Kata CIKU dicek apakah sama dengan kata target. Karena kata CIKU tidak sama dengan kata target maka kata ini dijadikan simpul berikutnya.

8. Pencarian kata berikutnya dimulai dari kata CIKU berdasarkan urutan alphabet, didapatkan kata BIKU.

9. Kata BIKU dicek apakah sama dengan kata target. Karena kata BIKU tidak sama dengan kata target maka kata ini dijadikan simpul berikutnya.

10. Dari simpul kata BIKU dapat langsung ditemukan kata target yakni BIRU karena kata BIKU memiliki perbedaan satu huruf dengan kata target.

3.2. Perancangan Sistem

Pada bagian perancangan sistem, penulis akan menjelaskan konsep perancangan aplikasi, perancangan alur aplikasi, alur permainan, serta perancangan antarmuka aplikasi permainan word ladder.

Aplikasi permainan word ladder yang dirancang ini dapat dikategorikan sebagai aplikasi android client server. Hal ini dikarenakan dalam perancangan aplikasi ini menggunakan prinsip client server, dimana device android bertindak sebagai client yang akan berhubungan dengan mysql server dengan perantara php (Safaat, 2012)


(37)

dalam melakukan pengolahan database pada proses pencarian kata dan solusi, secara konsep dapat dilihat pada Gambar 3.2 berikut:

Android PHP

MySQL

Client Server

Gambar 3.2 Konsep Aplikasi Android Client Server. (Sumber : Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android, 2012)

Pada aplikasi permainan word ladder yang dirancang, android bertindak sebagai client yang menyediakan tampilan interface permainan dengan menggunakan bahasa pemrograman java, sedangkan pengolahan data yang disimpan pada mysql server dilakukan dengan menggunakan bahasa pemrograman php. Database serta script php tersebut disimpan pada sebuah hosting dengan domain rafiqa.org. Agar dapat mengaksesnya, device android harus terhubung dengan koneksi internet.

Permainan word ladder yang akan dibangun ini dapat dimainkan oleh satu orang pemain. Seperti yang telah disebutkan pada bab sebelumnya, permainan ini dimainkan dengan cara menyusun rantai kata untuk menghubungkan dua buah kata yang telah disediakan.

Aplikasi permainan word ladder ini terdiri dari tiga tingkat (level) kesulitan yang berbeda, yakni:

1. Level 1, pada tingkat ini permainan terdiri dari lima buah soal yang terdiri dari empat huruf.

2. Level 2, pada tingkat ini permainan terdiri dari lima buah soal yang terdiri dari lima huruf.


(38)

3. Level 3, pada tingkat ini permainan terdiri dari lima buah soal yang terdiri dari enam huruf.

Permainan word ladder dimulai ketika aplikasi memberikan soal yang telah dipilih oleh pemain yang terdiri dari kata awal dan kata target untuk diselesaikan pemain dengan mencari rantai kata dari soal tersebut.

Jumlah rantai kata yang telah berhasil disusun pemain akan dihitung untuk menentukan skor permainan yang akan ditampilkan saat permainan berakhir. Skor permainan dihitung dengan menggunakan rumus berikut:

Skor = (Jumlah kata yang didapatkan * 50) + sisa waktu permainan

Permainan akan berakhir jika memenuhi salah satu dari kondisi berikut : 1. Pemain berhasil menghubungkan kedua kata, yakni kata awal dan kata target yang

terdapat pada soal permainan. 2. Waktu permainan telah habis.

Aplikasi permainan word ladder memiliki fungsi solusi dan hapus. Fungsi solusi disediakan untuk memberikan solusi terhadap soal yang ada pada permainan dengan menerapkan algoritma depth first search. Fungsi ini dapat digunakan jika

pemain memilih menu „solusi‟ yang akan muncul jika pemain menekan tombol menu

pada device android.

Sedangkan fungsi hapus digunakan untuk menghapus semua jawaban pemain dan menampilkan tampilan permainan pada keadaan awal. Fungsi ini dapat digunakan

jika pemain memilih menu „hapus‟ yang akan muncul jika pemain menekan tombol

menu pada device android.

Aplikasi permainan word ladder juga menyediakan petunjuk permainan yang berisi panduan untuk memainkan permainan word ladder, serta terdapat penjelasan tentang pengembang aplikasi yang terdapat pada menu utama aplikasi permainan ini.

3.2.1Perancangan alur aplikasi

Pada bagian perancangan alur aplikasi ini akan digambarkan interaksi yang dapat dilakukan oleh pengguna terhadap aplikasi permainan word ladder. Pada saat aplikasi


(39)

mulai dijalankan, akan ditampilkan menu utama aplikasi yang berisi menu-menu seperti menu MAIN, menu PETUNJUK, menu TENTANG, dan menu KELUAR. Setiap menu yang dipilih akan menampilkan tampilan berikutnya.

Pengguna dapat memilih menu MAIN untuk memulai permainan word ladder. Setelah menu MAIN dipilih, pengguna akan diminta untuk memasukkan nama dan memilih level permainan. Ketika level permainan dipilih, maka akan ditampilkan soal-soal yang ada pada level tersebut, pengguna dapat memilih soal-soal dan permainan pun dimulai. Saat permainan selesai, maka sistem akan menampilkan skor yang telah diperoleh pemain dan kemudian akan kembali ke tampilan halaman pilih level.

Pada menu PETUNJUK akan menampilkan panduan cara bermain word ladder. Pada menu TENTANG akan menampilkan informasi tentang pengembang aplikasi word ladder. Aplikasi akan berhenti jika pengguna memilih menu KELUAR. Flowchart aplikasi dapat dilihat pada Gambar 3.3 yang menggambarkan alur aplikasi secara keseluruhan. Start Menu Utama Pilih Menu ‘MAIN’ Pilih Menu ‘PETUNJUK’ Pilih Menu ‘TENTANG’ Pilih Menu ‘KELUAR’ Halaman Petunjuk Halaman Tentang End Yes Yes Yes Yes No Kembali Kembali Yes Yes No No Masukkan Nama Pemain Pilih Level Pilih Soal Halaman Level Bermain Word Ladder Yes Permainan Selesai Tampilkan Skor Halaman Soal Yes No Kembali Yes No No No No No Kembali Yes No


(40)

Pada saat permainan dimulai, ditampilkan halaman permainan yang merupakan tempat pengguna memulai dan menyelesaikan permainan. Halaman permainan word ladder akan menampilkan soal yang sebelumnya telah dipilih oleh pengguna. Jika permainan telah selesai maka akan ditampilkan skor yang diperoleh pemain.

Halaman permainan ini juga memiliki beberapa menu yang akan muncul jika pengguna menekan tombol menu pada device android. Menu-menu ini antara lain adalah menu Hapus, menu Solusi, menu Level, dan Menu Utama.

Menu Hapus memiliki fungsi untuk menghapus semua jawaban pemain dan menampilkan kembali halaman permainan ke keadaan semula sebelum permainan dimainkan. Menu Solusi memiliki fungsi untuk memberikan bantuan kepada pengguna untuk menyelesaikan permainan dengan menampilkan daftar kata yang merupakan solusi dari soal pada permainan word ladder. Menu Level memiliki fungsi untuk menampilkan halaman level, dan Menu Utama berfungsi untuk mengembalikan aplikasi ke tampilan Menu Utama.

Adapun alur proses untuk menampilkan solusi yang terdapat pada menu Solusi pada permainan word ladder digambarkan pada Gambar 3.4 berikut.

Start

Kata Awal, Kata Target

Cari kata berikutnya berdasarkan abjad

dengan panjang kata = panjang kata

awal dan edit distance = 1

Cek kata berikutnya = kata target

Tampilkan Solusi

End

No

Yes

Tabel kata

Simpan kata berikutnya


(41)

Proses menampilkan solusi dimulai dengan memasukkan soal yang terdiri dari kata awal dan kata target dengan panjang kata yang sama. Selanjutnya sistem mencari kata berikutnya yang memiliki panjang kata sama dan berbeda satu karakter dengan kata awal berdasarkan abjad pada database. Jika ada kata berikutnya yang memenuhi kondisi tersebut, maka kata tersebut akan disimpan dalam array. Kemudian kata berikutnya tersebut dicek apakah cocok dengan kata target, jika cocok maka proses berakhir dan kata tersebut ditampilkan. Jika tidak cocok, maka proses diulang kembali dengan mencari kata berikutnya sampai kata berikutnya sama dengan kata target.

3.2.2Pemodelan visual dengan UML

Pada bagian perancangan sistem, penulis menggunakan UML (Unified Modeling Language) sebagai bahasa pemodelan untuk mendesain dan merancang aplikasi permainan Word Ladder. Adapun UML yang digunakan penulis terdiri dari diagram use case dan diagram activity.

a. Diagram use case

Perancangan sistem digambarkan dengan menggunakan pemodelan use case. Pada tahap ini dibutuhkan aktor dan use case agar diagram use case dapat digambarkan. Untuk mengetahui aktor dan use case yang akan digunakan, maka dilakukan analisis pengguna.

Analisis pengguna merupakan identifikasi para pengguna yang dapat melakukan interaksi dengan sistem. Dalam penelitian ini, pengguna berperan sebagai pemain yang akan memainkan permainan word ladder. Untuk mendapatkan use case dari pemain, maka ditentukan hal-hal apa saja yang dapat dilakukan pemain, yakni sebagai berikut.

1. Memasukkan nama saat ingin memulai permainan. 2. Memilih level permainan yang ingin dimainkan.

3. Memilih soal yang ingin dimainkan yang ada pada tiap level.

4. Mencari kata baru dari soal yang terdapat pada permainan dengan menekan salah satu huruf pada soal dan menggantinya dengan huruf yang tersedia pada tombol huruf yang terdapat pada permainan.


(42)

6. Menekan menu solusi untuk melihat solusi dari soal permainan. 7. Menekan menu level untuk kembali ke halaman level.

8. Menekan menu utama untuk kembali ke halaman utama permainan word ladder.

9. Melihat petunjuk permainan.

10. Melihat tentang informasi pengembang aplikasi. 11. Keluar dari aplikasi.

Use case yang menggambarkan interaksi pemain dengan sistem berdasarkan identifikasi aktor dan use case yang telah diperoleh dapat dilihat pada Gambar 3.5 berikut.

Mulai Permainan

Petunjuk

Tentang

Keluar

Input Nama

Pilih Level

Pilih Soal

Hapus Jawaban

Lihat Solusi

Kembali ke Menu Utama Mencari Kata

Kembali ke Halaman Level

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>> <<include>>

SISTEM

Aktor


(43)

Dokumentasi naratif dari use case mulai permainan dapat dilihat pada Tabel 3.1 berikut.

Tabel 3.1 Dokumentasi naratif use case mulai permainan

Nama use case Mulai permainan

Aktor Pemain

Deskripsi Use case ini berfungsi untuk memulai permainan word ladder

Pre condition Pemain berada pada halaman menu utama

Normal flow Kegiatan aktor Respon sistem

1.Pemain mengklik tombol main

2.Sistem akan menampilkan input dialog

Alternative flow Kegiatan aktor Respon sistem

- -

Post condition Dialog input nama ditampilkan

Dokumentasi naratif dari use case input nama dapat dilihat pada Tabel 3.2 berikut.

Tabel 3.2 Dokumentasi naratif use case input nama

Nama use case Input nama

Aktor Pemain

Deskripsi Use case ini berfungsi untuk menyimpan nama pemain yang akan ditampilkan bersama skor yang diperoleh pemain saat permainan selesai

Pre condition Pemain berada pada halaman menu utama

Normal flow Kegiatan actor Respon sistem

1.Input nama pemain

2.Klik tombol OK 3.Sistem akan menyimpan nama pemain

Alternative flow Kegiatan actor Respon sistem

- -


(44)

Dokumentasi naratif dari use case pilih level dapat dilihat pada Tabel 3.3 berikut.

Tabel 3.3 Dokumentasi naratif use case pilih level

Nama use case Pilih level

Aktor Pemain

Deskripsi Use case ini berfungsi untuk memilih level permainan

Pre condition Pemain memasukkan nama pada dialog input nama

Normal flow Kegiatan actor Respon sistem

1.Pemain mengklik salah satu level permainan yang tersedia

2.Sistem menampilkan halaman soal yang ada pada level yang telah dipilih

Alternative flow Kegiatan actor Respon sistem

- -

Post condition Tampil halaman soal

Dokumentasi naratif dari use case pilih soal dapat dilihat pada Tabel 3.4 berikut.

Tabel 3.4 Dokumentasi naratif use case pilih soal

Nama use case Pilih Soal

Aktor Pemain

Deskripsi Use case ini berfungsi untuk memilih soal yang terdapat pada level permainan

Pre condition Pemain memilih level

Normal flow Kegiatan actor Respon sistem

1.Pemain mengklik salah satu soal permainan yang tersedia

2.Sistem menampilkan halaman permainan dengan soal yang telah dipilih

Alternative flow Kegiatan actor Respon sistem

- -


(45)

Dokumentasi naratif dari use case mencari kata dapat dilihat pada Tabel 3.5 berikut.

Tabel 3.5 Dokumentasi naratif use case mencari kata

Nama use case Mencari kata

Aktor Pemain

Deskripsi Use case ini berfungsi untuk mengganti salah satu huruf pada soal agar dapat membentuk sebuah kata baru

Pre condition Pemain memilih soal

Normal flow Kegiatan actor Respon sistem

1.Pemain mengklik salah satu huruf yang akan diganti pada soal yang ada di kotak berwana merah

2.Pemain mengklik huruf pengganti pada tombol huruf berwarna putih

3.Sistem mengecek jawaban pemain

4.Sistem menampilkan kata baru yang telah terbentuk

5.Sistem akan menampilkan pesan jika jawaban pemain salah

6.Sistem akan menambahkan skor jika kata baru berhasil dibentuk

Alternative flow Kegiatan actor Respon sistem

- -


(46)

Dokumentasi naratif dari use case hapus jawaban dapat dilihat pada Tabel 3.6 berikut.

Tabel 3.6 Dokumentasi naratif use case hapus jawaban

Nama use case Hapus jawaban

Aktor Pemain

Deskripsi Use case ini berfungsi untuk menghapus jawaban pemain

Pre condition Pemain berada pada halaman permainan

Normal flow Kegiatan aktor Respon sistem 1.Pemain menekan tombol

menu pada device android 3.Pemain menekan menu hapus

2.Sistem menampilkan menu pada halaman permainan

4.Sistem menghapus semua jawaban pemain

Alternative flow Kegiatan aktor Respon sistem

- -

Post condition Halaman permainan menampilkan keadaan awal saat permainan dimulai

Dokumentasi naratif dari use case lihat solusi dapat dilihat pada Tabel 3.7 berikut.

Tabel 3.7 Dokumentasi naratif use case lihat solusi

Nama use case Lihat solusi

Aktor Pemain

Deskripsi Use case ini berfungsi untuk menampilkan solusi permainan

Pre condition Pemain berada pada halaman permainan

Normal flow Kegiatan aktor Respon sistem

1.Pemain menekan tombol menu pada device android

3.Pemain menekan menu solusi

5.Pemain menekan tombol OK

2.Sistem menampilkan menu pada halaman permainan

4.Sistem menampilkan kotak dialog solusi dari soal

6.Sistem menutup kotak dialog solusi

Alternative flow Kegiatan aktor Respon sistem

- -

Post condition Tampilan halaman permainan menampilkan keadaan saat permainan sedang dimainkan


(47)

Dokumentasi naratif dari use case kembali ke halaman level dapat dilihat pada Tabel 3.8 berikut.

Tabel 3.8 Dokumentasi naratif use case kembali ke halaman level

Nama use case Kembali ke halaman level

Aktor Pemain

Deskripsi Use case ini berfungsi untuk kembali ke halaman level permainan

Pre condition Permainan word ladder sedang dimainkan

Normal flow Kegiatan aktor Respon sistem

1.Pemain menekan tombol menu pada device android 3.Pemain menekan menu level

2.Sistem menampilkan menu pada halaman permainan 4.Sistem akan kembali ke halaman level

Alternative flow Kegiatan aktor Respon sistem

- -

Post condition Tampil halaman level

Dokumentasi naratif dari use case kembali ke menu utama dapat dilihat pada Tabel 3.9 berikut.

Tabel 3.9 Dokumentasi naratif use case kembali ke menu utama

Nama use case Kembali ke menu utama

Aktor Pemain

Deskripsi Use case ini berfungsi untuk kembali ke menu utama aplikasi

Pre condition Permainan word ladder sedang dimainkan

Normal flow Kegiatan aktor Respon sistem

1.Pemain menekan tombol menu pada device android 3.Pemain menekan menu utama

2.Sistem menampilkan menu pada halaman permainan 4.Sistem akan kembali ke menu utama

Alternative flow Kegiatan aktor Respon sistem

- -


(48)

Dokumentasi naratif dari use case petunjuk dapat dilihat pada Tabel 3.10 berikut.

Tabel 3.10 Dokumentasi naratif use case petunjuk

Nama use case Petunjuk

Aktor Pemain

Deskripsi Use case ini berfungsi untuk menampilkan petunjuk permainan

Pre condition Pemain berada pada halaman menu utama

Normal flow Kegiatan aktor Respon sistem

1.Pemain menekan tombol petunjuk

2.Sistem menampilkan petunjuk permainan

Alternative flow Kegiatan aktor Respon sistem

- -

Post condition Tampil halaman petunjuk

Dokumentasi naratif dari use case tentang dapat dilihat pada Tabel 3.11 berikut.

Tabel 3.11 Dokumentasi naratif use case tentang

Nama use case Tentang

Aktor Pemain

Deskripsi Use case ini berfungsi untuk menampilkan informasi tentang pengembang aplikasi

Pre condition Pemain berada pada halaman menu utama

Normal flow Kegiatan aktor Respon sistem

1.Pemain menekan tombol tentang

2.Sistem menampilkan informasi tentang pengembang aplikasi

Alternative flow Kegiatan aktor Respon sistem

- -


(49)

Dokumentasi naratif dari use case keluar dapat dilihat pada Tabel 3.12 berikut.

Tabel 3.12 Dokumentasi naratif use case keluar

Nama use case Keluar

Aktor Pemain

Deskripsi Use case ini berfungsi untuk keluar dari aplikasi Pre condition Pemain berada pada halaman menu utama

Normal flow Kegiatan aktor Respon sistem

1.Pemain menekan tombol keluar

2.Sistem akan keluar dari aplikasi

Alternative flow Kegiatan aktor Respon sistem

- -

Post condition -

b. Diagram activity

Diagram activity merupakan tahap dimana urutan-urutan aktivitas yang terjadi pada sistem dapat digambarkan. Diagram activity membantu memahami proses rancangan sistem secara keseluruhan.

Diagram activity yang peneliti buat menampilkan aktivitas dalam sistem. Aktivitas dimulai pada halaman menu utama yang menampilkan menu main untuk memulai permainan, menu petunjuk, menu tentang, dan menu keluar.

Pengguna akan beroperasi dengan sistem melalui halaman permainan saat memulai permainan. Pada halaman petunjuk akan menampilkan petunjuk cara bermain. Pada halaman tentang akan menampilkan data peneliti.

Pada diagram activity untuk memulai permainan, diawali dengan pengguna mengklik tombol main yang ada pada halaman menu utama. Kemudian, sistem akan menampilkan input dialog untuk pengguna isi dengan nama pengguna. Setelah menginput nama, sistem akan menampilkan halaman level yang dapat dipilh pengguna. Selanjutnya, sistem akan menampilkan halaman soal yang ada pada level yang telah dipilh sebelumnya. Setelah memilih soal, sistem akan menampilkan halaman permainan dan pengguna dapat mulai memainkan permainan. Jika permainan telah selesai maka sistem akan menampilkan skor pemain.


(50)

Pada halaman permainan terdapat menu yang dapat dipilih pengguna, yakni menu hapus untuk menghapus jawaban pemain, menu solusi untuk menampilkan solusi dari permainan, menu level untuk kembali ke halaman level, dan menu utama untuk kembali ke halaman menu utama.

Adapun diagram activity untuk memulai permainan yang dirancang penulis dapat dilihat pada Gambar 3.6 berikut.

Klik tombol Main Menampilkan input dialog

Input nama pemain Menampilkan halaman level

Pilih level permainan Menampilkan halaman soal

Pilih soal permainan Menampilkan halaman permainan

Mencari kata

Hapus jawaban

Lihat solusi

Kembali ke menu utama Kembali ke halaman level

Menghapus jawaban pemain

Menampilkan solusi permainan

Menampilkan halaman menu utama

Menampilkan skor Klik tombol menu

Ya Tidak

[Permainan belum selesai]

[Permainan selesai]

Pengguna Sistem


(51)

Pada halaman petunjuk, diagram activity dimulai dengan pengguna mengklik tombol petunjuk yang ada pada halaman menu utama. Selanjutnya, sistem akan menampilkan halaman petunjuk yang berisi petunjuk tentang cara bermain. Diagram activity petunjuk dapat dilihat pada Gambar 3.7 berikut.

Klik tombol Petunjuk Menampilkan petunjuk permainan

Pengguna Sistem

Gambar 3.7 Diagram activity petunjuk

Pada halaman tentang, diagram activity dimulai dengan pengguna mengklik tombol tentang yang ada pada halaman menu utama. Selanjutnya, sistem akan menampilkan halaman tentang yang berisi tentang informasi pengembang aplikasi. Diagram activity tentang dapat dilihat pada Gambar 3.8 berikut.

Klik tombol Tentang Menampilkan informasi pengembang aplikasi

Pengguna Sistem


(52)

Pada diagram activity keluar, dimulai dengan pengguna mengklik tombol keluar yang ada pada halaman menu utama. Selanjutnya, tampilan akan keluar dari aplikasi. Diagram activity keluar dapat dilihat pada Gambar 3.9 berikut.

Klik tombol Keluar Keluar dari aplikasi

Pengguna Sistem

Gambar 3.9 Diagram activity keluar

3.2.3Perancangan antarmuka aplikasi

Pada bagian ini akan digambarkan tampilan antarmuka aplikasi permainan word ladder. Tampilan antarmuka pada aplikasi permainan ini antara lain tampilan halaman menu utama, halaman level, halaman soal, halaman permainan, halaman petunjuk permainan, serta halaman tentang yang menampilkan keterangan pengembang aplikasi. Tampilan antarmuka aplikasi tersebut dapat dilihat sebagai berikut.

a. Halaman Menu Utama

Tampilan pada halaman ini terdapat menu-menu yang dapat dipilih oleh pemain seperti menu main, petunjuk, tentang, dan keluar.

Tampilan halaman menu utama pada aplikasi permainan word ladder dapat dilihat pada Gambar 3.10 berikut.


(53)

WORD LADDER

MAIN

PETUNJUK

TENTANG

KELUAR

1

2

3

4

5

Gambar 3.10 Tampilan antarmuka halaman menu utama

Keterangan : 1. Judul aplikasi.

2. Tombol MAIN : untuk memulai permainan.

3. Tombol PETUNJUK : untuk menampilkan petunjuk permainan. 4. Tombol TENTANG : untuk menampilkan keterangan pengembang

aplikasi.

5. Tombol KELUAR : untuk keluar dari aplikasi.

b. Halaman Level

Tampilan halaman level pada aplikasi permainan word ladder dapat dilihat pada Gambar 3.11 berikut.

Level 1

Level 2

Level 3

Pilih Level

1

2

3

4


(54)

Keterangan :

1. Judul halaman level.

2. Pilihan Level 1 : untuk memulai permainan pada level 1. 3. Pilihan Level 2 : untuk memulai permainan pada level 2. 4. Pilihan Level 3 : untuk memulai permainan pada level 3.

c. Halaman Soal

Tampilan halaman soal pada aplikasi permainan word ladder dapat dilihat pada Gambar 3.12 berikut.

1

Soal

Gambar 3.12 Tampilan Antarmuka Halaman Soal

Keterangan :

1. List yang menampilkan daftar soal.

d. Halaman Permainan

Tampilan pada halaman ini terdiri dari timer yang menunjukkan waktu permainan, soal yang terdiri dari kata awal yang berada pada kotak merah dan kata target yang berada pada kotak biru, serta tombol huruf yang digunakan untuk mengganti huruf-huruf pada kata awal.

Tampilan halaman permainan pada aplikasi permainan word ladder dapat dilihat pada Gambar 3.13 berikut.


(55)

1 2

3

Waktu

4

Gambar 3.13 Tampilan antarmuka halaman permainan

Keterangan :

1. Waktu permainan.

2. Kotak soal yang berisi kata awal. 3. Kotak soal yang berisi kata target.

4. Tombol yang berisi karakter huruf alphabet.

Pada saat permainan berlangsung, pengguna dapat menggunakan beberapa menu yang terdapat pada tombol menu. Adapun tampilan antarmuka halaman permainan pada saat tombol menu ditekan dapat dilihat pada Gambar 3.14 berikut.

1 2

3

Hapus Solusi Level Menu Utama

4

5 6

7

Waktu

8


(56)

Keterangan :

1. Waktu permainan.

2. Kotak soal yang berisi kata awal. 3. Kotak soal yang berisi kata target.

4. Tombol yang berisi karakter huruf alphabet.

5. Menu Hapus : untuk menampilkan permainan ke keadaan awal. 6. Menu Solusi : untuk menampilkan solusi permainan.

7. Menu Level : untuk menampilkan halaman level.

8. Menu Utama : untuk menampilkan menu utama aplikasi.

e. Halaman Petunjuk

Tampilan halaman petunjuk pada aplikasi permainan word ladder berisi petunjuk tentang cara bermain permainan word ladder.

Tampilan halaman petunjuk dapat dilihat pada Gambar 3.15 berikut.

PETUNJUK 1

2

Gambar 3.15 Tampilan antarmuka halaman petunjuk

Keterangan :

1. Judul halaman petunjuk.

2. Berisi petunjuk tentang cara bermain.

f. Halaman Tentang

Tampilan halaman tentang pada aplikasi permainan word ladder berisi informasi tenteng pengembang aplkikasi permainan word ladder.


(57)

Tampilan halaman tentang dapat dilihat pada Gambar 3.16 berikut.

TENTANG

1

2

Gambar 3.16 Tampilan antarmuka halaman tentang

Keterangan :

1. Judul halaman tentang.

2. Berisi keterangan tentang pengembang aplikasi.

3.2.4Perancangan database

Data yang digunakan pada permainan Word Ladder ini berupa kata dasar dalam bahasa Indonesia yang terdiri dari empat sampai enam huruf. Database pada aplikasi permainan Word Ladder ini berfungsi sebagai kamus yang menyimpan daftar kata-kata dasar dalam bahasa Indonesia tersebut.

Perancangan database pada aplikasi permainan Word Ladder ini dibuat pada MySQL. Pada database yang diberi nama “wordladder” terdapat sebuah tabel dengan

nama “kata”.

Tabel “kata” ini berisi kata dasar yang dirujuk dari KBBI. Pada tabel kata ini terdiri dari 3 field yakni :

1. id 2. kata


(58)

Field id berisi nomor id dari kata yang diinputkan, sedangkan field kata berisi daftar kata dasar, dan field panjang_kata berisi jumlah huruf dari kata yang terdapat pada field kata.

Tabel “kata” dapat dilihat pada Gambar 3.17 berikut.


(59)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Pada bab ini, akan dibahas tentang implementasi dan pengujian terhadap aplikasi yang merupakan tahap yang dilakukan setelah analisis dan perancangan aplikasi.

4.1. Implementasi

Implementasi aplikasi permainan Word Ladder meliputi kebutuhan perangkat lunak dan perangkat keras agar dapat membangun permainan secara optimal. Dalam tahap implementasi ini, hasil analisis dan perancangan dibuat ke dalam bentuk bahasa pemrograman sehingga dapat menghasilkan suatu aplikasi permainan word ladder.

4.1.1Spesifikasi perangkat lunak

Aplikasi Permainan Word Ladder dibangun pada sistem operasi Windows 7 32-bit. Aplikasi ini dibuat dengan menggunakan bahasa pemrograman Java dan bahasa pemrograman PHP yang berfungsi untuk mengolah database.

Pengkodean dilakukan dengan menggunakan perangkat lunak Eclipse Juno, untuk bahasa pemrograman Java, dan perangkat lunak Dreamwaver untuk bahasa pemrograman PHP. Database kamus disimpan dengan menggunakan MySQL. Tampilan grafis pada aplikasi ini dibuat dengan menggunakan perangkat lunak Corel Draw X5.


(60)

4.1.2Spesifikasi perangkat keras

Adapun spesifikasi perangkat keras yang digunakan dalam implementasi aplikasi permainan Word Ladder ini adalah sebagai berikut:

1. Prosesor Intel Pentium (R) Dual-Core T4400 (2.20 GHz, 2.20 GHz). 2. Memory (RAM) 2 GB.

3. Hard Disk 250 GB

4. Monitor 14.0”

4.1.3. Hasil eksekusi aplikasi

Pada bagian ini akan dijelaskan hasil eksekusi aplikasi permainan Word Ladder yang dijalankan pada emulator IDE Java Eclipse Juno. Penjelasan dimulai dari tampilan awal aplikasi ketika dijalankan. Ketika aplikasi pertama kali dijalankan, maka akan muncul tampilan halaman menu utama. Tampilan halaman menu utama pada aplikasi permainan Word Ladder menggunakan imageview pada bagian nama permainan dan menggunakan image button pada menu yang terdapat pada halaman menu utama aplikasi. Tampilan awal ini dapat dilihat seperti pada Gambar 4.1 berikut.


(1)

adapter = new GridViewAdapter(this);

gridView = (GridView) findViewById(R.id.gridView); // set jumlah kolom grid

gridView.setNumColumns(columnPadaGridview); gridView.setAdapter(adapter);

gridView.setDrawSelectorOnTop(true);

gridView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> av, View v, int position,long id) {

textYangDiSelcect = String.valueOf(adapter.getItem(position));

posisiTextYangDiSelect = position; if (position > ((adapter.getCount() - columnPadaGridview) - 1)) {

v.setPressed(true); } else {

v.setBackgroundColor(Color.BLACK); }

} });

/* inisialisasi saat mulai main */ int counterMulaiMain = 0;

if (counterMulaiMain == 0) {

String[] textSoal = soal.trim().toUpperCase().split(""); /* add jumlah item pada gridview sekali klik */

for (int i = 1; i < textSoal.length; i++) { items.add(textSoal[i]);

adapter.notifyDataSetChanged(); counterMulaiMain++;

posisiTextYangDiSelect = -1; }

}

scrollView = (ScrollView) findViewById(R.id.scrollView1); /* multiple button */

LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1);

int count = 0;

for (int i = 0; i < 3; i++) {

LinearLayout row = new LinearLayout(this); row.setLayoutParams(new

LayoutParams(LayoutParams.FILL_PARENT,

LayoutParams.WRAP_CONTENT)); for (int j = 0; j < 9; j++) {

if (count < 26) {


(2)

android.widget.LinearLayout.LayoutParams params = new android.widget.LinearLayout.LayoutParams(

LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1f); btnTag.setLayoutParams(params); char abjad = (char) (count + 'A'); btnTag.setText(String.valueOf(abjad)); btnTag.setId(count);

row.addView(btnTag);

btnTag.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

if (posisiTextYangDiSelect > ((adapter.getCount() - columnPadaGridview) - 1)) {

String textYangDiKlik = btnTag.getText().toString(); String[] soalSebelemunya = soal.split("");

String soalBaru = "";

if (items.size() >= columnPadaGridview) {

for (int i = 0; i < soalSebelemunya.length; i++) { if ((posisiTextYangDiSelect % columnPadaGridview) == (i - 1))

soalBaru = soalBaru

+ textYangDiKlik; else

soalBaru = soalBaru

+ soalSebelemunya[i]; }

}

/* cek apakah kata yang baru ada dalam database */ String hasilCekDatabase = koneksi.cekKata(soalBaru);

if (!hasilCekDatabase.trim().equals("1")) {

Toast.makeText(Game.this,soalBaru.toUpperCase()

+ " Tidak Ada Dalam Daftar Kata",Toast.LENGTH_LONG).show(); return;

}

/* memastikkan kata yang baru tidak kosong */ if (!soalBaru.equals("")) {

soal = soalBaru; }

else if(!soalBaru.equals(soal)){ soalAwal = soalBaru; }

String[] textSoal = soal.trim().toUpperCase().split(""); /* add jumlah item pada gridview sekali klik */

for (int i = 1; i < textSoal.length; i++) { items.add(textSoal[i]);

adapter.notifyDataSetChanged(); }


(3)

/* Sukses */

if (target.equals(soalBaru)) { timer.cancel();

viewWaktu.setFreezesText(true);

Score.setScore((adapter.getCount()/columnPadaGridview-1)*50+Integer.parseInt(viewWaktu.getText().toString())); AlertDialog.Builder adb = new AlertDialog.Builder(Game.this);

adb.setTitle("Kamu Berhasil, Selamat!");

adb.setMessage("Score " + Score.getNama()+ " : " + Score.getScore()); adb.setNegativeButton("Tutup",new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface arg0,int arg1) { Intent intent = new Intent(Game.this, Level.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);

} });

adb.show(); }

} else {

Toast.makeText(Game.this,"Klik Salah Satu Huruf Pada Kotak Merah", Toast.LENGTH_LONG).show();

} } }); }

count++; }

layout.addView(row); }

}

/* scroll berdasarkan jumlah item yang diinginkan */ private void scrollMyListViewToBottom() {

gridView.post(new Runnable() { public void run() {

gridView.setSelection(adapter.getCount() - 4); }

}); }

public class GridViewAdapter extends BaseAdapter { public GridViewAdapter(Context c) {

}

public int getCount() { return items.size(); }

public Object getItem(int position) { return items.get(position); }

public long getItemId(int position) { return position;


(4)

public View getView(int position, View convertView, ViewGroup parent) {

View v;

if (convertView == null) {

LayoutInflater li = getLayoutInflater(); v = li.inflate(R.layout.grid_item, null); } else {

v = convertView; }

//memastikan warna background hitam saat ada penambahan view di gridview if (position > ((adapter.getCount() - columnPadaGridview) - 1)) {

v.setBackgroundColor(Color.RED); } else {

v.setBackgroundColor(Color.BLACK); }

TextView tv1 = (TextView) v.findViewById(R.id.view_item); tv1.setText(items.get(position));

return v; }

}

@Override

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.menu_utama:

Intent intent = new Intent(this, MainMenu.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);

return true;

case R.id.menu_level:

Intent intent2 = new Intent(this, Level.class); intent2.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent2);

return true; case R.id.hapus: items.clear();

String[] textSoal = soalAwal.trim().toUpperCase().split(""); for (int i = 1; i < textSoal.length; i++) {

items.add(textSoal[i]);

adapter.notifyDataSetChanged(); }

soal=soalAwal; return true;


(5)

String hasil = koneksi.solusi(soalAwal, target); String[] h = hasil.split("->");

hasil = "";

for (int i = 0; i < h.length; i++) { hasil = hasil + h[i] + "\n"; }

System.out.println("hasil : " + hasil);

AlertDialog.Builder adb = new AlertDialog.Builder(Game.this); adb.setTitle("Solusi " + soalAwal + " - " + target); adb.setIcon(R.drawable.ic_launcher);

adb.setMessage(hasil.toUpperCase()); adb.setNegativeButton("Tutup", null); adb.show();

return true; default:

return super.onOptionsItemSelected(item); }

}

public class MyCounter extends CountDownTimer {

public MyCounter(long millisInFuture, long countDownInterval) {

super(millisInFuture, countDownInterval); }

@Override

public void onFinish() { System.out.println("0"); viewWaktu.setText("0");

Score.setScore((adapter.getCount()/columnPadaGridview-1)*50+Integer.parseInt(viewWaktu.getText().toString()));

AlertDialog.Builder adb = new AlertDialog.Builder(Game.this); adb.setTitle("Waktu Habis!");

adb.setMessage("Score " + Score.getNama() + " : " + Score.getScore());

adb.setNegativeButton("Tutup",

new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface arg0, int arg1) { startActivity(new Intent(Game.this,

Level.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); }

}); adb.show(); }

public void onTick(long millisUntilFinished) {

viewWaktu.setText((millisUntilFinished / 1000) + "");

System.out.println("Timer : " + (millisUntilFinished /1000)); }

} }


(6)

KUESIONER PENILAIAN PENGGUNA APLIKASI PERMAINAN WORD

LADDER

Aspek Antarmuka

1. Desain aplikasi secara umum

2. Desain tombol menu

3. Ukuran dan warna tulisan

Aspek Penggunaan Aplikasi

4. Kemudahan menggunakan aplikasi

5. Kemudahan memahami fungsi menu-menu yang ada

6. Kesesuaian tingkat kesulitan pada setiap level

7. Pemahaman aturan dan cara bermain

No

Nama

Ttd

Aspek

Antarmuka

Aspek Penggunaan

Aplikasi

1

2

3

4

5

6

7

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.