Rabu, 02 Mei 2012

Komponen utama bahasa pemrograman


KOMPONEN UTAMA BAHASA PEMROGRAMAN

Oleh :
Fina Norfila
11.01.53.0094

Komponen utama bahasa pemrograman adalah
  1. Syntax
  2. Semantic
  3. Grammar


Bahasa pemrograman merupakan notasi formal dan mempunyai 2 komponen utama yaitu
  1. Syntax: Kumpulan aturan formal yang menspesifikasikan komposisi suatu program yang terdiri dari huruf, angka, dan karakter lain.
  2. Semantic: Mendefinisikan arti dari program yang benar secara syntax dari bahasa tersebut

Desain Bahasa Pemrograman
Kriteria desain bahasa pemrograman :
    • Abstraction
Kemampuan untuk mengkonstruksi suatu pola yang berulang-ulang,
contoh: subprocedure
    • Simplycity
Kesederhanaan, semakin sedikit konsep untuk dapat dimengerti, semakin baik
    • Regularity
Keteraturan, semakin sedikit melanggar aturan semakin baik
    • Konsistensi
Ketetapan suatu alur atau bentuk bahasa
contoh: A(i) pada VB
    • Translation
Penerjemah yang cepat dan menghasilkan kode tujuan yang efisien

      1. Syntax 
Syntax didefinisikan dengan dua kumpulan aturan yaitu Lexical dan Syntactic
  1. Lexical: menspesifikasikan kumpulan karakter yang terdapat dalam alphabet dari bahasa dan cara supaya karakter-karakter tersebut dikombinasikan ke dalam kata-kata yang valid dan diterima
  2. Syntactic: elemen-elemen yang mengatur bentuk suatu statement-statement dalam bahasa pemrograman
Syntax adalah aturan-aturan peng-code-an struktur suatu bahasa pemograman,ibarat grammar dalam berbahasa Inggris. Setiap jenis bahasa pemograman mempunyai aturan syntax yang berbeda.

Macam-macam syntax :
  • Comment
  • White space
  • Symbol
  • String
  • Number
  • Identifier
  • Reserved Word

Kriteria syntax :
  • Readability = Mudah dibaca
  • Writeability = Mudah ditulis
  • Verifiability = Verifikasi program (konsep kebenaran)
  • Kemudahan Translasi = Mudah bagi manusia, sulit di translasi
  • Pengurangan Ambiguitas = Pemahaman dua arti(makna atau lebih
contoh A(i) , mungkin sebagian awam mengatakan array tapi sebenarnya contoh tersebut adalah pemanggilan fungsi
Apabila dalam penulisan code dengan syntax yang salah maka akan menimbulkan
error atau kesalahan dalam kompilasi. Error dalam pemograman ada dua macam :
  • Run-time Error
Yaitu kesalahan yang terjadi pada saat pengoperasian program. Contohnyakesalahan memasukkan input, perbedaan pada tipe data, dan lain-lain.

  • Compile-time Error
Yaitu kesalahan yang disebabkan aturan penulisan code yang salah yangmemunculkan pesan error pertama kali saat dikompilasi. Contohnya kesalahansyntax, variable yang tidak diketahui, kesalahan struktur mengawali – mengakhiri, dll .
Elemen-elemen Syntactic
    • Himpunan Karakter
Contoh penggunaan ASCII - Karakter angka dan huruf
    • Identifier
Umumnya string dari huruf dan angka
    • Simbol untuk operator
Contoh Simbol matematika(perkalian, pembagian, penambahan, pengurangan dsb)
    • Keyword dan Reserved Word
Kata-kata milik bahasa, biasanya tidak boleh digunakan sebagai identifier

  1. Semantic
Semantic berfungsi untuk mendefinisikan arti dari program yang benar secara syntax dari bahasa tersebut.
  • Contoh 1 :
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;
Ekspresi a > b harus dievaluasi terlebih dulu, tergantung dari nilai ini satu dari dua statement di belakangnya akan dieksekusi.
Tingkatan Translasi
  • Translasi dari syntax ke executable merupakan pusat implementasi bahasa pemrograman
  • Kecepatan dan efisiensi eksekusi menjadi tujuan utama.
  • Translasi dibagi dua
    1. Analisa input program sumber
    2. Synthesis program objek yang executable

Analisa Input Program Sumber
  • Program sumber dilihat oleh translator sebagai kumpulan urut-urutan simbol.
  • Suatu program yang diatur rapi oleh programmer tidak akan terlihat oleh translator
  • Dibutuhkan analisa-analisa berikut:
    1. Analisa Lexical(Tahap dasar dari translasi, mengerjakan pengelompokkan urut-urutan karakter ke dalam komponen pokok: identifier, delimiter, simbol operator, angka, keyword, blank, komentar, dst.
    2. Analisa Syntactic
  • Biasa disebut parsing
  • Struktur program yang lebih besar diidentifikasi: statement, deklarasi, ekspresi,dll
    1. Analisa Semantic
  • Pusat dari tahapan translasi
  • Struktur syntatic hasil dari syntatic analyzer diproses
  • Menghasilkan suatu kode objek yang executable sederhana
  • Akan dimanipulasi oleh tahap optimasi sampai jadi kode executable

Synthesis Program Objek yang Executable
  • Merupakan tahapan akhir suatu translasi yang berfokus pada pembangunan program yang executable
  • Terdiri dari beberapa tahapan

  • Optimasi
    1. Menghilangkan inefisiensi kode
    2. Mengubah kode yang tidak efisien menjadi kode yang efisien
      • Penghasil Kode
Dibentuk sebagai bahasa Assembly, kode mesin atau program obyek lainnya
      • Linking dan Loading
        1. Bersifat optional
        2. Menggabungkan potongan-potongan kode yang dihasilkan dari translasi terpisah kedalam program final executable yang utuh

  1. Grammar
    • Suatu kumpulan aturan (production) yang menentukan urut-urutan karakter
    • Suatu formal grammar adalah grammar biasa yang ditentukan dengan menggunakan notasi yang ketat
    • Ada dua kelas grammar yang berguna untuk teknologi compiler
•EBNF Grammar
•Regular Grammar

EBNF Grammar
      • Extended Backus-Naus Form
      • Metalanguage
Bahasa yang digunakan untuk mendeskripsikan bahasa lain
      • Menggunakan notasi matematis
::=, <, >, |, *, +, {, }, [, ] = disebut metasymbol
      • Suatu bahasa yang dideskripsikan dalam EBNF merupakan suatu kumpulan aturan
Contoh EBNF Grammar :
::= {*}
> ::= | |
::= = ;
::= if {statemen*} | if {+}
else {+}
::= while {+ }
::= | | () |
::= + | - | * | / | = | <> | < | > | <= | >=
::= *
::= a | b | c | ... | z | A | B | C | ... | Z
::= 0 | 1 | 2 | ... | 9
EBNF Grammar
Simbol Arti
::= Didefinisikan sebagai
* Nol atau lebih pemunculan elemen yang terdahulu
+ Satu atau lebih pemunculan elemen yang terdahulu
| Pilihan “atau”
< ... > Elemen yang ada didalamnya merupakan non-terminal
{ ... } Elemen yang ada didalamnya merupakan terminal
EBNF Grammar
•A = B + 1
Syntax Diagram
{ }
statemen
program
statemen
assignment
conditional
loop

2 komentar:

Unknown mengatakan...

tumben ckckckck

Rabu, 02 Mei 2012 pukul 14.06.00 GMT+7
Bimbel Gohome mengatakan...

jiah benerin jcreatorku dong mus

Senin, 11 Juni 2012 pukul 14.07.00 GMT+7

Posting Komentar