Rabu, 30 Mei 2018

Membuat FSM sederhana minimal 10 states yang dilengkapi dengan Pesudocode dan penjelasannya

1. FSM (Finite State Machin)

2. Pseudocode

using UnityEngine;
using System.Collections;

public class GameFSM : MonoBehaviour {
      public enum TurnStates{
           masuklevel,
           diam,
           berjalan,
           koin,
           box,
           player,
           huruf aksara, 
           kunci,
           timer,
           habis,
           musuh,
           mengenai,
           mendapatkan,
           GameOver,
           NextLevel
       }

public TurnStates state;
public bool gameInProgress = true;

void Start () {
state = GameFSM.Mulai.Init;
StartCoroutine ("TurnFSM");
}
private IEnumerator TurnFSM (){
while(gameInProgress){
     switch(state){
     case TurnStates.LevelAwal:
     if( Permainan Awal()) {* state = diam:}
            break;
     case TurnStates.diam:
     if(Mulai()) {* state = berjalan;}
            break;
     case TurnStates.berjalan:
     if( berjalan()) {* state = koin;}
            break;
     case TurnStates.koin:
     if( mencari koin()) {* state = point;}
     if (menghindar ()) {* state = Musuh;}
            break;
     case TurnStates.benda:
     if( mencari koin ()) {* state = box;}
     if(mendekati()) {* state = Musuh;}
            break;
     case TurnStates.musuh:
     if( Terkena Enemy ()) {* state = timer;}
            break;
     case TurnStates.box:
    if( benar ()) {* state = huruf aksara jawa;}
            break;
     case TurnStates.timer:
     if(waktu masih tersedia ()) {* state = jalan;}
     else (waktu sudah habis ()) {* state = GameOver;}
            break;
     case TurnStates.Kunci:
     if( berhasil menjawab()) {*state = NextGame;}
           break;
     case TurnState.NextGame :
      if (DoneLevel ()) {* state = LevelBaru;}
            break;
     }
 yield return null;
    }
}

3. Penjelasan

Game mulai dimainkan oleh pengguna melalui tahap pertama yaitu memulai permainan awal pada level 1, kemudian player berada pada posisi diam, apabila anak panah pada keyboard di jalankan maka otomatis pemain atau player akan berjalan. Player tidak hanya bisa berjalan akan tetapi player juga bisa melompat. Pada game ini player diminta berjalan menelusuri jalan untuk mencari koin. koin tersebut nantinya akan digunakan untuk membuka box yang berisi huruf aksara, tidak hanya huruf tetapi juga terdapat suara huruf tersebut sehingga mempermudah anak untuk mempelajari dan mengenal huruf aksara tersebut, syarat agar 1 box terbuka itu harus mengumpulkan 5 koin terlebih dahulu jadi apabila kita ingin membuka 5 box harus mengumpulkan 25 koin dalam waktu 80 detik, jika dalam waktu 80 detik tersebut player tidak berhasil membuka kelima box tersebut maka akan game over, didalam game juga terdapat musuh yang selalu berjalan disana, jadi apabila player terkena musuh maka akan game over dan keluar total point yang diperoleh. Jika dalam waktu 80 detik berhasil membuka semua box maka player tiap membuka box player akan mendapatkan 1 kunci yang mana fungsi dari kunci adalah untuk membuka pintu, maksud pintu disini untuk next pada level berikutnya, jadi dalam 1 level harus berhasil membuk kelima box tersebut dalam waktu 80 detik agar bisa next level, jika hanya baru bisa membuka 3 box dalam waktu 80 detik maka player gagal dan akan game over. Untuk sistem permainan pada level selanjutnya juga sama. 

Reverensi
https://forum.unity.com/threads/trouble-with-a-switch-case-finite-state-machine-in-c.107979/
http://pzuh.blogspot.com/2011/09/actionscript-30-finite-state-machine.html

Rabu, 14 Maret 2018

Artikel Tentang Game Base Learning dan Gemification


Game Base Learning dan Gemification
Game-Based Learning adalah metode pembelajaran yang menggunakan aplikasi permainan/game yang telah dirancang khusus untuk membantu dalam proses pembelajaran. Dengan menggunakan Game-Based Learning kita dapat memberikan stimulus pada tiga bagian penting dalam pembelajaran yaitu Emotional, Intellectual, Psycomotoric. Game-Based Learning adalah salah satu metode pembelajaran yang dirasa cocok dengan kondisi dari generasi digital sekarang ini karena tiga alasan berikut ini :
  1. Menciptakan lingkungan belajar yang menyenangkan dan membuat semakin motivasi siswa untuk belajar.
  2. Kompetisi dan kerjasama tim dalam menyelesaikan misi yang ada dalam aplikasi game juga dapat menambahkan komponen motivasi pada siswa.
  3. Umpan balik yang cepat dan spesifik memberikan kemudahan bagi siswa untuk memikirkan cara lain yang tepat untuk menyelesaikan penugasannya.
Game-based learning biasanya dirancang untuk memperkuat materi pelajaran dengan menggunakan permainan dan kemampuan pemain untuk mempertahankan dan menerapkannya ke dunia nyata. Salah satu contoh penerapan game-based learning seperti permainan Angry Birds untuk pembelajaran Fisika.
Game-based learning secara definisi adalah pengunaan video game sebagai metode pembelajaran. Ternyata, hal ini bukanlah hal yang baru ditemukan. Banyak penelitian tentang game-based learning yang memberikan hasil positif.
Sebagai contoh, berdasarkan hasil-hasil penelitian (Papastergiou, 2009; Jiau, Chen, Ssu, 2009; Kazigmolu, Kiernan, Bacon, MacKinnon, 2012; Jong, Lai, Hsia, Lin, Lu, 2013), game-based learning dapat meningkatkan motivasi pelajar dalam proses pembelajaran.
Gee dan Shaffer (2010) menyatakan, bahwa video game baik untuk pembelajaran karena game dapat membuat dunia-dunia virtual di mana pemain menyelesaikan simulasi dari masalah dunia nyata.
Secara garis besar, ada dua peran unik dari video game yang membuatnya dapat dijadikan sebagai sarana pembelajaran yang efektif, sebagai motivator dan simulator.
·         Game sebagai motivator
Video game dengan berbagai kelebihan yang dimilikiny dapat membuat seseorang lebih tertarik dan semangat dalam menghadapi proses belajar.
·         Game sebagai simulator
Sebagai simulator, video game dapat memfasilitasi berbagai hal yang sulit dimodelkan, dilakukan, atau disimulasikan di dunia nyata. Dibekali fasilitas tersebut, kita dapat melakukan berbagai eksperimen dalam game untuk kemudian diaplikasikan ke dalam kehidupan sehari-hari.

Sedangkan Gamifikasi menerapkan konsep desain game terhadap materi pembelajaran. Karakteristik model pembelajaran ini yaitu adanya tantangan, kepuasan, penghargaan, dan ketergantungan.
Gamifikasi adalah penggunaan dari teknik desain permainan, permainan berpikir dan permainan mekanik untuk meningkatkan non-game konteks. Biasanya gamifikasi berlaku untuk non-game aplikasi dan proses, untuk mendorong orang untuk mengadopsi mereka, atau untuk mempengaruhi bagaimana mereka digunakan. Gamifikasi bekerja dengan membuat teknologi yang lebih menarik, dengan mendorong pengguna untuk terlibat dalam perilaku yang diinginkan.
Contoh penerapan gamifikasi pada e-learning atau web-based learning antara lain:
·         educade.org, menyediakan berbagai alat pembelajaran, termasuk permainan, untuk tiap tingkat usia dan berbagai mata pelajaran
·         icivics.org, merupakan situs penyedia video games pendidikan yang dibuat untuk menanamkan pengetahuan umum pada anak-anak muda Amerika.
·         guraru.org, menerapkan gamifikasi melalui sistem poin dan ajang penghargaan.
Berikut langkah-langkah penerapan gamifikasi dalam pembelajaran:
  1. Kenali tujuan pembelajaran
  2. Tentukan ide besarnya
  3. Buat skenario permainan
  4. Buat desain aktivitas pembelajaran
  5. Bangun kelompok-kelompok
  6. Terapkan dinamika permainan

Model pembelajaran gamifikasi memiliki beberapa kelebihan dibandingan model pembelajaran lainnya, antara lain:
  1. Belajar jadi lebih menyenangkan
  2. Mendorong siswa untuk menyelesaikan aktivitas pembelajarannya
  3. Membantu siswa lebih fokus dan memahami materi yang sedang dipelajari
  4. Memberi kesempatan siswa untuk berkompetisi, bereksplorasi dan berprestasi dalam kelas
Namun, model pembelajaran ini juga memiliki beberapa kelemahan jika tidak diterapkan dengan matang:
  1. Dapat diprediksi dan membosankan
  2. Menjadi tidak bermakna, jika tujuan pembelajaran tidak tergambarkan dengan baik atau tidak tercapai
  3. ‘Merusak’ secara psikologisi


Referensi


Rabu, 05 Oktober 2016

Tugas 2 Organisasi dan Arsitektur Komputer



Interkoneksi struktur

Komputer terdiri dari satu set komponen atau modul dari tiga tipe dasar (prosesor, memori, i / o) yang berkomunikasi satu sama lain. Pada dasarnya, komputer adalah jaringan modul bacis. Sehingga harus ada jalan untuk menghubungkan modul.
Koleksi jalan yang menghubungkan berbagai modul disebut struktur interkoneksi. Desain struktur ini akan tergantung pada pertukaran yang harus dilakukan antara modul.
Angka 3,15 menunjukkan jenis pertukaran yang dibutuhkan oleh yang menunjukkan bentuk utama dari input dan output untuk setiap jenis modul Struktur interkoneksi adalah kumpulan lintasan yang menghubungkan berbagai komponen-komponen seperti CPU, Memory dan i/O, yang saling berkomunikasi satu dengan lainnya.
1.      CPU
CPU membaca instruksi dan data, menulis data setelah diolah, dan menggunakan signal-signal kontrol untuk mengontrol operasi sistem secara keseluruhan. CPU juga menerima signal-signal interupt.

2.      MEMORY
Memory umumnya modul memory terdiri dari n word yang memiliki panjang yang sama. Masing-masing word diberi alamat numerik yang unik(0,1…,N-1). Sebuah word data dapat dibaca dari memory atau ditulis ke memori. Sifat operasinya ditandai oleh signal-signal control read dan write. Lokasi bagi operasi dispesifikasikan oleh sebuah alamat.
 
3.      I/O
I/O berfungsi sama dengan memory.Terdapat dua buah operasi, baca dan tulis. Selain itu, modul-modul i/O dapat mengontrol lebih dari 1 perangkat eksternal. Kita dapat mengaitkan interface ke perangkat eksternal sebagai sebuah port dan memberikan alamat yang unik (misalnya,0,1,…,M-1) ke masing-masing port tersebut. Di samping itu, terdapat juga lintasan-lintasan data internal bagi input dan output data dengan suatu perangkat eksternal. Terakhir, modul i/O dapat mengirimkan sinyal-sinyal interupt ke cpu.
 

4.      PROCESSOR
Prosesor membaca dalam instruksi dan data, menulis data setelah keluar pengolahan, dan menggunakan sinyal kontrol untuk mengendalikan keseluruhan sistem operasi. Juga menerima sinyal interupt.

Dari  jenis  pertukaran  data  yang  diperlukan  modul  –  modul  komputer,  maka struktur interkoneksi harus mendukung perpindahan data berikut :
a.       Memori ke CPU
CPU melakukan pembacaan data maupun instruksi dari memori.
b.      CPU ke Memori
CPU melakukan penyimpanan atau penulisan data ke memori.
c.       I/O ke CPU
CPU membaca data dari peripheral melalui modul I/O.
d.       CPU ke I/O
CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
e.        I/O ke Memori atau dari Memori ke I/O
digunakan pada sistem DMA.

Saat  ini   terjadi perkembangan  struktur  interkoneksi,  namun  yang  banyak digunakan adalah  sistem  bus.  Sistem  bus  ada  yang  digunakan  yaitu sistem bus tunggal dan struktur sistem bus campuran, tergantung karakteristik sistemnya.





Interkoneksi Bus

Bus  merupakan  lintasan  komunikasi  yang  menghubungkan  dua  atau  lebih  komponen  komputer. Karakteristik utama dari bus yaitu sebagai media  transmisi  yang  dapat digunakan bersama oleh sejumlah perangkat yang terhubung padanya. Karena  digunakan  bersama,  diperlukan  pengaturan  agar  tidak  terjadi  tabrakan  data atau kerusakan data yang ditransmisikan. Walaupun digunakan scara bersamaaan, dalam satu waktu hanya ada sebuah perangkat yang dapat menggunakan bus.

Struktur Bus
Sebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikan menjadi tiga bagian, yaitu :
        i.            Saluran  data
Saluran data (data bus) adalah lintasan yang digunakan sebagai perpindahan data antar modul. Secara umum lintasan ini disebut  bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32. Saluran ini bertujuan agar mentransfer word dalam sekali waktu. Jumlah saluran dalam bus data disebut lebar bus, dengan satuan bit, misal : lebar bus 16 bit.
      ii.            Saluran  alamat
Saluran alamat (address bus) digunakan untuk menspesifikasi sumber dan tujuan data pada bus data. Saluran ini digunakan untuk mengirim alamat word pada memori yang akan diakses CPU. Juga digunakan untuk saluran alamat perangkat modul komputer saat CPU  mengakses suatu modul. Perlu diketahui, semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat. Misalnya mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya.
    iii.            Saluran  kontrol.
Saluran kontrol (control  bus) digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada. Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini. Sinyal–sinyal kontrol terdiri atas sinyal pewaktuan dan sinyal–sinyal perintah. Sinyal pewaktuan menandakan validitas data dan alamat, sedangkan sinyal perintah berfungsi membentuk suatu operasi.
Secara umum saluran kontrol meliputi :
o   Memory Write, memerintahkan data pada bus yang akan dituliskan ke dalam lokasi alamat.
o   Memory Read memerintahkan data dari lokasi alamat ditempatkan pada bus data.
o   I/O Write, memerintahkan data pada bus dikirim ke lokasi port I/O.
o   I/O Read, memerintahkan data dari port I/O ditempatkan pada bus data.
o   Transfer  ACK,  menunjukkan  data  telah  diterima  dari  bus  atau  data  telah ditempatkan pada bus.
o   Bus Request, menunjukkan bahwa modul memerlukan kontrol bus.
o   Bus  Grant,  menunjukkan modul yang melakukan request telah  diberi hak mengontrol bus.
o   Interrupt Request, menandakan adanya penangguhan interupsi dari modul.
o   Interrupt ACK, menunjukkan penangguhan interupsi telah diketahui CPU.
o   Clock, kontrol untuk sinkronisasi operasi antar modul.
o   Reset, digunakan untuk menginisialisasi seluruh modul.


Secara fisik bus adalah konduktor  listrik  yang dihubngkan secara paralel yang berfungsi menghubungkan modul–modul. Konduktor ini biasanya adalah saluran utama pada PCB motherboard dengan layout tertentu sehingga didapat fleksibilitas penggunaan. Untuk modul I/O biasanya dibuat slot bus yang mudah dipasang dan dilepas, seperti slot PCI dan ISA. Sedangkan untuk chips akan terhubung melalui pinnya.

Prinsip Operasi
Prinsip operasi bus adalah sebagai berikut :
·         Operasi pengiriman data ke modul lainnya :
1)      Meminta penggunaan bus.
2)       Apabila telah disetujui, modul akan memindahkan data yang diinginkan ke modul yang dituju.
·         Operasi meminta data dari modul lainnya :
1)      Meminta penggunaan bus.
2)      Mengirim request ke modul yang dituju melalui saluran kontrol dan alamat yang sesuai.
3)      Menunggu modul yang dituju mengirimkan data yang diinginkan.

Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja.
Faktor – faktor :
§  Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
§  Antrian penggunaan bus semakin panjang.
§  Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data.




Arsitektur Bus Jamak
Prosesor, cache memori dan memori utama terletak pada bus tersendiri pada level tertinggi karena modul – modul tersebut memiliki karakteristik pertukaran data yang tinggi.
Pada arsitektur berkinerja tinggi, modul – modul I/O diklasifikasikan menjadi dua, yaitu :
Memerlukan transfer data berkecepatan tinggi
Memerlukan transfer data berkecepatan rendah
Modul dengan transfer data berkecepatan tinggi disambungkan dengan bus berkecepatan tinggi pula,
Modul yang tidak memerlukan transfer data cepat disambungkan pada bus ekspansi

Arsitektur Bus Jamak Kinerja Tinggi
Keuntungan hierarki bus jamak kinerja tinggi, yaitu :
Bus berkecepatan tinggi lebih terintegrasi dengan prosesor.
Perubahan pada arsitektur prosesor tidak begitu mempengaruhi kinerja bus

Eksekusi Instruksi (Instruction Execution)
Eksekusi instruksi meliputi langkah-langkah berikut :
a)   Penentuan alamat instruksi berikutnya yang akan dieksekusi
b)   Pengambilan instruksi dari lokasi yang ditunjuk tersebut, kemudian meletakkannya di register instruksi (Instruction Register) yang terletak berdampingan dengan Control Unit.
c)   Penterjemahan (decode) instruksi untuk mengetahui operasi apa yang harus dilakukan.
d)   Kalkulasi alamat operand (data yang akan dilibatkan dalam operasi), kemudian ambil operand tersebut.
e)    Melakukan operasi tertentu terhadap operand tersebut.
f)    Simpan hasilnya pada salah satu lokasi data, register atau memori.
g)   Pengecekan terhadap keberadaan interupsi. Jika ada, maka eksekusi instruksi berikutnya ditunda dan operasi instruksi interupsi dimulai.

Gambar 2.3 memperlihatkan siklus instruksi yang secara garis besar terdiri dari tahap pengambilan (fetch cycle) dan tahap eksekusi (execution cycle). Sedangkan Gambar 2.4 berisi diagram keadaan (state diagram ) yang merupakan rincian siklus eksekusi instruksi.
Gambar 2.3. Siklus Instruksi

 
Gambar 2.4. Diagram Keadaan untuk Langkah Instruksi

 

Gambar 2.5 memperlihatkan contoh siklus eksekusi sebuah instruksi yang terdiri dari 6 tahap, yaitu :

1.         Karena PC (Program Counter) berisi angka 300, maka instruksi yang akan diambil adalah instruksi yang terletak di memori alamat 300, yaitu instruksi dengan kode 1940. Instruksi tersebut diambil dari memori kemudian disimpan di register instruksi (Instruction Register).
2.         Misalkan kode 1940 merupakan instruksi dengan kode operasi (Operation Code, opcode) 1, diikuti dengan 940 yang merupakan alamat operand. Opcode 1 berarti instruksi untuk mengcopy data dari alamat operand (dalam hal ini 940) ke akumulator. Maka data yang terletak di alamat 940 dicopy ke accumulator untuk diproses dalam siklus eksekusi ini.
3.         Setelah itu isi PC ditambah satu (incremented) sehingga isinya menjadi 301. Artinya, instruksi berikutnya yang harus diambil dari memori dan dieksekusi terletak di memori alamat 301, yaitu instruksi dengan kode 5941. Instruksi tersebut mengandung opcode 5 dan alamat operand 941.
4.         Karena 5 berarti penjumlahan antara isi akumulator dengan isi memori yang alamatnya diberikan di sebelah angka 5, maka isi akumulator dijumlahkan dengan isi memori alamat 941. Kemudian hasil penjumlahannya dikembalikan ke akumulator.
5.         Setelah PC ditambah satu, maka isinya menjadi 302, sehingga instruksi berikutnya yang diambil dari memori adalah 2941, yaitu opcode 2 dan operand 941.
6.         Arti 2941 adalah perintah untuk mengcopy isi akumulator ke memori alamat 941.

Sumber : 
http://www.scribd.com/doc/20951460/ Sistem-Bus-Komputer#scribd

Membuat FSM sederhana minimal 10 states yang dilengkapi dengan Pesudocode dan penjelasannya 1. FSM (Finite State Machin) 2. Pseudocod...