Perancangan Aplikasi Analisis Dan Implementasi Algoritma Minimax Dengan Optimasi Alpha Beta Pruning .

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