Bahasa tertulis menggunakan simbol (yaitu huruf) untuk membentuk kata

BAHASA PEMROGRAMAN

LOGO
1

PENDAHULUAN

LOGO

Bahasa (language)
Adalah suatu sistim untuk berkomunikasi.
Bahasa tertulis menggunakan simbol (yaitu huruf) untuk
membentuk kata

Bahasa pemrograman (programming language)
yaitu kumpulan perintah-perintah bermakna, berstruktur
tertentu (syntax) yang dapat dimengerti komputer yang
berguna didalam penyelesaian masalah

2


PEMROGRAMAN

LOGO

Dalam pengertian luas pemrograman meliputi seluruh kegiatan
yang tercakup dalam :
 Pembuatan program, termasuk analisis kebutuhan
(requirement's analysis)
 Keseluruhan tahapan dalam perencanaan (planning) ,
perancangan (design) dan pewujudannya (implementation).
Dalam pengertian yang lebih sempit, pemrograman merupakan :
 Pengkodean (coding atau program writing = penulisan
program)
 Pengujiannya (testing) berdasarkan rancangan tertentu.

3

Lima Generasi Bahasa Pemrograman

LOGO


1. Bahasa Mesin: Generasi pertama
2. Bahasa Assembly: Generasi kedua
3. Bahasa Tingkat-tinggi : Generasi ketiga
4. Bahasa Generasi Keempat
5. Bahasa Generasi Kelima

4

Lima Generasi Bahasa Pemrograman

LOGO

5

Mechine Language: The First Generation

LOGO

 Bahasa mesin adalah bahasa internal komputer yang

mengeksekusi secara langsung tanpa terjemahan
(translation)
 Disebut generasi pertama karena merupakan jenis yang
paling awal dikembangkan: tahun 1940-an dan awal 1950an semua program harus dikodekan dalam bahasa mesin
 Pemrograman dalam bahasa mesin:
menyita waktu dan kondusif untuk membuat kesalahan
berbeda untuk setiap jenis komputer, sehingga
bergantung pada komputer dan tidak standar
 Semua program harus ada dalam bahasa mesin agar dapat
dieksekusi, sehingga bahasa lain yang ditulis programer
perlu diterjemahkan oleh komputer ke bahasa mesin untuk
eksekusi
6

Assembly Language: The Second Generation

LOGO

 Penggunaan komputer secara komersial tahun 1950-an
meratakan jalan ditemukannya bahasa assembly

 Dalam bahasa assembly:
Kode ditandai dengan nama yang mudah diingat seperti
ADD, SUB, dan MULT
Alamat penyimpanan (storage addresses) nyata di mana
data ditempatkan dapat didefinisikan dengan nama-nama
seperti AMT1 dan AMT2 untuk memudahkan rujukan
 Bahasa assembly sangat menyerupai bahasa mesin,
sehingga untuk menjadi programmer bahasa assembly yang
cakap kita harus memahami arsitektur mesin, yakni
bagaimana mesin itu secara fisik memproses data
7

Assembly Language: The Second Generation

LOGO

 Sama seperti bahasa mesin, bahasa assembly
tergantung komputer (tidak portable)
 Untuk menerjemahkan kode-kode diperlukan program
khusus yang disebut ASSEMBLER

 Bahasa assembly masih digunakan karena begitu mirip
dengan bahasa mesin dengan kode yang sangat efisien
 Untuk membuat system software lebih disukai
menggunakan bahasa assembly karena sangat efisiean
dalam penggunaan komputer (butuh memori yang kecil)

High-level Language: The Third Generation

LOGO

 Penggunaan komputer dalam bisnis berkembang
sangat dramatis pada tahun 1950-an
 Bahasa mesin dan assembly terlalu sulit, sehingga
muncul third-generation languages (3GLs) yang
lebih mudah untuk program dan portable
 Disebut tingkat tinggi karena mudah dipelajari &
Program tingkat-tinggi memerlukan proses
penerjemahan oleh komputer yang sangat rumit
 Program penerjemahnya disebut COMPILER atau
INTERPRETER

9

High-level Language: The Third Generation

LOGO

 Seperti 1GL dan 2GL, 3GL disebut bahasa prosedural
(4GL dan 5GL disebut bahasa nonprosedural), yakni
program harus menentukan kumpulan instruksi yang
tepat yang dibutuhkan untuk menyelesaikan tugas yang
diberikan
 Contoh bahasa tingkat-tinggi: FORTRAN (FORmula
TRANslator), Cobol, Pascal, BASIC, MODULA-2, ADA,
dan Object-oriented programming language
 Bahasa C disebut bahasa “tingkat-menengah” karena
format instruksinya dengan bahasa tingkat-tinggi
sekaligus bisa berinteraksi langsung dengan hardware

Contoh listing program dalam bahasa C
source code program hello world1

#include
int main ()
{
char quit;
quit = '\0';
while (quit != 'q')
{
printf("Hello World!\n");
printf("Press q then enter to quit\n");
scanf("%c",&quit);
}
return 0;
}

LOGO

Tampilan program ketika dijalankan

LOGO


Penerjemah Bahasa Pemrograman

LOGO

Interpreter
Menganalisis dan mengeksekusi setiap
baris dari program tanpa melihat program
secara keseluruhan
Compiler
Merupakan suatu program yang
menterjemahkan bahasa program (source
code) ke dalam bahasa objek (object code)
secara keseluruhan program
13

Perbedaan Compiler & Interpreter
Compiler

LOGO


Interpreter

Menterjemahkan secara keseluruhan

Menterjemahkan intruksi per intruksi

Bila terjadi kesalahan kompilasi maka
source program harus diperbaikai dan di
kompilasi ulang

Bila terjadi kesalahan interpretasi dapat
langsung diperbaiki

Dihasilkan object program

Tidak dihasilkan object program

Dihasilkan executable program

Tidak dihasilkan executable program


Proses pengerjaan program lebih cepat

Proses pengerjaan lebih lambat

Source program tidak di pergunakan
hanya bila untuk perbaikan saja

Seource program terus dipergunakan

Keamanan dari program lebih terjamin

Keamanan dari program kurang terjamin

14

Fourth-Generation Language

LOGO


 Mudah untuk dipelajari dan dipahami
 Tepat untuk pengaksesan database
 Memfokuskan pada memaksimalkan produktivitas
manusia dari pada minimisasi waktu komputer
 Nonprosedural
 Tersedia dalam software paket yang dapat digunakan
untuk mengembangkan aplikasi yang diinginkan
 Contoh:
Query language seperti SQL (structured query
language), QBE (query-by-example) dan
INTELLECT
Report generator
Application generator seperti MANTIS dan ADS
15

Fifth-Generation Language

LOGO

 Sering digunakan untuk akses database atau membuat
sistem pakar (expert system) atau knowledge-based
system
 Dalam konsep, ditujukan untuk bahasa alami (natural
languages) yang semirip mungkin dengan hubungan
kemanusiaan
 Contoh: LISP dan Prolog
 Sekarang ini banyak sistem pakar dikodekan baik dalam
LISP maupun Prolog, meski untuk hal yang sama bisa
ditulis dalam C atau C++.
 Usaha yang sekarang dilakukan adalah memperbaiki
bahasa AI (artificial intellegence) dengan
mengkombinasikan kemampuan terbaik dari LISP dan
Prolog

16

Perbandingan
Penambahan dua buah integer
 Machine Language
10100101
11100101
10000101

00000001
00000010
00000011

 Assembly
LOAD A
ADD B
STO C

 High Level (contoh dengan Pascal)
C := A + B;

LOGO

Sejarah Bahasa Pemrograman

LOGO

1830 - 1840, Charles Babbage, Analytical
Engine
Programmer pertama: Ada Byron
Countess Of Lovelace
1940, John von Neumann, Komputer
pertama dengan stored programs

Era 1950 an

LOGO

 FORTRAN (FORmula TRANslation), 1954~1957, IBM,
John Backus, arrays, loops, if-statements
 COBOL (Common Business-Oriented Language),
1959~1960, US DOD, Grace Hopper, records, output
formatting
 Algol60 (ALGOrithmic Language), 1958~1960,,
structured statements, begin-end blocks, type
declarations, recursion, pass-by-value parameters
 LISP (LISt Processor), akhir 1950s, MIT, John McCarthy,
functions dan garbage collection
 APL (A Programming Language), akhir 1950s, Harvard
University dan IBM, K. Iverson, arrays and matrices

Era 1960 an

LOGO

 PL/I, 1963-1964, IBM, concurrency, exception handling
 Algol68, 1963-1968, general type system, orthogonal
language
 SNOBOL (StriNg Oriented symBOlic Language), awal
1960s, Bell Labs, R. Griswold, string processing, pattern
matching
 Simula67, 1965~1967, Norwegian Computing Center,
Kristen Nygaard dan le-Johan Dahl, simulations, classes
 ISWIM, Peter Landin, functional language murni
 BASIC, 1964, Dartmouth College, John Kemeny dan
Thomas Kurtz, bahasa instructional yang sederhana dan
interaktif

Era 1970 an

LOGO

 Pascal, 1971, Niklaus Wirth, bahasa
instruksional sederhana dengan pernyataan
terstruktur
 C, 1972, Bell Labs, Dennis Ritchie, type system
sederhana dan runtime environment
 CLU, 1974~1977, MIT, Barbara Liskov,
pendekatan konsisten untuk mekanisme
abstraksi, data abstraction, control abstraction,
and exception handling
 Euclid, 1976~1977, University of Toronto,
abstract data types, program verification
 Mesa, 1976~1979, Xerox, module facility,
exception handling, concurrency

Era 1980 an

LOGO

 Ada, 1983, DOD, abstract data types, concurrency
 Modula-2, 1982, Niklaus Wirth, modules, coroutine
 Smalltak, 1980, Xerox, Alan Kay and Dan Ingalls, a
complete object-oriented programming system
 C++, 1980, Bell Labs, Bjarne Stroustrup, classes, library
 Scheme, 1975~1978, MIT, Gerald Sussman dan Guy
Steele, versi baru dari LISP
 ML, 1978, Edinburgh University, Robin Milner, a syntax
and type checking similar to Pascal
 Prolog, 1972~1980, A. Colmerauer, mathematical logic

Era 1990 an

LOGO

Java, 1995, Gosling, bahasa pertama
yang dikeluarkan dengan API yang sudah
dikembangkan
Bahasa-bahasa Scripting seperti : Perl,
Tcl, Javascript, VBScript, Python, dan
PHP

Era 2000 an

LOGO

.NET framework yang dikembangkan oleh
Microsoft
Mono yang mengadopsi .NET framework.
Awalnya dikembangkan pada platform
Linux

Video

LOGO

25

LATIHAN

LOGO

1. Sebutkan dan jelaskan dua contoh
bahasa pemrograman tingkat tinggi
(Generasi Ketiga) yang anda ketahui !
2. Analisis kekurangan dan kelebihannya

26

Thank You !
www.themegallery.com

LOGO