Use Case Diagram Definisi Use Case

Tabel 3.6. Skenario Tampilkan Cerita level 3 Identifikasi Nomor 4 Nama Tampilkan cerita Level 3 Tujuan Menampilkan Level 3 Deskripsi Proses untuk memainkan level 3 Aktor User Skenario Utama Kondisi Awal User berada dibagian menu utama Aksi Aktor Reaksi Sistem 9. Memilih menu “mulai” 10. Aplikasi merespon dengan cara masuk ke permainan level 3 Kondisi Akhir Aplikasi menampilkan level 3

3.3.4 Activity Diagram

Activity diagram menggambarkan berbagai aliran aktivitas dalam sistem yang sedang dirancang. Berikut ini beberapa activity diagram yang terdapat pada game tersebut yaitu : 1. Activity Proses Menu Cerita Activity digram menggambarkan berbagai aliran aktivitas dalam sistem yang sedang berjalan, bagaimana masing-masing alir berawal, proses yang terjadi dan bagaimana mereka berakhir Sistem Pemain Menjalankan Game Memilih cerita Menampilkan menu utama menampilkan Level 1 Tampilkan Cerita Level 2 menampilkan Level 2 Tampilkan Cerita level 3 menampilkan Level 3 Menampilkan tamat Tampilkan permainan Usai Tampilkan Cerita Level 1 Gambar 3.9 Activity Diagram Cerita 2. Activity Proses Petunjuk Menu control digunakan pemain untuk melihat petunjuk permainan, proses yang terjadi pada menu petunjuk bisa di lihat pada gambar Gambar 3.10 Activity Diagram petunjuk

3.3.5 Class Diagram

Class diagram adalah suatu diagram yang memperlihatkan suatu struktur dari sebuah system. Nama nama kelas yang ada dalam game ini adalah sebagai berikut : Sistem Pemain Menjalankan Game Memilih Petunjuk Menampilkan Menu utama game Menampilkan tampilan petunjuk Gambar 3.11 Class Diagram world +world +setBackgroundgreenfottImage image: void {final} +getbackground: greenfootImage +getwidth: int +getheight: int +getCellSize: int +act: void +started: void latar +lebar: int {static final} +tinggi: int {static final} +tengah: int {static final} -kecepatanBergeser: int {static final} -index: int -level: int -akhir: int {static} ~hidup: boolean ~isPermainanUsai: boolean ~istamat: boolean ~isCerita1: boolean ~isCerita2: boolean ~isCerita3: boolean ~isPetunjuk: boolean -posisiAwal: int -jumlahMusuh: int{static final} -jumlahMusuh2: int {static final} -jumlahMusuh3: int {static final} -latar: greenfootImage -latarbelakang: greenfootImage -latarBergerak: greenfootImage -tanah: color -akhirlevel: color -km: keluarkanmusuh ~tm: TombolMulai ~tp: tombolPetunjuk ~tktombolKembali ~ps: PermainanSelesai ~g: gagal ~tpk: TampilanPetunjuk ~khz: KHZaenalMustofa ~dkhz: darahKHZaenalMustofa ~pb: PrajuritBelanda ~jb: JendralBelanda ~djb: darahJendralBelanda ~pj: prajuritJepang ~djj: DarahJendralJepang ~jj: JendralJepang ~kj: KaptenJepang ~dkj: darahKaptenJepang ~t: tamat ~tc: TombolCerita ~c1: Cerita1 ~c2: cerita2 ~tm2: tombolMulai2 ~c3: cerita3 ~tm3: TombolMulai3 ~tk2: TombolKembali2 ~tmu: TampilanMenuUtama +latar +menugame: void +act: void +tampilanPetunjuk: void +tampilanCerita1: void +TampilanCerita2: void +tampilancerita3: void +gagal: void +tamat: void +geserint d +geser2int d: boolean -pergeseranint x: void -tentukanposisiawalint x +jenisMusuhLevel1: void +jenisMusuhLevel2: void +jenisMusuhLevel3: void -cetak: void -posisimusuhlevel1: void -posisiMusuhLevel2: void -posisiMusuhLevel3: void +level1: void +Level2: void +level3: void +tanahpijakanint xPos, int yPos: boolean +getKHZaenalMustofa: KHZaenalMustofa +getdarah1: DarahKHZaenalMustofa +getPrajuritBelanda: PrajuritBelanda +getJendralBelanda: Jendralbelanda +getdarah2: DarahJendralBelanda +getPrajuritJepang: PrajuritJepang +getjendraljepang: JendralJepang +getdarah3: darahJendralJepang +getKaptenJepang: KaptenJepang +getDarah4: DarahKaptenJepanng actor +actor +getX: int +getY: int +getRotation: int +setRotation: int +turnTowardsint x, int y: void +setLocationint x, int y: void +moveint distance: void +turnint amount: void +getWorld: world addedToWorldworld world +getImage: GreenfootImage +setImagegreenfootImage image: void +intersectsactor other: boolean DarahKaptenJepang -jumlahdarah: int -gambardarah: greenfootImage -latar 1 ~kj: KaptenJepang +DarahKaptenJepang +addedToWorldworld world: void +deretGambar: void +KenaSerang: void +KenaSerang2: void +kenaSerang3: void +getJumlahDarah: int MidiPlayer -sequencer: sequencer -isFileOpen: boolean +CONTINUOUS: int {static final} -midiFile: string +MidiPlayer +MidiPlayerstring file +getIsFileopen: boolean +getloopCount: int +isPlaying: boolean +getMidiFile: string +toString: string +setLoopCountint count: void +open: void +loadstring File: void +play: void +stop: void +close: void TombolMulai -Tombol1: GreenfootImage -Tombol2: GreenfootImage +TombolMulai +act: void +TombolMulai +BerubahBentuk: void KHZaenalMustofa -1: latar -Kecepatan: int -kecepatan2: int -percepatan: int -kuatLoncat: int -batas1: int -batas2: int -hadapkanan: boolean -loncat: boolean -serang: boolean -jurus1: boolean -jurus2: boolean -hidup: boolean +nangkis: boolean +serngkanan: greenfootimage +serangkiri: greenfootimage +juruskanan: greenfootimage +juruskiti: greenfootimage +lemparbambukanan: greenfootimage +lemparbambukiri: greenfootimage +loncatkanan: greenfootimage +loncatkiri: greenfootimage +tangkiskanan: greenfootimage +tangkiskiri: greenfootimage +matikanan: greenfootimage +matikiri: greenfootimage +Jurusbatukanan: greenfootimage +jurusbatukiri: greenfootimage ~bambu1 ~bambu2 +KHZaenalMustofa +addedToworldworld world: void -cetak: void +run: void +mati: void +jatuh: void +tombol: void +kenaserang: void +nangkis: void +isNangkis: boolean +isSerang: boolean +isjurus1: boolean +isJurus2: boolean -lempar: void -jurus: void -jurus2: void -serang: void -serangjurus1: void -serangjurus2: void -loncat: void +geserkananint x: void +jalankananint x: void +jalanKiri: void TombolKembali -tombol 1: greenfoot Image +Attribute1 -Tombol 2: GreenfootImage +tombolKembali +act +BerubahBentuk: void DarahKHZaenalMustofa -jumlahDarah: int -gambarDarah: greenfottImage -Latar 1 ~khz: KHZaenalMustofa +DarahKHZaenalMustofa +addedToWorldworld world +cetak: void +kenaSerang: void +kenaSerang2: void +kenaSerang3: void +kenaSerang4: void +tangkis: void +getJumlahDarah: int DarahJendralBelanda -jumlahDarah -Gambardarah: greenfootImage -latar 1 ~jb: jendralBelanda +darahJendralBelanda +addedToWorldworld World +deretGambar: void +KenaSerang: void +KenaaSerang2: void +kenaSerang3: void +getjumlahDarah: int KeluarkanMusuh -tipemusuh: int +posisiMusuh: int +KeluarkanMusuh +tentukanTipeMusuhint x: void +tentukanPosisiMusuhint x: void +dapatkanTipeMusuh: int +dapatkanposisimusuh: int WavPlayer -stream: AudioinputStream -line: SourceDataLine -loops: int -loopCount: int -isPlaying: boolean -filename: string +totalRead: long +WavPlayer +setLoopsint n: void +Operation1 +getloopCount: int +getIsPlaying: boolean +openstring name: boolean +reset: void +close: boolean +play: boolean +stop: void DarahJendralJepang -jumlahDarah: int -gambarDarah: greenfootImage -latar 1 +DarahJendralJepang +addedToWorldworld world: void +deretGambar: void +kenaSerang: void +Operation1 +kenaserang2: void +kenaserang3: void +getjumlahdarah: int TombolPetunjuk -tombol1: greenfootImage -tombol2: GreenfootImage +TombolPetunjuk +act: void +berubahBentuk: void Pergerakan -kecepatanJalan: double {static final} +jalan: void +jalandouble distance: void JendralJepang -jalankanan: greenfootImage -jalanKiri: greenfootImage -tusukakanan: greenfootImage -tusukkiri: greenfootImage -tebaskanan: greenfootImage -tebaskiri: greenfootImage -tembakkanan: greenfootImage -tembakkiri: greenfootImage -matikanan: greenfootImage -matikiri: greenfootImage -jurus1kanan: greenfootImage -jurus1kiri: greenfootImage -jurus2kanan: greenfootImage -jurus2kiri: greenfootImage -kenaserangkanan: greenfootImage -kenaserangkiri: greenfootImage -sayatkanan: greenfootImage -sayatkiri: greenfootImage -1: latar -hitungan: int -kecepatan2: int -percepatan: int -pengahalan1: int -penghalang2: int -KecepatanJalan: double -hadapkanan: boolean +hidup: boolean +jurus1: boolean +jurus2: boolean +serang: boolean ~khz: KHZaenalMustofa ~dkhz: darahKHZaenalMustofat -t: thread{volatile} -kecepatan1: int -kuatloncat: int ~djj: darahjendraljepang ~pj1: pelurujendral1 ~pj2: pelurujendral2 -tambahcepat: double +Attribute1 +JendralJepang +cetak: void +addedToWorldworld world: void +run: void -meloncat: void -jatuh: void -mengejar: void +tumbukan: void{synchronized} +isSerang: boolean +isJurus1: boolean +isJurus2: boolean -serangjurus1: void -serangjurus2: void -serangan: void +kenaserang: void{synchronized} +mati: void -gambarjalan: void Bambu1 ~pb: prajuritBelanda -Thread t: volatile +1: latar -hidup: boolean -batas2: int ~pj: prajuritJepang ~jb: jendralJepang ~djj: darahJendralJepang ~jj: jendralJepang ~djj: darahJendralJepang ~kj: kaptenJepang ~dkj: darahKaptenJepang +bambu2 +addedToWorldworld world: void +run: void Bambu1 ~pb: prajuritBelanda -Thread t: volatile +1: latar -hidup: boolean -batas2: int ~pj: prajuritJepang ~jb: jendralJepang ~djj: darahJendralJepang ~jj: jendralJepang ~djj: darahJendralJepang ~kj: kaptenJepang ~dkj: darahKaptenJepang +bambu2 +addedToWorldworld world: void +run: void KaptenJepang -jalankanan: greenfootImage -jalanKiri: greenfootImage -tusukakanan: greenfootImage -tusukkiri: greenfootImage -tebaskanan: greenfootImage -tembakkanan: greenfootImage -tembakkiri: greenfootImage -matikanan: greenfootImage -matikiri: greenfootImage -jurus1kanan: greenfootImage -jurus2kanan: greenfootImage -jurus2kiri: greenfootImage -kenaserangkanan: greenfootImage -kenaserangkiri: greenfootImage -sayatkanan: greenfootImage -sayatkiri: greenfootImage -1: latar -hitung: int -kecepatan2: int -percepatan: int -penghalang1: int -penghalang2: int -KecepatanJalan: double -hadapkanan: boolean +hidup: boolean +jurus1: boolean +jurus2: boolean +serang: boolean ~khz: KHZaenalMustofa ~dkhz: darahKHZaenalMustofat -t: thread{volatile} -kecepatan1: int -kuatloncat: int ~darahkaptenJepang ~pj1: pelurujendral1 ~pj2: pelurujendral2 -tambahcepat: double +KaptenJepang +cetak: void +addedToWorldworld world: void +run: void -meloncat: void -hatuh: void -mengejar: void +tumbukan: void{synchronized} +isSerang: boolean +isJurus1: boolean -serangjurus1: void -serangjurus2: void -serangan: void +kenaserang: void{synchronized} +mati: void -gambarjalan: void JendralBelanda -latar 1 -hitungan: int -Kecepatan2: int -perceptan: int -penghalan1: int -penghalang2: int -Thread t: volatile +JendralBelanda +cetak: void +addedToWorldworld world +run -meloncat: void -jatuh -mengejar: void -tumbukan: void +isSerang: boolean +isJurus1: boolean peluru2 ~khz: KHZaenalMustofa ~dkhz: darahKHZaenalMustofa -Thread t: volatile ~1: latar -Hidup: boolean +Batas2: int +Peluru2 +addedToWorldworld world +run Peluru1 -Thread t: volatile -hidup: boolean -batas2: int +peluru1 +addedToWorldworld world +run PrajuritBelanda -Thread t: volatile +PrajuritBelanda +cetak: void +trkenaSerangan: void +run: void -gambarJalan: void -jatuh: void +mati: void -meloncat: void -mengejar: void PrajuritJepang +jumlahDarah: int +PrajuritJepang -seranganSabetan: void +public isSabetan: boolean +cetak: void +addedToWorldWorld World: void +terkenaSerangan: void +run: void -gambarJalan: void -synchronized tumbukan: void -jatuh: void +mati: void -meloncat: void -mengejar: void +Operation1 PeluruJendral1 -Thread t: volatile -hidup: boolean -batas2: int +PeluruJendral1 +addToWorldworld word: void +run: void PeluruJendral2 -Thread t: volatile -hidup: boolean -batas2: int +peluruJendral2 tombolMulai2 -Tombol1: GreenfootImage -Tombol2: GreenfootImage +TombolMulai2 +act: void +berubahBentuk: void TombolMulai3 -tombol1: GreenfootImage -tombol2: GreenfootImage +tombolMulai3 +act: void +berunahBentuk: void TombolCerita -tombol1: GreenfootImage -Tombol2: GreenfootImage +TombolCerita +act: void +berubahBentuk: void tombolKembali2 -Tombol1: GreenfootImage -Tombol2: GreenfootImage +TombolKembali2 +act: void +BerubahBentuk: void Bambu2 Setiap kelas memiliki jenis kelasnya masing – masing seperti yang terlihat pada Tabel 3.7. Tabel 3.7. Deskripsi Class Diagram Deskripsi Class No Nama Jenis 1. World Boundary 2. Latar Boundary 3. Actor Boundary 4. Tombolmulai2 Boundary 5. Tombolmulai3 Boundary 6. Tombolcerita Boundary 7. MidiPlayer Boundary 8. Tombolmulai Boundary 9. Tombolkembali2 Boundary 10. Tombolkembali Boundary 11. Wavplayer Boundary 12. TombolPetunjuk Boundary 13. darahkaptenJepang Entity 14. KHZaenalMustofa Entity 15. darahKHZaenalMustofa Entity 16. DarahJendralBelanda Entity 17. KeluarkanMusuh Entity 18. darahJendralJepang Entity 19. Pergerakan Control 20. JendralJepang Control 21. Bambu1 Control 22. Bambu2 Control 23. KaptenJepang Control 24. JedralBelanda Control 25. Peluru2 Control