• Tidak ada hasil yang ditemukan

Gambar 3.26. S equence Diagram Play Game

Sequnce diagram ”M emainkan game” menggambarkan urutan langkah yang terjadi pada waktu pemain game memainkan game. Untuk memulai memainkan game, pemain game perlu mengklik tombol ”New Game” pada menu utama yang akan memanggil method karakter() pada class M enu. Method karakter() berfungsi untuk menampilkan halaman memilih karakter dari game. Jika pemain game mengklik tombol ”Back to main main menu” ketika halaman pemilihan karakter ditampilkan, maka method halM enu() pada class menu dipanggil dan menu utama ditampilkan.

Jika pemain game mengklik gambar manusia, method prolog1() pada class menu dipanggil. Dan jika pemain mengklik gambar robot, method prolog2() pada class menu dipanggil. Lalu setelah itu akan masuk ke halaman prolog, jika pemain game mengklik tombol ”Next”, maka method StartMissionGui() pada class M enu dipanggil. Method startMissionGui() akan memanggil method PlayGui() pada class engine yang berfungsi untuk mempersiapkan objek-objek dalam mission game. Kemudian class engine akan menjalankan methodloading Mission() yang digunakan untuk membaca file mission, downloadDatablockAndTargets() untuk melakukan download class-class yang diperlukan dalam mission dari server ke client, downloadGhostObjects() untuk melakukan download instance class yang ada di server ke client sehingga mempermudah dalam melakukan akses class yang ada di server (karena game ini bertipe single player, maka server dan client berada pada satu

komputer), dan missionLightning() untuk menghitung pencahayaan dari objek-objek di dalam mission. Setelah method diatas dijalankan, class Engine akan memanggil method attachToPlayer() pada class Camera yang berfungsi untuk menempelkan kamera pada Player sehingga kamera akan mengikuti gerakan Player.

¾ Use Case : Berlari ke Depan

• Jika pemain game menekan tombol maju, maka method trigerAction() dari engine akan dipanggil

• Player akan berlari ke depan

• Jika Player tidak berbenturan dengan objek statis, maka Player akan terus berlari ke depan

Sequence diagram ”Berlari ke depan” menggambarkan urutan langkah yang terjadi pada waktu pemain game menggerakan Player untuk berlari ke depan dalam game. Pemain game dapat menggerakan Player berlari ke depan dengan menekan tombol maju (tombol keyboard ”W”) sehingga method triggerAction() pada class Engine dipanggil dengan parameter ”forward”.

Berdasarkan method trigerAction() dan parameter ”forward”, method runForward() pada class Player dipanggil. Method runForward() berfungsi untuk menggerakan Player berlari ke depan. Untuk memeriksa apakah terjadi benturan dengan objek statis atau tidak, class Player memanggil method callCheckCollision() pada dirinya sendiri dimana method ini memanggil memanggil method checkCollision() pada class Engine. Jika tidak terjadi benturan dengan objek statis, posisi Player diperbaharui dengan memanggil method updatePosition() pada class Engine.

¾ Use Case : Berlari ke Belakang

• Jika pemain game menekan tombol mundur, maka method triggerAction() dari engine dakan dipanggil

• Player akan berlari ke belakang

• Jika Player tidak berbenturan dengan objek statis, maka Player akan terus berlari ke belakang

Sequence diagram ”Berlari ke belakang” menggambarkan urutan langkah yang terjadi pada waktu pemain game menggerakkan Player untuk berlari ke belakang dalam game. Pemain game dapat menggerakkan Player berlari ke belakang dengan menekan tombol mundur (tombol keyboard ”S”). Ketika tombol tersebut ditekan, method triggerAction() pada class Engine akan dipanggil menggunakan parameter ”backward”.

Berdasarkan method triggerAction() dan parameter ”backward”, method runBackward() berfungsi untuk menggerakkan Player berlari ke belakang. Untuk memeriksa apakah terjadi benturan dengan objek statis atau tidak, class Player memanggil method callCheckCollision() pada dirinya sendiri dimana method ini memanggil method checkCollison() pada class Engine. Jika tidak terjadi benturan dengan objek statis, posisi Player diperbaharui dengan memanggil method updatePosition() pada class Engine.

¾ Use Case : Berlari ke Kiri

• Jika pemain game menekan tombol lari ke kiri, maka method triggerAction() pada engine akan dipanggil

• Player akan berlari ke kiri

• Jika Player tidak berbenturan dengan objek statis, maka Player akan terus berlari ke kiri

Sequence diagram ”Berlari ke kiri” menggambarkan urutan langkah yang terjadi pada waktu pemain game menggerakkan player untuk berlari ke kiri dalam game. Pemain game dapat menggerakkan Player untuk berlari ke kiri dengan menekan tombol belok kiri (tombol keyboard ”A”). Ketika tombol tersebut ditekan, method triggerAction() pada class Engine adakan dipanggil menggunakan parameter ”MoveLeft”.

Berdasarkan method trigger Action() dan parameter ”MoveLeft”, method moveLeft() pada class Player dipanggil. Method moveLeft() berfungsi untuk menggerakkan Player berlari ke kiri. Untuk memeriksa apakah terjadi benturan dengan objek statis atau tidak, class Player memnggil method callCheckCollision() pada dirinya sendiri dimana method ini memanggil method checkCollision() pada class Engine. Jika tidak terjadi benturan dengan objek statis, posisi Player diperbaharui dengan memanggil method updatePosition() pada class Engine.

¾ Use Case : Berlari ke Kanan

• Jika pemain game menekan tombol lari ke kanan, maka method triggerAction() dari engine akan dipanggil

• Player akan berlari ke kanan

• Jika Player tidak berbenturan dengan objek statis, maka Player akan terus berlari ke kanan

Gambar 3.30. S equence Diagram Berlari Ke Kanan

Sequence diagram ”Berlari ke kanan” menggambarkan urutan langkah yang terjadi pada waktu pemain game menggerakkan Player untuk berlari ke kanan dalam game. Pemain game dapat menggerakkan Player untuk berlari ke kanan dengan menekan tombol belok kanan (tombol keyboard ”D”). Ketika tombol tersebut ditekan, method

triggerAction() pada class Engine akan dipanggil menggunakan parameter ”MoveRight”.

Berdasarkan method triggerAction() dan parameter ”MoveRight”, method moveRight() pada class Player dipanggil. Method turnRight() berfungsi untuk menggerakkan Player berlari ke kanan. Untuk memeriksa apakah terjadi benturan dengan objek statis atau tidak, class Player memanggil method callCheckCollison() pada dirinya sendiri dimana method ini memanggil method checkCollision() pada class Engine. Jika terjadi benturan dengan objek statis, posisi Player diperbaharui dengan memanggil method updatePosition() pada class Engine.

¾ Use Case : mengambil item

• Jika Player bersentuhan dengan item, maka item akan diambil oleh Player

• Jika item yang yang diambil adalah health atau mana maka item langsung digunakan oleh Player

• Jika item yang diambil adalah senjata, maka inventaris Player diperbaharui

Gambar 3.31. S equence Diagram Mengambil Item

Sequence diagram ”M engambil item” menggambarkan urutan langkah yang terjadi pada waktu Player mengambil item. Ketika Player bersentuhan dengan item, method onCollision() pada class item dipanggil. Method onCollision() berfungsi untuk menghilangkan item dari layar game. Jika item yang diambil adalah health atau mana maka item tersebut langsung meng-update inventaris Player.

¾ Use Case : Menggunakan item

• Jika Player menekan tombol menggunakan item, maka item akan digunakan

• Inventaris Player diperbaharui

• Jika Player menggunakan item dan AIPlayer terkena serangan, maka health AIPlayer akan berkurang

• Health AIPlayer dicek

Sequence diagram ”M enggunakan item” menggambarkan urutan langkah yang terjadi pada waktu Player menggunakan item yang ada pada inventaris. Untuk menggunakan item, pemain game perlu menekan tombol menggunakan item (tombol keyboard ”Shift”). Setelah tombol tersebut ditekan, method useItem() pada class Player dipanggil. Item yang dapat digunakan disini adalah senjata karena item-item yang lain langsung digunakan ketika diambil oleh Player.

Setelah methodItem() dijalankan, method onUse() pada class Item dipanggil. Method onUse() berfungsi untuk menentukan apa yang akan dilakukan atau yang akan didapat Player pada waktu menggunakan item.

¾ Use Case : Memilih Karakter

• Jika pemain game mengklik gambar karakter • Masuk ke halaman prolog

• Jika pemain game menekan tombol next • Masuk ke halaman prolog yang ke dua

• Jika pemain game menekan tombol launch game • Pemain game dapat memulai game

Sequence diagram ”M emilih karakter” menggambarkan langkah-langkah yang terjadi pada waktu pemain game akan memilih karakter yang akan digunakan dalam memainkan game sampai dengan memulai permainan. Saat gambar karakter diklik, method prolog1() dipanggil dari class engine lalu saat tombol next ditekan, method prolog3() dipanggil. Jika tombol launch game ditekan, maka method stratmissionGui() dipanggil dari class Engine dan game baru dapat dimainkan.

¾ Use Case : Menyerang

• Jika pemain game menekan tombol serang, maka Player akan menyerang

• Jika AIPlayer terkena serangan, maka health pada AIPlayer akan berkurang

Sequence diagram ”M enyerang” menggambarkan urutan langkah yang terjadi pada waktu pemain game menggerakkan Player untuk melakukan serangan. Pemain game dapat menggerakkan Player untuk menyerang dengan mengklik tombol attack dan skill. Ketika tombol attack dan skill ditekan, method triggerAction() pada class Engine dipanggil dengan menggunakan parameter ”attack”.

¾ Use Case : Bertahan

• Jika Pemain game menekan tombol bertahan, maka player akan bertahan.

• Jika Player mendapatkan serangan, dan pada saat itu Player bertahan maka health Player tidak berkurang.

Sequence diagram ”Bertahan” menggambarkan urutan langkah yang terjadi pada waktu pemain game menggerakkan Player untuk melakukan pertahanan. Pemain game dapat menggerakkan Player untuk melakukan pertahanan dengan mengklik tombol defense. Ketika tombol defense ditekan, method triggerAction() pada class Engine dipanggil dengan menggunakan parameter ”defense”.

¾ Use Case : Memenangkan Game

• Pemain game menekan tombol serang, dan Player akan menyerang • Jika Enemy terkena serangan, maka health pada AIPlayer akan

berkurang

• Jika health Enemy adalah 0 (nol), maka Enemy mati.

• Jika semua Enemy adalah ”dead”, maka pemain game telah memenangkan game dan layar memenangkan game akan ditampilkan.

Sequence diagram ”M emenangkan Game” menggambarkan urutan langkah yang terjadi pada waktu pemain game memenangkan game. Untuk memenangkan game, pemain game perlu mengalahkan Enemy terlebih dahulu.

¾ Use Case : Keluar dari Game

• Pemain game menekan tombol ”Quit” pada keyboard • Dialog box akan ditampilkan

• Jika pemain game mengklik tombol ”No” pada dialog box, maka permainan kembali dilanjutkan

• Jika pemain game mengklik tombol ”Yes” pada dialog box, kembali ke menu utama

• Jika Player mengklik tombol ”Quit” pada menu utama, game berakhir.

Sequence diagram ”Keluar dari program game” menggambarkan urutan aksi yang terjadi pada saat pemain game keluar dari program game. Sewaktu pemain game memainkan game, pemain game dapat menekan tombol ”Esc” untuk keluar dari permainan dan masuk ke halaman menu utama dengan menggunakan method halmenu(). Setelah itu pemain game dapat menekan tombol ”Quit” dengan memanggil method quit() untuk keluar dari program.

Activity diagram ”M elakukan Pengaturan” menggambarkan kegiatan/aktivitas dalam melakukan pengaturan game, titik hitam merupakan awal proses yang langsung mengarah ke proses ”Buka M enu Pengaturan” dan memicu aktivitas pengambilan keputusan pertama, apabila No maka akan menjalankan aktivitas ”Melihat control” dan akan memicu proses ”Tampilkan daftar control” dan apabila Yes maka akan memicu proses ”Ubah volume utama” dan/atau ”Ubah Grafik”. Apabila player memilih ”Ubah volume utama” maka akan langsung ke proses ”Tampilkan pengaturan diubah” dan bila player memilih proses ”Ubah Grafik” maka akan memicu proses ”Simpan pengubahan grafik” dan langsung menuju ke proses ”Tampilkan pengaturan diubah”. Setelah proses ”Tampilkan daftar control” maupun proses ”tampilkan pengaturan diubah” akan memicu aktivitas pengambilan keputusan kedua dan apabila No maka akan kembali ke aktivitas pengambilan keputusan pertama, sedangkan apabila Yes maka akan melakukan proses ”Klik Ok” dan sekaligus menjalankan synchronization bar, yang melukiskan aktivitas-aktivitas yang berjalan parallel yaitu proses ”Simpan ke engine” dan proses ”Tampilkan menu utama”, Kedua proses itu akan menuju akhir proses.

Activity diagram ”M eload Game” menggambarkan kegiatan/aktivitas dalam melakukan load game, titik hitam merupakan awal proses yang memicu aktivitas ”klik tombol load game” dan melakukan proses ”lihat load game” lalu melakukan proses pengambilan keputusan dimana apabila No maka akan memicu trigger ”klik tombol back to main menu” dan melakukan proses ”kembali ke menu utama” serta mengakhiri proses. Apabila Yes maka akan memicu aktivitas ”klik tombol play game” dan melakukan proses ”play game” serta mengakhiri proses.

Activity diagram ”Play game” menggambarkan kegiatan/aktivitas dalam memulai game, titik hitam merupakan awal proses yang memicu aktivitas ”klik tombol play game” dan melakukan proses ”lihat play game” lalu melakukan proses pengambilan keputusan dimana apabila No maka akan kembali ke proses pengambilan keputusan. Apabila Yes maka melakukan proses ”kembali ke menu utama” dan memicu aktivitas ”bila menekan tombol Quit” maka mengakhiri proses.

Activity diagram ”Berlari ke depan” menggambarkan kegiatan/aktivitas dalam berlari ke depan dalam game, titik hitam merupakan awal proses yang melakukan proses ”menekan tombol W” lalu melakukan proses pengambilan keputusan dimana apabila No maka akan kembali ke proses pengambilan keputusan. Apabila Yes maka memicu aktivitas ”jika tidak berbenturan dengan objek statis” dan melakukan proses ”character berlari ke depan” serta mengakhiri proses.

Activity diagram ”Berlari ke belakang” menggambarkan kegiatan/aktivitas dalam berlari ke belakang dalam game, titik hitam merupakan awal proses yang melakukan proses ”menekan tombol S” lalu melakukan proses pengambilan keputusan dimana apabila No maka akan kembali ke proses pengambilan keputusan. Apabila Yes maka memicu aktivitas ”jika tidak berbenturan dengan objek statis” dan melakukan proses ”character berlari ke belakang” serta mengakhiri proses.

Activity diagram ”Berlari ke kiri” menggambarkan kegiatan/aktivitas dalam berlari ke kiri dalam game, titik hitam merupakan awal proses yang melakukan proses ”menekan tombol A” lalu melakukan proses pengambilan keputusan dimana apabila No maka akan kembali ke proses pengambilan keputusan. Apabila Yes maka memicu aktivitas ”jika tidak berbenturan dengan objek statis” dan melakukan proses ”character berlari ke kiri” serta mengakhiri proses.

Activity diagram ”Berlari ke kanan” menggambarkan kegiatan/aktivitas dalam berlari ke kanan dalam game, titik hitam merupakan awal proses yang melakukan proses ”menekan tombol D” lalu melakukan proses pengambilan keputusan dimana apabila No maka akan kembali ke proses pengambilan keputusan. Apabila Yes maka memicu aktivitas ”jika tidak berbenturan dengan objek statis” dan melakukan proses ”character berlari ke kanan” serta mengakhiri proses.

Activity diagram ”M engambil Item” menggambarkan kegiatan/aktivitas dalam mengambil item pada game, titik hitam merupakan awal proses yang langsung mengarah ke proses ”M engambil item” dan dilanjutkan ke proses ”update inventory” dan mengakhiri proses.

Activity diagram ”M enggunakan Item” menggambarkan kegiatan/aktivitas dalam menggunakan item pada game, titik hitam merupakan awal proses yang langsung mengarah ke proses ”M enggunakan item” dan dilanjutkan ke proses ”update inventory” dan mengakhiri proses.

Activity diagram ”Pilih karakter” menggambarkan kegiatan/aktivitas dalam memilih karakter dalam game, titik hitam merupakan awal proses yang langsung mengarah ke proses memilih karakter robot atau manusia dan dilanjutkan ke proses ”play game” dan mengakhiri proses.

Activity diagram ”M enyerang” menggambarkan kegiatan/aktivitas dalam melakukan serangan dalam game, titik hitam merupakan awal proses yang langsung mengarah ke proses ”M enekan tombol kiri pada mouse” dan dilanjutkan ke proses ”M enyerang Aiplayer” lalu melakukan proses pengambilan keputusan dan bila No maka akan kembali ke proses ”M enekan tombol kiri pada mouse”, apabila Yes maka akan memicu aktivitas ”jika AIplayer health = 0, state = dead” dan mengakhiri proses.

Activity diagram ”Defense” menggambarkan kegiatan/aktivitas dalam melakukan pertahanan dalam game, titik hitam merupakan awal proses yang langsung mengarah ke proses ”M enekan tombol defense” dan dilanjutkan ke proses ”Bertahan dari AIplayer” lalu melakukan proses pengambilan keputusan dan bila No maka akan kembali ke proses ”M enekan tombol defense”, apabila Yes maka akan mengakhiri proses.

Activity diagram ”M emenangkan game” menggambarkan kegiatan/aktivitas dalam memenangkan game, titik hitam merupakan awal proses yang langsung mengarah ke proses pengambilan keputusan yang pertama yaitu menyerang enemydan bila No maka akan langsung menjalankan proses menyerang enemy dan apabila Yes berarti enemy mati dan mengakhiri proses.

Activity diagram ”Keluar dari game” menggambarkan kegiatan/aktivitas dalam keluar dari game, titik hitam merupakan awal proses yang langsung mengarah ke proses pengambilan keputusan yang pertama dan bila No maka akan langsung menjalankan proses ”tekan tombol Quit” yang ditunjukkan oleh kalimat ”dari menu utama” dalam gambar diatas dan menjalankan proses ”program berakhir” serta mengakhiri proses, apabila Yes maka akan memicu aktivitas ”game dimainkan” dan menjalankan proses ”memainkan game” dilanjutkan dengan ”proses tekan tombol ”Esc” lalu proses ”kotak dialog ditampilkan” yang akan memicu aktivitas ”lakukan pemilihan” serta menjalankan proses pengambilan keputusan yang kedua. Jika No maka akan kembali ke proses ”memainkan game” tetapi jika Yes maka akan menuju proses ”menu utama ditampilkan” yang akan memicu proses ”tekan tombol Quit” dan dilanjutkan dengan proses ”program berakhir” serta mengakhiri proses.

e. Class Diagram

Class diagram menggambarkan struktur class-class yang menyusun game Battle Force. Class Engine adalah engine yang digunakan dalam pembuatan game dan mengatur keseluruhan game. Class Engine terhubung dengan class menu, Mission, Camera dan Shape. Class M enu mengatur seluruh menu yang ada pada game. Class camera mengatur bagaimana pemain game melihat game pada layar monitor. Class Mission mengatur segala sesuatu yang berhubungan dengan misi pada game. Class Shape mengatur semua bentuk objek yang akan ditemui pemain game sewaktu memainkan game.

Class Mission terhubung dengan class Interior, terrain, Water, Sun, dan SpawnPoint menggunakan hubungan agregation. Hubungan agregation digunakan karena class Interiror, Terrain, Water, Sun dan SpawnPoint dapat berdiri sendiri meskipun tidak ada class Mission. Class Interior berisikan objek-objek yang berada pada interior game. Class Terrain mengatur daerah yang dijumpai pada game. Class Sun mengatur semua yang berhubungan dengan matahari, dan class Water mengatur segala sesuatu yang berhubungan dengan air pada. game Class SpawnPoint mengatur posisi Player pertama kali pada waktu program game dijalankan.

Class Shape terhubung dengan class SpawnPoint, Item, dan Character dengan hubungan generalization ini menandakan bahwa class SpawnPoint, Item, dan Character diturunkan dari class Shape dan

mewarisi semua atribut dan method dari class Shape. Class Item adalah class yang mengatur semua item yang ada dalam game. Class Character adalah class yang mengatur semua karakter yang ada pada game.

Class item terbagi 2 melalui hubungan generalization menjadi class CollectedItem dan Weapon. Class CollectedItem adalah class yang berisikan item-item yang dapat diambil oleh Player selama game berjalan. Class ini dibagi menjadi class Health dan Mana. Class Weapon berisikan senjata yang digunakan oleh karakter-karakter dalam game.

Class Character diturunkan menjadi class Player dan AIPlayer menggunakan hubungan generaliazation. Class Player adalah class yang mengatur tokoh utama pada game sedangkan class AIPlayer adalah class yang mengatur musuh-musuh yang ditemui pada game

f. State Diagram

● Statechart Diagram M enu

Dibuat

Ditampilkan

[jika menu di pop]

Hilang [jika menu di push]

[keluar dari program game]

Gambar 3.55. S tatechart Diagram Menu

Statechart diagram M enu menggambarkan keadaan-keadaan yang dapat terjadi pada class M enu. Sewaktu program game dijalankan, menu langsung dibuat lalu ditampilkan. Jika menu di pop, misalnya ketika pemain game mengklik tombol pada menu yang akan menampilkan layar baru, menu tersebut dihilangkan dari layar. Ketika pemain game memanggil menu kembali, maka menu tersebut di push ke layar untuk ditampilkan kembali. Jika keluar dari program game, menu tersebut dihilangkan dan dihapus dari memori.

● Statechart Diagram Player

Gambar 3.56. S tatechart Diagram Player

Statechart Diagram Player menggambarkan keadaan yang dapat terjadi pada class Player. Pada waktu game dimulai, Player memiliki health point penuh (semua Player memiliki health point maximum = 999 tetapi pada awal game setiap Player memiliki jumlah health yang berbeda-beda tergantung dari status, job, dan ras). Jika Player terkena attack dari musuh (Enemy), maka health point dari Player akan berkurang dengan rumus = main attack Enemy – defence Player.

Dokumen terkait