"Ini zaman OOP, cuk!" boleh jadi jargon para calon insinyur di kampus. Banyak junior saya yang bertanya-tanya : buat apa belajar pemrograman prosedural (imperatif)? Bukankah nantinya jika kita bekerja di perusahaan software, konsep yang kita pakai adalah OOP?

Suka tidak suka. Mau tidak mau. Boleh tidak boleh. Rela tidak rela. Ada sejuta justifikasi mengapa kita perlu belajar dari paradigma prosedural terlebih dahulu. Jika perguruan tinggi memutuskan bahwa mahasiswa harus mulai dari Pascal, bukan dari Java atau .NET, tentu mereka punya alasan yang cukup kuat. Berikut ini hasil cangkrukan saya dengan seorang sobat.
The Reasons Behind
Berkenalan dengan Pascal dan C tidak membuat anda ‘mandul’ untuk memprogram di C#, Java, atau VB.NET. Ada beberapa alasan mengapa menurut saya seorang pemula tidak langsung dijejali dengan konsep-konsep OOP :
- Metode Problem Solving Natural
Manusia melakukan pemecahan masalah secara step-by-step. Itu adalah metode natural yang digunakan manusia di dalam problem solving. Manusia memandang dunia dalam bentuk objek (dan kelas), namun when it comes to solution manusia mendefinisikannya dalam bentuk instruksi imperatif.
Dengan mempelajari konsep prosedural terlebih dahulu, kita dapat dengan lebih mudah mengekspresikan algoritma ke bahasa komputer.
- Selaras dengan Cara Kerja Mesin
Secara internal, mesin bekerja dengan instruksi step-by-step. Inti pemrograman imperatif adalah kita memberitahu komputer how-to-do secara eksplisit.
Dengan pemrograman prosedural, kita lebih memahami cara kerja komputer.
- Level Abstraksi yang Cukup Dasar
Pemrograman prosedural ada pada level yang cukup mendasar jika dibandingkan paradigma lain. Salah satu contohnya adalah anda tidak bisa memprogram dengan OOP tanpa menyangkutpautkan instruksi-instruksi imperatif di dalamnya. Dengan metode prosedural, kita juga lebih mudah berkenalan dengan konsep-konsep dasar pemrograman seperti FOR, IF, WHILE, dan sebagainya.
Demikian pula paradigma fungsional yang has-no-side-effect membutuhkan konsep prosedural. Sebab 100% paradigma fungsional murni yang tidak mempunyai efek samping berarti juga tidak akan menghasilkan output!
Ke manapun anda melangkah nantinya, konsep prosedural tetap dibutuhkan. Itulah mengapa lebih masuk akal belajar dari paradigma prosedural lebih dahulu.
- Masih Minim Pengaruh Outer Force
Umumnya compiler berbasis OOP relatif lebih kompleks. Dengan pemrograman prosedural, pemula dapat fokus terhadap logika, tanpa banyak mengurusi teknologi yang ada di belakang mesin.
Demikian pula instruksi imperatif lebih mudah di-debug secara manual.
- Analisis Kompleksitas Algortima
Suatu saat nanti (semester 6 atau 7), mahasiswa akan berhadapan dengan Desain dan Analisis Algoritma. Analisis terhadap kompleksitas algoritma mau tidak mau tetap harus dilakukan secara imperatif, bukan objek!
Tanpa pemahaman pemrograman prosedural, kita akan kesulitan untuk melakukan analisis, yang berarti juga menyulitkan desain algoritma yang robust.
Itu adalah lima alasan saya mengapa pemrograman prosedural harus diajarkan. Kita juga perlu tahu bahwa tujuan akhir tidak selalu OOP. Masih banyak paradigma pemrograman lain, misalnya fungsional (semua adalah ekspresi matematis, contoh : F# dan Haskell) atau deklaratif (semuanya dideklarasikan, contoh : HTML dan XAML).
Saya yakin bahwa paradigma prosedural lebih memotivasi para pemula. Sebab efek positif dari konsep OOP (ekstensibilitas, fleksibilitas, dsb.) baru kelihatan dalam aplikasi yang berskala besar dan kompleks (sayangnya mahasiswa semester satu tidak mungkin langsung diminta membuat aplikasi yang kompleks). Dengan demikian, dalam mengawali pemrograman, jauh lebih mudah kita ganjar dengan konsep prosedural.
Yang tidak setuju dengan saya, boleh baca paper ini.





ga geek kaya gini
satu alasan lagi…
jadi matakuliah hobi (ngulang) :-)
@Dody
Padahal kamu salah satu super-geek di Programming Club
@Way
Kayanya lebih asyik ngulang Prokom daripada Probstat. Duh!
betul sih, simple nya belajar sebaiknya dimulai dari hal yang dasar dasar dulu…
Aku pun sebelum berkutat di OOP, juga pernah belajar prosedural (walaupun tidak segigih wirawan

).
@harrycalgery
sekarang giliran belajar OOP
Bener banget, daripada Probstat mending prokom ato alpro deh.
Kak wirawan blognya inspiring banget kak
@Wulunkz
nah, itu calon programmer jago. hahaha…
thanks.