Paradigma adalah aliran pemikiran atau model yang memiliki fitur, kerangka kerja, pola, dan gaya berbeda yang membantu kita memecahkan masalah tertentu. Paradigma digunakan dalam segala bidang seperti psikologi, sosiologi, etimologi, ilmu komputer dan lain sebagainya.
Di bidang ilmu komputer, bahasa pemrograman baru muncul dari bahasa yang sudah ada dan menambah, menghapus, serta menggabungkan fitur dengan cara baru. Bahasa-bahasa tersebut mungkin mengikuti paradigma tertentu atau dapat merupakan kombinasi dari banyak paradigma.
Paradigma pemrograman adalah konsep yang dianut metodologi bahasa pemrograman. Paradigma penting karena menentukan bahasa pemrograman dan cara kerjanya.
Baca Juga: Apa Itu Bahasa Pemrograman: Pengertian, Jenis , Dan Contoh
DAFTAR ISI
Pengertian Paradigma Pemrograman
Paradigma Pemrograman adalah suatu gaya, teknik, atau cara penulisan suatu program. Kita juga dapat mengatakan paradigma pemrograman adalah berbagai pendekatan untuk memecahkan suatu masalah. Dan adalah mungkin untuk memecahkan masalah yang sama dengan menggunakan paradigma yang berbeda, seperti halnya terdapat beberapa rute untuk mencapai dari satu desa ke desa lainnya. Namun, jenis masalah tertentu lebih cocok secara alami dengan paradigma tertentu.
Baca Juga: Apa Perbedaan Coding Dan Programming?
Mengapa Harus Mempelajari Paradigma Pemrograman?
Seperti yang kita ketahui, Paradigma Pemrograman adalah gaya yang berbeda untuk menulis sebuah program, maka dengan mengetahui gaya dan teknik tersebut akan membantu kita untuk memilih paradigma yang tepat berdasarkan masalah.
Setiap programmer harus mengetahui paradigma yang berbeda, karena mempelajari bahasa itu seperti mempelajari tata bahasa atau sintaks dari bahasa tertentu, tetapi mempelajari paradigma, di sisi lain, seperti mempelajari prinsip-prinsip yang menjadi dasar bahasa itu dibangun. Misalnya, saat kita mempelajari pengurutan gabungan, kita tidak hanya mempelajari teknik pengurutan satu lagi. Sebaliknya, kita mempelajari paradigma divide-dan-conquer dan tempat-tempat di mana kita dapat menggunakan paradigma ini.
Jenis Jenis Paradigma Pemrograman
Mari kita telusuri lebih jauh tentang 4 jenis paradigma pemrograman yang berbeda – Procedural, Object-Oriented, Functional dan Logical. Artikel ini akan memberi kalian pemahaman yang lebih baik tentang macam macam paradigma pemrograman.
1. Procedural Programming
Procedural programming juga dapat disebut sebagai pemrograman imperatif. Ini adalah paradigma pemrograman yang didasarkan pada konsep panggilan prosedur, di mana pernyataan disusun menjadi prosedur (juga dikenal sebagai subrutin atau fungsi). Mereka adalah daftar instruksi untuk memberi tahu komputer apa yang harus dilakukan langkah demi langkah, bahasa pemrograman prosedural dikenal sebagai bahasa top-down. Sebagian besar bahasa pemrograman awal semuanya prosedural.
Fitur Procedural Programming
- Pemrograman Procedural sangat baik untuk pemrograman tujuan umum
- Kesederhanaan kode bersama dengan kemudahan implementasi compiler dan interpreter
- Berbagai macam buku dan materi kursus online tersedia di algoritme teruji, sehingga lebih mudah untuk dipelajari.
- Kode sumbernya portabel
- Kode dapat digunakan kembali di berbagai bagian program, tanpa perlu menyalinnya
- Alur program dapat dilacak dengan mudah karena memiliki pendekatan top-down.
2. Logical Programming
Logical programming adalah paradigma pemrograman komputer yang didasarkan pada logika matematika di mana pernyataan program mengungkapkan fakta dan aturan tentang masalah dalam suatu sistem. Aturan ditulis sebagai klausa logis dengan head dan body. Mereka juga mengikuti pendekatan deklaratif daripada pendekatan imperatif. Namun, apa maksudnya itu?
Untuk memahami bagaimana suatu masalah dapat diselesaikan dalam logical programming, kalian perlu tahu tentang building blocks Fakta dan Aturan.
- Fakta adalah pernyataan mendasar tentang domain masalah (misalnya “Bill Gates adalah laki-laki”)
- Aturan adalah kesimpulan tentang fakta dalam domain tersebut (misalnya “Semua orang fana.”)
- Pertanyaan adalah pertanyaan tentang domain itu (misalnya “Apakah manusia fana?”)
Fitur Logical Programming
- Logical programming dapat digunakan untuk mengekspresikan pengetahuan dengan cara yang tidak bergantung pada implementasi, membuat program lebih fleksibel, terkompresi, dan dapat dipahami.
- Hal ini memungkinkan pengetahuan untuk dipisahkan dari penggunaan, yaitu arsitektur mesin dapat diubah tanpa mengubah program atau kode yang mendasarinya.
- Ini dapat diubah dan diperluas dengan cara alami untuk mendukung bentuk-bentuk pengetahuan khusus, seperti meta-level dari pengetahuan tingkat tinggi.
- Ini dapat digunakan dalam disiplin non-komputasi yang mengandalkan penalaran dan cara ekspresi yang tepat.
3. Functional Programming
Functional programming adalah paradigma pemrograman di mana kalian memiliki gaya membangun struktur dan elemen program komputer. Di sini kalian memperlakukan komputasi sebagai evaluasi fungsi matematika dan kalian menghindari perubahan status dan data yang dapat berubah.
Pemrograman fungsional hanya terdiri dari Pure functions. Jadi, apa yang kalian pahami dengan Pure functions?
Pure functions atau fungsi murni adalah yang mengambil daftar argumen sebagai masukan dan yang keluarannya adalah nilai yang dikembalikan. Sekarang kalian mungkin merasa bahwa semua fungsi adalah murni karena fungsi apa pun mengambil nilai dan mengembalikan nilai.
Misalnya, jika suatu function bergantung pada variabel global atau data anggota kelas, maka itu tidak murni. Dan dalam kasus seperti itu, return value dari function itu tidak sepenuhnya bergantung pada daftar argumen yang diterima sebagai masukan dan juga dapat memiliki efek samping.
Jadi, apa yang kalian pahami dengan istilah side effect? Side effect adalah perubahan status aplikasi yang dapat diamati di luar function yang dipanggil selain return value. Misalnya: Memodifikasi variabel eksternal atau properti objek seperti variabel global, atau variabel dalam parent function scope chain.
Fitur Functional Programming
- Pure Functions – Seperti yang terlihat di atas, jika input adalah array, output akan menjadi array baru dan array input tidak akan diubah. Jadi dalam kasus pure functions, return hanya bergantung pada inputan.
- Recursion – Recursive function adalah fungsi yang memanggil dirinya sendiri selama pelaksanaannya. Hal ini memungkinkan function untuk berulang beberapa kali, hasilnya akan dikeluarkan pada akhir setiap iterasi.
- Referential Transparency – Sebuah ekspresi dikatakan transparan secara referensial jika dapat diganti dengan nilai yang sesuai tanpa mengubah perilaku program. Akibatnya, mengevaluasi referentially transparent function memberikan nilai yang sama untuk argumen tetap. Dalam pemrograman fungsional , hanya referentially transparent function yang dipertimbangkan. Mereka jauh lebih mudah dibaca dan dipahami.
- Function-nya Adalah First-Class Dan Bisa Higher-Order – Sebuah bahasa pemrograman dikatakan memiliki First-class function ketika fungsi dalam bahasa itu diperlakukan seperti variabel lainnya. Misalnya, dalam bahasa seperti itu, suatu fungsi dapat dikirimkan sebagai argumen ke fungsi lain, dapat dikembalikan oleh fungsi lain, dan dapat ditetapkan sebagai nilai ke variabel. Higher-order functions adalah fungsi yang mengambil setidaknya satu fungsi kelas sebagai parameter.
- Variabel Tidak Dapat Diubah – Dalam pemrograman fungsional, kalian tidak dapat mengubah variabel setelah diinisialisasi. Kalian dapat membuat variabel baru dan ini membantu mempertahankan status sepanjang waktu proses program.
4. Object-Oriented Programming (OOP)
Dalam framework ini, semua entitas dunia nyata diwakili oleh Class. Objek adalah contoh kelas sehingga setiap objek merangkum state dan behavior. State menyiratkan bidang, atribut dari objek dan behavior adalah apa yang kalian lakukan dengan keadaan objek dan mereka adalah metode. Objek berinteraksi satu sama lain dengan meneruskan pesan.
Fitur Object-Oriented Programming
- Encapsulation – Ini adalah fitur dasar Object-Oriented Programming. Di sini kalian menyembunyikan detail yang tidak perlu di class dan memberikan interface yang sederhana dan jelas untuk bekerja. Ini menjelaskan gagasan menggabungkan data dan metode yang bekerja pada data itu dalam satu unit. Konsep ini juga sering digunakan untuk menyembunyikan representasi internal atau keadaan suatu objek dari luar
- Inheritance – Inheritance adalah salah satu konsep inti bahasa pemrograman Object-Oriented. Ini adalah mekanisme di mana kalian bisa mendapatkan kelas dari kelas lain untuk hierarki kelas yang berbagi sekumpulan atribut dan metode. Ini menjelaskan bagaimana hierarki kelas mengembangkan keterbacaan kode dan dukungan untuk penggunaan kembali fungsionalitas.
- Data Abstraction – Data abstraction adalah reduksi badan data tertentu menjadi representasi keseluruhan yang disederhanakan. Data abstractio biasanya merupakan langkah pertama dalam desain database.
- Polymorphism – Polymorphism adalah konsep Object-Oriented Programming yang mengacu pada kemampuan variabel, fungsi, atau objek untuk mengambil berbagai bentuk.
Bahasa pemrograman yang telah mengimplementasikan paradigma Object-Oriented adalah: Ruby, Java, C ++, Python, PHP, Simula (bahasa OOP pertama)
Kesimpulan
Jadi itulah penjelasan mengenai paradigma pemrograman. Paradigma pemrograman mengurangi kompleksitas program. Setiap programmer harus mengikuti pendekatan paradigma saat mengimplementasikan kode mereka. Masing-masing memiliki kelebihan dan kekurangan.
Sekian artikel Paradigma Pemrograman: Pengertian Dan Jenis. Nantikan artikel menarik lainnya dan jangan lupa share artikel ini ke teman-teman kalian. Terimakasih…