This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Rabu, 30 Mei 2018

Finite State Machine (FSM) dan Pseudocode

Membuat FSM sederhana minimal 10 states yang dilengkapi dengan Pseudocode dan penjelasannya.

Finite State Machine (FSM)

Pseudocode
void Step(int *state) { // call by reference since state can change
    switch(state) {
       
     case 0:  // level awal
            LevelAwal();
            if( SeeEnemy() )    { *state = 1; }
            break;
        
        case 1:  // Diam
            Diam();
            if( LowOnHealth() ) { *state = 2; }
            if( NoEnemy() )     { *state = 0; }
            break;

case 2:  // Jalan
            Jalan();
            if( LowOnHealth() ) { *state = 2; }
            if( NoEnemy() )     { *state = 0; }
            break;

case 3:  // Kotak
            Kotak();
            if( LowOnHealth() ) { *state = 2; }
            if( NoEnemy() )     { *state = 0; }
            break;

case 4:  // Soal
            Soal();
            if( LowOnHealth() ) { *state = 3; }
            if( Enemy() )     { *state = 7; }
            break;

case 5:  // Menembak
            Menembak();
            if( LowOnHealth() ) { *state = 5; }
            if( Enemy() )     { *state = 02 }
            break;

case 6:  // Lari
            Lari();
            if( LowOnHealth() ) { *state = 5; }
            if( Enemy() )     { *state = 2; }
            break;

case 7:  // Musuh
            Musuh();
            if( LowOnHealth() ) { *state = 6; }
            if( Enemy() )     { *state = 4; }
            break;

case 8:  // Next Level
            NextLevel();
            if( LowOnHealth() ) { *state = 7; }
            if( Enemy() )     { *state = 9; }
            break;

        case 9:  // Game Over
            GameOver();
            if( NoEnemy() )     { *state = 0; }        
            break;
    }
}


Penjelasannya: 
Pemain akan bermain dengan level awal, kemudian diam lalu mencari jalan dan di perjalanan menemukan sebuah kotak yang dimana kotak tersebut terdapat soal yang sudah berisi huruf hijaiyah. Jika pemain dapat menjawab soal akan ke level selanjutnya. untuk mendapatkan kotak tersebut tentunya tidak mudah karena harus melewati rintangan atau membunuh musuh terlebih dahulu untuk bisa menjawab soal. Pemain dapat menghindari musuh dengan menembak atau menghindar terlebih dahulu tetapi jika pemain tidak dapat menghindar maka akan game over sebaliknya jika pemain dapat menghindar dari musuh akan ke level selanjutnya.


Referensi:
http://pzuh.blogspot.com/2011/09/actionscript-30-finite-state-machine.html
https://web.cs.wpi.edu/~imgd4000/d07/slides/AI.pp

Senin, 23 Oktober 2017

TUGAS 2 DEKLARASI ALGORITMA



No 1
Jika terdapat 3 buah gelas , A berisi air warna biru, B berisi air warna meah, dan c tidak berisi air. Buatlah algoritma untuk menukar isi gelas A dan B sehingga air warna merah berada di gelas A dan air warna biru berada digelas B
  1. Pindahkan isi gelas A (berwana biru) ke gelas C (gelas kosong), sehingga gelas A menjadi kosong dan gelas C berwarna biru
  2. Pindahkan isi gelas B (berwarna merah) langsung ke gelas A (gelas kosong), sehingga gelas A berwarna merah dan gelas B menjadi kosong.
  3. Pindahkan isi gelas C (berwarna biru) ke gelas B (gelas kosong), sehingga gelas C menjadi kosong dan gelas B berisi merah.

Algoritma harus dijelaskan sangat rinci dan jelas.
Berikut penyelesaian dalam algoritmanya ...

Algortima Tukar_Isi_Gelas

Deklarasi
  • Terdapat dua gelas (gelas A dan gelas B), gelas A berwarna biru dan gelas B berwarna merah.
  • Siapkan gelas tambahan, yakni gelas C, untuk penampungan sementara
Deskripsi (penyelesaian)
  1. Tuangkan isi gelas A ke gelas C
  2. Tungkan isi gelas B ke gelas A
  3. Tuangkan isi gelas C ke gelas B 

No 2.
Seorang petani ingin menyebrang sungai dengan membawa hewan peliharaan serigala dan kambing serta sekeranjang kubis, terdapat sebuah kapal yang dapat digunakan namun hanya bisa membawa petani tersebut dengan salah satu bawaannya dalam sekali menyebrang. Jika seigala ditinggal bersama kambing, maka serigala akanmemakan kambing. Jika kambing ditinggal bersama kubis, maka kambing akan memakan kubis. Bagaimana petani bisa membawa serigala , kambing dan kubis sampai di seberang sungai?

Keterangan :
P          : Petani
S          : Serigala
K          : Kambing
B          : Kubis
Algoritma :
  1. Petani menyebrangkan kambing dari sisi A ke sisi B
  2. Petani menyebrang kembali dari B ke A
  3. Petani menyebrangkan serigala dari sisi A ke sisi B
  4. Petani menyebrangkan kambing dari sisi B ke sisi A
  5. Petani menyebrangkan sayur dari sisi A ke sisi B
  6. Petani menyebrang sendiri dari B ke A
  7. Petani menyebrangkan kambing dari sisi A ke sisi B
Soal nomor 3 : terdpat sekumpulan wada a, b, c, d, e, f dan g yang bersi angka seperti pada posisi A. Jika hanya boleh memindahkan satu angka dalam satu waktu dan hanya satu angka dalam satu wadah, bagaimanakah urutan langkahnya supaya angka angka tersebut menjadi seperti pada posisi B
Algoritmanya :
  1. Angka 4 pada wadah A pindah ke wadah F yang kosong
  2. Angka 1 pada wadah D pindah ke wadah A yang kosong
  3. Angka 4 pada wadah F pindah ke wadah D yang kosong
  4. Angka 5 pada wadah B pindah ke wadah F yang kosong
  5. Angka 2 pada wadah E pindah ke wadah B yang kosong
  6. Angka 5 pada wadah F pindah ke wadah E yang kosong