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 Compiler Design, Prentice Hall International Binanto, Iwan.2005. Konsep Bahasa Pemrograman, Penerbit Andi
Bahasa dan Keperluan Penterjemah Seperti bahasa-bahasa pada umumnya, bahasa pada komputer mendefinisikan cara membuat struktur kata pada kalimat untuk berkomunikasi Bahasa pada umumnya membatasi pada bentuk apa yang bisa diucapkan Sebagai contoh: “Peter hit the ball”, bukan “ball Peter the hit” Apabila seorang Englishman ingin berkomunikasi dengan orang Perancis (Frenchman) dan Englishman ini tidak mengetahui sama sekali bahasa Perancis, maka diperlukan translator
Compiler (Kompilator) Kompilator adalah program komputer yang
bertindak seperti human translator It reads statements in one computer language, and if they make sense in that language, it translates them into statements with the same meaning in another computer language Kompilator menerjemahkan program dari satu bahasa pemrograman (disebut dengan source language) menjadi suatu program dalam bahasa pemrograman lain (disebut target language)
Kompilator (lanjutan) Translator yang paling sederhana (simplest) membaca kata-kata pada bahasa pemrograman sederhana, menerjemahkan kata-kata secara langsung ke dalam sejumlah instruksi yang digunakan pada komputer Inilah yang disebut dengan assembler, dan source language disebut dengan assembly language Kompilator secara umum digunakan pada bahasa yang lebih kompleks dimana tidak ada hubungan langsung antara kata-kata pada source language dengan target language
Kompilator (lanjutan) Tujuan Penggunaan translator yaitu
mempermudah proses pembentukan program dalam bahasa mesin Source language yang dicompile, biasa disebut/dikenal dengan high level language
Interpreter Interpreter bekerja seperti translator yaitu membaca
program dalam high level language, menerjemahkan dalam waktu cepat (seketika) seperti manusia menerjemahkan secara verbal Masih ingat fungsi kompilator? Kompilator menerjemahkan program komputer ke dalam bentuk bahasa mesin yang dieksekusi pada waktu yang berbeda Interpreter mengeksekusi pada saat program dibaca Often process a line of source program much faster than a compiler
STRUKTUR UMUM COMPILER Program sumber Analisis Lexical Lexical Token Symbol Table Tabel lain
Analisis Syntactic
Parse Tree Analisis Semantik
Tahap Penghasil Object Code
Tahap pengenalan kode sumber
Object code dari kompilasi lain
Intermediate Code
Optimisasi Intermediate code yang sudah dioptimisasi Penghasil Kode
Linking
Executable code
Struktur umum compiler (lanjutan) Proses translasi suatu program dari bentuk
syntax aslinya ke dalam bentuk executable, merupakan pusat dari implementasi semua bahasa pemrograman yang ada Secara logika, translasi dibagi menjadi dua, yaitu: a. analisis input program sumber b. synthesis program objek yang executable Dalam banyak translator, tingkatan logika ini tidak dengan jelas terpisah, melainkan bercampur dan berselang-seling antara analysis dan synthesis dalam basis statement-by-statement
Grammar Salah satu karakteristik yang dipelajari dalam
bahasa sehari-hari adalah grammar Grammar pada suatu bahasa mendefinisikan bentuk yang benar dari suatu kalimat Contoh: sentence noun phrase verb noun-phrase verb “hit” noun phrase article noun proper-name proper-name “Peter”
Grammar (lanjutan) Bahasa pemrograman umumnya dikategorikan dalam 2
jenis grammar, (1) mendefinisikan kata-kata dalam bahasa tersebut, (2) mendefinisikan bagaimana kata-kata tersebut dapat digabungkan Primary Grammar Disebut juga phrase-structure grammar, menspesifikasikan bagian utama pada kompilator dan interpreter, yang disebut dengan parser Grammar ini menspesifikasikan bagaimana kata-kata di dalam bahasa pemrograman dapat tergabung dan membentuk program yang valid secara sintaks Parsing adalah istilah pada bahasa yang menggambarkan proses analisis sebuah kalimat dalam bahasa menurut bentuk grammarnya Secondary Grammar, Umumnya secondary grammar digunakan untuk menspesifikasikan bentuk yang benar, spelling dari kata-kata pada bahasa komputer disebut juga dengan grammar leksikal Bagian dari kompilator yang menganalisis kata-kata secara individu pada input program disebut dengan scanner
Konsep Dasar Pemrograman Program dapat diartikan:
a. untuk mendeskripsikan instruksi-instruksi tersendiri, disebut source code yang dibuat oleh programmer b. untuk mendeskripsikan keseluruhan bagian dari perangkat lunak yang executable Himpunan atau kumpulan instruksi tertulis yang dibuat oleh programmer atau suatu bagian executable dari suatu perangkat lunak
Konsep dasar pemrograman (lanjutan)
Pemrograman :
cara membuat program program komputer suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu Bahasa : suatu kumpulan simbol-simbol atomic terbatas kumpulan simbol disebut alfabet Empty string dilambangkan dengan “ “ yaitu satu untaian yang tidak terlihat Untaian yang menjadi bagian dari suatu bahasa disebut kata atau kalimat Bahasa yang dapat dimengerti oleh komputer disebut bahasa pemrograman
Konsep Bahasa Pemrograman Bahasa pemrograman diciptakan untuk
memecahkan masalah-masalah tertentu yang spesifik sehingga aplikasi yang dibuat oleh suatu bahasa pemrograman akan mempunyai/menempati suatu domain yang spesifik Aplikasi Bisnis : COBOL, spreadsheet Sist. Inf. Perbankan, Sist. Inf. Asuransi, dll Enterprise : SAP, Open ERP Scientific : FORTRAN, C, C++, Matlab
Pertanyaan Mengapa bahasa pemrograman perlu
dipelajari? Mengapa bahasa pemrograman terus berevolusi?
Tugas Kelompok Bentuk Kelompok: 6-7 orang anggota 1 Introduction 2 Syntax 3 Semantic 4 Translation 5 Pragmatics 6 Abstraction & Generalization 7 Types ( Values, Domains and Types) 8 Logic Programming 9 Functional Programming 10 The Imperative Programming Paradigm 11 The Concurrent Programming 12 Object Oriented Programming