Languages and Translator

advertisement
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
Download