Definisi Actor Definisi Use Case Class Diagram

10. Menyentuh trigger tujuan 11. Menghentikan pencarian jalur 12. Menuju level berikutnya Kondisi Akhir Menampilkan Level 4 permainan 3.1.11.5.4. Skenario Use Case Level 4 Tabel 3.17 Skenario Use Case Level 4 Identifikasi Nomor 4 Nama Level 4 Tujuan Menampilkan Level 5 permainan Deskripsi Proses untuk menampilkan Level 5 permainan Aktor PemainPengguna Skenario Utama Kondisi Awal Pemain berada menu utama permainan Aksi Aktor Reaksi Sistem 1. Memilih menu mulai 2. Menampilkan Level 4 permainan 3. Menempatkan player pada area permainan 4. Menentukan lokasi pemunculan musuh 5. Memunculkan musuh 6. Melakukan Pencarian 7. Menembak karakter 8. Peluru musuh berkurang 9. Mengenai karakter 10. Mengurangi darah karakter 11. Input tombol “Keyboard” W,A,S,D 12. Menggerakan karakter utama 13. Menyentuh trigger instruksi 14. Menampilkan instruksi 15. Meng-klik “Mouse” kiri 16. Mengurangi jumlah peluru 17. Tembakan mengenai musuh 18. Mengurangi jumlah darah musuh 19. Mencapai tujuan 20. Menyentuh trigger tujuan 21. Menghentikan pencarian jalur 22. Menuju level berikutnya Kondisi Akhir Menampilkan Level 5 permainan 3.1.11.5.5. Skenario Use Case Level 5 Tabel 3.18 Skenario Use Case Level 5 Identifikasi Nomor 5 Nama Level 5 Tujuan Menampilkan ending permainan Deskripsi Proses untuk menampilkan ending permainan Aktor PemainPengguna Skenario Utama Kondisi Awal Pemain berada menu utama permainan Aksi Aktor Reaksi Sistem 1. Memilih menu mulai 2. Menampilkan Level 5 permainan 3. Menempatkan player pada area permainan 4. Input tombol “Keyboard” W,A,S,D 5. Menggerakan karakter utama 6. Mengenai item 7. Mengecek item 8. Mencapai tujuan 9. Menyentuh trigger tujuan 10. Menghentikan pencarian jalur 11. Menuju level berikutnya Kondisi Akhir Menampilkan ending permainan

3.1.11.5.6. Skenario Use Case Pergerakan Karakter

SkenarioUse Case pergerakkan karakter berfungsi untuk menampilkan interaksi antara actor dengan use case pergerakkan karakter, tabel pergerakkan karakter dapat dilihat pada tabel 3.19. Tabel 3.19 Skenario Use Case Pergerakan Karakter Identifikasi Nomor 6 Nama Pergerakan karakter Tujuan Untuk menggerakan karakter yang dimainkan Deskripsi Proses untuk menggerakan karakter Aktor PemainPengguna Skenario Utama Kondisi Awal Karakter diam Aksi actor Reaksi Sistem 1. Input tombol W, A, S, D pada keyboard 2. Menggerakkan karakter sesuai dengan tombol yang ditekan 3. Karakter bergerak maju 4. Karakter bergerak ke kiri 5. Karakter bergerak mundur 6. Karakter bergerak ke kanan Kondisi Akhir Karakter bergerak

3.1.11.5.7. Skenario Use Case Menampilkan Instruksi Misi

Skenario Use Case menampilkan petunjuk misi berfungsi untuk menampilkan misi yang ada di dalam game, tabel menampilkan petunjuk misi dapat dilihat pada tabel 3.20. Tabel 3.20 Skenario Use Case Menampilkan Petunjuk Misi Identifikasi Nomor 7 Nama Menampilkan Petunjuk Misi Tujuan Untuk menampilkan misi yang ada pada game Deskripsi Proses untuk menampilkan Instruksi misi Aktor PemainPengguna Skenario Utama Kondisi Awal Menyajikan permainan Aksi actor Reaksi Sistem 1. Menggerakkan karakter menuju trigger instruksi 2. Menghilangkan trigger 3. Memanggil instruksi misi Kondisi Akhir Menampilkan instruksi misi

3.1.11.6. Activity Diagram

Activity diagram menggambarkan berbagai aliran aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya internal processing. Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktifitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu Use Case atau lebih. Aktifitas menggambarkan proses yang berjalan, sementara Use Case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktifitas.

3.1.11.6.1. Activity Diagram Level 1

Sistem Pemain Memilih menu mulai Menampilkan level 1 permainan Menempatkan player pada level 1 Menekan tombol gerak pada Keyboard Menggerakan karakter Menyentuh trigger instruksi Menampilkan instruksi Instruksi tidak tampil Mencapai tujuan Menyentuh trigger tujuan Menghentikan pencarian jalan Pencarian jalan dilanjutkan Menuju level selanjutnya Menampilkan loading permainan level 1 ya tidak ya tidak Gambar 3.18 Acitivity Diagram Level 1

3.1.11.6.2. Activity Diagram Level 2

Sistem Pemain Memilih menu mulai Menampilkan level 2 permainan Menempatkan player pada level 2 Menekan tombol gerak pada Keyboard Menggerakan karakter Menyentuh trigger instruksi Menampilkan instruksi Instruksi tidak tampil Mencapai tujuan Menyentuh trigger tujuan Menghentikan pencarian jalan Pencarian jalan dilanjutkan Menuju level selanjutnya Menampilkan loading permainan level 2 ya Memunculkan musuh Mencari karakter Karakter terlihat Menyerang karakter Tidak menyerang Mengenai karakter Darah berkurang Darah tetap ya tidak tidak ya tidak ya Meng- klik Mouse kiri Mengurangi jumlah peluru Tembakan mengenai musuh Darah berkurang Darah tetap tidak tidak ya Gambar 3.19 Acitivity Diagram Level 2

3.1.11.6.3. Activity Diagram Level 3

Sistem Pemain Memilih menu mulai Menampilkan level 3 permainan Menempatkan player pada level 3 Menekan tombol gerak pada Keyboard Menggerakan karakter Menyentuh trigger instruksi Menampilkan instruksi Instruksi tidak tampil Mencapai tujuan Menyentuh trigger tujuan Menghentikan pencarian jalan Pencarian jalan dilanjutkan Menuju level selanjutnya Menampilkan loading permainan level 3 ya tidak ya tidak Gambar 3.20 Acitivity Diagram Level 3

3.1.11.6.4. Activity Diagram Level 4

Sistem Pemain Memilih menu mulai Menampilkan level 4 permainan Menempatkan player pada level 4 Menekan tombol gerak pada Keyboard Menggerakan karakter Menyentuh trigger instruksi Menampilkan instruksi Instruksi tidak tampil Mencapai tujuan Menyentuh trigger tujuan Menghentikan pencarian jalan Pencarian jalan dilanjutkan Menuju level selanjutnya Menampilkan loading permainan level 4 ya Memunculkan musuh Mencari karakter Karakter terlihat Menembak karakter Tidak menembak karakter Mengenai karakter Darah berkurang Darah tetap ya tidak tidak ya Mengurangi peluru tidak ya Meng- klik Mouse kiri Mengurangi jumlah peluru Tembakan mengenai musuh Darah berkurang Darah tetap tidak tidak ya Gambar 3.21 Acitivity Diagram Level 4

3.1.11.6.5. Activity Diagram Level 5

Sistem Pemain Memilih menu mulai Menampilkan level 5 permainan Menempatkan player pada level 5 Menekan tombol gerak pada Keyboard Menggerakan karakter Mengecek Item Item Berkurang Item Tidak Berkurang Portal Aktif Portal Tidak Aktif Memperbolehkan memasuki portal Menampilkan loading permainan level 5 ya tidak Jumlah item = 5 Jumlah item 5 Mengenai Item Melakukan Pengecekan terhadap item Gambar 3.22 Acitivity Diagram Level 5

3.1.11.6.6. Activity Diagram Pergerakan Karakter

Sistem Pemain Menggerakan Karakter Karakter Bergerak Maju Menekan Tombol Keyboard W Menekan Tombol Keyboard A Menekan Tombol Keyboard S Menekan Tombol Keyboard D Karakter Bergerak ke Kiri Karakter Bergerak Mundur Karakter Bergerak ke Kanan Gambar 3.23 Acitivity Diagram Pergerakan Karakter

3.1.11.6.7. Activity Diagram Menampilkan Instruksi Misi

Sistem Pemain Mengarahkan Karakter Menuju Trigger Instruksi Karakter Bergerak Menuju Trigger Trigger Hilang Trigger Tidak Hilang Menampillkan Instruksi Misi Menyentuh trigger Tidak menyentuh trigger Gambar 3.24 Acitivity Diagram Menampilkan Instruksi Misi

3.1.11.7. Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan atributproperti suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut metodafungsi. Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lain-lain. Gambar 3.25 berikut adalah class diagram dari aplikasi game. MenuUtama boundary +MenuUtama +Mulai +Pengaturan +Petunjuk +Keluar Mulai control +mulai +ContentLoaded: Bool -PauseMenuInterface -SceneLoaded +Main -loadvideo Petunjuk control +Petunjuk +ContentLoaded: bool +PagePetunjuk -PetunjukKembali PlayerScript control +PlayerHealth +PlayerGUI +maxCarriedWeapon +currentWeapon +maxCarriedWeapon +WeaponChangeSound +gameStatus +LevelStateMachine +fpsCam -switchWeapon +primary +action +isDead +awake: void +update +LateUpdate +FoundItem +LevelCompleted +WeaponChanged +ApplyDamage +UnderwaterDamage +Die +UpdateGUI +InfoTextstring +HidePlayerboolean +HideGUIboolean +GetWeaponsCount +isSameWeapon +findPrimaryint +ActivateWeapon +Drop +HandleCollisions +Action +copyTransformsRecurse +SpeakOnTrigger Pengaturan control +Pengaturan +Text: String +TingkatSuara: Int +Resolusi: int +PageOption -SetResolusi -SetVolume -OptionKembali universalGun control +bullet: GameObject +lightFlash: Light +muzzleFlash: Renderer +particleEffect: GameObject +shotNearSound: AudioClip +shotFarSound: AudioClip +farSoundStartDist: Float +emptySound: AudioClip +reloadSound: AudioClip +burstMode: object +SwicthModes: boolean +fireRate: float +bulletSpeed: float +bulletsPerClip: int +bulletsLeft: int +clips: int +shotTime: float +shitDelay: float +reloadTime: float +sightTarget: Transform +scopeTexture: Texture +scopeFOV: float +throwPos: Transform +emptyHull: Rigidbody +hullSpeed: float +hullTorque: float +lestArmPos: Transform +baseInaccuracy: float +inaccuracyIncreaseOverTime: float +maximumInaccuracy: float +inaccuracy: float +recoil: Vector2 +recoilOffset: Vector2 +inScope: boolean +Shoot: boolean +m_LastFrameShot: int +nextFireTime: float -t: Transform -rb: Rigidbody -fpsCam: FPSCam -controller: CharacterController -childEmitters: ParticleEmitters -count: int -lastFireTime: float -effectActive: boolean -busy: boolean -currentRotation: Quarternion -emptyAudio: boolean -vol: float +awake +LateUpdate +Fire +FireOneShot +setSpecialEffectActiveboolean +reload +WeaponChanged +ShowOptics +HideOptics +GetBulletsLeft +GetClips Weapons entity +weapon +hasWeapon +weaponMaxClips +weaponName +AmmoName +weaponTexture +CrosshairTexture +dropableWeapon +dropPosition +dropSpeed PlayerHealth entity +maximumHitPoints +hitPoints +regenerateHealth +RegenerateSpeed +underwaterDamage +lives +deadReplacement +deadOffsetY +deadTime +deathHidesGUI +deathSlowsTime +painLittle +painBig +gaspLittle +gaspBig +breathSound +dieSound PlayerGUI Entity +enemiesGUI +BossesGUI +scoreGUI +healthGUI +oxigenGUI +livesGUI +burstMode +bulletsLeft +clipsGUI +weaponGUI +crosshairGUI +scopeGUI +infoText +scopeAspect +scopePosition +healthGUIWidth EnemyAI control +AI +speed: float +rotationSpeed: float +shootrange: float +attackRange: float +dontComeCloserRange: float +delayShootTime: float +target: transform +awake: void +start: void +patrol: IEnumerator +shoot: IEnumerator +attackPlayer: IEnumerator +SearchPlayervector: IEnumerator +RotateTowardsvector: void +Movetowardsvector: void characterController entity +characterContorller +isGrounded: void +velocity: void +move: void mouseLook control +MouseLook +RotationAxes: enum +sensitivity X: float +sensitivity Y: float +minimum X: float +minimum Y: float +maximum X: float +maximum Y: float +rotation X: float +rotation Y: float +update: void +start: void LevelCompleted entity +LevelCompleted +sound: AudioClip -used: boolean +awake: void +OnTriggerEntercollider: IEnumerator AIanimation control +AIanimation +minimumRunSpeed: float +awake: void +Start: void +SetSpeedfloat: void Level1 control +loadscene +LevelCompleted Level2 control +loadscene +LevelCompleted Level3 control +loadscene +LevelCompleted Loading control +loadscene Player boundary TpsAnimationScript boundary TPSMovement entity +useKeyboard: boolean +maxRotationSpeed: float +crouchMultiplier: float +walkMultiplier: float +defaultIsWalk: float +waterMultiplier: float +defaultIsWalk: boolean +walkMultiplier: float +defaultIsWalk: boolean +depthToReduceSpeed: float TPSAnims entity +standAnim: AnimationClips +standAimAnim: AnimationClips +walkAnim: AnimationClips +walkAimAnim: AnimationClips +walkShootAnim: AnimationClips +runAnim: AnimationClips +runAimAnim: AnimationClips +runShootAnim: Animation Clips +reloadAnim: AnimationClips +changedWeaponAnim: AnimationClips +SetTimeForChange: boolean +SetTimeForChangeWeapon: float TPSJumping entity +jumpingAnimation: AnimationClip +jumpingSound: AudioClip +landingSound: AudioClip +jumpL: andCrouchTime : float +fallTimeThreshold: float +fallingDamage: boolean +injuredTimeThreshold: float +deadTimeThreshold: float +doJumping: boolean +superJump: boolean +canJump: boolean +doJump: boolean +currJumpHeight: float +fallingTimer: Fkiat +landSound: boolean +injured: boolean +dead: boolean TPSAnimation control +tpsMovement: TPSMovement +aimTime: float +onlyWhenRun: boolean +noAimWhenBusy: boolean +animatedMesh: Animation +tpsAnims: TPSAnims +standAnimsSpeed: float +walkAnimsSpeed: float +walkHeadBobMultiplier +deactivateAnimation: AnimationClip +tpsjumping: TPSJumping +tpsLeftHand: FPSLeftHand +leftFoot: Transform +rightFoot: Transform +playerIbject: Transform +crouchedControllerCenterHeight: float +crouchedControllerCenterY: float +crouchedPlayerObjectY: float +busy: boolean +moved: boolean +directionVector: Vector3 +Crouch: boolean +grounded: boolean +aim: boolean +shoot: boolean +gunIsEmpty: boolean +stopWaiting: boolean +inWater: boolean +underWater: boolean +playerObjectPos: float -t: Transform -controller: CharacterController -cm: CharacterMotor -player: Player -tpsCam: TPSCamera -crosshair: FadeGUITexture -aimWeapons: AimWeapons -waterScript: WaterInteractions -footprintsScript: FootPrints -armIK: ArmIK -velocityMagnitude: float -waiting: boolean -deactivate: boolean -run: boolean -readyToFire: boolean -lastFireTime: float -footstepTimer: float -swapFoot: boolean -currControllerHeight: float -currControllerCenterY: float -currPlayerObjectY: float -playerObjectVelocity: float -vol: float +awake +start +setupAnimation +Update +Crouch +MovePlayer +UpdateFacingDirection +ProjectOntoPlane +ConstantSlerp +Reloading +WeaponChanged +DeactivateBomb +GunIsEmpty +Run +Jump +SuperJump +OntriggerEnter +OnTriggerStay +IsDead heroff_prefab boundary characterDamage control +maximumHitPoints: float +hitPoints: float +regenerateHealth: boolean +regeneratingSpeed: float +painLittle: AudioClip +deadReplacement: float +painBig: AudioClip +gaspLittle: AudioClip +gaspBig: AudioClip +dieSound: AudioClip +respawn: boolean +respawnTime: float +lives: int +isEnemy: boolean +isBoss: boolean +score: int +showScoreInfo: boolean +isDead: boolean -t: transform -player: transform +controller: CharacterController -gotHitTimer -weaponIndex -vol: float -coms: behaviour +awake +OnEnable +Start +update +ApplyDamage +Detonate +HideCharacter +CopytransformRecurse +SelectWeapon spawner control +spawner: Spawner +caches: ObjectCache +activeCachedObkect +Awake +Spawn +Destroy EnemyRespawn control +respawnType: Object +foundItemNumber: int +oneTimeRespawn: boolean +spawnRange: float +deleteRange: float +gizmoName: String +enemyPrefab: GameObject +respawnEffect: GameObject +respawnSound: AudioClip +respawnPoint: GameObject +respawnDelayMin: Float +respawnDelayMax: Float +NumberOfEnemies: int +radius: float +spawnInGrid: Object +weaponIndex: int +setSightRange: boolean +sightRange: object +setAttackRange: boolean +attackRange: Object +setRetreat: boolean +setShootRange: boolean +shootRange: Object +setBurstIntervalMin: boolean +burstIntercalMin: float +setBurstIntervalMax: boolean +burstIntervalMax: float +setBurstTimeMin +burstTimeMin: float +setBurstTimeMax: float +burstTimeMax: boolean +setShoot: boolean +shootEnemis: boolean +setMove: boolean +setSearch: boolean +searchForEnemies: boolean -target: Transform -player: Player -updateInterval: float +awake +start +update +IsAnyoneAlive +HideEnemies +Respawn +SetParams Level4 control +loadscene +LevelCompleted Level5 control +loadscene +LevelCompleted 1 1 1 1 1 1 coyote_prepab boundary AnimalAI Control +AI +speed: float +rotationspeed: float +attackRange: float +dontComeCloserRange: float +target: transform +awake: void +start: void +patrol: IEnumerator +attackPlayer: IEnumerator +SearchPlayervector: IEnumerator +RotateTowardsvector: void +Movetowardsvector: void 1 1 SpeakOnTrigger entity +Instruction +Playing +Timer +InstructionToPlay +start +update +OnTriggerEnter Gambar 3.25 Class Diagram Game Save Our Planet From Extinction

3.1.11.8. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait. Sequence diagram biasa digunakan untuk menggambarakan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Berikut ini beberapa sequencial diagram yang terdapat pada game save our planet from extinction yaitu : 3.1.11.8.1. Sequence Diagram Menampilkan Permainan Level 1 Sequence diagram untuk menampilkan permainan level 1 bisa dilihat pada gambar 3.26. Top Package::Pemain StartMenu Loading level 1 TPSAnimation TPSMovement MouseLook CharacterController LevelCompleted 4. Awake 5. Update 6. LoadScene 1. Memilih menu mulai 2. Load Scene 8. I put to bol Keyboard W,A,S,D 7. Update 3. Start 8.1 : Walk 8.2 : Jump 9 : Update 10. Mencapai Tujuan 11. OnTriggerEnter 12. LoadLevel Gambar 3.26 Sequence Diagram Menampilkan Permainan Level 1 3.1.11.8.2. Sequence Diagram Menampilkan Permainan Level 2 Sequence diagram untuk menampilkan permainan level 2 bisa dilihat pada gambar 3.27. 94 Top Package::Pemain Level 1 Loading level 2 TPSAnimation TPSMovement MouseLook EnemyRespawn UniversalGun 4. Awake 5. Update 6. LoadScene 1. Menyelesaikan level 1 2. Load Scene 10. I put to bol Keyboard W,A,S,D 3. Start GUI CharacterController Weapon AnimalAI LevelCompleted 9. Update 10.1. Walk 10.2. Crouch 10.3. Jump 15.1. fire CharaterDamage 7. Awake 8. Start 11. Update 13. Awake 15. Klik Mouse Kiri 12. Start 14. Patrol 16.1. SearchPlayer 15.3. showOptics 15.4. Fire 15.5. Reload 16.2. CanSeeTarget 16.3. AttackPlayer 16. isAnyoneAlive 15.2. lateUpdate 15.1.1. onAwake 15.1.2. Start 15.1.3 ApplyDamage 15.1.4. update 17. update 18. MencapaiTujuan 19. onTriggerEnter 20. loadlevel G a m b ar 3.27 S e qu e n c e D iagr a m M e n a m p il k an P e r m ai n a n L evel 2 3.1.11.8.3. Sequence Diagram Menampilkan Permainan Level 3 Sequence diagram untuk menampilkan permainan level 3 bisa dilihat pada gambar 3.28. Top Package::Pemain StartMenu Loading level 3 TPSAnimation TPSMovement MouseLook CharacterController LevelCompleted 4. Awake 5. Update 6. LoadScene 1. Memilih menu mulai 2. Load Scene 8. I put to bol Keyboard W,A,S,D 7. Update 3. Start 8.1 : Walk 8.2 : Jump 9 : Update 10. Mencapai Tujuan 11. OnTriggerEnter 12. LoadLevel 8.3 : Crouch Gambar 3.28 Sequence Diagram Menampilkan Permainan Level 3 3.1.11.8.4. Sequence Diagram Menampilkan Permainan Level 4 Sequence diagram untuk menampilkan permainan level 4 bisa dilihat pada gambar 3.29. 96 Top Package::Pemain Level 3 Loading level 4 TPSAnimation TPSMovement MouseLook EnemyRespawn UniversalGun 4. Awake 5. Update 6. LoadScene 1. Menyelesaikan level 1 2. Load Scene 10. I put to bol Keyboard W,A,S,D 3. Start GUI CharacterController Weapon EnemyAI LevelCompleted 9. Update 10.1. Walk 10.2. Crouch 10.3. Jump 15.1. fire CharaterDamage 7. Awake 8. Start 11. Update 13. Awake 15. Klik Mouse Kiri 12. Start 14. Patrol 16.1. SearchPlayer 15.3. showOptics 15.4. Fire 15.5. Reload 16.2. CanSeeTarget 16.3. AttackPlayer 16. isAnyoneAlive 15.2. lateUpdate 15.1.1. onAwake 15.1.2. Start 15.1.3 ApplyDamage 15.1.4. update 17. update 18. MencapaiTujuan 19. onTriggerEnter 20. loadlevel G a m b ar 3.29 S e qu e n c e D iagr a m M e n a m p il k an P e r m ai n a n L evel 4 3.1.11.8.5. Sequence Diagram Menampilkan Permainan Level 5