Langsung ke konten

Return Value di Python: Mengembalikan Hasil dari Function

Return value mengembalikan hasil function di Python. Artikel ini membahas return, mengembalikan banyak nilai, function tanpa return, dan bedanya dengan print().

Belajar Python Level Basic
Belajar Python Level Basic
Advertisement

Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas Parameter dan Argument. Sekarang kita bahas cara function menyerahkan hasil kerjanya.

Function yang hanya print() memang menampilkan sesuatu, tapi nilainya tidak bisa diolah lagi. Kalau hasilnya ingin dipakai di tempat lain, function perlu mengembalikan nilai.

return Statement

return mengakhiri function dan mengirim sebuah nilai kembali ke pemanggil:

def luas_persegi(sisi):
    return sisi * sisi

hasil = luas_persegi(4)
print(hasil)   # 16

Nilai yang dikembalikan bisa langsung dipakai dalam ekspresi lain:

print(luas_persegi(4) + luas_persegi(5))   # 41

Setelah return dijalankan, function berhenti. Kode setelahnya tidak akan dieksekusi:

def cek(n):
    if n < 0:
        return "negatif"
    return "positif atau nol"

print(cek(-5))   # negatif

Mengembalikan Banyak Nilai

Python memungkinkan function mengembalikan beberapa nilai sekaligus. Cukup pisahkan dengan koma:

def bagi(a, b):
    return a // b, a % b

hasil, sisa = bagi(10, 3)
print(hasil)   # 3
print(sisa)    # 1

Sebenarnya Python membungkus nilai-nilai itu menjadi satu tuple. Kamu juga bisa menyimpannya sebagai tuple utuh:

def statistik(angka):
    return min(angka), max(angka), sum(angka)

hasil = statistik([3, 1, 4, 1, 5])
print(hasil)            # (1, 5, 14)
print(type(hasil))      # <class 'tuple'>

Function Tanpa return

Function yang tidak memakai return tetap mengembalikan nilai, yaitu None:

def sapa(nama):
    print(f"Halo, {nama}!")

hasil = sapa("Budi")
print(hasil)   # None

Jadi ada perbedaan antara menampilkan dan mengembalikan:

  • print() menampilkan teks ke layar, nilainya None.
  • return mengirim nilai ke pemanggil, tidak menampilkan apa pun.

Perbedaan print() dan return

Perbedaan ini sering membingungkan. Perhatikan dua function berikut:

def luas_print(sisi):
    print(sisi * sisi)

def luas_return(sisi):
    return sisi * sisi

Function pertama menampilkan hasil, tapi tidak bisa diolah:

hasil = luas_print(4)   # menampilkan 16
print(hasil)            # None

Function kedua mengembalikan nilai, tapi tidak menampilkan apa pun:

hasil = luas_return(4)
print(hasil)            # 16

Kalau nilai ingin dipakai untuk perhitungan lanjutan, gunakan return. Gunakan print() hanya saat memang ingin menampilkan sesuatu.

return untuk Keluar Lebih Awal

return bisa dipakai untuk menghentikan function lebih awal, misalnya saat menemukan kondisi khusus:

def bagi_aman(a, b):
    if b == 0:
        return "Tidak bisa dibagi nol"
    return a / b

print(bagi_aman(10, 2))   # 5.0
print(bagi_aman(10, 0))   # Tidak bisa dibagi nol

Pola ini membuat function lebih mudah dibaca karena kasus khusus ditangani lebih dulu.

Contoh Program: Analisis Nilai

Mari buat function yang mengembalikan beberapa hasil sekaligus:

# analisis_nilai.py

def analisis(nilai):
    """Mengembalikan rata-rata, nilai tertinggi, dan status kelulusan."""
    rata_rata = sum(nilai) / len(nilai)
    tertinggi = max(nilai)
    lulus = rata_rata >= 75
    return rata_rata, tertinggi, lulus

data = [78, 85, 92, 67, 88]

rata, tertinggi, lulus = analisis(data)

print(f"Rata-rata: {rata:.1f}")
print(f"Tertinggi: {tertinggi}")
print(f"Status: {'Lulus' if lulus else 'Tidak lulus'}")

Output:

Rata-rata: 82.0
Tertinggi: 92
Status: Lulus

Nilai yang dikembalikan langsung di-unpack ke tiga variabel.

Kesalahan Umum Pemula

  • Mengira print() mengembalikan nilai — print() menghasilkan None.
  • Lupa return — function mengembalikan None tanpa peringatan.
  • Menulis kode setelah return — tidak akan pernah dijalankan.
  • Mengira banyak nilai dikembalikan sebagai list — sebenarnya tuple.
  • Mencampur print() dan return tanpa sadar — hasilnya tidak bisa diolah.

Ringkasan

  • return mengakhiri function dan mengirim nilai ke pemanggil
  • Kode setelah return tidak dijalankan
  • Function bisa mengembalikan banyak nilai, dibungkus sebagai tuple
  • Function tanpa return mengembalikan None
  • print() menampilkan, return mengembalikan; keduanya berbeda tujuan
  • Gunakan return bila nilai ingin dipakai untuk perhitungan lanjutan

Langkah Selanjutnya

Function-mu kini bisa menerima masukan dan mengembalikan hasil. Tapi ada satu hal yang perlu dipahami: dari mana asal variabel yang dipakai di dalam maupun di luar function.

Artikel selanjutnya membahas Scope Variabel di Python, cara Python menentukan variabel mana yang bisa diakses di mana.