Menurut Wikipedia, Paradigma adalah model utama, pola atau metode (untuk meraih beberapa jenis tujuan). Seringkali paradigma merupakan sifat yang paling khas atau dasar dari sebuah teori atau cabang ilmu.
Paradigma juga ada dalam ilmu komputer yaitu sebuah Paradigma Pemrograman adalah cara untuk mengklasifikasikan bahasa pemrograman berdasarkan fitur mereka. Bahasa dapat diklasifikasikan menjadi beberapa paradigma. Pedoman dasar pemrograman, biasanya diterapkan oleh bahasa program yang dipakai.
Dalam pemrograman ada 5 paradigma yang harus kalian ketahui, yaitu:
1. Pemrograman Fungsional
Pemrograman jenis ini memiliki cara pandang dalam menyelesaikan suatu masalah pemrograman sebagai suatu komposisi fungsi yang memetakan masalah ke jawaban yang diiinginkan. Jadi dasar pemecahan masalah adalah transformasional, semua kelakuan program adalah suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu rantai keadaan akhir, yang mungkin melalui keadaan antara, melalui aplikasi fungsi.
Program yang dihasilkan dengan bahasa pemrograman yang menggunakan paradigma ini biasanya membutuhkan waktu pemrosesan yang lebih lama dibandingkan dengan yang menggunakan paradigma prosedural karena dibutuhkan waktu lebih untuk memproses fungsi-fungsi yang digunakan dalam membuat program.
Ciri:
- Fungsi adalah first class object (fungsi bisa dibentuk seperti variabel/data)
- Mengandalkan bentuk rekursif (fungsi memanggil fungsi) untuk melakukan “pengulangan/looping”
Contoh Bahasa pemrograman: LISP, Haskell, Scala, Scheme
2. Pemrograman Prosedural atau Iteratif
Berbeda dengan pemrograman fungsional, pada pemrograman prosedural atau iteratif ini, pengguna atau user harus memberikan serangkaian perintah yang berurutan untuk menyelesaikan suatu masalah pemrograman. Bila perintah tidak dilakukan secara terurut, masalah yang muncul kemungkinan tidak dapat terselesaikan dengan baik.
Sedikit informasi tambahan, bahwa pemrograman ini menggunakan konsep dasar mesin Von Newman, atau sekelompok tempat yang berguna untuk menyimpan memori yang nantinya akan dibedakan menjadi dua bagian, yaitu memori instruksi dan memori data. Kelebihan dari paradigma ini adalah efisiensi eksekusi karena lebih dekat dengan konsep mesin, kekurangannya adalah batasan yang sangat mengikat sehingga terkadang menyulitkan programmer yang tidak terbiasa.
Ciri:
- Adanya bentuk looping (pengulangan)
- Unit abstraksi: prosedur dan fungsi (subprogram)
- Step program intinya menerangkan bagaimana caranya solve problem (the HOW)
Contoh Bahasa pemrograman: Pascal, C, PHP
3. Pemrograman Berorientasi Objek
Lain pula halnya dengan pemrograman yang berorientasi pada objek. Sesuai dengan namanya, pemrograman ini menyelesaikan suatu masalah yang ada dengan berorientasi kepada objek karena seluruh data serta fungsi yang ada di dalamnya dikemas dalam suatu kelas atau objek-objek yang terpisah ke beberapa bagian tertentu.
Hal ini sangat berbeda dengan pemrograman prosedural atau iteratif yang sudah dijelaskan sebelumnya karena setiap objek yang ada dapat menerima pesan yang dikirim, memproses data yang ada, serta mengirimkan pesan ke objek lainnya tanpa harus melakukannya secara berurut karena dapat dilakukan sekaligus dalam satu waktu.
Ciri:
- unit abstraksi: class/object
Contoh Bahasa pemrograman: C++, Java, Smalltalk, PHP
4. Pemrograman Deklaratif, Predikatif atau Logic
Terakhir, untuk jenis pemrograman ini, suatu masalah dianggap sebagai pekerjaan komputer yang dilakukan melalui sebuah inferensi terhadap fakta yang ada. Hal tersebut didasari oleh sebuah predikat yang mendefinisikan relasi antar individu sebagai kumpulan dari beberapa fakta yang tersedia.
Sejumlah fakta tersebut nantinya memiliki aturan atau inference rules yang kemudian saat sudah dalam tahap eksekusi, user dapat mengajukan pertanyaan atau query guna mencocokkan terhadap fakta-fakta tersebut sehingga masalah dapat terselesaikan dengan baik.
Pemrogaman inisifatnya mensolve problem bukan dengan cara menspesifikasikan caranya (HOW) seperti pada Pemrograman Prosedural, tetapi dengan menspesifikasikan/DECLARE apa yang dimau/dibutuhkan (the WHAT)
Contoh Bahasa pemrograman: Prolog
5. Paradigma Konkuren
Paradigma ini didasari oleah kenyataan bahwa dalam keadaan nyata, sebuah sistem komputer harus menangani beberapa program (task) yang harus dieksekusi secara bersamaan dalam sebuah lingkungan baik mono ataupun multi processor. Dalam paradigma ini programmer tidak lagi berpikir sekuensial, melainkan harus menangani komunikasi dan sikronisasi antar task.
Itulah 5 paradigma pemrograman dengan pengertian serta fungsinya. Masing-masing paradigma mempunyai strategi analisa yang khusus dalam memecahkan persoalan, jadi anilisis setiap permasalahan kalian secara menyeluruh untuk menentukan paradigma mana yang akan digunakan.