Anda di halaman 1dari 3

TEKNIK KOMPILASI

Tony Darmanto,ST / Smt V – S1 – TI / STMIK WIDYA DHARMA/ Hal 8


2. PERANCANGAN BAHASA PEMROGRAMAN
SUMBER PERANCANGAN BAHASA PEMROGRAMAN
a. Konstruksi yang diturunkan dari bahasa alami berguna untuk kejelasan dan kemudahan
pembacaan. Sebuah instruksi akan mengerjakan ‘mirip’ dengan arti intruksi. Di sisi lain
bisa pula menimbulkan ambiguitas/ke-dwiarti-an yang tidak diinginkan dalam sebuah
bahasa pemrograman.
b. Matematika telah banyak dipakai untuk aturan-aturan yang terdapat pada bahasa
pemrograman, misalnya ekspresi artimatika. Meskipun matematika merupakan sumber
yang berguna, perlu kehati-hatian saat mengadopsi notasi matematika untuk suatu konsep.
c. Bahasa pemrograman yang sudah ada bisa menjadi sumber yang bagus untuk
perancangan bahasa pemrograman. Tetapi perlu ketelitian saat menggunakannya, karena
bahasa yang sudah ada itu mungkin mengandung kesalahan yang serius.

TUJUAN PERANCANGAN BAHASA PEMROGRAMAN


a. Komunikasi dengan Manusia
Sebuah program yang mudah dibaca/ dimengerti adalah sebuah dokumentasi yang baik.
Contoh : a/b/c
Bisa berarti a dibagi dengan b, hasilnya dibagi dengan c
atau a dibagi dengan hasil pembagian b dengan c.

b. Pencegahan dan Deteksi Kesalahan


Sebuah bahasa pemrograman yang baik perlu mengidentifikasi error yang mungkin
terjadi.

c. Usability
Bahasa pemrograman harus mudah dipelajari dan diingat. Usability berkaitan dengan
aspek kenyamanan seorang pemrogram menggunakan bahasa.

d. Efektivitas Pemrograman
Efektivitas berkaitan dengan pemrograman sebagai bagian dari rekayasa perangkat lunak
yaitu bagaimana mencatat keputusan yang dibuat selama pengembangan program.

e. Compilability
Pengembangan sebuah kompilator merupakan pekerjaan yang tidak sederhana. Sebuah
bahasa yang terlalu kompleks akan menyulitkan pembuatan kompilator untuk bahasa
tersebut.

f. Efisiensi
Efisiensi bukanlah hanya permasalahan kecepatan-ukuran, karena akses I/O dan paging
memori termasuk juga dalam efisiensi. Peningkatan yang signifikan dalam efisiensi bisa
didapat dengan membuat bahasa lebih sederhana untuk menghasilkan kode yang efisien.

g. Machine Independent
Sebuah bahasa dikatakan machine independent jika dan hanya jika sebuah program yang
telah sukses dikompilasi dan dieksekusi pada suatu mesin, saat dipindahkan ke mesin
lainnya akan berjalan dengan input dan output yang tepat sama.

h. Kesederhanaan (Simplicity)
Kesederhanaan dapat dicapai melalui:
1. Pembatasan-pembatasan tujuan
2. Perhatian pada keterbacaan
TEKNIK KOMPILASI
Tony Darmanto,ST / Smt V – S1 – TI / STMIK WIDYA DHARMA/ Hal 9
3. Pendefinisian yang baik, dan
4. Konsep yang sederhana.

i. Uniformity
Uniformity bisa didefinisikan sebagai mengerjakan hal yang sama dengan cara yang
sama. Bila diadopsi sebagai prinsip bahasa pemrograman, ini bisa menolong mengurangi
hal-hal yang harus diingat pemrogram, karena akan lebih mudah memahami bagaimana
suatu feature akan dilakukan.

j. Orthogenality
Gagasan mendasar dari orthogenality adalah setiap fungsi bekerja tanpa perlu mengetahui
struktur dari yang lain.

k. Generalisasi dan Spesialisasi

DETAIL RANCANGAN
a. Microstructure
Pada dasarnya mencakup masalah-masalah dalam perancangan bahasa yang
mempengaruhi penampilan bahasa tapi tidak mengubah semantiknya.
Prinsip mendasar micro-struture adalah arti dari suatu konstruksi, seperti operator, harus
jelas dari wujudnya
Aspek terendah dari microstruture adalah set karakter yang dipergunakan harus menjadi
suatu standar untuk menghindari perubahan program saat dipindah antar mesin. Set
karakter yang terbaik adalah ASCII 7 bit.

b. Struktur Ekspresi
Salah satu topik berhubungan dengan ekspresi adalah urutan dari evaluasinya. Metode
yang biasa dipergunakan untuk menentukannya berdasar pada dua tingkatan sebagai
berikut :
1. Explicit bracketing: menggunakan karakter seperti ‘(‘,’)’,’[‘,’]’ untuk membatasi
ekspresi.
2. Operator binding: beberapa penggunanya dengan binding:
a) Kiri ke kanan
b) Kanan ke kiri dan
c) Berdasar prioritas.

c. Struktur Data
Struktur data memiliki empat aspek:
1. Deklarasi Data
Biasanya kebutuhan bahasa pemrograman berkaitan dengan deklarasi untuk :
Konstanta, Type, Variabel
2. Tipe-tipe data yang disediakan dalam bahasa pemrograman
a) Terdapat tiga pendekatan untuk tipe dalam bahasa pemrograman, yakni :
b) Tidak ada sama sekali (Assembly)
c) Soft Typing (Variabel boleh memuat nilai apapun)
d) Hard Typing (Variabel hanya boleh memuat nilai yang menjadi domain dari tipe
tersebut)
3. Strategi Alokasi Storage
Alokasi storage untuk variabel dalam suatu program merupakan pekerjaan kompilator
dan sistem pada saat run time.
Terdapat empat bentuk alokasi variabel :
TEKNIK KOMPILASI
Tony Darmanto,ST / Smt V – S1 – TI / STMIK WIDYA DHARMA/ Hal 10