LOGO
1
LOGO
2
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
LOGO
3
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.
LOGO
4
Lima Generasi Bahasa Pemrograman
1. Bahasa Mesin: Generasi pertama
2. Bahasa Assembly: Generasi kedua
3. Bahasa Tingkat-tinggi : Generasi ketiga
4. Bahasa Generasi Keempat
LOGO
Lima Generasi Bahasa Pemrograman
LOGO
6
Mechine Language: The First Generation
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 1950-an semua program harus dikodek1950-an 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
LOGO
7
Assembly Language: The Second Generation
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
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
LOGO
9
High-level Language: The Third Generation
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
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
LOGO
Contoh listing program dalam bahasa C
#include <stdio.h>
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
LOGO
13
Penerjemah Bahasa Pemrograman
Compiler
Merupakan suatu program yang
menterjemahkan bahasa program (source
code) ke dalam bahasa objek (object code)
secara keseluruhan program
Interpreter
LOGO
14
Compiler 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
LOGO
15
Fourth-Generation Language
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
LOGO
16
Fifth-Generation Language
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
LOGO
Perbandingan
Penambahan dua buah integer
Machine Language
10100101 00000001 11100101 00000010 10000101 00000011
Assembly
LOAD A ADD B STO C
High Level (contoh dengan Pascal)
LOGO
Sejarah Bahasa Pemrograman
1830 - 1840, Charles Babbage, Analytical
Engine
Programmer pertama: Ada Byron
Countess Of Lovelace
1940, John von Neumann, Komputer
LOGO
Era 1950 an
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
LOGO
Era 1960 an
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
LOGO
Era 1970 an
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
LOGO
Era 1980 an
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
LOGO
Era 1990 an
Java, 1995, Gosling, bahasa pertama
yang dikeluarkan dengan API yang sudah
dikembangkan
Bahasa-bahasa Scripting seperti : Perl,
LOGO
Era 2000 an
.NET framework yang dikembangkan oleh
Microsoft
Mono yang mengadopsi .NET framework.
LOGO
Video
LOGO
LATIHAN
1.
Sebutkan dan jelaskan dua contoh
bahasa pemrograman tingkat tinggi
(Generasi Ketiga) yang anda ketahui !
2.
Analisis kekurangan dan kelebihannya
LOGO
Thank You !