Chaining method alias fungsi berantai adalah sesuatu yang sangat powerful dalam Bahasa Pemrograman Python. Kita akan membahasnya kali ini.

Sebelum kita mulai pada pembahasan, saya mau bertanya pada Anda: Bagaimana jika Anda membuat sebuah algoritma matematika sederhana dengan input suatu bilangan x (misal x = 3), operasi yang dilakukan (secara berurutan) adalah :
– Kalikan 2
– Tambahkan 10
– Kurangi 3
Dan berapa hasil akhirnya ?

Maka dengan algoritma manusia kita bisa menjawab : (3 x 2) + 10 – 3 = 13 . Mari kita gunakan algoritma pemrograman, operasi bilangan diatas dilakukan dengan fungsi yang menghasilkan Return, maka seperti ini:
– Kalikan 2 –> function Multiple2(input)
– Tambahkan 10 –> function Add10(input)
– Kurangi 3 –> function Minus3(input)

OK, sekarang kita balik dulu ke bahasa Pemrograman PHP, bagaimana codingnya dengan menggunakan fungsi? Pasti kira2 seperti ini:

<?php 
    $x = 3 ;
    $y = Multiple2($x) ;// baris ke 1 : x 2
    $y = Add10($y) ; // baris 2 : + 10
    $y = Minus3($y) ;  // baris 3 : -3
?>

Perlu 3 baris kode ? Bisakah dibuat 1 baris saja? Bisa, tapi seperti ini:

<?php
   $x = 3;
   $y =   Minus3(Add10(Multiple($x)));  
?>

RIBET AMAT! Ya, inilah yang dinamakan fungsi bersarang. Ingat urutan tidak boleh salah yang paling dalam adalah Multiple2() (dikali 2 lebih dahulu), jika urutan salah maka hasilnya akan salah (bukan 13). Inilah ribetnya untuk algoritma berantai dalam PHP

Lalu bagaimana dengan Python? Jawabnya jauh lebih mudah, Anda tetap bisa melakukan dalam 1 baris kode tapi dengan bentuk yang lebih rapi, lebih enak dilihat, seperti ini :

y = Opr.Multiple2().Add10().Minus3()

Inilah yang dinamakan ‘Chaining Method’ atau fungsi berantai. Ini untuk operasi sederhana ada 3 rantai fungsi(). Dalam pemrograman Python kompleks seperti aplikasi Machine Learning dan Tensorflow, rantainya bahkan bisa panjang sekali: method1().method2().method3().method4().dst() .

Tapi ini adalah DASAR yang harus Anda mengerti! Untuk lebih lengkapnya silahkan lihat contoh coding di bawah. Seperti biasa, harap co-pas, jalankan, dan utak-atik supaya Anda betul-betul paham.

''' chaining_method.py
   by. Ahlicoding.com
'''

class SimpleMathematics:
    def __init__(self,num1,num2):
        self.num1 = num1
        self.num2 = num2
        self.result = self.num1

    def Multiple2(self):
        self.result = self.result * 2
        return self;

    def Add10(self):
        self.result = self.result + 10
        return self;

    def Minus3(self):
        self.result = self.result - 3
        return self;





if __name__ == '__main__':
    print('Chaining method')

    Opr = SimpleMathematics(3,5)
    NewOpr = SimpleMathematics(3,5)
    res1 = Opr.Multiple2().Add10().Minus3()# num1 x 2 + 10 -3
    res2 = NewOpr.Add10().Add10().Add10().Minus3() # num1 + 10 + 10 + 10 - 3
    print (res1.result)
    print (res2.result)

    res3 = NewOpr.Minus3()
    print(res3.result)


Last modified: February 14, 2021

Author

Comments

Write a Reply or Comment

Your email address will not be published.