pertemuan 14 bahasa formal dan mesin status terhingga_nuri_bag2013 [compatibility mode]

12

Click here to load reader

Upload: arif-budiman

Post on 24-Oct-2015

98 views

Category:

Documents


10 download

DESCRIPTION

pertemuan 14

TRANSCRIPT

Page 1: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

PERTEMUAN 14BAHASA FORMAL DAN MESIN STATUS

TERHINGGATERHINGGA

Page 2: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Bahasa FormalSuatu dasar translasi bahasa berhubungan dengan pengolahanbahasa. Di mana dalam translasi bahasa terdapat istilah bahasaformal dan bahasa natural.

Bahasa natural adalah bagian dari komunikasi manusia. Cont :bahasa Inggris, Indonesia dll

Bahasa Formal adalah suatu bahasa yang harus mengikutiBahasa Formal adalah suatu bahasa yang harus mengikutiaturan bahasa pemrograman dan bahasa matematisseperti aljabar dan logika proposisi. Karena aturantersebut akan mengkonstruksi programing translatoruntuk bahasa pemrograman.

Cont: language translator yaitu compiler untuk bahasapemrograman. Yang pada dasarnya tugas translatoradalah mengenali individual building block dari bahasayang akan ditranslasi.

Page 3: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Proses translasi : Source Program menjadi object program1. Proses mengenali runtunan multisimbol di dalam

program ditangani oleh compiler yang disebut lexicalanalyser yaitu sub modul yang menerima source

parserCode generator Object

program

analyser yaitu sub modul yang menerima sourceprogram sebagai string dari simbol dan menghasilkanstring token. Token menyatakan objek tunggal yangdipresentasikan oleh lebih dari satu simbol dari inputstring.

2. Selanjutnya translator menganalisa pola dari token,misal if-then, if-then-else, atau perulangan loop. Analisisyang dilakukan disebut dengan parsing dan dilakukanoleh modul di dalam compiler yang disebut paser.

Page 4: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

3. Ketika paser mengenali struktur di dalam program, makamodul selanjutnya adalah code generator untukmenghasilkan versi translasi dari bagian program.Setelah semua bagian translasi dibentuk, maka dibentukversi translasi program yang disebut object program.

Tatabahasa Struktur FrasaDua hal penting untuk menspesifikasikan bahasa yaitu:1. Jika diberikan spesifikasi suatu bahasa, secara

otomatis akan membangkitkan satu atau lebih string didalam bahasa itu.

2. Jika diberikan spesifikasi suatu bahasa, tentukanapakah suatu string tertentu akan termasuk di dalambahasa itu atau tidak.

Page 5: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Suatu tatabahasa frasa dapat digunakan untukmenspesifikasikan suatu bahasa, yang terdiri dari empatunsur yaitu:

1. Himpunan terminal T, yaitu lambang atau simbol yangdigunakan untuk membuat kalimat dalam bahasa,misal: objek/benda, dan kata sifat.

2. Himpunan nonterminal N, yaitu lambang antara yang2. Himpunan nonterminal N, yaitu lambang antara yangdigunakan untuk mendeskrepsikan struktur kalimat,misal: kalimat, frasa kata benda, kata-benda, kata-sandang dll

3. Himpunan produksi P, yaitu kaidah tatabahasa yangmengatur bagaimana kalimat di dalam bahasa itu dapatdibentuk, misal: α β dalam hal ini a dan β adalahrangkaian terminal dan non terminal.

Page 6: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

4. Di antara semua nonterminal di dalam N, ada sebuahnonterminal khusus yang disebut sebagai simbol awal(starting symbol)

Jenis Tatabahasa dan jenis bahasaDalam bahasan ini akan digunakan A dan B untukDalam bahasan ini akan digunakan A dan B untukmenyatakan nonterminal, a dan b untuk menyatakanterminal dan α dan β untuk menyatakan string terminal dannonterminal.Tatabahasa jenis -3 jika semua produksi di dalam

tatabahasa berbentuk :A a atau A BaA aB

Page 7: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Di dalam setiap produksi, string kirinya selalu berupa sebuahnonterminal tunggal, sedangkan string kanannya berupa sebuahterminal atau sebuah terminal yang diikuti dengan sebuahnonterminal.

Tatabahasa jenis-2 jika semua produksi di dalam tatabahasaberbentuk A αdi dalam setiap produksi, string kirinya selalu berupa sebuahdi dalam setiap produksi, string kirinya selalu berupa sebuahnonterminal tunggal.

Tatabahasa jenis-1 jika semua produksi di dalam tatabahasaberbentuk α βpanjang β selalu lebih besar atau sama dengan α. Misalnya:A ab

A aAaAb aBCb

Page 8: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Tatabahasa jenis-0 yaitu tatabahasa struktur frasa tanpapembatasan seperti yang telah didefinisikan oleh jenis 1, 2, 3.Semua bahasa pemrograman dapat dispesifikasi olehtatabahasa struktur frasa dan kebanyakan merupakan bahasajenis-2 misal: BASIC, Fortran, Pascal).

Automata Terhingga (finite automata)Automata terhingga dan bahasa reguler adalah level terendahAutomata terhingga dan bahasa reguler adalah level terendahdari hirarki mesin dan bahasa. Salah satu aplikasinya adalahkonstruksi pengkompilasi (compiler), yaitu pengenalan string darisimbol di kode sumber program yang harus direpresentasikansebagai objek tunggal seperti nama variabel, konstanta danreserved word.Salah satu bentuk bentuk penggambaran untuk representasistrukturnya adalah diagram transisi (diagram status ataujaringan transisi)

Page 9: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Mesin Status TerhinggaSuatu mesin status terhingga mempunyai ciri-ciri sebagaiberikut:

1. Himpunan terhingga status-status S={s0,s1, s2,…}2. Unsur khusus di dalam himpunan S, yaitu s0 yang

dinamakan status awal.dinamakan status awal.3.Himpunan terhingga huruf-huruf masukan I={i0,i1,i2,…}4.Himpunan terhingga huruf-huruf keluaran

O={o0,o1,o2,…}5. Fungsi transisi yaitu fungsi f dari S x I ke S6. Fungsi keluaran yaitu fungsi g dari S ke O

Page 10: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Sinyal (huruf) keluaranMasukan

Suatu mesin status terhingga mempunyai sejumlahterhingga status. Setelah diterimanya sebuah huruf

Mesin

Pemroses

Informasi

terhingga status. Setelah diterimanya sebuah hurufmasukan, mesin akan memasuki status lain berdasarkanfungsi transisinya.

Mesin Status Terhingga sebagai Model Sistem FisikMesin status terhingga dapat digunakan untukmemodelkan suatu sistem fisik, seperti cont: vendingmachine, mesin hitung modulo-3.

Page 11: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Mesin Status Terhingga sebagai Pengenal BahasaMesin status terhingga dapat digunakan untuk memodelkansuatu alat untuk mengenali (menerima) kalimat-kalimat di dalamsuatu bahasa.

Misalkan: O ={0,1} adalah simbol keluaran sebuah mesin statusterhingga. Bernilai 1 artinya status menerima, dan bernilai 0artinya status menolak.artinya status menolak.Mesin TuringPada tahun 1936 seorang mtematikawan berkebangsaan Inggrisbernama Alan Turing, mengusulkan suatu model sederhanayang mempunyai kemampuan sebuah komputer grneral-purpose. Mesin Turing mengenali kelas bahasa yang disebutsebagai himpunan terenumerasi rekursif dan dapat digunakanuntuk menghitung kelas fungsi bilangan bulat yang dikenalsebagai fungsi rekursif parsial.

Page 12: Pertemuan 14 Bahasa Formal Dan Mesin Status Terhingga_NURI_BAG2013 [Compatibility Mode]

Komponen mesin turing :1. Pengendali status terhingga2. Pita masukan dengan sifat:

- panjangnya tak terhingga (dari ujung kiri terbatas, ujungkanan tidak terbatas)- dapat dibaca dan ditulis.

Pada keadaan awal n sel pertama dari pita masukan berisirangkaian simbol yang harus dikenali. Sel-sel lain disebelahkanan rangkaian simbol berisi simbol kosong.

Perilaku mesin Turing bergantung pada simbol masukan yangberada pada posisi kepala (head) baca/tulis dan statuspengendalinya. Aksi-aksi yang dapat dilakukan yaitu:

1. Berubah status2. Menuliskan simbol pada sel pita masukan. Aksi penulisan ini

akan mengubah simbol yang sebelumnya berada pada seltersebut.

3. Menggerakkan head ke kiri dan ke kanan.