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 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
|
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 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 |
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
Posting Komentar