Senin, 15 Juli 2019

TEORI BAHASA & OTOMATA (UAS 2019)

Assalamualaikum wr wb

NAMA   : RONI RAHMANSYAH
NIM       : 161021450204


Kali ini saya akan menjelaskan tentang mesin moree.

mesin Moore adalah otomasi fase berhingga (finite state automaton) di mana keluarannya ditentukan hanya oleh fase saat itu (dan tidak terpengaruh oleh bagian masukan/input). Diagram fase (state diagram) dari mesin Moore memiliki sinyal keluaran untuk masing-masing fase. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transis.

        Mesin Moore adalah suatu Finite State Automata yang memiliki keputusan beberapa keluaran /output.
        Mesin Moore didefinisikan dalam 6 (enam) tupel, M = (Q, Σ, δ, S, Δ, λ ), di mana :
       Q = himpunan state
       Σ = himpunan simbol input
       δ = fungsi transisi
       S = state awal
      Δ = himpunan output
      λ = fungsi output untuk setiap state
     
      contoh soal :

      Kita lihat contoh penerapan dari Mesin Moore. 
      Misal kita ingin mmemperoleh pembagian (modulus) suatu bilangan dengan 6. Di mana input dinyatakan dalam biner.
      Mesin Moore yang bersesuaian bisa dilihat pada gambar di bawah ini. 
     Konfigurasi mesinnya adalah sebagai berikut.
            Q = { q0, q1, q2, q3, q4, q5 }
             Σ = {0,1} (input dalam biner)
             Δ = {0, 1, 2, 3, 4, 5} (untuk output-nya pada kasus mod dengan 6, maka sisanya kemungkinan adalah 0, 1, 2, 3, 4, 5)
              S = q0
      λ (q0) = 0
      λ (q1) = 1
      λ (q2) = 2
      λ (q3) = 3
      λ (q4) = 4
      λ (q5) = 5
      
         

                                               δ  = 


         Sehingga akan di dapat FSA sebagai berikut

kita coba dulu dengan memasukan input berikut :

10 mod 6 ?
input 10 dalam binner 1010
Bila kita masukkan 1010 ke dalam mesin, urutan state yang dicapai : q0, q1, q2, q5, q4
Perhatikan state terakhir yang dicapai adalah q4,  λ (q4 ) = 4, maka 10 mod 6 = 4


       untuk mengujinya bisa kita gunakan software jfalp yg bisa kalian Download disini
       caranya  ;

pilih menu Input > Fast run > atau bisa dilihat di gambar dibawah in

lalu masukan hasil dari konversi input tadi (1010) dari bilangan input 10
maka hasilnya akan seperti dibawah ini

       
       state terakhir yang dicapai adalah q4 , λ (q4 ) = 4, maka 10 mod 6 = 4 
sekarang kita coba masukan input dari 6 sampai 12 , lalu konversikan ke dalam biner seperti gambar dibawah ini:

      kemudian uji menggunakan Multiple Run maka akan seperti gambar berikut :

untuk mengetahui state terakhir yg dicapai , kalian tinggal pilih bilangan biner yang akan di cek , kemudian tinggal pilih menu view trace saja pada jfalp tadi.



nah itu lah teman-teman pengetahuan yang saya miliki.
mudah-mudahan ilmunya bisa bermanfaat buat pembaca.

thanks,

Salam hormat saya
Roni Rahmansyah 











Tidak ada komentar:

Posting Komentar