Jurnal Computech & Bisnis, Vol. 8, No.
1, Juni 2014, 35-42
ISSN 2442-4943
EVOLUSI BAHASA PEMROGRAMAN
(Evolution of Programming Language)
Muhammad Taufiq Pratama
Departemen Teknik Komputer dan Informatika – Politeknik Negeri Bandung
Jln. Gegerkalong Hilir Ds. Ciwaruga Bandung 40551
Email: muhammad.taufiq.tif414@polban.ac.id
Abstract
Programming language, such a technology, always change from time to time. Evolution
of programming language can’t be released from its history. There have been always
revision of a programming language, or any new programming language each decade, to
fulfill human’s need which is getting complex. Thus, the quantity of revisions or new
languages occured can’t be counted as easily anymore, hence reconstructing its history
wouldn’t be an easy thing to do as well. Resoluting this case, the Conference on the
History of Programming Languages (HOPL) were held twice in USA in 1978 and 1993.
On the first conference, the conference committee decides thirteen languages which fulfill
criteria such as: having been in use for at least 10 years, had significant influence, and
were still in use. On the second conference, the chosen programming languages were
presented by the author of each chosen programming language to be documented in
detail, which the result becomes an internationally approved history base of
programming language. Yet of course the documented programming languages range are
only those which occurred ten years before the second conference were held, hence the
programming languages which occurred after then weren’t documented by HOPL.
Keywords: hopl; selection; conference
Abstrak
Bahasa pemrograman, layaknya sebuah teknologi, selalu berubah dari waktu ke waktu.
Evolusi dari bahasa pemrograman tidak terlepas dari sejarah bahasa pemrograman
tersebut. Selalu terdapat revisi dari sebuah bahasa pemrograman, atau munculnya
bahasa pemrograman baru setiap dekade, untuk memenuhi kebutuhan manusia yang
semakin kompleks. Akibatnya, jumlah revisi maupun bahasa baru yang muncul tidak lagi
dapat dihitung secara mudah, sehingga merekonstruksi sejarahnya menjadi hal yang
tidak mudah pula. Mengatasi hal ini, pada diadakanlah Conference on the History of
Programming Languages (HOPL) sebanyak dua kali di Amerika Serikat pada tahun 1978
dan 1993. Pada konferensi pertama, komite konferensi tersebut menentukan tiga belas
bahasa pemrograman yang memenuhi kriteria berupa: telah digunakan selama
setidaknya sepuluh tahun sebelum diadakannya konferensi, memiliki pengaruh yang
signifikan terhadap perkembangan bahasa pemrograman, dan bahasanya masih
digunakan hingga saat itu. Pada konferensi kedua, bahasa pemrograman yang terpilih
dipresentasikan oleh para pengembang dari bahasa pemrograman terpilih untuk
selanjutnya didokumentasikan secara rinci, yang hasilnya kemudian menjadi dasar
sejarah bahasa pemrograman yang diakui secara internasional. Namun tentu saja
lingkup bahasa pemrograman yang terdokumentasi hanya bahasa pemrograman yang
35
36 Jurnal Computech & Bisnis, Vol. 8, No. 1, Juni 2014, 35-42
muncul sepuluh tahun sebelum konferensi kedua diadakan, sehingga bahasa
pemrograman yang muncul setelahnya tidak dicantumkan dalam dokumentasi HOPL.
Kata kunci: hopl; seleksi; konferensi
PENDAHULUAN Hopper [Wexelbat, 1981]. Beliau pula
Seiring dengan perkembangan teknologi yang menemukan istilah debugging
komputer, bahasa yang digunakan untuk dalam mengatasi glitch pada bahasa
merakit sistem dalam komputer pun pemrograman.
berkembang setiap tahunnya. Bahasa Bahasa pemrograman yang telah ada
pemrograman yang dikenal pada saat ini saat itu terus berkembang dan bahasa-
pada dasarnya berasal dari bahasa mesin bahasa baru terus bermunculan.
yang dimodifikasi sintaksnya, sehingga Perkembangan bahasa pemrograman
bisa lebih mudah dipahami manusia. yang pesat ini menarik perhatian
Bahasa pemrograman tingkat tinggi lembaga ACM Special Interest Group
yang dikenal saat ini dapat dipahami on Programming Languages
oleh komputer dengan terlebih dahulu (SIGPLAN) dalam mengadakan
mengubah perintah-perintah yang konferensi untuk mendokumentasikan
diberikan pemrogram melalui compiler sejarah bahasa pemrograman hingga
ataupun interpreter. Proses tersebut titik waktu tersebut, yang dinamakan
tentu tidak ditemukan begitu saja, pasti Conference on the History of
terdapat sejarah dari bahasa Programming Languages (HOPL).
pemrograman sehingga dapat berevolusi Konferensi dilaksanakan sebanyak dua
menjadi bahasa tingkat tinggi yang kita kali. Konferensi pertama (HOPL) pada
kenal saat ini. tahun 1978 memilih tiga belas bahasa
Sejarah bahasa pemrograman tingkat pemrograman yang memenuhi kriteria
tinggi dimulai dengan munculnya sebagai berikut:
pseudocode pada tahun 1949 yang mulai 1. Telah digunakan selama
menggantikan pemrograman setidaknya sepuluh tahun
menggunakan bahasa mesin yang dirasa
terlalu rumit. Dengan ditemukannya 2. Memiliki pengaruh yang
sistem penulisan yang mendekati bahasa signifikan terhadap bidang
manusia tersebut, mulailah muncul programming
bahasa-bahasa tingkat tinggi pertama 3. Masih digunakan hingga saat
seperti FORTRAN (1957), LISP (1960), konferensi diadakan
ALGOL (1958), COBOL (1960), dan
BASIC (1964). Bahasa-bahasa tersebut Dari ketiga kriteria tersebut, bahasa-
pada dasarnya diciptakan atas semangat bahasa pemrograman yang terpilih pada
yang sama, yaitu bahasa yang digunakan seleksi pertama adalah:
diharapkan tidak hanya bisa mendekati
bahasa manusia, namun juga bisa
dimengerti oleh komputer dengan
terlebih dahulu melalui proses
compiling. Orang pertama yang
menemukan compiler (penerjemah
bahasa pemrograman tingkat tinggi ke
bahasa mesin) adalah Grace Murray
Pratama, Evolusi Bahasa Pemograman 37
HOPL I HOPL II
ALGOL Ada (1977)
APL
ALGOL 68 (1968)
APT
C (1972)
BASIC
C++ (1985)
COBOL
CLU (1975)
FORTRAN
DSL (Simula
1967)
GPSS
FORMAC (1964)
JOSS
JOVIAL Forth (1970)
LISP Icon (1977)
PL\I
Lisp (1960)
SIMULA Monitor and
Concurrent
Pascal (1976)
SNOBOL
Pascal (1969)
Gambar 1 Bahasa Pemrograman
yang Terpilih dalam
Prolog (1972)
HOPL I
Smalltalk (1980)
Konferensi kedua (HOPL-II)
diadakan pada tahun 1993 untuk Gambar 2 Bahasa Pemrograman
mematangkan konsep sejarah bahasa yang Terpilih dalam
pemrograman yang bersifat HOPL II
kronologis. Terdapat perubahan
Dapat dilihat bahwa ada beberapa
yang cukup signifikan terhadap
bahasa pemrograman yang mungkin
bahasa-bahasa pemrograman yang
seharusnya ada, namun tidak terdapat
terpilih pada konferensi ini,
dalam HOPL-II. Misalnya, FORTRAN
mengingat celah waktu antara
dan COBOL yang dipilih pada
konferensi yang pertama dengan
konferensi pertama, tidak terpilih dalam
yang kedua cukup jauh, dan bahasa
konferensi kedua. Hal ini dikarenakan
pemrograman terus mengalami
bahasa tersebut masih mengalami
perkembangan selama jangka waktu
perubahan yang signifikan pada saat
tersebut. Bahasa-bahasa
diadakannya HOPL-II. Misalnya, bahasa
pemrograman yang terpilih pada
FORTRAN baru disempurnakan pada
seleksi kedua adalah:
tahun 1990 dengan dirilisnya versi
FORTRAN 90, sedangkan bahasa yang
38 Jurnal Computech & Bisnis, Vol. 8, No. 1, Juni 2014, 35-42
dipilih adalah bahasa yang telah relatif saat ini. Pascal dibangun karena
stabil dan telah digunakan sepuluh tahun kesadaran Niklaus Wirth terhadap
sebelum konferensi kedua diadakan. mahasiswanya yang sulit
beradaptasi dengan teknik
pemrograman terstruktur dengan
Bahasa yang Tercantum dalam menggunakan bahasa yang ada
HOPL-II (FORTRAN dan ALGOL). Bahasa
ini didesain secara sederhana dan
Secara singkat, berikut ini deskripsi dari efisien, berbeda dengan ALGOL 68
bahasa pemrograman yang yang juga dibangun pada tahun yang
dipresentasikan dalam konferensi kedua kurang lebih sama. Meskipun
(HOPL-II). sederhana, Pascal pernah digunakan
dalam pengembangan sistem operasi
1. ALGOL 68 Macintosh dan aplikasi Skype.
Bahasa ini merupakan kelanjutan 3. Concurrent Pascal
dari ALGOL 60, yang sebelumnya
menjadi bahasa pertama yang tidak Bahasa ini dibangun oleh Per Brinch
bergantung pada mesin (machine Hansen secara terpisah dari Pascal
independent language). Bahasa ini yang dibuat oleh Niklaus Wirth.
merupakan bahasa yang sangat Perbedaan yang signifikan dari
berpengaruh terhadap bahasa Concurrent Pascal (atau sering
pemrograman berikutnya, terutama disebut PASCAL-FC) adalah
Pascal, C, dan Ada (yang secara sistemnya yang bersifat konkuren,
tidak langsung berpengaruh pula berbeda dengan Pascal yang bersifat
terhadap bahasa-bahasa modern sekuensial. Hal ini memungkinkan
yang dipengaruhi oleh ketiga bahasa komputer untuk mengeksekusi
tersebut). Kontribusi dari bahasa beberapa perintah “sekaligus”.
pemrograman ini diantaranya adalah Bahasa ini ditujukan untuk
diterapkannya user-defined data diaplikasikan dalam sistem operasi
structures, tipe referensi, dan array ataupun sistem monitor secara real-
dinamik (flex array). Bahasa ini time dalam beberapa komputer yang
dibangun dengan harapan bidang bersifat shared memory. Pada
penggunaannya akan lebih luas dasarnya sintaks dan semantik yang
dengan banyaknya sintaks dan digunakan sama dengan Pascal yang
semantik yang disediakan. Namun bersifat sequensial, hanya saja fitur-
sayangnya hal ini membuat ALGOL fitur seperti variant records, goto
68 lebih sulit untuk digunakan statement, procedures as
dibanding dengan versi sebelumnya, parameters, pointer types, packed
ALGOL 60, sehingga kalah bersaing arrays, dan file types dalam Pascal
dengan C dan Pascal yang relatif yang bersifat sekuensial ditiadakan
lebih umum digunakan karena untuk membuat bahasa ini lebih
pemakaiannya lebih mudah. sederhana.
2. Pascal 4. Ada
Bahasa ini dibangun pada tahun Bahasa ini sebenarnya dibangun
1968-1969 oleh Niklaus Wirth yang oleh tim yang dipimpin Jean Ichbiah
keluar dari tim ALGOL 68. Pascal untuk United States Department of
pada masanya merupakan bahasa Defense (DoD) pada tahun 1977
prosedural yang sangat berpengaruh. hingga 1983 untuk menggantikan
Bahkan, Pascal masih digunakan ratusan bahasa pemrograman yang
dalam latihan pemrograman sebelumnya digunakan oleh DoD.
struktural dan struktur data hingga Nama bahasa pemrograman yang
dipengaruhi oleh sintaks ALGOL 68
Pratama, Evolusi Bahasa Pemograman 39
ini diambil dari orang yang 6. Prolog
dianggap sebagai pemrogram
Bahasa pemrograman ini pada
komputer pertama, Ada Lovelace
awalnya tidak ditujukan untuk
[Fuegi dan Francis, 2003].
menjadi sebuah bahasa
Pengembangan bahasa ini
pemrograman, melainkan untuk
melibatkan ratusan orang, biaya
memroses bahasa natural [Clocksin,
besar, dan waktu pengembangan
2003]. Prolog sendiri dibangun pada
yang relatif lama. Kompiler yang
tahun 1972 oleh Colmerauer
pertama dibuat pada tahun 1977
bersama dengan Philippe Roussel.
sangatlah rumit. Kompiler yang
Seiring perkembangannya, Prolog
dapat digunakan secara luas baru
menjadi bahasa pemrograman
dirilis 5 tahun kemudian setelah
pengolah logika yang berasosiasi
desain bahasanya telah
dengan kecerdasan buatan dan
disempurnakan. Pada awalnya
komputasi linguistik. Hingga saat ini
bahasa Ada difokuskan untuk
Prolog masih digunakan dalam
diaplikasikan pada sistem embedded
pembuatan sistem pakar,
and real-time. Namun seiring
pembuktian teori, dan pemrosesan
perkembangannya Ada sekarang
bahasa natural karena
bisa digunakan untuk pemrograman
kemampuannya dalam pemrosesan
berorientasi objek (OOP). Fitur yang
logika. Dalam Prolog, logika
pekat dalam bahasa ini adalah
program diekspresikan dengan relasi
strong typing, mekanisme modular
dan pengolahan query.
menggunakan package, exception
handling, dan runtime checking. 7. Discrete Simulation Language
5. Lisp Bahasa yang termasuk dalam
kategori ini adalah bahasa yang
Bahasa ini dibangun oleh John
memiliki model operasi dari sistem
McCarthy pada tahun 1958 dan
yang sifatnya diskrit. Dengan kata
desainnya dipublikasikan pada tahun
lain, setiap event dalam suatu waktu
1960, menjadikannya salah satu
menandakan perubahan state dari
bahasa pemrograman tertua.
suatu sistem, lalu simulasi hanya
Beberapa sumber mengatakan
dilakukan pada event tertentu.
bahwa Lisp merupakan salah satu
Berbeda dengan continous
bahasa pemrograman terbaik karena
simulation yang mendeteksi
strukturnya yang memudahkan
perubahan-perubahan yang terjadi
pemrogram untuk memperluas
pada sistem setiap waktunya.
bahasa yang digunakan ataupun
Karena discrete simulation
mengimplementasikan dialek baru.
melakukan simulasi lebih sedikit
Fitur yang dimiliki Lisp
dibanding dengan continous
membuatnya digunakan secara luas
simulation, maka discrete
dalam bidang penelitian kecerdasan
simulation akan bekerja lebih cepat
buatan (AI). Kontribusi dari bahasa
dalam melakukan pemodelan.
ini diantaranya penggunaan tree
Contoh yang paling populer adalah
data structures (functional
bahasa Simula. Bahasa ini dibangun
programming), automatic storage
oleh Ole- Johan Dahl dan Kristen
management, dynamic typing,
Nygaard sekitar tahun 1967. Simula
conditionals, high-order functions,
dapat dikatakan sebagai bahasa
recursion, dan self-hosting compiler.
pemrograman berorientasi objek
Namun kontribusi yang paling
(OOP) yang pertama karena fiturnya
dominan adalah sebagai pionir
yang disebut coroutine (semacam
dalam penggunaan fungsi dalam
subprogram) yang diimplementasi
pemrograman.
dalam struktur yang disebut class.
40 Jurnal Computech & Bisnis, Vol. 8, No. 1, Juni 2014, 35-42
Struktur inilah yang nantinya dilanjutkan oleh Adele Goldberg.
menjadi acuan pemrograman Smalltalk merupakan bahasa
berorientasi objek untuk bahasa- pertama yang mengimplementasikan
bahasa yang muncul berikutnya seluruh kunci dari konsep OOP
seperti C++, Java, dan C#. berupa data abstraction, inheritance,
dan dynamic type binding.
8. FORMAC
Disamping kelengkapan konsep
Bahasa ini dibangun oleh Jean E. OOP, Smalltalk merupakan pionir
Sammet bersama IBM pada tahun dari konsep What You See is What
1964. FORMAC merupakan bahasa You Get (WYSIWYG). Dengan kata
pertama yang membuat simbol- lain, Smalltalk adalah bahasa
simbol matematika dapat pemrograman yang berhasil
dikomputasikan secara praktis dan mengimplementasikan Graphical
signifikan dalam pemrograman. User Interface (GUI). Konsep ini
FORMAC memiliki fitur untuk merupakan pintu menuju bahasa
melakukan komputasi, manipulasi, pemrograman generasi selanjutnya,
dan penggunaan ekspresi simbolik yaitu pemrograman berbasis visual.
dalam persoalan aljabar. Sistem Built-in debugging dan object
inilah nantinya akan diadaptasi oleh inspection tools yang dimiliki oleh
FORTRAN IV dan membuat bahasa environment Smalltalk menjadi
tersebut menjadi lebih sempurna. standar dari Integrated Development
FORMAC menjadi sebuah ekstensi Environment yang ada saat ini.
dari FORTRAN dan memiliki tipe
11. Icon
data tersendiri, yaitu “FORMAC
variable.” Nama tersebut digunakan Bahasa ini dibangun oleh Ralph
untuk membedakan operasi aljabar Griswold pada tahun 1977. Fitur
dengan operasi matematika biasa. utama dari Icon adalah pengolahan
string dan pola tekstual. Icon adalah
9. CLU
hasil pengembangan dari bahasa
Bahasa ini dibuat oleh Barbara sebelumnya, yaitu SNOBOL yang
Liskov dan murid-muridnya di MIT juga merupakan bahasa pengolah
sekitar tahun 1974—975. CLU string. Pada awalnya Icon tidak
adalah bahasa pertama yang bersifat object-oriented, namun pada
mengimplementasikan constructor perkembangannya dibuatlah
untuk abstract data types (ADT), ekstensi yang mendukung sifat
yang menjadi salah satu kunci dari tersebut pada tahun 1996, yang
pemrograman berorientasi objek dinamakan Idol, sehingga nantinya
(OOP). Namun terdapat beberapa Icon berubah nama menjadi Unicon.
kunci utama OOP yang tidak Perbedaan yang cukup signifikan
terdapat dalam CLU, sehingga CLU antara Icon dengan bahasa lain pada
disebut sebagai bahasa “object- masanya adalah penggunaan konsep
based”, bukan sebagai “object- goal-directed execution, yaitu
oriented.” Konsep class dari Simula pengembalian ekspresi success atau
digunakan kembali dalam bahasa failure dalam operasi logika,
ini, sehingga CLU lebih mendekati dibanding mengembalikan nilai
bahasa OOP dibanding dengan boolean seperti bahasa umumnya.
Simula. Icon memiliki fitur string scanning
10. Smalltalk untuk mempermudah dalam
membandingkan string dengan
Bahasa ini dibangun dan menghindari hal-hal mendetail yang
dikembangkan di Xerox Palo Alto tidak perlu dalam menganalisis
Research Center (Xerox PARC) string.
oleh Alan Kay, kemudian
Pratama, Evolusi Bahasa Pemograman 41
12. Forth pengembangan dari bahasa C yang
diberi fitur OOP yang terdapat
Bahasa ini dibangun oleh Charles H.
dalam SIMULA. Akibatnya, C++
Moore pada sekitar tahun 1970.
menjadi bahasa yang besar dan
Berbeda dengan bahasa
kompleks karena mendukung baik
pemrograman berskala besar lainnya
procedural programming maupun
yang pengembangannya dibantu
object-oriented programming. Latar
oleh sebuah perusahaan besar
belakang dibangunnya bahasa ini
tertentu, pengembangan Forth hanya
adalah menciptakan program
dilakukan oleh satu orang, yaitu
berorientasi objek yang dapat
pembuatnya sendiri. Namun dalam
digunakan dalam pembuatan
perkembangannya, bahasa ini
aplikasi berskala besar, berbeda
menarik perhatian pemrogram
dengan bahasa SIMULA yang
dalam menciptakan tools untuk
hanya mampu mendukung
menyelesaikan masalah dalam
pembuatan aplikasi berbasis OOP
sebuah aplikasi. Forth bersifat stack-
berskala kecil. Disamping itu, C++
based, yaitu sistem yang bergantung
didesain agar tidak hanya mudah
kepada model stack machine dalam
digunakan seperti SIMULA, tetapi
melakukan passing parameter.
juga dapat mengungguli bahasa C
Forth yang sifatnya portabel
dalam ketepatan koreksi logika
menjadi populer pada tahun 1980
program, run-time speed, dan
karena cocok digunakan dalam
kompresi ukuran kode yang
mikrokomputer pada masanya.
dihasilkan.
13. C
Bahasa ini dibangun oleh Dennis
Ritchie dari AT&T Bell Labs pada KESIMPULAN
tahun 1972. Bahasa C khusus dibuat Konsep evolusi dari bahasa
untuk pemrograman secara umum pemrograman dapat digambarkan
dan menjadi bahasa yang paling luas sebagai proses saling mempengaruhi dan
digunakan di seluruh dunia [TIOBE, dipengaruhi antara satu bahasa
2009]. Kompiler C dapat digunakan pemrograman dengan bahasa
hampir di seluruh arsitektur pemrograman lainnya. Sebuah bahasa
komputer dan sistem operasi. Desain memelopori sebuah fitur yang akan
bahasa C menyediakan kompiler memengaruhi paradigma bahasa
yang memberikan akses level pemrograman yang muncul selanjutnya,
rendah ke memori sehingga hasil menghhasilkan kelebihan dan
kompilasi relatif lebih efisien untuk kekurangan dari setiap bahasa
dipindahkan ke dalam bahasa mesin. pemrograman yang ada saat ini. Di satu
Kemampuan bahasa C tersebut sisi, kita sebagai pembuat program yang
memunngkinkan terciptanya sistem bergantung kepada bahasa pemrograman
operasi baru seperti UNIX. Bahkan yang ada selayaknya bersikap bijak
Microsoft kemudian mengadopsi dalam menentukan bahasa pemrograman
bahasa C untuk membuat sistem yang digunakan. Kebutuhan yang
operasi Windows pada tahun 80-an berbeda dapat dieksekusi dengan fitur
[Suarga, 2012]. yang berbeda, sehingga memutuskan
initial state dan final state merupakan
14. C++ langkah penting dalam menentukan
Bahasa ini dibangun oleh Bjarne bahasa pemrograman yang akan
Stroustrup di AT&T Bell Labs pada digunakan.
tahun 1985. Pada dasarnya, C++
bisa dikatakan sebagai
42 Jurnal Computech & Bisnis, Vol. 8, No. 1, Juni 2014, 35-42
REFERENSI
Bergin, Thomas J. dan Richard G. conference on History of
Gibson. 1996. History of programming languages -
Programming Languages. HOPL III"
Addison-Wesley. http://www.lua.org/doc/hopl.pdf
, hlm: 2–26.
Clocksin, William F. dan Christopher S.
Mellish. 2003. Programming in McCarthy, John. 1979. History of Lisp.
Prolog. New York: Springer- http://www.formal.stanford.edu/
Verlag. jmc/history/lisp/node3.html
Fuegi, J. dan J. Francis, "Lovelace & TIOBE Programming Community.
Babbage and the creation of the 2009. “TIOBE Programming
1843 'notes'." Annals of the Community
History of Computing 25 #4 Index”,http://www.tiobe.com/in
(October–December 2003), hlm: dex.php/content/paperinfo/tpci/i
16-26. ndex.html
Ierusalimschy, R.; De Figueiredo, L. H.; Wexelblat, Richard L. 1981. History of
Celes, W. 2007. "Proceedings of Programming Languages. New
the third ACM SIGPLAN York: Academic Press.