Finite State Mechine (FSM)
* Pengertian FSM
FSM
adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan
tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal
berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada satu
saat dalam periode waktu yang cukup signifikan, sistem akan berada pada
salah satu state yang aktif. Sistem dapat beralih atau bertransisi
menuju state lain jika mendapatkan masukan atau event tertentu, baik
yang berasal dari perangkat luar atau komponen dalam sistemnya itu
sendiri. Transisi keadaan ini umumnya
juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi
masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi
yang sederhana atau melibatkan rangkaian proses yang relatif kompleks
(Setiawan : 2006).
* Kelebihan FSM
FSM memiliki beberapa kelebihan (Brownlee, 2010), diantaranya :
1. Sederhana, sehingga mudah diimplementasikan
2. Bisa diprediksi responnya
3. Komputasi ringan
4. Relatif fleksibel
5. Merupakan metode AI lama yang bisa digunakan pada berbagai sistem
6. Mudah ditransfer dari abstrak menjadi kode program
* Kelemahan FSM
Selain memiliki banyak kelebihan, FSM juga mempunyai beberapa kelemahan (Brownlee, 2010), diantaranya :
1. Karena sifatnya bisa diprediksi, maka implementasi pada game kurang disukai
2. Implementasi pada sistem yang lebih besar lebih sulit karena pengaturan dan pemeliharaannya jadi kompleks
3. Sebaiknya hanya digunakan pada sistem dimana sifat sistem bisa didekomposisi menjadi state.
4. Kondisi untuk transisi state adalah tetap
* Contoh Flowchart 4 State
* Contoh Pseudocode 4 State
Public PlayerBheavior { Enum PlayerState { Idle, Jump, Run, Attack } } PlayerState actualPlayerState = PlayerState.Idle; Void Update() { Switch (actualPlayerState) { case PlayerState.Idle: //Do what you want in the idle state break; case PlayerState.Jump: //Do what you want in the Jump state break; case PlayerState.Run: //Do what you want in the Run state break; case PlayerState.Attack: //Do what you want in the Attack state break; } }
* Contoh Flowchart 10 State
* Contoh Pseudocode 10 State
int card,pin, deposit, account, ie, wdcard, wd, amount;
true = 1 ;
false = 0 ;
if card = 1 {
if pin = 1 {
if deposit = 1 {
if account = 1 {
insert = 1 }
else wdcard;
}
}
if pin = 0 {
if wd = 1 {
if account = 1 {
if ammount = 0 {
result ammount }
else wdcard;
}
}
}
}
0 comments:
Post a Comment