Programming !ituSusah
“Programming itu bukan ilmu, programming adalah sebuah ketrampilan “ — Richard Stallman (Programmer dan Aktivis Perangkat Lunak Bebas)
Sebelum saya diprotes oleh kamu semua para pembaca, saya mau bilang dulu ini diawal: Tidak! Saya tidak salah ketik atau typo pada penulisan judul tulisan ini. Memang itu judulnya. Bagi sebagian orang, pasti mereka bertanya-tanya: “apa maksud judulnya begitu?”. Namun untuk para programmer, judul tersebut tidak aneh dan saya yakin mereka bisa mengerti maksudnya.
Software engineering atau istilah umum yang dikenal publik: programming — seringkali dianggap sulit oleh segelintir orang. Namun menurut saya pribadi, programming tidaklah sesusah itu. Tidaklah sesusah yang orang-orang bayangkan. Menurut saya, pada dasarnya programming itu hanya terdiri dari 3 konsep dasar. Jika kamu bisa menguasai 3 hal tersebut, kamu bisa membuat program apa saja. Iya apa saja! Dari aplikasi yang berjalan di gawai, game online yang ada di Steam, sampai website medium ini yang lagi kamu buka sekarang, saya berani jamin pasti terdiri dari 3 konsep dasar ini.
Dengan tulisan ini, saya berharap saya bisa menepis pandangan orang-orang bahwa programming itu susah dengan mencoba menjelaskan 3 konsep dasar yang saya sebutkan diatas, yang menurut saya sederhana sekali. Ada beberapa hal yang harus kamu pahami sebelum membaca ini. Pertama, ini bukan tulisan tutorial programming. Jika kamu mau belajar programming secara penuh, saya sarankan cari kelas online yang mengajarkan programming seperti udacity atau udemy.
Kedua, tentu saja programming tidak hanya terdiri dari 3 konsep dasar yang akan coba saya jelaskan. Ada banyak konsep lainnya yang tidak bisa saya sebutkan semuanya disini.
Ketiga, tulisan ini ditujukan untuk orang-orang yang belum pernah mencoba programming sama sekali dan penasaran bagaimana cara kerja suatu program. Jadi untuk mahasiswa IT atau para praktisi IT, sebaiknya tidak usah membaca tulisan ini karena kamu sudah tahu 😅 Mungkin kalian bisa membantu saya dengan membagikan tulisan ini ke teman-teman kalian yang sekiranya juga skeptis terhadap dunia programming, I’d really appreciate it 🙇
Saya juga berharap mudah-mudahan ada juga yang tertarik dengan dunia programming setelah membaca tulisan ini. So without further ado, let’s get started!
0. Apa itu Program?
Pertama-tama mari kita bahas dulu apa itu program. Program pada dasarnya adalah sekumpulan instruksi yang kita berikan ke komputer. Intinya kita menyuruh komputer untuk melakukan sesuatu untuk kita. Seperti “tambahkan 2 dan 5” atau “berhitung dari 1 sampai 10”, dsb. Namun karena ini adalah komputer, kita tidak bisa menulis instruksi tersebut dalam bahasa manusia, namun kita harus menulis instruksi tersebut dalam bentuk kode atau biasa disebut bahasa pemrograman. Pada tulisan kali ini, saya akan mencoba memberi contoh dengan membuat program sederhana untuk menghitung faktorial untuk sebuah angka. Nah… sebagai seorang web developer, tentu saja bahasa pemrograman yang akan saya pakai sebagai contoh pada tulisan kali ini adalah Javascript.
Jangan khawatir… pada dasarnya semua bahasa pemrograman itu sama. Artinya semua bahasa pasti mempunyai 3 konsep dasar ini. Yang membedakan bahasa satu dengan lainnya hanyalah penulisan. Sama seperti anjing dalam bahasa Indonesia dan dog dalam bahasa Inggris. Cuma tulisannya saja yang beda, tapi sebenarnya merujuk pada hal yang sama. Jadi bila ke depannya kamu mau mengganti bahasa pemrograman yang lebih kamu sukai, it’s okay… boleh-boleh saja.
1. Variabel dan Tipe Data
Variabel adalah cara untuk menyimpan suatu nilai atau informasi, dengan kata lain: data. Data yang disimpan pada variabel tersebut dapat diubah dan dimanipulasi seiring berjalannya program. Nama variabel tidak boleh menggunakan spasi. Penulisan dalam mendefinisikan variabel:
{nama variabel} = {data yang disimpan}
Data yang disimpan pada suatu variabel memiliki tipe yang disebut dengan tipe data. Pada dasarnya ada banyak sekali tipe data, namun ada 3 tipe data sederhana yang disebut tipe data primitif:
- Tipe data angka: menyimpan data berupa nilai numerik.
console.log
merupakan instruksi yang ada pada Javascript untuk mencetak nilai suatu variabel ke layar. Tulisan yang diawali dengan tanda//
disebut sebagai komentar (komen). Komen bukan bagian dari program dan tidak akan dijalankan. Fungsi dari komen adalah sebagai penunjuk atau penjelasan terhadap program yang kita tulis.
2. Tipe data string: menyimpan data berupa teks, ditulis dengan awalan dan akhiran tanda petik dua "
.
Kita juga bisa menggabungkan beberapa string untuk membentuk suatu string baru dengan simbol
+
. Biasanya operasi ini disebut dengan istilah string concatenation.
3. Tipe data boolean: menyimpan data berupa nilai benar atau salah. Nilai benar atau salah ditulis dengan (true
) atau (false
).
Operasi yang mau saya kenalkan pada tulisan kali ini ada 2: kesamaan 2 data (
===
) dan negasi (!
).
Nah sekarang kita sudah bisa menulis sedikit program yang akan kita buat.
Variabel inputNumber
kita ibaratkan sebagai input masukan program kita.
That’s it! Itu saja variabel dan tipe data minimal yang harus kamu ketahui dalam membuat suatu program. Cukup sederhana bukan?
2. Percabangan
Percabangan adalah cara untuk mengontrol jalannya program yang kita buat. Sehingga kita bisa menjalankan instruksi yang tepat berdasarkan suatu kondisi tertentu. Misalkan: “Jika hari hujan, saya akan bawa payung”.
Sama seperti kita membuat pernyataan dengan bahasa manusia diatas. Dalam menulis program, kita menggunakan pernyataan if. Pernyataan if menerima tipe data berupa boolean sebagai kondisi yang menentukan apakah instruksi yang berada di dalamnya harus dijalankan atau tidak.
Nah balik lagi ke program faktorial yang akan kita buat. Pada operasi faktorial, terdapat tiga angka yang kalo difaktorialkan, maka hasilnya adalah angka itu sendiri:
0! = 1
1! = 1
2! = 2
Maka dari itu, kita bisa buat pernyataan if. Bilamana angka inputnya lebih kecil dari 3, kita bisa langsung mencetak langsung angka itu sendiri tanpa harus melakukan perhitungan.
Bagaimana dengan angka negatif? Kita bisa menggunakan pernyataan else if untuk mengecek apakah angka tersebut negatif. Jika ya, maka kita cetak pesan bahwa angka tersebut tidak ada nilai faktorialnya. Tapi harus hati-hati, karena semua angka negatif pasti lebih kecil dari 3, kita harus meletakkan pengecekan angka negatif terlebih dahulu. Urutan adalah salah satu poin penting yang harus selalu diperhatikan dalam menuliskan pernyataan if.
Ups! Kita belum memikirkan kasus 0!
. Menurut program kita sekarang, 0!
adalah 0 karena program yang akan dijalankan adalah pada kondisi inputNumber < 3
. Sedangkan itu tidak benar, karena0! = 1
. Mari kita perbarui kembali program kita:
Bagaimana? Cukup mudah untuk dimengerti bukan? Menurut saya pernyataan if ini mirip sekali dengan bahasa manusia yang kita gunakan sehari-hari sehingga mudah sekali untuk membaca dan mengartikannya.
3. Pengulangan
Salah satu keunggulan dari program komputer adalah kapabilitasnya dalam menjalankan instruksi-instruksi secara berulang kali secara cepat. Biasanya ini disebut sebagai iterasi. Program dapat menjalankan suatu rangkaian instruksi secara berulang kali sampai suatu kondisi tercapai, jika sudah tercapai maka perulangan akan berhenti.
Kondisi pada umumnya menggunakan suatu angka yang ditetapkan oleh programmer, karena seringkali kita menginginkan program untuk menjalankan instruksi sebanyak n kali. Misal: “Cetak teks sebanyak 10 kali”. Di Javascript, kita bisa menggunakan pernyataan for untuk menyatakan suatu perulangan. Penulisan pernyataan for akan sedikit membingungkan, pegangan!
Nah dari contoh diatas, apakah kalian sudah bisa menebak bagaimana cara kita menghitung faktorial untuk program kita? Ya, benar sekali! Kita akan memakai perulangan untuk menghitung faktorial.
Faktorial secara rumus matematika, pada dasarnya hanya mengalikan angka tersebut dengan angka yang sebelumnya, dan seterusnya, hingga mencapai angka 1.
5! = 5 x 4 x 3 x 2 x 1
Misal angka input yang diminta adalah 5, maka kita bisa menulis instruksi: “Mulai iterator dari 1, selama iterator lebih kecil atau sama dengan angka input (kondisi), kalikan angka hasil dengan angka iterator”.
That’s pretty much it! Selesai sudah program kita untuk menghitung faktorial suatu angka. Tapi programmer biasa tidak pernah puas, kita akan mencari cara untuk mengoptimalkan algoritma kita. Misalnya, perkalian dengan angka 1 pasti akan menghasilkan angka itu sendiri (prinsip identitas). Sehingga kita bisa memulai iterasi kita dari angka 2. Bonus:
Tentu saja ini bukan satu-satunya cara untuk membuat program untuk menghitung faktorial. Misal... daripada melakukan iterasi dari 2 sampai inputNumber
, kita melakukan iterasi menurun dari inputNumber
sampai 2. Hasilnya akan tetap sama! Contoh program menghitung faktorial di Javascript yang cukup singkat:
const factorial = n => !(n > 1) ? 1 : factorial(n - 1) * n;
Karena itulah saya sering berkata bahwa tidak pernah ada satu program yang mutlak benar. Kalian bisa mencari tahu lebih lanjut disini:
Nah… hanya dengan menguasai 3 konsep dasar ini: [1] Variabel dan tipe data [2] Percabangan [3] Iterasi — kamu sudah bisa membuat program apapun! Saya berani jamin.
Tentu saja masih banyak konsep-konsep lain yang tidak saya jelaskan pada tulisan saya kali ini. Ada: iterasi dengan while, array, switch-case, try-catch, struktur data, method and functions, class, rekursif, dan masih banyak lagi. Kalo kamu penasaran, ada banyak kelas online yang bisa kamu ikuti di internet. Ada banyak sekali pilihan!
Jadi? Apakah saya berhasil meyakinkan kamu bahwa programming itu tidak susah? Atau kamu malah menjadi lebih takut untuk mencoba programming? 😂
Apakah kamu juga sudah paham arti sebenarnya dari judul tulisan ini? Eit… tunggu dulu, masih ada 1 clue lagi yang saya tinggalkan pada tulisan saya kali ini. Apakah kamu menyadari bahwa sub-judul tulisan ini dimulai dari angka 0? Itu salah satu konsep di pemrograman juga yang tidak akan saya beritahu disini 😜
Seperti biasa, semoga tulisan ini bermanfaat dan meyakinkan kamu bahwa programming itu tidak sulit sama sekali. Syukur-syukur bisa membuat kamu tertarik dengan dunia programming.
Sampai jumpa di tulisan selanjutnya! 👋
Cheers! 🍻 — Ferzos