SlideShare a Scribd company logo
1 of 31
Download to read offline
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

More Related Content

What's hot (20)

Aplikasi pemrograman
Aplikasi pemrogramanAplikasi pemrograman
Aplikasi pemrograman
 
1. pendahuluan kompilasi
1. pendahuluan kompilasi1. pendahuluan kompilasi
1. pendahuluan kompilasi
 
Tm teknik kompilasi juni 2013
Tm   teknik kompilasi juni 2013Tm   teknik kompilasi juni 2013
Tm teknik kompilasi juni 2013
 
Struktur compiler session 4
Struktur compiler session 4Struktur compiler session 4
Struktur compiler session 4
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan Pemrograman
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Bahasa pemrograman 1
Bahasa pemrograman 1Bahasa pemrograman 1
Bahasa pemrograman 1
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman c
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritma
 
Modul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman IIModul 1 Algoritma Dan Pemrograman II
Modul 1 Algoritma Dan Pemrograman II
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
flowchart
flowchartflowchart
flowchart
 
P 1 Pendahuluan - Teknik Kompilasi
P 1 Pendahuluan - Teknik KompilasiP 1 Pendahuluan - Teknik Kompilasi
P 1 Pendahuluan - Teknik Kompilasi
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
 
Paper bahasa pemrograman matkul mikroprosessor
Paper bahasa pemrograman matkul mikroprosessorPaper bahasa pemrograman matkul mikroprosessor
Paper bahasa pemrograman matkul mikroprosessor
 
C basic
C basicC basic
C basic
 
Modul dasar pemrograman
Modul dasar pemrogramanModul dasar pemrograman
Modul dasar pemrograman
 
C/C++ programming
C/C++ programmingC/C++ programming
C/C++ programming
 

Similar to Daskom 4

Pertemuan - 1.pptx
Pertemuan - 1.pptxPertemuan - 1.pptx
Pertemuan - 1.pptxNazri46
 
Pengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxPengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxngajiyanto .
 
Generasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptGenerasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptgea prima
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasimastnie
 
Bahasa sistem
Bahasa sistemBahasa sistem
Bahasa sistemAudriKiki
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang cDyes Wirok
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Bab 1a Paradigma Bahasa Pemrograman
Bab 1a   Paradigma Bahasa PemrogramanBab 1a   Paradigma Bahasa Pemrograman
Bab 1a Paradigma Bahasa PemrogramanDimara Hakim
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrogramanReza Optoriter
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
1 adp dasar-dasar pemrograman
1   adp dasar-dasar pemrograman1   adp dasar-dasar pemrograman
1 adp dasar-dasar pemrogramanMuhammad Salihin
 
Pti (5) teknologi perangkat lunak (software)
Pti (5)   teknologi perangkat lunak (software)  Pti (5)   teknologi perangkat lunak (software)
Pti (5) teknologi perangkat lunak (software) Hardini_HD
 
Pti (5) teknologi perangkat lunak (software)
Pti (5)   teknologi perangkat lunak (software) Pti (5)   teknologi perangkat lunak (software)
Pti (5) teknologi perangkat lunak (software) Chabil_Juniar
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritmaHardini_HD
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritmaAvenzz Venzz
 

Similar to Daskom 4 (20)

Pertemuan - 1.pptx
Pertemuan - 1.pptxPertemuan - 1.pptx
Pertemuan - 1.pptx
 
Pengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxPengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptx
 
Generasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptGenerasi bhs pemrograman.ppt
Generasi bhs pemrograman.ppt
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasi
 
Bahasa sistem
Bahasa sistemBahasa sistem
Bahasa sistem
 
Definisi Algoritma
Definisi AlgoritmaDefinisi Algoritma
Definisi Algoritma
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang c
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Bab 1a Paradigma Bahasa Pemrograman
Bab 1a   Paradigma Bahasa PemrogramanBab 1a   Paradigma Bahasa Pemrograman
Bab 1a Paradigma Bahasa Pemrograman
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrograman
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Bahasa Pemrograman
Bahasa PemrogramanBahasa Pemrograman
Bahasa Pemrograman
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
1 adp dasar-dasar pemrograman
1   adp dasar-dasar pemrograman1   adp dasar-dasar pemrograman
1 adp dasar-dasar pemrograman
 
Pti (5) teknologi perangkat lunak (software)
Pti (5)   teknologi perangkat lunak (software)  Pti (5)   teknologi perangkat lunak (software)
Pti (5) teknologi perangkat lunak (software)
 
Pti (5) teknologi perangkat lunak (software)
Pti (5)   teknologi perangkat lunak (software) Pti (5)   teknologi perangkat lunak (software)
Pti (5) teknologi perangkat lunak (software)
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
 
1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma1.adp dasar-dasar algoritma
1.adp dasar-dasar algoritma
 
1 adp dasar-dasar algoritma
1   adp dasar-dasar algoritma1   adp dasar-dasar algoritma
1 adp dasar-dasar algoritma
 

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 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.
  • 3. 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
  • 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 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
  • 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 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)
  • 8. 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
  • 9. 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
  • 10. Bahasa Assembly (2nd GL) 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 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
  • 13. 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++
  • 14. 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
  • 15. 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
  • 16. 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.
  • 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  Paradigma ini erat hubungannya dengan arsitektur perangkat keras yang memungkinkan pemrosesan secara paralel.  Contoh : Ada, Java, dll
  • 19. 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.
  • 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
  • 22. 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)
  • 23. 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
  • 25. 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
  • 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)
  • 28. 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
  • 29. 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.
  • 30. 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