BAB
2 Perancangan Bahasa Pemrograman
Pengertian
Perancangan
dapat diartikan sebagai seni terapan, arsitektur, dan berbagai pencapaian
kreatif lainnya. Bahasa pemrograman atau bahasa komputer adalah instruksi dasar
untuk memerintah komputer. Bahasa pemrograman merupakan suatu himpunan dari
aturan sintaks dan sistematik yang dipakai untuk mendefinisikan program
komputer. Perancangan bahasa pemrograman adalah seluruh kegiatan yang tercakup
dalam pembuatan program yang meliputi analisis kebutuhan, perencanaan,
perancangan, dan implementasi.
Sumber
Perancangan Bahasa Pemrograman
1. Bahasa
alami (natural language)
Konstruksi
yang diturunkan dari bahasa alami, karena bahasa alami dapat digunakan sebagai
panduan untuk perancangan sintaks
2. Ilmu
Matematika
Banyak
dipakai untuk aturan-aturan yang terdapat pada bahasa pemrograman, misalnya
ekspresi matematika
3. Bahasa
pemrograman yang telah ada
Bisa
menjadi sumber yang bagus untuk perancangan bahasa pemrograman, tetapi perlu
ketelitian saat menggunakannya, karena bahasa tersebut mungkin mengandung
masalah yang serius, contoh GO TO
Tujuan
Berikut
ini adalah tujuan dari perancangan bahasa pemrograman:
- Komunikasi dengan manusia
- Pencegahan dan deteksi kesalahan
- Usability (mudah dipelajari)
- Efektivitas pemrograman
- Compilability (mengurangi
kompleksitas)
- Efisiensi dengan meminimalisir
ketidakcocokan antara hardware dengan bahasa
- Mengurangi ketergantungan manusia
kepada mesin
- Simplicity (Kesederhanaan)
- Uniformity (penyeragaman)
- Orthogonality (setiap fungsi tidak
bergantung pada unsur lain)
Detail
·
Microstructure
Arti
dari suatu konstruksi misalnya operator harus jelas wujudnya. Dengan kata lain,
token dari suatu bahasa harus mudah dikenali apa itu dan apa yang dilakukannya.
·
Aspek terendah dari mikrostruktur adalah
set karakteryang digunakan. Set karakter yang standar harus digunakan agar
tidak terjadi hal yang tidak diinginkan pada saat “berpindah-pindah” terjadi
hal yang tidak diinginkan pada saat “berpindah-pindah”.
·
Struktur
Ekspresi
Struktur
ekspresi berhubungan dengan urutan dan evaluasinya, bisa menggunakan :
•
Explicit Bracketing: menggunakan
karakter [,],{,},(,).
•
Aturan dan urutan operator : kiri ke
kanan, kanan ke kiri, dan prioritas.
- Keyword
Keyword
harus jelas, mudah diucapkan, memiliki arti sesuai dengan bentuknya. Keyword
harus dipilih sedemikian rupa agar tidak sama dengan variabel yang dipilih
user. Hal yang perlu diperhatikan dalam memilih keyword :
•
Keyword adalah “reserved”, tidak boleh
dipakai user dalam membuat variabel, agar tidak terjadi tabrakan dan
ambiguitas.
•
Keyword yang baik harus diawali dengan
karakter khusus yang menadainya.
•
Aspek lain dari mikrostruktur adalah
pengaturan komentar. Suatu komentar adalah diawali dari suatu tanda simbol awal
komentar sampai dengan ditemukannya tanda simbol tertentu sebagai akhir
komentar, walaupun ada karakter apapun didalamnya termasuk spasi simbol
komentar idealnya.
•
Terdiri dari 2 karakter, lebih baik
barupa karakter yang sama.
•
Simbolnya jarang digunakan.
•
Terdiri dari karakter yang berlokasi
sama pada keyboard.
•
Dibedakan antara simbol komentar sebaris
dan banyak baris (multiline). Simbol komentar multi lineharus ditutup
dengan simbol yang sama pula tanpa memperhatikan karakter apapun didalamnya.
Struktur
Data
•
Deklarasi data
o
Konstanta, tidak boleh berubah dalam program
o
Type, suatu pembentuk tipe data buatan baru
o
Variabel, bisa diubah dalam program
•
Semuanya harus memperhatikan aspek readibility –Perhatikan tipe data yang sudah
disediakan oleh bahasa pemrograman
Tipe
Data dalam Bahasa Pemrograman
Ada
beberapa kemungkinan:
•
Tidak ada sama sekali, contoh : assembly
•
Soft typing, ditentukan suatu tipe data yang bisa menerima nilai apapun. Contoh
: bahasa scripting language, tipe data variant.
•
Hard (Strong) Typing, ditentukan suatu tipe data yang harus memuat satujenis tipe
data saja. Mudah dicari kesalahannya (Debug mudah). Contoh : C,C++, tipe data
saja. Mudah dicari kesalahannya (Debug mudah). Contoh : C,C++, Java, Pascal.
Jenis
Tipe Data
·
Tipe Data Primitif
Tipe
data ini disediakan langsung oleh bahasa pemrograman yang ada. Contoh :
integer, real, float, byte, char. Tipe data primitif ini dapat dikembangkan
menjadi tipe data kompleks seperti enumerasi(set/himpunan). Misal: Type gelar =
(S1, S2, S3). Dapat juga berupa range dari suatutipe data integer. Misal type
tanggal = 1 to 31.
•
Tipe data karakter dan string juga
termasuk tipe data primitif, namun tidak semua bahasa memiliki tipe data string
seperti bahasa C dan C++. semua bahasa memiliki tipe data string seperti bahasa
C dan C++.
•
Tipe data string adalah kumpulan (rangkaian)
karakter-karaker yang dibentuk menjadi array. Tipe data karakter hanya bisa
menerima 1 huruf sedangkan string banyak huruf. Pada C dan C++ string sama
dengan char[]. Tipe data string harus memiliki panjang maksimum untuk keperluan
penyimpanan di memori.
•
Tipe data terakhir adalah tipe data
boolean. Tipe data ini tidak dimiliki semua bahasa, seperti C. Pada C, tipe
data boolean bisa dibuat sendiri dengan menggunakan sintaks: #define false 0 •
#define true 1.
- Complex
Data Type
Contohnya
adalah tipe data seperti pointer. Pointer dapat membentuk tipedata record yang
kompleks seperti Stack, List, dan Queue. Ada beberapa bahasa yang juga
menyediakan fungsi untuk mengubah tipe data dari tipe data tertentu ke tipe
data lainnya. Contoh: Di Delphi ada fungsi StrToInt() atau di VB ada fungsi
val().
·
User Defined Data Type
Tipe
data ini dibuat sendiri oleh pemrogram. Contohnya adalah :
Type
table = array [1..10] of integer;
Type mahasiswa = record
Nama : String;
NIM : String;
End;
typedef struct mahasiswa {
char[30]
nama; int umur;
};
Type warna = (merah, kuning, biru);
Type himpunan = set of warna;
•
Tipe data seperti ini menambah kekompleksitasan kompilasi.
•
Tipe data abstract (ADT)
o
Seperti UDT, tambah dengan kemampuan enkapsulasi, polymorfisme,dan ciri-ciri
kemampuan tipe data berorientasi obyek lainnya.
o
Contoh: class
Strategi Penyimpanan
Alokasi
variabel yaitu :
•
Alokasi statik : pemakaian global
•
Alokasi lokal, dinamik, dan otomatis : alokasi di dalam prosedur/fungsi
•
Retention: dialokasikan di awal entry prosedur/blok tapi tidak dibebaskan pada
saat keluar. Digunakan untuk backtracking dan rekursif
Struktur
Kontrol dan Loop
•
Jangan menggunakan GOTO/LABEL, jelek dan tidak teratur.
•
Struktur kontrol yang paling sederhana adalah blok (begin-end, { ..}).
•
Struktur kontrol yang paling sederhana adalah blok (begin-end, { ..}).
•
Struktur kontrol yang terkenal adalah IF …THEN …ELSE …
•
Pada IF kita menggunakan ekspresi boolean, ingat boolean tidak ada di semua
bahasa. Bisa menggunakan true/false, 0 dan 1, ganjil dan genap.
•
IF bisa dibentuk CASE/SWITCH. Hati-hati dengan CASE, ingat DEFAULT/ELSE untuk
eksepsi kesalahannya.
•
Bentuk Loop : for, do..while, while..do, repeat..until
•
Bentuk prosedur / fungsi juga memiliki passing parameter by • Pada IF kita
menggunakan ekspresi boolean, ingat boolean tidak ada di semua bahasa. Bisa
menggunakan true/false, 0 dan 1, ganjil dan genap.
•
IF bisa dibentuk CASE/SWITCH. Hati-hati dengan CASE, ingat DEFAULT/ELSE untuk
eksepsi kesalahannya.
•
Bentuk Loop : for, do..while, while..do, repeat..until
•
Bentuk prosedur / fungsi juga memiliki passing parameter by reference dan by
value.reference dan by value.
Struktur Kompilasi
Menyangkut
seluruh aspek pada saat kompilasi. Salah satu fasilitas compileradalah adanya
fasilitas menyisipakan berkas. Ada juga yang memfasilitasi untukmemilih bagian
tertentu dari teks untuk dikompile. Contoh : Run to Cursor, go todefinition,
Run step-by-step.
Struktur
I/O
I/O
adalah struktur input dan output.
Ada
3 macam kemungkinan bentuk:
•
Format-free form : langsung ditampilkan sehingga mudah bagi user untukmemeriksa
kebenaran program. Contoh pada VB.
•
Formatted form : output ditampilkan secara terformat, seperti di C :printf(),
delphi/VB : format().
•
File form : output ditampilkan dalam file sekuensial, index sekuensial, dan direct
Skenario
Perancangan
•
Tentukan apa yang diinginkan.
•
Tentukan feature yang mungkin.
•
Tentukan desain dan sesuaikan dengan featurenya.
•
Tentukan rincian, interpret/compile, dan error checking.
•
Tuliskan user manual dan help.
•
Evaluasilah, jika salah mulai lagi dari langkah 3.
•
Jika sudah benar, optimisasilah dan uji segala kemungkinan.
•
Cobakan kepada pengguna, tunggu reaksinya.
•
Perbaiki bug dan mulai versi baru
0 Komentar untuk "BAB 2 Perancangan Bahasa Pemrograman"
Silahkan berkomentar sesuai artikel