SlideShare a Scribd company logo
1 of 10
1




Teori Bahasa dan Otomata 1
                     doktafia   10-Mar-2012
2

                                                 doktafia   10-Mar-2012




Pendahuluan (1/3)
• Ilmu komputer memiliki dua komponen utama :
   ▫ Model dan gagasan mendasar mengenai komputer
   ▫ Teknik rekayasa untuk perancangan sistem komputer meliputi hardware
     dan software.

• Teori bahasa & otomata termasuk dalam bagian pertama yang diterapkan
  pada perancangan digital, pembuatan bahasa pemograman, dan
  kompilator.

• Teori otomata mempelajari model mesin komputer menggunakan model
  matematika.
3

                                                   doktafia   10-Mar-2012




Pendahuluan (2/3)
• Teori otomata merupakan kajian mengenai perangkat komputasi abstrak,
  atau bisa dikatakan ‘’mesin abstrak’’

• Otomata adalah mesin abstrak yang dapat mengenali (recognize),
  menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam
  bahasa tertentu

• Pada awalnya otomata ditujukan untuk memodelkan fungsi otak, tetapi
  secara ekstrim tujuan tersebut akhirnya berubah untuk berbagai keperluan
  lainnya.

• Pada tahun 1950-an, pakar bahasa N. Chomsky mulai mempelajari studi
  tentang tata bahasa formal (formal grammar). Secara langsung tata bahasa
  tersebut tidak terkait dengan mesin, tetapi memiliki hubungan erat dengan
  otomata abstrak dan saat ini menjadi dasar bagi sejumlah komponen
  perangkat lunak, termasuk bagian-bagian dari kompiler.
4

                                                doktafia   10-Mar-2012




Pendahuluan (3/3)
• Grammar memiliki manfaat sangat besar di ilmu informatika/komputer
  untuk mendeskripsikan dan mendefinisikan sintaks bahasa pemrograman
  dan bahasa-bahasa formal yang lain.

• Grammar diterapkan pada perancangan kompilator dan bidang-bidang
  lain dalam ilmu komputer.
5

                                                    doktafia   10-Mar-2012



Beberapa Pengertian Dasar
• Simbol adalah sebuah entitas abstrak. Sebuah huruf atau angka adalah
  contoh simbol.

• String/untai/ adalah deretan terbatas (finite) simbol-simbol
  ▫ Ex : jika a,b,c adalah simbol, maka abcb adalah string yang dibangun
    dari ketiga simbol tersebut.

• Jika w adalah sebuah string, maka panjang string dinyatakan sebagai |w|,
  yang didefinisikan sebagai banyak simbol yang menyusun string tersebut.
  ▫ Ex : jika w = abcb maka |w| = 4

• String hampa adalah sebuah string dengan nol buah simbol. String
  hampa dinyatakan dengan simbol ε atau ^ sehingga | ε | = 0

• Bahasa (language) adalah kumpulan dari untai-untai atau string
6

                                  doktafia   10-Mar-2012



Konsep Dasar (1/4)
     Si Kucing Kecil Menendang Bola Besar
7

                                                  doktafia   10-Mar-2012




Konsep Dasar (2/4)
• Pohon sintaks dapat dituliskan dalam bentuk sebuah produksi :
  1. <Kalimat>  <Subjek><Predikat>
  2. <Subjek>  <Kata Sandang><Kata Benda><Kata Keadaan>
  3. <Predikat>  <Kata Kerja><Objek>
  4. <Objek>  <Kata Benda><Kata Keadaan>
  5. <Kata Sandang>  Si
  6. <Kata Benda>  Kucing | Bola
  7. <Kata Keadaan>  Kecil | Besar
  8. <Kata Kerja>  Menendang

• Untai terminal dapat dibentuk dengan melakukan sederetan produksi
  menggunakan produksi yang ada. Proses ini disebut dengan Derivasi.
8

                                              doktafia   10-Mar-2012



Konsep Dasar (3/4)
                 Si Kucing Kecil Menendang Bola Besar

Derivasi untuk untai di atas adalah :

<Kalimat>  <Subjek><Predikat>
           <Kata Sandang><Kata Benda><Kata Keadaan><Predikat>
           <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja>
            <Objek>
           <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja>
            <Kata Benda><Kata Keadaan>
           Si Kucing Kecil Menendang Bola Besar

Untai lain yang bisa terbentuk :
Si Bola Kecil Menendang Kucing Besar
Si Kucing Besar Menendang Bola Kecil, dll.
9

                                                        doktafia   10-Mar-2012


Konsep Dasar (4/4)
Contoh berikut adalah contoh bagaimana membangun operand yang absah
dalam suatu bahasa pemograman. Kita definisikan himpunan 8 produksi
dengan simbol Start adalah <OPERAND> sebagai berikut :

1.   <OPERAND>  <ID> | <INTEGER>
2.   <ID>  <LETTER><LIST>
3.   <LETTER>  x | y | z
4.   <LIST>  <LETTER><LIST> | <DIGIT><LIST> | ^
5.   <DIGIT>  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
6.   <INTEGER>  <SIGN><DIGIT><DIT>
7.   <SIGN>  + | -
8.   <DIT>  <DIGIT><DIT> | ^

                               <OPERAND>  <ID>
                                          <LETTER><LIST>
                                          y <LIST>
                                          y <DIGIT><LIST>
             Derivasinya
                                          y7 <LIST>
                                          y7^ atau y7
10

                                                 doktafia   10-Mar-2012




Latihan
• Apakah untai terminal berikut absah sebagai operand bahasa pemograman,
  kalau absah tentukan derivasinya
  ▫ 4xy2
  ▫ x2y
  ▫ -21x
  ▫ xxb
  ▫ +1230
  ▫ x123
  ▫ x-y+2
  ▫ x1x2x3x
  ▫ xxxyyy

More Related Content

Similar to Teori Bahasa dan Otomata: Konsep Dasar dan Latihan

AI Talks #3: Bagaimana AI?
AI Talks #3: Bagaimana AI?AI Talks #3: Bagaimana AI?
AI Talks #3: Bagaimana AI?SABDA
 
Dinas pendidikan kab bengkalis
Dinas pendidikan kab bengkalisDinas pendidikan kab bengkalis
Dinas pendidikan kab bengkalisAlan Dread
 
Modul kuliah-vba-lengkap ok
Modul kuliah-vba-lengkap okModul kuliah-vba-lengkap ok
Modul kuliah-vba-lengkap okAndi Simanjuntak
 
Rps inf 218 sistem operasi
Rps inf 218 sistem operasiRps inf 218 sistem operasi
Rps inf 218 sistem operasiSyaiful Ahdan
 
Prakt modul 2_password management
Prakt modul 2_password managementPrakt modul 2_password management
Prakt modul 2_password managementSyaiful Ahdan
 
05 visual basic (zulkifli said_c3)
05 visual basic (zulkifli said_c3)05 visual basic (zulkifli said_c3)
05 visual basic (zulkifli said_c3)zulkifli said
 
Pp pbo-130802070700-phpapp02
Pp pbo-130802070700-phpapp02Pp pbo-130802070700-phpapp02
Pp pbo-130802070700-phpapp02yudharaditya01
 
Abidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti dAbidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti dAbidzar_Gifari
 
Abidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti dAbidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti dAbidzar_Gifari
 
Meet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdfMeet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdfSamFChaerul
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemogramandiran rahmat
 
Mi 03.-praktikum-pemrograman-visual-2
Mi 03.-praktikum-pemrograman-visual-2Mi 03.-praktikum-pemrograman-visual-2
Mi 03.-praktikum-pemrograman-visual-2Ayu Karisma Alfiana
 

Similar to Teori Bahasa dan Otomata: Konsep Dasar dan Latihan (20)

AI Talks #3: Bagaimana AI?
AI Talks #3: Bagaimana AI?AI Talks #3: Bagaimana AI?
AI Talks #3: Bagaimana AI?
 
Dinas pendidikan kab bengkalis
Dinas pendidikan kab bengkalisDinas pendidikan kab bengkalis
Dinas pendidikan kab bengkalis
 
Modul Dasar HTML
Modul Dasar HTMLModul Dasar HTML
Modul Dasar HTML
 
Modul kuliah-vba-lengkap ok
Modul kuliah-vba-lengkap okModul kuliah-vba-lengkap ok
Modul kuliah-vba-lengkap ok
 
Rps inf 218 sistem operasi
Rps inf 218 sistem operasiRps inf 218 sistem operasi
Rps inf 218 sistem operasi
 
Prakt modul 2_password management
Prakt modul 2_password managementPrakt modul 2_password management
Prakt modul 2_password management
 
05 visual basic (zulkifli said_c3)
05 visual basic (zulkifli said_c3)05 visual basic (zulkifli said_c3)
05 visual basic (zulkifli said_c3)
 
Pp pbo-130802070700-phpapp02
Pp pbo-130802070700-phpapp02Pp pbo-130802070700-phpapp02
Pp pbo-130802070700-phpapp02
 
Abidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti dAbidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti d
 
Abidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti dAbidzar gifari 1610530218 s1 ti d
Abidzar gifari 1610530218 s1 ti d
 
Meet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdfMeet 1 - Introduction of OOP.pdf
Meet 1 - Introduction of OOP.pdf
 
Materi pembelajaran web dev
Materi pembelajaran web devMateri pembelajaran web dev
Materi pembelajaran web dev
 
Modul 2a html
Modul 2a htmlModul 2a html
Modul 2a html
 
Ping! LaTeX
Ping! LaTeX Ping! LaTeX
Ping! LaTeX
 
Pert 3.pptx
Pert 3.pptxPert 3.pptx
Pert 3.pptx
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Mi 03.-praktikum-pemrograman-visual-2
Mi 03.-praktikum-pemrograman-visual-2Mi 03.-praktikum-pemrograman-visual-2
Mi 03.-praktikum-pemrograman-visual-2
 
05. prak.-pemrograman-visual-ii
05. prak.-pemrograman-visual-ii05. prak.-pemrograman-visual-ii
05. prak.-pemrograman-visual-ii
 
Mpw
MpwMpw
Mpw
 

Teori Bahasa dan Otomata: Konsep Dasar dan Latihan

  • 1. 1 Teori Bahasa dan Otomata 1 doktafia 10-Mar-2012
  • 2. 2 doktafia 10-Mar-2012 Pendahuluan (1/3) • Ilmu komputer memiliki dua komponen utama : ▫ Model dan gagasan mendasar mengenai komputer ▫ Teknik rekayasa untuk perancangan sistem komputer meliputi hardware dan software. • Teori bahasa & otomata termasuk dalam bagian pertama yang diterapkan pada perancangan digital, pembuatan bahasa pemograman, dan kompilator. • Teori otomata mempelajari model mesin komputer menggunakan model matematika.
  • 3. 3 doktafia 10-Mar-2012 Pendahuluan (2/3) • Teori otomata merupakan kajian mengenai perangkat komputasi abstrak, atau bisa dikatakan ‘’mesin abstrak’’ • Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu • Pada awalnya otomata ditujukan untuk memodelkan fungsi otak, tetapi secara ekstrim tujuan tersebut akhirnya berubah untuk berbagai keperluan lainnya. • Pada tahun 1950-an, pakar bahasa N. Chomsky mulai mempelajari studi tentang tata bahasa formal (formal grammar). Secara langsung tata bahasa tersebut tidak terkait dengan mesin, tetapi memiliki hubungan erat dengan otomata abstrak dan saat ini menjadi dasar bagi sejumlah komponen perangkat lunak, termasuk bagian-bagian dari kompiler.
  • 4. 4 doktafia 10-Mar-2012 Pendahuluan (3/3) • Grammar memiliki manfaat sangat besar di ilmu informatika/komputer untuk mendeskripsikan dan mendefinisikan sintaks bahasa pemrograman dan bahasa-bahasa formal yang lain. • Grammar diterapkan pada perancangan kompilator dan bidang-bidang lain dalam ilmu komputer.
  • 5. 5 doktafia 10-Mar-2012 Beberapa Pengertian Dasar • Simbol adalah sebuah entitas abstrak. Sebuah huruf atau angka adalah contoh simbol. • String/untai/ adalah deretan terbatas (finite) simbol-simbol ▫ Ex : jika a,b,c adalah simbol, maka abcb adalah string yang dibangun dari ketiga simbol tersebut. • Jika w adalah sebuah string, maka panjang string dinyatakan sebagai |w|, yang didefinisikan sebagai banyak simbol yang menyusun string tersebut. ▫ Ex : jika w = abcb maka |w| = 4 • String hampa adalah sebuah string dengan nol buah simbol. String hampa dinyatakan dengan simbol ε atau ^ sehingga | ε | = 0 • Bahasa (language) adalah kumpulan dari untai-untai atau string
  • 6. 6 doktafia 10-Mar-2012 Konsep Dasar (1/4) Si Kucing Kecil Menendang Bola Besar
  • 7. 7 doktafia 10-Mar-2012 Konsep Dasar (2/4) • Pohon sintaks dapat dituliskan dalam bentuk sebuah produksi : 1. <Kalimat>  <Subjek><Predikat> 2. <Subjek>  <Kata Sandang><Kata Benda><Kata Keadaan> 3. <Predikat>  <Kata Kerja><Objek> 4. <Objek>  <Kata Benda><Kata Keadaan> 5. <Kata Sandang>  Si 6. <Kata Benda>  Kucing | Bola 7. <Kata Keadaan>  Kecil | Besar 8. <Kata Kerja>  Menendang • Untai terminal dapat dibentuk dengan melakukan sederetan produksi menggunakan produksi yang ada. Proses ini disebut dengan Derivasi.
  • 8. 8 doktafia 10-Mar-2012 Konsep Dasar (3/4) Si Kucing Kecil Menendang Bola Besar Derivasi untuk untai di atas adalah : <Kalimat>  <Subjek><Predikat>  <Kata Sandang><Kata Benda><Kata Keadaan><Predikat>  <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja> <Objek>  <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja> <Kata Benda><Kata Keadaan>  Si Kucing Kecil Menendang Bola Besar Untai lain yang bisa terbentuk : Si Bola Kecil Menendang Kucing Besar Si Kucing Besar Menendang Bola Kecil, dll.
  • 9. 9 doktafia 10-Mar-2012 Konsep Dasar (4/4) Contoh berikut adalah contoh bagaimana membangun operand yang absah dalam suatu bahasa pemograman. Kita definisikan himpunan 8 produksi dengan simbol Start adalah <OPERAND> sebagai berikut : 1. <OPERAND>  <ID> | <INTEGER> 2. <ID>  <LETTER><LIST> 3. <LETTER>  x | y | z 4. <LIST>  <LETTER><LIST> | <DIGIT><LIST> | ^ 5. <DIGIT>  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 6. <INTEGER>  <SIGN><DIGIT><DIT> 7. <SIGN>  + | - 8. <DIT>  <DIGIT><DIT> | ^ <OPERAND>  <ID>  <LETTER><LIST>  y <LIST>  y <DIGIT><LIST> Derivasinya  y7 <LIST>  y7^ atau y7
  • 10. 10 doktafia 10-Mar-2012 Latihan • Apakah untai terminal berikut absah sebagai operand bahasa pemograman, kalau absah tentukan derivasinya ▫ 4xy2 ▫ x2y ▫ -21x ▫ xxb ▫ +1230 ▫ x123 ▫ x-y+2 ▫ x1x2x3x ▫ xxxyyy