Dalam bahagian pertama, saya telah menerangkan secara ringkas bagaimana bahasa pengaturcaraan (programming language) berfungsi dan bagaimana ianya berkomunikasi dengan otak komputer iaitu CPU. Dalam bahagian kedua ini, saya akan menghuraikan apakah unsur yang diperlukan untuk membentuk sesuatu bahasa pengaturcaraan. Bahasa pengaturcaraan secara asasnya merangkumi empat unsur iaitu:
- Pemboleh ubah (variable)
- Fungsi (function)
- Dinamik (dynamics)
- Sintaksis (syntax)
Dalam sebarang bahasa pengaturcaraan, empat unsur ini kebiasaannya wujud dan diperlukan untuk menghasilkan sebuah atur cara yang berfungsi dengan cekap. Empat unsur ini boleh diibaratkan sebagai unsur yang wujud dalam bahasa lisan. Dalam makalah ini, bahasa pengaturcaraan yang digunakan sebagai contoh adalah MATLAB disebabkan oleh kelazimannya kepada penulis makalah.
Pemboleh ubah
Pemboleh ubah merupakan masukan (input) atau data yang dibekalkan oleh pengguna. Dalam bahasa lisan, ianya diibaratkan sebagai kata nama (noun) iaitu subjek atau kunci utama dalam sesuatu ayat. Kata nama dalam bahasa lisan termasuklah kereta, Azman, Shah Alam dan sebagainya. Dalam bahasa pengaturcaraan, pemboleh ubah membawa maklumat untuk diolah. Pemboleh ubah mempunyai pelbagai jenis, antaranya adalah angka berperpuluhan kepersisan berganda (double-precision floating point atau sering digelar double), angka bulat (integer), aksara (character), aksara rantaian (string), logikal (logical) dan sebagainya yang disimpan dalam pelbagai bentuk seperti matriks (matrix), tatasusunan (array), struktur (structure) dan sebagainya. Pengguna biasanya perlu mentakrifkan (define) sesuatu pemboleh ubah sebelum menggunakannya. Contohnya:
angka_bulat = 872;
angka_puluh = 9.892;
aksara = ‘K’;
rantaian = “BAHASA”;
matriks = [1 2 3 ; 4 5 6 ; 7 8 9];
tata_susun = [4 5 6];
logik = logical(1);
Perhatikan bahawa rantaian adalah jujukan atau susunan lebih daripada satu aksara manakala matriks adalah gabungan lebih daripada satu tatasusunan. logik dengan nilai 1 bermaksud ya atau benar dan amat penting bagi pernyataan bersyarat (conditional statement) iaitu jika ya syarat dipatuhi, maka tugasan akan dijalankan. Jika tidak, maka langkau. Semua teks di sebelah kiri tanda sama dengan (=) adalah nama bagi setiap pemboleh ubah dan bebas dipilih oleh pengguna.
Fungsi
Fungsi merupakan tugasan yang boleh dilaksanakan oleh bahasa pengaturcaraan dan boleh diibaratkan sebagai kata kerja (verb) dalam bahasa lisan. Kata kerja seperti memandu, mengisi dan sebagainya menyatakan perbuatan yang dilakukan oleh sesuatu kata nama atau subjek. Azman memandu kereta merupakan sepotong ayat yang jelas maknanya dan masuk akal oleh pembaca. Manakala dalam bahasa pengaturcaraan, fungsi biasanya boleh digunakan dengan menulis nama ringkasnya; sebagai contoh bagi meminta MATLAB mengira purata sekelompok angka, fungsi mean() digunakan dengan memasukkan angka-angka tersebut dalam tanda kurungan seperti:
purata_angka = mean(tata_susun);
hasil_darab = angka_puluh*9;
strcat(rantaian,“ PENGATURCARAAN”);
Dalam contoh pertama, purata bagi angka dalam pembolehu bah tata_susun iaitu 4, 5 dan 6 dikira dan dimasukkan ke dalam pemboleh ubah baru yang dinamakan purata_angka. Dalam contoh kedua, angka_puluh iaitu 9.892 didarabkan dengan 9 (simbol bintang * melaksanakan operasi pendaraban) dan disimpan dalam hasil_darab manakala fungsi strcat() iaitu ringkasan bagi string concatenate, mencantumkan dua aksara rantaian iaitu “BAHASA” yang diambil daripada pemboleh ubah rantaian dengan “ PENGATURCARAAN” untuk menghasilkan rantaian baharu iaitu “BAHASA PENGATURCARAAN”. Bagi setiap bahasa pengaturcaraan, terdapat ribuan malah puluh ribuan fungsi yang disertakan yang boleh digunakan oleh pengguna, asalkan nama ringkasnya diketahui. Pengguna perlu sentiasa merujuk pendokumentasian sesuatu bahasa pengaturcaraan kerana ia menyenaraikan fungsi-fungsi yang ada dan kaedah penggunaannya.
Dinamik
Dinamik adalah keupayaan bahasa pengaturcaraan untuk mengulang sesuatu tugasan tanpa perlu pengguna menulis arahan yang sama. Istilah yang sering digunakan adalah gelung (loop) yang sebenarnya boleh dianggap sebagai sebuah fungsi tetapi disebabkan kepentingannya dalam sesebuah bahasa pengaturcaraan, ia layak dihuraikan dalam bahagian yang berasingan. Dalam bahasa lisan, gelung mungkin tidak mudah dianalogikan, namun anda boleh menganggap ia sebagai kata kerja yang menyuruh pembaca mengulang ayat yang sama. Sekiranya pengguna mahu menghasilkan sebuah aksara rantaian “123456789”, pengguna boleh menakrifkannya secara manual seperti:
angka_rantai = “12345689”;
Perhatikan bahawa tanda petikan (“ ”) menukarkan sebarang huruf atau angka di dalamnya kepada aksara, justeru ia tidak boleh didarabkan atau dikira puratanya kerana ia dianggap sebagai perkataan. Pengguna juga boleh melakukannya menggunakan gelung (nota: ini merupakan contoh untuk pembelajaran sahaja. Kaedah ini jauh tidak cekap berbanding menakrifkan secara manual):
angka_rantai=”1″;
for i=2:9
angka_rantai=strcat(angka_rantai,string(i));
end
Dalam contoh ini angka_rantai bermula dengan aksara “1”. Kemudian gelung for mengulang proses strcat() sebanyak 8 kali iaitu apabila i=2 sehingga i=9, di mana setiap pengulangan (iteration), nilai i sentiasa berubah. Selain gelung for, terdapat juga gelung while.
Sintaksis
Akhir sekali, sintaksis adalah peraturan atau susunan yang mesti dipatuhi untuk menyampaikan arahan yang tepat. Dalam bahasa lisan, ia boleh diibaratkan sebagai tatabahasanya. Kereta memandu Azman dan Azman memandu kereta mengandungi kata nama dan kata kerja yang sama, tetapi membawa maksud yang amat berbeza. Begitu juga dalam bahasa pengaturcaraan, i = 10 dan 10 = i adalah berbeza yang mana bentuk kedua adalah salah dan tidak boleh difahami oleh komputer. Selain itu, dalam MATLAB, tanda noktah koma (;) mengambil tempat tanda noktah dalam bahasa lisan kerana ia diletakkan di hujung setiap baris kod bagi menandakan bahawa sebarang kod selepas tanda ini di baris yang sama perlu diabaikan.
Sebagai kesimpulan, bahasa pengaturcaraan merupakan perkakasan yang berkuasa dalam membantu manusia melakukan tugasan dengan lebih mudah dan cekap. Jika difikirkan semula, bahasa pengaturcaraan tidak mempunyai logik akalnya sendiri; ia sentiasa memerlukan pengguna untuk memberikan arahan yang khusus kepada mereka. Oleh yang demikian, penciptaan komputer tidaklah menggantikan manusia sepenuhnya, tetapi ia merupakan pembantu yang paling patuh dan mendengar arahan (asalkan arahan yang diberikan adalah tepat!).
Rujukan
https://study.com/academy/lesson/5-basic-elements-of-programming.html
https://www.cse.wustl.edu/~ychen/131/Notes/Intro/intro.html
Klik sini untuk bahagian pertama.
MENGENAI PENGARANG
Beliau merupakan penerima ijazah sarjana muda fizik (UPM) dan doktor falsafah dalam sains angkasa (UKM). Kini, beliau merupakan pensyarah kanan di Jabatan Fizik, Fakulti Sains, UPM. Beliau percaya bahawa ahli akademik merupakan wadah yang menghubungkan masyarakat dengan ilmu aras tinggi.
One thought on “Bertutur dalam Bahasa Bukan Manusiawi (Bahagian Kedua)”