Rabu, 15 Oktober 2014

TEKNIK KOMPILASI

1.       Mengapa kita memerlukan bahasa pemrograman?
Jawab :
*      Karena bahasa pemrograman merupakan suatu media komunikasi antara manusia (programer)  dengan mesin (komputer).
*      Bahasa pemrograman juga sebagai alat untuk memecahkan permasalahan komputasi secara logis, kronologis dan sistematis.
*      Bahasa pemrograman sebagai pelatih logika.
*      Sebagai pemicu kreativitas
*      Membuat kita terlatih untuk mengetik cepat

2.       Jelaskan konsep dasar pemrograman!
Jawab :
Konsep dasar pemrograman yaitu : Input, proses dan output dan dikembangkan menjadi ORIGINATING-INPUT-PROSES-OUTPUT-DISTRIBUTION-STORAGE
a.       Originating
Berupa pencatatan data dokumen dasar
b.      Input
Merupakan proses memasukan data ke dalam komputer
c.       Proses
Merupakan proses dari pengolahan data yang telah diinputkan
d.      Output
Merupakan proses untuk menghasilkan keluaran dari proses pengolahan data berupa informasi
e.      Distribution
Merupakan proses penyebaran informasi kepada pihak pihak tertentu
f.        Storage
Merupakan perekaman hasil pengolahan data sebagai bahan untuk input proses selanjutnya.

3.       Sebutkan dan jelaskan perbedaan dari jenis bahasa pemrograman!
Jawab :
Jenis bahasa pemrograman :
a.       Low Level Languange
Merupakan bahasa pemrograman yang berorientasi pada mesin, karena lebih dekat ke bahasa mesin daripada bahasa manusia.
ü  Bahasa Mesin
Bahasa mesin (native code) adalah bahasa asli yang digunakan oleh mesin komputer (berupa deretan bit, numeric biner/Heksadesimal).
Kekurangan : bahasa mesin sulit dimengerti oleh manusia dan hanya dapat dimengerti oleh mesin tertentu.
Bahasa mesin sebagai :
*      Bentuk terendah dari bahasa komputer.
*      Representasi instruksi dalam program berupa kode numerik (biner).
*      Microcode : kumpulan instruksi (semacam prosedur).

ü  Bahasa Assembly
Bahasa assembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Merupakan bahasa yang dianggap sebagai bahasa pemrograman pertama yang telah berbentuk string(mnemonic) dan lebih mudah dimengerti oleh manusia.
*      Bentuk simbolik dari bahasa mesin
*      Kode operasi memiliki kode simbolik
*      Instruksi biasanya terdiri dari beberapa field
*      Mikroinstruksi : kumpulan instruksi.
*      Debug : alat bantu untuk mendiagnostik bahasa assembly
Kelemahan dari Low Level Languange :
*      Sulit dipelajari karena programmer harus mengetahui seluk beluk perangkat keras yang digunakan.
*      Bahasa assembly untuk satu jenis mikroprosesor satu dengan yang lain Middle Level Languange
contoh :       a. Turbo Assembler (borland)     b. Macro Assembler (microsoft)                c. DEBUG (DOS)
b.      High Level Languange
adalah bahasa-bahasa yang lebih mudah dimengerti oleh manusia dan telah menggunakan bahasa alami (bahasa Inggris).
Bahasa tingkat tinggi (user oriented)
*      Lebih dekat dengan bahasa manusia.
*      Memberikan fasilitas yang lebih banyak.
*      Kontrol program yang terstruktur : Nested, block, prosedur.
*      Contoh :
Ø  BASIC (Beginners All-purposes Symbolic Instruction Code)
Ø  LOGO
Ø  COBOL (Common Business Oriented Language)
Ø  PASCAL
Ø  Fortran (Formula Translator)
Ø  Algol (Algoritma Language), dll
c.       Object Oriented Languange
Bahasa pemrograman generasi keempat meliputi Microsoft Visual Basic, Visual J++, dan Visual C++ yang dikembangkan dari keluarga besar bahasa tingkat tinggi untuk memudahkan pemrograman.
*      Memungkinkan penyelesaian untuk suatu masalah atau aplikasi yang spesifik.
*      Contoh :
SQL (structured query language) untuk aplikasi database.
COGO untuk aplikasi teknik sipil.

4.       Sebutkan dan jelaskan sumber perancangan bahasa pemrograman!
Jawab :
Sumber perancangan bahasa pemrograman :
a.       Bahasa Alami
*      Merupakan bahasa yang berguna untuk kemudahan dan kejelasan pembacaan.
*      Memberikan instruksi sesuai dengan arti instruksi yang sebenarnya.
*      Dapat digunakan sebagai panduan untuk perancangan sintaks sebuah bahasa pemrograman.
b.      Matematika
Dipakai sebagai aturan-aturan yang terdapat pada bahasa pemrograman, misalnya perancangan operasi aritmatika.
c.       Bahasa pemrograman yang sudah ada
Merupakan sumber yang bagus untuk perancangan bahasa pemrograman, karena meningkatkan kemudahan baca (readability), meningkatkan pemeriksaan kesalahan.

5.       Jelasakan tujuan perancangan bahasa pemrograman!
Jawab :
Tujuan perancangan bahasa pemrograman
a.       Komunikasi dengan manusia
Karena sebuah program yang baik adalah suatu program yang mudah dimengerti dan dipahami.
b.      Pencegahan dan deteksi kesalahan
Bahasa pemrograman yang baik harus dapat mengidentifikasi error yang mungkin terjadi, mempermudah deteksi kesalahan dan menghilangkan kesalahan.
c.       Usability
Berkaitan dengan aspek kenyamanan seorang pemrogram menggunakan bahasa, karena bahasa pemrograman yang baik harus dapat dipelajari dan mudah diingat karena berkaitan dengan kenyamanan programmer dalam menggunakan bahasa pemrograman.
d.      Efektivitas Pemrograman
Merupakan bagian dari rekayasa perangkat lunak yaitu bagaimana mancatat keputusan yang dibuat selama mengembangkan program.
e.    Compability
Pengembangan sebuah kompilator merupakan pekerjaan yang tidak sederhana.
f.     Efisiensi
Peningkatan yang signifikan dalam efisiensi bisa didapat dengan membuat bahasa lebih sederhana untuk menghasilkan kode yang efisien.
g.    Machine Independent
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
Kesederhanaan dapat dicapai melalui : pembatasan-pembatasan tujuan dan perhatian pada keterbacaan.
i.     Uniformity
Yaitu mengerjakan hal yang sama dengan cara yang sama dan menjelaskan bagaimana menghilangkan kasus khusus.
j.     Orthogonality
Setiap fungsi bekerja tanpa mengetahui struktur dari yang lain.
g.    Generalisasi dan spesialisasi
Dasar pemikiran “jika dibolehkan melakukan ini, maka lakukanlah hal yang lain dengan cara serupa”

6.       Jelaskan detail perancangan bahasa pemrograman!
Jawab :
Detail perancangan bahasa pemrograman
a.       Microstructur
*      Operator harus jelas wujudnya dan token dari suatu bahasa harus mudah dikenali. Keyword harus jelas, mudah diucapkan, memiliki arti sesuai dengan bentuknya
*      Aspek terendah dari microstructure adalah set karakter yang akan dipergunakan.
*      Aspek lain yang ada adalah pengaturan keyword dan komentar.
*      Pemisahan keyword dengan indentifire yang didefinisikan user.
*      Pemilihan simbol untuk menandai komentar.

b.      Struktur Ekspresi
Berhubungan dengan urutan evaluasi dari sebuah ekspresi, dapat menggunakan:
*      Explicit bracketing, menggunakan karakter [,],{,} untuk membatasi ekspresi
*      Operator binding, melakuakn binding kiri ke kanan, kanan  ke kiri dan prioritas.
c.       Struktur Data
4 aspek struktur data :
*      Deklarasi data
Ø  Kosntanta, tidak boleh berubah dalam program
Ø  Type, suatu pembentuk tipe data buatan baru
Ø  Variable, bias diubah dalam program
*      Tipe data yang disediakan dalam bahasa pemrograman
Ø  Tidak ada sama sekali
Ø  Soft typing, ditentukan suatu tipe data yang bias menerima nilai apapun
Ø  Hard typing, ditentukan suatu tipe data yang memuat satu jenis tipe data saja
*      Alokasi variable
Ø  Static
Pemakaian global lokal, dinamik, dan otomatis di dalam prosedur/fungsi
Ø  Retention
Dialokasikan di entry prosedur tapi tidak dibebaskan pada saat keluar digunakan untuk bactracking dan rekursif
*      Struktur Ekspresi
Berhubungan dengan urutan evaluasi dari sebuah ekspresi, dapat menggunakan explicit bracketing, operator binding dan struktur control dan loop
*      Struktur Kompilasi
Struktur ini menyangkut seluruh aspek pada saat kompilasi adanya fasilitas penyimpanan berkas dan memfasilitasi untuk memilih teks tertentu untuk di compile.
*      Struktur Input/Output
Merupakan fasilitas untuk menangani masukan dari keluaran.
Format-free : untuk komunikasi sederhana bagi programmer untuk memeriksa kebnenaran program
Formatted : outputnya ditampilkan secara berformat
File-form : output ditampilkan dalam sekuensi, indexs ekuensial, direct

7.       Jelaskan skenario perancangan bahasa pemrograman!
Skenario perancangan bahasa pemrograman :
Jawab :
ü  Menetukan projek seperti apa yang diinginkan
ü  Menentukan feature yang mungkin
ü  Menentukan desain yang sesuai dengan featurenya
ü  Menentukan rincian, parsing dan error checking
ü  Membuat user manual dan help
ü  Jika terjadi kesalahan, evaluasilah mulai dari 3 langkah
ü  Optimisasilah dan uji segala kemungkinan, jika sudah benar
ü  Melakukan uji coba kepada pengguna
ü  Memperbaiki bug dan mulai versi baru


Tugas pertemuan ke-5
1.       Sebutkan dan jelaskan tugas scanner pada sebuah kompilator!
Jawab :
a.       sacanner sebagai pemecah program sumber menjadi besaran leksik atau token
b.      mengidentifikasi semua besaran itu dan membuatnya menjadi suatu bahasa
c.       mentransformasikannya ke token-token
d.      menentukan jenis dari token-tokennya
e.      memecahkan kesalahan yang terjadi
f.        menangani tambel simbol

2.       Jelaskan istilah-istilah berikut :
a.       Token
Jawab :
Token merupakan elemen dasar dari bahasa komputer dan merupakan bagian hasil dari pemecahan sumber program yaitu penerjemahkan lexeme pada saat melakukan scanner.
b.      Blank
Jawab :
Aturan penggunaan spasi pada bahasa pemrograman yang sangat beragam. Seperti spasi yang diabaikan (boleh dipisah) dan yang tidak boleh diabaikan (tidak boleh dipisah). Jika diabaikan maka akan terjadi kesalahan sintaks.
c.       Identifier
Jawab : merupakan kata kunci dari nama sebuah variable
d.      Keyword
Jawab : keyword adalah kata kunci yang sudah didefinisikan oleh sebuah bahasa, misalnya : begin, end, if, then, else dalam pascal.
e.      Delimeter
Jawab : merupakan pembatas, seperti kurung buka, kurung tutup, titik, koma, titik-dua, titik-koma, dan white space.
f.        White-space
Jawab : yaitu pemisah yang diabaikan oleh program, seperti : spasi, spasi enter, garis baris dan akhir file.

2 komentar:

  1. Kami adalah situs agen judi online yang merupakan agen poker & agen domino online uang asli terbesar dan terpercaya di Indonesia. Kami hadir dengan sistem program terbaik yang menjamin keamanan data para member dan server canggih berkecepatan tinggi yang menjamin permainan cepat dan lancar tanpa macet. (PIN BBM : 7AC8D76B)

    BalasHapus