Apa Itu Coding dan Kenapa Semua Orang Bisa Mempelajarinya?
Halo Sobat Jurnal Coding! Selamat datang di titik awal perjalanan yang (saya jamin) bakal mengubah cara pandangmu terhadap dunia digital seutuhnya.
Pernahkah kamu menonton film *The Matrix*, *Mr. Robot*, atau film action Hollywood lainnya di mana seorang *hacker* duduk di ruang gelap? Mereka biasanya menggunakan *hoodie* hitam, mengetik dengan kecepatan dewa di atas keyboard mekanik yang berisik, sementara layar monitor mereka dipenuhi rentetan teks berwarna hijau yang terus berjalan ke bawah.
Jujur saja, adegan dramatis seperti itu sering kali membuat kita (termasuk saya sendiri saat pertama kali kenal komputer) menelan ludah dan berpikir: *"Wah, coding atau pemrograman itu pasti ilmu sihir super rumit. Ini sih cuma buat orang-orang jenius dengan IQ 150 ke atas yang nilai matematikanya selalu sempurna sejak TK."*
Faktanya? Coba tarik napas dalam-dalam, karena tebakan itu **100% keliru**!
Hari ini, saya ingin mengajak kamu membongkar habis mitos menakutkan tersebut. Mari kita bicarakan apa itu *coding* menggunakan bahasa manusia yang paling santai, tanpa istilah teknis yang bikin dahi berkerut.
### Komputer Itu Super Cepat, Tapi Super Bodoh
Untuk memahami *coding*, kita harus sepakat pada satu fakta lucu terlebih dahulu: Komputer, laptop, atau *smartphone* canggih yang kamu pegang saat ini sebenarnya adalah benda mati yang **sangat, sangat bodoh**.
Mesin-mesin ini memang bisa melakukan perhitungan jutaan kali lebih cepat daripada otak manusia, tapi mereka sama sekali tidak punya inisiatif. Mereka tidak bisa berpikir sendiri, tidak punya perasaan, dan tidak mengerti apa pun kecuali diberikan instruksi pasti.
Jika kamu diamkan, komputermu hanya akan menjadi tumpukan logam dan kaca yang menyedot listrik. Di sinilah *coding* masuk.
Secara harfiah, *coding* adalah proses kita memberikan instruksi atau perintah tertulis kepada komputer agar ia melakukan sesuatu yang kita inginkan. Seseorang yang rutin menulis instruksi ini disebut sebagai programmer.
### Analogi Memasak Mi Instan untuk Alien
Untuk membayangkan bagaimana cara kerja *coding*, lupakan sejenak tentang layar hitam dan deretan angka. Bayangkan kamu sedang kedatangan tamu seorang Alien dari planet lain yang belum pernah makan, belum pernah melihat dapur, dan sama sekali tidak tahu cara hidup di bumi. Kamu ingin menyuruh alien ini membuatkanmu semangkuk mi instan.
Jika kamu menyuruh manusia, kamu cukup berteriak santai, *"Tolong masakin mi instan dong satu, pakai telur ya!"* dan manusia itu akan langsung paham lalu melaksanakannya.
Tapi, jika kamu memberikan instruksi abstrak yang sama kepada komputer (si Alien), dia akan bengong, *error*, atau bahkan meledak karena kebingungan. Kenapa? Karena instruksimu tidak spesifik! Untuk menyuruh komputer bekerja, kamu harus merinci perintahmu menjadi langkah-langkah yang sangat detail, urut, dan dilarang keras melompat.
Kamu harus menuliskannya secara logis seperti ini:
1. Berjalanlah ke arah dapur dengan kecepatan normal.
2. Buka pintu lemari kayu di atas wastafel.
3. Ambil panci berukuran sedang berwarna merah.
4. Letakkan panci di bawah keran air.
5. Putar tuas keran ke arah kiri untuk menyalakan air.
6. Tunggu sampai air di dalam panci mencapai volume tepat 400 mililiter.
7. Putar tuas keran ke kanan untuk mematikan air.
8. Angkat panci dan letakkan tepat di tengah tungku kompor.
9. Tekan dan putar pemantik kompor ke kiri hingga api menyala.
10. Tunggu hingga suhu air mencapai 100 derajat celcius (mendidih dan bergelembung).
11. Buka kemasan plastik mi instan kemasan bungkus merah.
12. Masukkan balok mi kering ke dalam air mendidih.
13. Tunggu persis selama 3 menit.
14. Matikan api kompor.
Nah, daftar urutan langkah-langkah pemecahan masalah yang super detail dan logis inilah yang di dunia pemrograman disebut dengan **Algoritma**.
Lalu, bagaimana cara kita menyampaikan "Algoritma" ini kepada si komputer? Di situlah kita menggunakan **Bahasa Pemrograman**. Komputer pada dasarnya hanya mengerti arus listrik (angka 1 dan 0, atau hidup dan mati). Karena manusia akan pusing tujuh keliling jika disuruh mengetik "101010111000", maka diciptakanlah "bahasa penengah" seperti Python, JavaScript, PHP, atau C++.
Bahasa pemrograman ini bertindak seperti kamus penerjemah (*translator*). Kita mengetikkan algoritma menggunakan kosakata yang mirip bahasa Inggris sehari-hari (seperti kata `if`, `else`, `while`, `print`), lalu ada sistem otomatis di belakang layar yang akan menerjemahkan ketikan kita tersebut menjadi angka 1 dan 0 agar komponen fisik komputer langsung bisa mengeksekusinya.
### Kenapa Semua Orang (Termasuk Kamu) Pasti Bisa Mempelajarinya?
Banyak orang yang mundur teratur sebelum mulai bertanding karena merasa tidak pandai pelajaran matematika saat di bangku sekolah. Ini adalah kesalahpahaman terbesar abad ini yang selalu membuat saya tersenyum.
Dengar baik-baik: Kecuali kamu berniat merancang kecerdasan buatan (*Artificial Intelligence*), mendesain pergerakan orbit roket antariksa NASA, atau membuat mesin grafis *game* 3D sekelas PlayStation 5, **kamu sama sekali tidak membutuhkan matematika tingkat lanjut untuk menjadi programmer**.
Untuk membuat sebuah *website* profesional, membuat aplikasi kasir untuk kafe, sistem toko *online*, atau membangun blog rapi seperti "Jurnal Coding" ini, kamu hanya membutuhkan matematika dasar anak SD: tambah, kurang, kali, dan bagi. Selesai.
Modal utama dan paling krusial untuk menjadi seorang *programmer* andal bukanlah kepintaran matematis, melainkan **Kesabaran dan Logika**.
*Coding* itu murni sebuah *skill* atau keterampilan tangan, sama persis seperti belajar mengendarai sepeda, belajar memasak resep baru, atau belajar memetik gitar. Tidak ada bayi yang lahir ke dunia langsung bisa memetik gitar membawakan melodi lagu *rock*. Semuanya dimulai dari jari yang lecet, kapalan, dan nada yang sumbang.
Dalam dunia pemrograman, "nada sumbang" itu bernama *Error* atau *Bug*.
Saat kamu belajar *coding* nanti, 80% waktumu akan dihabiskan untuk menatap layar karena programmu tidak mau berjalan dan malah mengeluarkan teks peringatan berwarna merah. Awalnya, kamu pasti akan merasa frustrasi. Saya pernah bengong menatap layar selama 3 jam, berkeringat dingin mengira laptop saya rusak, padahal ternyata saya hanya lupa mengetikkan satu simbol titik koma (`;`) di akhir kalimat baris ke-42. Rasanya benar-benar ingin membanting meja!
Tapi tahukah kamu? Sensasi ketika kamu akhirnya berhasil menemukan kesalahan kecil itu, lalu menekan tombol *Run*, dan tiba-tiba aplikasimu menyala lalu berjalan dengan sangat mulus... *Wow!* Kepuasannya tidak bisa digambarkan dengan kata-kata. Sensasi hormon dopamin dari momen "AHA!" itulah yang membuat jutaan programmer di seluruh dunia (termasuk saya) ketagihan duduk berjam-jam menulis kode hingga larut malam.
### Mengubah Cara Otak Bekerja Secara Fundamental
Mantan pendiri Apple, mendiang Steve Jobs, pernah melontarkan sebuah kutipan yang sangat legendaris: *"Setiap orang di negara ini harus belajar cara memprogram komputer... karena hal itu mengajarkanmu cara berpikir."*
Belajar *coding* itu tidak melulu soal mengejar pekerjaan bergaji puluhan juta di perusahaan teknologi elit raksasa (meskipun itu adalah bonus yang sangat nyata dan terbukti). Belajar *coding* secara tidak langsung akan merestrukturisasi cara otakmu memproses informasi. Kamu akan diajarkan konsep tingkat tinggi yang disebut *Computational Thinking*.
Ketika dihadapkan pada masalah besar di dunia nyata yang terlihat mustahil diselesaikan, otakmu yang sudah terlatih *coding* tidak akan mudah panik. Otakmu akan otomatis memecah satu masalah raksasa tersebut menjadi 10 masalah kecil-kecil, lalu menyelesaikannya satu per satu secara berurutan, sama persis seperti analogi resep masak mi instan tadi.
Oleh karena itu, tidak peduli apakah latar belakangmu saat ini adalah seorang akuntan, barista kopi, siswa SMA jurusan IPS, pedagang *online*, atau ibu rumah tangga. Selama kamu bisa berpikir logis sederhana seperti: *"Jika di luar hujan, maka saya bawa payung. Jika tidak hujan, saya akan memakai topi,"* maka kamu sudah memiliki DNA seorang *programmer*.
### Langkah Selanjutnya Untukmu
Jangan terlalu lama terjebak dalam *overthinking* atau bingung memikirkan *"Aduh, harus mulai dari bahasa pemrograman apa ya?"* atau *"Apakah laptop kentang saya ini kuat?"*.
Di Jurnal Coding, kita akan berjalan pelan-pelan bergandengan tangan. Di artikel-artikel selanjutnya, saya akan memandu kamu secara pribadi untuk memilih bahasa pemrograman yang paling ramah pemula, menyiapkan peralatan (teks editor) gratisan di komputermu, dan menuntunmu menulis baris kodemu yang pertama.
Singkirkan semua keraguan dan mitos di kepalamu. Anggap saja belajar *coding* ini seperti belajar menguasai mekanik bermain *game* baru yang menantang namun sangat menguntungkan untuk masa depan finansial dan karirmu.
Kencangkan sabuk pengamanmu, siapkan secangkir kopi (atau teh favoritmu), dan mari kita mulai petualangan luar biasa ini bersama-sama di artikel selanjutnya!
Pernahkah kamu menonton film *The Matrix*, *Mr. Robot*, atau film action Hollywood lainnya di mana seorang *hacker* duduk di ruang gelap? Mereka biasanya menggunakan *hoodie* hitam, mengetik dengan kecepatan dewa di atas keyboard mekanik yang berisik, sementara layar monitor mereka dipenuhi rentetan teks berwarna hijau yang terus berjalan ke bawah.
Jujur saja, adegan dramatis seperti itu sering kali membuat kita (termasuk saya sendiri saat pertama kali kenal komputer) menelan ludah dan berpikir: *"Wah, coding atau pemrograman itu pasti ilmu sihir super rumit. Ini sih cuma buat orang-orang jenius dengan IQ 150 ke atas yang nilai matematikanya selalu sempurna sejak TK."*
Faktanya? Coba tarik napas dalam-dalam, karena tebakan itu **100% keliru**!
Hari ini, saya ingin mengajak kamu membongkar habis mitos menakutkan tersebut. Mari kita bicarakan apa itu *coding* menggunakan bahasa manusia yang paling santai, tanpa istilah teknis yang bikin dahi berkerut.
### Komputer Itu Super Cepat, Tapi Super Bodoh
Untuk memahami *coding*, kita harus sepakat pada satu fakta lucu terlebih dahulu: Komputer, laptop, atau *smartphone* canggih yang kamu pegang saat ini sebenarnya adalah benda mati yang **sangat, sangat bodoh**.
Mesin-mesin ini memang bisa melakukan perhitungan jutaan kali lebih cepat daripada otak manusia, tapi mereka sama sekali tidak punya inisiatif. Mereka tidak bisa berpikir sendiri, tidak punya perasaan, dan tidak mengerti apa pun kecuali diberikan instruksi pasti.
Jika kamu diamkan, komputermu hanya akan menjadi tumpukan logam dan kaca yang menyedot listrik. Di sinilah *coding* masuk.
Secara harfiah, *coding* adalah proses kita memberikan instruksi atau perintah tertulis kepada komputer agar ia melakukan sesuatu yang kita inginkan. Seseorang yang rutin menulis instruksi ini disebut sebagai programmer.
### Analogi Memasak Mi Instan untuk Alien
Untuk membayangkan bagaimana cara kerja *coding*, lupakan sejenak tentang layar hitam dan deretan angka. Bayangkan kamu sedang kedatangan tamu seorang Alien dari planet lain yang belum pernah makan, belum pernah melihat dapur, dan sama sekali tidak tahu cara hidup di bumi. Kamu ingin menyuruh alien ini membuatkanmu semangkuk mi instan.
Jika kamu menyuruh manusia, kamu cukup berteriak santai, *"Tolong masakin mi instan dong satu, pakai telur ya!"* dan manusia itu akan langsung paham lalu melaksanakannya.
Tapi, jika kamu memberikan instruksi abstrak yang sama kepada komputer (si Alien), dia akan bengong, *error*, atau bahkan meledak karena kebingungan. Kenapa? Karena instruksimu tidak spesifik! Untuk menyuruh komputer bekerja, kamu harus merinci perintahmu menjadi langkah-langkah yang sangat detail, urut, dan dilarang keras melompat.
Kamu harus menuliskannya secara logis seperti ini:
1. Berjalanlah ke arah dapur dengan kecepatan normal.
2. Buka pintu lemari kayu di atas wastafel.
3. Ambil panci berukuran sedang berwarna merah.
4. Letakkan panci di bawah keran air.
5. Putar tuas keran ke arah kiri untuk menyalakan air.
6. Tunggu sampai air di dalam panci mencapai volume tepat 400 mililiter.
7. Putar tuas keran ke kanan untuk mematikan air.
8. Angkat panci dan letakkan tepat di tengah tungku kompor.
9. Tekan dan putar pemantik kompor ke kiri hingga api menyala.
10. Tunggu hingga suhu air mencapai 100 derajat celcius (mendidih dan bergelembung).
11. Buka kemasan plastik mi instan kemasan bungkus merah.
12. Masukkan balok mi kering ke dalam air mendidih.
13. Tunggu persis selama 3 menit.
14. Matikan api kompor.
Nah, daftar urutan langkah-langkah pemecahan masalah yang super detail dan logis inilah yang di dunia pemrograman disebut dengan **Algoritma**.
Lalu, bagaimana cara kita menyampaikan "Algoritma" ini kepada si komputer? Di situlah kita menggunakan **Bahasa Pemrograman**. Komputer pada dasarnya hanya mengerti arus listrik (angka 1 dan 0, atau hidup dan mati). Karena manusia akan pusing tujuh keliling jika disuruh mengetik "101010111000", maka diciptakanlah "bahasa penengah" seperti Python, JavaScript, PHP, atau C++.
Bahasa pemrograman ini bertindak seperti kamus penerjemah (*translator*). Kita mengetikkan algoritma menggunakan kosakata yang mirip bahasa Inggris sehari-hari (seperti kata `if`, `else`, `while`, `print`), lalu ada sistem otomatis di belakang layar yang akan menerjemahkan ketikan kita tersebut menjadi angka 1 dan 0 agar komponen fisik komputer langsung bisa mengeksekusinya.
### Kenapa Semua Orang (Termasuk Kamu) Pasti Bisa Mempelajarinya?
Banyak orang yang mundur teratur sebelum mulai bertanding karena merasa tidak pandai pelajaran matematika saat di bangku sekolah. Ini adalah kesalahpahaman terbesar abad ini yang selalu membuat saya tersenyum.
Dengar baik-baik: Kecuali kamu berniat merancang kecerdasan buatan (*Artificial Intelligence*), mendesain pergerakan orbit roket antariksa NASA, atau membuat mesin grafis *game* 3D sekelas PlayStation 5, **kamu sama sekali tidak membutuhkan matematika tingkat lanjut untuk menjadi programmer**.
Untuk membuat sebuah *website* profesional, membuat aplikasi kasir untuk kafe, sistem toko *online*, atau membangun blog rapi seperti "Jurnal Coding" ini, kamu hanya membutuhkan matematika dasar anak SD: tambah, kurang, kali, dan bagi. Selesai.
Modal utama dan paling krusial untuk menjadi seorang *programmer* andal bukanlah kepintaran matematis, melainkan **Kesabaran dan Logika**.
*Coding* itu murni sebuah *skill* atau keterampilan tangan, sama persis seperti belajar mengendarai sepeda, belajar memasak resep baru, atau belajar memetik gitar. Tidak ada bayi yang lahir ke dunia langsung bisa memetik gitar membawakan melodi lagu *rock*. Semuanya dimulai dari jari yang lecet, kapalan, dan nada yang sumbang.
Dalam dunia pemrograman, "nada sumbang" itu bernama *Error* atau *Bug*.
Saat kamu belajar *coding* nanti, 80% waktumu akan dihabiskan untuk menatap layar karena programmu tidak mau berjalan dan malah mengeluarkan teks peringatan berwarna merah. Awalnya, kamu pasti akan merasa frustrasi. Saya pernah bengong menatap layar selama 3 jam, berkeringat dingin mengira laptop saya rusak, padahal ternyata saya hanya lupa mengetikkan satu simbol titik koma (`;`) di akhir kalimat baris ke-42. Rasanya benar-benar ingin membanting meja!
Tapi tahukah kamu? Sensasi ketika kamu akhirnya berhasil menemukan kesalahan kecil itu, lalu menekan tombol *Run*, dan tiba-tiba aplikasimu menyala lalu berjalan dengan sangat mulus... *Wow!* Kepuasannya tidak bisa digambarkan dengan kata-kata. Sensasi hormon dopamin dari momen "AHA!" itulah yang membuat jutaan programmer di seluruh dunia (termasuk saya) ketagihan duduk berjam-jam menulis kode hingga larut malam.
### Mengubah Cara Otak Bekerja Secara Fundamental
Mantan pendiri Apple, mendiang Steve Jobs, pernah melontarkan sebuah kutipan yang sangat legendaris: *"Setiap orang di negara ini harus belajar cara memprogram komputer... karena hal itu mengajarkanmu cara berpikir."*
Belajar *coding* itu tidak melulu soal mengejar pekerjaan bergaji puluhan juta di perusahaan teknologi elit raksasa (meskipun itu adalah bonus yang sangat nyata dan terbukti). Belajar *coding* secara tidak langsung akan merestrukturisasi cara otakmu memproses informasi. Kamu akan diajarkan konsep tingkat tinggi yang disebut *Computational Thinking*.
Ketika dihadapkan pada masalah besar di dunia nyata yang terlihat mustahil diselesaikan, otakmu yang sudah terlatih *coding* tidak akan mudah panik. Otakmu akan otomatis memecah satu masalah raksasa tersebut menjadi 10 masalah kecil-kecil, lalu menyelesaikannya satu per satu secara berurutan, sama persis seperti analogi resep masak mi instan tadi.
Oleh karena itu, tidak peduli apakah latar belakangmu saat ini adalah seorang akuntan, barista kopi, siswa SMA jurusan IPS, pedagang *online*, atau ibu rumah tangga. Selama kamu bisa berpikir logis sederhana seperti: *"Jika di luar hujan, maka saya bawa payung. Jika tidak hujan, saya akan memakai topi,"* maka kamu sudah memiliki DNA seorang *programmer*.
### Langkah Selanjutnya Untukmu
Jangan terlalu lama terjebak dalam *overthinking* atau bingung memikirkan *"Aduh, harus mulai dari bahasa pemrograman apa ya?"* atau *"Apakah laptop kentang saya ini kuat?"*.
Di Jurnal Coding, kita akan berjalan pelan-pelan bergandengan tangan. Di artikel-artikel selanjutnya, saya akan memandu kamu secara pribadi untuk memilih bahasa pemrograman yang paling ramah pemula, menyiapkan peralatan (teks editor) gratisan di komputermu, dan menuntunmu menulis baris kodemu yang pertama.
Singkirkan semua keraguan dan mitos di kepalamu. Anggap saja belajar *coding* ini seperti belajar menguasai mekanik bermain *game* baru yang menantang namun sangat menguntungkan untuk masa depan finansial dan karirmu.
Kencangkan sabuk pengamanmu, siapkan secangkir kopi (atau teh favoritmu), dan mari kita mulai petualangan luar biasa ini bersama-sama di artikel selanjutnya!