Assalamu'alaikum wr.wb.
Salam Blogger!, pada kesempatan kali ini saya akan membahas tentang Evolusi Bahasa Pemrograman. Dibawah ini adalah beberapa evolusi bahasa pemrograman.
Bahasa
pemrograman juga sudah ada pada sekitar tahun 1945 yang bernama Plankalkul
yang dibuat oleh ilmuwan Jerman bernama Konrad Zuse ( baca : Tsoo zuh), namun
belum sempat diterapkan karena kondisi pada saat itu sedang perang.
Pseudo-code
adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara
menyelesaikan suatu masalah.Pseudo-code sering digunakan oleh seseorang untuk
menuliskan algoritma dari suatu permasalahan.Pseudo-code berisikan
langkah-langkah untuk menyelesaikan suatu permasalahan (hampir sama dengan
algoritma), hanya saja bentuknya sedikit berbeda dari algoritma.
Pseudo-code
menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu
biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal
dan juga lebih ringkas dari pada algoritma.
- Laning dan
Zierler System
Bahasa ini
diimplementasikan pada komputer Whilwind – MIT. Laning dan Zierler
System merupakan bahasa yang menggunakan system compiler pertama
di dunia. Selain itu bahasa ini juga mempunyai fasilitas translasi ekspresi dan
pemanggilan fungsi. Kelemahannya adalah bahasa ini tidak pernah diporting ke
mesin lain.
Pada tahun
1954, John Backus dan
IBM mulai
mengembangkan bahasa pemrograman FORTRAN (FORmula TRANslator). Bahasa FORTRAN
merupakan bahasa pemrograman level tinggi pertama yang dikomersialkan.
Pemrograman level tinggi maksudnya adalah perintah atau kodenya mudah dibaca
dan dipahami oleh manusia. FORTRAN pada mulanya didesain untuk mengekspresikan
humus matematika dan maiz merupakan bahasa matematika yang paling banyak
digunakan. Bahasa ini juga berguna untuk aplikasi bisnis yang kompleks, seperti
perkiraan (forecasting) dan pemodelan. Namur karena tidak mampu manangani operasi
input/output atau pemrosesan file dalam volume besar, maka bahasa FORTRAN tidak
digunakan untuk masalah bisnis yang biasa.
Pseudo-code
& flowchart
Kerugian :
-
FORTRAN tidak menangani operasi input dan output pada peralatan penyimpanan
seefisien bahasa lain yang levelnya lebih tinggi
-
Memiliki keterbatasan untuk mengekspresikan dan memproses data nonnumerik
-
Tidak bisa dibaca atau dipahami semudah bahasa level tinggi yang lain.
Keuntungan : FORTRAN bisa
menangani ekspresi matematika dan logika yang kompleks. Pernyataanya cukup
pendek dan sederhana.
Pada tahun
1958, FORTRAN II dan ALGOL dipublikasikan bersamaan dengan diluncurkannya LISP.
Sedangkan pada tahun 1959, bahasa pemrograman COBOL juga diluncurkan. Sejak
saat itu perkembangan bahasa pemrograman berkembang sangat cepat.
Merupakan
perbaikan dari generasi sebelumnya yaitu FORTRAN I. hal yang membedakan antara
FORTRAN II dengan FORTRAN I adalah mengenai compilationnya. Dimana kita
tahu pada FORTRAN I compilationnya tidak terpisah, sedangkan pada
FORTRAN II ini compilationnya terpisah.
Bahasa ini
menggunakan deklarasi tipe eksplisif serta logical selection
statement (Logical IF). Subprogram dapat menjadi parameter.
FORTRAN IV kemudian menjadi standar ANSI pada tahun 1968.
Secara umum,
FORTRAN 77 merupakan perkembangan ke arah pemrograman terstruktur dibandingkan
FORTRAN IV. Misalnya struktur IF THEN – ELSE – END IF yang semula belum ada
pada FORTRAN IV mulai dimasukkan pada FORTRAN 77.
Tambahan fasilitas baru lainnya :
- Adanya variabel berjenis karakter (dengan spesifikasi CHARACTER) beserta
fungsi-fungsi bawaannya (intrinsic function)
- Fasilitas penanganan unit input dan output (OPEN, CLOSE, INQUIRE)
- Pendemensian larik dengan indeks yang tidak harus positif (bisa nol atau
negatif)
FORTRAN 90
sudah menggunakan modul-modul dengan akses private maupun public.
Terdapat array dinamik. record dan pointer. FORTRAN 90
juga bersifat rekursif. Terdapat statement CASE, EXIT, dan CYCLE. Serta
pengecekan tipe parameter.
LISP (LISt
Processing) dispesifikasikan John McCarthy pada tahun 1950. Mulanya LISP
dimaksudkan sebagai model komputasi alternatif berdasarkan teori
fungsi/persamaan rekursif.
Tujuan McCarthy adalah sebagai berikut:
- Menciptakan bahasa untuk komputasi simbolik bukan numerik.
- Implementasi model komputasi berdasarkan teori fungsi rekursif.
- Menyediakan definisi sintaks dan simantiks bahasa yang bersih.
- Mendemonstrasikan secara formal kelengkapan model komputasi ini.
Selain sebagai formalisasi matematika, LISP merupakan bahasa pemrograman yang
praktis. LISP sesuai namanya LISt Processing dirancang untuk menyediakan
kemampuan manipulasi simbol untuk menangani masalah pemrograman yang melibatkan
banyak manipulasi simbolik.
Pada LISP, list adalah basis program dan struktur data. LISP menyediakan
fungsi-fungsi penanganan list yang diimplementasikan secara internal sebagai
struktur pointer berkait. Program dapat menggunakan keampuhan dan generalitas
penuh struktur berkait dengan bebas dari tangungjawab mengelola pointer dan
operasi-operasi pointer secara eksplisit.
Mulanya LISP adalah bahasa yang sangat kecil dan sederhana, yaitu:
- Fungsi untuk membentuk dan mengakses list
- Mendefinisikan fungsi baru
- Mendeteksi kesamaan
- Evaluasi ekspresi
- Kendali Program: Rekursi dan Kondisi tunggal
Selain itu, adanya penambahan pada LISP yaitu :
- Fungsi untuk penstrukturan data
- Kendali program
- Aritmatika real dan integer
- I/O
- Penyuntingan fungsi LISP
- Penelusuran eksekusi program.
LISP berkembang menjadi lingkungan yang kaya, ampuh dan praktis untukmembangun
sistem perangkat lunak besar. Pada tahun 1993, DARPA mengusulkan standarisasi
disebut Common LISP.
LISP merupakan bahasa yang memiliki fitur unik. Bahasa LISP menjadi media yang
luar biasa untuk mempelajari bentukan-bentukan pemrograman dan struktur data
serta menghubungkannya ke fitur-fitur bahasa yang mendukungnya.
Fitur paling berarti adalah deskripsi proses di LISP yang disebut procedure
dapat direpresentasikan dan dimanipulasi sebagai data.
Pentingnya hal ini adalah bahwa teknik-teknik perancangan program yang ampuh
yang bergantung pada pengaburan antara data “pasif” dan proses “aktif”.
Fleksibilitas LISP dalam menangani prosedur sebagai data membuatnya menjadi
bahasa yang cocok untuk eksplorasi teknik-teknik pengaburan.
Kemampuan merepresentasi prosedur sebagai data juga membuat LISP merupakan
bahasa luar biasa untuk menulis program yang harus memanipulasi program lain
sebagai data seperti interpreter atau kompilator yang mendukung bahasa
pemrograman.
Alasan
dikembangkannya ALGOL 58 :
1.
FORTRAN terbatas untuk mesin IBM 70x.
2.
Bahasa-bahasa yang lain juga dikembangkan tetapi hanya
untuk mesin tertentu.
3.
Tidak terdapat bahasa yang portable, semuanya
bergantung pada mesin
4.
Tidak terdapat bahasa yang universal.
Tujuan dari
bahasa ALGOL adalah bahasa ini mendekati notasi matematika, baik untuk
mendeskripsikan algoritma, dan harus dapat ditranslasikan ke kode mesin.Fitur
dari bahasa ALGOL :
1.
Menggunakan konsep tipe data secara formal.
2.
Nama variable tidak terbatas panjangnya.
3.
Index array tidak terbatas.
4.
Parameter dipisahkan oleh modenya (in dan out).
5.
Index ditempatkan dalam bracket (tanda [ ]).
6.
Mendukung compound statement (pernyataan majemuk)
(begin…end).
7.
Tanda semicolon (titik koma, merupakan pemisah antar statement.
8.
Menggunakan operator assignment :=
9.
Statement IF mempunyai ELSE-IF (nested-IF)
Fitur baru pada
ALGOL 6 adalah:
1.
Block structure (local scope).
2.
2 model passing parameter (by name dan by
value).
3.
Rekursi subprogram.
4.
Stack-dynamic array.
Meskipun ALGOL
60 merupakan penyempurnaan dari ALGOL 58 tetap saja ALGOL 60 belum mempunyai
I/O dan string handling. Bahasa ini merupakan bahasa pertama yang
syntaxnya didefinisikan secara formal. (Menggunakan BNF- Backus Naur Form/
Backus Normal Form). Karena dominasi FORTRAN di Amerika dan syntaxnya formal
bahasa ini tidak dipakai secara luas.
Singkatan dari
COmmon Business Oriented Language. Tujuan desain COBOL adalah:
1.
Harus seperti bahasa Inggris yang sederhana.
2.
Mudah untuk digunakan.
3.
Harus dapat dipergunakan secara luas.
4.
Harus terbebas dari masalah implementasi compiler.
5.
Kontribusi terhadap perkembangan bahasa pemrograman :
6.
Fasilitas makro yang pertama dalam bahasa tingkat tinggi.
7.
Struktur data hirarki (record).
8.
Statement kondisi bersarang (nested selection
statements).
9.
Nama variable dapat mencapai 30 karakter.
10.
Pembagian data.
Beginners
All-purpose Symbolic Instruction Code dibuat oleh John Kemeny dan Thomas Kurtz.
Walaupun struktur program ini jelek tetapi bahasa ini tergolong mudah untuk
dipelajari. Dialek dari BASIC yang sekarang populer adalah QuickBASIC dan
Visual BASIC.
Didesain oleh
Niklaus Wirth, yang keluar dari tim ALGOL 68. Merupakan bahasa yang 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 pemrograman di
universitas-universitas.
Prolog adalah
bahasa pemrograman logika atau di sebut juga sebagai bahasa non-prosedural.
Namanya diambil dari bahasa perancis programmation en logique (pemrograman
logika). Bahasa ini diciptakan oleh Alanin Colmerauer dan Robert kowalski
sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang
memungkinkan pernyataan logika alih-alih rangkaian perintah untuk
dijalankankomputer.
Berbeda dengan
bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai
teknik pencariannya seperti pada Delphi, Pascal, Basic, Cobol dan
bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian
yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
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. Didistribusikan bersama system operasi UNIX.
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).
Bahasa
pemrograman Ada, adalah sebuah bahasa pemrograman prosedural yang didesain di
bawah arahan Departemen Pertahanan Amerika Serikat pada akhir tahun 1970-an dan
awalnya ditujukan sebagai bahasa utama dalam membangun perangkat lunak
Departemen Pertahanan. Nama Ada sendiri diambil dari Augusta Ada Byron, seorang
istri bangsawan (countess) Lovelace yang dianggap sebagai seorang pemrogram
komputer (programmer) yang pertama. Bahasa ini diturunkan dari bahasaPascal tapi
memiliki beberapa tambahan semantik dan sintaksis, seperti halnya eksekusi
tugas secara serentak, operator overloading, dan juga module. 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.
– Concurrency –
melalui model tasking
Dikembangkan
oleh Bjarne Stroustrup di Bell Labs. Merupakan pengembangkan 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. Menjadi standard ANSI pada tahun 1997.
Dikembangkan
oleh James Gosling, Sun Microsystems. Java didasarkan pada penyederhanakan C++.
Kekurangan Java adalah bahasa ini hanya mendukung OOP. Java mempunyai
reference, tetapi tidak pointer. Terdapat juga dukungan untuk applets (world
wide web) dan concurrency (Java Threads).
- Scripting
Language untuk Web
a)
JavaScript
Digunakan pada
Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document.
Mempunyai syntax yang mirip dengan Java.
b)
PHP (PHP Hypertext Preprocessor)
Digunakan pada
Pemrograman Web (server-side). PHP menghasilkan code HTML sebagai outputnya.
Mempunyai syntax yang mirip dengan C++ (support OOP).
c)
VBScript
Digunakan pada
Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document.
Didasarkan atas Visual Basic. Bahasa ini dikembangkan oleh Microsoft.
d)
Jscript
Digunakan pada
Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document. Memiliki
syntac yang mirip dangan C++. Dikembangkan oleh Microsoft.
e)
ASP (Active Server Page)
Digunakan pada
Pemrograman Web (server-side) menghasilkan code HTML sebagai outputnya.
Dikembangkan oleh Microsoft.
Sumber:
alizamil.wordpress.com/2010/06/17/evolusi-bahasa-pemrograman/