Friday, December 31, 2010

Bahasa rendah

Ga ada hubungannya sama bahasa2 feodal maupun egaliter2an tapi bahasa rendah adalah bahasa yang digunakan untuk berkomunikasi secara langsung dengan makhluk rendahan. Siapa makhluk rendahan itu? Mesin!

Waktu manusia mulai maju dengan perangkat teknologinya, hal yang dilakukan adalah mendigitalkan perangkat analognya. Sinyal2 analog diubah menjadi sinyal digital. Sinyal digital sendiri sebenarnya cuma akal2an saklar dimana cuma berlogika 2, hidup apa mati, hitam apa putih, sementara yang abu2 difilter dianggep ngga ada.

Contoh penggunaan logika biner adalah pada barcode, baik ATM, kartu mahasiswa atau kode harga di swalayan. Garis yang tebel berarti 1 yang kurus berarti nol. Sedangkan angka desimal dibawahnya (klo ada) itu untuk memudahkan manusia membacanya. Tapi klo barcode itu disusupi angka desimal sebiji aja ditengah dijamin deh barcode scannernya ngambek.

Sehebat2nya media digital buatan manusia dia akan kembali merujuk pada logika biner, 0 dan 1, nol = mati, satu = hidup, maka untuk memproses sebuah mesin perlu bahasa penguasaan bahasa mesin. Setiap keadaan baik nol dan satu disebut bit. Kemudian setiap kondisi diperlakukan dengan aritmatika logika, prinsip AND, OR dan NOT. Sayang manusia sendiri bakal kerepotan klo harus menghadapi jajaran angka nol dan satu segitu banyaknya, kemudian dibuatlah bahasa assembly, yang merupakan pengkonversian logika biner ke logika hexa.

Dari logika hexa inilah programmer mesin ga harus dituntut ngurutin angka nol satu, satu per satu. Cukup membuat logika hexa dan alur program(flowchart)nya dan biarkan interpreter di IC itu sendiri yang mikirin logika binernya. Bahasa assembly masih bagian bahasa rendah meskipun sering juga disebut firmware atau driver.

Bahasa berikutnya adalah bahasa aras tinggi, yaitu bahasa yang lazim digunakan dalam pemrograman komputer, Java, Javascript, C++, HTML, VB, Delphi, Pascal dsb. Bahasa ini familiar ke manusia, rata2 bahasa aras tinggi menggunakan logika if then else, jika A maka nyala, else mati. Tapi engga ke mesin. mesin meskipun kelihatan pinter sebenernya cuma ngerti logika hidup dan mati. Meskipun bisa juga pemrograman aras tinggi disusupi perintah bahasa assembly biar bisa ngirim task ke port2 output dan input.

Susahnya jaman kuliah, dicekoki berbagai macem bahasa aras tinggi, dari Pascal, Java, HTML, belum ditambah PHP, MySiqil, CSS, Delphi, VB yang akhirnya justru pemahamannya cetek2 semua. Sepotong2 n ga beres, ini juga yang bikin keki waktu nyoba bikin action script buat flash, klo soal logika flowchartnya sih sama aja sama bahasa assembly, cuma kan ga tau medan, maklum bahasa aras tinggi sering diribetkan dengan berbagai attribut semacam variabel, deklarasi, n masing2 bahasa memiliki aturan main sendiri2 meskipun intinya sama saja.

Lha udah tau bahasa aras tinggi rumit kok masih ditandangi wae? haish maklum buat TA, tadinya sih dah pilih hardware saja, otak atik bahasa assembly mah dah selese dari dulu2 tapi nih IC hardwarenya kacau, mentok di IC n rangkaian triggernya. Peraturan kampus klo pake assembly harus ada bentuk alatnya (hardware) sementara klo pake bahasa tinggi kan tinggal modal laptop, cuma software secara hemat saku sih tapi masih ribet juga nih sama aturan mainnya.

Maaf ya tahun baru malah curhat, belum bisa banyak ngempi, ngereply tempat sendiri aja belum sempet2 huft

Post a Comment