Function vs Method: Perbedaan, Contoh, dan Cara Menggunakannya

Dalam dunia pemrograman, istilah function dan method sering digunakan ketika membahas kode yang dapat menjalankan tugas tertentu. Keduanya membantu programmer menyusun kode agar lebih terstruktur, mudah digunakan kembali, dan lebih mudah dipelihara.

Meskipun memiliki fungsi yang hampir serupa, function dan method memiliki perbedaan dalam cara penggunaannya serta hubungannya dengan objek atau class.

Memahami perbedaan function dan method penting bagi pemula, terutama ketika mulai mempelajari bahasa pemrograman seperti Python, PHP, Java, dan JavaScript.

Apa Itu Function dalam Pemrograman?

Function adalah blok kode yang dibuat untuk menjalankan tugas tertentu dan dapat dipanggil ketika diperlukan.

Dengan function, programmer tidak perlu menulis kode yang sama berulang kali. Cukup buat function satu kali, lalu gunakan kembali dengan memanggil namanya.

Contoh Function dalam Python

def sapa():
    print("Halo, selamat belajar coding!")

sapa()

Output:

Halo, selamat belajar coding!

Pada contoh tersebut:

  • def digunakan untuk mendefinisikan function.
  • sapa merupakan nama function.
  • print() adalah perintah yang dijalankan.
  • sapa() digunakan untuk memanggil function.

Function tersebut tidak memerlukan input dan tidak mengembalikan nilai secara eksplisit.

Function dengan Parameter

Function juga dapat menerima data masukan yang disebut parameter.

Contoh:

def sapa(nama):
    print("Halo,", nama)

sapa("Rina")
sapa("Budi")

Output:

Halo, Rina
Halo, Budi

Parameter membuat function menjadi lebih fleksibel karena dapat digunakan untuk berbagai data.

Function dengan Return

Function dapat mengembalikan hasil menggunakan return.

def tambah(a, b):
    return a + b

hasil = tambah(10, 5)

print(hasil)

Output:

15

Function tambah() menerima dua parameter, kemudian mengembalikan hasil penjumlahannya.

Apa Itu Method dalam Pemrograman?

Method adalah function yang didefinisikan di dalam class atau berhubungan dengan objek tertentu, bergantung pada bahasa pemrograman dan konteks penggunaannya.

Method umumnya digunakan dalam pemrograman berorientasi objek atau Object-Oriented Programming (OOP).

Method dapat mengakses atau memproses data yang dimiliki oleh objek.

Contoh Method dalam Python

class Siswa:
    def __init__(self, nama):
        self.nama = nama

    def sapa(self):
        print("Halo, nama saya", self.nama)

siswa1 = Siswa("Rina")

siswa1.sapa()

Output:

Halo, nama saya Rina

Pada contoh tersebut:

  • Siswa adalah class.
  • nama merupakan atribut objek.
  • sapa() adalah method.
  • siswa1 adalah objek dari class Siswa.
  • siswa1.sapa() digunakan untuk memanggil method.

Method sapa() dapat mengakses atribut self.nama milik objek.

Perbedaan Function dan Method

Berikut perbandingan function dan method:

AspekFunctionMethod
PengertianBlok kode untuk menjalankan tugas tertentuFunction yang didefinisikan dalam class atau berkaitan dengan objek
Hubungan dengan objekTidak harus berkaitan dengan objekBiasanya berkaitan dengan class atau objek
Cara pemanggilannama_function()objek.nama_method()
PenggunaanDapat digunakan untuk tugas umumSering digunakan untuk mengolah data atau perilaku objek
Konteks OOPDapat berada di luar classUmumnya didefinisikan di dalam class
Contohhitung_total()siswa.sapa()

Catatan: Detail perilaku function dan method dapat berbeda tergantung bahasa pemrograman. Tidak semua method harus menggunakan data instance, dan beberapa bahasa memiliki konsep method yang lebih luas.

Perbedaan Cara Memanggil Function dan Method

Salah satu perbedaan yang mudah diamati adalah cara pemanggilannya.

Pemanggilan Function

def cetak_nama():
    print("Rina")

cetak_nama()

Function dipanggil langsung menggunakan namanya.

Pemanggilan Method

class Siswa:
    def cetak_nama(self):
        print("Rina")

siswa = Siswa()

siswa.cetak_nama()

Method dipanggil melalui objek siswa.

Dalam Python, method instance biasanya menerima parameter pertama yang secara konvensional bernama self. Parameter tersebut merujuk pada objek yang sedang digunakan.

Contoh Function dan Method dalam Python

Python menyediakan banyak function dan method bawaan.

Function Bawaan

Contoh function bawaan Python:

nama = "NgodingDaily"

print(len(nama))

len() merupakan function bawaan yang digunakan untuk mendapatkan panjang objek tertentu, seperti string atau list.

Function lain yang umum digunakan:

print("Halo")
angka = int("25")
panjang = len("Python")

Method String

String memiliki berbagai method yang dapat digunakan untuk mengolah teks.

teks = "belajar coding"

print(teks.upper())
print(teks.capitalize())

Output:

BELAJAR CODING
Belajar coding

Pada contoh tersebut:

  • upper() adalah method untuk mengubah teks menjadi huruf kapital.
  • capitalize() adalah method untuk membuat huruf awal menjadi kapital.

Method dipanggil melalui objek string teks.

Function vs Method pada List Python

List juga memiliki berbagai method.

buah = ["Apel", "Jeruk"]

buah.append("Mangga")

print(buah)

Output:

['Apel', 'Jeruk', 'Mangga']

append() merupakan method list yang digunakan untuk menambahkan elemen.

Sementara itu, len() merupakan function bawaan yang dapat digunakan untuk mengetahui jumlah elemen:

jumlah = len(buah)

print(jumlah)

Perbandingan:

len(buah)        # Function
buah.append(...) # Method

Contoh ini menunjukkan perbedaan umum antara function yang dipanggil secara langsung dan method yang dipanggil melalui objek.

Function vs Method dalam PHP

PHP juga mendukung function dan method.

Contoh Function PHP

<?php

function tambah($a, $b) {
    return $a + $b;
}

echo tambah(10, 5);

?>

Output:

15

Function tambah() dapat dipanggil tanpa membuat objek.

Contoh Method PHP

<?php

class Kalkulator {
    public function tambah($a, $b) {
        return $a + $b;
    }
}

$kalkulator = new Kalkulator();

echo $kalkulator->tambah(10, 5);

?>

Output:

15

Method tambah() didefinisikan di dalam class Kalkulator dan dipanggil melalui objek $kalkulator.

Dalam PHP, method dapat memiliki visibility seperti:

  • public
  • protected
  • private

Pengaturan visibility menentukan bagian kode yang dapat mengakses method tersebut.

Function vs Method dalam Java

Java menggunakan konsep class dan method dalam pemrograman berorientasi objek.

Berbeda dari Python atau PHP, Java tidak memiliki function bebas di luar class. Perilaku yang biasanya disebut function dalam bahasa lain didefinisikan sebagai method di dalam class.

Contoh:

public class Main {

    static int tambah(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        System.out.println(tambah(10, 5));
    }
}

Output:

15

Method tambah() memiliki modifier static, sehingga dapat dipanggil melalui konteks class tanpa membuat objek Main.

Contoh method instance:

class Siswa {
    String nama;

    Siswa(String nama) {
        this.nama = nama;
    }

    void sapa() {
        System.out.println("Halo, " + nama);
    }
}

Method sapa() menggunakan data milik objek Siswa.

Function vs Method dalam JavaScript

JavaScript mendukung function dan method.

Function JavaScript

function sapa() {
    console.log("Halo, programmer!");
}

sapa();

Method JavaScript

const siswa = {
    nama: "Rina",

    sapa: function() {
        console.log("Halo, " + this.nama);
    }
};

siswa.sapa();

Method sapa() berada di dalam objek siswa dan dapat mengakses properti nama melalui this.

JavaScript juga memiliki method bawaan, misalnya:

const nama = "NgodingDaily";

console.log(nama.toUpperCase());

toUpperCase() merupakan method string yang menghasilkan teks dalam huruf kapital.

Jenis-Jenis Function

Function dapat memiliki beberapa bentuk berdasarkan cara penggunaannya.

1. Function Tanpa Parameter

def salam():
    print("Selamat belajar")

salam()

Function tidak menerima input dari pemanggil.

2. Function dengan Parameter

def salam(nama):
    print("Halo", nama)

salam("Rina")

Function menerima data dari pemanggil.

3. Function dengan Return Value

def kali(a, b):
    return a * b

hasil = kali(4, 5)

print(hasil)

Function menghasilkan nilai yang dapat digunakan kembali.

4. Anonymous Function

Beberapa bahasa mendukung function tanpa nama, yang sering digunakan untuk operasi sederhana.

Contoh lambda pada Python:

kuadrat = lambda x: x * x

print(kuadrat(5))

Output:

25

Lambda dapat berguna untuk kebutuhan tertentu, tetapi function biasa sering lebih mudah dibaca untuk logika yang kompleks.

Jenis-Jenis Method dalam OOP

Dalam pemrograman berorientasi objek, terdapat beberapa jenis method.

1. Instance Method

Instance method berhubungan dengan objek tertentu dan biasanya dapat mengakses data instance.

Contoh Python:

class Siswa:
    def __init__(self, nama):
        self.nama = nama

    def tampilkan_nama(self):
        return self.nama

2. Class Method

Class method berhubungan dengan class dan menggunakan decorator @classmethod dalam Python.

class Siswa:
    jumlah = 0

    @classmethod
    def tampilkan_jumlah(cls):
        return cls.jumlah

Parameter cls secara konvensional merujuk pada class.

3. Static Method

Static method tidak memerlukan akses otomatis ke instance atau class melalui parameter khusus.

class Kalkulator:
    @staticmethod
    def tambah(a, b):
        return a + b

print(Kalkulator.tambah(3, 4))

Pemilihan jenis method bergantung pada hubungan antara perilaku dan data yang dikelola.

Kapan Menggunakan Function?

Function dapat digunakan ketika:

  • Tugas tidak bergantung pada objek tertentu.
  • Logika perlu digunakan kembali.
  • Program membutuhkan proses yang terpisah.
  • Kode ingin dibuat lebih modular.
  • Perhitungan atau validasi dapat dibuat mandiri.

Contoh:

def hitung_luas(panjang, lebar):
    return panjang * lebar

Function tersebut cocok digunakan ketika proses menghitung luas tidak memerlukan data objek tertentu.

Kapan Menggunakan Method?

Method dapat digunakan ketika:

  • Perilaku berkaitan dengan objek atau class.
  • Kode perlu mengakses atribut objek.
  • Program menggunakan pendekatan OOP.
  • Perilaku merupakan bagian dari tanggung jawab suatu class.

Contoh:

class Produk:
    def __init__(self, nama, harga):
        self.nama = nama
        self.harga = harga

    def tampilkan_info(self):
        return f"{self.nama}: Rp{self.harga}"

Method tampilkan_info() berkaitan dengan data produk yang dimiliki objek.

Kesalahan yang Sering Dilakukan Pemula

Berikut beberapa kesalahan yang perlu diperhatikan:

1. Menganggap Function dan Method Selalu Sama

Keduanya memang sama-sama dapat menjalankan blok kode, tetapi konteks dan cara pemanggilannya dapat berbeda.

2. Tidak Memahami Objek dan Class

Method sering berkaitan dengan class atau objek. Pemahaman OOP membantu programmer memahami penggunaannya.

3. Membuat Function Terlalu Panjang

Function sebaiknya memiliki tanggung jawab yang jelas agar mudah dipahami dan diuji.

4. Menggunakan Method pada Tipe Data yang Salah

Contohnya, memanggil method string pada objek yang bukan string dapat menyebabkan error.

angka = 100

# Contoh yang tidak sesuai:
# angka.upper()

5. Mengabaikan Nama Function dan Method

Gunakan nama yang jelas dan menggambarkan tugas yang dijalankan.

Contoh:

def hitung_total():
    pass

Nama tersebut lebih informatif daripada nama yang terlalu umum seperti proses1().

Tips Membuat Function dan Method yang Baik

Agar kode lebih mudah dipahami, terapkan beberapa kebiasaan berikut:

  1. Gunakan nama yang jelas.
  2. Buat function atau method dengan tanggung jawab yang terarah.
  3. Hindari duplikasi kode.
  4. Gunakan parameter sesuai kebutuhan.
  5. Kembalikan nilai dengan return jika diperlukan.
  6. Pisahkan logika yang berbeda.
  7. Gunakan komentar atau dokumentasi jika diperlukan.
  8. Uji function dan method menggunakan beberapa skenario.
  9. Hindari function atau method yang terlalu panjang.
  10. Pilih function atau method sesuai struktur program.

Kesimpulan

Function dan method sama-sama digunakan untuk menjalankan tugas tertentu dalam pemrograman, tetapi memiliki perbedaan dalam konteks penggunaannya. Function dapat digunakan sebagai blok kode mandiri, sedangkan method umumnya berkaitan dengan class atau objek.

Function banyak digunakan untuk proses umum seperti perhitungan dan validasi. Method biasanya digunakan untuk mengelola perilaku dan data yang berkaitan dengan objek dalam pemrograman berorientasi objek.

Dengan memahami perbedaan function dan method, programmer pemula dapat menulis kode yang lebih terstruktur, mudah digunakan kembali, dan lebih mudah dipelihara.

Leave a Reply

Your email address will not be published. Required fields are marked *