Programming: Kreatifitas atau Logika?

Programmer seringkali dianggap sebagai sebuah profesi yang ribet karena memiliki banyak aturan. Aturan-aturan ini sangat ketat bahkan kesalahan kecil saja dapat membuat program yang kita tulis tidak dapat diproses sama sekali. Hal ini memberikan kesan bahwa programming adalah sebuah aktivitas yang sangat kaku dan monoton. Tapi menurutku, ini tidak sepenuhnya benar.

Aturan dalam Pemrograman

Dalam membuat program, kita diberikan sekumpulan aturan ketat yang tidak bisa dibantah. Tidak seperti bahasa manusia, kita tidak bisa menuliskan instruksi program menggunakan bahasa alami kita. Karena keterbatasan kemampuan pemrosesan dan sumberdaya, penulisan kode program dibatasi hanya beberapa kata kunci saja.

Kumpulan kata kunci ini juga harus disusun dengan pola, tata bahasa, dan tanda baca yang benar agar dapat diterjemahkan dengan baik oleh komputer.

Di setiap bahasa pemrograman kita mengenal berbagai fitur seperti variabel, method, class, object, tipe data, struktur kontrol, dan operator. Fitur ini juga memiliki sekumpulan aturan yang membatasi bagaimana penulisan serta penggunaan fitur tersebut.

Misalnya, perhatikan kode untuk memeriksa nilai variabel umur dan melakukan tindakan yang sesuai:

int umur = 12;
if (umur < 13) {
    System.out.println("Anda belum boleh membuat akun Facebook");
    return;
}

Dalam kode ini kita menggunakan beberapa fitur pemrograman yaitu variabel dan tipe data, operator dan struktur kontrol. Lihatlah bagaimana penulisan instruksi tersebut terlihat sangat kaku dan dingin. Semua instruksi ditulis dengan singkat, penuh dengan aturan.

Jika terdapat kesalahan kata atau tanda baca seperti sama dengan, titik koma, kurung kurawal, titik dan petik, maka program tidak akan bisa dijalankan atau bahkan diproses oleh sistem. Pokoknya jika ingin membuat sesuatu harus mengikuti aturan penulisan yang sudah ditentukan, jika tidak mau mengikuti, maka program tidak akan bisa dijalankan.

Kesalahan penulisan, tata bahasa, atau tanda baca dalam pemrograman seringkali disebut dengan Syntax Error atau kesalahan sintaksis. Pemeriksaan ini diperlukan untuk memastikan kode program yang ditulis mematuhi aturan penulisan yang ditentukan sehingga dapat diterjemahkan dengan baik.

Selain itu ada juga Runtime Error, yaitu kesalahan yang kemungkinan akan terjadi saat program kita sudah berjalan dengan baik. Error yang muncul disini biasa disebut dengan Exception, yang artinya kesalahan pengecualian. Ada aturan pengecualian yang harus dipatuhi dalam penulisan kode program diluar tanda baca, tata bahasa, dan pola penulisan kode.

Jadi, sudah jelas kan? Pemrograman adalah aktivitas yang sangat kaku dan monoton. Terlalu banyak aturan!

Tunggu dulu, kita perlu menggali lebih dalam, apakah aturan ini benar-benar dibuat untuk membatasi kebebasan kita dalam membuat program, atau justru untuk mendukung fleksibilitas dalam membuat program?

Menulis kode adalah "Seni"

Suatu teknologi dapat disebut bahasa pemrograman jika memiliki ciri-ciri berikut:

  • Dapat menyimpan dan memodifikasi nilai
  • Dapat melakukan percabangan kondisional
  • Dapat melakukan perulangan tanpa batas
Berbagai jenis bahasa pemrograman pun membuat serangkaian aturan-aturan untuk bisa mendukung ciri tersebut dan bisa dikategorikan sebagai bahasa pemrograman.

Semua fitur-fitur pemrograman berasal dari ketiga hal tersebut, yang artinya semua program yang kita gunakan, jika kita gali logika programnya sampai ke akar, kita akan menemukan ketiga hal tersebut.

Tapi saya ingin anda mengetahui satu hal: aturan-aturan tersebut tidak terikat sama sekali dengan tujuan program yang ingin kita buat.

Aturan-aturan yang dibuat oleh bahasa pemrograman merupakan aturan umum. Hal ini beranjak dari tiga hal tersebut yang mendeskripsikan syarat bahasa pemrograman secara umum pula.

Aturan-aturan tersebut sengaja dibuat se-umum mungkin agar setiap bahasa pemrograman menjadi bahasa pemrograman yang dapat digunakan untuk berbagai keperluan. Maka dari itu penyusunan aturannya harus ketat dan detail agar dapat mengakomodasi semua jenis kebutuhan.

Sehingga pada akhirnya, kita memiliki sebuah tools keren yang sangat fleksibel dan dapat digunakan untuk berbagai keperluan.

Aktivitas pemrograman pada intinya adalah memanfaatkan fitur-fitur yang dimiliki oleh pemrograman untuk mencapai suatu tujuan. Sekali lagi tujuan-tujuan tersebut sangat bervariasi, mulai dari yang sederhana seperti menampilkan teks ke layar, hingga yang kompleks seperti menangani sistem pendaftaran mahasiswa baru.

Dari fitur-fitur umum yang dimiliki oleh setiap bahasa pemrograman, kita bisa meracik berbagai cara untuk mencapai suatu tujuan yang sama.

5 + 5 dan (4 * 3 + 3) * 2 / 3 sama-sama menghasilkan 10.

Itulah "seni" dalam pemrograman, kita diberikan bahan dan serangkaian aturan yang disepakati untuk membuat sebuah produk tanpa batas. Kebebasan inilah yang dihasilkan serangkaian aturan yang rumit itu.

Programming: Logika + Kreatifitas

Pada akhirnya, programming merupakan sebuah profesi yang sangat kreatif. Terdapat berbagai cara untuk menyelesaikan masalah yang sama. Dan tugas seorang software developer adalah menentukan cara yang paling optimal untuk menyelesaikan masalah tersebut.

Aturan yang terkesan membatasi dan mengekang fleksibilitas programmer justru menjadi hal yang melahirkan fleksibilitas sejati dari pemrograman.

Adalah aturan ketat pemrograman yang menjadikannya fleksibel.

Sekian dan terima kasih. 

Komentar

Posting Komentar

Postingan populer dari blog ini

Setup Apache2 Server dan PHP 8 di Android menggunakan Termux

Memasang dan menjalankan PHPMyAdmin pada Android