"Pemrograman sebagai Filsafat Bahasa Tingkat Tinggi: Perspektif Seorang Lulusan Sastra Inggris yang Terjun ke Dunia Teknologi"
Sebagai seorang lulusan sastra inggris dengan minat yang
condong pada linguistik, saya memandang Bahasa pemrograman dari sudut pandang
lingusitik dengan cara yang berbeda, seolah semua kejadian itu adalah peristiwa
baru, meski pernah mengalami, namun perasaan dan kesadaran yang terbangun
sangat berbeda dari sebelumnya. Kesadaran terhadap persitiwa ini jika dilihat
dari sudut pandang filsafat Husserl dan Heideger tentang fenemonologi disebut
dengan terlemparnya kesadaran eksistensial pada realitas lain/baru/maya, yang
menyebabkan seseorang tersadar dan sepenuhnya bangun, fokus pada peristiwa yang
sedang terjadi (Dasein). Contoh, saat kita hampir saja mengalami kecelakaan
lalu lintas dengan sepeda motor, namun selamat sepersekian detik dari tragedi
tertabrak, keinsyafan, dan ke mahfuman kita terhadap kesadaran itu adalah
dasein, kita terlepas dari realitas nyata, terhubung secara transedental pada
realitas yang lebih sublim dan intim dengan tragedi dan kengerian yang
dibayangkan yang mungkin saja bisa terjadi. Pengalaman fenemonologis tersebut
mewujud menjadi apa yang sering dikatakan Descartes tentang “Cogito ergo sum”,
atau dengan kata lain “Aku berpikir, maka aku ada”. Kesadaran itu membawa
seseorang pada istilah prancis yang disebut “Raison d’etre” alasan untuk
mengada. Begitupun dengan saya, selama 3,5 tahun belajar lingusitik dan memulai
karir/terjun pada industri IT dan mengambil spesifikasi mengenai software yang
menjurus pada Bahasa pemrograman (coding), pengalaman itu terjadi pada saya.
Pakem-pakem yang selama ini saya pahami pada Bahasa, menjadi lebih dalam dan
kagum sekaligus bergeser atas prasangka sekaligus asumsi saya, karena semakin
jauh dan dalam saya mempelajari Bahasa pemrograman, semakin teoritis juga
semakin praktis saya terhadap bahasa(lingusitik) ataupun pada
pemrograman(coding). Oleh karena itu, seringkali saya, beropini bahwa bahasa
pemrograman adalah filsafat Bahasa Tingkat tinggi, dan programmer adalah filsuf
dalam bidang perangkat lunak dan teknologi. Mengapa saya mengatakan demikian,
saya akan coba terangkan sedikit dan dimulai dari Bahasa itu sendiri.
Apa itu Bahasa? Menurut Gorys keraf (1994, p.3) Bahasa
adalah sebuah sarana untuk berkomunikasi. Bahasa juga sebagai sarana untuk
menyampaikan, pendapat, dan argumentasi, serta pikiran pada lawan bicara.
Language is arbitrary, begitulah kira-kira Ferdinand De’Saussure (Bapak
Linguistik modern) menyatakan postulatnya mengenai sifat dari Bahasa. Sejauh
mana sebenarnya batasan kesewenang-wenangan dan Bahasa sebagai alat komunikasi?
Batasannya adalah consensus in harmonia progressio, artinya Bahasa dibatasi oleh
kesepakatan. Sebagai contoh, kata “Kursi” dalam Bahasa Indonesia bisa disebut
“meja”, jika ada syarat yang menengahi konsep dari kata tersebut. Meskipun,
secara etimologi setiap kata itu bisa dilacak dari mana sumbernya. Apa
syaratnya kemudian, Bahasa bisa dibatasi? Dengan melihat Premis, Proposisi,
konklusi, dan silogisme. Premis sebagai sesuatu yang dianggap benar
(asumsi/ide), proposisi sebagai pernyataan dari sesuatu yang dianggap benar
(bunyi kongkret), kemudian konklusi adalah kesimpulan dari justifikasi dua hal
sebelumnya dan terakhir, silogisme, teknik pengambilan kesimpulan dari yang
umum ke yang khusus. Artinya, benda apapun bisa dinamai dengan sebutan apapun
jika ada kesepakatan dari suatu komunitas atau antar individu tertentu. Apa
kemudian relasi lingustik dengan codingan (Bahasa pemrograman)? Relasinya
adalah fungsinya sebagai alat untuk berkomunikasi, siapa kemudian yang
berkomunikasi, secara umum Bahasa dipakai manusia pada manusia/makhluk ke
makhluk, sedangkan Bahasa pemrograman, manusia pada entitas benda tak bernyawa
yang memahami komunikasi dengan cara-cara tertentu. Cara-cara tersebut adalah
kode-kode komputasi yang bisa diterjemahkan oleh computer dan ditampilkan pada
suatu perantara antar-muka yang diterima manusia sebagai informasi. Dari mulai
kode biner, kemudian di compile dan dinterpretasi oleh Bahasa pemrograman
modern. Tujuannya adalah mencapai fungsionalitas tertentu yang secara
konstruktif dibuat untuk memenuhi kebutuhan-kebutuhan yang diperlukan oleh
manusia . Secara konstruksi apakah ada persamaan landasan-landasan inti yang
membangun antara koding sebagai Bahasa program untuk mesin dan lingsuitik
sebagai Bahasa program untuk manusia?
Ada, persamaannya adalah mereka sama-sama dibangun oleh
unit-unit kecil yang membentuk menjadi satu kesatuan khusus yang disebut dengan
sintak. Keutuhan serta pakem-pakem dari sintaksis tersebut disebut dengan
gramatika. Apakah Bahasa pemrogramman memiliki gramatika? Tentu saja, Bahasa
pemrograman pun memiliki gramatikanya sendiri. Contoh, sintaksis seperti ini:
Gambar kode diatas adalah barisan sintak dari gramatika Bahasa pemrograman. Saat pertama kali berpapasan dengan sintaksis seperti itu, saya tidak begitu mampu memahami susunan kata dari setiap baris kalimat yang ditutup oleh tanda titik-koma yang ada dikodingan tersebut. Diartikan secara literal, saya malah terjebak dengan keruwetan cara berpikir saya untuk memahami maksud dari struktur koding tersebut. Dalam Bahasa (lingusitik) meski tercecer atau kurang jelas apa yang diungkapkan, manusia dalam berkomunikasi masih bisa memahami makna-makna Bahasa saat berbincang, karena manusia ter”occupied” oleh sesuatu yang namanya konteks dan interpretasi meskipun tersamar (implisit), namun akan berbeda kemudian jika kita berurusan dengan sintaksis kalimat kodingan, karena meskipun mereka secara semiotika adalah simbol-simbol yang mewakili sesuatu, itu akan masih terasa sulit dipahami jika kita tidak mengetahui/menguasai konsep-konsep dasar dari konstruksi kodingannya.
Barangkali mempelajari
Bahasa pemrograman bisa berhasil dipahami seperti mempelajari Bahasa inggris
dengan semangat ogah-ogahan ala anak semester 3, jika tujuannya memang
praktikal. Kita tidak perlu memahami secara teoritis keseluruhan sintak dari
koding, dan fokus pada tujuannya, yaitu fungsi untuk berkomunikasi. Namun, yang
harus dipahami adalah adanya “Gap” antara memahami dasar dan mengetahui tujuan,
gap itu adalah “Konsep”. Karena, mungkin, jika konsep sudah dipegang maka benar
apa yang pernah teman saya katakan tentang perbedaan Bahasa pemrograman dan
pemrograman. Pemrograman adalah tujuan, Bahasa pemrograman adalah alat yang
digunakan menuju tujuan, dan konsep pemrograman adalah cara-cara kita
menggunakan Bahasa pemrogramannya. Itulah mengapa kemudian saya mengatakan
bahwa Bahasa pemrograman adalah filsafat Bahasa Tingkat tinggi, dan programmer
adalah filsufnya, karena saat melihat konstruksi kodingan, secara tidak
langsung (orang IT) sadar pada partikel-partikel yang membentuk sintaksis
gramatika Bahasa pemrograman, persis seperti bagaimana linguis memandang
kalimat atau sintaksis gramatika Bahasa dengan susunan Fonetik, Fonologi,
Morpologi, sintak, semantik, dan pragmatik. So, opini saya kodingan bersifat
teoritis sekaligus praktis.
Comments
Post a Comment