Debug: Deklarasi, Inisialisasi, dan State Program (Seri Pengenalan Pemrograman #6)

  Dalam membuat sebuah program, pastilah terdapat suatu alur atau rangkaian aktivitas untuk memperoleh hasil yang diinginkan. Rangkaian aktivitas tersebut didefinisikan oleh programmer, dengan menerjemahkan algoritma dalam bentuk pseudocode ke bahasa pemrograman. 

  Dalam algoritma tersebut, ada beberapa state atau keadaan atau kondisi dari sebuah program, dan state itulah yang akan dibahas pada postingan ini, sebagai perilaku dasar dari sebuah pemrograman secara umum, mulai dari apa yang dibutuhkan suatu program, rangkaian proses apa yang akan dilakukan, dan bagaimana hasil dari program tersebut.

  Secara umum, pemrograman mengandung 3 state utama, meliputi input, proses, dan output. Namun sebelum pembahasan, kita akan mengenal terlebih dahulu mengenai deklarasi dan inisialisasi.

Deklarasi

  Ketika kita pergi ke restoran, kita akan membutuhkan tempat untuk makan. Maka, kita akan memesan sebuah tempat (reservasi tempat). Sama halnya dalam pemrograman. Anggaplah si pemesan tempat sebagai variabel dan tempat di restoran yang tadi di pesan, sebagai memori di komputer.

  Ketika membuat sebuah program, dibutuhkan variabel untuk menampung data dan variabel tersebut membutuhkan tempat di memori. Maka kita harus memberitahu mesin bahwa kita akan memesan sebuah tempat di memori, dan proses ini disebut sebagai deklarasi variabel. 

  Pemesanan tempat dapat dilakukan dengan menuliskan variabel apa yang ingin digunakan. Masing-masing bahasa pemrograman memiliki caranya sendiri untuk melakukan deklarasi, terlebih dengan bahasa yang menganut tipe Weak Type Language. Berikut adalah beberapa contoh melakukan deklarasi dalam beberapa bahasa pemrograman.

Deklarasi variabel pada C++
Deklarasi variabel pada C++

Deklarasi variabel pada Javascript

  Proses deklarasi sangatlah penting, karena tanpanya, program tidak akan mengenali variabel apapun yang tidak dideklarasikan. Sama halnya ketika kita ingin masuk ke sebuah restoran eksklusif yang harus mendaftar dulu, tapi tidak kita lakukan, maka kita akan ditolak oleh penjaga pintu karena kita tidak dikenali. Jadi, jangan pernah lupakan deklarasi!

Inisialisasi

  Kita telah memesan tempat di suatu restoran. Setelah itu, kita datang ke restoran tersebut dan menempati tempat yang sudah kita pesan sebelumnya. Hal ini sama dengan pemrograman. Variabel sudah mendapat tempat di memori. Langkah berikutnya, tinggal mengisi variabel tersebut dengan data yang ingin kita gunakan. 

Inisialisasi variabel pada Javascript
Inisialisasi variabel pada Javascript


Inisialisasi variabel pada C++
Inisialisasi variabel pada C++




  Penempatan sesuatu ke dalam variabel yang sudah kita deklarasikan disebut sebagai
inisialisasi. Penempatan ini menggunakan operator penugasan (=). Data yang ingin kita inisialisasikan ke variabel, bisa kita tulis secara hard code (tulis langsung pada source code) atau menggunakan input dari user (melibatkan perangkat input output perangkat keras).

  Kapan kita melakukan deklarasi dan inisialisasi? Kedua proses ini dapat dilakukan secara bersamaan dan di baris manapun ataupun secara terpisah, asalkan memang kita butuhkan variabel (dan fungsi untuk bahasan kedepannya) tersebut. Contoh, jika kita ingin menjumlahkan 2 angka, berarti kita akan membutuhkan 3 variabel untuk dideklarasikan dan inisialisasi (untuk kasus umum), 2 untuk menampung angka dan 1 untuk menampung hasil.

Deklarasi dan Inisialisasi variabel secara bersamaan pada Javascript
Deklarasi dan Inisialisasi variabel secara bersamaan pada Javascript


Deklarasi dan Inisialisasi variabel secara bersamaan pada PHP
Deklarasi dan Inisialisasi pada PHP

  Terkait dengan gaya pemrograman, ada yang melakukan proses deklarasi dan inisialisasi secara terpisah, seluruh deklarasi variabel ada di awal baris dan inisialisasi tepat di bawahnya atau di baris manapun, ada juga yang melakukannya secara bersamaan. Cara tersebut tidak akan menyebabkan error (kecuali salah tahapan, inisialisasi dahulu baru deklarasi), namun berpengaruh terhadap readability (kemudahan dibaca sehingga mudah untuk perbaikan dan perawatan program) sebuah source code.

Input

  Ibaratkan seorang koki, dia pasti akan membutuhkan bahan-bahan dan peralatan untuk membuat masakan. Bahan-bahan tersebut perlu disediakan, baik dengan cara membeli langsung atau diantarkan. Jika koki tidak memiliki bahan-bahan tersebut, maka proses tidak akan berjalan dan koki akan berada di kondisi diam, tidak melakukan apapun. Koki tersebut adalah program, dan bahan dan perlengkapan tersebut adalah input. 

  Input akan melibatkan perangkat keras penerima input, seperti keyboard, mouse, scanner, kamera, dan perangkat keras lainnya. Input inilah yang biasanya menjadi pemicu sebuah program berjalan dan memproses berdasarkan input tersebut. Sebuah program yang sedang berada di state input ini, tidak akan melakukan apa-apa selama input dari user belum diterima.


Contoh Input Pada Javascript Lewat Prompt Pop Up
Contoh Input Pada Javascript Lewat Prompt Pop Up

  Sebagai contoh, mesin pencari google. Jika kita tidak melakukan input apa-apa, maka halaman google akan seperti itu saja, hanya menampilkan output, tidak akan berubah (kecuali ada baris program seperti di setInterval pada javascript sebagai trigger, namun topik ini diluar bahasan kita). Ketika kita mengetikkan keyword atau sebuah link, barulah mesin pencari google tersebut berpindah state ke proses, yaitu mencari berdasarkan query dan menampilkannya. Setelah proses selesai, kembali ke state input, menunggu user meng-klik url, atau mengetikkan kembali keyword lain.

Proses

  Setelah koki memiliki bahan dan peralatan yang lengkap, serta menu yang akan dimasak, maka koki tersebut akan mulai bekerja mengolah bahan-bahan tersebut dengan sumber daya atau resource yang sudah tersedia. Demikiannya dengan program, ketika input  dari user atau programmer  atau dari perangkat keras telah diterima atau telah didefinisikan, maka state program tersebut akan berpindah dari input ke proses.

 Sebagai contoh, mesin pencari google. Setelah kita memasukkan keyword dan link, maka google akan mencari konten atau page apapun yang ada di web yang memenuhi kriteria dari keyword yang dimasukkan, dan setelah proses selesai, program akan berpindah state ke output, yaitu menampilkan hasil dari proses.

 

Output

  Koki sudah menerima menu, mempunyai alat dan baha, dan proses memasak telah selesai. Maka, hasil dari proses memasak tersebut adalah makanan yang tadi dia olah. Output, merupakan hasil dari proses yang dijalankan berdasarkan input yang diterima program. Output inilah yang sebenarnya menjadi tujuan awal dari programmer menciptakan sebuah program.

  Sebagai contoh, setelah mesin pencari google selesai memproses pencarian berdasarkan keyword, maka google akan menampilkan hasil dari penesulurannya yang bisa dimengerti oleh user.

Kolaborasi Proses

  Setiap state tentunya memiliki peranan masing-masing dan semuanya saling menentukan dari jalannya sebuah program. Sebagai contoh, jika kita memasukkan input yang salah, maka outputnya pun akan salah. Jika kita mengatur tampilan outputnya tidak benar, maka informasi yang diproses tidak akan sampai ke pengguna. Jika proses salah, sudah jelas bahwa program tidak akan memenuhi tujuannya.


  Demikian bahasan pada postingan ini. Berikutnya, kita akan mulai masuk ke dalam control flow atau alur kendali pada sebuah pemrograman, meliputi pengkondisian dan perulangan. Setelah dua materi tersebut dibahas, kita akan menggunakan contoh kasus untuk membahas kembali setiap materi dan topik yang sudah kita pelajari dari postingan awal di seri pengenalan pemrograman ini. Silahkan tanyakan di kolom komentar jika ada bahasan yang kurang jelas. Sampai jumpa di postingan berikutnya.

Komentar

Postingan populer dari blog ini

MyMind: Penyebab Biasnya Informasi

Debug: Lingkungan Pengembangan Software (Pengenalan Pemrograman #3)

MyMind: Bahagiakah Kita?