Senin, 02 April 2012

Semantic


Semantic adalah Mendefinisikan arti dari program yang benar secara syntax dari bahasa tersebut.
Semantic suatu bahasa pemrograman mempunyai banyak potensial / keunggulan, beberapa diantara nya adalah :
Standarisasi bahasa pemrograman.
   Banyak usaha yang dilakukan untuk menstandarisasi bahasa pemrograman seperti FORTRAN, COBOL, dan PL/1, untuk lebih memudahkan programmer menggunakannya.
Referensi untuk user.
  Programmer membutuhkan suatu dokumentasi yang pasti supaya user dapat mengoperasikan program yang dibuat dengan baik.
Pembuktian dari program yang benar.
  Secara matematis, program tidak mungkin bekerja dan berjalan jika tidak ada semantic. 
Referensi untuk implementor.
  Semantic akan mencegah suatu gaya bahasa yang tidak kompetibel yang diwujudkan dalam suatu implementasi berbeda walaupun dengan bahasa yangsama.
Implementasi otomatis
  Suatu tool/alat dapat secara otomatis membuatu translasi bahasa yang melebihi parsing. Hal ini dapat dilakukan jika semantic sudah dirumuskan.
Pemahaman yang lebih baik dari desain bahasa.
  Jika suatu rumusan semantic sulit untuk di deskripsikan secara formal maka rumusan semantic tersebut juga akan sulit digunakan oleh programmer.
Dua alasan mengapa perlu memahami suatu desain bahasa pemrograman dengan lebih baik, yaitu :
1) Memahami dengan lebih baik suatu desain bahasa pemrograman, berarti mambantu menguasai dan menggunakan bahasa tersebut.
2) Memahami dengan lebih baik suatu disain bahasa pemrograman secara detail, membantu programmer untuk memperbaiki proses pengembangan program menjadi lebih baik
Teknik-Teknik Pendeskripsian Semantic Bahasa Pemrograman :
 Operational Semantic :: Pendekatan ini mendefinisikan suatu mesin buatan (Abstract) dengan instruksi-instruksi primitif, tidak perlu realistik, tetapi cukup sederhana supaya tidak muncul kesalahpahaman.Deskripsi semantic dari bahasa pemrograman menentukan suatu translasi kekode.
Denotational Semantic :: Pada pendekatan ini, diberikan suatu fungsi yang memetakan program-program komputer yang ditunjuk kedalam bentuk nilai-nilai abstrak secara matematika (angka, nilai, kebenaran, fungsi matematika, dan sebagainya).
Axiomatic Semantic :: Pada pendekatan ini didefinisikan suatu tindakan program yang dibangun dengan property logika yang menyimpan status computer sebelum dan sesudah eksekusi.
Algebraic Semantic :: Pada pendekatan ini dipertimbangkan suatu objek komputasi yang menjadi syarat-syarat dalam aljabar multi-sorted. Program meng-implementasikan fungsi yang dapat diwujudkan dengan suatu persamaan di antara syarat-syarat tersebut.  
Structured Operational atau Natural Semantic :: Seperti dalam pengambilan keputusan secara alamiah dengan logika. Program diberi suatu arti dari aturan yang diturunkan yang menggambarkan penilaian gagasan suatu bahasa.
Penerapan Semantic
Misal :
  int nilai[10]
  Semantic akan menentukan deklarasi diatas akan menyebabkan ruang sebanyak 10 elemen integer yang diberikan kepada variabel nilai.
Contoh :
  if (a > b) max = a; else max = b;
  Ekspressi a > b harus di evaluasi, dan tergantung dari nilai ini, satu dari dua statemen di belakangnya akan dieksekusi.
  Aturan syntax memberikan bentuk pada statemen tersebut di mana dengan tepat meletakkan tanda “;” sehingga aturan semantic dapat mengartikannya dengan benar.

Tidak ada komentar:

Posting Komentar