PERANCANGAN DAN IMPLEMENTASI INTERPRETER BAHASA X PADA NOKIA 9210i

Ukuran: px
Mulai penontonan dengan halaman:

Download "PERANCANGAN DAN IMPLEMENTASI INTERPRETER BAHASA X PADA NOKIA 9210i"

Transkripsi

1 PERANCANGAN DAN IMPLEMENTASI INTERPRETER BAHASA X PADA NOKIA 9210i Maukar 1, Resza Ciptadi 2 1. Universitas Gunadarma, 2. Universitas Bina Nusantara Abstrak Dalam penelitian ini dilakukan perancangan interpreter untuk bahasa X dengan teknik recursive descent parsing menggunakan pendekatan pemrograman berbasis objek, dan mengimplementasikan-nya pada perangkat mobile device, yang dalam hal ini adalah Nokia 9210i. Metode penelitian yang digunakan adalah studi pustaka yang dimaksudkan untuk mencari informasi-informasi yang berkaitan dengan penelitian yang sedang dilakukan. Serta praktek di lapangan yang bermaksud untuk mencoba hasil penelitian pada komputer maupun pada mobile device tersebut. Serta mencari informasi-informasi yang bersifat teknis. Hasil yang dicapai adalah sebuah interpreter bahasa X yang dapat dipergunakan pada mobile device, dalam hal ini adalah Nokia 9210i. Namun belum dilakukan penelitian lebih lanjut apakah interpreter bahasa yang telah dibuat dapat digunakan pada perangkat mobile device lain selain Nokia 9210i. Parser bahasa yang dibuat dengan pendekatan object oriented programming, dapat berjalan dengan baik pada interpreter bahasa X, mobile device (Nokia 9210i) tidak hanya dapat digunakan untuk menjalankan aplikasi akan tetapi bisa juga digunakan untuk mengembangkan aplikasi, serta teknik recursive descent parsing dapat digunakan untuk perancangan parser dengan pendekatan object oriented programming. Diharapkan untuk masa yang akan datang interpreter bahasa X ini dapat dikembangkan kembali sehingga interpreter bahasa X memiliki banyak fungsionalitas, dan tidak hanya didukung oleh Nokia 9210i saja, melainkan untuk seluruh mobile device yang memiliki teknologi Java di dalamnya. Kata Kunci: Interpreter, parser, mobile device PENDAHULUAN Bahasa merupakan alat yang digunakan untuk berkomunikasi. Tidak hanya untuk melakukan komunikasi atara manusia dengan manusia yang lainnya, namun dalam hal ini bahasa juga menjembatani komunikasi antara manusia dengan komputer. Bahasa yang digunakan manusia untuk berkomunikasi dengan komputer dikenal dengan bahasa JURNAL INFORMATIKA & KOMPUTER, NO. 3, JILID 8,

2 pemrograman (programming language). Bahasa pemprograman adalah alat untuk menjembatani komunikasi antara manusia dengan komputer (Metsker, 2001). Karena pada dasarnya komputer mengerti hanya sedikit bila tidak bisa dibilang tidak mengerti sama sekali. Komputer dapat menambahkan angka dan memindahkan string tapi tidak mengerti (Metsker, 2001). Sementara bahasa alami manusia cenderung ekspresif. Itulah sebabnya bahasa pemprograman menjadi penting. Bahasa pem-programan dibentuk dari bahasa alami manusia. Misalnya kata while dalam bahasa C memiliki pengertian yang sama untuk bahasa Inggris. Kompromi ideal antara bahasa alami manusia dalam hal ini bahasa Inggris dengan bahasa pemprograman disesuaikan dengan konteks dan tujuan apa yang ingin dikerjakan. Bahasa seperti SQL misalnya lebih ideal untuk bekerja dengan database dari pada bahasa fungsional seperti Prolog yang lebih cocok untuk me-ngembangkan aplikasi kecerdasan buatan. C misalnya merupakan bahasa terbaik dalam pemprograman sistem operasi dibandingkan dengan C++ yang lebih cocok untuk me-ngembangkan aplikasi yang berjalan diatas sistem operasi. Perkembangan bahasa pe-mrograman ini tidak saja ber-pengaruh pada pesatnya teknologi komputer, namun juga teknologi yang digunakan dalam alat yang lebih kecil dari komputer, dalam hal ini adalah mobile device. Pemanfaatan mobile device dewasa ini makin ber-kembang. Hal ini tentu saja bisa di-lihat dalam kehidupan sehari-hari. Berbagai kalangan sudah mulai tidak asing lagi dengan perangkat mobile device, seperti handphone, PDA (Personal Digital Assistance), PocketPC, dan perangkat mobile device lainnya. Perkembangan pada perangkat ini tentu tidak dapat bisa dilepaskan begitu saja dengan makin pesatnya perkembangan teknologi hardware maupun software yang ada. Jika di-lihat lima tahun ke belakang, handphone hanya berupa alat komunikasi yang bisa digunakan dimana-mana selama masih di dalam area jangkauan jaringannya. Sekarang handphone tidak saja bisa digunakan untuk ber-komunikasi dengan orang lain, namun bisa juga digunakan untuk mengatur jadwal keseharian kita, membuat foto dengan kamera digital yang terintegrasi, bahkan mengakses internet dimana saja. Selain itu, bagian piranti lunak (software) yang digunakan oleh mobile device ini juga mengalami peningkatan yang sangat berarti. Salah satu penyebab makin banyaknya aplikasi-aplikasi yang telah dibuat untuk dipakai pada perangkat ter-sebut adalah adanya bahasa pe-mrograman yang bernama Java. Walaupun Java bukan satu-satunya bahasa yang dapat digunakan untuk membuat suatu aplikasi pada mobile device, namun Java bisa dikatakan bahasa yang terbaik saat ini dalam menangani seluruh proses yang ada pada mobile device. Java dengan J2ME (Java 2 Micro Edition) dapat mengakomodir segala kebutuhan para pembangun aplikasi untuk mobile de- 131 JURNAL INFORMATIKA & KOMPUTER, NO. 3, JILID 8, 2003

3 vice dari pada bahasa-bahasa yang lainnya. Salah satu keunggulan Java dibandingkan dengan bahasa-bahasa lainnya, seperti C atau C++, adalah ke-mampuannya untuk dijalankan pada seluruh mesin mobile device yang ada tanpa harus mengubah atau melakukan kompilasi ulang terhadap program. Hal ini sesuai dengan moto dari Java itu sendiri yaitu write once run anywhere. Ruang lingkup dari penelitian ini meliputi: bahasa yang dibuat hanya sebatas bahasa sederhana yang hanya memiliki fungsi-fungsi dasar, sehingga hanya bisa melakukan operasi-operasi sederhana. Bahasa yang dibuat tidak diharapkan untuk mengganti atau menyaingi bahasabahasa pemrograman yang sudah ada. Bahasa ini baru diimplementasikan pada satu jenis mobile device, yaitu Nokia 9210i Communicator. Bahasa dibuat dengan menggunakan bahasa pemrograman Java. Namun belum bisa dipastikan bahwa bahasa yang dibuat bisa dipergunakan pada seluruh mobile device yang memiliki teknologi java terintegrasi. Pe-rancangan dibuat dengan meng-gunakan UML (Unified Modeling Language). Komputer digunakan hanya sebagai alat bantu pe-ngembangan. TINJAUAN PUSTAKA Bahasa Menururt Metsker (2001, p3), bahasa adalah sebuah kumpulan string. Sedangkan menurut Ambary (1986, p8), bahasa adalah lambang bunyi suara yang dihasilkan oleh alat ucap manusia sebagai alat ko-munikasi antar anggota masyarakat. Stringstring yang membentuk se-buah bahasa adalah elemen dari bahasa tersebut, menurut Metsker (2001, p3). Pengertian Kompilator (Compiler) Kompilator menbaca suatu program yang ditulis dalam bahasa sumber (source language) dan me-nerjemahkan bahasa sumber tadi ke dalam suatu bahasa lain yang di-sebut dengan bahasa sasaran (target language). Proses penerjemahan yang dilakukan oleh kompilator ini disebut proses kompilasi (compiling). Tahap-Tahap Kompilasi : 1. Tahap Analisis Pada tahap analisis, program yang ditulis dalam bahasa sumber dibagi dan dipecah ke dalam beberapa bagian yang kemudian akan di-representasikan ke dalam suatu bentuk antara dari program sumber. Tahap analisis ini terdiri dari 3 proses utama yaitu : a. Analisis leksikal / analisis linier / pembacaan sumber (scanning). b. Analisis sintaktik / analisis hirarki / penguraian (parsing). c. Analisis semantik. 2. Tahap sintesis. Pada tahap sintesis program sasaran dibentuk berdasarkan re-presentasi antara yang dihasilkan pada tahap analisis. Tahap sintesis terdiri dari 3 proses utama yaitu : a. Intermediate code generator. b. Code optimizer. c. Code generator. MAUKAR, CIPTADI, PERANCANGAN DAN IMPLEMENTASI. 132

4 Parser Menurut Metsker (2002, p7), parser adalah sebuah objek yang mengenali elemen dari sebuah bahasa dan menterjemahkan setiap elemen menjadi hasil yang dimaksud. Kemampuan utama dari sebuah parser adalah untuk menentukan apakah string yang dituliskan me-rupakan pola dari bahasa atau bukan. Kolaborasi parser Dalam konteks pemrograman berbasis objek maka pekerjaan mengenali sintaks dilakukan oleh sebuah objek bernama parser yang bekerja sama dengan objek lain yang bernama Assembler sebagai objek penterjemah. Objek ketiga berfungsi sebagai pengawas dan penyedia tempat kerja pekerjaan yang sudah dilakukan disebut objek Assembly. Metoda parsing 1. Penguraian dari atas ke bawah (Top-Down Parsing). Penguraian dari atas ke bawah dapat dipandang sebagai suatu usaha untuk mencari derivasi paling kiri (leftmost) dari suatu rangkaian masukkan. Dalam topdown parsing dikenal 2 metode, yaitu : a. Recursive-Descent Parsing. b. Predictive Parsing. 2. Penguraian dari bawah ke atas. (Bottom up Parsing). Penguraian dari bawah ke atas lebih banyak mempergunakan penguraian shift-reduce. Penguraian shift-reduce berusaha untuk membuat pohon parser bagi suatu masukkan dimulai dari bawah (leaf) dan bergerak ke atas menuju puncak (root). Pada setiap langkah reduksi suatu sub string yang sesuai dengan sisi kanan suatu produksi itu, langkah itu sering disebut derivasi (rightmost). 3. Universal Parsing. Pada metode ini menggunakan algoritma Cocke-Younger_Kasami dan algoritma Early yang dapat menguraikan semua jenis tata bahasa (grammar), tetapi metode ini tidak efisien diguna-kan dalam pembuatan kompilator sehingga metode ini jarang di-gunakan. Finite automata Finite automata adalah suatu model matematika dari sebuah sistem dengan masukkan (input) dan keluaran (output) yang pasti dan jelas. Finite automata ditunjukkan dalah 5 tupple (Q,Σ,δ,q 0,F), dimana Q adalah himpunan dari state, Σ adalah himpunan alfabet sebagai masukkan, q 0 adalah melambangkan state awal, F adalah melambangkan final state, dan δ adalah fungsi transisi antar state berdasarkan masukkan ter-tentu. Finite automata digambarkan menggunakan graph berarah. Secara umum finite automata dibedakan menjadi 2 jenis, yaitu : 1. Non deterministik Finite Automata (NFA). Adalah suatu finite automata yang bisa mempunyai 1 atau lebih transisi dari suatu state ke state lain dengan simbol masukkan yang sama. 133 JURNAL INFORMATIKA & KOMPUTER, NO. 3, JILID 8, 2003

5 2. Deterministik Finite Automata (DFA). Adalah suatu finite automata yang hanya boleh mempunyai 1 transisi dari satu state ke state lain dengan simbol masukkan yang sama. Context Free Grammar (CFG) Menurut Winston (1991, p310), context free grammar adalah sebuah metode yang digunakan untuk mendefiniskan bagian kecil dari suatu kalimat (grammar). CFG terdiri atas : Terminal, Non terminal, Start symbol, Produksi. CFG digunakan untuk melakukan parsing terhadap kalimat yang akan dimasukkan dan informasi yang dimiliki aladah dalam bentuk terminal sehingga kalimat tersebut dapat dipahami. Pengertian interpreter Menurut Sukamdi (1995, p1), interpreter adalah program pe-nerjemah yang menterjemahkan instruksi-instruksi yang diberikan oleh pemakai sedemikian rupa sehingga komputer mampu memahaminya dan mengerjakannya. Menurut David Greis (1971, p2), interpreter adalah program yang menerima sebuah program sumber yang ditulis dalam suatu bahasa sebagai input dan mengeksekusinya. Perbedaan interpreter dengan kompilator 1. Interpreter memberikan hasil pengerjaan instruksi-instruksi memasukkannya dan tidak menghasilkan objek program untuk dieksekusi, sedangkan kompiler menghasilkan kode obyek yang biasanya berupa file EXE. 2. Interpreter memberikan kebebasan untuk melakukan modifikasi atau penambahaan kepada program ketika program di-eksekusi, sedangkan kompiler mengharuskan program di-kompilasi ulang jika ada modi-fikasi terhadap program. 3. Pada interpreter bersifat machine independent karena tidak ada kode mesin yang dihasikan, sedangkan kompiler bersifat machine dependent. 4. Interpreter memerlukan sumber daya piranti keras yang lebih besar karena harus selalu me-ngecek source program pada saat dieksekusi. ANALISIS DAN PERANCANG- AN Analisis dan disain yang terdapat pada bab ini. Pada bagian analisa kami mendefinisikan jenis token yang dapat dikenali oleh proses scaning yang demikian juga bahasa yang dapat dikenali melalui proses parsing. Pada bagian desain dicoba dibuat definisi formal dari jenis token yang dapat dikenali, selain itu untuk mendefinisikan bahasa yang dapat dikenali maka di desain Conteks Free Grammar yang sesuai. Conteks Free Grammar yang dibuat disini sangat terbatas pada pengenalan bahasa ekspresi yang sangat sederhana diataranya mewakili ekpresi aritmetik, ekpresi kontrol (if), ekpresi perulangan (for), ekspresi manipulasi string. Desain dilakukan dengan standar MAUKAR, CIPTADI, PERANCANGAN DAN IMPLEMENTASI. 134

6 formal yang biasa dipakai dalam teknik kompilasi. Conteks Free Grammar sebagai desain bahasa harus diyakinkan tidak ambigu untuk itu ambiguitas bahasa harus dihilangkan dalam hal ini dalam ekspresi kontrol if dengan else. Pernyataan aritmetik juga dibuat tidak rekursife kiri karena teknik parser yang dipakai top-down. Lexikal analisis dilakukan oleh tokenizer, tokenizerstate dan subkelasnya yang berfungsi membentuk token sesusai dengan jenis token yang didefinisikan. Proses scanner melakukan scaning pada untaian string yang terdapat pada stream. Bila untaian string tertentu sesuai polanya dengan jenis token yang sudah didefinisikan maka ia akan di bentuk menjadi token yang bersangkutan. Parsing atau syntaxis analisis dilakukan menggunakan teknik yang disebut sebagai Recursive-decent parsing yang merupakan sebuah teknik yang termasuk top down karena analisa bahasanya menggunakan struktur pohon yang ditelusuri mulai dari root sampai leave.top down dipilih karena teknik ini menghabiskan lebih sedikit sumber daya dibandingkan dengan teknik bottom-up, meskipun teknik bottom up memiliki keuntungan dapat mengenali lebih banyak grammar dari yang dikenali oleh teknik top down. Pertimbangan sumberdaya menjadi penting mengingat parser ini akan ditempatkan pada mobile device yang sumber dayanya amatlah terbatas. Sebenarnya teknik top down dapat diimplementasi dengan cara lain selain menggunakan pohon strukrur yaitu dengan menggunakan tabel parsing. Kami tidak mengetahui mana dari kedua teknik ini memiliki kinerja dan keperluan sumber daya tapi pada kasus ini kami menggunakan struktur pohon dengan backtracking. Kami melakukan definisi pohon lengkap pada memori yang nantinya akan dipakai pada proses pencocokan. Penanganan kesalahan dilakukan dengan solusi paling sederhana yaitu panic mode yaitu bila ada kesalahan pencocokan maka akan langsung melakukan pesan kesalahan. Proses selanjutnya bila ada proses parsing telah dilakukan maka akan pengolahan untuk memperoleh perintah java yang sesuai. Proses interpretasi ini melakukan menggunakan mekanisasi pohon fungsi dan stack untuk menghasilkan command yang dapat dijalankan oleh java. Selain apa yang telah dibahas sebagai engine dibelakang maka untuk antar mukanya digunakan sebuah aplikasi yang diberi nama BXEditor. BXEditor fungsi utamanya adalah sebagai sumber input yang berupa bahasa yang akan di interpretasi dan yang tak kalah pentingnya sebagai media output untuk perintah yang akan mengeluarkan hasil pada media output. IMPLEMENTASI DAN EVALUASI BXEditor adalah program aplikasi pembantu sederhana yang berfungsi sebagai tempat menginterpretasikan source code dari bahasa X dan me-lihat hasilnya. BXEditor memang tidak 135 JURNAL INFORMATIKA & KOMPUTER, NO. 3, JILID 8, 2003

7 mempunyai fugsionalitas yang sempurna tetapi penulis menganggap cukup keberadaannya untuk mengimplementasikan bahasa X. Gambar 1. Tampilan awal Menu Utama BXEditor pada Emulator Nokia Gambar 2. Tampilan Result Area tempat hasil interpretasi ditampilkan. Gambar 3. Penulisan source code pada Code Editor. MAUKAR, CIPTADI, PERANCANGAN DAN IMPLEMENTASI. 136

8 Gambar 4. Tombol Run untuk mengeksekusi source code. Gambar 5. Message Area menampilkan pesan kesalahan beserta solusinya. Gambar 6. Source code setelah di koreksi. 137 JURNAL INFORMATIKA & KOMPUTER, NO. 3, JILID 8, 2003

9 Gambar 7. Result Area menampilkan hasil eksekusi source code. Gambar 8. Tombol Source Code untuk kembali ke Layar Code Editor Evaluasi BXEditor di buat untuk semata mata membantu penulis mengimplementasikan bahasa X sehingga tidak mempunyai fungsionalitas yang sempurna. Nokia 9210i, merupakan mobile device yang memiliki kemampuan lebih dari mobile device yang ada saat ini. Nokia 9210i belum mendukung beberapa teknologi baru seperti GPRS dan MMS. Personal Java TM pada Nokia 9210i merupakan kunci penting dari produk ini untuk membuat aplikasi yang dapat berjalan diatasnya. Keterbatasan kemampuan prosesor dan physical memory pada Nokia 9210i dapat menghambat MAUKAR, CIPTADI, PERANCANGAN DAN IMPLEMENTASI. 138

10 pembuatan aplikasi dengan fungsionalitas yang tinggi. Software aplikasi yang di-buat untuk dijalankan pada Nokia 9210i harus di-kompilasi dengan JDK versi , bila tidak maka aplikasi itu tidak akan berjalan. Sehingga pe-ngembang tidak dapat me-makai fungsi fungsi baru yang bermanfaat pada JDK versi terbaru. Bahasa X hanya bisa menjalankan operator logika dan aritmatika yang sederhana. Karena bahasa X baru hanya bisa menjalankan operator logika yang se-derhana maka BXEditor tidak bisa disebarluaskan untuk tujuan komersil tetapi hanya digunakan oleh pe-nulis untuk keperluan pe-nelitian. PENUTUP Object oriented programming dapat digunakan dalam pembuatan parser, serta parser tersebut berjalan dengan baik dalam interpreter bahasa X. Mobile device yang digunakan (Nokia 9210i), tidak hanya bisa untuk menjalankan aplikasi, namun juga bisa digunakan untuk mengembangkan aplikasi. Teknik recursive descent parsing dapat dipergunakan untuk pe-rancangan parser dengan pen-dekatan object oriented programming. Proses pembuatan interpreter sebuah bahasa merupakan suatu hal yang me-narik untuk dilakukan, diharapkan ke depan banyak mahasiswa yang tertarik untuk me-ngembangkan lebih lanjut interpreter bahasa X ini, sehingga interpreter bahasa X ini memiliki banyak fungsionalitas dan lebih bisa men-dukung banyak platform yang tentunya mendukung teknologi Java. Diharapkan interpreter bahasa X ini dapat mendorong mahasiswa untuk merancang dan mengembangkan hal yang sejenis di masa yang akan datang, yang tentunya dengan metode dan alat bantu yang berbeda dari interpreter bahasa X ini. Agar dapat menangani statement yang lebih kompleks, grammar perlu di-perluas dengan menambahkan produksi untuk statement-statement yang tidak terdapat pada parser ini. Sebagai bahan penelitian yang menarik juga jika ke depan ada mahasiswa yang mencoba mem-bandingkan antara teknik recursive descent parsing dengan Tabel parsing. DAFTAR PUSTAKA Aho, Alfred V., Senthi, R, Villman, Jeffrey D Compiler Principles, Techniques, and Tools. Addison Wesley Publish-ing Company, USA. Ambary, Abdullah Intisari Tata Bahasa Indonesia. Penerbit Djatmika, Bandung, Indonesia. Firrar Utdirartatmo Teknik Kompilasi. Penerbit J & J Learning, Yogyakarta, Indonesia. Gamma, et.al Design Pattern. Addison-Wesley, USA. Gries, David Compiler Construction for Digital Computers. Willey International Edition, New York. 139 JURNAL INFORMATIKA & KOMPUTER, NO. 3, JILID 8, 2003

11 Metsker, Steven John Building parser With Java. Addison- Wesley Publishing Company, New York. Pittman, J dan Peters, J The Art of Conpiler Design Theory and Practice. Prentice-Hall International. Inc., New Jersey. Sukamdi Merekayasa Interpreter (Sebuah Penerapan Teknik Kompilasi). PT. Elex Komputindo, Jakarta. Winston, Patrick Henry Arficial Inteligence 2nd Edition. Edison Wesley, California. MAUKAR, CIPTADI, PERANCANGAN DAN IMPLEMENTASI. 140

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Teknik Kompilasi Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Kompetensi Dasar, Indikator, Analisis Leksikal, Anlisis Sintati, Intermidiate

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI

SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI Perte 1. 1. Pendahuluan TIU : Mhs mengetahui apa yang akan dipelajari dan apa yang dituntut darinya serta memahami gambaran umum Teknik

Lebih terperinci

TEKNIK KOMPILASI. Firrar Utdirartatmo

TEKNIK KOMPILASI. Firrar Utdirartatmo TEKNIK KOMPILASI TEKNIK KOMPILASI Firrar Utdirartatmo Kata Pengantar Penulis memberanikan diri untuk menyusun buku ini karena melihat kenyataan bahwa teknik kompilasi merupakan mata kuliah yang diajarkan

Lebih terperinci

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo TEKNIK KOMPILASI P 1/52 MATERI Teknik Kompilasi II 2/52 Pendahuluan Tujuan Pembelajaran : 1. Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2. Mahasiswa memahami konsep pembuatan

Lebih terperinci

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008 TEKNIK KOMPILASI Dosen : Dwi Retno Wahyuningsih, S. Kom Jurusan : Semester Genap 2007/2008 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) DARMAJAYA BANDAR LAMPUNG 2008 GARIS-GARIS BESAR PROGRAM

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik

Lebih terperinci

Pendahuluan. Tujuan Pembelajaran :

Pendahuluan. Tujuan Pembelajaran : Tujuan Pembelajaran : 1. Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2. Mahasiswa memahami konsep pembuatan sebuah Compiler 3. Mahasiswa mengetahui bagaimana sebuah bahasa

Lebih terperinci

FTIK / PRODI TEKNIK INFORMATIKA

FTIK / PRODI TEKNIK INFORMATIKA Halaman : 1dari 12 LEMBAR PENGESAHAN DIBUAT OLEH MENYETUJUI Tim SOP dan JUKNIS Prodi IF Mira Kania Sabariah, S.T., M.T Ka Prodi TeknikInformatika Halaman : 2dari 12 DAFTAR ISI Lembar Pengesahan... 1 Daftar

Lebih terperinci

TEKNIK KOMPILASI (TEKKOM) ISTIQOMAH, S.KOM /SEMESTER VI

TEKNIK KOMPILASI (TEKKOM) ISTIQOMAH, S.KOM /SEMESTER VI TEKNIK KOMPILASI (TEKKOM) ISTIQOMAH, S.KOM /SEMESTER VI METODE PERKULIAHAN Materi Tugas Individu Tugas Kelompok KONTRAK BELAJAR Penilaian: UTS 20% UAS 30% Tugas besar 40% Tugas, kuis 10% Kehadiran (>=80%)

Lebih terperinci

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008 TEKNIK KOMPILASI Dosen : Dwi Retno Wahyuningsih, S. Kom Jurusan : Teknik Informatika Semester Genap 2007/2008 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) DARMAJAYA BANDAR LAMPUNG 2008 SATUAN

Lebih terperinci

LANGUAGES AND TRANSLATOR

LANGUAGES AND TRANSLATOR Algoritma dan Pemrograman 1C Konsep Bahasa Pemrograman LANGUAGES AND TRANSLATOR Disusun kembali oleh : Henny Medyawati, Universitas Gunadarma Sumber: Pittman, Thomas dan James Petters, 1992 The Art of

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL I TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami pengertian dan kedudukan Teori Bahasa dan Otomata (TBO) pada ilmu komputer Definisi dan Pengertian Teori Bahasa dan Otomata Teori bahasa dan

Lebih terperinci

Analisis Sintaksis (syntactic analyzer atau parser)

Analisis Sintaksis (syntactic analyzer atau parser) Analisis Sintaksis (syntactic analyzer atau parser) pohon (tree) suatu graph terhubung yang tidak sirkuler, memiliki satu buah simpul (atau vertex / node) yaitu akar (root) dan dari akar ini memiliki lintasan

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Teori Bahasa dan Automa Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Micro processing dan Memory, Memory Addressing; Register, Struktur Program,

Lebih terperinci

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu: SINTAKS Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Bahasa mesin terdiri dari bit-bit 0 dan 1.

Lebih terperinci

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA Mata Kuliah Kode / SKS Program Studi Fakultas : Pemrograman Sistem : IT012223 / 2 SKS : Sistem Komputer : Ilmu Komputer & Teknologi Informasi 1 Pendahuluan - Definisi Pemrograman Sistem - Apakah Sistem

Lebih terperinci

Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi

Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi Teori Komputasi Agenda Teori Komputasi dan Teknik Kompilasi Translator Pembuatan Compiler Mutu Compiler Bab 1: Pendahuluan Fakultas Teknologi dan Desain Program Studi Teknik 1-1 Informatika Teori Komputasi

Lebih terperinci

Pendahuluan. Kuliah online : Tekkom [2013/VI]

Pendahuluan. Kuliah online : Tekkom [2013/VI] Pendahuluan Kuliah online : Tekkom [2013/VI] Sekilas tentang bahasa Dalam dunia sehari-hari, Bahasa digunakan sebagai alat untuk berkomunikasi, contohnya bahasa Indonesiae Sedangkan untuk berkomunikasi

Lebih terperinci

SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014

SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014 SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014 MATA KULIAH FAKULTAS JURUSAN / JENJANG : TEKNIK KOMPILASI : Fakultas Ilmu Komputer : Teknik Informatika PROSES

Lebih terperinci

PENGANTAR TEKNIK KOMPILASI

PENGANTAR TEKNIK KOMPILASI PENGANTAR TEKNIK KOMPILASI Tujuan Konsep Teknik Kompilasi Tujuan Pembelajaran : 1.Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2.Mahasiswa memahami konsep pembuatan sebuah

Lebih terperinci

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA Bab V Context Free Grammar dan Push Down Automata 26 BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA TUJUAN PRAKTIKUM 1. Memahami CFG dan PDA 2. Memahami Context Free Grammar 3. Memahami Push Down Automata

Lebih terperinci

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu: SINTAKS Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Bahasa mesin terdiri dari bit-bit 0 dan 1.

Lebih terperinci

Komponen sebuah Kompilator

Komponen sebuah Kompilator Komponen sebuah Kompilator Program Subjek Program Objek ANALISIS SINTESIS Penganalisis Leksikal (Scanner) Penganalisis Sintaks (Parser) Penganalisis Semantik Pembentuk Kode Pengoptimal Kode TABEL 1 Scanning

Lebih terperinci

ALGORITMA PEMROGRAMAN 1C SINTAKS

ALGORITMA PEMROGRAMAN 1C SINTAKS ALGORITMA PEMROGRAMAN 1C SINTAKS Indah Wahyuni PENDAHULUAN Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagianbagian yang ada didalam komputer seperti bits, register.

Lebih terperinci

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I MATERI PERTEMUAN V & VI PENGENALAN KOMPILASI - BAHASA PEMROGRAMAN - TRANSLATOR - MODEL KOMPILATOR - ANALISIS LEKSIKAL

Lebih terperinci

PENGANTAR OTOMATA DAN KOMPILASI

PENGANTAR OTOMATA DAN KOMPILASI PERTEMUAN I PENGANTAR OTOMATA DAN KOMPILASI Mahasiswa mengetahui tujuan mata kuliah, alur perkuliahan selama 1 semester, referensi yang digunakan, bentuk & bobot evaluasi JURUSAN TEKNIK INFORMATIKA FAKULTAS

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan SATUAN ACARA PERKULIAHAN (SAP) Nama Mata Kuliah Kode Mata Kuliah Bobot Kredit Semester Penempatan Penanggung Jawab Mata Kuliah : Teknik kompilasi : Non-Reguler : 3 SKS : I : Fathiah, ST. M. Eng. Pertemua

Lebih terperinci

PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL

PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL LAPORAN TUGAS AKHIR Disusun Sebagai Syarat Kelulusan Tingkat Sarjana oleh : Ipam Fuaddina Adam / 13502079 PROGRAM STUDI TEKNIK INFORMATIKA

Lebih terperinci

Teori Bahasa & Otomata

Teori Bahasa & Otomata Teori Bahasa & Otomata Heri Sutarno - 131410892 Pendilkom/Ilkom Universitas Pendidikan Indonesia Bandung, 2008 08/06/2010 TBO/heri/ilkom 1 Buku Bacaan - Aho, Alfred V., Ravi Sethi and Jeffrey D Ulman,

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP)

SATUAN ACARA PERKULIAHAN (SAP) SATUAN ACARA PERKULIAHAN (SAP) Pertemuan / Minggu Nama Mata Kuliah : Teori Bahasa dan Automata Kode Mata Kuliah : TI 04 Bobot Kredit : 3 SKS Semester Penempatan : III Kedudukan Mata Kuliah : Mata Kuliah

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (Kelas Teori)

RENCANA PEMBELAJARAN SEMESTER (Kelas Teori) UPN "VETERAN" YOGYAKARTA FAKULTAS TEKNIK INDUSTRI RENCANA PEMBELAJARAN SEMESTER (Kelas Teori) Fakultas : Teknik Industri Jurusan : Teknik Informatika Mata Kulia & Kode : Otomata dan Pengantar Kompilasi

Lebih terperinci

Compiler & Interpreter

Compiler & Interpreter Compiler & Interpreter ICT Nama Kelompok Dyah Kamiswari Sarah Apriliana Stania Ajeng IT AeU Politeknik Negeri Jakarta KOMPILATOR Kompilator (Inggris: compiler) adalah sebuah program komputer yang berguna

Lebih terperinci

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1 1. PENDAHULUAN TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1 Arti Kata Teknik Kompilasi Teknik adalah suatu Metode atau Cara Kompilasi adalah suatu Proses mengabungkan serta

Lebih terperinci

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3 Proses Kompilasi Otomata dan Pengantar Kompulasi Pertemuan 3 Bahasa Pemrograman Bahasa pemrograman adalah bahasa yang menjadi sarana manusia untuk berkomunikasi dengan komputer. Pikiran manusia yang tidak

Lebih terperinci

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Salah satu cabang dari ilmu komputer yang mulai populer adalah Artificial Intelligence atau kecerdasan buatan. Kecerdasan buatan merupakan sub-bidang dari

Lebih terperinci

TEKNIK KOMPILASI. Alamat untuk tugas: Informasi: DADANG MULYANA. dadang mulyana 2013

TEKNIK KOMPILASI. Alamat  untuk tugas: Informasi: DADANG MULYANA. dadang mulyana 2013 TEKNIK KOMPILASI DADANG MULYANA Alamat email untuk tugas: dadangstmik@gmail.com Informasi: dadangmulyana@wordpress.com 1 Cara pengiriman tugas: Dalam subjek email tuliskan: Instansi_kelas_nama_matakuliah_jenistugas

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER RENCANA PEMBELAJARAN SEMESTER F-0653 Issue/Revisi : A0 Tanggal Berlaku : 1 Juli 2015 Untuk Tahun Akademik : 2015/2016 Masa Berlaku : 4 (empat) tahun Jml Halaman : 28 halaman Mata Kuliah : Teori Komputasi

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. dirancang dan selanjutnya dapat diketahui gambaran dan kemampuan sistem secara BAB 3 ANALISIS DAN PERANCANGAN PROGRAM 3.1 Analisis Kebutuhan Sistem Analisis kebutuhan sistem merepresentasikan daftar kebutuhan sistem yang akan dirancang dan selanjutnya dapat diketahui gambaran dan

Lebih terperinci

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) Kode / Nama Mata Kuliah : A11. 54401/ Teori dan Bahasa Otomata Revisi 2 Satuan Kredit Semester : 3 SKS Tgl revisi : Februari 2014 Jml Jam kuliah dalam

Lebih terperinci

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH Halaman : 1 dari 18 LEMBAR PENGESAHAN DIBUAT OLEH MENYETUJUI Tim SOP Prodi IF Mira Kania Sabariah, S.T., M.T Ka Prodi Teknik Informatika 1 Halaman : 2 dari 18 DAFTAR ISI Lembar Pengesahan... 1 Daftar Isi...

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK-045325 / 3 SKS Mingu Pokok Bahasan 1. 1. Pendahuluan menjelaskan konsep dasar bahasa dan teori tentang string 1.1.

Lebih terperinci

BUKU RANCANGAN PENGAJARAN. Teknik Kompilator

BUKU RANCANGAN PENGAJARAN. Teknik Kompilator BUKU RANCANGAN PENGAJARAN Teknik Kompilator dengan dukungan e-learning Disusun oleh: Heru Suhartanto heru@cs.ui.ac.id Fakultas Ilmu Komputer Universitas Indonesia Desember 2007 1 Bab 1 INFORMASI UMUM Nama

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Lahirnya teknologi informasi komputer dan fasilitas pendukungnya seperti layanan internet saat ini membuat perkembangan yang sangat luas. Segala informasi-informasi

Lebih terperinci

Fase-fase proses sebuah kompilasi

Fase-fase proses sebuah kompilasi Fase-fase proses sebuah kompilasi Penganalisa Leksikal membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan

Lebih terperinci

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI Pohon Sintaks TEKNIK KOMPILASI ANALISIS SINTAKS SHINTA P. SARI Jurusan Informatika Fasilkom Universitas Indo Global Mandiri Berupa pohon penurunan yang menggambarkan bagaimana memperoleh suatu string dengan

Lebih terperinci

BAB I PENDAHULUAN 1-1

BAB I PENDAHULUAN 1-1 BAB I PENDAHULUAN 1.1 Pendahuluan Ilmu komputer memiliki dua komponen utama: pertama, model dan gagasan mendasar mengenai komputasi, kedua, teknik rekayasa untuk perancangan sistem komputasi, meliputi

Lebih terperinci

KOMPILASI. Assembler Bahasa Rakitan Bahasa Mesin Compiler (Kompilator) Bahasa Tingkat Tinggi Bahasa tingkat rendah

KOMPILASI. Assembler Bahasa Rakitan Bahasa Mesin Compiler (Kompilator) Bahasa Tingkat Tinggi Bahasa tingkat rendah KOMPILASI Translator (penerjemah) adalah sebuah program yang menerjemahkan sebuah program sumber ( source program) menjadi program sasaran ( target program) Proses translasi suatu program dari bentuk syntax

Lebih terperinci

BAB II SINTAKS 2.1. SINTAKS

BAB II SINTAKS 2.1. SINTAKS BAB II SINTAKS 2.1. SINTAKS merupakan kumpulan aturan yang mendefinisikan suatu bentuk bahasa. mendefinisikan bagaimana suatu kalimat dibentuk sebagai barisan/urutan dari pemilihan suatu kata dasar. Kata

Lebih terperinci

Parsing. A -> a as baa B -> b bs abb

Parsing. A -> a as baa B -> b bs abb Parsing Misalnya: S -> ab ba A -> a as baa B -> b bs abb Penurunan untuk string aaabbabba Dalam hal ini perlu untuk melakukan percobaan pemilihan aturan produksi yang bisa mendapatkan solusi Metode Parsing

Lebih terperinci

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN Versi : Revisi : Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN Fakultas/ Jurusan/ Program Studi : Teknologi Industri/ Teknik Informatika/ Teknik Informatika Kode Matakuliah : 52302031 Nama Matakuliah

Lebih terperinci

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular Hirarki Comsky Unrestricted Context Sensitive Context free Regular Contoh Tata Bahasa Sederhana BEGIN END ;

Lebih terperinci

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI DI SUSUN OLEH : ADITYA TUNGGAL PRAKOSO 3201216005 PRODI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI PONTIANAK TAHUN 2015 BAB 1 TEORI PRAKTIKUM A. BAHASA

Lebih terperinci

TEORI BAHASA DAN OTOMATA PENGANTAR

TEORI BAHASA DAN OTOMATA PENGANTAR TEORI BAHASA DAN OTOMATA PENGANTAR PERKULIAHAN Jumlah pertemuan minimal 13 kali dan maksimal 15 kali sudah termasuk dengan ujian tengah semester (UTS) PENILAIAN ABSEN 10% (Minimal kehadiran 80% dari jumlah

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Biasanya suatu grafik digambar oleh sebuah program spesifik. Hal itu akan terasa menyusahkan pengguna (user) apabila untuk setiap fungsi yang berbeda harus

Lebih terperinci

Pemrograman. Fery Updi,M.Kom

Pemrograman. Fery Updi,M.Kom Pemrograman Fery Updi,M.Kom 1 Pemrograman Java Praktik Pemrograman Java SKS : 3 SKS Dosen : Fery Updi,M.Kom Email : updi.fery@gmail.com WA : 0822-9961-8593 Jadwal Kuliah : Sesi 1 : Selasa, 18.00 20.00

Lebih terperinci

TEKNIK KOMPILASI Bahasa Regular

TEKNIK KOMPILASI Bahasa Regular TEKNIK KOMPILASI Bahasa Regular Sekolah Manajemen Informatika dan Komputer (STMIK) Palangkaraya 2012 Tata bahasa reguler Sebuah bahasa dinyatakan regular jika terdapat Finite State Automata (FSA) yang

Lebih terperinci

Pegembangan Kompiler Menggunakan Metoda Shift Instruction dan Smallest Schedule Instruction

Pegembangan Kompiler Menggunakan Metoda Shift Instruction dan Smallest Schedule Instruction Pegembangan Kompiler Menggunakan Metoda Shift Instruction dan Smallest Schedule Instruction oleh Eko Travada SP., ST., MT Fakultas Ilmu Komputer Universitas Nasional Pasim Abstrak Kompiler adalah suatu

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) danpemroses naskah (text processor).

Lebih terperinci

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom Teknik Kompiler 6 oleh: antonius rachmat c, s.kom Analisis Sintaks (Parser) Analisis Sintaks bergantung pada bahasa pemrograman masing-masing. Karena masing-masing bahasa pemrograman memiliki bentuk sintaks

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Pengertian Perancangan Menurut Fathul Wahid (2005 : 217), perancangan adalah pendekatan yang digunakan dalam bidang rekayasa dan bidang lainnya yang digunakan untuk menspesifikasikan

Lebih terperinci

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209 Review C/C++ & Intro to Java Pemrograman Berorientasi Obyek IT209 Pemrograman Terstruktur Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu

Lebih terperinci

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu: PENDAHULUAN Pengertian Komputer mengikuti sejumlah prosedur sistematis, atau algoritme, yang dapat diaplikasikan untuk serangkaian input (string) yang menyatakan integer dan menghasilkan jawaban setelah

Lebih terperinci

BAB IV ANALISA SINTAKS

BAB IV ANALISA SINTAKS BAB 4 ANALISA SINTAKS 41 BAB IV ANALISA SINTAKS TUJUAN PRAKTIKUM 1) Memahami dan mengerti tugas analisa sintaks. 2) Memahami dan mengerti predictive parsing. 3) Memahami dan mengerti parsing Table M. TEORI

Lebih terperinci

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam hierarki kelas-kelas bahasa menurut Chomsky, kelas bahasa yang paling sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan tepat

Lebih terperinci

TEKNIK KOMPILASI. Oleh. Hartono

TEKNIK KOMPILASI. Oleh. Hartono TEKNIK KOMPILASI Oleh Hartono Pengenalan Teknik Kompilasi Merupakan Teknik dalam melakukan pembacaan suatu program yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang

Lebih terperinci

BAB I PENGANTAR Pendahuluan Penyajian 1.1 Latar Belakang 1.2 Algoritma dan Struktur Data

BAB I PENGANTAR Pendahuluan Penyajian 1.1 Latar Belakang 1.2 Algoritma dan Struktur Data BAB I PENGANTAR Pendahuluan Program komputer dibuat berdasarkan langkah-langkah logis untuk menyelesaikan masalah. Lagkah-langkah tersebut ditulis dalam suatu instruksi yang bisa dipahami oleh komputer,

Lebih terperinci

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal Diagram Syntax Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis Menggunakan simbol persegi panjang untuk non terminal Lingkaran untuk simbol terminal Misalnya E T T+E T-E E T + - BNF:

Lebih terperinci

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO BAHASA FORMAL AUTOMATA FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MATERI PENGANTAR AUTOMATA REGULAR EXSPRESSION (RE) FINITE AUTOMATA (FA) TRANSITION GRAPH (TG) THEOREMA KLEENE CONTEXT FREE GRAMMAR

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level bahasa pemrograman: 1. Bahasa tingkat rendah 2. Bahasa

Lebih terperinci

APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK)

APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK) APLIKASI PROGRAM DINAMIS DALAM ALGORITMA COCKE- YOUNGER -KASAMI (CYK) Inas Luthfi 1) NIM 13506019 1) Jurusan Teknik Informatika ITB, Jalan Ganesha 10 Bandung Indonesia 40132 email: if16019@students.if.itb.ac.id

Lebih terperinci

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi. Konsep dan Notasi Bahasa Teori Bahasa Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi. Contoh : Si Kucing kecil menendang

Lebih terperinci

Implementasi OOP Pada Perangkat Lunak Pemrograman

Implementasi OOP Pada Perangkat Lunak Pemrograman Silabus Pertemuan ke- Pokok Bahasan Keterangan 1 Pengenalan Dasar Pemrograman 2 Konsep Dasar Pemrograman 3 Tahapan Pembuatan Program 4 Elemen-Elemen Bahasa Pemrograman 5 Analisa Struktur Program 6 Analisa

Lebih terperinci

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran SILABUS MATAKULIAH Revisi : 2 Tanggal Berlaku : Maret 2014 A. Identitas 1. Nama Matakuliah : A11. 54401/ Teori dan Bahasa Otomata 2. Program Studi : Teknik Informatika-S1 3. Fakultas : Ilmu Komputer 4.

Lebih terperinci

MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR. Dosen Pengampu: Utami Dewi Widianti,S.Kom

MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR. Dosen Pengampu: Utami Dewi Widianti,S.Kom MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Utami Dewi Widianti,S.Kom (1) Program Sumber Deretan simbol berupa huruf, digit, atau simbol tertentu seperti +, -, dan, Program sumber memuat

Lebih terperinci

Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu

Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu Parsing atau Proses Penurunan Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu Penurunan terkanan (rightmost derivation):

Lebih terperinci

BAB II DASAR TEORI. 2.1 Kompilator

BAB II DASAR TEORI. 2.1 Kompilator BAB II DASAR TEORI Bab ini berisi penjelasan tentang beberapa teori dasar yang digunakan selama pelaksanaan Tugas Akhir. Pembahasan dilakukan terhadap kompilator, lexical analyzer, parser, code generator

Lebih terperinci

IF-UTAMA 1. Definisi. Grammar. Definisi

IF-UTAMA 1. Definisi. Grammar. Definisi Definisi Grammar Bahasa adalah himpunan kata-kata atau kalimat yang telah disepakati, contoh : {makan, tidur, bermain, belajar} Bahasa Indonesia {shit, sheet, damn, kiss, smell} Bahasa Inggris {konichiwa,

Lebih terperinci

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program. BAHASA PEMROGRAMAN PROGRAM Kata, ekspresi, pernyataan atau kombinasinya yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Algoritma Pemrograman Bekti Wulandari, M.Pd Kelas B TE 2014 Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level

Lebih terperinci

Grammar dan Tingkat Bahasa

Grammar dan Tingkat Bahasa CSG3D3 Teori Komputasi Grammar dan Tingkat Bahasa Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing, and

Lebih terperinci

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs Teknik Kompiler 5 oleh: antonius rachmat c, s.kom, m.cs TATA BAHASA Tata bahasa / Grammar dalam OTOMATA adalah kumpulan dari himpunan variabel (non-terminal), simbol-simbol awal dan terminal yang dibatasi

Lebih terperinci

1. Pendahuluan. 2. Tinjauan Pustaka

1. Pendahuluan. 2. Tinjauan Pustaka 1. Pendahuluan Ilmu komputer memiliki dua komponen utama yaitu model dan gagasan mendasar mengenai komputasi, serta teknik rekayasa untuk perancangan sistem komputasi. Teori bahasa dan automata merupakan

Lebih terperinci

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF Lutfi Hakim (1), Eko Mulyanto Yuniarno (2) Mahasiswa Jurusan Teknik Elektro (1), Dosen Pembimbing (2) Institut Teknologi Sepuluh Nopember (ITS)

Lebih terperinci

Pemrograman dan Bahasa Pemrograman

Pemrograman dan Bahasa Pemrograman Pemrograman dan Bahasa Pemrograman Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Apakah Pemrograman? Problem Space Abstraction Modelling Programming Language Implementation Solution

Lebih terperinci

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom Teknik Kompiler 12 oleh: antonius rachmat c, s.kom Code Generator Source code Front End Intermedate Code Code Optimizer Intermedate Code Code Generator Target Program Symbol Table Code Generation Persyaratan

Lebih terperinci

BAB I PENGENALAN TEKNIK KOMPILASI

BAB I PENGENALAN TEKNIK KOMPILASI BAB 1 PENGENALAN TEKNIK KOMPILASI 1 BAB I PENGENALAN TEKNIK KOMPILASI TUJUAN PRAKTIKUM 1) Memahami penggolongan Bahasa Pemrograman berdasarkan tingkat ketergantungannya dengan mesin. 2) Mengetahui dan

Lebih terperinci

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika Matematika Skripsi Sarjana Program Ganda Semester Genap 2003/2004

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika Matematika Skripsi Sarjana Program Ganda Semester Genap 2003/2004 UNIVERSITAS BINA NUSANTARA Program Ganda Teknik Informatika Matematika Skripsi Sarjana Program Ganda Semester Genap 2003/2004 PERANCANGAN BAHASA PEMROGRAMAN BERORIENTASI OBJEK DOGI Ari Prasetyo NIM: 0992980032

Lebih terperinci

Tujuan perancangan bhs program

Tujuan perancangan bhs program Tujuan perancangan bhs program Komunikasi dengan manusia Pencegahan dan deteksi kesalahan Usability Efektifitas pemrograman Compilability (mengurangi kompleksitas,mis:penggunaan bracket) Efisiensi dengan

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA IV.1. Tampilan Hasil Dengan teknologi write once run everywhere, aplikasi-aplikasi semacam mobile devices dapat dikembangkan dalam Java. Java 2 Micro Edition (J2ME) digunakan

Lebih terperinci

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa.

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa. SEMANTIK Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa. Semantic mendefinisikan arti dari program yang benar secara sintak dari bahasa tersebut. Semantic suatu bahasa membutuhkan

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan SATUAN ACARA PERKULIAHAN (SAP) Nama Mata Kuliah Kode Mata Kuliah Bobot Kredit Semester Penempatan Penanggung Jawab Mata Kuliah : Teori Bahasa Automata : TI 2A & TI 2B : 3 SKS : III : Fathiah, ST. M. Eng.

Lebih terperinci

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner Jansen 13510611 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

Bab III Semantik. Konsep Semantik Bahasa Pemrograman (Semantik Analisis)

Bab III Semantik. Konsep Semantik Bahasa Pemrograman (Semantik Analisis) Bab III Semantik Konsep Semantik Bahasa Pemrograman (Semantik Analisis) Dari pembahasan bab-bab terdahulu maka kita ketahui bahwa proses ini merupakan proses kelanjutan dari proses kompilasi sebelumnya,

Lebih terperinci

Media Pembelajaran Bahasa Pemrograman C++...(Luh Joni Erawati Dewi)

Media Pembelajaran Bahasa Pemrograman C++...(Luh Joni Erawati Dewi) ISSN0216-3241 63 Media Pembelajaran Bahasa Pemrograman C++ Oleh Luh Joni Erawati Dewi Jurusan Manajemen Informatika, FTK, Undiksha Abstrak Tulisan ini adalah hasil pengembangan Media Pembelajaran Bahasa

Lebih terperinci

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurnal Matematika Vol.6 No., November 26 [ 63-7 ] EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurusan Matematika, UNISBA, Jalan Tamansari No, Bandung,46, Indonesia dsuhaedi@eudoramail.com

Lebih terperinci

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1) Tata Bahasa Kelas Tata Bahasa Risnawaty 2350376 Jurusan Teknik Informatika Institut Teknologi Bandung Page 1 Konsep Bahasa (1) String(kata) adalah suatu deretan berhingga dari simbol-simbol. Panjang string

Lebih terperinci

tanpa harus repot dan dapat menyelesaikannya dengan cepat dan mudah. Perangkat komunikasi saat ini telah mengalami perkembangan yang cukup pesat, teru

tanpa harus repot dan dapat menyelesaikannya dengan cepat dan mudah. Perangkat komunikasi saat ini telah mengalami perkembangan yang cukup pesat, teru Aplikasi Pembukuan Voucer Isi Ulang Pulsa Dengan J2ME Dessy Agustini (17108157) Jurusan Sistem Informasi, Universitas Gunadarma Jl. Margonda Raya No.100 Pondok Cina, Depok 16424, Indonesia Email: daichi_daisy@yahoo.co.id

Lebih terperinci

TEKNIK KOMPILASI Konsep & Notasi Bahasa

TEKNIK KOMPILASI Konsep & Notasi Bahasa TEKNIK KOMPILASI Konsep & Notasi Bahasa Sekolah Manajemen Informatika dan Komputer (STMIK) Palangkaraya 2012 Konsep dan Notasi bahasa Teknik Kompilasi merupakan kelanjutan dari konsepkonsep yang telah

Lebih terperinci

Pengantar Pemrograman dengan Bahasa Java

Pengantar Pemrograman dengan Bahasa Java Pengantar Pemrograman dengan Bahasa Java IF2123 Aljabar Geometri Oleh: Rinaldi Munir Sekolah Teknik Elektro dan Informatika ITB 1 Sejarah Bahasa Java Bahasa java dibuat oleh James Gosling saat masih bergabung

Lebih terperinci

Pengantar Pemrograman dengan Bahasa Java

Pengantar Pemrograman dengan Bahasa Java Pengantar Pemrograman dengan Bahasa Java IF2123 Aljabar Geometri Oleh: Rinaldi Munir Sekolah Teknik Elektro dan Informatika ITB 1 Sejarah Bahasa Java Bahasa java dibuat oleh James Gosling saat masih bergabung

Lebih terperinci