26 Mei 2011

Notasi Formal - Pengolahan Data Elektronik (part 3)


III.   DEFINISI DAN DESKRIPSI BAHASA

Bahasa dapat didefinisikan sebagai Skema generatif, yakni suatu prosedur untuk menggenerasi semua kalimat legal dalam bahasa tersebut, atua sebagai rekognisi, yaitu dimana suatu prosedur didefinisikan untuk memutuskan legalitas suatu kalimat.
Metode generatif lebih umum dalam konteks definisi bahasa pemrograman, namun rekognisi lebih dekat dengan definisi bahasa implisit yang dihasilkan oleh kebanyakan compiler (program penerjemah bahasa pemrograman).

Definisi bahasa digunakan untuk            :
  1. Menghasilkan semua kalimat atau pernyataan legal dalam suatu bahasa.
  2. mengecek legalitas suatu kalimat atau pernyataan (agar tidak terjadi ambigius).

Dalam Definisi dan Deskripsi Bahasa terdapat Sintaks, yaitu suatu kalimat yang merupakan struktur dari kalimat tersebut dan memiliki aturan gramatikal yang mengatur struktur tersebut, Leksikon, adalah kamus kata-kata valid dalam suatu bahasa (daftar kata-kata valid) dan Semantik, yang merupakan arti dari kata dan kalimat tersebut. Kebanyakan skema definisi bahasa akan bermasalah jika diterapkan untuk bahasa natural. Sebab, mereka mempunyai sifat bawaan ambiguitas dan mempunyai arti metafor dan tidak presisi, namun metode skematik ini bekerja baik pada bahasa komputer.


IV.  KLASIFIKASI GENERATIF BNF

BNF (Backus Naur Form) adalah metalanguage sintaktis yang umum digunakan sebagai notasi untuk mempresentasikan generasi bahasa. Disini terjadi sedikit perbedaan dengan metalanguage yang kita gunakan sebelumnya. Disini, Metavariabel atau kelas sintaks ditulis dengan diapit simbol < dan >. Jika kita menggunakan notasi ini, maka simbol adalah anggota dari element Vn sedangkan simbol “sentences” adalah element dari Vt. Dengan cara ini kita tidak ragu-ragu melihat apakah suatu simbol merupakan anggota Vn ataukah anggota Vt.

BNF secara intensif telah banyak digunakan dalam pendefinisian secara formal berbagai bahasa pemrograman. Bahasa pemrograman populer yang menggunakan deskripsi BNF adalah ALGOL. Sebagai contoh, pendefinisian sebuah identifier di dalam BNF adalah sebagai berikut :
:: = | identifier>|< identifier>
       :: = a|b|c|......|y|z
        :: = 0|1|2|......|8|9

Catatan : simbol ::= dapat digunakan sebagai pengganti simbol → di dalam grammar, dan simbol | dipakai untuk memisahkan 2 produksi di ruas kanan sebagai hasil produksi ruas kiri yang sama.
Simbol ::= dan | berturut-turut dapat diartikan sebagai “didefinisikan sebagai” dan “atau”.
Klasifikasi generatif BNF (Backus Naur Form) biasanya digunakan untuk Menghasilkan kalimat legal atau pernyataan legal dan Mendefinisikan statement dalam Bahasa Tingkat Tinggi.

Tidak ada komentar:

Posting Komentar