• Tidak ada hasil yang ditemukan

PENGEMBANGAN APLIKASI PERMAINAN SUDOKU KATA DENGAN SOLUSI ALGORITMA RUNUT-BALIK PADA PLATFORM J2ME NASKAH PUBLIKASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGEMBANGAN APLIKASI PERMAINAN SUDOKU KATA DENGAN SOLUSI ALGORITMA RUNUT-BALIK PADA PLATFORM J2ME NASKAH PUBLIKASI"

Copied!
17
0
0

Teks penuh

(1)

PENGEMBANGAN APLIKASI PERMAINAN SUDOKU KATA DENGAN

SOLUSI ALGORITMA RUNUT-BALIK PADA PLATFORM J2ME

NASKAH PUBLIKASI

Disusun oleh:

Arif Dian Farwanto 06.21.0319

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

(2)
(3)

DEVELOPMENT OF WORD SUDOKU APPLICATION WITH BACKTRACKING ALGORITHM SOLUTION ON J2ME PLATFORM

PENGEMBANGAN APLIKASI PERMAINAN SUDOKU KATA DENGAN SOLUSI ALGORITMA RUNUT-BALIK PADA PLATFORM J2ME

Arif Dian Farwanto Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

ABSTRACT

Game applications is an application that is currently still growing and are very interested in the mobile phone user (cell phone) as one of the entertainment features on mobile phones that already use the feature "Java Enabled". One popular application is the sudoku game with various game. With the outbreak of logic games that are honed the players, then the application is very suitable for games played on mobile phones.

Sudoku as a puzzle game of simple figures, had bewitched the world ranging from children to older people. To play this numbers puzzle players do not need to think hard, do not have to have a high intellect, and need not be a reliable count, because you need only the ability to think logically, high patience, accuracy and sharpness.

To design an interactive sudoku game needed a solution algorithm for scrambling (generate) sudoku puzzle, the problem then the backtracking algorithm is chosen. Backtracking algorithm which is based on the DFS (Depth First Search) to find the solution to the problem in a more effectively. Backtracking, which is a refinement of brute-force algorithm, the systematic search for solutions of problems in between all the possible solutions exist.

(4)

1. Latar Belakang Masalah

Aplikasi permainan (game) merupakan aplikasi yang saat ini masih terus berkembang dan sangat diminati pengguna telepon genggam (handphone) sebagai salah satu fitur entertainment pada handphone yang sudah menggunakan fitur “Java Enable”. Salah satu aplikasi permainan yang digemari ialah sudoku dengan berbagai variasi permainannya. Dengan mewabahnya game yang bersifat mengasah logika para pemain, maka aplikasi permainan ini sangat cocok untuk dimainkan pada handphone. Sudoku sebagai sebuah permainan teka-teki angka yang sederhana, telah menyihir seluruh dunia mulai dari anak-anak sampai orang tua. Untuk memainkan puzzle angka ini pemain tidak perlu berpikir keras, tidak harus mempunyai intelektualitas yang tinggi, dan tidak perlu handal berhitung, karena yang dibutuhkan hanya kemampuan berpikir secara logika, kesabaran tinggi dan ketajaman akurasi.

Untuk merancang permainan sudoku yang interaktif diperlukan solusi algoritma untuk mengacak (generate) teka-teki sudoku, dari permasalahan tersebut maka dipilihlah algoritma runut-balik. Algoritma Runut-balik (backtracking) adalah algoritma yang berbasis pada DFS (Depth First Search) untuk mencari solusi persoalan secara lebih mangkus. Backtracking, yang merupakan perbaikan dari algoritma brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada.

2 Landasan Teori

2.1 Permainan

Permainan merupakan sebuah aktivitas rekreasi dengan tujuan bersenang- senang, mengisi waktu luang, atau berolahraga santai. Permainan biasanya dilakukan sendiri atau bersama-sama.

2.1.1 Permainan Komputer

Permainan komputer (computer game) adalah permainan yang menggunakan interaksi antarmuka pengguna melalui gambar yang dihasilkan oleh piranti grafis komputer. Permainan komputer umumnya menyediakan sistem penghargaan, misalnya skor yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesaikan tugas-tugas yang ada di dalam permainan. Sistem elektronik yang digunakan untuk menjalankan permainan komputer disebut platform, contohnya adalah komputer pribadi,

(5)

konsol permainan ataupun perangkat keras telepon genggam. Masing-masing alat tersebut memiliki suatu platform yang nantinya digunakan sebagai landasan dalam memprogram suatu aplikasi permainan.

2.2 Sudoku

Sudoku adalah permainan yang mirip teka-teki silang dengan aturan permainan yang sederhana saja. Dalam versi normalnya tersedia 81 kotak yang terdiri atas 9 kolom dan 9 baris. Kotak besar itu dibagi lagi menjadi 3 x 3. Cara mengisinya adalah dengan mengisi kotak-kotak tersebut dengan angka dari 1 sampai 9. Syaratnya tidak boleh ada pengulangan angka dalam 1 kolom, 1 baris, dan juga dalam 1 kotak parsial (sub-grid). Sebagai permulaan, beberapa kotak telah diisi dengan angka-angka pembuka atau biasa disebut sebagai soal sudoku. Tugas dari setiap pemain nantinya harus bisa mengisi setiap kotak yang masih kosong sesuai aturan yang berlaku. Meskipun aturannya sederhana namun penyelesaian teka-teki ini tidak semudah aturannya. Tentu saja tingkat kesulitan tiap teka-teki dapat bervariasi.

Gambar 2.1 Permainan Sudoku

2.3 Sudoku Kata

Dalam perkembangannya muncul permainan sudoku dalam berbagai variasi, salah satunya ialah permainan sudoku yang menggunakan huruf atau lebih dikenal

(6)

dengan nama wordoku (sudoku kata). Dalam variasi permainan ini ada penambahan aturan dimana pemain nantinya juga bisa menebak kata yang disusun dari huruf yang menjadi soal. Kata yang dijadikan soal disesuaikan dengan bahasa yang dipakai oleh pengguna. Dalam setiap permainan baru kata akan diacak sehingga permainan akan bervariasi.

2.4 Teknik Penyelesaian Teka-Teki Sudoku

Dalam penyelesaian teka-teki sudoku telah dikembangan berbagai strategi untuk mencari solusi jawaban sudoku. Berbagai strategi penyelesaian soal dibuat berdasarkan tingkat kerumitan soal sudoku. Hal inilah yang nantinya dijadikan landasan bagi penulis dalam mengembangkan aplikasi permainan sudoku. Berikut ini berbagai macam strategi yang bisa digunakan yang sudah diurutkan berdasarkan tingkat kerumitan.

1. Teknik Naked Single

Sebagian besar teka-teki sudoku dapat diselesaikan menggunakan teknik ini. Sebagai contoh jika dalam sebuah baris ataupun kolom sudah terisi delapan kotak maka untuk kotak kesembilan sudah bisa ditentukan nilainya.

2. Teknik Hidden Naked

Teknik hidden naked merujuk dari hasil pengerjaan teknik eliminasi, yang berarti bahwa teknik ini bisa diaplikasikan jika teknik eliminasi sudah dijalankan. Teknik ini nantinya digunakan dengan cara memindai baris, kolom maupun sub grid dari sebuah yang sudah dipindai dengan teknik eliminasi.

3. Teknik Twins dan Triplets

Teknik berikut ini bukan digunakan untuk menentukan nilai pada suatu kotak tetapi digunakan untuk memperkecil kemungkinan angka yang muncul sehingga teknik lain bisa diaplikasikan. Pada setiap baris, kolom atau sub-grid yang dipindai nantinya akan dicari kemunculan dua angka yang sama (kembar) dari semua kemunginan yang ada.

4. Eliminasi Brute-force

Teknik ini sebenarnya hanya digunakan jika teknik-teknik sebelumnya tidak bisa menyelesaikan suatu teka-teki sudoku khususnya teka-teki sudoku yang memiliki tingkat kesulitan yang cukup sulit. Dalam kasus ini sebuah teka-teki sudoku hanya bisa diselesaikan dengan eliminasi brute-force yaitu dengan cara mencoba semua kemungkinan yang bisa diisikan setiap kotak. Teknik ini sama dengan cara untuk meng-generate suatu grid sudoku yaitu mengacak bilangan pada suatu posisi dan digabung dengan algoritma runut-balik untuk mengingat posisi yang sudah di-generate.

(7)

2.6 Algoritma Runut-balik

Menurut Muara dan Reinhard (2007, h.2) Algoritma runut-balik adalah algoritma yang berbasis pada DFS (Depth First Search) untuk mencari solusi persoalan yang lebih mangkus. Algoritma ini merupakan perbaikan dari algoritma brute force, dimana jika algoritma brute force akan membangkitkan semua kemungkinan solusi maka untuk algoritma runut-balik hanya kemungkinan yang mengarah ke suatu solusi saja yang akan dibangkitkan. Suatu kemungkinan solusi yang dibangkitkan akan dianalisisa oleh suatu fungsi yang bertugas untuk mengecek alur kemungkinan suatu solusi. Jika kemungkinan tadi tidak bisa mencapai suatu solusi maka proses berikutnya tidak akan dilanjutkan. Secara teori algoritma ini lebih cepat jika dibandingkan algoritma brute force karena hanya kemungkinan yang mengarah ke suatu solusi saja yang akan terus diproses.

Algoritma ini mencari solusi secara sistematis dan merupakan perbaikan dari pencarian solusi secara exhaust search. Untuk memfasilitasi pencarian secara sistematis maka dalam prosesnya algoritma ini membentuk suatu struktur pohon yang dibuat secara tidak nyata (abstract). Struktur pohon dibuat berdasarkan ruang solusi yang terbentuk dimana setiap simpul pohon mewakili status persoalan dan cabang-cabang yang terbentuk mewakili alur dari himpunan solusi dan dikenakan keterangan disetiap sisinya. Untuk awal mula solusi yang terbentuk disebut akar dan setiap simpul yang berada pada sisi paling luar dinamakan daun. Sehingga sebuah lintasan dari akar ke daun bisa disebut sebagai solusi-solusi yang mungkin, dan akhirnya setiap lintasan akan membentuk ruang solusi.

2.6 Prinsip Pencarian Solusi Menggunakan Algoritma Runut-Balik

Langkah-langkah dalam mencari solusi menggunakan algoritma runut-balik (Muara dan Reinhard, 2007, h.2).

1. Ruang solusi dibentuk dari lintasan-lintasan yang disusun dari simpul-simpul yang berkaitan dari akar ke daun. Dalam membangkitkan simpul-simpul tadi digunakan aturan metode Depth First Search (DFS) yaitu metode pencarian mendalam. Proses pembentukan lintasan diawali dengan membangkitkan simpul awal dan dilanjutkan dengan membangkitkan simpul baru yang disebut simpul hidup (live node). Simpul-simpul baru yang dibangkitkan akan diberi nomor sesuai urutan kebangkitannya.

(8)

2. Simpul yang baru dibentuk akan dianalisa menggunakan fungsi pembatas, bila simpul baru tidak mengarah ke suatu solusi maka simpul ini akan dimatikan dan diberi keterangan sebagai simpul mati (death node).

3. Dalam membentuk lintasan terakhir jika berakhir dengan simpul mati maka lintasan akan dihentikan dan kemudian akan membentuk lintasan baru dari simpul sebelumnya yang berarti akan membuat cabang baru, proses ini dinamakan sebagai runut-balik

4. Pencarian solusi dikatakan berhasil jika simpul baru sudah tidak ditemukan dan syarat dari sebuah solusi sudah terpenuhi.

2.7 Java 2 Mobile Edition

J2ME digunakan untuk pengembangan sistem mikro dan embedded, meliputi handphone, pager, PDA, dan lain-lain. Teknologi ini kemudian juga dibagi menjadi dua bagian besar, yaitu teknologi CLDC (meliputi MIDP yang sangat terkenal, Bluetooth, dan lain-lain) dan teknologi CDC (meliputi JDBC, yaitu teknologi database dan RMI).Salah satu kelebihan java yang paling signifikan adalah teknologi serta bahasa pemrograman yang bisa berjalan pada berbagai platform seperti semboyannya, yaitu “Write Once, Run Everywhere”. Dengan kelebihan ini, para pengembang aplikasi yang sudah terbiasa mengembangkan aplikasi dalam bingkai kerja J2SE dan J2EE, akan mampu bermigrasi dengan mudah untuk mengembangkan aplikasi J2ME. Selain itu, Java merupakan platform yang memiliki banyak keunggulan lain.

3. Analisis Dan Perancangan

3.1 Rincian Permainan

Aplikasi permainan melakukan tiga hal dalam membuat permainan baru, yaitu membangkitkan grid yang sudah terselesaikan, mengacak kotak-kotak yang dijadikan soal,dan menentukan tingkat kerumitan soal berdasarkan metode cara penyelesaian soal. Dalam membangkitkan grid yang sudah terselesaikan digunakan algoritma runut-balik. Setiap grid yang dibangkitkan harus sesuai dengan aturan permainan sudoku. Selain itu untuk variasi sudoku kata, sebelum grid itu dibangkitkan permainan akan mengacak posisi dari deretan huruf yang membentuk suatu kata.

Pada awal permainan aplikasi harus menentukan kata yang akan dijadikan soal. Untuk itu aplikasi juga harus bisa menyimpan sekumpulan kata yang akan dijadikan soal. Kata-kata yang dipilih juga harus memiliki ketentuan, yaitu kata harus berjumlah 9 huruf

(9)

dan tidak terdapat pengulangan huruf dalam kata tersebut. Contoh kata yang memenuhi ketentuan ialah “PERMUTASI”. Nantinya huruf dalam kata ini dijadikan pengganti angka dalam permainan sudoku. Misalnya huruf “P” sebagai pengganti angka 1, huruf “E” sebagai pengganti angka 2 dan seterusnya.

Setelah proses penentuan kata dan penentuan posisi kata maka langkah selanjutnya aplikasi akan membangkitkan grid sudoku yang sudah terselesaikan. Grid sudoku yang digunakan berukuran 9 x 9 yang berarti ada 81 kotak dalam permainan ini. Dalam proses pembangkitan nantinya grid akan diisi dengan himpunan huruf dari kata yang sudah ditentukan. Setelah proses pembangkitan grid selesai, langkah berikunya ialah menentukan sel-sel yang akan dijadikan soal. Proses ini nantinya akan disinkronkan dengan proses penyelesaian soal sudoku menggunakan metode tertentu yang sudah ditentukan tingkat kerumitannya. Semua proses nantinya akan dilakukan secara iteratif hingga ditemukan grid yang sesuai tingkat kerumitannya. Maka urutan proses dapat digambarkan sebagai berikut.

Gambar 3.1 Flowchart proses pembangkitan grid sudoku Membangkitkan grid yang

sudah terselesaikan

Mengacak posisi kotak yang akan dijadikan soal

Mencari solusi dari grid

Apakah solusi yang ditemukan sesuai dengan tingkat kerumitan ? Ya Tidak Pembangkitan ulang grid Mulai Selesai

(10)

3.2 Algoritma pembangkit grid sudoku

Algoritma runut-balik yang digunakan dalam membangkitkan grid nantinya bersifat iteratif. Di sini, kita hanya akan meninjau pencarian solusi pembangkitan pada pohon ruang status yang dibangun secara dinamis. Langkah-langkah pencarian solusi pembangkitan adalah sebagai berikut :

1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan yang dipakai adalah mengikuti metode pencarian mendalam (DFS). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup (live node). Simpul-simpul yang sudah dilahirkan dinamakan simpul hidup (live node). Simpul hidup yang sedang diperluas dinamakan simpul-e (expand node). Simpul dinomori dari atas ke bawah sesuai dengan urutan kelahirannya.

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 diperluas 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 melakukan runut balik ke simpul hidup terdekat (simpul orangtua). Selanjutnya, simpul ini menjadi simpul-E yang baru. Lintasan baru dibangun kembali sampai lintasan tersebut membentuk solusi.

4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada lagi simpul hidup untuk runut-balik.

(11)

Gambaran proses diatas ialah sebagai berikut

Gambar 3.2 Flowchart proses pengacakan huruf.

3.3 Menentukan Tingkat Kesulitan Teka-teki

Dari beberapa strategi untuk menyelesaikan teka-teki sudoku yang sudah dibahas pada Bab II, teknik-teknik tersebut bisa diurutkan dalam kelompok tingkat kerumitan, dan dari kelompok tersebut masing-masing akan diberi nilai sebagai bobot kerumitan. Dari sebuah grid yang sudah di-generate akan dievaluasi nilai kerumitannya berdasarkan proses penyelesaian soal yang dijalankan oleh aplikasi. Nilai bobot kerumitan diambil dari bobot strategi yang digunakan untuk menyelesaikan seluruh soal. Selain itu faktor penentu tingkat kesulitan sudoku juga ditentukan oleh jumlah kotak kosong yang belum berisi nilai, semakin banyak kotak kosong maka semakin susah suatu teka-teki sudoku untuk diselesaikan.

Mengacak huruf Tempatkan huruf ke posisi aktif Cek huruf dengan fungsi pembatas

Geser posisi aktif ke posisi berikutnya Sudah diposisi akhir? Tidak Ya Sudah ada Belum ada Mulai Selesai

(12)

Masing-masing tingkat kesulitan nantinya ditentukan dari setiap proses penyelesaian teka-teki sudoku berdasarkan teknik-teknik yang sudah dibahas. Setiap proses yang sudah dijalankan nantinya akan menyimpan nilai bobot dari teknik yang digunakan dan pada akhir proses ketika teka-teki sudah terselesaikan maka nilai tersebut akan ditotal. Untuk itu kita perlu menentukan nilai bobot untuk masing-masing teknik.

Tabel 3.1 Tabel Bobot nilai

No. Teknik Nilai bobot

1 2 3 4 5 6 7 8 9 10 11 12

Teknik Naked Single

Teknik Hidden Single Pada Baris Teknik Hidden Single Pada Kolom Teknik Hidden Single Pada Sub-grid Teknik Twins Pada Baris

Teknik Twins Pada Kolom Teknik Twins Pada Sub-grid Teknik Triplets Pada Baris Teknik Triplets Pada Kolom Teknik Triplets Pada Sub-grid Teknik Brute-force

Teknik Brute-force dengan runut-balik

1 2 2 2 3 3 3 4 4 4 5 5

Berdasarkan keterangan tabel diatas jika proses penyelesaian teka-teki menggunakan teknik naked single pada langkah pertama maka nilai akan ditambahkan satu dan jika menggunakan teknik twins pada langkah kedua maka akan ditambahkan dua dan seterusnya sampai diakhir proses nantinya didapat nilai total. Selain itu kita juga harus menentukan jumlah kotak kosong untuk masing-masing tingkat kesulitan. Dari beberapa kali percobaan dalam meng-generate teka-teki sudoku dan kemudian mengevalusinya dengan semua teknik diatas maka penulis dapat menyimpulkan bahwa nilai total dari bobot teknik yang digunakan dapat ditentukan sebagai berikut.

Tabel 3.3 Kisaran Nilai Bobot Berdasarkan Tingkat Kesulitan

Tingkat Kesulitan Kotak Kosong Kisaran Nilai Bobot

1 (Mudah) 2 (Sedang) 3 (Susah) 4 (Sangat Susah) 40 sampai 45 46 sampai 49 50 sampai 53 54 sampai 58 40 sampai 52 53 sampai 64 65 sampai 76 > 76

(13)

4 Implementasi

Pada bab ini akan dibahas implementasi aplikasi permainan sudoku kata pada piranti telepon genggam merk Sony Ericsson tipe K300i. Alasan mengapa menggunakan handset ini karena sudah mendukung profil MIDP 2.0 dan termasuk handset kategori low end sehingga jika aplikasi bisa berjalan dengan baik pada piranti ini maka bisa dipastikan akan berjalan dengan baik pada piranti dengan hardware yang lebih baik.

4.1 Kebutuhan Minimal Sistem

Aplikasi ini secara minimal bisa dijalankan pada piranti yang sudah memiliki fitur Java Enabled dan memiliki konfigurasi CLDC 1.1 serta profil MIDP versi 2.0. Untuk piranti dari vendor Sony Ericsson bisa dijalankan pada tipe antara lain K300i, K310i, K510i, K600 dan K750.

4.2 Tampilan Aplikasi Permainan

Tampilan atau user interface merupakan salah satu hal terpenting dalam pembuatan aplikasi karena berhubungan langsung dengan penggunan. Untuk itu dalam tampilan aplikasi permainan ini dirancang semudah mungkin dalam hal penggunaan dan semenarik mungkin. Menu utama aplikasi berisi tiga menu yang terdiri dari menu mulai permainan baru, menu bantuan dan menu keluar. Menu permainan baru digunakan untuk menuju pilihan tingkat kesulitan, sedang untuk menu bantuan untuk menampilkan aturan dalam memainkan permainan sudoku kata, dan menu keluar untuk menutup aplikasi.

Gambar 4.1 Tampilan menu utama

Pada menu tampilan tingkat kesulitan, pengguna diharuskan memilih tingkat kesulitan untuk permainan sudoku. Tingkat kesulitan digunakan untuk menentukan jumlah kotak yang dijadikan soal, semakin susah tingkat kesulitan yang dipilih semakin banyak kotak yang dijadikan soal.

(14)

Gambar 4.3 Tampilan menu pilihan tingkat kesulitan ‘mudah’

Gambar 4.4 Tampilan menu pilihan tingkat kesulitan ‘sedang’

Dari contoh diatas pada permainan dengan tingkat kesulitan ‘mudah’ terdapat 41 kotak yang dijadikan soal. Jumlah ini sesuai dengan jumlah soal yang diharuskan ada pada permainan dengan tingkat kesulitan ‘mudah’ (Lihat tabel 3.4). Sedangkan untuk permainan dengan tingkat kesulitan ‘sedang’ terdapat 49 soal.

(15)

Gambar 4.6 Tampilan menu pilihan tingkat kesulitan ‘sangat susah’

Untuk tingkat kesulitan yang lain jumlah soal juga sesuai dengan tabel 3.4 yaitu sebanyak 50 soal untuk tingkat kesulitan ‘susah’ dan 58 soal untuk tingkat kesulitan ‘sangat susah’.

4.3 Cara Bermain Sudoku Kata

Dalam permainan ‘sudoku kata’ pemain akan mengisi kotak-kotak yang masih kosong yang jumlahnya tergantung dari tingkat kesulitan yang dipilih. Permainan akan berakhir jika pemain berhasil mengisi semua kotak kosong dan pemain dianggap telah menyelesaikan teka-teki. Untuk mengisi kotak yang masih kosong pemain tinggal memencet tombol Fire pada handphone maka akan muncul deretan huruf yang bisa dipilih.

Gambar 4.7 Tampilan menu huruf untuk pengisian kotak

Sebelum menekan tombol fire pemain bisa menggeser posisi cursor pada posisi yang diinginkan. Untuk menggeser pilihan huruf pemain bisa menggunakan tombol arah.panah kiri dan kanan, untuk memilihnya menggunakan tombol fire.

(16)

Gambar 4.8 Huruf sudah dipilih

Jika pemain akan memilih huruf yang sudah muncul pada area kolom, baris dan sub-grid yang sama maka huruf tidak bisa dipilih. Untuk menghapus huruf yang sudah dipilih pemain bisa menggunakan menu hapus yang ada dibagian kiri bawah layar. Selain itu ada tiga pilihan menu lagi yaitu ‘Reset’, ‘Jawaban’ dan ‘Selesai’.

Gambar 4.9 Tampilan menu saat bermain

Menu ‘Reset’ digunakan untuk mengkosongkan semua kotak kosong sudah diisi oleh pemain dan menu ‘Jawaban’ digunakan untuk menampilkan jawaban dari teka-teki yang sedang dimainkan. Sedang untuk keluar dari permainan pemain bisa menggunakan menu ‘Keluar’.

5. Kesimpulan

Kesimpulan yang bisa diambil dari penelitian ini,

1. Algoritma runut-balik cukup mangkus sebagai teknik pembangkit grid sudoku kata.

2. Kinerja algoritma runut-balik untuk membangkitkan grid sudoku pada piranti yang memiliki memory kurang dari 512 Kb cukup baik dilihat dari waktu prosesnya. 3. Dengan mengaplikasikan teknik penyelesaikan teka-teki sudoku, permainan

(17)

DAFTAR PUSTAKA

Fowler. dan Martin., 2005, UML Distilled edisi 3 Panduan Singkat Bahasa Pemodelan Objek Standar, Andi Offset, Yogyakarta.

Lee, M., 2006, Programming Sudoku , Apress, California.

Munawar., 2005, Pemodelan Visual dengan UML, Graha Ilmu, Yogyakarta

Muara. dan Reinhard., 2006, Penerapan Algoritma Runut Balik Dalam Gerak Animasi 3D, www.informatika.org/~rinaldi/Stmik/Makalah/MakalahStmik41.pdf diakses tanggal 20 Desember 2009.

Raharjo, B., Heryanto, I., Haryono, A., 2006 ,Tuntunan Pemrograman Java Untuk Handphone, Informatika, Bandung.

Sholiq., 2006, Pemodelan Sistem Informasi Berorientasi Objek dengan UML, Graha Ilmu, Yogyakarta.

Gambar

Gambar 2.1 Permainan Sudoku
Gambar 3.1 Flowchart proses pembangkitan grid sudoku Membangkitkan grid yang
Gambar 3.2 Flowchart proses pengacakan huruf.
Tabel 3.1 Tabel Bobot nilai
+2

Referensi

Dokumen terkait

bahwa dalam rangka mendukung percepatan realisasi investasi kepada perusahaan yang telah mendapatkan Izin Investasi/Izin Prinsip Penanaman Modal yang berlokasi di

Pengawetan ikan dilakukan dengan pendinginan terhadap ikan hasil tangkapan menggunakan sistem pendingin (refrigerasi). Sistem pendingin konvensional memerlukan

Secara simultan return on assets dan debt to equity ratio berpengaruh signifikan terhadap Sustainable growth rate pada perusahaan manufaktur sektor industri

Nilai yang Dirasa Kepercayaan merek Kepuasan Pelanggan Loyalitas Pelanggan H1 H3 H2.. 5 merupakan penelitian jenis pengujian hipotesis, yaitu menjelaskan mengenai

Tujuan penelitian ini adalah untuk meningkatkan keaktifan dan hasil belajar peserta didik pada mata pelajaran memahami prinsip-prinsip bisnis kelas XI H di SMK

Penetapan bagian buah yang dapat dimakan dari buah dan sayuran sangat penting dalam perhitungan rendemen produksi olahan buah dan sayuran.. Seperti halnya sifat

Pertanggalan yang terdapat pada Prasasti Rongkab dapat digolongkan sebagai kronologi absolut karena tercantum dalam prasasti yang dimaksud, sedangkan kronologi

Data tersebut dapat disimpulkan hipotesis diterima yang berarti terdapat pengaruh teknik relaksasi progresif terhadap penurunan reaktivitas tekanan darah pada karang