Anda di halaman 1dari 10

Tugas teori bahasa automata 2

Nama : Muhammad Ramli Nim Kelas : 10109414 : IF-10

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2009

1. Mengapa kita memerlukan bahasa pemrograman? Jawaban : Sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan komputer Menjembatani antara pemikiran manusia yang sering tidak terstruktur dengan kepastian yang diperlukan oleh Komputer untuk melakukan eksekusi. Suatu solusi untuk suatu masalah akan menjadi lebih mudah bila bahasa pemrograman yang dipergunakan lebih dekat dengan permasalahan tersebut. Bahasa pemrograman berdasarkan tingkat ketergantungannya dengan mesin biasa meliputi : Bahasa Mesin Bahasa Assembly Bahasa Tingkat Tinggi Bahasa yang problem oriented

2. Berikan penjelasan dari istilah-istilah berikut: A. B. C. D. E. Kompilator Translator Interpreter Assembler Emulator.

Jawaban : A. Kompilator adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain. Kompilator termasuk jenis dari translator Penjelasan : a) Source code adalah bahasa tingkat tinggi (misal bahasa Pascal) b) Object Code adalah bahasa mesin atau bahasa assembly c) Source code dan data diproses pada saat yang berbeda Contohnya : Turbo Pascal, proses kompilasi :

Source Code

Compiler Time

Object Code

Run Time

Hasil

Data

d) Compile time : saat pengubahan source ke object code e) Run time : Saat eksekusi object

B. Translator adalah pengubah source code/source program (program sumber) ke dalam target code/object code/object program (program object). Ada beberapa macam translator : Assembler Source Code adalah bahasa assembler, object code adalah bahasa mesin Contohnya : Turbo Assembler dan macro assembler

Source Code berupa file .ASM

Assembler

Object Code file .EXE/ COM

ATAU

PAS

a. asm asm

MPc asm Tasm MPc .exe MPc

PAS

a. exe MPc

MPc

MPc

Kompilator(Compiler) Source code adalah bahasa tingkat tinggi (misal bahasa Pascal) Object Code adalah bahasa mesin atau bahasa assembly Source code dan data diproses pada saat yang berbeda. Contohnya : Turbo Pascal, proses kompilasi :

Source Code

Compiler Time

Object Code

Run Time

Hasil

Data

Compile time : saat pengubahan source ke object code Run time : Saat eksekusi object Interpreter Interpreter tidak membangkitkan object code, hsil translasi hany dalam bentuk internal. Contoh interpreter : BASIC, LISP, SMALL TALK, MATLAB Source Code data diproses dalam waktu yang sama Proses interpretasi dapat dilihat pada gambar :

Source Code

Interpreter

Hasil

Data

C. Interpreter merupakan perangkat lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman, interpreter merupakan jenis dari translator Tahapan : Interpreter tidak membangkitkan object code, hsil translasi hany dalam bentuk internal. Contoh interpreter : BASIC, LISP, SMALL TALK, MATLAB. Source Code data diproses dalam waktu yang sama. Proses interpretasi dapat dilihat pada gambar :

Source Code

Interpreter

Hasil

Data

D. Assembler adalah sebuah program komputer untuk menerjemahkan Bahasa Assembly -intinya, sebuah representasi menmonic dari bahasa mesin menjadi kode objek. Sebuah assembler silang (lihat kompilator silang) memproduksi kode untuk satu jenis prosesor, tetapi dapat dijalankan di prosesor lain. Selain menterjemahkan instruksi assembly mnemonic menjadi opcode, assembler juga menyediakan kemampuan untuk menggunakan nama simbolik untuk lokasi memori (menghindari penghitungan rumit dan pembaruan alamat secara manual ketika sebuah program diubah sedikit), dan fasilitas makro untuk melakukan penggantian textual biasanya digunakan untuk menggantikan suatu urutan instruksi yang pendek untuk dijalankan perbaris dan bukan dalam sebuah subrutin. Assembler jauh lebih mudah ditulis daripada kompilator untuk bahasa tingkat-tinggi, dan telah tersedia sejak 1950-an. Assembler modern, terutama untuk arsitektur berdasarkan RISC, seperti arsitektur MIPS, Sun SPARC, dan HP PA-RISC, mengoptimalkan penjadwalan instruksi untuk menggunakan pipeline CPU secara efisien.

Penjelasan : Source Code adalah bahasa assembler, object code adalah bahasa mesin Contohnya : Turbo Assembler dan macro assembler

Source Code berupa file .ASM

Assembler

Object Code file .EXE/ COM

ATAU

PAS

a. MPc asm asm asm Tasm MPc .exe MPc

PAS

a. exe MPc

MPc

MPc

E. emulator adalah suatu program atau piranti lunak yang dibuat pada awalnya oleh suatu sistem komputer (arsitektur dan sistem operasi) dan untuk dijalankan dalam sistem itu (atau dijalankan dalam suatu sistem yang didedikasikan), dapat dijalankan dalam sistem komputer yang sama sekali berbeda. Sebagai contoh suatu program Windows dapat dijalankan di sistem operasi Linux dengan menggunakan piranti lunak emulator Wine. Ada pula program yang mengemulasikan suatu komputer dalam komputer, misalnya VMware. Contoh lain adalah program-program emulator untuk menjalankan permainan komputer yang awalnya hanya bisa dijalankan pada konsolnya masingmasing, misalnya Nintendo, Atari, PlayStation, XBox dan lain-lain

3. Berikan beberapa contoh produk yang ada di pasaran untuk setiap istilah pada no 2! 1. 2. 3. 4. 5. Kompilator contoh produk : Turbo Pascal, Visual Basic, borlan delphi Translator contoh produk : Fortran, Cobol Interpreter contoh produk : innerfuse, basic, lisp, small talk, matlab. Assembler contoh produk : Turbo Assembler dan macro assembler Emulator contoh produk : Wine,Vmware, Virtualbox.

4. Lakukan perbandingan komponen mutu dari beberapa kompilator yaitu Turbo pascal, Quick basic, Turbo basic, Turbo C, Microsoft C! Jawaban : a) Turbo pascal : Bahasa Pascal tidak bersifat case sensitive. Secara historis, komentar dalam bahasa pascal diidentifikasikan sebagai { seperti ini }, atau (* seperti ini *), dan bisa terdiri atas beberapa baris. Versi lanjutan Borland Pascal juga mendukung model komentar seperti yang terdapat pada C++. // seperti ini , yang berlaku pada satu baris. Sintaksis case yang lebih fleksibel daripada Pascal standar. Himpunan hanya bisa memiliki hingga 28 (256) anggota. Standar, string dengan panjang yang tetap didukung, namun terdapat pula tipe data String yang lebih fleksibel.

b) Quick Basic : Kata, Data, Perintah dan Fungsi Bantu merupakan komponen utama suatu program yang saling berinteraksi. Pembuatan program dalam Quick BASIC tidak terlepas dari keempat komponen di atas dalam baris-baris perintah yang berkapasitas maksimum 256 character yang mencakup identitas baris, perintah, dan kata-kata(Remark). Identitas baris bisa berupa nomor baris (0-65529) [menjaga kompatibilitas dengan GWBASIC maupun BASICA], dan bisa berupa label dengan ketentuan :

-Maksimum 40 character, dimulai dengan huruf A..Z, diakhiri dengan tanda : -huruf besar/kecil sama, tidak sama dengan reserved word, dan tidak pakai spasi

Setiap proses yang berhubungan dengan pengolahan data biasanya memerlukan tempat penampung sementara dalam memory yang disebut variabel dan dalam pengolahannya diperlukan operator dan fungsi bantu.

Nama variabel juga memiliki ketentuan antara lain : - Maksimum 40 character, diawali dengan huruf A..Z, diakhiri dengan $, %, &, !, # untuk menunjukan type - Tidak boleh sama dengan reserved word, tidak boleh pakai spasi dan spesial character.

c) Turbo Basic : Kompiler yang benar-benar menghasilkan kode biner yang langsung dapat dijalankan pada sistem operasi MS-DOS. Sementara produk lainnya merupakan sebuah interpreter, atau P-Code (pseudo code) yang sangat bergantung pada sebuah pustaka runtime. Lingkungan pengembangan terintegrasi yang ada dapat menjalankan program BASIC untuk kebutuhan debugging, atau menghasilkan file EXE untuk MSDOS yang benar-benar mandiri dan dapat dijalankan pada sistem lain meski tanpa melibatkan produk Turbo Basic atau keberadaan pustaka runtime.

d) Turbo C : Kelebihan : Bahasa C tersedia hampir di semua jenis computer Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci Proses executable program bahasa C lebih cepat Dukungan pustaka yang banyak C adalah bahasa yang terstruktur Bahasa C termasuk bahasa tingkat menengah Kekurangan : Banyaknya operator serta fleksibilitas penulisan program kadangkadang membingungkan pemakai Bagi pemula pada umumnya akan kesulitan menggunakan pointer

Bekerja pada lingkungan MS-DOS

e) Microsoft C : Sama seperti pada Turbo C namun Program ini telah dimasukkan ke dalam produk Microsoft Visual Studio namun perbedaanya di Turbo C yang bekerja dalam lingkungan MS-DOS sedangkan Microsoft C bekerja dalam lingkungan grafis.

5. Apa keuntungan dari penggunaan metode Boostrap? Metode ini menganggap bahwa C dibangun dengan Assembly, B dibangun dengan C, dan A dibangun dengan B. Jadi kompiler dapat dibangan secara keseluruhannya dengan bahasa-bahasa sebelumnya. Metode Bootstrap berarti menulis suatu bahasa dengan kompiler versi sebelumnya. Cross Compiler adalah menulis suatu bahasa pada suatu mesin untuk menghasilkan program untuk mesin lain.

Daftar Pustaka http://id.wikipedia.org/wiki/Kompilator http://id.wikipedia.org/wiki/Bahasa_Perakit http://verynewbie.blogspot.com/2009/05/perbedaan-compiler-dan-interpreter.html http://id.wikipedia.org/wiki/Turbo_Basic http://id.wikipedia.org/wiki/Microsoft_Visual_C_Sharp