Mengenal Sejarah Bahasa Pemrograman NUSA Bagian Satu

Penulis : Bernaridho I. Hutabarat di Majalah PC MEDIA


Mengenal Sejarah Bahasa Pemrograman NUSA-Setelah melewati waktu yang cukup lama (11 tahun) akhirnya translator (compiler, linker, interpreter) Nusa selesai dibuat. Nusa dibuat tidak sebagai bahasa pemrograman tanpa visi yang jelas dari seorang hobbyist.  Nusa dibuat sebagai bahasa pemrograman yang dirancang dengan serius dan ditargetkan untuk dipakai oleh banyak orang dari seluruh dunia.

Mengenal Sejarah Bahasa Pemrograman NUSA

Inilah pembeda yang sangat jelas dengan banyak bahasa pemrograman lain yang dibuat oleh segelintir praktisi TI lain di Indonesia. Tulisan awal ini memberi gambaran awal perjalanan belajar dari penulis sebagai pembuat bahasa pemrograman Nusa.  Nusa adalah hasil perjalanan panjang yang melibatkan masa berdiam di Indonesia, Jepang, Inggris, dan Amerika Serikat.

Pada mulanya.
Sejak tahun 1985 semua mahasiswa ITB harus mengikuti kuliah pemrograman komputer, apapun jurusannya.  Bahasa pemrograman yang dipakai adalah BASIC (Beginners’ All-purpose Symbolic Instruction Code), yang run di atas operating system DOS.  Pada 20 November 1987 diluncurkan Turbo Pascal 4, yang  menggebrak dunia pemrograman. Turbo Pascal 4 membuat pemrograman skala besar menjadi feasible di atas DOS karena dibuat sebagai tool yang terdiri atas compiler, linker, dan IDE. Turbo Pascal 4 memungkinkan pembuatan program berukuran >64 KB tanpa harus memakai overlay (modul yang di-load secara dinamis).

Pada tahun 1988, Turbo Pascal 5 muncul dengan penambahan debugger dan tahun 1989 (2 Mei 1989) muncul Turbo Pascal 5.5 yang mengimplementasikan OOP (Object-Oriented Programming).  Turbo Pascal 5.5 adalah salah satu tonggak penting yang mendasari perkembangan Nusa. Sejak memahami OOP berdasarkan Turbo Pascal 5.5, penulis sangat menyukai OOP.  Borland sendiri sejak saat itu aktif memproduksi programming tool yang memakai OOP. Pada 4 Mei 1990 Turbo C++ 1.0 yang juga mengimplementasikan OOP dirilis. Karena telah memahami OOP tool ini segera saya pelajari.

Minat pada OOP.
Pada akhir dekade 1980, sangat sulit mendapatkan artikel tentang OOP pada majalah-majalah komputer dan buku-buku tentang OOP.  Pada masa itu, hanya ada sedikit sekali majalah komputer dan artikel tentang OOP baru muncul pada suatu majalah komputer di awal tahun 1991.

Walau demikian, pada awal tahun 1991 saya dan seorang rekan bernama Arief Setyawan memutuskan untuk mengerjakan tugas akhir yang bertema “Object-Oriented”. Kami (bertiga dengan seorang mahasiswa Informatika 1986) mungkin adalah tiga mahasiswa pertama dari bidang studi Informatika yang mengerjakan tugas akhir bertema Object-Oriented.

Pada saat itu, UML sama sekali belum ada.  Kami mengerjakan tugas akhir pada saat yang tepat.  Pada periode 1988-1991, muncul beberapa buku yang menjadi pionir dalam hal Object-Oriented. Kami mengerjakan tugas akhir pada saat yang tepat.

Pada tahun 1988 muncul buku Object-Oriented Software Construction karangan Bertrand Meyer dan An introduction to object oriented programming and C++ karangan R. S. Wiener dan L. J. Pinson.  Pada tahun 1990, muncul buku Object-Oriented Analysis and Design karangan Grady Booch dan buku Object-Oriented Analysis karangan Peter Coad dan Edward Yourdon.

Baca Juga :   Pengertian Dan Sejarah Bahasa Pemrograman Python

Akhirnya, pada tahun 1991 (saat kami memutuskan untuk mengerjakan tugas akhir), muncul buku Object-Oriented Design karangan Peter Coad dan Edward Yourdon, dan Object-Oriented Modeling and Design yang merupakan karya lima saintis dengan James Rumbaugh sebagai pengarang utama.

Tugas akhir kami bertiga sama sekali tidak terkait. Pada saat itu kebanyakan dosen Informatika tidak memahami Object-Oriented. Dalam beberapa hal, ini menjadi keuntungan dalam sidang tugas akhir.

Saat dan Pascapengerjaan Tugas Akhir.
Saat pengerjaan tugas akhir, penulis mulai mendapati bahwa ada banyak kerumitan yang tidak perlu (unnecessary complexity) karena perbedaan istilah, baik dalam buku dari pengarang yang sama maupun dari pengarang yang berbeda.  Penulis simpulkan bahwa tidak perlu ada dua istilah: class dan type; cukup satu saja.

Kesimpulan ini saya peroleh dari fakta bahwa Turbo Pascal 5.5 (sampai Turbo Pascal 6.0, dirilis 23 Oktober 1990) memakai istilah/kata type, sedangkan Turbo C++ 1.0 sampai Turbo C++ 3.1 (di-rilis 10 Juni 1992) memakai istilah/kata class.  Penulis diwisuda pada Oktober 1992, pada bulan di mana Turbo Pascal 7.0 (yang masih tetap memakai kata type) dirilis.

Pasca pengerjaan tugas akhir, penulis diterima bekerja di STT Telkom (sekarang Insitut Teknologi Telkom) dan segera menjadi asisten dosen. Pada awal tahun 1993, penulis telah menjadi dosen penuh. Kurikulum pemrograman terus berubah dan pada akhir tahun 1993 kurikulum umum Informatika STT Telkom adalah sedemikian sehingga OOP menjadi bagian yang harus diajarkan pada akhir kuliah pertama pemrograman. Dengan latar belakang minimnya pengetahuan kebanyakan dosen lain saat itu tentang OOP, saya sering mengisi sesi khusus (minggu terakhir) kuliah pengantar pemrograman.

Tiga Tahun Meditasi : Losing My Faith.
STT Telkom sampai tahun 1998 memiliki perpustakaan yang sangat menyenangkan dibandingkan dengan banyak perguruan tinggi swasta.  Banyak permintaan buku yang dipenuhi. Penulis membaca buku dari hampir semua subjek yang terkait dengan software.

Tiga tahun pertama di STT Telkom dapat disebut sebagai periode meditasi.  Penulis mulai merasa ada cacat pada Object-Oriented Programming, ada satu atau lebih kesalahan besar pada OOP, yang membuat OOP memiliki kerumitan yang tidak perlu.

Tetapi, saat itu yang ada hanyalah intuisi saya. Tidak ada seorang pun yang dapat diajak bicara tentang hal ini.  Kebanyakan dosen di Indonesia hanya lah pembeo dari teori-teori yang dijejalkan dari luar negeri.

Keberuntungan Sekolah di Jepang.
Beruntung pada tahun 1995, penulis mendapat beasiswa untuk mengikuti pendidikan nongelar di Jepang selama empat bulan. Materi yang disajikan tidak sangat sulit.  Ini membuat saya punya banyak waktu untuk membaca buku buku di suatu toko buku yang terletak di antara Tokyo–Yokohama.

Satu buku yang terus saya baca sepanjang tinggal di Jepang adalah An Introduction to Database Systems edisi ke-6 karangan Chris J. Date. Buku ini terbit pada tahun yang sama (1995). Chris J. Date membuktikan kesalahan pada OOP dan ketidakcocokan pemakaian OOP untuk Relational Database.

Baca Juga :   3 Cara cek ip address komputer dan android

Ini adalah titik balik, salah satu tonggak kedua dalam pembuatan Nusa. Sebelum, selama, dan pascapendidikan di Jepang, penulis mendalami C dan C++.  Kelak pendalaman penulis terhadap C dan C++ melengkapi pendalaman terhadap Pascal; untuk membangun Nusa.

Di Jepang, penulis menjadi ketua salah satu team of engineers yang terdiri atas empat orang : penulis, Premalal dari Sri Lanka, Suwimol dari Thailand, dan Kim dari Korea Selatan. Kami (33 orang dari 13 negara) belajar tentang database, network, OS, dan OOP. Pelajaran terakhir adalah tentang OOP.  Penulis melihat bahwa dosennya tidak menjelaskan OOP dengan baik dan semua peserta lain bingung.

Penulis menawarkan cara lain untuk jelaskan OOP.  Pada sesi akhir, penulis menggantikan dosen dari Jepang untuk mengajarkan OOP. Peserta lain mengerti dan saya mendapat “Excellent Achievement Award” atas prestasi istimewa. Walau tidak disebut TONO (Tipe Operasi Nilai Objek), dapat dikatakan bahwa sesi di Jepang tersebut adalah pelajaran pertama untuk mengajar pemrograman dengan kerangka demikian.

Saya sama sekali tidak menyebut keyword saat mengajarkan OOP dengan C++.  Kelak, cara pengajaran tanpa mengacu ke keyword ini menjadi cara yang dipakai di semua buku penulis; dan menjadi ciri pengajaran Nusa.

Saat berada di Jepang, penulis tidak mengenal Java (yang dirilis pada tahun 1994 di AS dan mulai tersebar mendunia pada tahun 1995). Java belum popular.  Tetapi, di Jepang itu penulis mulai merancang sintaks deklarasi tipe yang berbeda dengan C. Penulis merancang ekspresi-tipe seperti char[] dan deklarasi seperti char[] String1; .

Ini penulis lakukan karena mulai melihat sisi buruk deklarasi objek di C.  Java membolehkan deklarasi seperti char[] String1; dan char String2[]; . Nusa hanya mengizinkan deklarasi seperti char[] String1; .  Rancangan sintaks di Nusa (sampai saat ini) independen terhadap Java.

Menuju Inggris.
Kembali ke Indonesia, pada akhir tahun 1995, penulis seperti seorang yang dilahirkan kembali. Pada awal 1996 Jurusan Informatika STT Telkom kesulitan menunjuk dosen yang dapat mengajar Kapita Selekta 2.  Tidak seperti Kapita Selekta 1 yang diajar oleh banyak dosen secara bergantian, Kapita Selekta 2 hanya akan diajar satu dosen, dan mencakup subjek yang luas. Singkat kata, akhirnya saya ditunjuk untuk mengajar kuliah tersebut.  Karena satu dan lain hal, di pertengahan semester saya berhenti mengajar. 

Pada tahun 1996 inilah kali pertama  diperkenalkan TONO. Tetapi, dasar yang sederhana ini ternyata tidak dipahami semua mahasiswa dan dosen lain. Orang-orang lain sudah terbiasa dengan sesuatu yang rumit tidak karuan. Suatu hari datang seorang dosen dari ITB memberikan seminar tentang cara membuat jurnal ilmiah dan memberitahu ada “Call For Papers” dari sebuah universitas terkemuka di Bangkok. Karena penulis punya banyak waktu luang, penulis membuat sebuah karya ilmiah berjudul “Theoretical Foundation for Problem Analysis”, mengirimnya ke Bangkok dan mempersiapkan diri untuk lulus saringan beasiswa S2 ke Inggris. Karya ilmiah penulis terpilih dalam saringan dan penulis diundang ke King Mongkut Institute of Technology di Bangkok.

Baca Juga :   Cara membuat partisi baru di windows 10
Keberhasilan menampilkan teori baru ini bagi penulis menjadi bukti keabsahan ide yang mendasari Nusa.  Dengan keberhasilan mendapat beasiswa S2 dan tenggang waktu yang singkat; tidak lama setelah kembali dari Bangkok, penulis segera berangkat ke Inggris.

Di Inggris.
Di Inggris, penulis menempuh pendidikan M.Sc for Operational Telecommunication. Dengan latar belakang telekomunikasi yang minim—penulis satu-satunya siswa yang tidak berlatarbelakang telekomunikasi atau elektro—pendidikan S2 ini sungguh berat.  Walau demikian, programming tetap penulis tekuni.

Belajar di Inggris menyenangkan, perpustakaan di Coventry dan Cable Wireless memiliki sangat banyak buku. Cable & Wireless College terpisah dengan jarak yang dekat saja ke Warwick University. Warwick adalah salah satu universitas terkenal di Inggris tempat mengajar dari Hugh Darwen.

Hugh adalah seorang ahli yang terkenal dalam bidang database, sahabat dari Chris J. Date.  Pada tahun 1997, Hugh Darwen dan Chris J. Date membuat draft dari buku The Third Manifesto.  Edisi pertama buku tersebut terbit pada tahun 1998, edisi keduanya tahun 2000, dan edisi ketiganya tahun 2003.

Website mereka adalah www.thethirdmanifesto.com, dengan mailing list yang berisi anggota periset database dari berbagai negara.  Hugh mengirim draft buku tersebut ke penulis sebelum diterbitkan. Penulis sempat berkomunikasi dengan Hugh dan Chris selama kuliah di Inggris, tentang bahasa pemrograman yang semangatnya sama dengan bahasa pemrograman yang mereka usulkan di buku mereka.

Tetapi, Hugh dan Chris tidak dapat menyerap ide penulis (yang memang masih sangat mentah saat itu).  Di Inggris juga, penulis bertemu dengan Steve Rumsby, seorang anggota komite standardisasi C++.  Steve dan penulis adalah anggota gereja yang terletak dekat kampus.  Steve memberi penulis draft standar C++, dan menunjukkan penyebutan namanya pada preface dari buku The C++ Programming Language edisi ke-3 karya Bjarne Stroustrup, pembuat C++.

Penulis merasa senang bertemu experts di Inggris.  Secara pribadi penulis juga pernah berbicara (via telepon) dengan Hugh Darwen. Disertasi S2 penulis adalah tentang ATM Buffer. Penulis membuat simulator yang source code-nya ditulis dalam bahasa pemrograman C++ dengan memakai C++ Builder.

Sebelumnya penulis mencoba menulis source code dalam bahasa pemrograman Java. Tetapi, penulis mendapati bahwa bahasa pemrograman Java tidaklah mudah, Microsoft Visual Java tidaklah mudah. Bagi penulis “Java mudah” hanyalah kepalsuan. Pada tulisan yang kedua, penulis akan menceritakan tentang perkembangan yang terjadi setelah penulis kembali dari Inggris.


Baca selanjutnya Disini.

Leave a Comment