• Tidak ada hasil yang ditemukan

TEORI BAHASA DAN OTOMATA

N/A
N/A
Protected

Academic year: 2019

Membagikan "TEORI BAHASA DAN OTOMATA"

Copied!
129
0
0

Teks penuh

  • Penulis:
    • Ir. Sudiadi, M.M.A.E.
    • Ir. Rizani Teguh, M.T.
  • Sekolah: Sekolah Tinggi Manajemen Informatika dan Komputer Global Informatika MDP
  • Mata Pelajaran: Teori Bahasa dan Otomata
  • Topik: Teori Bahasa dan Otomata
  • Tipe: diktat
  • Tahun: 2017
  • Kota: Palembang

I. Konsep Bahasa

Teori Bahasa dan Otomata membahas model dan konsep dasar yang berkaitan dengan komputasi. Bahasa alami didefinisikan sebagai kumpulan kata dan metode penggabungan kata yang digunakan oleh suatu komunitas, sedangkan bahasa formal digunakan untuk berkomunikasi dengan komputer. Otomata berfungsi sebagai mesin abstrak yang memodelkan komputer, menerima input, menghasilkan output, dan memiliki memori sementara. Pemahaman konsep ini penting untuk mendukung tujuan pendidikan dalam memahami dasar-dasar komputasi dan pengolahan bahasa.

1.1 Abjad atau Alfabet

Abjad adalah himpunan simbol yang digunakan untuk membentuk kata atau untai. Misalnya, alfabet biner terdiri dari {0, 1}, dan alfabet huruf kecil terdiri dari {a, b, c, ..., z}. Memahami konsep abjad sangat penting dalam pengembangan bahasa formal dan pemrograman, serta dalam analisis sintaksis dalam ilmu komputer.

1.2 Untai (String)

Untai adalah barisan simbol dari suatu alfabet. Contoh untai termasuk '1011' dari alfabet biner. Pemahaman tentang untai dan operasinya seperti panjang untai dan rentengan sangat penting dalam pengembangan algoritma dan pemrograman, serta dalam analisis bahasa formal.

1.3 Panjang Alfabet

Panjang alfabet mengacu pada jumlah simbol yang membentuk untai. Misalnya, panjang dari 'abc' adalah 3. Konsep panjang alfabet penting dalam penghitungan kompleksitas dan efisiensi algoritma dalam pemrograman.

1.4 Rentengan Untai (String Concatenation)

Rentengan adalah proses menggabungkan dua untai menjadi satu. Misalnya, jika w1 = 'abc' dan w2 = 'def', maka w1 w2 = 'abcdef'. Pemahaman tentang rentengan sangat penting dalam pengolahan teks dan manipulasi string dalam pemrograman.

1.5 Bahasa Formal (Formal Language)

Bahasa formal adalah himpunan yang terdiri dari untai yang dibentuk dari suatu alfabet. Contoh bahasa formal termasuk bahasa pemrograman seperti C++ dan Java. Memahami bahasa formal adalah dasar penting dalam pengembangan perangkat lunak dan analisis sintaksis.

1.6 Operasi-Operasi pada Bahasa

Operasi pada bahasa meliputi perangkaian, eksponensiasi, gabungan, dan irisan. Misalnya, gabungan L1 dan L2 menghasilkan semua untai yang muncul di L1 atau L2. Memahami operasi ini sangat penting dalam teori automata dan pengembangan algoritma untuk pemrosesan bahasa.

1.7 Hirarki Chomsky

Hirarki Chomsky mengklasifikasikan bahasa berdasarkan kompleksitasnya. Terdapat empat tipe bahasa: Regular, Context-Free, Context-Sensitive, dan Unrestricted. Memahami hirarki ini penting dalam analisis bahasa dan desain compiler.

II. Otomata Hingga

Otomata Hingga adalah model matematika yang menerima input dan menghasilkan output, serta memiliki state yang terbatas. Otomata ini tidak memiliki memori dan hanya dapat mengingat state saat ini. Konsep ini penting dalam memahami dasar-dasar komputasi dan pengembangan algoritma dalam pemrograman.

2.1 Definisi

Otomata Hingga adalah sistem yang dapat menerima input dan mengeluarkan output berdasarkan state yang ada. Pemahaman tentang definisi ini penting dalam pengembangan aplikasi yang melibatkan pemrosesan data dan analisis algoritma.

2.2 Otomata Hingga Deterministik

DFA (Deterministic Finite Automata) selalu menuju satu state tertentu setelah membaca input. Memahami DFA penting dalam desain algoritma dan aplikasi yang memerlukan determinisme dalam pemrosesan data.

2.3 Otomata Hingga Non-Deterministik

NFA (Non-Deterministic Finite Automata) dapat berada di beberapa state setelah membaca input. Konsep ini penting dalam memahami fleksibilitas dalam pemrosesan bahasa dan pengembangan algoritma.

2.4 Reduksi Jumlah State

Reduksi jumlah state bertujuan untuk mengurangi kompleksitas otomata tanpa mengurangi kemampuannya. Pemahaman tentang reduksi ini penting dalam optimasi algoritma dan efisiensi pemrosesan data.

III. Ekivalensi dari NFA ke DFA

Proses pengubahan NFA ke DFA tidak mengurangi kemampuan otomata dalam menerima bahasa. Proses ini melibatkan beberapa tahapan yang penting untuk dipahami dalam pengembangan algoritma dan analisis bahasa.

3.1 Tahapan Pengubahan dari NFA ke DFA

Tahapan ini meliputi identifikasi state awal dan akhir, serta transisi antar state. Memahami tahapan ini penting dalam desain algoritma dan pengembangan sistem yang efisien.

3.2 NFA dengan -move

NFA dengan -move memungkinkan perubahan state tanpa input. Pemahaman tentang ini penting dalam analisis kompleksitas dan pengembangan algoritma yang lebih efisien.

3.3 Ekivalensi NFA dengan -move ke NFA tanpa -move

Proses ini melibatkan penghapusan transisi -move dan penyesuaian state akhir. Memahami ekivalensi ini penting dalam optimasi algoritma dan efisiensi pemrosesan data.

IV. Penggabungan dan Konkatenasi

Penggabungan dan konkatenasi adalah dua operasi penting dalam teori automata yang menghasilkan bahasa baru dari dua bahasa yang ada. Memahami konsep ini penting dalam pengembangan algoritma dan analisis bahasa.

4.1 Penggabungan

Penggabungan dua otomata menghasilkan otomata baru yang menerima bahasa gabungan. Memahami ini penting dalam pengembangan aplikasi yang memerlukan penggabungan data.

4.2 Konkatenasi

Konkatenasi menghubungkan dua bahasa untuk membentuk bahasa baru. Pemahaman tentang ini penting dalam pemrosesan string dan pengembangan algoritma.

V. Ekspresi Reguler

Ekspresi reguler adalah pola yang digunakan untuk mendeskripsikan bahasa. Memahami ekspresi reguler penting dalam pengembangan algoritma pencarian dan pemrosesan teks.

5.1 Notasi Ekspresi Reguler

Notasi ini mencakup simbol-simbol seperti *, +, dan . yang digunakan untuk mendefinisikan pola. Pemahaman tentang notasi ini penting dalam pengembangan aplikasi yang memerlukan pencarian pola.

VI. Aturan Produksi

Aturan produksi adalah dasar dalam mendefinisikan tata bahasa. Memahami aturan produksi penting dalam pengembangan parser dan analisis sintaksis.

6.1 Aturan Produksi Tata Bahasa Reguler

Aturan produksi mendefinisikan bagaimana simbol dapat digabungkan untuk membentuk bahasa. Pemahaman tentang ini penting dalam desain compiler dan analisis sintaksis.

VII. Otomata Hingga Dengan Output

Otomata hingga dengan output berfungsi sebagai transducer yang dapat menghasilkan keluaran berdasarkan input. Memahami ini penting dalam pengembangan sistem yang memerlukan keluaran dinamis.

7.1 Pendahuluan

Otomata ini memiliki dua jenis, yaitu mesin Moore dan Mealy. Memahami perbedaan ini penting dalam desain sistem yang memerlukan keluaran.

VIII. Pohon Penurunan

Pohon penurunan adalah representasi visual dari proses penurunan dalam tata bahasa bebas konteks. Memahami pohon ini penting dalam analisis sintaksis dan pengembangan parser.

8.1 Tata Bahasa Bebas Konteks

CFG digunakan untuk menunjukkan bagaimana menghasilkan untai dalam bahasa. Memahami CFG penting dalam pengembangan aplikasi yang memerlukan analisis sintaksis.

IX. Penyederhanaan Tata Bahasa Bebas Konteks

Penyederhanaan tata bahasa bertujuan untuk menghilangkan produksi yang tidak berguna. Memahami proses ini penting dalam optimasi dan efisiensi tata bahasa.

9.1 Tujuan Penyederhanaan

Tujuannya adalah untuk menghilangkan produksi yang tidak berguna dan membuat tata bahasa lebih efisien. Memahami ini penting dalam desain sistem yang memerlukan pemrosesan bahasa.

X. Bentuk Normal Chomsky

Bentuk Normal Chomsky adalah format standar untuk mendefinisikan tata bahasa bebas konteks. Memahami bentuk ini penting dalam analisis bahasa dan desain compiler.

10.1 Pengertian

Bentuk Normal Chomsky adalah cara untuk menyusun aturan produksi agar lebih terstruktur. Pemahaman tentang ini penting dalam pengembangan parser dan analisis sintaksis.

XI. Penghilangan Rekursif Kiri

Penghilangan rekursif kiri adalah teknik untuk menyederhanakan tata bahasa. Memahami teknik ini penting dalam optimasi tata bahasa dan pengembangan parser.

11.1 Aturan Produksi Rekursif

Aturan ini melibatkan simbol yang dapat memanggil dirinya sendiri. Memahami ini penting dalam analisis sintaksis dan pengembangan algoritma.

XII. Bentuk Normal Greibach

Bentuk Normal Greibach adalah cara lain untuk menyusun aturan produksi. Memahami bentuk ini penting dalam pengembangan parser dan analisis sintaksis.

12.1 Pengertian Bentuk Normal Greibach

Bentuk ini menggunakan simbol terminal di depan. Memahami ini penting dalam desain sistem yang memerlukan analisis sintaksis.

XIII. Push Down Otomata

Push Down Otomata adalah jenis otomata yang memiliki memori. Memahami ini penting dalam pengembangan algoritma yang memerlukan penyimpanan tambahan.

13.1 Push Down Otomata (PDA)

PDA digunakan untuk memproses bahasa bebas konteks. Memahami ini penting dalam analisis sintaksis dan pengembangan aplikasi.

XIV. Mesin Turing

Mesin Turing adalah model komputasi yang paling kuat. Memahami mesin ini penting dalam teori komputasi dan pengembangan algoritma.

14.1 Mesin Turing (Touring Machine)

Mesin ini dapat menyelesaikan masalah komputasi yang kompleks. Memahami ini penting dalam pengembangan algoritma dan analisis kompleksitas.

Gambar

Tabel 1.1 Hirarki Chomsky
Tabel 1.2. Contoh-contoh aturan produksi
Gambar 1.1. Keterkaitan bahasa pada Hirarki Chomski
Gambar 2.1. Defenisni Otomata Hingga
+7

Referensi

Dokumen terkait

Untuk membuktikan bentuk diatas, akan digunakan metode pembuktian terbalik, yaitu pembuktian melalui ruas kanan menuju ruas kiri..

 Postfix (atau Sufix) string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol paling depan dari string w

 ProperSubstring string w adalah string yang dihasilkan dari string w dengan menghilangkan satu atau lebih simbol- simbol paling depan dan/atau simbol-simbol paling belakang

Finite automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana

• Ketentuan produksi yang digunakan metoda recursive descent adalah jika terdapat dua atau lebih produksi dengan ruas kiri yang sama maka karakter pertama dari semua ruas

• Dari kiri ke kanan • Satu simbol pada satu waktu • Mendeteksi akhir string input. – Menghasilkan output – Memiliki

• Ketentuan produksi yang digunakan metoda recursive descent adalah jika terdapat dua atau lebih produksi dengan ruas kiri yang sama maka karakter pertama dari semua ruas

 Mengkonstruksi Aturan Produksi dari Suatu Finite State Automata  Finite State Automata untuk Suatu Tata Bahasa Regular...