Blog for Learning

| lesson material | material summary | questions and answers | definitions | types and examples | other information | materi pelajaran | ringkasan materi | pertanyaan dan jawaban | definisi | jenis-jenis dan contoh-contoh | informasi lainnya |

Powered by Blogger.

Pages

BAB 2 Perancangan Bahasa Pemrograman

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:
  1. Komunikasi dengan manusia
  2. Pencegahan dan deteksi kesalahan
  3. Usability (mudah dipelajari)
  4. Efektivitas pemrograman
  5. Compilability (mengurangi kompleksitas)
  6. Efisiensi dengan meminimalisir ketidakcocokan antara hardware dengan bahasa
  7. Mengurangi ketergantungan manusia kepada mesin
  8. Simplicity (Kesederhanaan)
  9. Uniformity (penyeragaman)
  10. 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

 
Template By Kunci Dunia
Back To Top