Aplikasi game yang akan dibuat diberi nama Game Othello merupakan aplikasi game
berbasis JavaME yang hanya dapat dijalankan pada telepon seluler yang mendukung Java MIDP
2.0. Game ini termasuk jenis Strategi karena jenis game ini yang menentukan keahlian
Permainan othello dimainkan pada arena papan kotak-kotak persegi dengan koin hitam
dan putih di atas arena. Pada awal permainan diletakkan dua koin hitam dan dua koin putih pada
pusat arena. Koin warna hitam harus melewati koin warna putih agar koin putih dapat diubah
menjadi koin hitam, dan sebaliknya. Permainan akan berakhir jika semua kotak arena sudah
terisi koin, atau seluruh koin yang ada di atas arena berwarna sama. Pemenang adalah pemain
1. Aplikasi harus mampu mendeteksi dan memeriksa langkah yang bisa ditempati oleh
2. Aplikasi harus mampu menyimpan langkah permainan yang bertujuan jika pemain
3. Aplikasi harus mampu mencetak atau membuat peta baru ketika pemain melakukan
4. Aplikasi harus mampu menampilkan nama pemain dan nilai koin yang dikumpulkan.
5. Aplikasi harus mampu menampilkan sebuah pesan yang menyatakan bahwa pemain tidak
6. Mesin game harus mampu menghitung bobot tempat atau tempat yang bagus untuk
meletakkan koin.
pembuatan peta baru ketika pemain sedang memilih tempat untuk meletakkan koinnya.
4. Digunakan fungsi drawString() yang mampu mencetak nama pemain dan nilai
6. Digunakan kelas pesan yang mampu menampilkan informasi bahwasanya pemain mati
1. Membaca dan mendeteksi langkah-langkah yang bisa ditempati untuk meletakkan koin.
2. Melakukan Penghitungan jumlah koin yang didapat, baik koin pengguna maupun
Arsitektur sistem berisi uraian pendeskripsian subsistem dan komponen perangkat lunak
dispesifikasikan di dalam pandangan yang berbeda untuk menunjukkan properti fungsional dari
(Unified Modelling Language) yang akan dibangun sebelum melakukan implementasi. Diagram-
diagram ini meliputi diagram High Level Class, diagram Use Case, diagram Sequence, diagram
Dari permasalahan yang ada, terdapat sebelas class yang akan dikembangkan dalam
tahapan selanjutnya, yang terdiri dari sebuah Boundary class dan sepuluh Control class. gambar
Pada diagram Use case terdapat 1 aktor yaitu pengguna aplikasi. Dimana pengguna akan
berinteraksi dengan 5 Use case dalam aplikasi ini. Hal pertama yang dilakukan oleh pengguna
adalah membuka aplikasi game, kemudian aplikasi akan menyajikan pilihan menu-menu antara
lain bermain game, melihat tentang program, membaca petunjuk, memilih tingkat kesulitan dan
keluar aplikasi. gambar 3.2 merupakan Diagram Use case Aplikasi Game Othello.
Gambar 3.2 Diagram Use case Aplikasi Game Othello
Diagram class pada Aplikasi Game Othello menggunakan J2ME dibuat menggunakan
Reverse Engineering yang terdapat pada Netbeans 6.0. Diagram class ini menunjukan hubungan
antar beberapa class. Terdapat sebelas class dalam aplikasi ini, yaitu class Othello sebagai class
utama, class Gambar yang berfungsi untuk menyimpan gambar yang dibutuhkan, class
CanvasMenu yang berfungsi untuk menampilkan menu utama, class CanvasLevel yang berfungsi
untuk menampilkan menu level, class CanvasGame yang berfungsi untuk menampilkan papan
othello sebagai arena permainan, class menu yang berfungsi untuk pengaturan tampilan menu,
class Mapping yang berfungsi untuk pengaturan letak atau peta pada papan othello, class Cursor
yang berfungsi untuk pengaturan pergerakan kursor dan pengecekan posisi apakah posisi bisa
ditempati koin atau tidak, class ifEngine yang berfungsi sebagai tampilan mesin, class Engine
yang berfungsi sebagai mesin game Othello, dan class Pesan yang berfungsi untuk
Keterangan atribut dan operasi dari class utama yang terdapat pada gambar 3.1 dapat dilihat pada
Othello
Atributes Operations
Public int level Public CanvasMenu ( Othello utama )
Public boolean meuaktif Public void paint (Graphics g )
Vektor langkah Public void keyPresssed (int tombol )
Public int Player1 Public CanvasLevel ( Othello utama )
Public int Player2 Public void paint (Graphics g )
int offset = 15 Public void keyPressed ( int tombol )
int scorePemain = 0 Public CanvasGame ( Othello utama )
int scoreKomputer = 0 Public void setWarnaPlayer (int warnaPlayer)
String text Protected void paint (Graphics g )
Canvas canvas Public void keyPressed ( int tombol )
boolean aktif Public void hitungJumlahKoin ( )
int background = 0 Public void Unnamed ( )
int putih = 1 Public Pesan ( Canvas canvas )
Tabel 3.2 Lanjutan Diagram Class Game Othello
Othello
Atributes Operations
int hitam = 2 Public void paint ( Graphics g )
Public int data[0..*,0..*] = new int [8] [8] Public void paint ( Graphics g, int x, int y )
int posX Public Mapping copyPeta (Mapping petaBaru )
int posY Public String toString ( )
Image gbr Private int tinggiMenu Public void cursorNaik ( )
Private Vector item Public void cursorTurun ( )
Private int menuTerpilih Public void cursorKanan ( )
Private Font font Public void cursorKiri ( )
Private int warnaPilih Public void setPosisiKursor ( int x, int y )
Private int warnaNormal Public boolean cekPosisi ( Mapping peta, int
playerAktif, int playerTunggu )
Private Canvas canvas Public void paint ( Graphics g, int x, int y )
int xMax Public Mapping buatPetaBaru ( Mapping
int yMAx petaLama, int playerAktif, int playerTunggu)
nilaiMAx Public Menu ( )
int posX Public Vektor getItem ( )
int posY Public void addItem ( String val )
Image background Public int getMenuTerpilih ( )
Image putih Public void setMenuTerpilih ( int val )
Image hitam Public void paint ( Grapics g )
Image boleh Public void getHeight ( )
Image tidakboleh Public int getFont ( )
Imagebackgroundgame Public void setFont ( Font val )
Private boolean midletPaused = false Public int getWarnaNormal ( )
Private SplashScreen Public void setWarnaNormal ( int val )
Private Form MasukkanNama Public int getWarnaPilih ( )
Private TextField textField Public void setWarnaPilih int val )
Private Form HowTo Public void menuNaik ( )
Private Form AboutUs Public void menuTurun ( )
Private Command backCommandHowTo Public Canvas getCanvas ( )
Private Command Public void setCanvas ( Canvas val )
backCommandMasukkanNama
Private Command okCommand Public int getJarakMenu ( )
Private Command backCommand Public void void setTinggiMenu ( int val )
Private Command backCommandAboutUs Public void resetMenu ( )
Private Image image1 Public void cobaSemuaPeluang ( )
Private Font font1 Public void hitungBobot ( )
Public void kalkulasi ( CanvasGame canvas,
Mapping peta )
Public void kalkulasi ( CanvasGame canvas,
Mapping peta )
Public Image backgroundGame ( )
Public Image buatBackground ( )
Public Image buatPutih ( )
Public Image buatHitam ( )
Public Image buatBoleh ( )
Tabel 3.3 Lanjutan Diagram Class Game Othello
Othello
Atributes Operations
Public Image buatTidakboleh ( )
Public Othello ( )
Public CanvasGame getCanvasGame ( )
Public CanvasLevel getCanvasLevel ( )
Private void initialize ( )
Public void startMidlet ( )
Public void resumeMidlet ( )
Public void switchDisplayable ( Alert alert,
Displayable nextDisplayable )
Public void commandAction ( Command
command, Displayable displayable )
Public getSplashScreen ( )
Public Form getMasukkanNama ( )
Publict TextField getTextField ( )
Public Command getOkCommand ( )
Public Image getImage1 ( )
Public Font getFont1 ( )
Public Command getBackCommandAboutUs( )
Public Command getBackCommandHowTo ( )
Public Command
getBackCommandMasukkanNama ( )
Public Display getDisplay ( )
Public void exitMidlet ( )
Public void startApp ( )
Public void pauseApp ( )
Public void destroyApp (boolean unconditional)
menunjukkan sejumlah contoh objek dan pesan yang diletakkan diantara objek-objek ini dalam
Pada gambar diagram dibawah ini merperlihatkan event-event dari proses bermain game.
Pada gambar diagram dibawah ini memperlihatkan event-event dari proses melihat
petunjuk
Gambar 3.5 Diagram Sequence Melihat Petunjuk Game Othello
Pada gambar diagram dibawah ini memperlihatkan event-event dari proses memilih
tingkat kesulitan
Pada gambar diagram dibawah ini memperlihatkan event-event dari proses melihat
tentang program.
Gambar 3.7 Diagram Sequence Melihat Tentang Program Game Othello
Pada gambar diagram dibawah ini memperlihatkan event-event dari proses keluar
program
Gambar 3.8 Diagram Sequence Keluar Aplikasi Game Othello
Dari analisis yang dilakukan terhadap aplikasi ini, didapatkan aktivitas utama yang terjadi
Dalam diagram dibawah ini menunjukkan aktivitas permainan atau cara kerja mesin
game Othello.
Gambar 3.9 Diagram Activity Bermain Game Othello
memeriksa posisi apakah tempat itu bisa ditempati atau tidak, jika tempat itu tidak bisa ditempati
maka kursor akan berwarna merah dan jika tempat itu bisa ditempati maka kursor akan berwarna
biru dan ketika tombol kunci atau tombol Ok ditekan maka program akan membuatkan peta baru
dan menyimpan langkah tersebut pada array. Setelah itu giliran mesin akan melakukan eksekusi
program, dengan cara mesin mengkalkulasi dan mencoba semua peluang. Pada proses mencoba
semua peluang, program akan melakukan perulangan jika baris kurang dari tujuh dan kolom
kurang dari tujuh maka kursor akan bergerak dan memeriksa posisi dan menghitung bobot
tempat itu, perulangan itu akan berhenti jika baris sama dengan tujuh dan kolom sama dengan
tujuh maka mesin akan mengambil langkah bobot terbesar kemudian program akan membuatkan
peta baru dan menyimpan langkah tersebut pada array dan proses selesai.
Dalam diagram dibawah ini menunjukkan aktivitas pengguna melakukan proses bermain
game.
Dalam diagram dibawah ini menunjukkan aktivitas pengguna melihat tentang program
tingkat kesulitan.
Dalam diagram dibawah ini menunjukkan aktivitas pengguna melakukan exit program.