Multi Paradigma Pemrograman Pada Python

Bagas Triaji
mtiakakom
Published in
2 min readOct 13, 2019

Saat ini, Python menjadi salah satu bahasa pemrograman paling populer. Mudah dipelajari, ringkas dan memiliki dukungan komunitas yang besar. Dipakai dari para pemula yang sedang belajar pemrograman hingga para ilmuan data (Data Scientist).

Selain dari beberapa keunggulan di atas, Python mendukung beberapa paradigma pemrograman sekaligus. Meskipun, beberapa programmer, Python cenderung ke salah satu paradigma, yakni Imperative.

Sebelum membahas multi paradigma tadi, akan kita pahami dahulu secara singkat apa itu paradigma pemrograman.

Paradigma pemrograman merupakan cara pandang, gaya, metode untuk menyelesaikan suatu masalah dalam pemrograman. Ada beberapa paradigma pemrograman seperti Functional, Object Oriented, Impertave, Concurent, Declarative, Event Driven. Namun, dari paradigma-paradigma tersebut, dikelompokkan menjadi 2, yakni imperative dan declarative.

Pengelompokan paradigma pemrograman

Jika melihat gambar di atas, procedural dan object oriented turunan dari paradigma imperative. Sayangnya di gambar tersebut bahasa pemrograman yang ditulis sangat terbatas. Sebenarnya Python, khususnya Python 3, mendukung paradigma imperative yang populer dengan object oriented, sedangkan sisi paradigma declarative, Python saat ini populer dengan lambda function untuk mendukung paradigma functional.

Dalam tulisan ini, akan diberikan contoh hanya 2 paradigma saja secara sederhana yang mewakili paradigma Imperative dan Declarative. Berikut contohnya:

  1. Imperative
numbers = [1, 2, 3, 4]
total = 0
for number in numbers:
total += number
print(total)

2. Declarative (functional)

numbers = [1, 2, 3, 4]
print(sum(numbers))

atau

import functools
numbers = [1, 2, 3, 4]
print(functools.reduce(lambda x, y: x + y, numbers))

Pada paradigma imperative, kode berupa langkah per langkah untuk menghitung jumlah dalam list. Sedangkan pada declarative/functional, menggunakan fungsi sum atau reduce tanpa mengetahui langkah-langkahnya bahkan tidak menggunakan perulangan (looping).

Singkatnya, paradigma imperative menuliskan baris alur proses bagaimana cara menyelesaikannya, sedangkan declarative menuliskan baris perintah apa yang kita inginkan tanpa mengetahui alur prosesnya.

Dengan keunggulan multi paradigma inilah, python banyak disukai khususnya di lingkungan akademis karena tidak perlu berganti bahasa pemrograman untuk mencoba paradigma pemrograman yang lain.

Referensi:
https://www.computer.org/csdl/magazine/it/2011/05/mit2011050030/13rRUwgQpnj
https://hackernoon.com
https://www.dataquest.io
https://www.vinta.com.br
https://docs.python.org/3/library/functools.html#functools.reduce

--

--

Bagas Triaji
mtiakakom

Data enthusiast. Weekday cyclist. Yogyakarta, ID