Paradigma pemrograman adalah teori atau ide yang membantu membentuk berbagai bahasa yang Anda gunakan untuk membuat perangkat lunak. Mereka mewakili karakteristik utama dari bahasa pemrograman, mendikte perilakunya.
Oleh karena itu, aman untuk mengatakan bahwa paradigma sama pentingnya dengan sintaks dan semantik bahasa pemrograman. Bahasa pemrograman yang paling populer menggunakan salah satu dari beberapa jenis paradigma pemrograman.
1. Pemrograman Imperatif
Paradigma imperatif adalah salah satu pendekatan paling awal untuk pemrograman, sejak tahun 1950-an. Paradigma ini sangat bergantung pada penggunaan variabel, perintah, dan prosedur.
Pemrograman imperatif menggunakan perintah untuk memeriksa dan memperbarui variabel, menyimpan status dalam suatu program. Kombinasi perintah kemudian menciptakan prosedur. Abstraksi data memainkan peran penting dalam representasi data, yang memfasilitasi kopling longgar.
Salah satu bahasa yang paling populer yang menggunakan paradigma imperatif adalah C. Bahasa pemrograman ini hanya mendukung prosedur fungsi.
Contoh Program Imperatif
#termasuk
#termasukstruktur Pelanggan
{
int Id Pelanggan;
char OrderNumber[20];
char Nama[30];
float TotalPesanan;
};batal utama ()
{
struct Pelanggan John = {4000, "HK1001", "John Doe", 200.00};
struct Pelanggan Jane = {4001, "HK1002", "Jane Doe", 600.00};memcpy (Jane. Nama, "Jane Jones", 10);
printf("Total biaya untuk %s nomor pesanan %s adalah: $%.2f",Jane. Nama, Jane. NomorPesanan, Jane. Jumlah Pesanan);
}
Program C di atas membuat Pelanggan struktur. Itu struktur type adalah contoh utama dari abstraksi data di C.
Program ini mendemonstrasikan bagaimana perintah dapat membuat, memperbarui, dan menampilkan status — melalui Jane variabel struktur. Semua perintah ini ada di a utama() fungsi, yang secara keseluruhan merupakan prosedur yang menyatakan berapa banyak uang yang harus dibayar pelanggan untuk suatu pesanan.
Menjalankan program di atas akan menghasilkan output berikut di konsol Anda:
Total biaya untuk nomor pesanan Jane Jones HK1002 adalah: $600.00
2. Pemrograman berorientasi objek
Paradigma pemrograman berorientasi objek lepas landas pada 1990-an. Paradigma ini merupakan turunan dari paradigma imperatif. Namun, paradigma berorientasi objek menyimpan status dalam objek dan bukan variabel.
Bahasa pemrograman yang menggunakan paradigma berorientasi objek seringkali menangani aplikasi yang kompleks dengan lebih baik. Fitur inti paradigma adalah objek, kelas, enkapsulasi data, pewarisan, dan polimorfisme.
Kelas adalah komponen dasar dari program berorientasi objek. Beberapa kelas mewarisi properti dan operasi dari kelas lain. Programmer menggambarkan ini sebagai hubungan orangtua-anak. Itu termasuk dalam kategori polimorfisme sub-tipe.
Kelas berisi alat untuk menyembunyikan dan melindungi data sensitif melalui enkapsulasi. Setelah Anda mendefinisikan kelas, Anda dapat menggunakannya untuk membuat objek.
Tiga dari bahasa pemrograman yang lebih populer yang menggunakan paradigma berorientasi objek adalah Java, C++, dan Python.
Contoh Program Berorientasi Objek
Aplikasi ini mendemonstrasikan sebagian besar fitur bahasa pemrograman berorientasi objek, Java. Jenis pelanggan tertentu mewarisi perilaku dari jenis yang lebih umum. Semua pelanggan mengimplementasikan antarmuka. Jenis pelanggan tertentu menimpa metode dari antarmuka.
File Discountable.java
publikantarmuka Dapat didiskon {
publikkosong grandTotal (String orderNumber, dobel total);
}
Kode di atas membuat antarmuka. Di Jawa, antarmuka adalah contoh lain dari polimorfisme. Ini memungkinkan entitas yang tidak terkait langsung untuk mengakses properti yang sama, seperti hasil akhir metode. Aplikasi ini berfokus pada pelanggan, tetapi kelas karyawan juga dapat menggunakan antarmuka Discountable.
File Pelanggan.java
publikkelas Pelanggan mengimplementasikan Dapat didiskon {
terlindungke dalam ID Pelanggan;
terlindung String namapelanggan;
terlindung String kode pelanggan;publik Pelanggan() {
ini.nomorpelanggan = 0;
ini.namapelanggan = "";
ini.kodepelanggan = "";
}publik Pelanggan(ke dalam customerId, String customerName, String customerCode) {
ini.customerId = customerId;
ini.namapelanggan = namapelanggan;
ini.customerCode = kodepelanggan;
}publikke dalam getPelangganId() {
kembali ID Pelanggan;
}
publikkosong setIdPelanggan(ke dalam ID Pelanggan) {
ini.customerId = customerId;
}
publik String getCustomerName() {
kembali Nama Pelanggan;
}
publikkosong setCustomerName (String customerName) {
ini.namapelanggan = namapelanggan;
}
publik String getCustomerCode() {
kembali Kode pelanggan;
}publikkosong setCustomerCode (String customerCode) {
ini.customerCode = kodepelanggan;
}publikdobel customerType (String customerCode) {
dobel diskon = 0;jika (customerCode.toLowerCase().equals("pre")) {
diskon = 0,10;
} lainjika (customerCode.toLowerCase().equals("gen")) {
diskon = 0,02;
} lainjika (customerCode.toLowerCase().equals("baru")) {
diskon = 0,05;
}
kembali diskon;
}@Mengesampingkan
publikkosong grandTotal (String orderNumber, dobel jumlah) {dobel diskon = tipe pelanggan (Kode pelanggan);
dobel diskonPersen = total * diskon;
dobel finalTotal = total - discountPercentage;Sistem.keluar.println("Untuk "+ getCustomerName() + " Nomor pesanan " + orderNumber + " total keseluruhan adalah: $" + finalTotal);
}
}
Kode di atas membuat Pelanggan kelas. Ini mengimplementasikan dapat didiskon antarmuka, kemudian menggunakan metodenya untuk menghitung dan menampilkan total keseluruhan, berdasarkan kategori pelanggan. Itu terlindung kata kunci pada kode di atas adalah contoh enkapsulasi data; itu membatasi akses ke data yang dibuat melalui kelas ini. Jadi, hanya subkelas (atau kelas anak) dari Pelanggan kelas akan memiliki akses ke datanya.
File NewCustomer.java
publikkelas Pelanggan baru meluas Pelanggan {
publik Pelanggan baru() {
super();
}publik Pelanggan baru(ke dalam customerId, String customerName, String customerCode) {
super(customerId, customerName, customerCode);
}
}
Kode di atas membuat Pelanggan baru kelas yang memperpanjang Pelanggan kelas. Ini Kelas Java menggunakan warisan untuk mewakili hubungan orang tua-anak dengan Pelanggan kelas. Itu Pelanggan baru adalah anak dalam hubungan, jadi, ia memiliki akses ke semua properti di kelas Pelanggan. Itu mengimpor atribut kelas Pelanggan menggunakan super() metode.
File App.java
publikkelas Aplikasi {
publikstatiskosong main (String[] args) {
Pelanggan Jane = baru Pelanggan Baru (4001, "Jane Jones", "baru");
Jane.grandTotal("HK1002", 600);
}
}
Kode di atas membuat executable Aplikasi kelas. Kelas ini membuat objek Pelanggan (Jane) dan melalui polimorfisme membuat Jane a Pelanggan baru. Akhirnya, ini menghasilkan total keseluruhan untuk pesanan Jane. Menjalankan program di atas akan menghasilkan output berikut di konsol:
Untuk Jane Jones Order Number HK1002 total keseluruhannya adalah: $570,0
3. Pemrograman Fungsional
Konsep kunci dari paradigma ini adalah ekspresi, fungsi, polimorfisme parametrik, dan abstraksi data. Ekspresi adalah komponen dasar dari fungsi yang digunakan oleh bahasa pemrograman fungsional. Polimorfisme parametrik adalah salah satu dari tiga jenis polimorfisme. Tipe ini memfasilitasi pemrograman generik melalui fungsi dan tipe.
JavaScript adalah salah satu bahasa pemrograman fungsional yang paling populer.
Contoh Program Fungsional
const Pelanggan = {
Nomor Id: 1002,
Nama: 'Jane Jones',
Kode Pelanggan: 'baru'
}const main = (pelanggan, fungsi, nilai) => {
var total = func.apply (null, [ pelanggan. Kode Pelanggan, nilai ]);
console.log(`${pelanggan. Nama} totalnya adalah: ${total}`);
}const grandTotal = (Kode Pelanggan, total) => {
if (Kode Pelanggan == "baru") {
diskon = total * 0,05;
mainTotal = total - diskon;
kembali mainTotal;
} else if (Kode Pelanggan == "pra") {
diskon = total * 0,10;
mainTotal = total - diskon;
kembali mainTotal;
}
}
utama (Pelanggan, grandTotal, 600);
Program JavaScript di atas memiliki objek literal dan dua fungsi. Ini mendeklarasikan masing-masing fungsi sebagai ekspresi menggunakan Fungsi panah JavaScript. Itu utama() fungsi adalah fungsi tingkat tinggi. Dibutuhkan hasil akhir berfungsi sebagai salah satu argumennya, lalu memanggil fungsi itu. Ini juga merupakan contoh polimorfisme parametrik.
Itu hasil akhir() fungsi berisi beberapa ekspresi, dan Pelangganobyek adalah contoh abstraksi data. Program di atas menghasilkan output berikut di konsol:
Total Jane Jones adalah: $570
Kompleksitas Bahasa Pemrograman
Bahasa pemrograman dapat mewujudkan konsep satu paradigma pemrograman, tetapi itu tidak berarti itu terbatas pada satu paradigma. Banyak bahasa pemrograman populer (seperti Python, Java, JavaScript, dan C++) adalah bahasa multi-paradigma.
Beberapa paradigma pemrograman, seperti paradigma imperatif dan berorientasi objek, juga terkait. Namun terlepas dari kekerabatan ini, ada beberapa perbedaan yang signifikan.
Pemrograman Berorientasi Objek vs. Pemrograman Prosedural: Apa yang Membuat Mereka Berbeda?
Baca Selanjutnya
Topik-topik terkait
- Pemrograman
- Pemrograman
- Pemrograman Fungsional
- Pemrograman berorientasi objek
- Bahasa pemrograman
Tentang Penulis
Kadeisha Kean adalah Pengembang Perangkat Lunak Full-Stack dan Penulis Teknis/Teknologi. Dia memiliki kemampuan yang berbeda untuk menyederhanakan beberapa konsep teknologi yang paling kompleks; menghasilkan materi yang dapat dengan mudah dipahami oleh setiap pemula teknologi. Dia bersemangat menulis, mengembangkan perangkat lunak yang menarik, dan berkeliling dunia (melalui film dokumenter).
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan