Perbedaan Kunci – Pemrograman Fungsional vs Pemrograman Imperatif
Perbedaan utama antara pemrograman fungsional dan pemrograman imperatif adalah bahwa pemrograman fungsional menganggap perhitungan sebagai fungsi matematis dan menghindari perubahan status dan data yang dapat diubah sementara pemrograman imperatif menggunakan pernyataan yang mengubah status program.
Paradigma pemrograman menyediakan gaya membangun struktur dan elemen program komputer. Paradigma pemrograman membantu mengklasifikasikan bahasa pemrograman berdasarkan fitur-fiturnya. Bahasa pemrograman mungkin mempengaruhi lebih banyak paradigma. Dalam paradigma berorientasi objek, program disusun menggunakan objek, dan objek menyampaikan pesan menggunakan metode. Pemrograman logika dapat mengekspresikan komputasi secara eksklusif dalam hal logika matematika. Dua paradigma pemrograman lainnya adalah pemrograman fungsional dan pemrograman imperatif. Pemrograman fungsional memungkinkan ekspresi komputasi sebagai evaluasi fungsi matematika. Pemrograman imperatif memberikan pernyataan yang secara eksplisit mengubah keadaan memori. Artikel ini membahas perbedaan antara pemrograman fungsional dan pemrograman imperatif.
Apa itu Pemrograman Fungsional?
Pemrograman Fungsional didasarkan pada Matematika. Prinsip utama di balik pemrograman fungsional adalah bahwa semua perhitungan dianggap sebagai kombinasi dari fungsi matematika yang terpisah. Fungsi matematika memetakan input ke output. Asumsikan bahwa ada fungsi yang disebut f(x)=xx. Nilai x 1 dipetakan ke output 1. Nilai x 2 dipetakan ke output 4. Nilai x 3 dipetakan ke output 9 dan seterusnya.
Gambar 01: Contoh Bahasa Pemrograman Fungsional – Haskell
Dalam pemrograman fungsional, pola dipertimbangkan. Bahasa pemrograman Fungsional Haskell, menggunakan metode di bawah ini untuk menemukan penjumlahan angka.
Fungsi penjumlahan memiliki nilai integer, dan hasilnya juga akan berupa integer. Dapat ditulis sebagai jumlah: [int] -> int. Penjumlahan dapat dilakukan dengan mengikuti pola di bawah ini.
sum[n]=n, jumlah suatu bilangan adalah bilangan itu sendiri.
Jika ada daftar angka, dapat ditulis sebagai berikut. N mewakili angka pertama, dan ns mewakili angka lainnya
jumlah (n, ns)=n + jumlah ns.
Pola di atas dapat diterapkan untuk mencari penjumlahan tiga bilangan yaitu 3, 4, 5.
3 + jumlah [4, 5]
3 + (4 + jumlah [5])
3+ 4 + 5=12
Sebuah fungsi atau ekspresi dikatakan memiliki efek samping jika memodifikasi beberapa keadaan di luar cakupannya atau memiliki interaksi yang dapat diamati dengan fungsi panggilannya selain nilai yang dikembalikan. Pemrograman fungsional meminimalkan efek samping ini. Perubahan status tidak bergantung pada input fungsi. Hal ini berguna ketika memahami perilaku program. Salah satu kelemahan pemrograman fungsional adalah belajar pemrograman fungsional lebih sulit dibandingkan dengan pemrograman imperatif.
Apa itu Pemrograman Imperatif?
Pemrograman imperatif adalah paradigma pemrograman yang menggunakan pernyataan yang mengubah status program. Ini berfokus pada menggambarkan bagaimana sebuah program beroperasi. Bahasa pemrograman seperti Java, C dan C adalah bahasa pemrograman imperatif. Ini memberikan prosedur langkah demi langkah tentang apa yang harus dilakukan. Bahasa pemrograman imperatif berisi struktur seperti if, else, while, untuk loop, kelas, objek, dan fungsi.
Gambar 02: Contoh Bahasa Pemrograman Imperatif – Java
Penjumlahan sepuluh bilangan dapat ditemukan di Java sebagai berikut. Dalam setiap iterasi, nilai i ditambahkan ke jumlah dan ditugaskan ke variabel jumlah. Dalam setiap iterasi, nilai penjumlahan terus bertambah ke jumlah yang dihitung sebelumnya.
int jumlah=0;
untuk (int i=0; i<=10; i++) {
jumlah=jumlah + i;
}
Pemrograman imperatif mudah dipelajari, dipahami, dan di-debug. Sangat mudah untuk menemukan status program karena menggunakan variabel status. Beberapa kekurangannya adalah dapat membuat kode menjadi panjang dan juga dapat meminimalkan skalabilitas.
Apa Persamaan Antara Pemrograman Fungsional dan Pemrograman Imperatif?
Pemrograman Fungsional dan Pemrograman Imperatif adalah paradigma pemrograman
Apa Perbedaan Antara Pemrograman Fungsional dan Pemrograman Imperatif?
Pemrograman Fungsional vs Imperatif |
|
Functional Programming adalah paradigma pemrograman yang menganggap komputasi sebagai evaluasi fungsi matematika dan menghindari perubahan status dan data yang dapat diubah. | Imperative Programming adalah paradigma pemrograman yang menggunakan pernyataan, yang mengubah status program. |
Struktur | |
Pemrograman Fungsional berisi panggilan fungsi dan fungsi tingkat tinggi. | Pemrograman Imperatif berisi if, else, while, untuk loop, fungsi, kelas, dan objek. |
Bahasa Pemrograman | |
Scala, Haskell dan Lisp adalah bahasa pemrograman fungsional. | C, C++, Java adalah bahasa pemrograman imperatif. |
Fokus | |
Pemrograman Fungsional berfokus pada hasil akhir. | Pemrograman Imperatif berfokus pada mendeskripsikan bagaimana sebuah program beroperasi. |
Kesederhanaan | |
Pemrograman fungsional sulit. | Pemrograman imperatif lebih mudah. |
Ringkasan – Pemrograman Fungsional vs Pemrograman Imperatif
Paradigma pemrograman menyediakan gaya membangun struktur dan elemen program komputer. Pemrograman Fungsional dan Pemrograman Imperatif adalah dua di antaranya. Perbedaan antara pemrograman fungsional dan pemrograman imperatif adalah bahwa pemrograman fungsional menganggap perhitungan sebagai fungsi matematika dan menghindari perubahan status dan data yang dapat diubah sementara pemrograman imperatif menggunakan pernyataan yang mengubah status program.