TEK N I K K OM PIL PI L A SI Tony Darma Darmanto nto,ST ,ST / Smt Smt V – S1 – TI / STM I K WIDY WI DY A DH A RM A / H al 8 2. PERANCANGAN PERANCANGAN BAHASA BAHASA PEMROGRAM AN SUMBER PERANCANGAN PERANCANGAN BAHASA BAHASA PEMR OGRAMAN a. Konstruk Konstruksi si yang diturunkan diturunkan dari bahasa alami berguna untuk kejelasan kejelasan dan kemudahan 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. Baha Bahasa sa pemr pemrog ogra rama man n yang ang suda sudah h ada ada bisa bisa menj menjaadi sumber umber yang ang bagu baguss untu untuk k perancangan bahasa pemrograman. Tetapi perlu ketelitian saat menggunakannya, karena bahasa yang sudah ada itu mungkin mu ngkin mengandung kesalahan yang serius. TUJ UAN PERANCANGA PERA NCANGAN N BAHASA BAHA SA PEM PE M ROGRA M AN a. Komunikas Komunikasii dengan dengan Manusi Manusiaa Sebuah program yang mudah dibaca/ dimengerti adalah sebuah dokumentasi yang baik. Contoh : a/b/c Bisa berarti a d ibagi ibagi dengan b, hasilnya hasilnya dibagi dengan c atau a dibagi dengan dengan hasil hasil pembagian b dengan dengan c. b. Pencegahan dan da n Deteksi Kesalahan Sebuah Sebuah bahas bahasaa pemrogra pemrograman man yang baik perlu perlu mengi mengiden dentifi tifikas kasii error error yang mungkin mungkin terjadi. c. Usabi Usabili lity ty Bahas Bahasaa pemrog pemrograma raman n harus harus mudah mudah dipelaj dipelajari ari dan diingat. diingat. Usabili Usability ty berkaitan berkaitan dengan aspek kenyamanan seorang pemrogram menggunakan bahasa. d. Efektivitas Efektivitas Pemrograman Pemrograman Efektivitas Efektivitas berkaitan dengan pemrograman pemrograman sebagai bagian bagian dari rekayasa perangkat perangkat lunak yaitu bagaimana mencatat keputusan yang dibuat selama pengembangan program. e. Compil Compilabil ability ity Pengembang Pengembangan an sebuah kompilator kompilator merupakan merupakan pekerjaan pekerjaan yang tidak sederhana. sederhana. Sebuah bahasa yang terlalu kompleks akan menyulitkan pembuatan kompilator untuk bahasa tersebut. f. Efis Efisien iensi si 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 Machine Independent 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. Kesederh Kesederhanaan anaan (Simplicity (Simplicity)) Kesederhanaan dapat dicapai melalui: 1. Pembatasan-pe Pembatasan-pembatas mbatasan an tujuan 2. Perhatian Perhatian pada keterbacaan keterbacaan
TEK N I K K OM PIL PI L A SI Tony Darma Darmanto nto,ST ,ST / Smt Smt V – S1 – TI / STM I K WIDY WI DY A DH A RM A / H al 9 3. Pendefinis Pendefinisian ian yang yang baik, baik, dan 4. Konsep Konsep yang yang sederhana. sederhana. i.
Unif Uniform ormit ity y Unifor Uniformity mity bisa didefin didefinisi isikan kan sebag sebagai ai menger mengerjak jakan an hal yang yang sama sama dengan dengan cara yang 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. Generalis Generalisasi asi dan Spesialisasi Spesialisasi
DETAIL RANCANGAN a. Micros Microstruc tructure ture Pada Pada das dasarny arnyaa menc mencak akup up masa masallah-m ah-mas asal alah ah dala dalam m pera peran ncang cangan an bahas bahasaa yang ang mempengaruhi penampilan bahasa tapi tidak mengubah semantiknya. Prinsip mendasar micro-struture adalah arti dari suatu konstruksi, seperti operator, harus jelas dari d ari wujudnya Aspek terendah dari microstruture adalah set karakter yang dipergunakan harus menjadi suatu suatu standa standarr untuk untuk menghin menghindari dari p erubah erubahan an program program saat saat dipinda dipindah h antar antar mesin mesin.. Set karakter yang terbaik adalah ASCII 7 bit. b. Struktur Ekspresi E kspresi Salah Salah satu satu topik berhubungan berhubungan dengan ekspresi adalah u rutan dari evaluasinya evaluasinya.. Metode yang biasa biasa dipergu diperguna nakan kan untuk untuk menent menentukan ukanny nyaa berdas berdasar ar pada dua tingk tingkata atan n sebagai sebagai berikut : 1. Explici Explicitt bracke bracketing ting:: mengg menggunak unakan an karak karakter ter seperti seperti ‘(‘,’)’ ‘(‘,’)’,’[ ,’[‘,’] ‘,’]’’ untuk untuk membata membatasi si ekspresi. 2. Operator Operator binding: binding: beberapa penggunanya penggunanya dengan dengan binding: binding: a) Kiri Kiri ke kanan kanan b) Kanan ke kiri dan d an c) Berdasar Berdasar prioritas. prioritas. c. Strukt Struktur ur Da Data ta Struktur data memiliki empat aspek: 1. Deklar Deklarasi asi Da Data ta Biasa Biasany nyaa kebutuh ebutuhan an bahas bahasaa pemrog pemrogra raman man berka berkait itan an dengan dengan dekla deklara rasi si untuk untuk : Konstanta, Type, Variabel 2. Tipe-tipe Tipe-tipe data yang yang disediakan disediakan dalam dalam bahasa bahasa pemrograman pemrograman a) Terdapat Terdapat tiga pendekat pendekatan an untuk tipe dalam bahasa bahasa pemrograman pemrograman,, yakni : b) Tidak ada ad a sama sekali (Assembly) c) Soft Typing Typing (Variabe (Variabell boleh memuat memuat nilai nilai apapun) d) Ha Hard rd T yping (Variabel (Variabel hanya boleh memuat memuat nilai yang menjadi menjadi domain dari tipe tersebut) 3. Strategi Strategi Alokasi Alokasi Storag Storagee Alokasi storage untuk variabel dalam suatu program merupakan pekerjaan kompilator dan sistem pada saat run time. Terdapat empat bentuk alokasi variabel :
TEK N I K K OM PIL PI L A SI Tony D arma rmanto, nto,ST ST / Smt Smt V – S1 – TI / STM I K WI DY A D HA RM A / H al 10
klAni k li