ANALISIS DAN PERANCANGAN
3.3. Pemodelan Analisis
Pada penelitian ini digunakan UML sebagai bahasa pemodelan untuk mendesain dan merancang aplikasi permainan. Model UML yang digunakan adalah use case diagram, activity diagram, dan class diagram.
3.3.1. Identifikasi use case diagram
Untuk mengetahui actor dan use case yang akan digunakan, maka dilakukan identifikasi actor dan identifikasi use case. Setelah mendapatkan actor dan use case
maka use case diagram dapat digambarkan.
Pengidentifikasian actor dalam aplikasi ini dilakukan dengan menjawab pertanyaan-pertanyaan berikut :
Jawaban : Pemain
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban : Pemain
3. Bagaimana pengguna menggunakan sistem?
Jawaban : Pemain menekan tombol permainan dan langsung bisa memainkan permainan yang telah disediakan dengan kata kunci berdasarkan kategori yang acak serta menyusun seluruh hurf pada board N x N. pemain juga dapat menggunakan menu yang ada pada halaman utama permainan.
Dengan demikian actor yang diperoleh adalah pemain. Untuk mendapatkan
use case dari pemain, maka harus ditentukan hal-hal apa saja yang dapat dilakukan pemain terhadap sistem. Berikut adalah hal-hal yang dapat dilakukan oleh pemain sebagai actor dalam sistem :
1. Membuka Aplikasi Permainan 2. Start Game
3. Memilih mode permainan
4. Menyusun huruf yang diacak pada board 5. Selesaikan permainan dengan String Matching
6. Menyimpan nama untuk highscore 7. Melihat highscore
8. Mengubah mode permainan pada preference 9. Keluar aplikasi
Berikut adalah use case diagram yang digambarkan berdasarkan actor dan use case yang diperoleh.
Membuka Aplikasi Permainan Membuka Aplikasi Permainan Star Game Star Game
Memilih Mode Permainan
Memilih Mode Permainan
Memainkan Game
Memainkan Game
Selesaikan Permainan dengan String Matching
Selesaikan Permainan dengan String Matching
Menyimpan nama untuk Highscore
Menyimpan nama untuk Highscore <<extends>> <<extends>> <<extends>> <<extends>> SISTEM Pemain
Gambar 3.6 Use Case diagram word scramble
a. Use case membuka aplikasi permainan
Berikut ini tabel dokumentasi naratif dari use case membuka Aplikasi Permainan.
Tabel 3.1Dokumentasi naratif use case memulai game
Nama use case membuka Aplikasi Permainan Aktor Pemain
Deskripsi Use case ini berfungsi untuk membuka aplikasi permainan word scramble
Normal flow Kegiatan aktor Respon sistem Pemain membuka aplikasi
yang telah diinstal sebelumnya.
Sistem menampilkan tampilan menu utama
Alternative flow Kegiatan aktor Respon sistem
- -
Post condition Sistem menampilkan permainan dan menu utama yang terdiri dari
lima pilihan, yaitu new, highscore, preference, tutorial, solve.
Activity diagram untuk use case Memulai game dapat dilihat pada gambar 3.7.
Buka Aplikasi Word Scramble
Menampilkan Menu utama SISTEM
PEMAIN
Gambar 3.7 Activity diagram membuka Aplikasi Permainan
b. Use case start game
Tabel 3.2Dokumentasi naratif use case start game
Nama use case Start Game
Aktor Pemain
Deskripsi Use case ini berfungsi untuk memulai permain word scramble.
Pre condition Menu utama sudah ditampilkan
Normal flow Kegiatan aktor Respon sistem
Pemain memilih menu start pada menu utama.
Sistem menampilkan pilihan mode permainan.
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back”
Sistem menampilkan dialog, yang menanyakan apakah pemain benar- benar ingin keluar atau tidak.
Post condition Sistem menampilkan dialog pilihan mode permainan
Activity diagram untuk use case start game dapat dilihat pada gambar 3.8.
Sistem Pemain
tap Start pada menu Utama
Menampilkan Menu Utama
Menampilkan Dialog Pilih Mode Permainan
c. Use case memilih mode permainan
Berikut ini tabel dokumentasi naratif dari use case memilih mode permainan.
Tabel 3.3Dokumentasi naratif use case memilih mode permainan Nama use case Memilih mode permainan.
Aktor Pemain
Deskripsi Use case ini berfungsi untuk menentukan mode permainan mana yang akan dimainkan.
Pre condition Pemain telah memilih start pada menu utama.
Normal flow Kegiatan aktor Respon sistem
Pemain milih salah satu mode permainan.
Sistem menampilkan papan permainan sesuai dengan mode yang telah dipilih oleh pemain.
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” atau menekan layar selain dialog.
Sistem kembali menampilkan menu utama.
Post condition Pemain dapat mulai memainkan permainan dengan tap and
Activity diagram untuk use case memilih mode permainan dapat dilihat pada gambar 3.9.
Sistem Pemain
Memilih salah satu mode permainan
Menampilkan Dialog Pilihan Mode Permainan
Menampilkan papan permainan
Gambar 3.9 Activity diagram Memilih mode Permainan
d. Use case menyusun huruf pada board
Berikut ini tabel dokumentasi naratif dari use case menyusun huruf pada
board.
Tabel 3.4 Dokumentasi naratif use case menyusun huruf pada board Nama use case Menyusun huruf pada board.
Aktor Pemain
Deskripsi Use case ini berfungsi agar pemain dapat menyelesaikan permainan.
Pre condition Pemain telah memilih mode permainan, dan papan
permainan telah ditampilkan.
Normal flow Kegiatan aktor Respon sistem
huruf pada board.
sesuai dengan instruksi pemain
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back”
Sistem menampilkan dialog konfirmasi apakah ingin keluar dari permainan atau tidak.
Pemain menekan tombol “menu”
Sistem menampilkan menu untuk “menyelesaikan permainan dengan String Matching”.
Post condition Apabila pemain menyelesaikan permainan dan
mendapatkan highscore, akan keluar dialog dan pemain bisa memasukkan namanya.
Activity diagram untuk use case menyusun huruf acak pada board permainan dapat dilihat pada gambar 3.10.
Menampilkan Board permainan
Menyusun huruf yang diinstruksikan oleh pemain
SISTEM PEMAIN
Melakukan tap atau drag huruf yang acak pada board
e. Use case selesaikan permainan dengan String Matching
Berikut ini tabel dokumentasi naratif dari use case Selesaikan Permainan dengan String Matching.
Tabel 3.5 Dokumentasi naratif use case Selesaikan Permainan dengan String Matching
Nama use case Selesaikan Permainan dengan String Matching Aktor Pemain
Deskripsi Use case ini berfungsi untuk menyelesaikan game dengan bantuan dari sistem
Pre condition Papan permainan telah ditampilkan.
Normal flow Kegiatan aktor Respon sistem
Pemain menekan tombol “menu” dan memilih
“menyelesaikan permainan dengan String Matching”
Sistem menampilkan permainan yang sudah di selesaikan
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” atau menekan layar selain menu.
Sistem akan kembali menampilkan papan permainan dan menghilangkan dialog menu yang sebelumnya tampil.
Post condition Sistem menampilkan permainan yang telah selesai dan
Activity diagram untuk use case Selesaikan Permainan dengan String Matching dapat dilihat pada gambar 3.11.
Menampilkan Board permainan
Me a pilka dialog selesaika de ga “tri g Mat hi g
SISTEM PEMAIN
Menekan Menu
Tap selesaika de ga “tri g Mat hi g
Menampilkan permainan yang sudah diselesaikan
Gambar 3.11 Activity diagram Selesaikan Permainan dengan String Matching
f. Use case menyimpan nama untuk highscore
Berikut ini tabel dokumentasi naratif dari use case Menyimpan nama untuk highscore
Tabel 3.6 Dokumentasi naratif use case menyimpan nama untuk highscore
Nama use case Menyimpan Nama untuk highscore
Aktor Pemain
Deskripsi Use case ini berfungsi untuk pemain agar bisa menyimpan namanya sebagai nilai tertinggi / highscore
Pre condition Permainan telah berhasil diselesaikan sendiri oleh pemain (bukan dengan bantuan sistem) dan skornya termasuk lima skor tertinggi.
Normal flow Kegiatan aktor Respon sistem
Pemain mengetik namanya pada text field yang ada pada alert dialog.
Sistem menyimpan nama dan skor pemain.
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” atau menekan layar selain menu.
Sistem tidak menutup alert dialog sebelum pemain menekan tombol “OK”
Post condition Sistem menampilkan papan permainan yang baru sesuai
mode permainan yang sebelumnya telah dimainkan.
Activity diagram untuk use case menyimpan nama untuk highscore dapat dilihat pada gambar 3.12.
Sistem Pemain
Pemain menyelesaikan permainan
Menampilkan alert dialog dan text field
menyimpan nama dan skor mengetikkan nama pada text field
g. Use case melihat highscore
Berikut ini tabel dokumentasi naratif dari use casemelihat highscore. Tabel 3.7 Dokumentasi naratif use casemelihat highscore
Nama use case Melihat highscore
Aktor Pemain
Deskripsi Use case ini berfungsi untuk melihat skor tertinggi permainan
Pre condition Pemain memilih highscore pada menu utama
Normal flow Kegiatan aktor Respon sistem
tap setiap tab. Menampilkan nilai tertinggi.
Alternative flow Kegiatan aktor Respon sistem
Menekan tombol “back”
Kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat highscore dapat dilihat pada gambar 3.13.
Menampilkan highscore SISTEM PEMAIN
Tap highscore
Gambar 3.13 Activity diagram melihat highscore
h. Use case melihat tutorial
Berikut ini tabel dokumentasi naratif dari use case melihat tutorial. Tabel 3.8 Dokumentasi naratif use case melihat tutorial
Nama use case Melihat tutorial
Aktor Pemain
Deskripsi Use case ini berfungsi untuk melihat aturan aplikasi permainan
Pre condition Pemain memilih tutorial pada menu utama
Normal flow Kegiatan aktor Respon sistem
- Menampilkan informasi mengenai
cara bermain pada permainan word scramble.
Alternative flow Kegiatan aktor Respon sistem Menekan tombol
“back”
Kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat tutorial dapat dilihat pada gambar 3.14.
PEMAIN SISTEM
Ta Tutorial
Menampilkan cara bermain game
Gambar 3.14 Activity diagram melihat tutorial
i. Use case melihat about
Berikut ini tabel dokumentasi naratif dari use casemelihatabout. Tabel 3.9 Dokumentasi naratif use case melihat about
Nama use case Melihat about
Aktor Pemain
Deskripsi Use case ini berfungsi untuk melihat informasi aplikasi permainan
Pre condition Pemain memilih about pada menu utama
Normal flow Kegiatan aktor Respon sistem
- Menampilkan informasi mengenai
permainan word scramble.
Alternative flow Kegiatan aktor Respon sistem
Menekan tombol “back”
Kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat about dapat dilihat pada gambar 3.15.
Sistem Pemain
tap "about"
menampilkan informasi permainan
j. Use Case keluar aplikasi
Berikut ini tabel dokumentasi naratif dari use casekeluar aplikasi. Tabel 3.10 Dokumentasi naratif use case keluar aplikasi Nama use case Keluar aplikasi
Aktor Pemain
Deskripsi Use case ini berfungsi untuk menutup aplikasi
Pre condition Pemain menekan tombol “back” di menu utama
Normal flow Kegiatan aktor Respon sistem
Menekan tombol “yes” ketika ada alert dialog yang muncul
Menutup aplikasi
Alternative flow Kegiatan aktor Respon sistem
Menekan tombol “no” Kembali ke menu utama
Post condition -
Sistem Pemain
Menu Utama
tap tombol back
Menampilkan alert dialog konfirmasi tutup aplikasi
Tap tombol yes
Menutup Aplikasi
Gambar 3.16 Activity diagram keluar aplikasi
3.3.2. Perancangan class diagram
Class diagram dirancang untuk menentukan objek-objek yang dibutuhkan untuk perancangan sistem. Setiap kelas memiliki attributes dan methods masing-masing sesuai dengan kebutuhan kelas tersebut.
Class diagram yang terdapat pada aplikasi word scramble yang akan dibuat terdapat pada gambar 3.16.
DictionaryCustomProvider() - getNextWord() - Idictionary() DictionaryFactory() - isCustomDictionary() - getDictionary() DictionaryFlat() - getNextWord() DictionaryLetter() - getNextWord() DictionaryNumber () - getNextWord() DictionaryStringArray() - getNextWord() TextViewGridController() - getGridView() - getSelectionWord() - onKey() - onTouch() - reset() - selectionAdd() - selectionEnd() - selectionStart() - selectionStartEnd() WordBoxController() - resetWord() - setLetter() - wordFound() - onClick() WordBoxControllerLand() - setWord() - setLetter() - wordFound() - resetWord() - getItemId() - getView() WordSearchActivityController() - getGridView() - getSelectionWord() - onKey() - onTouch() - reset() - selectionAdd() - selectionEnd() - selectionStart() - selectionStartEnd() WordDictionaryProvider() - DatabaseHelper() - query() - getType() - insert() - delete() - validateWord() - update() WordSearchActivity() - trackGame() - trackReplay() - onCreateOptionsMenu() - onCreateDialog() - getControl() WordSearchPreference() - updateCategorySummary() - updateSizeSummary() - updateTouchmodeSummary() - updateThemeSummary() MainActivity() - NewGame() - Preference() - Tutorial() - HighScore() - Solve() + Word() + Theme() + Grid() + dictionary
Gambar 3.17 Class Diagram Word Scramble
Kelas-kelas pada gambar 3.16 mempunyai kegunaannya masing-masing. Kelas-kelas tersebut dijelaskan pada tabel berikut :
Tabel 3.11 Penjelasan kelas-kelas pada class diagram word scramble
Kelas Kegunaan
MainActivity Merupakan kelas utama menampilkan menu utama
DictionaryStringArray Merupakan kelas untuk menambah kata DictionaryNumber Merupakan kelas untuk menambah
angka
DictionaryLatter Merupakan kelas untuk menambah kalimat
DictionaryFlat Merupakan kelas untuk menambah kata DictionaryFactory Merupakan kelas untuk menambah kata
diluar database dan mengambil kamus kata/angka yang telah dibuat
DictionaryCustomProvider Kelas utama dari dictionary sebagai pengambil kata dan pengkategorian kata yang telah dibuat dibawahnya.
WordSearchActivityController Merupakan kelas control seperti add, end, star, menyeleksi kata
WordBoxControllerLand Merupakan kelas control untuk menetukan kata, huruf , kata yang ditemukan, mereset kata.
WordBoxController Merupakan kelas control untuk menetukan kata, mereset kata, jenis klik yang digunakan
penghimpun katadari kelas dibawah nya
WordSearchPreference Merupakan kelas untuk merubah thema, kategori kata, ukuran grid dan mode touch
WordSearchActivity Merupakan kelas untuk menu option dan control dialog
WordDictionaryProvider Merupakan kelas utama untuk menampilkan atau pun mengubah dan menambah kalimat yang akan dicari pada board