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.