Contoh Soal dan Jawab Mata Kuliah Teknik Kompilasi Unpam
Contoh Soal dan Jawab Mata Kuliah Teknik Kompilasi Unpam - Penulisan artikel ini berdasarkan adanya tugas dari dosen, sekalian saya membagikan kepada anda jika anda membutuhkan jawaban yang sama menggenai mata kuliah teknik kompilasi.
Berikut contoh soal dan jawaban teknik kompilasi
1. Sebutkan berbagai berbagai translator, jelaskan
Jawab:
a. Assembler
Bahasa Asembly merupakan bahasa rakitan pemrograman dekstop
tingkatan rendah. Atau bisa disebut bahasa mesin yang bisa dibaca oleh manusia.
Jika dibandingkan dengan bahasa tingkat besar sangat berbeda
sekali, bahasa assembly ataupun rakitan umumnya mempunyai ikatan 1- 1 dengan
instruksi bahasa mesin. Misalnya, masing- masing julukan( mnemonic) yang
ditulis di program dengan bahasa rakitan hendak diterjemahkan jadi pas satu
kode pembedahan yang bisa dipahami langsung oleh pc.
b. Interpreter
Interpreter merupakan bentuk source code dari bahasa
scripting semacam PHP, ASP, Perl, Javascript, Basic. Interpreter tidak
menciptakan objek code cuma menciptakan translasi internal. Input bisa berasal
dari source code maupundari inputan program dari user. Source code serta
inputan informasi user diproses pada dikala yang bertepatan.
c. Compiler
Compiler adalah program yang menerjemahkan dar bahasa mesin
ke manusia atau sebaliknya. Input berbentuk source code program semacam Pascal,
C, C++. Objek code merupakan bahasa assemblu. Source code serta informasi input
diproses pada dikala yang berbeda. Compile time merupakan dikala pengubahan
dari source code jadi object code.
2. Apa perbandingan compiler dengan interpreter, sebutkan contohnya
Jawab:
- Jika hendak melaksanakan program hasil kompilasi bisa dicoba tanpa perlu source code. Jika interpreter perlu source code.
- linking( penggabungan kode objek dengan library). Jika interpreter tidak terdapat proses terpisah.
- JIka compiler memerlukan linker buat mencampurkan kode objek dengan bermacam berbagai library demi menciptakan sesuatu kode yang dapat dijalankan oleh mesin. Jika interpreter tidak perlu linker buat mencampurkan kode objek dengan bermacam berbagai library.
- Interpreter sesuai buat membuat/ menguji coba materi( sub- routine/ program- program kecil). Hingga compiler agak repot sebab buat mengganti sesuatu materi/ kode objek kecil, hingga wajib dicoba proses linking/ penggabungan kembali seluruh objek dengan library yang dibutuhkan.
- Pada kompiler dapat dicoba optimisasi/ kenaikan mutu kode yang dapat dijalankan. Terdapat yang dioptimasi biar lebih kilat, terdapat yang biar lebih kecil, terdapat yang dioptimasi buat sistem dengan banyak processor. Jika interpreter sulit ataupun apalagi tidak dapat dioptimasikan.
3. Gambarkan fase fase dari proses suatu kompilasi
Jawab
4. Sebutkan 4 aspek dalam struktur data
Jawab:
a. Deklarasi data
- Kosntanta, tidak boleh berganti dalam program
- Type, sesuatu pembuat jenis informasi buatan baru
- Variable, bias diganti dalam program
Jenis informasi yang disediakan dalam bahasa pemrograman
- Tidak terdapat sama sekali
- Soft typing, didetetapkan sesuatu jenis informasi yang bias menerima nilai apapun
- Hard typing, didetetapkan sesuatu jenis informasi yang muat satu tipe jenis informasi saja
Alokasi variable
- Static
- Pemakaian global lokal, dinamik, serta otomatis di dalam prosedur/ fungsi
- Retention
- Dialokasikan di entry prosedur tetapi tidak dibebaskan pada dikala keluar digunakan buat bactracking serta rekursif
b. Struktur Ekspresi
- Berhubungan dengan urutan penilaian dari suatu ekspresi, bisa memakai explicit bracketing, operator binding serta struktur control serta loop
c. Struktur Kompilasi
- Struktur ini menyangkut segala aspek pada dikala kompilasi terdapatnya sarana penyimpanan berkas serta memfasilitasi buat memilah bacaan tertentu buat di compile.
d. Struktur Input/ Output
- Merupakan sarana buat menanggulangi masukan dari keluaran.
- Format- free: buat komunikasi simpel untuk programmer buat mengecek kebnenaran program
- Formatted: outputnya ditampilkan secara berformat
5. Jelaskan urutan proses yg wajib untuk menentukan skenario yang dijalani buat menciptakan bahasa pemograman
Jawab:
- Tentukan feature yang mungkin
- Tentukan desain serta sesuaikan dengan featurenya
- Tentukan rincian, parsing, serta error checking.
- Tuliskan user manual serta help.
- Evaluasilah, bila salah mulai lagi dari langkah 3.
- Jika telah benar, optimisasilah serta uji seluruh mungkin.
- Cobakan kepada pengguna, tunggu reaksinya.
- Perbaiki bug serta mulai tipe baru.
6. Sebutkan serta jelaskan ketentuan penciptaan dari hierarki comsky
Jawab:
Ketentuan dari hierarki comsky
simbol simbol pada ruas kanan ketentuan produksi
simbol- simbol tersebut dapat berbentuk simbol halte ataupun
non halte/ varabel
simbol halte dinyatakan dengan huruf kecil
simbol non halte/ variabel dinyatakan dengan huruf besar
contoh ketentuan produksi
T→a
Boleh dikata" T menciptakan a"
A→S I S+A
simbol" I" melaporkan" ataupun" biasa
digunakan buat memepersingkat penyusunan ketentuan penciptaan yang memiliki
ruas kiri yang sama. pada contoh diatas E→T I T+E merupaka pemendekan dari
ketentuan produksi
E→T
E→T+E
Bahasa manusia/ bahasa natural tercantum ke dalam grammar(
tata bahasa) jenis 0/ unrestricted, dimana tidak terdapat batas pada ketentuan
produksinya
context sensitive, panjang string sebelah kiri≤ panjang sebelah
kanan. contoh ketentuan penciptaan context sensitive:
Ab→Def
CD→eF
Pada bahasa kontek batasannya makin bertambah lagi dengan sebelah
kiri haruslah pas hanya 1 simbol variabel saja. misalnya B→CDeFg
Pada bahasa regular, batasan nya semakin bertambah dengan sebelah
kanan optimal mempunyai suatu simbol variabel yang terletak di ujung kanan.
maksudnya dapat mempunyai simbol halte saja dalam jumlah tidak dibatasi, namun
apabila ada simbol variabel, hingga simbol varabel tersebut cuma berjumlah 1
serta terletak diposisi sangat kanan, misal
A→e
A→efg
A→efgH
C→D