Daftar Isi ⇅
show
Untuk membuat sebuah perangkat lunak atau program, kita harus menulisnya menggunakan bahasa pemrograman. Setiap bahasa pemrograman mempunyai perintah atau kode yang memiliki aturan penulisan khusus berupa sintaks. Proses penulisan kode ini boleh dibilang hampir sama dengan penulisan karya tulis biasa, namun menggunakan bahasa yang dimengerti oleh komputer, dan tujuannya adalah untuk memberikan perintah.
Oleh karena itu, seperti penulisan karya tulis berupa teks, setiap programmer akan memiliki gaya penulisan unik yang berbeda satu sama lain. Seperti penulisan karya tulis juga, terdapat berbagai pola pikir, prinsip, dan struktur yang menaungi suatu gaya penulisan untuk memudahkan prosesnya. Dalam kaitannya dengan penulisan suatu program, gaya atau pola pikir penulisan tersebut disebut sebagai paradigma pemrograman.
Pada saat ini, paling tidak terdapat empat atau lima jenis paradigma yang biasa digunakan dalam industri pemrograman. Jumlah tersebut tentunya terus bertambah seiring dengan perkembangan teknologi bahasa pemrograman. Paradigma pemrograman yang dimaksud, terkait dengan gaya atau pendekatan yang bisa dipilih programmer dalam menyusun program berdasarkan permasalahan yang dihadapinya.
Lima jenis paradigma pemrograman tersebut meliputi pemrograman fungsional, prosedural, PBO/OOP, deklaratif, dan terstruktur. Berikut adalah penjelasan dari masing-masing paradigma pemrograman.
Pemrograman Fungsional
Pemrograman fungsional biasanya menggunakan fungsi atau subprogram yang bisa digunakan kapan saja bila dibutuhkan. Setiap fungsi memiliki algoritma yang dibuat untuk menyelesaikan suatu permasalahan dan dapat digunakan ulang kapan saja di mana saja jika dibutuhkan.
Tujuan dibuatnya fungsi atau subprogram tersebut adalah agar memudahkan dalam pengorganisasian penyelesaian masalah serta meningkatkan efisiensi penulisan program karena berbagai fungsi tersebut dapat digunakan ulang untuk masalah lain yang memiliki logic penyelesaian yang sama namun memiliki parameter berbeda.
Sering kali paradigma ini juga disebut juga dengan istilah pemrograman modular. Hal tersebut karena paradigma ini memang membantu suatu program menjadi modular atau memudahkan bongkar pasang fungsi. Beberapa kelebihan lain dari paradigma pemrograman fungsional adalah sebagai berikut.
- Membuat program menjadi lebih modular yang artinya perangkat lunak dapat lebih mudah untuk ditambah atau dikurangi fiturnya.
- Membantu proses debug menjadi lebih cepat karena dapat ditrack berdasarkan fungsi yang mengalami galat.
- Mengubah masalah kompleks menjadi potongan-potongan kecil yang jauh lebih sederhana untuk diselesaikan.
Tentunya selain memiliki kelebihan, paradigma ini juga memiliki kekurangan. Kelemahan-kelemahan tersebut adalah sebagai berikut.
- Relatif sulit untuk dipelajari oleh pemula.
- Pemeliharaan sulit ketika digunakan untuk proyek berskala besar.
- Menjaga reusability dari suatu fungsi adalah hal yang tidak mudah untuk dilakukan.
Bahasa pemrograman yang mendukung paradigma ini meliputi PHP, Javascript, Ruby, Pascal, C/C++, Python, dsb.
Pemrograman Berorientasi Objek (PBO/OOP)
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman berdasarkan konsep “objek”, yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Sementara itu, menurut Abdulloh (2017, hlm. 34) OOP atau object-oriented programming merupakan teknik pemograman dengan menggunakan konsep objek.
Tujuan dari OOP adalah untuk memudahkan programmer dalam pembuatan program dengan menggunakan konsep objek yang ada dalam kehidupan sehari-hari. Jadi setiap bagian permasalahan adalah objek, dan objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil.
Semua data dan fungsi di dalam paradigma OOP ini dibungkus dalam kelas-kelas atau objek-objek. Hal ini memungkinkan penulisan kode yang lebih efisien lagi jika dibandingkan dengan pemrograman fungsional. Mengapa? Karena tidak hanya dapat membuat fungsi yang dapat digunakan ulang saja, melainkan setiap parameter yang diterima atau dikirim oleh fungsi menjadi dinamis pula. Selain itu, OOP juga memiliki keunggulan lainnya seperti:
- Menawarkan kemudahan manajemen kode karena gaya coding modularnya.
- OOP meniru objek real-world, sehingga membuat pengolahan data/objek lebih mudah untuk dipahami.
- Karena menggunakan objek yang utuh dan berdasarkan real-word usage, objek tersebut dapat digunakan kembali di program lain, misalnya objek JSON yang digunakan secara universal baik pada program berbasis web, mobile, maupun desktop.
Sementara itu, beberapa kelemahan dari paradigma PBO atau OOP adalah sebagai berikut.
- Program Berorientasi Objek cenderung lebih lambat dan menghabiskan banyak memori.
- Berpotensi besar melakukan generalisasi yang berlebihan.
- Program yang dibangun menggunakan paradigma ini mungkin membutuhkan waktu lebih lama untuk dibuat.
Beberapa jenis bahasa pemrograman yang mendukung ini adalah Java, Python, PHP, C++.
Pemrograman Prosedural
Pemrograman Prosedural dilakukan dengan memberikan serangkaian perintah yang berurutan atau disebut sekuensial. Paradigma ini didasari oleh konsep mesin Von Newman (stored program concept), sekelompok tempat penyimpanan (memori), yang dibedakan menjadi memori instruksi dan memori data. Masing-masing memori tersebut dapat diberi nama dan nilai, selanjutnya instruksi akan dieksekusi satu persatu secara sekuensial oleh sebuah proses tunggal.
Sederhananya, Pemrograman Prosedural melibatkan penulisan daftar instruksi untuk memberi tahu komputer apa yang harus dilakukan langkah demi langkah untuk menyelesaikan tugas yang ada. Tampaknya tidak ada yang istimewa dari paradigma ini, karena pemrograman prosedural merupakan paradigma bahkan konsep awal dari penulisan program. Namun demikian, prosedur ini memiliki keunggulan tersendiri seperti:
- Penggunaan memori yang lebih hemat,
- kode pemrograman lebih sederhana,
- lebih bersahabat untuk dikompilasi oleh compiler atau interpreter program, dan
- alur program lebih mudah untuk ditelusuri.
Berbagai keunggulan tersebut mendapat sorotan terutama ketika paradigma OOP mendominasi industri pemrograman. Tentunya, pemrograman prosedural juga memiliki kelemahan tersendiri, yakni sebagai berikut.
- Kode prosedural sering kali tidak dapat digunakan ulang, tentunya karena paradigma ini tidak membuat fungsi atau subprogram.
- Sulit untuk dihubungkan dengan objek dunia nyata.
- Operasi program lebih diutamakan dibandingkan dengan pengolahan data, sehingga kurang cocok untuk digunakan dalam pengembangan program yang sensitif terhadap data.
Beberapa contoh bahasa pemrograman yang mendukung paradigma ini adalah Pascal, PHP, C/C++, dan Python.
Pemrograman Deklaratif
Paradigma ini menjadi populer akhir-akhir ini seiring dengan perkembangan AI (artificial intelligence). Melalui paradigma pemrograman deklaratif, seorang programmer cukup menuliskan fakta-fakta atau peraturan-peraturan (rule-based) dari hasil representasi kasus/permasalahannya.
Kelebihan dari paradigma deklaratif adalah sebagai berikut.
- Kode sangat ringkas dan efisien.
- Dapat diimplementasikan menggunakan metode-metode eksperimental.
- Mudah untuk dioptimasi.
Sementara itu, kekurangannya adalah sebagai berikut.
- Sulit untuk dipahami oleh programmer lain, terutama programmer dari luar project.
- Pemrograman deklaratif berdasarkan konsep atau model yang masih belum familiar, sehingga masih jarang yang memahaminya
- Sulit untuk mempertimbangkan karakteristik aplikasi individual selama masa pemrograman
Contoh jenis bahasa pemrograman yang mendukung paradigma ini adalah Prolog, Lisp, Haskell, Miranda, dan Erlang.
Pemrograman Terstruktur
Pemrograman terstruktur adalah konsep pemrograman yang menggabungkan antara pemrograman prosedural dan fungsional (Yuana, 2002, hlm.4). Dalam paradigma pemrograman terstruktur, program dipecah menjadi fungsi yang berbeda, fungsi ini juga dikenal sebagai modul, subprogram, subrutin, dan prosedur.
Setiap fungsi dirancang untuk melakukan tugas tertentu dengan data dan logikanya sendiri. Informasi dapat diteruskan dari satu fungsi ke fungsi lain melalui parameter. Suatu fungsi dapat memiliki data lokal yang tidak dapat diakses di luar ruang lingkup fungsi. Hasil dari proses ini adalah bahwa semua fungsi lain yang berbeda disintesis dalam fungsi lain. Fungsi ini disebut sebagai fungsi utama. Kelebihan dari pemrograman terstruktur adalah sebagai sebagai berikut.
- Ramah pengguna dan mudah untuk dipahami
- Mirip dengan vokabulari bahasa inggris dari segi kata dan simbol
- Membutuhkan waktu yang lebih sedikit untuk ditulis
- Mudah untuk dipelihara
Sementara itu, kelemahan dari pemrograman terstruktur adalah sebagai berikut.
- Structured programming menggunakan bahasa tingkat tinggi dengan lapisan yang cenderung lebih tinggi dari bahasa lain, sehingga akan mengonsumsi resource perangkat keras yang lebih besar.
- Objek yang dihasilkan oleh interpreternya lebih tidak efisien jika dibandingkan dengan bahasa tingkat rendah
- Tipe data diproses dalam banyak fungsi, saat tipe data diubah maka perubahan tersebut harus dibuah di setiap lokasi fungsi yang memprosesnya, sehingga memakan lebih banyak waktu.
Banyak bahasa tingkat tinggi mendukung pemrograman terstruktur, diantanya: LGOL, Pascal, PL/I, Ada, dan GoTo.
Referensi
- Abdulloh, R. (2017). Membuat aplikasi point of sale dengan laravel dan AJAX. Jakarta: PT. Elex Media Komputindo.
- Yuana, R.A. (2002). Modul Pemrograman Terstruktur. Surakarta: UNS.
bagus