• Tidak ada hasil yang ditemukan

Evolusi Bahasa Pemrograman. Yudianto Sujana

N/A
N/A
Protected

Academic year: 2021

Membagikan "Evolusi Bahasa Pemrograman. Yudianto Sujana"

Copied!
36
0
0

Teks penuh

(1)

Evolusi Bahasa

Pemrograman

(2)

Plankalkul –1945

Tidak pernah diimplementasikan

Struktur data : Array, records

(3)

Pseudocode –1949

Digunakan karena terlalu sulit jika harus menggunakan machine code.

Shortcode – 1949 – BINAC- oleh Mauchly, Ekspresi dikodekan dari kiri ke kanan.

Speedcoding – 1954 – IBM 701 – oleh Backus. – Pseudo operation untuk fungsi aritmatik dan

matematika.

– Percabangan kondisional dan tanpa kondisi.

(4)

Laning dan Zierler System –1953

Diimplementasikan pada komputer

Whilwind – MIT.

Merupakan system compiler pertama.

Fasilitas translasi ekspresi dan

pemanggilan fungsi.

(5)

FORTRAN I – 1957

FORTRAN 0 -1954 – tidak diimplementasi

FORmula TRANslation dibuat oleh John Backus

Didesain untuk IBM 704, yang memiliki Index Register dan hardware floating-point.

Lingkungan pengembangan :

– Komputer (saat itu) belum reliable. – Aplikasi terbatas pada scientific.

– Tidak ada metodologi pemrograman dan alat bantunya. – Efisiensi mesin harus benar-benar diperhatikan.

Merupakan bahasa tingkat-tinggi pertama yang diterima secara luas.

(6)

FORTRAN I – 1957

Implementasi FORTRAN I

– Nama variable hingga 6 karakter. – Input/Output dapat diformat (diatur).

– User dapat membuat subrutin (subprogram) sendiri. – Three-way selection statement (arithmetic IF

statement).

– Tidak ada statement tipe data. – Kompilasi tidak terpisah.

(7)

FORTRAN II – 1958

Independent compilation.

(8)

FORTRAN IV – 1962

Deklarasi tipe eksplisit.

Logical selection statement (Logical IF).

Subprogram dapat menjadi parameter.

Menjadi ANSI standard pada tahun 1968

(9)

FORTRAN 77 – 1978

Dilengkapi dengan character-string

handling.

Logical loop control statement.

IF-THEN-ELSE statement

(10)

FORTRAN 90 – 1990

Menggunakan modul-modul dengan

akses private maupun public.

Terdapat array dinamik.

Record dan Pointer.

Rekursif.

Statement CASE, EXIT, dan CYCLE.

Pengecekan tipe parameter.

(11)

LISP – 1959

LISt Processing.

Dibuat oleh John McCarthy, MIT, 1959.

Riset Artificial Intellegence membutuhkan bahasa yang : – Memproses data menggunakan list (bukan array). Mendukung komputasi simbolik (bukan numeric).

Hanya terdapat 2 tipe data : Atom dan List.

Sintaksnya didasarkan pada Kalkulus Lambda (Lambda calculus). Merupakan pionir dari functional programming.

Tidak membutuhkan variable atau assignment.

Control dilakukan lewat rekursi dan ekspresi kondisional. Masih merupakan bahasa yang dominan dalam AI.

COMMON LISP dan Scheme merupakan dialek dari LISP.

(12)

ALGOL 58 – 1958

ALGOrithmic Language.

Perkembangan bahasa saat itu (saat ALGOL dibuat) : – FORTRAN terbatas untuk mesin IBM 70x.

– Bahasa-bahasa yang lain juga dikembangkan tetapi hanya untuk mesin tertentu.

– Tidak terdapat bahasa yang portable, semuanya bergantung pada mesin

– Tidak terdapat bahasa yang universal.

ACM (Association for Computing Machinery) dan GAMM bertemu bertemu selama 4 hari untuk merencanakan desain bahasa.

(13)

ALGOL 58 – 1958

Tujuan dari bahasa tersebut :

– Mendekati notasi matematika.

– Baik untuk mendeskripsikan algoritma. – Harus dapat ditranslasikan ke kode mesin. Fitur dari bahasa ALGOL

– Menggunakan konsep tipe data secara formal. – Nama variable tidak terbatas panjangnya. – Index array tidak terbatas.

– Parameter dipisahkan oleh modenya (in dan out). – Index ditempatkan dalam bracket (tanda [ ]).

– Mendukung compound statement (pernyataan majemuk) (begin…end). – Tanda semicolon (titik koma, ;) merupakan pemisah antar statement. – Menggunakan operator assignment :=

(14)

ALGOL 60 – 1960

Merupakan modifikasi dari ALGOL 58. Fitur baru :

– Block structure (local scope).

– 2 model passing parameter(by name dan by value).

– Rekursi subprogram. – Stack-dynamic array.

(15)

ALGOL 60 – 1960

Kesuksesan ALGOL 60 :

– Menjadi bahasa yang standar/formal untuk merealisasikan algoritma selama 20 tahun.

– Semua bahasa imperative sesudahnya mengacu pada ALGOL-60.

– Merupakan bahasa pertama yang tidak bergantung pada mesin (machine independent language).

Merupakan bahasa pertama yang syntaxnya didefinisikan secara formal. (Menggunakan BNF- Backus Naur Form/ Backus Normal Form).

(16)

ALGOL 60 – 1960

Kegagalan :

– Tidak dipakai secara luas di Amerika Serikat, dengan alasan :

• Tidak terdapat I/O dan character set, sehingga program tidak dapat diporting.

• Karena terlalu fleksible, menjadi susah untuk diimplementasi.

• Deskripsi syntax formal.

• Kurang dukungan dari IBM (yang saat itu merupakan perusahaan yang paling maju dalam bidang

(17)

COBOL – 1960

COmmon Business Oriented Language Perkembangan bahasa saat itu :

– UNIVAC menggunakan FLOW-MATIC. – USAF menggunakan AIMACO.

– IBM mengembangkan COMTRAN. Didasarkan pada FLOW-MATIC

– Fitur FLOW-MATIC :

• Panjang nama variable hingga 12 karakter

• Menggunakan nama dalam bahasa inggris untuk operator aritmatika.

• Data dan code terpisah.

• Kata kerja (verbs) merupakan kata pertama dalam setiap statement.

(18)

COBOL – 1960

Tujuan desain :

– Harus seperti bahasa Inggris yang sederhana. – Mudah untuk digunakan.

– Harus dapat dipergunakan secara luas.

– Harus terbebas dari masalah implementasi compiler.

Desainer terdiri dari perusahaan komputer dan DoD (U.S Departement of Defense). Kontribusi terhadap perkembangan bahasa pemrograman :

– Fasilitas makro yang pertama dalam bahasa tingkat tinggi. – Struktur data hirarki (record).

– Statement kondisi bersarang (nested selection statements). – Nama variable dapat mencapai 30 karakter.

– Pembagian data.

(19)

BASIC – 1964

Beginners All-purpose Symbolic Instruction Code.

Dibuat oleh John Kemeny dan Thomas Kurtz. Mudah untuk dipelajari.

Struktur program jelek.

Dialek dari BASIC yang sekarang populer : QuickBASIC dan Visual BASIC.

(20)

PL/I – 1965

Programming Language I.

Dibuat oleh IBM dan SHARE.

Menggabungkan fitur dari ALGOL 60, COBOL, dan FORTRAN.

Dikembangkan untuk aplikasi Bisnis dan Science.

(21)

Early Dynamic Language

Karakteristik : Memiliki tipe dinamik, dan dynamic storage allocation.

APL (A Programming Language) – 1962.

– Didesain sebagai HDL (Hardware Description Language) oleh Ken Iverson dari IBM.

– Sangat ekspresif (terdapat banyak operator). – Program sangat sulit untuk dibaca.

SNOBOL – 1964.

– Didesain sebagai string manipulation language di Bell Labs oleh Farber, Griswold, dan Polensky.

(22)

SIMULA 67 – 1967

SIMULAtion.

Didesain untuk simulasi system oleh

Nygaard dan Dahl (Norwegia).

Didasarkan pada ALGOL 60 dan SIMULA I

Kontribusi : Coroutine (semacam

subprogram) yang diimplementasi dalam

struktur yang disebut class. Class adalah

struktur yang memuat data dan fungsi.

(23)

ALGOL 68 – 1968

Merupakan pengembangan dari ALGOL 60. Desain didasarkan pada konsep orthogonality. Kontribusi :

– User-defined data structures. – Tipe referensi.

– Array dinamik (flex array).

Mempunyai pengaruh yang besar pada bahasa

pemrograman berikutnya, terutama Pascal, C, dan Ada.

(24)

Pascal –1971

Didesain oleh Niklaus Wirth, yang keluar dari tim ALGOL 68.

Dikembangkan dari ALGOL 68.

Didesain untuk pengajaran pemrograman terstruktur.

Kecil dan mudah, tidak terdapat hal yang benar-benar baru.

Tetap menjadi bahasa pemrograman yang digunakan secara luas untuk mengajarkan

(25)

C – 1972

Didesain untuk pemrograman system oleh Dennis Ritchie dari Bell Labs.

Dikembangkan dari bahasa B dan ALGOL 68. Memiliki operator yang banyak, tetapi dari segi pengecekan tipe data (type checking) kurang baik.

(26)

Bahasa lain yang merupakan

turunan dari ALGOL

Modula-2 (1970 oleh Niklaus Wirth) Pascal ditambah modul untuk low-level agar dapat digunakan untuk pemrograman sistem.

Modula-3 (1980 oleh Digital dan Olivetti) Modula-2

ditambah class, exception handling, garbage-collection, dan concurrency.

Oberon (1980 oleh Wirth) Menambahkan OOP ke

Modula-2, penghilangan statement for, tipe enumerasi dan statement with).

Delphi (1994 Borland) Pascal ditambah support untuk OOP, lebih aman (dalam hal pointer dan memori)

(27)

PROLOG – 1972

PROgramming in LOGic.

Dikembangkan oleh Comeraurer dan Roussel University of Aix-Marseille).

Didasarkan pada formal logic. Sifatnya non-procedural.

Dapat disebut sebagai Intelligent Database

System yang menggunakan proses pengambilan keputusan untuk memutuskan kebenaran dari

(28)

Ada – 1983

Dikembangkan untuk DoD.

Pengembangan melibatkan ratusan orang, biaya besar, dan waktu pengembangan sekitar 8 tahun. Memuat semua yang akhirnya dikenal sebagai bagian dalam software engineering dan language design.

Kompiler yang pertama sangat rumit, dan

kompiler yang pertama dapat digunakan dirilis 5 tahun setelah desain bahasanya selesai.

(29)

Ada – 1983

Ada 95 – Mendukung OOP melalui penurunan tipe, terdapat mekanisme kontrol yang lebih baik dalam penggunaan data secara bersama-sama, library lebih flexible.

Kontribusi :

– Packages – dukungan untuk data abstraction. – Exeception handling.

– Generic program units.

(30)

Smalltalk –1972-1980

Dikembangkan di Xerox Palo Alto Research

Center (Xerox PARC), oleh Alan Kay, kemudian dilanjutkan oleh Adele Goldberg.

Merupakan bahasa yang pertama kali

mengimplementasikan konsep object-oriented (data abstraction, inheritance, dan dynamic type binding).

Merupakan pionir dari GUI (Graphical User Interface).

(31)

C++ - 1985

Dikembangkan oleh Bjarne Stroustrup di Bell Labs. Dikembangkan dari C dan SIMULA 67.

Terdapat fasilitas OOP yang berasal dari SIMULA 67 dan ditambahkan ke C.

Mempunyai exception handling.

Merupakan bahasa yang besar dan kompleks karena mendukung procedural programming dan object-oriented programming.

Popularitasnya cepat berkembang bersama dengan OOP. ANSI standard pada tahun 1997.

Eiffel – merupakan bahasa yang juga mendukung OOP, lebih kecil dan lebih mudah dari C++, didesain oleh Bertrand Meyer tahun 1992.

(32)

Java – 1995

Dikembangkan oleh James Gosling, Sun Microsystems

Didasarkan pada C++

Secara signifikan menyederhanakan C++. Hanya mendukung OOP.

Mempunyai reference, tetapi tidak pointer.

Terdapat juga dukungan untuk applets (world wide web) dan concurrency (Java Threads).

(33)

Scripting Language untuk

Web

JavaScript

– Digunakan pada Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document. – Memepunyai syntax yang mirip dengan Java. PHP (PHP Hypertext Preprocessor)

– Digunakan pada Pemrograman Web (server-side) menghasilkan code HTML sebagai outputnya.

– Mempunyai syntax yang mirip dengan C++ (support OOP).

(34)

Scripting Language untuk

Web

VBScript

– Digunakan pada Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document.

– Didasarkan atas Visual Basic. – Dikembangkan oleh Microsoft. Jscript

– Digunakan pada Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document.

– Memiliki syntac yang mirip dangan C++. – Dikembangkan oleh Microsoft.

ASP (Active Server Page)

– Digunakan pada Pemrograman Web (server-side) menghasilkan code HTML sebagai outputnya.

(35)
(36)

Tugas Anda

Buat paper tentang bahasa pemrograman – Java – Delphi – C++ – C# – PHP – Ruby – VB.NET – Python – Perl – ASP

Referensi

Dokumen terkait

nilai ajaran Sunan Drajat; 3) tahap development berisi proses validasi dan uji coba produk; 4) tahapan implementation berisi penggunaan di lapangan dengan tujuan untuk

Pengertian lainnya, Pengolahan Citra Digital adalah sebuah disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas citra (peningkatan

Nilai temperatur curie yang didapatkan dari kedua penelitian ini masih jauh lebih kecil jika dibandingkan dengan temperatur curie yang dimiliki oleh bahan PZT.. Pada penelitian ini

Ber dasar kan hasil analisis dan pembahasan yang telah dikemukakan pada bab sebelumnya, maka dalam bab ini akan di kemukakan secara gar is besar mengenai kesimpulan yang di ur ai

Berdasarkan hasil penelitian terlihat bahwa responden yang memiliki pengetahuan baik, lebih banyak berperilaku sedang dan baik dalam menghadapi upaya mencegah

(1) Menyelenggarakan pendidikan tinggi untuk menghasilkan lulusan yang unggul dan berdaya saing tinggi dalam bidang PendidikanTeknik Elektro; (2) menyelenggarakan pene- litian

Kompetensi Keahlian : Agribisnis Tanaman Pangan dan

Cola adalah minuman yang digemari oleh orang orang, dari anak-anak, remaja hingga dewasa.. Karena rasanya yang segar dan nikmat, cola cocok di nikmati waktu siang hari,