Komponen utama bahasa pemrograman
KOMPONEN
UTAMA BAHASA PEMROGRAMAN
Oleh :
Fina Norfila
11.01.53.0094
Komponen
utama bahasa pemrograman adalah
- Syntax
- Semantic
- Grammar
Bahasa
pemrograman merupakan notasi formal dan
mempunyai 2 komponen utama yaitu
- Syntax: Kumpulan aturan formal yang menspesifikasikan komposisi suatu program yang terdiri dari huruf, angka, dan karakter lain.
- 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
- Syntax
Syntax
didefinisikan dengan dua kumpulan aturan yaitu Lexical dan Syntactic
- 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
- 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
- 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
- Analisa input program sumber
- 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:
- Analisa Lexical(Tahap dasar dari translasi, mengerjakan pengelompokkan urut-urutan karakter ke dalam komponen pokok: identifier, delimiter, simbol operator, angka, keyword, blank, komentar, dst.
- Analisa Syntactic
- Biasa disebut parsing
- Struktur program yang lebih besar diidentifikasi: statement, deklarasi, ekspresi,dll
- 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
- Menghilangkan inefisiensi kode
- Mengubah kode yang tidak efisien menjadi kode yang efisien
- Penghasil Kode
Dibentuk sebagai bahasa Assembly, kode mesin atau
program obyek lainnya
- Linking dan Loading
- Bersifat optional
- Menggabungkan potongan-potongan kode yang dihasilkan dari translasi terpisah kedalam program final executable yang utuh
- 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 :
else {+}
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
1 komentar:
jiah benerin jcreatorku dong mus
Senin, 11 Juni 2012 pukul 14.07.00 GMT+7Posting Komentar