Apa itu Programming?

Semisalnya kamu bekerja di perusahaan multinasional dan kamu akan menghadapi pertemuan pertama dengan pebisnis dari negara Cina. Bahasa aslimu adalah Bahasa Indonesia dan kamu sama sekali tidak mengerti Bahasa Mandarin. Tetapi, kamu ingat bahwa bahasa kedua yang kamu kuasai adalah Bahasa Inggris dan pebisnis tersebut juga menguasai Bahasa Inggris. Dengan begitu, kamu mulai menggunakan Bahasa Inggris sebagai bahasa umum untuk bernegosiasi dan berkomunikasi dengan pebisnis tersebut.  

Dengan cara yang sama, kita menggunakan bahasa seperti HTML, CSS, JavaScript, Java, dll untuk berkomunikasi dengan komputer sehingga kita dapat memahami satu sama lain.

Bahasa asli komputer adalah dengan bilangan biner: daftar panjang yang hanya terdiri dari angka 1 dan 0. Biner tidaklah mudah untuk dibaca dan ditulis sehingga sebagai gantinya kita menciptakan bahasa pemrograman agar dapat berbicara dengan komputer. Karena komputer tidak mengerti bahasa manusia, kita memilih untuk dapat berkomunikasi dengan jalan tengah.

Tetapi, berbeda dengan manusia, komputer tidak mengerti komunikasi tidak langsung dan selalu memahami segala hal secara harfiah. Apabila kamu memerintahkan sesuatu, maka mereka akan melakukan sesuai dengan apa yang diperintahkan. Komputer tidak sepintar itu saat mengambil keputusan sendiri dan tidak akan mengerti informasi yang tidak dijabarkan untuk mereka. Untuk alasan ini, kamu harus memastikan bahwa kamu memberikan instruksi yang tepat.

Sebagai contoh, apabila saya menyuruhmu untuk membuat sandwich, kamu mungkin akan bertanya bahan apa yang saya mau untuk sandwich tersebut dan apakah saya ingin sandwich dipanggang terlebih dahulu atau tidak. Untuk kamu, mungkin hal itu saja yang ingin kamu ketahui untuk membuat sandwich yang enak. Namun, terdapat banyak keputusan kecil dan pengetahuan sebelumnya yang terlibat dalam membuat sandwich.

Apabila kamu hanya memerintahkan komputer bahwa kamu menginginkan daging panggang dan sandwich keju dengan roti gandum dan mayones, kamu mungkin akan mendapatkan sesuatu yang sangat berbeda dengan apa yang kamu perintahkan. Manusia akan tahu bahwa mayones dioleskan ke roti terlebih dahulu, setelah itu ditambahkan daging dan keju, kemudian sandwich dimasukkan ke dalam oven untuk dipanggang.

Tapi, bagaimana sebuah komputer mengerti akan semua hal itu?

Ingat sebelumnya kita memberitahukan komputer apa yang kita mau, “daging panggang dan sandwich keju dengan roti gandum dan mayones”. Untuk sebuah komputer, mungkin masuk akal untuk melakukan semua hal itu dengan berurutan. Komputer akan memanggang daging dan kejunya tersendiri, meletakkan dua potong roti gandum di atasnya, dan kemudian mengoleskan mayones pada roti.

Bukankah seharusnya komputer lebih pintar dari itu?

Nah, ini karena komputer memahami segala hal secara harfiah, kamu harus memerinci urutan setiap langkah dan penempatan setiap bahan. Semua orang tahu kalau semua bahan ditempatkan di antara dua lapis roti, tetapi komputer tidak mempunyai pengetahuan sebelumnya tentang seperti apa roti lapis itu — komputer hanya mengikuti instruksi langsung darimu.

Inilah alasan lain kenapa kita tidak bisa berkomunikasi langsung dengan komputer menggunakan bahasa manusia, setidaknya masih belum. Bahasa yang digunakan manusia terlalu ambigu dan samar untuk dimengerti komputer dengan baik. Juga, apabila sebuah kata atau kalimat memiliki makna ganda, komputer tidak tahu bagaimana menginterpretasikannya. Komputer membutuhkan segala sesuatu dijabarkan untuknya.

Yang benar adalah komputer tidak pintar sama sekali; mereka hanya memproses informasi lebih cepat dari kita.

Apa itu programmer dan apa yang mereka lakukan?

Ingat, kamu tidak memerintahkan komputer untuk melakukan apa yang kamu mau dengan bahasa Indonesia. Kamu membutuhkan programmer komputer untuk menafsirkan kebutuhanmu. Programmer komputer adalah seseorang yang dapat mengkomunikasikan ide dan instruksi yang kamu punya kepada komputer, membuat website, game, dan program lain yang muncul pada layar.

Seorang programer juga dapat diartikan sebagai polyglot (orang yang menguasai banyak bahasa) yang berspesialisasi untuk berbicara dengan komputer. Mereka tahu persis apa yang harus dikatakan dan bagaimana mengatakannya sehingga komputer dapat mengerti mereka. Jika kamu pernah belajar bahasa lain, tahu bahwa setiap bahasa dilengkapi dengan kosa kata, tata bahasa, dan aturannya sendiri. Bahasa komputer juga memiliki cara mereka sendiri dalam mengatakan sesuatu yang dinamakan dengan sintaks.

Sementara seseorang mungkin masih bisa mengerti jika kamu salah mengucapkan kata, menggunakan konjugasi yang salah, atau tata bahasa yang berantakan, tetapi komputer kurang bisa mentolerir kesalahan. Segera saat kamu melakukan kesalahan sintaks, komputer akan berhenti mendengarkanmu dan langsung berhenti menjalankan program.

Betapa tidak sopan.

Apa yang dapat kamu capai dengan keterampilan coding?

Bila kamu pernah menggunakan komputer, menonton video online, atau bermain video game, memang ini sulit dipercaya tapi semua itu merupakan serangkaian huruf dan simbol. Kemampuan untuk memproses ribuan baris kode per detik adalah kelebihan dari komputer dan memungkinkannya untuk mengikuti instruksi yang sangat kompleks dan menyelesaikan tugas yang luar biasa.

Mari kita lihat beberapa hal keren yang bisa lakukan dengan kode:

  • Menciptakan & Mendesain Website
  • Membuat aplikasi mobile
  • Mengembangkan Aplikasi Desktop
  • Mengembangkan Video Games
  • Membuat & Memelihara Database
  • Mengotomatiskan Pekerjaan
  • Memecahkan Masalah Kompleks
  • Menciptakan AI (Kecerdasan Buatan)
  • Mengerjakan Analisis Statistik
  • Dan masih banyak lagi…

Apabila kamu tertarik dengan salah satu aktivitas di atas dan ingin menjadikannya sebagai sumber penghasilan, belajar membuat program merupakan keterampilan yang sangat penting untuk dimiliki.

Apa yang membuat coding bermanfaat dan apa manfaatnya?

Sebagaimana kita semakin bergantung terhadap komputer di kehidupan sehari-hari, seiring pentingnya pemrograman komputer dan coding yang terus tumbuh dan berkembang.

Pada tahun mendatang, hampir semua bidang akan melibatkan pemrograman komputer dan belajar coding akan memberimu keunggulan untuk karirmu di masa depan. Contohnya, kamu dapat menggunakan keterampilan pemrograman di bidang penulisan, analisis, manajemen, teknik, pengembangan perangkat lunak, dan banyak lagi.

Advokat pemrograman melihat belajar coding sebagai keterampilan universal yang harus dimiliki setiap orang, seperti kemampuan membaca dan menulis atau melakukan persamaan matematika sederhana. Banyak pemerintah di seluruh dunia mempercayai hal ini juga dan telah mengusulkan inisiatif untuk mengajarkan coding kepada anak-anak di samping kurikulum inti di sekolah.

Sama seperti kita, mereka melihat coding sebagai kunci untuk tetap kompetitif di pasar global.

Saya sudah tahu ini berguna, tetapi seperti apa sebenarnya programming itu?

Keseharian seorang programmer tidak semewah yang ditayangkan di film maupun acara televisi.

Menjadi seorang programer membutuhkan banyak konsentrasi, kesabaran dan kesadaran diri yang tinggi. Apabila kamu tidak dapat duduk diam dan fokus selama berjam-jam, mungkin kamu perlu mempertimbangkan lagi untuk mengejar karir di pemrograman komputer.

Beberapa pekerjaan pemrograman mungkin mengharuskanmu untuk bekerja di waktu yang tidak tentu dan harus selalu siap sedia untuk memperbaiki bug dan menyelesaikan masalah segera saat masalah itu muncul. Pekerjaan lain memungkinkanmu untuk bekerja dari jam sembilan hingga jam lima, sama seperti pekerjaan biasa.

Namun, bekerja sebagai programmer komputer mungkin dapat memberimu lebih banyak kebebasan daripada pekerjaanmu saat ini. Sebagian besar pekerjaan pemrograman adalah pekerjaan remote, yang berarti kamu dapat melakukan coding saat berada di rumah, di kafe, atau saat kamu berjemur di pantai — mengingat sinyal wifi dapat mencapai sejauh itu.

Apakah programming pilihan yang tepat untuk saya?

Di sinilah ban roda bertemu jalan dan di mana kamu harus serius mempertimbangkan pro dan kontra pekerjaan di bidang pemrograman. Mungkin, kamu memiliki gagasan yang tidak realistis tentang seperti apa pemrograman itu dan belum menganggap bahwa coding sama seperti pekerjaan lain di luar sana — ini juga merupakan kerja keras. Tetapi apabila kamu memenuhi kriteria berikut, kemungkinan kamu akan menyukai setiap detiknya.

Tanda-tanda Programming bukan Pilihan Tepat untukmu:

  • Kamu hanya termotivasi uang dan tidak berminat pada komputer sama sekali
  • Tidak suka duduk dalam jangka waktu yang lama
  • Matamu menjadi sayu saat menatap halaman penuh deretan kode
  • Kecepatan mengetikmu lambat dan kerap melakukan salah ketik

Tanda-tanda Programming Pilihan yang Tepat untukmu:

  • Kamu adalah orang yang analitis DAN kreatif
  • Kamu adalah orang yang sangat teliti
  • Kamu nyaman bekerja dalam tim maupun sendirian
  • Kamu memiliki kemampuan dasar yang baik untuk memahami bahasa Inggris tertulis
  • Kamu suka memecahkan masalah
  • Kamu suka mempelajari hal-hal baru
  • Kamu beradaptasi dengan baik terhadap perubahan
  • Kamu suka mengorganisir informasi dan mengotomatiskan proses

Bahasa pemrograman apa yang harus dipilih dan di mana saya bisa mulai?

Mari kita kembali ke contoh pertemuan kita dengan Pebisnis dari negara Cina.

Meskipun bahasa Inggris mungkin berguna dalam bisnis, kamu mungkin perlu mempelajari bahasa lain untuk bidang yang berbeda. Misalnya, kamu mungkin ingin tahu bahasa Perancis untuk diplomasi, bahasa Yunani untuk filsafat, dan bahasa Jerman di bidang teknik. Tergantung pada bidang apa pekerjaanmu, kamu akan memilih bahasa tertentu untuk memenuhi kebutuhanmu.

Kamu tidak akan memiliki waktu atau kemampuan untuk mempelajari setiap bahasa pemrograman di luar sana, Jadi kamu harus memiliki strategi tentang bahasa apa yang ingin kamu pelajari. Pertama, kamu harus menentukan fokus dan bahasa apa yang kamu butuhkan untuk memenuhi tujuanmu.

Meskipun secara teknis bukan bahasa pemrograman, HTML dan CSS adalah bahasa yang baik untuk mulai mempelajari dasar-dasar cara kerja pemrograman. HTML dan CSS adalah “bahasa markup teks” yang sebenarnya adalah bahasa yang kita gunakan untuk memformat dan mengatur teks. Tanpa HTML atau CSS, browser tidak akan tahu apakah kata-kata yang saya tulis ini adalah judul, paragraf, atau catatan kaki. Browser juga tidak akan tahu apakah kata-kata ini harus dicetak tebal, dicetak miring, dll.

Bahkan ketika saya menulis artikel ini, saya menggunakan HTML dan CSS untuk membantu kamu dan browser internet memahami apa yang saya katakan.