PEMROGRAMAN
KOMPUTER
Chaeriah Wael, ST, MT
Email : chaeriah.wael10@gmail.com
UNRIKA – Batam
tigenap2011@yahoo.com
Bahasa Pemrograman
Istilah-istilah
 Program adalah kata, ekspresi, pernyataan atau kombinasi yang
disusun dan dirangkai menjadi satu kesatuan prosedur yang menjadi
urutan langkah untuk menyesuaikan masalah dan diimplementasikan
dengan bahasa pemrograman.
 Bahasa pemrograman merupakan prosedur atau tata cara
penulisan program. Dalam bahasa pemrograman, terdapat dua
faktor penting yaitu sintaksis dan semantik.
 Sintak adalah aturan-aturan gramatikal yang mengatur tata cara
penulisan kata, ekspresi dan pernyataan sedangkan semantik
adalah aturan-aturan untuk menyatakan suatu arti.
Contoh : Write, Read
 Pemrograman merupakan proses mengimplementasikan urutan
langkah-langkah untuk menyelesaikan suatu masalah dengan
bahasa pemrograman.
 Pemrogram (programmer) adalah orang yang membuat program.
Bahasa Pemrograman
 Notasi algoritma nantinya dapat dituangkan ke
dalam bahasa pemrograman apapun, dengan
kata lain algoritma bersifat independen.
 Belajar bahasa pemrograman tidak sama
dengan belajar algoritma.
Belajar logika pemrograman
Belajar bahasa pemrograman
Sejarah Perkembangan Bahasa
Pemrograman
 50an - 60an :
 Bahasa tingkat tinggi awal : FORTRAN, COBOL,
ALGOL60.
 Bahasa berbasis matematika : LISP, APL, SNOBOL.
 General-purpose language : PL/1.
 Bahasa tingkat tinggi : Algol68, SIMULA67, BASIC.
 70an
 Pemrograman terstruktur : Pascal
 Systems programming : C, modula-2
 Logical programming: Prolog
 Functional programming: Scheme
5
A short history of programming
languages (cont.)
 80s:
 Development of functional programming: ML, Miranda
 Need for reliability and maintainability: Ada
 Object-oriented programming: Smalltalk, C++
 90s:
 Fourth-generation languages
 Productivity tools (such as spreadsheets)
 Visual languages : Delphi
 Scripting languages : Perl
 Expert systems shells
 Network computing : Java
Sejarah Perkembangan Bahasa
Pemrograman
 80an :
 Pengembangan functional programming : ML,
Miranda
 Object-oriented programming: Smalltalk, C++
 90an
 Fourth-generation languages
 Productivity tools (such as spreadsheets)
 Visual languages : Delphi, VB
 Scripting languages : Perl
 Expert systems shells
 Network computing : Java
Evolusi Bahasa Pemrograman
Ditinjau dari segi kemudahan
pemakaian dan interaksi dengan
perangkat keras, bahasa
pemrograman dibagi menjadi 4
generasi :
1. Bahasa Mesin (1st Generation
Language)
2. Bahasa Assembly (2nd
Generation Language)
3. Bahasa Tingkat Tinggi (3th
Generation Language)
4. 4-GL (4th Generation
Language)
Bahasa Generasi 1
Bahasa Mesin
Bahasa Generasi 2
Bahasa Rakitan
Bahasa Generasi 3
Bahasa prosedural
(ADA, Basic, C, Cobol, dll)
Bahasa Generasi 4
Bahasa nonprosedural
(Oracle,NOMAD, dll)
Bahasa Mesin (1st GL)
 Bahasa pemrograman sudah muncul pada era
1940, bahasa yang digunakan pada masa itu
dikenal dengan nama bahasa mesin (machine
language)
 Bahasa mesin (first generation languages)
merupakan sederetan kode biner (0 dan 1)
yang dapat dimengerti oleh perangkat keras.
 Perangkat keras yang berbeda akan memiliki
kode mesin yang berbeda pula. Contohnya :
Komputer IBM menggunakan bahasa mesin
yang berbeda dengan Komputer Apple
Bahasa Assembly (2nd GL)
 Second Generation Languages muncul pada
era 1950, lebih mudah digunakan dibandingkan
dengan bahasa mesin namun masih sangat
“complicated”
 2-GL dikenal juga dengan bahasa Assembly
 Karena komputer hanya mengerti bahasa
mesin, maka kode yang ditulis dalam Assembly
harus ditranslasikan ke dalam bahasa mesin
 Kode diterjemahkan menjadi bahasa mesin
dengan menggunakan translator yang disebut
assembler
Bahasa Assembly (2nd GL)
Assembler
Assembly
code
Object code
Bahasa Tingkat Tinggi(3thGL)
 Merupakan bahasa pemrograman yang dekat
dengan bahasa manusia.
 Sebelum dijalankan, program harus di-compile
terlebih dahulu
 Kelebihan :
 Mudah dalam baca, tulis maupun diperbarui.
 Menyediakan lingkungan yang lebih user
friendly.
 Bersifat portable, artinya kode yang
dihasilkan untuk suatu sistem dapat
ditranslasikan agar dapat digunakan untuk
sistem lain.
4-GL
 4-GL lebih mendekati bahasa manusia
sehingga lebih mudah digunakan dibandingkan
3-GL.
 Ditulis dalam text-based environment, bahkan
ada yang menyediakan visual environtment
bagi programmer untuk membuat program.
 Contoh 4-GL
 Berbasis teks (biasa digunakan untuk
mengakses database) : SQL
 Berbasis visual : Visual Basic (VB), VisualAge
Klasifikasi Bahasa Pemrograman
Berdasarkan aplikasi kegunaannya :
1. Bahasa pemrograman bertujuan khusus
Contoh : Cobol (adm bisnis), Fortran (komputasi
ilmiah), Prolog (Artificial Intelligent)
2. Bahasa pemrograman bertujuan umum
Contoh : Pascal, Basic, C, C++
Berdasarkan notasi kedekatan ke mesin :
1. Bahasa tingkat rendah : sulit dimengerti oleh
manusia
Contoh : bahasa mesin
2. Bahasa tingkat tinggi : lebih menyerupai bahasa
manusia sehingga lebih mudah dipahami
Contoh : Pascal, Cobol, Basic, Fortran, C, C++
Paradigma Pemrograman
 Paradigma pemrograman : cara pandang kita dalam
menyelesaikan suatu masalah pemrograman.
 Beberapa paradigma pemrograman yang ada :
 Prosedural / Terstruktur
 Fungsional
 Deklaratif / Logika
 Object-Oriented
 Paradigma Konkuren
Paradigma Prosedural
 Algoritma berisi urutan langkah-langkah penyelesaian masalah ↔
proses yang prosedural.
 Program dibedakan menjadi bagian data dan bagian instruksi :
o Bagian instruksi terdiri atas runtutan (sequence) instruksi yang
dilaksanakan satu per satu secara berurutan oleh pemroses.
Alur pelaksanaan instruksi dapat berubah karena adanya
percabangan kondisional.
o Data yang tersimpan di dalam memori dimanipulasi oleh
instruksi secara beruntun / prosedural.
 Kelebihan : efisien dalam eksekusi
 Contoh : Algol, Pascal, Fortran, Basic, C
Paradigma Fungsional
 Paradigma fungsional memandang penyelesaian
masalah sebagai komposisi dan aplikasi fungsi yang
memetakan masalah ke jawaban.
 Tidak ada pemisahan data dan instruksi.
 Pemrogram tidak perlu lagi mengetahui bagaimana
mesin mengeksekusi atau bagaimana informasi
disimpan di memori. Yang menjadi perhatian hanya
keadaan awal dan akhir (setiap fungsi berperan sebagai
kotak hitam).
 Kelemahan : proses eksekusi tidak efisien dibandingkan
dengan prosedural.
Paradigma Deklaratif / Logika
 Paradigma deklaratif memandang penyelesaian
masalah sebagai inferensi terhadap fakta dan aturan
yang diberikan.
 Ketika dieksekusi, pemakai mengajukan pertanyaan
(query) dan program akan menjawab apakah
pernyataan itu dapat dideduksi dari aturan atau fakta
yang ada.
 Program akan memakai aturan deduksi dan
mencocokkan pertanyaan dengan fakta-fakta yang ada
untuk menjawab pertanyaan.
 Contoh : Prolog
Paradigma Konkuren
 Paradigma ini erat hubungannya dengan arsitektur
perangkat keras yang memungkinkan pemrosesan
secara paralel.
 Contoh : Ada, Java, dll
Paradigma Object-Oriented
 OOP memandang penyelesaian masalah sebagai hasil
interaksi dari kelas yang membentuk objek.
 Beberapa konsep dalam OOP :
 Kelas : kumpulan atas definisi data dan fungsi-fungsi
dalam suatu unit untuk suatu tujuan tertentu.
 Objek : membungkus data dan fungsi bersama
menjadi suatu unit dalam sebuah program komputer
 Atribut : adalah data yang dimiliki oleh object dalam
kelas.
Paradigma Object-Oriented
 Contoh :
Dari pengertian tersebut diatas dapat diberikan contoh
sebagai berikut :
Kelas : Manusia
Object : Rini, Budi
Atribut : Rini memiliki atribut nama, Alamat, Umur
Paradigma Object-Oriented
Tahap Pembuatan Program
Algoritma
Program dalam bahasa tingkat tinggi
Program dalam bahasa mesin
Interpretasi
Kompilasi + Linking
Interpretasi oleh CPU
Operasi (baca, tulis, hitung, perbandingan, dsb)
Translator
 Translator melakukan pengubahan source code/source
program ke dalam target code/object code.
Translator
Interpreter
Compiler
 Tidak membangkitkan object
code
 Source code dan data diproses
bersamaan
 Contoh : BASICA, SPSS,
DBASE III
 Source Code adalah bahasa tingkat tinggi.
 Object Code adalah bahasa mesin atau
assembly
 Source code dan data diproses tidak
bersamaan
 Contoh : PASCAL, C
Assembler
 Source Code adalah
bahasa Assembly
 Object Code adalah bahasa
mesin
 Contoh : Turbo Assembler
Interpreter
Analisa
Leksikal
Analisa
Sintaks
Intermediate
Program
Interpretasi
Pengelolaan
Tabel
Program
Sumber
Penanganan
Kesalahan
Hasil
Operasi
Assembler
 Source Code adalah bahasa Assembler, Object Code adalah bahasa
mesin
 Object Code dapat berupa file object (.OBJ), file .EXE, atau file .COM
 Contoh : Turbo Assembler (dari IBM) dan Macro Assembler (dari
Microsoft)
Source
Code
Object CodeAssembler
File
TargetLingker
.ASM .OBJ .EXE /
.COMProses Sebuah Kompilasi pada Bahasa
Assembler
Compiller
 Kompilator : program yang menerjemahkan sebuah program
dalam bahasa sumber (source language) ke bahasa sasaran
(target language).
 Proses kompilasi dapat digambarkan sebagai berikut :
 Proses kompilasi dikelompokkan menjadi :
1. Analisa : program sumber dipecah-pecah dan dibentuk menjadi
bentuk antara (intermediate representation).
2. Sintesa : membangun program sasaran yang diinginkan dari
CompilerProgram
sumber
Bahasa
sasaran
Pesan-pesan kesalahan (error
messages)
Penganali
sa
Leksikal
(scanner)
Penganali
sa
Sintaks
(parser)
Penganalis
a
Semantik
Pembangkit
Kode antara
Pembent
uk
kode
Pengoptim
al
kode
Program
Sumber
Progra
m
Sasara
n
TABEL
SIMBO
L
ANALISA SINTESA
Bagan pokok proses
kompilasi
Blok Diagram
Compiller
Keterangan :
 Program Sumber ditulis dalam bahasa sumber, misal Pascal,
Assembler, dsb.
 Program Sasaran dapat berupa bahasa pemrograman lain atau
bahasa mesin pada suatu komputer.
 Scanner : Memecah program sumber menjadi besaran leksik/token.
 Parser : Memeriksa kebenaran dan urutan kemunculan token.
 Penganalisa semantik : Melakukan analisa semantik, biasanya
dalam realisasi akan digabungkan Dengan intermediate code
generator (bagian yang berfungsi membangkitkan kode antara)
 Pembentuk Kode : Membangkitkan kode objek
 Pengoptimal Kode : Memperkecil hasil dan mempercepat proses.
 Tabel : Menyimpan semua informasi yang berhubungan dengan
proses kompilasi
Compiller
Compiller
Source
Code 1
Source
Code 2
Source
Code n
Object
Code 1
Object
Code 2
Object
Code n
Compiler 1
Compiler 2
Compiler n
Linker Executable
Library
Object
Code
 Pembentukan file Executable dari beberapa Source Code
 Source Code dapat terdiri dari satu atau lebih behasa
pemrograman.
Interpreter vs. Compiller
Interpreter Compiler
1. Menerjemahkan instruksi per instruksi.
2. Bila tejadi kesalahan kompilasi, dapat
langsung dibetulkan secara interaktif.
3. Tidak menghasilkan objek program.
4. Tidak menghasilkan executable program
karena langsung dijalankan pada saat
program diinterprestasi
5. Proses interprestasi terasa cepat, karena
tiap-tiap instruksi langsung dikerjakan dan
output langsung dilihat hasilnya
6. Source program terus dipergunakan karena
tidak dihasilkan executable program.
7. Proses pengerjaan program lebih lambat
karena setiap instruksi dikerjakan harus
diinterprestasikan ulang kembali
8. Keamanan dari program kurang terjamin,
karena yang selalu digunakan adalah source
program
1. Menerjemahkan secara keseluruhan sekaligus.
2. Bila tejadi kesalahan kompilasi, Source
program harus dibenarkan dan
proses kompilasi diulang kembali.
3. Menghasilkan objek program.
4. Menghasilkan executable program, sehingga
dapat dijalankan di keadaan prompt sistem.
5. Proses kompilasi lama karena sekaligus
menerjemahkan seluruh instruksi program.
6. Source program sudah tidak dipergunakan lagi
untuk mengerjakan program.
7. Proses mengerjakan program lebih cepat,
karena executable program sudah dalam
bahasa mesin.
8. Keamanan dari program lebih terjamin,
karena yang dipergunakan executable
program
Perbedaan interpreter dan compiller
TERIMA KASIH

Daskom 4

  • 1.
    PEMROGRAMAN KOMPUTER Chaeriah Wael, ST,MT Email : chaeriah.wael10@gmail.com UNRIKA – Batam tigenap2011@yahoo.com Bahasa Pemrograman
  • 2.
    Istilah-istilah  Program adalahkata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi satu kesatuan prosedur yang menjadi urutan langkah untuk menyesuaikan masalah dan diimplementasikan dengan bahasa pemrograman.  Bahasa pemrograman merupakan prosedur atau tata cara penulisan program. Dalam bahasa pemrograman, terdapat dua faktor penting yaitu sintaksis dan semantik.  Sintak adalah aturan-aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi dan pernyataan sedangkan semantik adalah aturan-aturan untuk menyatakan suatu arti. Contoh : Write, Read  Pemrograman merupakan proses mengimplementasikan urutan langkah-langkah untuk menyelesaikan suatu masalah dengan bahasa pemrograman.  Pemrogram (programmer) adalah orang yang membuat program.
  • 3.
    Bahasa Pemrograman  Notasialgoritma nantinya dapat dituangkan ke dalam bahasa pemrograman apapun, dengan kata lain algoritma bersifat independen.  Belajar bahasa pemrograman tidak sama dengan belajar algoritma. Belajar logika pemrograman Belajar bahasa pemrograman
  • 4.
    Sejarah Perkembangan Bahasa Pemrograman 50an - 60an :  Bahasa tingkat tinggi awal : FORTRAN, COBOL, ALGOL60.  Bahasa berbasis matematika : LISP, APL, SNOBOL.  General-purpose language : PL/1.  Bahasa tingkat tinggi : Algol68, SIMULA67, BASIC.  70an  Pemrograman terstruktur : Pascal  Systems programming : C, modula-2  Logical programming: Prolog  Functional programming: Scheme
  • 5.
    5 A short historyof programming languages (cont.)  80s:  Development of functional programming: ML, Miranda  Need for reliability and maintainability: Ada  Object-oriented programming: Smalltalk, C++  90s:  Fourth-generation languages  Productivity tools (such as spreadsheets)  Visual languages : Delphi  Scripting languages : Perl  Expert systems shells  Network computing : Java
  • 6.
    Sejarah Perkembangan Bahasa Pemrograman 80an :  Pengembangan functional programming : ML, Miranda  Object-oriented programming: Smalltalk, C++  90an  Fourth-generation languages  Productivity tools (such as spreadsheets)  Visual languages : Delphi, VB  Scripting languages : Perl  Expert systems shells  Network computing : Java
  • 7.
    Evolusi Bahasa Pemrograman Ditinjaudari segi kemudahan pemakaian dan interaksi dengan perangkat keras, bahasa pemrograman dibagi menjadi 4 generasi : 1. Bahasa Mesin (1st Generation Language) 2. Bahasa Assembly (2nd Generation Language) 3. Bahasa Tingkat Tinggi (3th Generation Language) 4. 4-GL (4th Generation Language) Bahasa Generasi 1 Bahasa Mesin Bahasa Generasi 2 Bahasa Rakitan Bahasa Generasi 3 Bahasa prosedural (ADA, Basic, C, Cobol, dll) Bahasa Generasi 4 Bahasa nonprosedural (Oracle,NOMAD, dll)
  • 8.
    Bahasa Mesin (1stGL)  Bahasa pemrograman sudah muncul pada era 1940, bahasa yang digunakan pada masa itu dikenal dengan nama bahasa mesin (machine language)  Bahasa mesin (first generation languages) merupakan sederetan kode biner (0 dan 1) yang dapat dimengerti oleh perangkat keras.  Perangkat keras yang berbeda akan memiliki kode mesin yang berbeda pula. Contohnya : Komputer IBM menggunakan bahasa mesin yang berbeda dengan Komputer Apple
  • 9.
    Bahasa Assembly (2ndGL)  Second Generation Languages muncul pada era 1950, lebih mudah digunakan dibandingkan dengan bahasa mesin namun masih sangat “complicated”  2-GL dikenal juga dengan bahasa Assembly  Karena komputer hanya mengerti bahasa mesin, maka kode yang ditulis dalam Assembly harus ditranslasikan ke dalam bahasa mesin  Kode diterjemahkan menjadi bahasa mesin dengan menggunakan translator yang disebut assembler
  • 10.
    Bahasa Assembly (2ndGL) Assembler Assembly code Object code
  • 11.
    Bahasa Tingkat Tinggi(3thGL) Merupakan bahasa pemrograman yang dekat dengan bahasa manusia.  Sebelum dijalankan, program harus di-compile terlebih dahulu  Kelebihan :  Mudah dalam baca, tulis maupun diperbarui.  Menyediakan lingkungan yang lebih user friendly.  Bersifat portable, artinya kode yang dihasilkan untuk suatu sistem dapat ditranslasikan agar dapat digunakan untuk sistem lain.
  • 12.
    4-GL  4-GL lebihmendekati bahasa manusia sehingga lebih mudah digunakan dibandingkan 3-GL.  Ditulis dalam text-based environment, bahkan ada yang menyediakan visual environtment bagi programmer untuk membuat program.  Contoh 4-GL  Berbasis teks (biasa digunakan untuk mengakses database) : SQL  Berbasis visual : Visual Basic (VB), VisualAge
  • 13.
    Klasifikasi Bahasa Pemrograman Berdasarkanaplikasi kegunaannya : 1. Bahasa pemrograman bertujuan khusus Contoh : Cobol (adm bisnis), Fortran (komputasi ilmiah), Prolog (Artificial Intelligent) 2. Bahasa pemrograman bertujuan umum Contoh : Pascal, Basic, C, C++ Berdasarkan notasi kedekatan ke mesin : 1. Bahasa tingkat rendah : sulit dimengerti oleh manusia Contoh : bahasa mesin 2. Bahasa tingkat tinggi : lebih menyerupai bahasa manusia sehingga lebih mudah dipahami Contoh : Pascal, Cobol, Basic, Fortran, C, C++
  • 14.
    Paradigma Pemrograman  Paradigmapemrograman : cara pandang kita dalam menyelesaikan suatu masalah pemrograman.  Beberapa paradigma pemrograman yang ada :  Prosedural / Terstruktur  Fungsional  Deklaratif / Logika  Object-Oriented  Paradigma Konkuren
  • 15.
    Paradigma Prosedural  Algoritmaberisi urutan langkah-langkah penyelesaian masalah ↔ proses yang prosedural.  Program dibedakan menjadi bagian data dan bagian instruksi : o Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya percabangan kondisional. o Data yang tersimpan di dalam memori dimanipulasi oleh instruksi secara beruntun / prosedural.  Kelebihan : efisien dalam eksekusi  Contoh : Algol, Pascal, Fortran, Basic, C
  • 16.
    Paradigma Fungsional  Paradigmafungsional memandang penyelesaian masalah sebagai komposisi dan aplikasi fungsi yang memetakan masalah ke jawaban.  Tidak ada pemisahan data dan instruksi.  Pemrogram tidak perlu lagi mengetahui bagaimana mesin mengeksekusi atau bagaimana informasi disimpan di memori. Yang menjadi perhatian hanya keadaan awal dan akhir (setiap fungsi berperan sebagai kotak hitam).  Kelemahan : proses eksekusi tidak efisien dibandingkan dengan prosedural.
  • 17.
    Paradigma Deklaratif /Logika  Paradigma deklaratif memandang penyelesaian masalah sebagai inferensi terhadap fakta dan aturan yang diberikan.  Ketika dieksekusi, pemakai mengajukan pertanyaan (query) dan program akan menjawab apakah pernyataan itu dapat dideduksi dari aturan atau fakta yang ada.  Program akan memakai aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan.  Contoh : Prolog
  • 18.
    Paradigma Konkuren  Paradigmaini erat hubungannya dengan arsitektur perangkat keras yang memungkinkan pemrosesan secara paralel.  Contoh : Ada, Java, dll
  • 19.
    Paradigma Object-Oriented  OOPmemandang penyelesaian masalah sebagai hasil interaksi dari kelas yang membentuk objek.  Beberapa konsep dalam OOP :  Kelas : kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.  Objek : membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer  Atribut : adalah data yang dimiliki oleh object dalam kelas.
  • 20.
    Paradigma Object-Oriented  Contoh: Dari pengertian tersebut diatas dapat diberikan contoh sebagai berikut : Kelas : Manusia Object : Rini, Budi Atribut : Rini memiliki atribut nama, Alamat, Umur
  • 21.
  • 22.
    Tahap Pembuatan Program Algoritma Programdalam bahasa tingkat tinggi Program dalam bahasa mesin Interpretasi Kompilasi + Linking Interpretasi oleh CPU Operasi (baca, tulis, hitung, perbandingan, dsb)
  • 23.
    Translator  Translator melakukanpengubahan source code/source program ke dalam target code/object code. Translator Interpreter Compiler  Tidak membangkitkan object code  Source code dan data diproses bersamaan  Contoh : BASICA, SPSS, DBASE III  Source Code adalah bahasa tingkat tinggi.  Object Code adalah bahasa mesin atau assembly  Source code dan data diproses tidak bersamaan  Contoh : PASCAL, C Assembler  Source Code adalah bahasa Assembly  Object Code adalah bahasa mesin  Contoh : Turbo Assembler
  • 24.
  • 25.
    Assembler  Source Codeadalah bahasa Assembler, Object Code adalah bahasa mesin  Object Code dapat berupa file object (.OBJ), file .EXE, atau file .COM  Contoh : Turbo Assembler (dari IBM) dan Macro Assembler (dari Microsoft) Source Code Object CodeAssembler File TargetLingker .ASM .OBJ .EXE / .COMProses Sebuah Kompilasi pada Bahasa Assembler
  • 26.
    Compiller  Kompilator :program yang menerjemahkan sebuah program dalam bahasa sumber (source language) ke bahasa sasaran (target language).  Proses kompilasi dapat digambarkan sebagai berikut :  Proses kompilasi dikelompokkan menjadi : 1. Analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (intermediate representation). 2. Sintesa : membangun program sasaran yang diinginkan dari CompilerProgram sumber Bahasa sasaran Pesan-pesan kesalahan (error messages)
  • 27.
  • 28.
    Keterangan :  ProgramSumber ditulis dalam bahasa sumber, misal Pascal, Assembler, dsb.  Program Sasaran dapat berupa bahasa pemrograman lain atau bahasa mesin pada suatu komputer.  Scanner : Memecah program sumber menjadi besaran leksik/token.  Parser : Memeriksa kebenaran dan urutan kemunculan token.  Penganalisa semantik : Melakukan analisa semantik, biasanya dalam realisasi akan digabungkan Dengan intermediate code generator (bagian yang berfungsi membangkitkan kode antara)  Pembentuk Kode : Membangkitkan kode objek  Pengoptimal Kode : Memperkecil hasil dan mempercepat proses.  Tabel : Menyimpan semua informasi yang berhubungan dengan proses kompilasi Compiller
  • 29.
    Compiller Source Code 1 Source Code 2 Source Coden Object Code 1 Object Code 2 Object Code n Compiler 1 Compiler 2 Compiler n Linker Executable Library Object Code  Pembentukan file Executable dari beberapa Source Code  Source Code dapat terdiri dari satu atau lebih behasa pemrograman.
  • 30.
    Interpreter vs. Compiller InterpreterCompiler 1. Menerjemahkan instruksi per instruksi. 2. Bila tejadi kesalahan kompilasi, dapat langsung dibetulkan secara interaktif. 3. Tidak menghasilkan objek program. 4. Tidak menghasilkan executable program karena langsung dijalankan pada saat program diinterprestasi 5. Proses interprestasi terasa cepat, karena tiap-tiap instruksi langsung dikerjakan dan output langsung dilihat hasilnya 6. Source program terus dipergunakan karena tidak dihasilkan executable program. 7. Proses pengerjaan program lebih lambat karena setiap instruksi dikerjakan harus diinterprestasikan ulang kembali 8. Keamanan dari program kurang terjamin, karena yang selalu digunakan adalah source program 1. Menerjemahkan secara keseluruhan sekaligus. 2. Bila tejadi kesalahan kompilasi, Source program harus dibenarkan dan proses kompilasi diulang kembali. 3. Menghasilkan objek program. 4. Menghasilkan executable program, sehingga dapat dijalankan di keadaan prompt sistem. 5. Proses kompilasi lama karena sekaligus menerjemahkan seluruh instruksi program. 6. Source program sudah tidak dipergunakan lagi untuk mengerjakan program. 7. Proses mengerjakan program lebih cepat, karena executable program sudah dalam bahasa mesin. 8. Keamanan dari program lebih terjamin, karena yang dipergunakan executable program Perbedaan interpreter dan compiller
  • 31.