Apa Itu Paradigma?
PARADIGMA
Apa sih paradigma itu?
Paradigma juga dapat disebut sebagai metode untuk memecahkan suatu masalah atau melakukan suatu tugas. Paradigma pemrograman adalah suatu pendekatan untuk memecahkan masalah dengan menggunakan beberapa bahasa pemrograman atau dapat juga dikatakan sebagai suatu metode untuk menyelesaikan suatu masalah dengan menggunakan alat dan teknik yang tersedia bagi kita dengan mengikuti beberapa pendekatan. Ada banyak sekali bahasa pemrograman yang sudah dikenal tetapi semuanya harus mengikuti beberapa strategi ketika diimplementasikan dan metodologi/strategi ini adalah paradigma. Terlepas dari jenis bahasa pemrograman ada banyak paradigma untuk memenuhi setiap permintaan. Mari bahas lebih lanjut di bawah ini :
1. Imperative Programming Paradigm
Ini adalah salah satu paradigma pemrograman tertua. Ini fitur hubungan dekat dengan arsitektur mesin. Ini didasarkan pada arsitektur Von Neumann. Ia bekerja dengan mengubah status program melalui pernyataan penugasan. Ia melakukan tugas langkah demi langkah dengan mengubah status. Fokus utamanya adalah bagaimana mencapai tujuan. Paradigma terdiri dari beberapa pernyataan dan setelah eksekusi semua hasilnya disimpan.
Keuntungan:
- Sangat sederhana untuk diterapkan
- Ini berisi loop, variabel dll.
Kerugian:
- Masalah kompleks tidak dapat diselesaikan
- Kurang efisien dan kurang produktif
- Pemrograman paralel tidak mungkin
Contoh dari Imperative Programming Paradigm :
// rata-rata dari 5 angka yang diberikan
int marks[5] = { 12, 32, 45, 13, 19 } int sum = 0;
float average = 0.0;
for (int i = 0; i < 5; i++) {
sum = sum + marks[i];
}
average = sum / 5;
Imperative Programming Paradigm dibagi menjadi tiga kategori besar: Procedural, OOP and parallel processing. Paradigma tersebut adalah sebagai berikut :
a. Paradigma pemrograman prosedural
Paradigma ini menekankan pada prosedur dalam hal model mesin yang mendasarinya. Tidak ada perbedaan antara pendekatan prosedural dan imperatif. Ia memiliki kemampuan untuk menggunakan kembali kode dan itu adalah anugerah pada saat itu ketika digunakan karena dapat digunakan kembali.
Contoh :
#include <iostream>
using namespace std;
int main()
{
int i, fact = 1, num;
cout << "Enter any Number: ";
cin >> number;
for (i = 1; i <= num; i++) {
fact = fact * i;
}
cout << "Factorial of " << num << " is: " << fact << endl;
return 0;
}
b. Object Oriented Programming (OOP)
Program ditulis sebagai kumpulan kelas dan objek yang dimaksudkan untuk komunikasi. Entitas terkecil dan dasar adalah objek dan semua jenis komputasi dilakukan hanya pada objek. Lebih menekankan pada data daripada prosedur. Ini dapat menangani hampir semua jenis masalah kehidupan nyata yang saat ini ada dalam skenario.
Keuntungan:
- Keamanan data
- Warisan
- Penggunaan kembali kode
- Fleksibel dan abstraksi juga hadir
c. Parallel Processing Approach
Pemrosesan instruksi program dengan membaginya di antara beberapa prosesor. Sistem pemrosesan paralel memiliki banyak prosesor dengan tujuan menjalankan program dalam waktu yang lebih singkat dengan membaginya. Pendekatan ini tampaknya seperti memecah belah dan menaklukkan. Contohnya adalah NESL (salah satu yang tertua) dan C/C++ juga mendukung karena beberapa fungsi perpustakaan.
2. Declarative Programming Paradigm
Ini dibagi sebagai Logic, Functional, Database. Dalam ilmu komputer, declarative programming adalah gaya membangun program yang mengekspresikan logika komputasi tanpa membicarakan aliran kontrolnya. Ini sering menganggap program sebagai teori beberapa logika. Ini dapat menyederhanakan penulisan program paralel. Fokusnya adalah pada apa yang perlu dilakukan daripada bagaimana hal itu harus dilakukan pada dasarnya menekankan pada kode kode apa yang sebenarnya dilakukan. Itu hanya menyatakan hasil yang kita inginkan daripada bagaimana itu dihasilkan. Inilah satu-satunya perbedaan antara paradigma pemrograman imperatif (bagaimana melakukannya) dan deklaratif (apa yang harus dilakukan). Masuk lebih dalam kita akan melihat logic, functional, database.
a. Logic Programming Paradigms
Ini dapat disebut sebagai model abstrak komputasi. Itu akan memecahkan masalah logis seperti teka-teki, seri dll. Dalam pemrograman logika kita memiliki basis pengetahuan yang kita ketahui sebelumnya dan bersama dengan pertanyaan dan basis pengetahuan yang diberikan ke mesin, itu menghasilkan hasil. Dalam bahasa pemrograman normal, konsep basis pengetahuan seperti itu tidak tersedia tetapi saat menggunakan konsep kecerdasan buatan, pembelajaran mesin kami memiliki beberapa model seperti model Persepsi yang menggunakan mekanisme yang sama.
Dalam pemrograman logis, penekanan utama adalah pada basis pengetahuan dan masalahnya. Eksekusi program sangat mirip dengan pembuktian pernyataan matematis, misalnya, Prolog
Sum dari 2 bilangan dalam prolog
predicates
sumoftwonumber(integer, integer)
clauses
sum(0, 0).
sum(n, r):-
n1=n-1,
sum(n1, r1),
r=r1+n
b. Functional Programming Paradigms
Paradigma pemrograman fungsional berakar pada matematika dan tidak bergantung pada bahasa. Prinsip utama dari paradigma ini adalah eksekusi deret fungsi matematika. Model sentral untuk abstraksi adalah fungsi yang dimaksudkan untuk beberapa perhitungan tertentu dan bukan struktur data. Data digabungkan secara longgar ke fungsi. Fungsi menyembunyikan implementasinya. Fungsi dapat diganti dengan nilainya tanpa mengubah arti program. Beberapa bahasa seperti perl, javascript kebanyakan menggunakan paradigma ini.
c. Database/Data Driven Programming Approach
Metodologi pemrograman ini didasarkan pada data dan pergerakannya. Pernyataan program didefinisikan oleh data daripada hard-coding serangkaian langkah. Program basis data adalah jantung dari sistem informasi bisnis dan menyediakan fungsi pembuatan file, entri data, pembaruan, kueri, dan pelaporan. Ada beberapa bahasa pemrograman yang dikembangkan sebagian besar untuk aplikasi database. Misalnya SQL. Ini diterapkan pada aliran data terstruktur, untuk memfilter, mengubah, menggabungkan (seperti statistik komputasi), atau memanggil program lain. Jadi ia memiliki aplikasinya sendiri yang luas.