Selasa, Mei 04, 2021

Fungsi Currying pada Pemrograman Java

Fungsi currying adalah sebuah konsep dari pemecahan sebuah fungsi dengan banyak argumen menjadi beberapa fungsi lain dengan satu argument saja didalamnya dengan hasil keluaran output yang sama. Dengan kata lain, teknik ini adalah teknik menyederhanaan multi-valued argument pada fungsi menjadi single-valued argument dalam beberapa fungsi seperti diperlihatkan pada gambar 1.


Currying memecah fungsi teratas menjadi beberapa bagian fungsi kecil yang didalamnya mengandung satu argumen dan satu nilai kembalian (return).
Contoh:

Perhatikan fungsi berikut ini:
f:(u,v)-> w

Currying akan menghasilkan fungsi:
g: (u->(v->w))

Fungsi g memetakan nilai u dari fungsi v ke fungsi w. Berikut ini bentuk persamaan matematis dari representasi nilai sebelumnya:
g(u)(v)=f(u,v)

karena itu, curry(f)=g

Berikut diperlihatkan beberapa contoh program Java dengan fungsi rendang (currying), :D

Contoh 1:

// Program Java

// mendemonstrasikan fungsi

// currying 

import java.util.function.Function

 

public class GFG

 

public static void main(String args[]

// menggunakan fungsi Java 8

// untuk membuat fungsi

// currying

Function<Integer, Function<Integer, Integer> > curryAdder = u->v->u+v; 

 

// memanggil fungsi currying 

System.out.println("Tambah 2, 3 :"

+ curryAdder 

.apply(2

.apply(3));} 

}

Output:
Tambah 2, 3 :5

Contoh 2: perkalian dua buah bilangan menggungkana fungsi currying

// Program Java

// mendemonstrasikan fungsi

// currying

import java.util.function.Function

 

public class GFG

 

public static void main(String args[]

// menggunakan fungsi Java 8

// untuk membuat fungsi

// currying

Function<Integer, Function<Integer, Integer> > curryMulti = u -> v -> u * v; 

 

// memanggil fungsi currying

System.out.println("Perkalian"

+" 2, 3 :"

+curryMulti 

.apply(2

.apply(3));} 

}

Output:
Perkalian 2, 3 :6

Contoh 3: penjumlahan 3 bilangan menggunakan fungsi currying

// Program Java

// mendemonstrasikan fungsi

// currying

import java.util.function.Function

 

public class GFG

 

public static void main(String args[]

// menggunakan fungsi Java 8

// untuk membuat fungsi

// currying

Function<Integer, Function<Integer, Function<Integer, Integer> > > triadder = u->w->v->u+w+v; 

 

// memanggil fungsi currying

System.out.println("Tambah 2, 3,"

+" 4 :"

+triadder 

.apply(2

.apply(3

.apply(4));} 

}

Output:
Tambah 2, 3, 4 :9

5 komentar:

  1. Apa yang dimaksud dengan currying pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Currying adalah teknik yang digunakan untuk mengubah fungsi dengan beberapa argumen menjadi fungsi yang hanya terdiri dari satu argumen. Argumen tunggal adalah nilai argumen pertama dari fungsi asli dan fungsi tersebut mengembalikan fungsi argumen tunggal lainnya.

      Hapus
  2. Bagaimana fungsi curry digunakan dalam pemrograman Java?

    BalasHapus
    Balasan
    1. Fungsi curry adalah fungsi yang mengambil beberapa parameter satu per satu, dengan cara mengambil argumen perama, dan selanjutnya mengembalikan serangkaian fungsi yang masing-masing mengambil argumen berikutnya hingga semua parameter diselesaikan, dan aplikasi fungsi dapat diselesaikan pula sesuai dengan titik yang menghasilkan nilai return-nya.

      Hapus
  3. Berarti lebih kebentuk penyerderhanaan deklarasi supaya beberapa argumen dapat dieksekusi secara lebih efisien.

    BalasHapus

Respon komentar 7 x 24 jam, so please be patient :D