BAB I PENDAHULUAN. 1.1 Latar Belakang

dokumen-dokumen yang mirip
PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Pendahuluan. Tujuan Pembelajaran :

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

LANGUAGES AND TRANSLATOR

BAB I BAB 1. PENDAHULUAN

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Aplikasi Translator Kode Dari Bahasa C ke Pascal

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

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

Compiler & Interpreter

PENGANTAR TEKNIK KOMPILASI

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

Pendahuluan. Kuliah online : Tekkom [2013/VI]

BAB I PENDAHULUAN Latar Belakang

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

BAB I PENDAHULUAN. I.1 Latar Belakang I-1

ORGANISASI KOMPUTER. Pertemuan II KONSEP DASAR KOMPUTER - SOFTWARE -

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

TEKNIK KOMPILASI. Oleh. Hartono

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

BAB II DASAR TEORI. 2.1 Kompilator

BAB I PENDAHULUAN UKDW

BAB I PENDAHULUAN I-1

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah

BAB 1 PENDAHULUAN. Dalam pengembangan perangkat lunak, tim developer membangun cetak

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

BAB 1 PENDAHULUAN. Perkembangan teknologi pada masa sekarang ini begitu pesat sehingga

OPERASI DASAR KOMPUTER dan PERANGKAT LUNAK DALAM SISTEM INFORMASI

BAB I PENDAHULUAN. gabah, dan yang sudah dibuang kulit luarnya disebut beras. Dalam praktek di

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

TEKNIK KOMPILASI. Firrar Utdirartatmo

Algoritma Pemrograman I

BAB I PENDAHULUAN. bantuan teknologi, seperti: komputer, program-program aplikasi, perangkat

BAB I PENDAHULUAN. dengan penggunaan perangkat keras komputer ( hardware), program aplikasi

BAB 3 METODOLOGI PENELITIAN

Pengantar Sistem Komputer & Algoritma

BAB I PENDAHULUAN. Ilmu kalkulus memiliki aturan aturan penyelesaian fungsi integral untuk

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

BAB I PENDAHULUAN. Dinas Pendidikan, Pemuda dan Olahraga Kota Tanjungpinang merupakan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. 1.2 Rumusan Masalah

BAB I PENDAHULUAN. globalisasi. Pelajaran bahasa inggris merupakan pelajaran yang baru dipelajari

BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB I PENDAHULUAN. Pemerintahan Kota Bandung yang bertugas melengkapi semua kebutuhan yang

Dasar Pemrograman. Nisa ul Hafidhoh

2. Sistem ini akan mengikuti alur bisnis Keloen Batik dalam pemeliharaan maupun pengembangannya.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. dan efisien sangat dibutuhkan oleh setiap orang. Perkembangan teknologi yang semakin

BAB I PENDAHULUAN. mereka. Salah satu kegunaan internet dalam dunia bisnis yaitu sebagai advertising

BAB I PENDAHULUAN. peran penting diantaranya adalah mengkoordinasikan, memfasilitasi, dan memberikan

BAB 1 PENDAHULUAN. kemajuan sangat pesat terutama dibidang teknologi komputer. Disadari maupun. komputerisasi akan mempermudah aktivitas sehari-hari.

c. Pembangunan sistem Berdasarkan analisa sistem yang telah dilakukan, dibuat rancangan/desain sistem yang selanjutnya diterjemahkan kedalam bentuk

BAB II LANDASAN TEORI. Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam

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

BAB I PENDAHULUAN. praktek, metodelogi penelitian, metode pengumpulan data, lokasi dan

Algoritma Pemrograman 2C

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Aplikasi berbasis web adalah suatu aplikasi yang diakses menggunakan penjelajah

BAB I S LATAR BELAKANG 1.1. Latar Belakang Masalah Badan Pelaksana Penyuluhan Pertanian Perikanan dan Kehutanan (BP4K) yang berlokasi di jalan

BAB I PENDAHULUAN. Dewasa ini persaingan di dunia bisnis semakin ketat dan untuk memperkuat bisnisnya

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah

BAB I PENDAHULUAN. besar, salah satunya yaitu informasi kepegawaian di Stone Cafe. Seperti kita

Algoritma dan Struktur Data

BAB I PENDAHULUAN 1.1. Latar belakang

Web Site :

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN. kunci pintu rumah yang ada sekarang ini sebagian besar masih menggunakan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN I-1

BAB I PENDAHULUAN. dengan batas-batas tertentu. Keuskupan umumnya dibagi-bagi menjadi bagian yang kecil,

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. manusia mengalami evolusi. Berbagai aktivitas mengalami perubahan dari cara

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN. salah jika era sekarang disebut sebagai era informasi. Akibat kemajuan teknologi

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah. Teknologi Informasi adalah suatu teknologi yang digunakan untuk

1. PENDAHULUAN 1.1 LATAR BELAKANG

BAB I PENDAHULUAN. berkembang dengan pesat. Oleh karena itu, dengan dukungan aplikasi yang

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

Asal Mula Software Komputer

BAB I PENDAHULUAN. secara lebih aktual dan optimal. Penggunaan teknologi informasi bertujuan untuk

1 BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. Pajak Bumi dan Bangunan (PBB) adalah pajak Negara yang dikenakan terhadap Bumi

BAB I PENDAHULUAN. informasi yang disampaikan dapat lebih cepat dan efektif. Pada tempat observasi penelitian, penyampaian informasi melalui layanan

B A B I P E N D A H U L U A N

BAB 1 PENDAHULUAN. ditentukan dengan nilai angka kredit yang dimiliki oleh seorang peneliti. Angka

BAB I PENDAHULUAN I-1

BAB I PENDAHULUAN. segala peralatan elektronik. Akan tetapi, energi-energi tersebut berbeda dengan

ALGORITMA DAN PEMROGRAMAN #2

BAB I PENDAHULUAN. Toko King Meubel adalah bentuk usaha yang bergerak di bidang Penjualan

BAB I PENDAHULUAN. Pada era globalisasi sekarang ini teknologi informasi berperan penting

BAB I PENDAHULUAN. Keylogger merupakan tool atau berupa software yang biasa digunakan oleh

UKDW BAB 1 PENDAHULUAN

BAB I PENDAHULUAN. dibutuhkan bagi penyediaan informasi yang tepat dan akurat. Data yang diolah

BAB I PENDAHULUAN. Sebesta (2002) memaparkan kriteria evaluasi terhadap sebuah bahasa

BAB I PENDAHULUAN. pengembangan pendidikan di bumi nusantara ini adalah sekolah baik sekolah

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

PERANGKAT LUNAK (SOFTWARE) PTI

BAB III LANDASAN TEORI. Dalam mendefinisikan istilah bimbingan, para ahli bidang bimbingan dan

Transkripsi:

BAB I PENDAHULUAN 1.1 Latar Belakang Proses konversi kode sumber suatu aplikasi/program ke bahasa lain sering kali dilakukan oleh pelaku industri perangkat lunak, karena satu dan lain hal (misal : integrasi dengan sistem lain, perubahan perangkat keras, minimasi biaya, perubahan regulasi perusahaan atau perkembangan proses bisnis). Proses konversi kode juga dapat menjadi alat bantu belajar yang efisien bagi mahasiswa yang sedang belajar bahasa pemrograman baru, dengan membandingkan bahasa tersebut dengan bahasa pemrograman lain yang telah dikuasai sebelumnya (dengan catatan kedua bahasa tersebut memiliki banyak kesamaan). Bahasa C dan Pascal telah dikenal lama didunia pemrograman komputer dan industri perangkat lunak. Keduanya lahir di era 70-an, saat-saat penting mulai munculnya generasi UNIX, sistem operasi yang sangat berpengaruh terhadap teknologi komputer. Pascal sering menjadi alat bantu dalam perkuliahan ilmu komputer, karena sintaks-nya yang jelas dan mudah dimengerti, sehingga Pascal telah menjadi alat bantu pemrograman yang identik dengan dunia pendidikan dan akademi. Lain hal dengan C, bahasa ini telah menjadi alat bantu yang paling banyak dipakai dalam industri perangkat lunak [HIP92]. Bahasa C dirancang dekat dengan mesin, sehingga memiliki beberapa kelebihan seperti cepat, efisien dan tangguh. Namun demikian, C tidak serumit dan sesulit bahasa rakitan (Assembly), karena C sangat ekspresif dan permisif [STR87]. Karena alasan itulah, bahasa C seringkali dipakai untuk membangun software-software sistem, seperti sistem operasi, basis data, server, kompilator, dll. Namun seringkali bahasa C dianggap sulit dimengerti, dan otomatis sulit dipelajari, berbeda dengan Pascal, yang sebagian besar orang menganggapnya mudah dipelajari. Celah ini nampaknya sangat bagus untuk dieksplorasi, adanya gap antara kebutuhan mahasiswa untuk belajar bahasa C dan hambatan yang telah diungkapkan diatas, bahwa bahasa C terkenal sulit dimengerti dan dipelajari. Terkadang untuk mempelajari sesuatu, seseorang membutuhkan suatu 11

12 meta-knowledge yaitu pengetahuan perantara yang telah diketahui terlebih dulu, sehingga memudahkan proses pembelajaran berikutnya. Sama halnya ketika seseorang belajar bahasa C, bahasa Pascal dapat menjadi metaknowledge yang membantunya belajar bahasa C jauh lebih cepat, dari pada dengan belajar konvensional, misal dengan membaca manual dan mencoba satu persatu contoh sintaks. Proses belajar dengan bantuan meta-knowledge seringkali menjanjikan hasil yang baik. Gambar I-1 Alur Kerja Kompilator Empat Fase [HOL92]

13 Karena itu, dibutuhkan suatu alat yang dapat mengkonversi kode dalam bahasa C ke bahasa Pascal secara otomatis. Proses konversi kode secara otomatis bisa menghemat banyak waktu dan tenaga, sehingga mahasiswa dapat terfokus pada pekerjaan membandingkan kode dalam bahasa Pascal ke C. Aplikasi konversi kode bekerja sangat mirip dengan kompilator yang biasa dipakai untuk mengembangkan aplikasi, bedanya kompilator menerjemahkan / mengkonversi kode ke bahasa tingkat rendah, semisal bahasa rakitan atau bahasa mesin, sedangkan aplikasi konversi kode ( sering disebut juga translator ) menerjemahkan kode input ke bahasa lain dengan tingkat yang sama, misal C ke Pascal, Pascal ke C, Fortran ke C, C ke Java, dll. Karena mirip dengan kompilator, komponen program konversi juga mirip dengan kompilator. Bagan kompilator empat fase [HOL92] ditampilkan pada Gambar I-1. Masingmasing komponen akan dijelaskan lebih lanjut pada Bab II. Karena pengembangan dengan kakas jauh lebih cepat dan menghemat waktu, komponen lexical analyzer dan parser tidak akan dibuat secara hand-coded, namun menggunakan kakas yang sudah dikenal dipakai dilingkungan penulis kompilator. Lexical analyzer dibuat dengan kakas Lex atau Flex, sedangkan parser dibuat dengan parser generator Yacc atau Bison. Karena itu, fokus tugas akhir ini sebagian besar adalah pada pembuatan code generation dan symbol table. Sedangkan tahap satu, tiga dan empat tidak dilakukan karena diluar bahasan dan topik tugas akhir. Hasil keluaran dari kompilator yang berupa kode dalam bahasa rakitan atau intermediate language, pada aplikasi konversi kode ( translator ) akan digantikan dengan kode dalam bahasa Pascal. 1.2 Rumusan Masalah Dari uraian latar belakang diatas, maka rumusan masalah tugas akhir ini adalah a. Apa saja yang harus dilakukan untuk menguraikan suatu kode dalam bahasa C, untuk kemudian dirakit menjadi satu kode dalam bahasa Pascal yang ekivalen. b. Bagaimana suatu sintaks dalam bahasa C diterjemahkan ke sintaks dalam bahasa Pascal 1.3 Tujuan Tujuan dari tugas akhir ini adalah sebagai berikut :

14 a. Membangun prototipe perangkat lunak untuk mengkonversi kode sumber dalam bahasa C ke bahasa Pascal b. Melakukan pengujian terhadap aplikasi yang dibangun 1.4 Batasan Masalah Batasan masalah dalam tugas akhir ini adalah sebagai berikut : a. Bahasa C yang ditangani adalah ANSI C standar, demikian pula kode Pascal yang dihasilkan adalah Pascal standar. b. Bahasa C dan Pascal adalah tetap saja dua bahasa yang berbeda, tujuan perancangan, fitur-fitur dan karakteristiknya juga berbeda. Oleh karena itu, perlu disadari adanya keterbatasan sampai sejauh mana kode dari bahasa C dapat diubah menjadi bahasa Pascal. Keterbatasan konversi ini tidak akan ditangani, dengan demikian proses translasi yang menangani keterbatasan tersebut tidak dilakukan. c. Aplikasi yang dibangun adalah berbasis command-line, sehingga dijalankan dari prompt. 1.5 Metodologi Dalam pengerjaan tugas akhir ini, metodologi yang digunakan dapat dijabarkan dalam langkah-langkah sebagai berikut : a. Studi literatur : pekerjaan pada tahap ini adalah mempelajari hal-hal yang berhubungan dengan pemrosesan kode sebagai bagian kerja dari kompilator, pembandingan sintaks bahasa C ke Pascal, mengidentifikasi keterbatasan kemampuan konversi. b. Analisis pemecahan masalah : tahap ini melanjutkan hasil kerja dari studi literatur, yaitu melakukan analisis masalah bagaimana konversi kode dilakukan. Hal ini meliputi meliputi perancangan : penganalisis leksikal, parser, grammar bahasa C dan Pascal, dan code generator. c. Perancangan aplikasi : tahap ini meliputi pekerjaan membuat model diagram alur data dalam level arsitektur serta membuat rancangan struktur data

15 d. Implementasi aplikasi : pekerjaan utama pada tahap ini adalah mengimplementasikan komponen-komponen yang sudah dirancang ke dalam bahasa pemrograman. e. Pengujian aplikasi : tahap ini meliputi pekerjaan menguji aplikasi dengan sejumlah kasus, sesuai dengan ruang lingkup dan batasan tugas akhir 1.6 Sistematika Laporan Penulisan laporan dari tugas akhir ini mengikuti format berikut : a. Bab I pendahuluan : berisi latar belakang pelaksanaan tugas akhir. Di dalam bab ini juga diuraikan rumusan masalah yang harus diselesaikan dalam tugas akhir, tujuan pelaksanaan tugas akhir, batasan masalah, metodologi pelaksanaan tugas akhir, serta sistematika laporan tugas akhir. b. Bab II dasar teori : berisi teori-teori dasar dan umum yang diperlukan untuk memahami pembahasan pada bab-bab berikutnya dari tugas akhir. c. Bab III analisis pemecahan masalah : bab ini berisi analisis pemecahan masalah penerjemahan kode dari C dan Pascal. Di sini diuraikan langkah-langkah logis dan runut hasil analisis, langkah-langkah ini nantinya diterjemahkan menjadi proses pembangunan perangkat lunak. Bab ini secara langsung menjawab pertanyaan-pertanyaan yang ada dalam rumusan masalah pada bab I. d. Bab IV analisis dan perancangan perangkat lunak : berisi penerjemahan hasil analisis bab III menjadi sejumlah analisis dalam bidang perangkat lunak. Bab ini juga berisi rancangan struktur data dan beberapa elemen penting lain dari perangkat lunak yang dibangun. e. Bab V implementasi dan pengujian : berisi implementasi hasil rancangan dari bab IV ke dalam kode bahasa C. Bab ini juga membahas sejumlah proses pengujian yang dilakukan terhadap perangkat lunak yang selesai dibuat. Pengujian ini dilakukan dengan sejumlah kasus yang sesuai dengan ruang lingkup pelaksanaan tugas akhir dan batasan masalah yang diselesaikan.