26 Mei 2011

Notasi Formal - Pengolahan Data Elektronik (part 2)


II.  METALANGUAGE

Bahasa yang secara khusus dirancang untuk mendeskripsikan bahasa disebut metalanguage. Umumnya Metalanguage digunakan untuk mendeskripsikan sintaksnya saja atau semantiknya saja ataupun kedua-duanya. Sebelum kita membahas lebih, kita harus memahami bahwa di dalam bahasa pemrograman terdapat Sintaks, yaitu struktur kalimat dan aturan gramatikal yang mengaturnya. Sedangkan semantik, adalah arti kalimat yang ditulis dalam bahasa pemrograman itu (arti dari Sintaks).

Dalam Ilmu Komputer, Metalanguage sudah digunakan secar praktis untuk mendeskripsikan sintaks bahasa pemrograman. Metalanguage yang digunakan ini sifatnya formal dan oleh karenanya bersifat ringkas dan tidak ambigius. Ada banyak Metalanguage sintaktis yang telah umum digunakan. Contoh berikut didasarkan pada Metalanguage sintaktis BS6154 British Standart.

Aturan sintaks semuanya mempunyai bentuk dasar yang sama. Nama (variabel) yang ada di sisi kiri tanda sama dengan(“=”), dan yang ada pada sisi kanan tanda sama dengan merupakan definisi sesuatu nama (variabel) yang ada pada sisi sebelah kiri. Aturan tersebut berakhir dengan “;”. Apabila nama telah didefinisikan (ditetapkan) maka ia bisa digunakan pada sisi sebelah kanan dari aturan yang berurutan.
Contoh 1         : Aturan untuk mendefinisikan digit biner
                                    Binary digit = “0” | “1” ;

Perlu dimengerti bahwa simbol garis vertikal (“|”), berarti “OR” dan harus dieja atau diucapkan dengan “OR”.

Contoh 2         : Aturan untuk mendefinisikan bilangan biner unsigned
                        unsigned binary number = binary digit , {binary digit};

Tanda koma artinya penjalinan. Kurung Kurawal (“{}”) berisi item yang bisa diulangi nol kali atau lebih. Maka, definisi ini menyatakan bahwa bilangan biner unsigned terdiri atas seri atau rangkaian satu digit biner atau lebih.

            Biasanya dimungkinkan untuk mencari definisi alternatif. Definisi rekursif berikut ini sama (ekuivalen) dengan definisi yang dikemukakan tersebut. Ia disebut definisi rekursif, sebab term (istilah) yang didefinisikan juga muncul di dalam definisi itu.

                        unsigned binary number = binary digit
                                                                   |
                                                                   binary digit, unsigned binary number ;

Contoh 3         : aturan untuk mendefinisikan statement if-then-else
Aturan ini mengasumsikan bahwa hal-hal berikut ini telah ditetapkan :
space
newline
condition
statement sequances

If statement = “If”, [newline spaces] ,
“condition” , [newline | spaces]
Statement sequance , [newline | spaces]
[ “else” , [newline | spaces]
Statement sequance , [newline | spaces]
“endif”

Tidak ada komentar:

Posting Komentar