RSS

Enter your email address:

Delivered by FeedBurner

'BoUt Me

My photo
Jakarta, Indonesia
All my friends, I really need some advise to you all for increasing my blog.., take care and be happy !!!!!!!

Tuesday, January 5, 2010

SEMANTIK SEBAGAI MAKNA YANG TERKANDUNG DALAM SUATU BAHASA DAN KODE PEMOGRAMAN

| |

Seperti yang kita ketahui bahwa semantik merupakan kata yang mempunyai banyak makna, baik dalam suatu bahasa maupun dalam kode pemograman.
Kata Semantik berasal dari Bahasa Yunani: semantikos,artinya memberikan tanda, penting, dari kata sema, tanda) adalah cabang linguistik yang mempelajari makna yang terkandung pada suatu bahasa, kode, atau jenis representasi lain.
Semantik biasanya dikontraskan dengan dua aspek lain dari ekspresi makna: sintaksis, pembentukan simbol kompleks dari simbol yang lebih sederhana, serta pragmatika, penggunaan praktis simbol oleh agen atau komunitas pada suatu kondisi atau konteks tertentu.
Semantik, Mendefinisikan arti dari program yang benar secara sintaks dari bahasa pemrograman tersebut.

Contoh : Pada pembuatan program C
int vector[10]
Arti semantiknya akan menyebabkan ruang sebanyak 10 alokasi.
Sedangkan, terdapat tahap lain yang dapat mendefinisikan semantik secara analisa..
Pada tahap analisis semantik, dilakukan pengecekan pada struktur akhir yang di peroleh dan di periksa komponennya dengan komponen yang ada.
Semantik juga berkaitan dengan pusat dari tahapan translasi. Analisis semantik juga kemudian menjadi jembatan antara analisis dan sintesis dari translasi. Dimana struktur sintaksis yang dikenali struktur sintaksis diproses dan struktur eksekusi sudah mulai di bentuk.
Kemudian menghasilkan suatu obyek yang dapat di eksekusi dan di translasi , sedangkan bentuk obyek yang di eksekusi ini merupakan bentuk internal dari final program eksekusi yang di manipulasi oleh tahap optimisasi oleh translator sebelum akhirnya kode eksekusi benar-benar di hasilkan.
Sedangkan, fungsi dari analisis semantik yaitu untuk menentukan makna dari serangkaian instruksi yang terdapat dalam program

Contoh : A := (A + B)*(C + D)

Hal ini membuat penganalisis semantik harus mampu menentukan aksi yang di lakukan oleh operator, termasuk memeriksa kesesuaian tipe dengan statement-statement yang ada. Misalkan bila terdapat suatu operasi, diperiksa tipe operand. Contohnya bila ekspresi yang mengikuti instruksi IF berarti tipenya boolean, akan diperiksa tipe identifier dan tipe ekspresi. Bila ada operasi antara dua operand, maka tipe operand pertama harus bisa dioperasikan dengan operand kedua.

Analisa semantik sering juga digabungkan pada pembangkitan kode antara yang menghasilkan Output intermediate code, yang nantinya akan digunakan pada proses kompilasi berikutnya.
KODE ANTARA
Kode antara/Intermediate code merupakan hasil dari tahapan analisis, yang dibuat oleh kompilator pada saat mentranslasikan program dari bahasa tingkat tinggi. Kegunaan dari kode antara sebagai berikut:

 untuk memperkecil usaha dalam membangun kompilator dari sejumlah bahasa ke sejumlah mesin. Dengan adanya kode antara yang lebih machine independent maka kode antara yang dihasilkan dapat digunakan lagi pada mesin lainnya.

 Proses optimasi masih lebih mudah. Beberapa strategi optimisasi lebih mudah dilakukan pada kode antara daripada pada program sumber atau pada kode assembly dan kode mesin.

 Bisa melihat program internal yang mudah dimengerti. Kode antara ini akan lebih mudah dipahami dari pada kode assembly atau kode mesin.
Terdapat dua macam kode antara, yaitu Notasi Postfix dan N-Tuple

1) NOTASI POSTFIX
Sehari-hari kita biasa menggunakan operasi dalam notasi infix (letak operator di tengah). Pada notasi Postfix operator diletakkan paling akhir maka disebut juga dengan notasi Sufix atau Reverse Polish.
Sintaks notasi Postfix :

Misalkan ekspresi :
(a + b)*(c + d)
kalau kita nyatakan dalam postfix :
ab + cd + *
Kita dapat mengubah instruksi kontrol program yang ada ke dalam notasi Postfix. Misal :
IFTHENELSE
diubah ke dalam Postfix
BZBR

label1 label2
Keterangan :
BZ = branch if zero (zero = salah) {bercabang/meloncat jika kondisi yang dites salah}
BR = branch {bercabang/meloncat tanpa ada kondisi yang dites}
Arti dari notasi Postfix di atas adalah sebagai berikut.
“Jika kondisi ekspresi salah, maka instruksi akan meloncat ke Label1dan menjalankan statement2. Bila kondisi ekspresi benar, maka statement1 akan dijalankan lalu meloncat ke Label2. Label1 dan Label1 dan Label2 sendiri menunjukan posisi tujuan loncatan, untuk Label1 posisinya tepat sebelum statement2 dan Label2 setelah statement2”

2) NOTASI N-TUPLE
Bila pada Postfix setiap baris instruksi hanya terdiri dari satu tupel, pada notasi N-tuple setiap baristerdiri dari beberapa tupel. Format umum dari Notasi N-Tuple ada sebagai berikut: operator......(N-1) operand
selanjutnya akan dibahas notasi 3 tupel dan 4 tupel.
Adapun ILMU SEMANTIK OPERASIONAL
Inti denotasional Ilmu Semantik adalah : Terjemahan dari program konvensional ke dalam persamaan fungsional.
Tujuan denotasional Semantik dari suatu bahasa adalah : Menugaskan suatu nilai kepada setiap ekspresi dalam bahasa
Ilmu Semantik dapat dinyatakan dalam lambda calculus sebagai fungsi matematical, Eval, dari ekspresi ke nilai
Contoh : Eval[+ 3 4]=7 menggambarkan bhw nilai ekspresi (+ 3 4) untuk menjadi 7
...........This is the end of my articles.............

ThaNkz to:
Bpk. Donny erLangga www.google.com www.edu.ac.id

0 comments:

go-top

Post a Comment

FreuNde

 
 

MiZzY's blog | Diseñado por: Compartidísimo
Con imágenes de: Scrappingmar©

 
top