Itu perbedaan utama antara pemrograman fungsional dan pemrograman imperatif adalah bahwa Pemrograman fungsional menganggap perhitungan sebagai fungsi matematika dan menghindari perubahan keadaan dan data yang dapat berubah sementara pemrograman imperatif menggunakan pernyataan yang mengubah status program.
Paradigma pemrograman memberikan gaya membangun struktur dan elemen program komputer. Paradigma pemrograman membantu mengklasifikasikan bahasa pemrograman berdasarkan fitur mereka. Bahasa pemrograman mungkin mempengaruhi lebih banyak paradigma. Dalam paradigma berorientasi objek, program disusun menggunakan objek, dan objek lulus pesan menggunakan metode. Pemrograman logika dapat mengekspresikan perhitungan secara eksklusif dalam hal logika matematika. Dua paradigma pemrograman lainnya adalah pemrograman fungsional dan pemrograman imperatif. Pemrograman fungsional memungkinkan mengekspresikan perhitungan sebagai evaluasi fungsi matematika. Pemrograman imperatif memberikan pernyataan yang secara eksplisit mengubah keadaan memori. Artikel ini membahas perbedaan antara pemrograman fungsional dan pemrograman imperatif.
1. Ikhtisar dan Perbedaan Utama
2. Apa itu pemrograman fungsional
3. Apa itu pemrograman yang penting
4. Kesamaan antara pemrograman fungsional dan pemrograman imperatif
5. Perbandingan Berdampingan - Pemrograman Fungsional vs Pemrograman Imperatif Dalam Bentuk Tabel
6. Ringkasan
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) = x*x. 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, polanya dipertimbangkan. Bahasa Pemrograman Fungsional Haskell, menggunakan metode di bawah ini untuk menemukan penjumlahan angka.
Fungsi jumlah memiliki nilai integer, dan hasilnya juga akan menjadi bilangan bulat. Itu dapat ditulis sebagai jumlah: [int] -> int. Penjumlahan dapat dilakukan dengan mengikuti pola di bawah ini.
jumlah [n] = n, jumlah dari satu angka adalah angka itu sendiri.
Jika ada daftar angka, itu 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 menemukan penjumlahan dari tiga angka yaitu 3,4,5.
3 + jumlah [4,5]
3 + (4 + jumlah [5])
3+ 4 + 5 = 12
Fungsi atau ekspresi dikatakan memiliki efek samping jika memodifikasi beberapa keadaan di luar ruang lingkupnya atau memiliki interaksi yang dapat diamati dengan fungsi panggilannya selain nilai kembali. Pemrograman fungsional meminimalkan efek samping ini. Perubahan status tidak tergantung pada input fungsi. Ini berguna saat memahami perilaku program. Salah satu kelemahan pemrograman fungsional adalah bahwa belajar pemrograman fungsional lebih sulit dibandingkan dengan pemrograman imperatif.
Pemrograman Imperative adalah paradigma pemrograman yang menggunakan pernyataan yang mengubah keadaan program. Ini berfokus pada menggambarkan bagaimana suatu program beroperasi. Bahasa pemrograman seperti Java, C dan C# adalah bahasa pemrograman yang penting. Ini memberikan prosedur langkah demi langkah tentang apa yang harus dilakukan. Bahasa pemrograman imperatif berisi struktur seperti jika, kalau tidak, sementara, untuk loop, kelas, objek dan fungsi.
Gambar 02: Contoh Bahasa Pemrograman Imperatif - Java
Penjumlahan sepuluh angka dapat ditemukan di java sebagai berikut. Dalam setiap iterasi, nilai I ditambahkan ke jumlah dan ditugaskan ke variabel jumlah. Dalam setiap iterasi, nilai jumlah terus menambah jumlah yang dihitung sebelumnya.
int sum = 0;
untuk (int i = 0; i< =10; i++)
jumlah = jumlah + i;
Pemrograman imperatif mudah dipelajari, dipahami, dan debug. Mudah untuk menemukan status program karena menggunakan variabel negara bagian. Beberapa kelemahannya dapat membuat kode ini panjang dan juga dapat meminimalkan skalabilitas.
Pemrograman fungsional vs imperatif | |
Pemrograman fungsional adalah paradigma pemrograman yang mempertimbangkan perhitungan sebagai evaluasi fungsi matematika dan menghindari perubahan keadaan dan data yang bisa berubah. | Pemrograman Imperative adalah paradigma pemrograman yang menggunakan pernyataan, yang mengubah keadaan program. |
Struktur | |
Pemrograman fungsional berisi panggilan fungsi dan fungsi tingkat tinggi. | Pemrograman imperatif berisi jika, kalau tidak, sementara, untuk loop, fungsi, kelas dan objek. |
Bahasa pemrograman | |
Scala, Haskell dan Lisp adalah bahasa pemrograman fungsional. | C, C ++, Java adalah bahasa pemrograman yang penting. |
Fokus | |
Pemrograman fungsional berfokus pada hasil akhir. | Pemrograman imperatif berfokus pada menggambarkan bagaimana suatu program beroperasi. |
Kesederhanaan | |
Pemrograman fungsional sulit. | Pemrograman imperatif lebih mudah. |
Paradigma pemrograman memberikan 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 keadaan dan data yang dapat berubah sementara pemrograman imperatif menggunakan pernyataan yang mengubah status program.
1.“Pemrograman Imperatif.”Wikipedia, Wikimedia Foundation, 28 Mar. 2018. Tersedia disini
2.“Pemrograman Fungsional.”Wikipedia, Wikimedia Foundation, 28 Mar. 2018. Tersedia disini
3.Computerphile. YouTube, YouTube, 30 Agustus. 2013. Tersedia disini
1.'Haskell Logo'by Haskell1965 - Karya Sendiri, (CC BY -SA 3.0) Via Commons Wikimedia
2.'14485179234'by Linux Screenshots (CC dengan 2.0) Via Flickr