Banyak orang yang berpendapat bahwa pemrograman tidak perlu dipelajari teorinya, cu kup dipraktikkan saja. Kita tinggal baca buku contohcon tohnya, dan memulai dari sana. Atau kita tinggal cari contohnya di Internet. Pendekatan cobacoba (trial and error) ini memang bisa dilakukan, tetapi dia hanya cocok untuk program yang sederhana atau ukurannya kecil.
Untuk program yang kompleks atau berukuran besar, tanpa mengguna kan teori dalam pengembangannya, maka program akan menjadi lambat dan bahkan dapat dianggap tidak da pat digunakan. Untuk membuat apli kasi database dengan data 100 orang (sebuah kelas, misalnya) akan ber beda dengan data 10 juta orang (se buah bank, misalnya).
Ketika kuliah dahulu, saya mendapat tugas untuk membuat sebuah program simulasi rang kaian digital. Tugas tersebut lang sung saya kerjakan dengan memikirkan algoritmanya (dalam bentuk flowchart, karena waktu itu memang flowchart yang paling lazim digunakan). Kemudian saya langsung membuat programnya. Program selesai saya buat, dan berjalan dengan belasan kom ponen (logic gates). Dengan bang ganya, program tersebut saya serah kan kepada dosen. Tak berapa lama kemudian, saya dipanggil dosen yang ber sangkutan. Saya ditanya apakah menggunakan sebuah model tertentu untuk menyelesaikan tu gas saya. Saya jawab tidak.
Kemudian dia menjelaskan bahwa program saya hanya dapat di gunakan untuk rangkaian yang sangat kecil (toy problems), tetapi tidak dapat digunakan untuk ratusan komponen, atau bahkan puluhan ribu komponen (real prob lems). Memang ketika saya coba dengan jumlah komponen yang banyak, program saya tidak kun jung selesai. Dosen saya kemudian bertanya, apakah sudah mengambil kuliah graph theory. Saya katakan belum, dan tidak tahu kenapa harus (sebaiknya) mengambil tersebut. Kemudian dosen saya menjelaskan bahwa tugas saya (membuat simulator) bisa lebih baik, dalam artian bisa digunakan dengan komponen yang lebih banyak, jika kita dapat memodelkan permasalah yang saya hadapi ke persoalan standar (graph). Benar saja, setelah sedikit me ngerti tentang graph theory, maka saya bisa memodelkan masalah yang saya hadapi dengan lebih akurat.
Setelah berbentuk graph, maka saya lebih mudah mencari solusi permasalahan. Sebagai con toh, saya dapat mencari jarak ter jauh dari dua komponen untuk menentukan delay maksimum dari rangkaian saya. Ada berbagai algo ritma yang dapat digunakan untuk melakukan operasi terhadap se buah graph. Hasilnya, program simulator saya dapat digunakan un tuk rangkaian yang lebih kompleks (dengan jumlah komponen yang lebih banyak). Inti yang ingin saya sampaikan pada opini kali ini, membuat sebuah program, khususnya yang skalanya besar, tidak dapat dilakukan dengan cobacoba. Ada ilmu yang harus dipelajari. Hal ini tidak hanya di bidang software, tapi bisa juga untuk teknik yang lain. Belajar teori itu penting. Sekolah itu penting!
Penulis : Budi Rahardjo Infolinux 2011 :)
Pentingnya Belajar Teori Pemrograman
Label:
belajar pemrograman