Jumat, 02 November 2018

ANALIS SEMANTIK

↬ANALIS SEMANTIK↫

     A.  Pengertian Semantik
Kata semantik dalam bahasa Indonesia, berasal dari bahasa Yunani, yaitu sema (kata benda), yang berarti “tanda” atau “lambang”. Kata kerjanya adalah semaino yang berarti “menandai” atau “melambangkan”. Tanda atau lambang menurut Ferdinand de Saussure, terdiri dari komponen yang mengartikan, yang berwujud bentuk-bentuk bunyi bahasa dan komponen yang diartikan atau makna dari komponen yang pertama itu. Kedua komponen ini adalah merupakan tanda atau lambang, sedangkan yang ditandai atau dilambanginya adalah sesuatu yang berada di luar bahasa yang lazim disebut referen atau hal yang ditunjuk. Kata semantik ini kemudian disepakati sebagai istilah yang digunakan untuk bidang linguistik yang mempelajari hubungan antara tanda-tanda linguistik dengan hal-hal yang ditandainya.
Oleh karena itu, kata semantik dapat diartikan sebagai ilmu tentang makna atau tentang arti, yaitu salah satu dari tiga tataran analisis bahasa, fonologi, gramatika, dan semantik. Dalam analisis semantik harus juga disadari, karena bahasa itu bersifat unik, dan mempunyai hubungan yang sangat erat dengan budaya masyarakat pemakainya, maka analisis suatu bahasa hanya berlaku untuk bahasa itu saja, tidak dapat digunakan menganalisis bahasa lain. Dalam setiap bahasa, termasuk bahasa Indonesia, seringkali kita temui adanya hubungan kemaknaan atau relasi semantik antara sebuah kata atau satuan bahasa lainnya dengan kata atau satuan bahasa lainnya lagi. Satuan bahasa disini dapat berupa kata, frase, maupun kalimat. Hubungan atau relasi kemaknaan ini mungkin menyangkut hal kesamaan makna (sinonim), kebalikan makna (antonim), kegandaan makna (polisemi dan ambiguitas), ketercakupan makna (hiponim), kelainan makna (homonim), kelebihan makna (redudansi), dan sebagainya.
 
B. Fungsi ini terkait dengan Tabel Simbol. Pengecekan yang di lakukan oleh analisis semantik adalah sebagai berikut :
1.       Memeriksa keberlakuan  nama-nama meliputi pemeriksaan berikut :
Duplikasi
Pada tahap ini dilakukan pengecekan apakah sebuah nama terjadi pendefinisian lebih dari dua kali. Pengecekan dilakukan pada bagian pengelola blok.
Terdefinisi
Melakukan pengecekan apakah sebuah nama yang dipakai pada tubuh program sudah terdefinisi atau belum. Pengecekan dilakukan pada semua tempat kecuali blok.
2.       Memeriksa tipe, melakukan pemeriksaan terhadap kesesuaian tipe dalam statement-statement yang ada.
Misal : bila ada operasi antara dua Operan maka Tipe operan pertama harus bisa dioperasikan dengan operan kedua.
Kode Antara/Intermediate Code Adalah hasil dari tahapan analisis, yang di buat 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 di hasilkan dapat digunakan lagi pada mesin lainnya.
·  Proses optimasi masih lebih mudah. Beberapa strategi optimisasi lebih mudah di lakukan pada kode antara di bandingkan pada program sumber atau pada kode assembly dan kode mesin.
·  Bisa melihat program internal yang mudah dimengerti. Kode antara ini akan lebih mudah di pahami dari pada kode assembly atau kode mesin.
Terdapat 2 Macam Kode Antara :
⥁ Notasi Postfix Adalah operator diletakkan paling akhir.
Sintaks Notasi Postfix : <operan><operan><operator>
Contoh 1 Ekspresi :
((M + N + B) * (ca + cd ) + X
1) M + N ------> MN +
2) +B       ------> B+
3) ca + cd ------> cacd+
4) +X       ------> +X
5) *          ------> *
Kode antaranya adalah :
⤷ (1)B+cacd+*X disederhanakan (1)B+(3)*X+
Contoh 2 Ekspresi : IF <exp> THEN <stmt1> ELSE <stmt2>
Kode antaranya adalah :
<exp> <label1> BZ <stmt1> <label2> BR <stmt2>
 
⥁ N Tuple Adalah setiap baris bisa terdiri dari beberapa tupel. N tuple yang biasa digunakan adalah notasi 3 tupel dan 4 tupel.
Sintaks N Tuple  : <operator><operan><operan>
Contoh notasi 3 tupel : 
B:=O*B+D/Z
<operator><operan><operan>
Kode antaranya adalah  : 
1) O*B -------> *OB
2) D/Z --------> /DZ
3) B+D -------> +BD
4) B:=  --------> =:B
Kode antaranya adalah :  
*OB/DZ+BD:=B disederhanakan *OB/DZ+(1)(2):=B
Contoh notasi 4 tupel :
<operator><operan><operan><hasil>
(A+B) * (Y+Z)
 1) A+B -------> +AB
2) Y+Z --------> +YZ
3) *
 Kode antaranya adalah : 
      *(1)(2)

Tidak ada komentar:

Posting Komentar