Menghitung total array angka dengan fungsi reduce

9 Sep 2019

Kali ini saya ingin berbagi tips bagaimana menjumlahkan total array angka di Elixir dengan fungsi Enum.reduce/3. Bagi yang pernah mengenal bahasa pemrograman seperti C, C++, Java atau PHP tentunya hal ini akan sangat-sangat mudah, saya beri contoh kodenya dalam bahasa PHP.

<?php
$angka = [1,2,3,4,5];
$total = 0;
foreach($angka as $val) {
    $total += $val;
}

echo $total;

Bisa kita lihat bahwa untuk menghitung total angka kita bikin variabel total kemudian looping angka sampai habis dan hasilnya di tambahkan ke variabel total. Beda dengan elixir karena bahasa elixir termasuk dalam kategori functional programming maka cara yang ditempuh berbeda. Lihat kode berikut ini:

angka = [1,2,3,4,5]
total = Enum.reduce(angka, 0, fn(x, acc) -> acc + x end)
IO.puts "#{total}"

Bisa dilihat bahwa elixir menggunakan fungsi reduce untuk menghitung total angka karena pada elixir setiap variabel bersifat immutable/tidak bisa dirubah dan elixir merupakan functional programming. Untuk penjelasan apa itu Pemrograman Fungsional Insya Allah saya jelaskan pada kesempatan berikutnya. sekian.