Gundarma University

Monday, October 13, 2014

Algoritma Pemrograman 1C

oke di sini saya coba untuk share materi kuliah saya. sekalian belajar juga nih hehe. Langsung aja, selamat membaca!






SINTAKS

Sintaks merupakan kumpulan aturan
yang mendefenisikan suatu bentuk bahasa. Sintaks mendefenisikan bagaimana suatu kata dikembangkan menjadi suatu statement yang benar sehingga dapat disusun menjadi suatu program yang dapat berjalan dengan benar. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

1. Aturan Lexical (Lexical Analysis)/ Scanner
2. Aturan Syntactic (Syntactic Analyzer)/ Parser


Konsep dan Notasi bahasa algoritma

  1. Alfabet        : Himpunan hingga yang tidak kosong(hampa) dan symbol. symbol anggota dari                       alfabet disebut huruf/karakter/kalimat
  2.  Bahasa       : Merupakan himpunan hingga ataupun tak hingga dari kalimat/ kumpulan                               kalimat
  3. Tata bahasa : atau grammar merupakan sekumpulan dari himpunan variabel-variabel, symbol-symbolterminal, symbol-symbol non terminal, dan symbol awal yang di batasi oleh aturan-aturan produksi.

    Bentuk umum grammar :   G=(Vn,Vt,S,Q)
    G    = Nama Grammar
    Vn  = Variabel non terminal
    Contohnya : A, B, C, D...dst
    Vt   = Variabel terminal
    Contohnya : a, b, c, d, +, -, ), (, *, / dst
    S    = Symbol awal
    Q   = Nama aturan produksi
Pada tahun 1956-1959 Noum Chomsky melakukan penggolongan tingkatan dalam bahasa berdasarkan aturan produksi menjadi 4 kelas yang dikenai dengan Hierarky Chomsky.

Bila ada kata > artinya panah ke kanan/ lebih dari

  1. Tipe 0 / Unrestrieted : Tidak ada batasan pada aturan ini ( tidak ada aturan )
    Contoh: Abc->de      AB->Cde
  2. Tipe 1/ Context Sensitive : Panjang string ruas kiri harus lebih kecil atau sama dengan ruas kanan.
    Contoh: Abc->deF     Ab->DeFg
  3. Tipe 2/Context Free : Ruas kiri haruslah tepat satu symbol variabel yaitu symbol non terminal
    Contoh: A->b        A->CdeFgH
  4. Tipe 3/ Regular : Ruas kanan hanya memiliki maksimal 1 symbol non terminal dan paling kanan sendiri.
A->Ab
cara membacanya : A menghasilkan/menurunkan Ab
tanda -> dibaca dengan (menghasilkan atau menurunkan)

A->Cde
cara membacanya : A menghasilkan/ menurunkan Cde


Contoh soal!
1. Diketahui aturan produksi  R, sebagai berikut :
S-> aB|bA                ' dibacanya S menghasilkan aB atau (tanda  | ) S menghasilkan bA
B-> bB|b
A-> aA|a

Buat grammar dari aturan produksi diatas!
Vn = S, B , A
Vt = a, b
Start = S
Q = R

G = (Vn, Vt, S, Q )
masuk kan

G= ({SBA}, {a, b}, S, R)

2.  Diketahui aturan produksi  R, sebagai berikut :
S-> a+A                    'S menghasilkan a+A
A-> B-b
B-> C

Vn = S, A, B
Vt  = a, b, c, +, -
Start = S
Q = R

G= ({S, A, B}, {a, b, c, +, -}, S, R)


  • Tahun 1959 Backus memperkenalkan notasi formal baru untuk sintaks bahasa yang lebih spesifik
  • Peter Nour (1960) merevisi metode dari sintaks yang sekarang dikenal dengan BNF (Backus Nour Form)

Backus Nour Form (BNF)

Symbol Keterangan

::=  Identik dengan symbol  ->   pada aturan produksi
|     Sama dengan symbol       |    pada aturan produksi
< > Digunakan untuk mengapit symbol non terminal
{ }  Perulangan mulai 1 s/d n

Jika soal nomor 1 di atas kita ubah ke dalam bentuk BNF maka 

1.   ::=a|b
    ::=b|b
    ::= a|a

2. ::=a+
    ::=-b
    ::=c  



##
Diketahui aturan produksi P, sebagai berikut.
S->aAS|a
A->SbA|ba

a. Buatlah grammar dari aturan produksi diatas.
b. Ubah produksi diatas kedalam bentuk BNF
c. Buatlah pohon derifasi/turunan untuk untai aabbaa


bersambung.... lanjutannya besok yaa :D hehe



Related Posts Plugin for WordPress, Blogger...

No comments :

Post a Comment

Tinggalkan komentar tentang blog ini dan artikel artikelnya, semoga blog ini bisa bermanfaat bagi kita semua, amin :D