APLIKASI PERMAINAN WAREHOUSE KEEPER DENGAN METODE PLESS GENERATOR Ramadhana1, M. Ikhsan2, Mardiana3 Jurusan Teknik Informatika Sekolah Tinggi Teknik Harapan Medan , Jl. HM Jhoni No 70 Medan,Indonesia
[email protected], Abstrak Game Warehouse Keeper adalah salah satu jenis permainan puzzle. Permainan ini memerlukan bilangan acak yang akan digunakan sebagai posisi dari kotak dan koordinat daerah tujuan. Untuk menghasilkan posisi koordinat acak, maka dapat diterapkan metode Pless Generator yang memerlukan bantuan konsep Linear Feedback Shift Register (LFSR). Perangkat lunak yang dirancang ini melakukan beberapa tahapan proses yaitu dimulai dari proses pengacakan posisi kotak dan koordinat daerah tujuan yang diwakili oleh truk, proses penentuan posisi dinding, proses pengecekan pergeseran yang valid dan proses pengecekan permainan. Perangkat lunak dibuat dengan menggunakan bahasa pemrograman Microsoft Visual Basic.NET 2010.Perangkat lunak ini menampilkan nilai yang diperoleh pemain.Perangkat lunak juga menampilkan high score yang diperoleh pemain. Selain itu, perangkat lunak juga menyediakan sebuah database file untuk menyimpan data nama user yang akan menggunakan permainan ini. Pengujian akan dilakukan dengan memainkan permainan Story Mode dan Endless Mode. Kata kunci: Breadth First Search (BFS), Warehouse Keeper, Pless Generator, permainan, Linear Feedback Shift Register (LFSR). Abstract Game Warehouse Keeper in one kind of puzzle games. This game needs random number that are used for determining the positions of box and destination positions. To generate random coordinate positions, then it will applied Pless Generator method which needs Linear Feedback Shift Register (LFSR) concepts. This software has several steps, i.e. starts from generate box positions and destination positions randomly which will be represented by trucks, determining positions of walls, checking valid movement process and game checking. The software is built by using Microsoft Visual Basic.NET 2010. This software will show the points that is achieved by player. The software also shows the high score that are achieved by players. Besides, the software also provides database file for saving the user name that will use this game. Testing process will be done by playing Story Mode and Endless Mode game. Keywords: Breadth First Search (BFS), Warehouse Keeper, Pless Generator game, Linear Feedback Shift Register(LFSR). 1.
Pendahuluan GameWarehouse Keeper adalah salah satu jenis permainan puzzle transportasi, dimana pemain mendorong kotak (box) di dalam sebuah gudang, dengan tujuan untuk menempatkan kotak tersebut pada lokasi penyimpanan yang telah ditentukan. Permainan ini banyak ditemukan dalam permainan video game. Warehouse Keeper pertama kali diperkenalkan pada tahun 1981 oleh Hiroyuki Imabayashi dan dipublikasikan pada 1982 oleh Thinking Rabbit, sebuah perusahaan software yang terletak di Takarazuka, Jepang. Permainan ini dimainkan pada sebuah papan persegi, dimana setiap elemen/tempat pada papan tersebut dapat berupa lantai ataupun dinding.Beberapa lantai terdapat kotak dan beberapa lantai ditandai dengan sebuah titik yang merupakan tempat penyimpanan kotak. Pemain akan dimasukkan ke dalam papan tersebut dan dapat bergerak secara horizontal ataupun vertikal pada papan yang kosong (tidak dapat melewati dinding ataupun kotak). Pemain
juga dapat menggeser sebuah kotak dengan cara mendorongnya, namun kotak tidak dapat didorong apabila didepannya terdapat kotak lainnya ataupun dinding. Permainan puzzle ini akan selesai apabila semua kotak telah diletakkan pada tempat penyimpanan. Untuk menentukan posisi awal dari kotak dan titik tersebut dapat diterapkan metode pengacakan, seperti Pless generator yang menggunakan sebuah algoritma pembangkit bilangan acak semu.Pless generator berusaha meningkatkan keamanan dari generator dengan menggunakan rangkaian JK flip-flop.Keistimewaan dari rangkaian JK flip-flop ini adalah memiliki keadaan toggle, yaitu keadaan yang berlawanan dengan keadaan sebelumnya bila terjadi transisi CLK yang sesuai. Penelitian ini mengangkat topik mengenai game Warehouse Keeper karena game ini merupakan salah satu jenis permainan puzzle yang relatif ringan dan termasuk ke dalam
2
minigamessehingga tidak memerlukan komputer dengan spesifikasi yang tinggi. Game berjenis puzzle ini selain dapat digunakan sebagai alat hiburan juga dapat digunakan sebagai alat untuk pembelajaran yaitu dapat melatih logika pengguna. Berdasarkan permasalahan di atas, maka rumusan masalah dari penelitian ini adalah bagaimana merancang interface untuk bermain Warehouse Keeper dan menerapkan Pless generator untuk menghasilkan angka acak yang akan digunakan dalam permainan Warehouse Keeper serta membuat suatu perangkat lunak permainan Warehouse Keeper dengan menggunakan bahasa pemrograman MicrosoftVisual Basic.NET 2010. Ruang lingkup permasalahan dalam merancang perangkat lunak ini dibatasi sebagai berikut: 1. Jumlah level permainan dibatasi maksimal 10 level. 2. Metode yang digunakan untuk mengacak posisi kotak adalah metode Pless Generator. 3. Metode yang digunakan untuk mencari solusi dari permainan adalah metode Breadth First Search (BFS). 4. Perangkat lunak akan dibuat dengan menggunakan bahasa pemrograman Microsoft Visual Basic.NET 2010. 5. Perangkat lunak akan menyediakan daftar 10 nilai tertinggi. 6. Database yang digunakan untuk menyimpan data user dan nilai yang diperoleh useradalah Microsoft Access 2007. Tujuan penyusunan skripsi ini adalah untuk merancang suatu perangkat lunak game Warehouse Keeper yang menerapkan Pless generator untuk menghasilkan angka acak yang akan digunakan. Manfaat dari penyusunan skripsi “Aplikasi Pless Generator pada Game Warehouse Keeper” yaitu: 1. Aplikasi dapat digunakan sebagai sarana hiburan yang cukup menarik. 2. Aplikasi permainan Warehouse Keeper dapat digunakan untuk melatih logika berpikir. 3. Laporan skripsi dapat dijadikan sebagai bahan referensi bagi mahasiswa lainnya yang ingin mengangkat topik mengenai permainan. Game adalah suatu latihan dari sistem kontrol yang suka rela, di mana terdapat suatu kontes adu tenaga, dibatasi oleh aturan-aturan untuk menghasilkan sebuah hasil yang tidak sama. Dalam sebuah game ada beberapa komponen yang ada, misalnya jenis game, karakter, background, suara gerakan, atau bahkan movie. Semua komponen tersebut sangat sangat penting dalam pembuatan
game, sehingga kalau membuat setiap komponen menarik, maka tentu saja game yang dibuat akan menarik dan tidak membosankan. (Diginnovac, 2011: 2-3) Kecerdasan buatan berasal dari bahasa Inggris “Artificial Intelligence” atau disingkat AI, yaitu intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan buatan yang dimaksud di sini merujuk pada mesin yang mampu berpikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia. (Sutojo, et. al., 2011: 1). Sokoban pertama kali diperkenalkan pada tahun 1981 oleh Hiroyuki Imabayashi dan dipublikasikan pada 1982 oleh Thinking Rabbit, sebuah perusahaan software yang terletak di Takarazuka, Jepang. Permainan ini dimainkan pada sebuah papan persegi, dimana setiap elemen/tempat pada papan tersebut dapat berupa lantai ataupun dinding.Beberapa lantai terdapat kotak dan beberapa lantai ditandai dengan sebuah titik yang merupakan tempat penyimpanan kotak. Pemain akan dimasukkan ke dalam papan tersebut dan dapat bergerak secara horizontal ataupun vertikal pada papan yang kosong (tidak dapat melewati dinding ataupun kotak). Pemain juga dapat menggeser sebuah kotak dengan cara mendorongnya, namun kotak tidak dapat didorong apabila didepannya terdapat kotak lainnya ataupun dinding. Permainan puzzle ini akan selesai apabila semua kotak telah diletakkan pada tempat penyimpanan. Sebagian kalangan menerjemahkan Artificial Intelligence sebagai kecerdasan buatan, kecerdasan artifisial, intelijensia artifisial, atau intelijensia buatan. (Suyanto, 2011: 2). Para ahli mendefinisikan AI secara berbeda-beda tergantung pada sudut pandang mereka masing-masing.Ada yang fokus pada logika berpikir manusia saja, tetapi ada juga yang mendefinisikan AI secara lebih luas pada tingkah laku manusia. (Suyanto, 2011: 2). “Bilangan acak murni atau true random number adalah bilangan dimana secara keseluruhan acak dan tidak dapat diprediksi” (Schneier, 2011: 369). “Suatu pembangkit bilangan acak semu menghasilkan suatu urutan nilai dimana elemenelemennya bergantung pada setiap nilai yang dihasilkan” (Schneier, 2011: 369). Bahasa pemrograman berdasarkan tingkat ketergantungannya dengan mesin bisa meliputi: 1. Machine-code languages Merupakan bentuk terendah dari bahasa komputer.Setiap instruksi dalam program direpresentasikan dengan kode numerik, yang secara fisik berupa deretan angka 0 dan 1.Sekumpulan instruksi dalam bahasa mesin bisa dibentuk menjadi microcode,
3
yaitu semacam prosedur dalam bahasa mesin.
2.
Assembly languages Merupakan bentuk simbolik dari bahasa mesin.Setiap kode memiliki kode simbolik, misalnya ADD untuk penjumlahan (addition) dan MUL untuk perkalian (multiplication). Pada bahasa assembly tersedia alat bantu untuk diagnostik (debug) yang tidak terdapat pada bahasa mesin. Contoh software yang ada untuk pengembangan dan debug bahasa assembly seperti Turbo Assembler dari Borland, Macro Assembler dari Microsoft, Turbo Debugger. 3. High-level languages Disebut tingkat tinggi karena lebih dekat dengan manusia.Memberikan fasilitas yang lebih mudah, serta mudah dimengerti dan dipelajari oleh pengguna.Pengguna tidak perlu mengetahui bagaimana representasi data ke dalam bentuk internal di memori, karena pekerjaan tersebut ditangani oleh suatu sistem yang mentranslasikan program bahasa tingkat tinggi ke dalam bahasa mesin. Contohnya Pascal, Visual Basic. 4. Problem-oriented language Memungkinkan penyelesaian untuk suatu masalah atau aplikasi yang spesifik.Contohnya SQL (Structured Query Language) untuk aplikasi database, QBE (Query by Example). (Junindar, 2008: 3) Metodologi Penelitian Fungsi dari UseCase adalah untuk memvisualisasikan aplikasi berbasis object oriented. Diagram Use Case dapat dilihat pada gambar 1 dibawah ini.
memainkan permainan serta mengatur tingkat kesulitan permainan, menampilkan daftar nilai tertinggi, dan menampilkan tentang pembuat. Activiy Diagram game Warehouse Keeper dapat dilihat pada gambar 2 dibawah. Berdasarkan gambar 2, untuk memulai aplikasi user dapat membuka aplikasi ini, pada saat user membuka aplikasi ini, akan disajikan tampilan awal berupa menu utama. Di dalam menu utama terdapat beberapa tombol yaitu : pilih user, bermain Warehouse Keeper, pengaturan, daftar 10 nilai tertinggi, dan mengenai pembuat. Pada menu utama user terlebih dahulu harus memilih tombol pilih user sebelum dapat memulai permainan.Setelah itu user dapat memilih tingkat kesulitan yang diinginkan ataupun dapat langsung memilih untuk bermain dengan tingkat kesulitan sebelumnya. Setelah memilih bermain maka permainan akan dimulai. Rancangan activity diagram yang menggambarkan proses pada permainan Warehouse Keeper dapat dilihat pada gambar 2 berikut: User
Sistem
Memulai permainan
Sistem menghasilkan stage baru dengan posisi kotak dan tujuan diacak
Pemain mengeser kotak
Ya
Tidak
Tidak
Tingkat kesulitan = ‘Hard’ dan Waktu = 0
Solusi ditemukan
Ya
Tidak
Ya Sistem meng-update nilai dari pemain
2.
Pilih Pemain
Sistem melanjutkan ke level berikutnya
Gambar 2. Rancangan Activity Diagram untuk Proses Permainan Warehouse Keeper Rancangan activity diagram yang menggambarkan proses pada pilih user dapat dilihat pada gambar3 berikut: User
Bermain Warehouse Keeper
<< include >> Pilih Tingkat Kesulitan
User
Sistem
Tampilkan Daftar Nilai Tertinggi
Ingin menambah user baru
Pemain memasukkan nama user baru
Sistem menyimpan nama pada database
Sistem menampilkan daftar nama yang tersimpan dalam database
Tampilkan Tentang pembuat
Gambar 1. Use Case Diagram Berdasarkan gambar 1 diatas dapat dilihat objek pada aplikasi ini hanya ada satu yaitu user.User memiliki wewenang untuk menjalankan perintah seperti : mengatur nama pemain,
Pemain memilih nama user
Sistem menyimpan nama ke memori sementara
Gambar 3. Rancangan Activity Diagram untuk Proses Pilih User
4
Rancangan activity diagram yang menggambarkan proses pengaturan dapat dilihat pada gambar 4 berikut: User
Sistem
Pemain memilih pilihan tingkat kesulitan yang diinginkan
Sistem menyimpan pilihan ke memori sementara
Gambar 4. Rancangan Activity Diagram untuk Proses Pengaturan Rancangan activity diagram yang menggambarkan proses daftar sepuluh nilai tertinggi dapat dilihat pada gambar 5. berikut: User
Sistem
Pemain menampilkan daftar sepuluh nilai tertinggio
Sistem membaca data nilai dari database
Sistem menampilkan 10 data nilai tertinggi
Gambar 5. Rancangan Activity Diagram untuk Proses Daftar Sepuluh Nilai Tertinggi Sequence diagram ini akan menggambarkan rangkaian langkah – langkah yang menggambarkan respon dari event pada aplikasi ini, gambaran dari sequence diagram pada aplikasi ini dapat dilihat pada gambar 6.
Berdasarkan gambar 6 diatas, user pertama sekali membuka aplikasi dan akan melihat tampilan menu utama. Di dalam menu utama user dapat melakukan interaksi dengan memilih menu menu yang disajikan oleh menu utama. Setelah melakukan pemilihan pada menu pilih user, maka sistem akan menampilkan form pilih user untuk kita pilih/isi. Setelah itu user dapat memilih tingkat kesulitan jika diinginkan, setelah itu user dapat melanjutkan untuk memilih menu bermain Warehouse Keeper. Jika permainan telah berakhir, maka sistem akan menampilkan form sepuluh nilai tertinggi. User juga dapat melihat bacaan tentang pembuat aplikasi dengan memilih menu tentang pembuat. Flowchart merupakan sebuah diagram dengan simbol – simbol grafis yang menyatakan aliran proses. Flowchart dibuat untuk membantu proses perancangan aplikasi yang sedang dibuat. Flowchart pada aplikasi Warehouse Keeper ini terbagi menjadi beberapa bagian yaitu : 1. Menu Utama Berdasarkan gambar 7, pada saat aplikasi dijalankan dan masuk ke menu utama, user wajib terlebih dahulu memilih namauser sebelum dapat melanjutkan ke permainan. Setelah user dipilih maka user dapat memilih menu permainan untuk menuju ke permainan,atau pilih tingkat kesulitan untuk mengatur tingkat kesulitan game atau melihat 10 nilai tertinggi ataupun melihat data tentang pembuat. Start
Menampilkan form Tentang Pembuat
Gambar 6. Rancangan Sequence Diagram
Bermain Sokoban
Pilih User
Menampilkan form Nilai Tertinggi
Menampilkan form bermain
Menampilkan form pilih kesulitan
Menampilkan form pilih user
Pilih User Menampilkan form menu
Masuk menu utama
User
Menu Utama
Pilih user
Pilih User
Pilih Kesulitan
Pilih Tingkat Kesulitan
Pilih Bermain
Bermain Sokoban
Pilih Nilai Tertinggi
Nilai Tertinggi
Pilih Tentang Pembuat
Tentang Pembuat
Menu
Daftar 10 nilai tertinggi
Pengaturan
Mengenai Pembuat
End
Gambar 7. Rancangan Flowchart Form Utama 2.
Menu User Berdasarkan gambar 8, dapat dilihat bahwa jika pemain memilih link pilih user maka pemain dapat membuat user baru untuk disimpan datanya di database ataupun menggunakan user yang sudah ada di database.
5
4.
Pilih User
Ingin membuat user baru
Tidak
Menu Daftar 10 Nilai Tertinggi Berdasarkan gambar 10, dapat dilihat bahwa jika pemain memilih link daftar 10 nilai tertinggi, maka sistem akan menampilkan 10 nilai tertinggi yang telah tersimpan di database. Daftar 10 nilai tertinggi
Ya
Tampilkan 10 nilai tertinggi
Input nama user baru
End Simpan nama user ke database
Pilih user yang diinginkan
Baca data nama user
Gambar 10. Rancangan Flowchart Daftar 10 Nilai Tertinggi 5. Menu Mengenai Pembuat Berdasarkan gambar 11, dapat dilihat bahwa jika pemain memilih link mengenai pembuat, maka sistem akan menampikan informasi mengenai pembuat aplikasi game Warehouse Keeper.
End
Mengenai Pembuat
Gambar 8. Rancangan Flowchart Form User 3.
Menu Pengaturan Berdasarkan gambar 9, dapat dilihat bahwa jika pemain memilih link pengaturan maka pemain dapat memilih salah satu dari tiga tingkat kesulitan yang disediakan. Setelah memilih maka pemain dapat mengklik tombol set untuk menyimpan tingkat kesulitan yang telah dipilih. Jika pemain mengklik tombol batal, maka tingkat kesulitan tidak akan disimpan. Pengaturan
Pilih radio button Easy
Ya
Tampilkan informasi mengenai pembuat End
Gambar 11. Rancangan Flowchart Mengenai Pembuat 3.
Hasil dan Pembahasan Untuk menjalankan aplikasi permainan Warehouse Keeper dengan metode Breadth First Search, maka dapat mengklik file ‘Warehouse Keeper.exe’ sehingga sistem akan menampilkan tampilan awal berikut:
Tingkat kesulitan = Easy
Tidak
Pilih radio button Medium
Ya Tingkat kesulitan = Medium
Tidak
Tidak
Pilih radio button Hard
Tidak Ya Tingkat kesulitan = Hard
Klik tombol ‘Set’
Ya
Tidak
Klik tombol ‘Batal’
Ya
Simpan tingkat kesulitan yang dipilih
End
Gambar 9. Rancangan Flowchart Form Pengaturan
Gambar 12. Tampilan Awal Untuk bermain game Warehouse Keeper, maka pertama kali harus memilih namauser terlebih dahulu dengan mengklik link ‘Nama User’, sehingga sistem akan menampilkan form Nama User berikut.
6
Gambar 13. Tampilan Pilih User Untuk menambah user baru, maka pemakai dapat mengklik tombol ‘Tambah’ sehingga sistem akan menampilkan input box Tambah User seperti terlihat pada gambar berikut.
Gambar 15. Tampilan Pilih Stage Keterangan: : menandakanstage yang sedang aktif untuk dimainkan.
Gambar 14. Tampilan Tambah User Pemakai dapat mengisi namauser baru dan mengklik tombol ‘OK’ untuk menyimpan data nama user ke dalam database. Untuk memilih namauser, maka pemakai dapat memilih pada daftar nama dan mengklik tombol ‘Pilih’ sehingga sistem akan menyimpan nama user yang dipilih ke dalam memori sementara dan menutup form Pilih User serta kembali ke tampilan awal. Setelah itu, pemain dapat memilih mode permainan, yaitu dengan mengklik link ‘Story Mode’ jika pemain ingin bermain Warehouse Keeper dengan menggunakan alur cerita dan klik link ‘Endless Mode’ jika pemain ingin bermain Warehouse Keeper tanpa alur cerita. Apabila pemain mengklik link ‘Story Mode’, maka sistem akan menampilkan form Pilih Stage berikut:
Pemain dapat menglik gambar stage yang terletak disamping gambar tanda keaktifan untuk memulai permainan, sehingga sistem akan menampilkan form permainan berikut.
Gambar 16. Tampilan Permainan Warehouse Keeper Sasaran dari permainan Warehouse Keeper adalah memasukkan semua kotak ke dalam truk sebelum waktu permainan berakhir. Kotak hanya dapat didorong apabila tidak terdapat dinding ataupun kotak lainnya didepan kotak yang akan didorong. Apabila permainan berakhir ataupun pemakai mengakhiri permainan, maka sistem akan menampilkan form High Score seperti terlihat pada gambar berikut.
7
5.
Daftar Pustaka
Bruce Schneier, 2011, Applied Crytography, Second Edition. Diginnovac, 2009.Panduan Dasar Digital Imaging dengan Photoshop, PT Elex MediaKomputindo, Jakarta. Gambar 17. Tampilan High Score
Junindar, 2008, Panduan Lengkap Menjadi 4.
Kesimpulan Setelah selesai mengkonstruksi perangkat lunak, penulis dapat mengambil beberapa kesimpulan sebagai berikut: 1. Metode Breadth First Search (BFS) dapat digunakan untuk menemukan posisi objek kotak dan kura-kura pada permainan Sokoban sesuai dengan aturan yang ditentukan. 2. Permainan Warehouse Keeper dapat digunakan untuk meningkatkan ketangkasan pemakai dalam melakukan pengaturan dan penyusunan objek. 3. Metode Pless generator dapat digunakan untuk menghasilkan angka acak yang akan digunakan dalam permainan Warehouse Keeper 4. Perangkat lunak permainan Warehouse Keeper yang dihasilkan dapat digunakan untuk bermain permainan Warehouse Keeper pada komputer. 5. Permainan Warehouse Keeper yang dibuat dengan menggunakan bahasa pemrograman MicrosoftVisual Basic.NET 2010 menyediakan fasilitas penyimpanan nilai tertinggi yang diperoleh pemain. 6. Posisi kotak dalam permainan Warehouse Keeper dapat ditentukan secara acak dengan menggunakan aturan tertentu agar hasil pengacakan tetap memiliki solusi.
Programmer Membuat Aplikasi Penjualan Menggunakan VB.Net.Cetakan ke-3. Media Kita, Jakarta. Jusuf Kurniawan, 2012, Kriptografi, Keamanan Internet dan Jaringan Komunikasi, Penerbit Informatika Bandung. Munir, R., 2008,Pengantar Kriptografi, Penerbit Informatika Bandung. http://elib.unikom.ac.id/files/disk1/582/jbptu nikompp-gdl-daniaprial-29060-8unikom_d-i.pdf, tanggal akses 7 Januari 2016. https://id.wikipedia.org/wiki/Kecerdasan_bua tan, tanggal akses 7 Januari 2016. Suyanto. 2011. Artificial Intelligence, Penerbit Informatika, Bandung. T. Sutojo, Edy Mulanto dan Vincent Suhartono. 2011. Kecerdasan Buatan, Penerbit Andi, Yogyakarta.