[Programming Paradigms]
A language that doesn't affect
the way you think about programming, is not worth knowing (Alan Jay Perlis,
first recipient of Turing Award)
Paradigma berasal dari bahasa
Yunani yang merujuk pada kategori dari entitas yang berbagi kesamaan
karakteristik. Jadi Paradigma Pemrograman adalah metode dalam membangun dan
menata program. Setiap bahasa pemrograman mengikuti setidaknya satu paradigma
pemrograman.
Secara garis besar ada dua jenis
paradigma yaitu imperative dan declarative. Setiap "anak" dari
kategori ini merupakan pengembangan dari "induk"nya.
Imperative (Procedural) merupakan
paradigma yang menggunakan pernyataan untuk mengubah status program, yang
menggunakan perintah untuk dilakukan oleh komputer. Seperti kata perintah yang
kita gunakan sehari-hari. Paradigma ini menggunakan prosedur, fungsi, subrutin
atau method untuk membagi program dalam tugas-tugas kecil. Ini memungkinkan
agar kode dapat digunakan kembali berkali-kali dan membuatnya lebih mudah
dipahami dan dipelihara. Meskipun menyelesaikan masalah yang besar dan kompleks
merupakan kelemahan dari paradigma ini karena paradigma ini tidak mendekati
cara berfikir manusia.
Contoh bahasa pemrograman yang
menggunakan paradigma ini: Algol, Fortran, dan COBOL.
Declarative merupakan paradigma
yang mengekspresikan logika komputasi tanpa menjelaskan control flow-nya.
Artinya, paradigma ini menjelaskan apa yang dikerjakannya bukan bagaimana cara
mengerjakannya. Control flow adalah urutan dimana fungsi, instruksi dan pernyataan
dieksekusi dan dievaluasi.
Contoh bahasa pemrograman yang
menggunakan paradigma ini: HTML dan SQL.
Structured merupakan anak
paradigma imperative yang menghapus variabel global dan memperkenalkan variabel
lokal ke dalam prosedur dan fungsi. Sering dikaitkan dengan pendekatan top-down
yang memecah masalah menjadi masalah-masalah yang lebih kecil dan
menyelesaikannya secara terpisah.
Contoh bahasa pemrograman yang
menggunakan paradigma ini: Pascal dan C.
Functional merupakan paradigma
yang memperlakukan komputasi sebagai evaluasi dari fungsi matematika dan
menghindari perubahan status maupun data. Paradigma ini memungkinkan program
untuk mengambil pandangan tingkat tinggi tentang apa yang harus dikomputasi.
Karena paradigma ini dibuat untuk memodelkan masalah daripada mencari solusi.
Contoh bahasa pemrograman yang
menggunakan paradigma ini: Haskell dan Lisp.
Logic merupakan paradigma yang
memungkinkan expresi logika, yang artinya setiap pernyataan yang diberikan
dianggap sebagai fakta atau aturan tentang beberapa domain masalah. Paradigma
ini berguna untuk menangani masalah tanpa penjelasan yang jelas tentang apa
fungsi seharusnya. Dalam paradigma ini pemrograman menggunakan inferensi logika
untuk menemukan solusi.
Contoh bahasa pemrograman yang
menggunakan paradigma ini: Prolog.
Object Oriented merupakan
paradigma dimana data direpresentasikan sebagai Object, yang merupakan instansi
dari Class. Class memiliki attribute dan method. Dengan paradigma ini kita
dapat membuat program yang modular yang mudah dipelihara dan dikembangkan.
Contoh bahasa pemrograman yang menggunakan
paradigma ini: Java dan Smalltalk
Komentar