Pengenalan Teori Bahasa dan Automata

 Pengenalan Teori Bahasa dan Automata






Pendahuluan

Pernahkan kalian berfikir sebelumnya khususnya untuk para programmer, mengapa mesin bisa mengkompilasi kodingan yang kita buat sehingga bisa mengeluarkan output yang sesuai ?
jadi penting mengetahui teori bahasa automata,selama ini kita hanya tau bahasa pemrograman nya saja tanpa memikirkan bagaimana mesin bisa memahami.
setelah memahami teori bahasa automata ini nantinya akan di lanjutkan kepada teori kompilasi. sebuah mesin yang hanya mengenali bahasa mesin dapat memahami bahasa pemrograman tingka tinggi karena adanya compiler (penerjemah)

Pada tombol Run adalah kompilasi dimana apa yang di tuliskan pada main akan menghasilkan output yang sesuai dengan kode yang di perintahkan.  Run kita asumsikan sebagai mesin yang memahami bahasa yang ditulis oleh manusia melalui sebuah software atau IDE. instruksi yang ditulis akan di proses oleh run sehingga menghasilkan output yang sesuai.

Sejarah Teori Bahasa

        Otomata bermula sebelum komputer ada pada teori di bidang sistem logika  matematika atau formal, ilmuwan David Hilbert telah mencoba menciptakan algoritma  umum untuk pembuktian (seluruh) persoalan matematika secara otomatis yaitu mampu  menentukan salah benarnya sembarang prosisi matematika.

    Tahun 1931, KurtGdel mempublikasikan teori ketidaklengkapan dimana prosedur/algoritma yang dikehendaki David Hilbert tersebut tidak akan pernah ada. KurtGdel membangun rumus di kalkulus predikat yang diterapkan pada bilangan bulat yang memiliki pernyataan-pernyataan definisi yang tidak dapat dibuktikan maupun dibantah di dalam sistem logika yang mungkin dibangun manusia.

    Formalisasi argumen teorema ketidaklengkapan KurtGdel ini berikut penjelasan dan formalisasi selanjutnya dari prosedur efektif secara intuisi merupakan salah satu pencapaian intelektual terbesar abad 20, yaitu abad dimana formalisasi berkembang semarak.Pengembangan teori otomata, komputasi dan teori bahasa berikutnya difasilitasi perkembangan bidang psyco-linguistic. Bidang psyco-linguistic berupaya menjawab  pertanyan-pertanyan berikut :

- Apakah bahasa secara umum?
- Bagaimana manusia mengembangkan bahasa?
- Bagaimana manusia memahami bahasa?
- Bagaimana manusia mengajarkan bahasa ke anak-anaknya?
- Apa gagasan-gagasan yang dapat dinyatakan dan bagaimana caranya?
- Bagaimana manusia membangun kalimat-kalimat dari gagasan-gagasan yang berada dipikirannya ?

    Sekitar tahun 1950-an, Noam Chomsky menciptakan model matematika sebagai sarana untuk mendeskripsikan bahasa serta menjawab pertanyaan-pertanyaan di atas. Saat ini dimulai pendalaman bidang bahasa computer. Sekitar tahun 1950-an, Noam Chomsky menciptakan model matematika sebagai sarana untuk mendeskripsikan bahasa serta menjawab pertanyaan-pertanyaan di atas. Saat ini dimulai pendalaman bidang bahasa komputer. 

      Perbedaan antara bahasa komputer dan bahasa manusia adalah sampai sekarang belum diketahuinya bagaimana cara manusia mengartikan bahasa, sementara dengan pasti dapat mengartikan bahasa pada komputer.

    Noam Chomsky mengemukakan perangkat format disebut grammar untuk memodelkan properti-properti bahasa. Tata bahasa (grammer) bisa didefinisikan secara, formal sebagai kumpulan dari himpunan? himpunan variabel, simbol?simbol, terminal, simbol awal, yang dibatasi oleh aturan? aturan produksi.Tingkat bahasa dapat digolongkan menjadi empat yaitu :

1. Bahasa Reguler : Type 3

Mesin otomata : Finite State Otomata (FSA) meliputi deterministic finite automata dan non 8 deterministic finite automata.

Batasan aturan produksi : adalah sebuah simbol variabel maksimal memiliki sebuah simbol variabel yang bila terletak di posisi paling kanan.

2.Bahasa : Bebas konteks/context free /type 2

Mesin otomata : Push down automata (PDA)

Batasan aturan produksi : Berupa sebuah simbol variabel.

3.Bahasa : Context sensitive/type 1

Mesin otomata : Linier bounded automata

Batasan aturan produksi :

4.Bahasa : Unrestricted /phase /natural language/type 0

Mesin otomata : Mesin turing

Batasan aturan produksi : Tidak ada batasan


Tingkat Bahasa Pemrograman

Tingkatan bahasa pemrograman dengan teori bahasa automata adalah sangat erat. secara umum tingkatan bahasa pemrograman ada 3 secara umum. Berikut adalah tingkatan bahasa pemrograman nya adalah sebagai berikut :

1. Bahasa Tingkat Rendah
Contoh : Bahasa Mesin 
Bahasa Biner yaitu bahasa yang dapat di terima oleh mesin dengan instruksi 010101001
Karena bahasa mesin sangat jauh dari bahasa yang di gunakan oleh bahasa manusia 
2. Bahasa Tingkat Menengah
Contoh : Bahasa Assembly
Setingkat di atas bahasa mesin, sudah di kenal dengan perintah perintah sederhana, mesin sudah mengenal bahasa manusia tetapi belum  keseluruhan.
Mesin sudah mulai mengenali perintah2 dasar seperti add, delete.
3. Bahasa Tingkat Tinggi
Contoh : C++ , Java
Bahasa yang digunakan sudah mendekati bahasa yang digunakan oleh manusia.
Programmer membuat suatu kode sederhana dan mesin bisa mengenali lalu melakukan kompilasi sehingga akan mengeluarkan output yang sesuai dengan kode yang dibuat sebelumnya.

Definisi Teori Bahasa

    Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah (text processor). Bahasa formal adalah kumpulan kalimat. Semua kalimat dalam sebuah bahasa dibangkitkan oleh sebuah tata bahasa (grammar) yang sama. Sebuah bahasa formal bisa dibangkitkan oleh dua atau lebih tata bahasa berbeda. Dikatakan bahasa formal karena grammar diciptakan mendahului pembangkitan setiap kalimatnya. Bahasa manusia bersifat sebaliknya; grammar diciptakan untuk meresmikan kata-kata yang hidup di masyarakat. Dalam pembicaraan selanjutnya ‘bahasa formal’ akan disebut ‘bahasa’ saja. 

Definisi Automata


    Automata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. teori mengenai mesin-mesin abstrak, dan berkaitan erat dengan teori bahasa formal. ada beberapa hal yang berkaitan dengan Otomata, yaitu Grammar. Grammar adalah bentuk abstrak yang dapat diterima (accept) untuk membangkitkan suatu kalimat otomata berdasarkan suatu aturan tertentu.

- Pengertian 1
Simbol adalah sebuah entitas abstrak (seperti halnya pengertian titik dalam geometri). Sebuah huruf atau sebuah angka adalah contoh simbol. 
- Pengertian 2
String adalah deretan terbatas (finite) simbol-simbol. Sebagai contoh, jika a, b, dan c adalah tiga buah simbol maka abcb adalah sebuah string yang dibangun dari ketiga simbol tersebut.
- Pengertian 3
Jika w adalah sebuah string maka panjang string dinyatakan sebagai |w| dan didefinisikan sebagai cacahan (banyaknya) simbol yang menyusun string tersebut.
Sebagai contoh, jika w = abcb maka |w|= 4.
- Pengertian 4
String hampa adalah sebuah string dengan nol buah simbol. String hampa dinyatakan dengan simbol ε (atau ^) sehingga |ε|= 0. String hampa dapat dipandang sebagai simbol hampa karena keduanya tersusun dari nol buah simbol. 
- Pengertian 5
Alfabet adalah hinpunan hingga (finite set) simbol-simbol

Sekian untuk materi dari Pengenalan Teori Bahasa dan Automata, harapan nya adalah materi mudah di mengerti. mohon maaf bila mana ada salah penyampaian kata atau penjelasan materi. sampai bertemu di artikel selanjutnya, adios..

Post a Comment

Previous Post Next Post