dilakukan, disinilah letak tugas dari algoritma Minimax dan Alpha Beta Pruning. Minimax dan Alpha Beta Pruning akan menelusuri node-node tersebut hingga
diperoleh hasil maksimal yang terdapat pada pohon permainan.
Namun ada kalanya terdapat beberapa kondisi yang perlu dilakukan beberapa pengecualian, misalnya ada kondisi permainan yang memiliki value total
yang sama, sehingga agen harus mengambil keputusan yang tepat dengan melakukan memilih prioritas. Berikut adalah beberapa parameter yang perlu
diterapkan untuk kondisi khusus. 1.
Apabila ada dua value yang sama, dan keduanya merupakan nilai terbaik maka agen akan memilih node yang terlebih dahulu didapatkan atau
ditelusuri. 2.
Jika agen menemukan formasi empat, misalnya comp_capped4 atau comp_uncapped4, maka tidak perlu lagi dilakukan penghitungan value.
Agen akan langsung membentuk Five In Row.
3.2 Perancangan Aplikasi
Menurut John Burch dan Gary Grudnitski dalam Yatini 2007 menyebutkan bahwa perancangan dapat didefinisikan sebagai penggambaran, perencanaan dan
pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam suatu kesatuan yang utuh dan berfungsi.
Perancangan sistem dapat dibagi menjadi dua tahap yaitu perancangan konseptual dan perancangan fisik yang tujuan utamanya adalah menghasilkan
suatu rancangan yang mampu memenuhi kebutuhan pengguna aplikasi.
Universitas Sumatera Utara
3.2.1 Perancangan Konseptual
Tahapan perancangan ini menitikberatkan pada perencanaan konsep, misalnya sistem kontrol, rancangan modul dan aliran data.
Berikut adalah diagram UML dari aplikasi Five in Row ini yang dibuat dengan perangkat lunak Bouml.
3.2.1.1 Deskripsi Class Diagram Aplikasi
Sebuah aplikasi tentunya memerlukan gambaran sistem secara menyeluruh agar perancangan fisik aplikasi menjadi lebih mudah. Gambaran umum class diagram
aplikasi Five in Row dapat dilihat pada gambar di bawah ini.
Gambar 3.10 Class Diagram
Diagram di atas menunjukkan hubungan asosiasi dari masing-masing class secara keseluruhan. Namun tanggung jawab dan fungsi dari class – class
tersebut belum terdefenisi. Untuk itu perlu dibuat CRC Class, Responsibility and
Universitas Sumatera Utara
Collaboration Card dari masing-masing class. Berikut ini adalah CRC Card dari masing-masing class.
Tabel 3.5 CRC Card Class Interface
Class Name : Interface
Responsibilities Collaborations
1. Create tampilan board.
2. Create tampilan menu-menu
pada interface. 3.
Clear board untuk new game. 1.
Memanggil class Board. 2.
Memanggil class
Constanta untuk mendefinisikan Col dan
Row Board.
Tabel 3.6 CRC Card Class Constanta
Class Name : Constanta
Responsibilities Collaborations
1. Mendefenisikan banyaknya
kolom. 2.
Mendefenisikan banyaknya baris.
3. Mendefenisikan kondisi
kemenangan. 4.
Mendefinisikan ComputerPiece, UserPiece dan NoPiece.
Tabel 3.7 CRC Card Class Check
Class Name : Check
Responsibilities Collaborations
1. Memeriksa akhir permainan.
2. Memeriksa kondisi
kemenangan. 3.
Memeriksa formasi piece. 1.
Check memanggil
class Constanta.
Universitas Sumatera Utara
Tabel 3.8 CRC Card Class AIPlayer
Class Name : AIPlayer
Responsibilities Collaborations
1. Evaluasi nilai formasi piece.
2. Membangkitkan gerakan
selanjutnya. 3.
Mengaktifkan ABPruning. 4.
Set Level yang telah ditentukan user.
1. Berasosiasi dengan class Check
Tabel 3.9 CRC Card Class Game
Class Name : Game
Responsibilities Collaboration
1. Menentukan giliran pemain.
2. Membaca gerakan pemain.
1. Menampilkan piece untuk class
Interface.
Tabel 3.10 CRC Card Class User
Class Name : User
Responsibilities Collaborations
1. Mendefinisikan objek piece.
1. Menggunakan ActionListener
untuk membaca inputan user.
3.2.1.2 Deskripsi Kebutuhan Fungsional Aplikasi
Use case adalah teknik untuk mendeskripsikan persyaratan fungsional sebuah sistem. Fungsi use case adalah mendeskripsikan interaksi antara user dan aplikasi
secara ekternal, mirip dengan diagram konteks pada DFD sehingga tidak dijumpai adanya hubungan antara use case dengan class-class. Berikut adalah diagram use
case aplikasi Five in Row.
Universitas Sumatera Utara
Gambar 3.11 Use case Aplikasi
3.2.1.3 Deskripsi Proses dan Aktivitas Aplikasi
Proses yang akan dideskripsikan adalah proses yang terdapat pada diagram use case di atas, yaitu Play, New game, Level dan About. Sedangkan aktivitas aplikasi
akan digambarkan dengan activity diagram.
Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis dan aplikasi kerja Fowler, 2005. Activity diagram sebenarnya mirip
dengan flowchart namun diperluas dengan menunjukkan aliran kendali dari satu aktivitas ke aktivitas lain dan mendukung behavior paralel.
Berikut ini adalah tabel proses dan diagram aktivitas untuk use case di atas.
1 Play
Berikut ini adalah tabel proses dan activity diagram Play.
Universitas Sumatera Utara
Tabel 3.11 Proses Play Hal
Deskripsi
Usecase Name Play
Brief Description Player menjalankan aplikasi dan
langsung mulai bermain melawan AI.
Precondition Aplikasi aktif.
Flow of Events 1.
Player menjalankan aplikasi Five in Row.
2. Sistem menampilkan
interface aplikasi. 3.
Player meletakkan
UserPiece pada board. 4.
Aplikasi membaca inputan Player.
5. Aplikasi mengevaluasi nilai
formasi piece
dan membangkitkan gerakan
komputer. 6.
Posisi ComputerPiece ditampilkan pada board.
7. Jika permainan berakhir
maka sistem akan menampilkan
message dialog menang, kalah atau
seri. Post Condition
Tampilan message dialog. Alternative Flows and Exception
Jika permainan belum berakhir maka proses akan kembali
berulang, dan Player diminta melangkah lagi.
Universitas Sumatera Utara
Gambar 3.12 Activity diagram Play
2 New game
Berikut ini adalah tabel proses dan activity diagram New game.
Tabel 3.12 Proses New game Hal
Deskripsi
Usecase Name New game
Brief Description Proses ini berfungsi untuk memulai
permainan baru dan menampilkan new board.
Precondition Permainan sebelumnya telah berakhir
atau Player ingin mengganti level. Flow of Events
1. Aplikasi menampilkan papan
permainan. 2.
Player memilih menu new game
Universitas Sumatera Utara
3. Aplikasi akan menerima inputan
Player dan menghapus objek pada papan permainan.
4. Aplikasi menampilkan papan
permainan baru. Post Condition
Tampilan new board. Alternative Flows and Exection
Tidak ada.
Gambar 3.13 Activity diagram New game
3 Level
Berikut ini adalah tabel proses dan activity diagram Level.
Tabel 3.13 Proses Play Hal
Deskripsi
Usecase Name Level
Brief Condition Proses ini memungkinkan Player untuk
mengubah level permainan. Precondition
Level default = 2. Flow of Events
1. Aplikasi menampilkan papan
Universitas Sumatera Utara
permainan. 2.
Player memilih menu level dan mengubah level permainan.
3. Aplikasi menetapkan level
pilihan Player sebagai level baru.
4. Aplikasi menampilkan new
board. Post Conditions
AIPlayer bermain sesuai dengan level. Alternative Flows and Exception
Tidak ada.
Gambar 3.14 Activity diagram Level
4 About
Berikut ini adalah tabel proses dan activity diagram About.
Tabel 3.14 Proses About Hal
Deskripsi
Usecase Name About
Brief Conditions Proses ini berfungsi untuk
Universitas Sumatera Utara
menampilkan informasi mengenai aplikasi.
Precondition Tidak ada.
Flow of Events 1.
Aplikasi menampilkan interface papan permainan beserta
menubar. 2.
Player memilih menu About. 3.
Aplikasi akan menampilkan jendela about.
Post Condition Tidak ada.
Alternative Flows and Exception Tidak ada.
Gambar 3.15 Activity diagram About
3.2.1.4 Deskripsi Sequence Diagram Aplikasi
Sequence Diagram digunakan untuk memodelkan barisan kejadian yang terjadi selama satu eksekusi sistem. Fungsi Sequence Diagram antara lain untuk
overview perilaku sistem, memperlihatkan objek-objek yang diperlukan,
Universitas Sumatera Utara
mendokumentasikan skenario dari suatu use case serta memeriksa jalur pengaksesan.
1 Play
Sebelum membuat sequence diagram, terlebih dahulu perlu diketahui class – class yang terlibat dalam proses Play ini.
Gambar 3.16 Komponen Play
Rangkaian kejadian yang terjadi pada proses Play akan dipaparkan sebagai berikut.
1. Player melakukan aktivasi aplikasi.
2. Class Interface akan memanggil class Board untuk menampilkan papan
permainan dan sebagai reaksi, class Board menampilkan new board. 3.
Setelah tampilan aplikasi muncul maka Player dapat memulai permainan dengan meletakkan UserPiece pada papan.
4. Class Interface membaca inputan Player dengan bantuan class
ActionListener. Informasi inputan Player akan diberikan kepada class Game, sehingga class Game dapat menentukan giliran pemain selanjutnya.
Universitas Sumatera Utara
5. Class Game mendefinisikan bahwa pemain selanjutnya adalah komputer,
dengan demikian class AIPlayer akan memanggil class Check untuk memeriksa formasi yang terdapat pada papan.
6. Class Check akan memberikan info formasi kondisi papan permainan
kepada class AIPlayer untuk kemudian dihitung nilai evaluasinya. 7.
Class AIPlayer kemudian membangkitkan gerakan untuk mengimbangi permainan user.
8. ComputerPiece yang dibangkitkan class AIPlayer akan ditampilkan pada
interface sehingga user dapat melihat posisi komputer. 9.
Proses dari nomor 3 hingga nomor 8 akan terus berulang hingga akhir permainan. Class Check akan selalu mengawasi papan permainan dengan
melakukan terminalTest. 10.
Apabila permainan berakhir maka class Check akan memberikan informasi kepada class Inteface, sehingga class Interface dapat
menampilkan message dialog kemenangan, kekalahan atau seri.
Gambar 3.17 Sequence Diagram Play
2 New game
Class – class yang terlibat dalam proses New game serta diagram sekuensialnya dapat dilihat pada gambar di bawah ini.
Universitas Sumatera Utara
Gambar 3.18 Komponen New game
Rangkaian kejadian pada proses New game akan dipaparkan sebagai berikut.
1. Player melakukan pemilihan menu New game.
2. Class Interface akan melakukan pemanggilan terhadap class Board,
kemudian mengeset new board. 3.
Class Board akan melakukan aksi clear board sehingga isi papan kembali kosong.
4. Class Interface kemudian akan menampilkan new board.
Gambar 3.19 Sequence Diagram New game
Universitas Sumatera Utara
3 Level
Class – class yang terlibat dalam proses Level serta diagram sekuensialnya dapat dilihat pada gambar di bawah ini.
Gambar 3.20 Komponen Level
Rangkaian kejadian pada proses Level akan dipaparkan sebagai berikut. 1.
Player melakukan pemilihan menu Level. 2.
Class Interface akan membaca inputan Player dan mendefinisikan level baru terhadap class AIPlayer.
3. Class AIPlayer akan diset sesuai dengan level pilihan Player.
4. Setelah mengeset Level, maka Class Interface akan memanggil class
Board untuk menampilkan papan permainan baru. 5.
Class Board melakukan aksi clear board dan menampilkan new board pada class Interface.
Universitas Sumatera Utara
Gambar 3.21 Sequence Diagram Level
4 About
Class – class yang terlibat dalam proses About serta diagram sekuensialnya dapat dilihat pada gambar di bawah ini.
Gambar 3.22 Komponen About
Rangkaian kejadian pada proses About akan dipaparkan sebagai berikut. 1.
Player melakukan pemilihan menu About.
Universitas Sumatera Utara
2. Class Interface akan segera menampilkan jendela menu About yang berisi
tentang aturan permainan dan author aplikasi. 3.
Player dapat membaca isi dari menu About tersebut.
Gambar 3.23 Sequence Diagram About
3.2.2 Perancangan Fisik
Pada tahap ini rancangan yang telah dibuat pada perancangan konseptual diterjemahkan ke dalam bentuk fisik sehingga terbentuk spesifikasi yang lengkap.
Tahapan ini menitikberatkan pada proses rancang bangun antarmuka interface, rancangan basis data dan sebagainya.
3.2.2.1 Perancangan Antarmuka
Perancangan antarmuka merupakan tahap penting, sebab di sini user akan melakukan interaksi dengan aplikasi. Antarmuka yang akan dibangun harus
sederhana namun cukup menarik dalam arti tidak berlebihan sehingga mudah dipahami dan dipelajari user.
Universitas Sumatera Utara
1 Papan Permainan
Berikut adalah gambar rancangan antarmuka aplikasi Five in Row.
X
-
Game About
Five In Row
Gambar 3.24 Interface Aplikasi
Layar antarmuka ini akan langsung ditampilkan begitu user mengeksekusi program aplikasi. Tampilan antarmuka ini terdiri dari papan permainan dan menu
bar.
2 Menu
Menu perlu ditampilkan pada aplikasi sebagai petunjuk dan pemandu bagi user untuk mengetahui fitur-fitur atau fasilitas yang terdapat pada aplikasi. Berikut
adalah gambar tampilan antarmuka menu pada aplikasi ini.
Universitas Sumatera Utara
Gambar 3.25 Submenu Game
Apabila user mengklik menu Game maka akan muncul pop up menu yang terdiri dari New game, Level dan Exit seperti gambar di atas. Pada masing –
masing submenu terdapat huruf awal yang digarisbawahi, ini berarti user dapat melakukan pemilihan dengan inputan keyboard sesuai dengan huruf yang
dimaksud, misalnya untuk memilih New game cukup tekan tombol N, tombol L untuk Level dan E untuk Exit.
Sedangkan jika user mengklik menu About, maka akan muncul message dialog yang berisi tentang petunjuk permainan serta author aplikasi seperti pada
gambar di bawah ini.
Gambar 3.26 Submenu About
Game Play
O K
X
Gambar 3.27 Tampilan Game Play dan Author
About Game Play
Game New game
Level Exit
Universitas Sumatera Utara
3 Message Dialog
Message dialog akan muncul ketika permainan berakhir, yang berisi pemberitahuan kemenangan, kekalahan ataupun seri kepada user.
Five In Row
Maaf, Anda Kalah
O K
Gambar 3.28 Message Dialog Kalah
Five In Row
Selamat, Anda Menang
O K
Gambar 3.29 Message Dialog Menang
Five In Row
Kita Seri
O K
Gambar 3.30 Message Dialog Seri
Universitas Sumatera Utara
3.2.2.2 Perancangan Piranti Masukan
Piranti interaksi merupakan alat bantu bagi user ketika menggunakan suatu aplikasi. Untuk itu perlu dirancang aplikasi dengan beberapa piranti masukan
yaitu mouse dan keyboard. Dengan adanya dukungan aplikasi terhadap kedua jenis piranti ini maka diharapkan user akan lebih merasa mudah dan nyaman saat
berinteraksi dengan aplikasi permainan ini.
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Aplikasi