Semuanya Berawal dari Algoritma
Yap.
Beberapa dari pembaca mungkin sudah familiar dengan istilah ini, tapi biar saya tulis ulang definisinya di buku ini ya.
Sederhananya, algoritma adalah langkah-langkah terstuktur yang dilakukan untuk menyelesaikan suatu permasalahan. Yang namanya langkah-langkah, sudah pasti dong harus ada awal dan akhirnya.
Contohnya begini: Bayangkan ada dua gelas berisi air. Kita diminta untuk menukarkan isi gelas pertama ke gelas kedua, dan sebaliknya. Bagaimana caranya?
Langkah yang paling mudah adalah dengan menyediakan wadah baru untuk menampung isi gelas secara sementara. Sehingga, langkah-langkahnya kurang lebih begini:
- Pindahkan air dari gelas pertama ke wadah baru
- Pindahkan air dari gelas kedua ke gelas pertama
- Pindahkan air dari wadah baru ke gelas kedua
Contoh lain. Misal, kita lagi nggak punya uang, dan kita mau pinjam dulu seratus ke teman. Gimana aja langkah-langkanya?
Kebanyakan mungkin akan berpikir begini:
- Lagi nggak punya uang
- Pinjam dulu seratus ke teman
Langkah-langkah tersebut, kalau diperinci bisa jadi begini:
- Lagi nggak punya uang
- Kalau perlu uang cepat
- Pinjam dulu ke teman
- Tentukan mau pinjam ke siapa
- Tentukan mau menghubungi teman via apa, apakah ketemu langsung/via WhatsApp/Instagram, dan sebagainya
- Tanya kabar teman
- Basa basi sedikit
- Keluarkan jurus "Boleh pinjam dulu seratus?"
- Kalau dikasih
- Bersyukur dan bilang makasih
- Kasih tenggat waktu kapan akan dikembalikan
- Kalau nggak dikasih,
- Jangan maksa
- Bilang makasih dan maaf udah menggangu waktunya
- Kembali ke poin 2.1.1
- Pinjam dulu ke teman
- Kalau nggak:
- Sabar aja dulu
Memang harus serinci itu ya?
Harus dong. Komputer itu bukan kang sulap yang bim salabim bisa melakukan apapun. Karena beginilah cara kerja komputer. Jika ingin mendalami programming, kita harus mulai terbiasa dengan ini.
Cara tercepat untuk terbiasa yaitu harus sering-sering latihan. Selain contoh memindahkan isi dari 2 gelas di atas, masih banyak lagi contoh dalam kehidupan sehari-hari yang bisa kita jadikan sebagai bahan latihan algoritma:
- Belanja ke warung. Coba pikirkan skenario berikut dan tulis secara rinci apa yang harus dilakukan
- Cuaca sedang hujan
- Belanja lebih banyak dari uang yang dibawa
- Warung tutup
Menurut saya, kesalahan yang cukup sering dilakukan oleh orang yang baru mendalami programming adalah langsung pilih bahasa pemrograman. Padahal, bahasa pemrograman hanyalah alat dan bisa dipelajari dalam waktu yang cepat dengan membaca dokumentasi yang tersedia.
Selama kita sudah terbiasa dengan algoritma, ketika kita diharuskan ganti bahasa, kita akan beradaptasi lebih cepat. Karena, pada dasarnya semua pemrograman itu punya hal-hal berikut.
- Variabel dan tipe data
- Perulangan
- Kondisional
- Struktur data
Sisanya, biasanya fitur-fitur atau paradigma spesifik yang dimiliki oleh setiap bahasa pemrograman. Hal tersebut akan selalu bisa dipelajari.