Keuntungan belajar programming pada kehidupan sehari-hari

Komputer telah menjadi bagian besar dari hidup saya setidaknya dalam 20 tahun terakhir. Hal in bermula ketika saya menginjak umur 10 tahun, Ayah saya memperkenalkan saya dengan komputer yang kerap dia pakai untuk menggambar, mengetik laporan dan membuat tabel perencanaan anggaran proyek-proyeknya. Angan angan saya mengenai komputer bahkan jauh lebih awal dari itu, saya sudah sangat mengenal komputer melalui film-film intelijen asing seperti mission impossible, james bond, dll yang kerap menunjukkan kecanggihan komputer yang dapat menentukan nasib suatu bangsa. Cukup satu tombol “ENTER” maka meluncurlah rudal ke angkasa memporak-porandakan satu daerah. Kecanggihan ini yang membuat anak berumur 10 tahun terus menekuni dunia komputer hingga kini.

Benarkah komputer dapat meluncurkan roket membumihanguskan suatu daerah dengan sebuah pencetan tombol ?Jawabannya sungguh jelas yaitu tergantung dari program apa yang dijalankan. Program “Paint” bikinan microsoft yang berfungsi untuk memanipulasi gambar tidak mungkin dapat meluncurkan roket, namun berbeda cerita saat kita berbicara dengan program keamanan negara milik departemen pertahanan negeri Paman Sam. Fungsi dalam sebuah program inilah yang menjadi jantung utama dari program tersebut. Akan tetapi kesamaan dari program “Paint” milik microsoft dan program pertahanan milik departemen pertahanan negeri Paman Sam yaitu sama-sama dibuat oleh manusia. Sehingga jika kita tarik kesimpulan yang lebih jauh, faktor manusialah yang menentukan fungsi dari suatu program tersebut.

Program menurut kamus oxford berarti sebuah urutan kejadian yang perlu dilakukan untuk mencapai tujuan. Layaknya sebuah program pada bidang project management, program komputer juga berisi kejadian yang perlu dilakukan demi mencapai tujuan. Misal saat sebuah klik pada tombol “Buy” maka kantong belanja (cart) akan diisi (insert). Pada tulisan ini saya tidak akan menjelaskan bagiamana cara membuat program maupun cara mendesain program komputer yang baik. Pertanyaan tersebut bahkan tidak bisa dijawab dengan 4 tahun berkuliah saja, perlu pengalaman dan kerja keras untuk bisa menjawab itu semua. Pada tulisan ini saya ingin memberitahukan hal apa yang bisa dipetik dari belajar programming lebih dari sekedar mengetikkan kode. Berikut keuntungan yang dapat dipetik :

1. Berpikir detil dari perencanaan hingga implementasi

Lebih dari sekedar mengetikkan kode, belajar programming melatih seseorang untuk berpikir detil dari perencanaan hingga implementasi. Tidak hanya perencanaan, tidak hanya implementasi. Belakangan ini muncul momok yang berkembang di khalayak ramai bahwa dengan membuat program komputer maka selesai semua permasalahan. Hal ini salah besar. Seperti yang sudah saya jelaskan sebelumnya, bahwa terdapat faktor manusia dari semua program komputer. Program komputer hanya memindahkan pekerjaan dari dunia nyata ke dunia digital. Selama rencana penyelesaian masalah belum bisa diselesaikan di dunia nyata maka tidak akan pernah selesai di dunia digital juga.

Sedikit mengkritik pemerintah, banyaknya rencana pemerintah yang tidak berjalan hanya karena rencana yang dibuat tidak mempertimbangkan implementasi yang baik sehingga menghasilkan nol besar saat implementasi. Sama halnya saat kita membuat program diet untuk menurunkan 10 kg pada tahun 2019 namun tidak pernah memasukkan kegiatan lari pagi dan mengurangi makan makanan berlemak, alhasil bisa jadi malah naik 2 kg. Begitu pula sebaliknya saat seseorang fokus pada implementasi dan mengabaikan perencanaan maka tidak jelas arah tujuannya.

2. Melatih berpikir sistematis dengan logika yang benar

Belajar programming juga mengajarkan kita untuk berpikir sistematis dengan logika yang benar. Hal ini sangat baik untuk diterapkan pada kehidupan sehari-hari, misal saat membuat rencana perjalanan ke Belanda maka pola pikir programming dapat diterapkan sebagai berikut :

rencana : perjalanan ke belanda

implementasi :

a. jika tipe tujuan = bisnis maka bawa pakaian dinas

b. jika cuaca = musim dingin maka bawa jaket dingin

c. jika berat koper > 20 kg maka beli bagasi ekstra

d. ditentukan waktu tempuh rumah ke bandara 2 jam, waktu yang dibutuhkan untuk proses imigrasi 1 jam dan waktu boarding 30 menit maka waktu pergi dari rumah minimal = jadwal berangkat – 2 jam waktu tempuh – 1 jam imigrasi – 30 menit waktu boarding

3. Belajar menemukan dan memecahkan masalah

Hal terakhir yang saya rasa paling penting dari belajar programming yaitu menemukan dan memecahkan masalah yang sering kali disebut dengan debugging. Pasti dan sudah lumrah saat program dibuat pertama kali tidak berfungsi dan butuh perbaikan. Seorang programmer kemudian perlu mencari sumber masalahnya dan memeperbaikinya, karena kemungkinan besar dari masalah tersebut dikarenakan programmer tersebut lalai dan kurang teliti. Hal ini sangat baik untuk diaplikasikan pada dunia nyata untuk berkaca pada diri sendiri ketimbang menyalahkan orang lain. Contoh, saat terjadi pertikaian antara dua pihak seingnya antar pihak menyalahkan pihak yang lain ketimbang mencoba merefleksikan diri sendiri dan mencari kesalahan pada pihaknya. Padahal seringnya pula terjadi miskomunikasi sehingga terjadi kesalah pahaman.

Kiranya berikut poin-poin yang dapat dipetik dari belajar pemrograman yang dapat diaplikasikan pada kehidupan sehari-hari.