Programming Paradigms


[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