“Statemen return apa fungsinya?” Banyak pemula yang di saat memulai jalannya
di programming kebingungan saat memahami apa itu statemen return
dan
fungsinya. Sejujurnya saya juga memerlukan waktu beberapa saat untuk mengerti
tentang fungsi dari statement return
ini. Mungkin banyak orang Indonesia
yang memahami statemen return
dengan cara menerjemahkannya ke bahasa
Indonesia, menjadi “kembali”, “mengembalikan”, dan lain-lain. Yup, itu bisa
saja benar, tetapi kita perlu lihat seperti apa “mengembalikan” yang dimaksud
di sini.
Pertama-tama yang harus seseorang tahu untuk mengerti fungsi dari return
adalah statemen ini banyak kaitannya dengan fungsi (function
) di dalam
pemrograman. Tidak ada statement return
yang muncul di luar fungsi, hal ini
menunjukan bahwa return
adalah sebuah bagian daripada sebuah fungsi.
Sekarang kita lihat lagi apa itu fungsi (function
). Fungsi biasa digunakan
agar sebuah bagian daripada sebuah program bisa digunakan berulang kali. Fungsi
yang tidak menghasilkan nilai apapun bisa disebut dengan method
(metode).
Misal kita ingin menghitung luas lingkaran-lingkaran, kita diberikan jari-jari dari lingkaran-lingkaran tersebut.
# Kita bisa menuliskan
jari1 = 7
luas1 = 3.14 * (jari1**2)
jari2 = 8
luas2 = 3.14 * (jari2**2)
jari3 = 9
luas3 = 3.14 * (jari3**2)
print("luas1 = %d, luas2 = %d, luas3 = %d" % (luas1, luas2, luas3))
Bisa melihat dimana perulangannya? Ya, perulangannya ada pada pernyataan dalam
menghitung luas jari-jarinya (luas1
, luas2
, luas3
). Mereka semua sama,
sehingga langkah tersebut bisa kita jadikan sebuah fungsi. Cek kode di bawah.
def hitung_luas_lingkaran(jari_jari):
return 3.14 * (jari_jari**2) # pi * jari-jari^2
jari1 = 7
luas1 = hitung_luas_lingkaran(jari1)
jari2 = 8
luas2 = hitung_luas_lingkaran(jari2)
jari3 = 9
luas3 = hitung_luas_lingkaran(jari3)
print("luas1 = %d, luas2 = %d, luas3 = %d" % (luas1, luas2, luas3))
Jika Anda menjalankan kedua program tersebut, mereka akan menghasilkan hasil yang sama (nilai variabel-variabel dan string yang diprint ke console).
luas1 = 153, luas2 = 200, luas3 = 254
Sudah mendapat gambaran tentang statement return
ini? Pada dasarnya
statemen ini mengembalikan (meng-output
) sebuah nilai, sehingga nilai
tersebut nantinya bisa digunakan oleh bagian lain dari sebuah program. Perlu
diketahui juga, fungsi hanya bisa mengeluarkan sebuah nilai[1], yang artinya
hanya akan ada satu statement return
yang dijalankan meskipun ada banyak
statement return pada sebuah fungsi.
Lihat kode di bawah.
def hitung_luas_lingkaran(jari_jari):
return 3.14 * (jari_jari**2) # pi * jari-jari^2
return 'refeeeeeeeeeeeeeeeeed'
jari1 = 7
luas1 = hitung_luas_lingkaran(jari1)
jari2 = 8
luas2 = hitung_luas_lingkaran(jari2)
jari3 = 9
luas3 = hitung_luas_lingkaran(jari3)
print("luas1 = %d, luas2 = %d, luas3 = %d" % (luas1, luas2, luas3))
Pada fungsi hitung_luas_lingkaran
yang sudah dimodifikasi di atas, kita
memiliki dua statement return
, lalu mana statement return
yang akan
dijalankan? Seperti yang dikatakan sebelumnya, hanya akan ada satu return
yang akan dijalankan, yang artinya setelah sebuah statement return
dijalankan
di sebuah fungsi maka fungsi tersebut sudah selesai dijalankan. Umumnya program
mengeksekusi kode dari atas ke bawah secara berurutan, jadi hanya statement
return
yang atas saja yang dijalankan, setelah itu fungsi sudah selesai
dijalankan.
Anda bisa menjalankan kode di atas dan masih mendapatkan hasil yang sama dengan sebelumnya.
Fungsi yang tidak memiliki return
Ada juga fungsi yang tidak memiliki statement return
, fungsi ini umumnya
disebut method
karena hanya menjalankan langkah-langkah yang ada di dalam
fungsinya dan tidak menghasilkan nilai apapun.
Lihat kode di bawah
buah = ['jeruk', 'mangga', 'lemon']
buah.append('naga')
hewan = ['kucing', 'jerapah']
hewan.append('naga')
print('buah = ', buah)
print('hewan = ', hewan)
Kita bisa mengubah program tersebut menjadi seperti kode di bawah.
def tambah_naga(array):
array.append('naga')
buah = ['jeruk', 'mangga', 'lemon']
tambah_naga(buah)
hewan = ['kucing', 'jerapah']
tambah_naga(hewan)
print('buah = ', buah)
print('hewan = ', hewan)
Kedua program di atas akan mencetak string yang sama ke console yaitu:
buah = ['jeruk', 'mangga', 'lemon', 'naga']
hewan = ['kucing', 'jerapah', 'naga']
Jika kita lihat ke fungsi tambah_naga
di atas, tidak ada statement return
yang tertulis sehingga fungsi ini tidak akan menghasilkan sebuah nilai apabila
kita masukkan nilai tersebut ke variabel, contoh:
def tambah_naga(array):
array.append('naga')
buah = ['jeruk', 'mangga', 'lemon']
nilai_tambah_naga = tambah_naga(buah)
print('buah = ', buah)
print('nilai_tambah_naga = ', nilai_tambah_naga)
Akan mencetak string berikut ke console:
buah = ['jeruk', 'mangga', 'lemon', 'naga']
nilai_tambah_naga = None
Dimana bisa kita lihat bahwa nilai variable nilai_tambah_naga
adalah None
(None
adalah sebuah objek dalam Python
yang biasa digunakan untuk
merepresentasikan ketidakadaan).
Hanya sidenote, sebenarnya Python menambahkan return None
pada akhir sebuah
fungsi yang tidak memiliki sebuah return
. Anda juga bisa mengekspresikan
statement tersebut secara eksplisit dengan mengubah fungsi tambah_naga
menjadi:
def tambah_naga(array):
array.append('naga')
return None
atau
def tambah_naga(array):
array.append('naga')
return
Mereka akan menjalankan langkah yang sama dan output dari program sebelumnya tidak berubah.
Fungsi dari method tambah_naga
adalah menambahkan string 'naga'
ke dalam
sebuah array dan tidak mengoutput nilai apapun.
Memanfaatkan return untuk menjaga kode agar tetap simpel
Kita bisa memanfaatkan tingkah laku statement return
untuk menjaga kode
kita agar tetap simpel, seperti yang kita ketahui bahwa jika sebuah statement
return
sudah dijalankan di sebuah fungsi, maka fungsi tersebut sudah selesai
dijalankan.
Misalnya kita memiliki sebuah fungsi untuk menunjukan apakah sebuah angka itu genap atau ganjil.
def apakah_genap(angka):
if angka % 2 == 0:
return True
else
return False
Kita juga bisa menuliskan fungsi di atas seperti di bawah ini:
def apakah_genap(angka):
if angka % 2 == 0:
return True
return False
Kedua fungsi tersebut akan menghasilkan hasil yang sama. Lebih simpel bukan?
Apa bedanya dengan print()
?
Banyak pemula yang salah mengerti bahwa print()
juga menghasilkan nilai atau
berperan layaknya return
karena fungsi ini mencetak sebuah string ke console
mereka. Sebenarnya bukan begitu, print()
merupakan sebuah method
, yang
berarti fungsi ini hanya menjalankan langkah-langkah yang berkaitan dengan
mencetak sebuah string ke console, dan tidak menghasilkan nilai apa-apa
(None
).
Lihat contoh di bawah
a = print('refeed')
print(a)
Program tersebut akan mencetak string berikut ke console:
refeed
None
Pada program di atas kita melihat bahwa variabel a
akan dimasuki oleh hasil
dari statement print('refeed')
dan pada baris ke-2 kita mencetak nilai dari
variabel a
. Pada console ditampilkan refeed
dan None
. String refeed
pada console dicetak oleh statement print('refeed')
dan string None
pada
console dicetak oleh print(a)
, yang artinya a
bernilai None
dan
print('refeed')
tidak menghasilkan nilai apa-apa.
Demikian post kali ini, jadi intinya return
adalah statemen yang berfungsi
untuk mengeluarkan (mengembalikan, mengoutputkan) nilai dari sebuah fungsi yang
dimana nilai yang sudah dihasilkan tadi akan diproses oleh bagian lain daripada
program.
Jika ada saran ataupun komentar, silakan tulis pada kolom komentar yang ada di
bawah artikel ini, terimakasih. Tujuan dari artikel ini adalah untuk
menjelaskan semudah-mudahnya kepada seorang pemrogram pemula yang baru
belajar pemrograman khususnya tentang statement return
.
[1] Sebuah nilai yang dimaksud disini adalah sebuah objek, dengan kata lain
fungsi bisa saja me-return
sebuah list
yang berisi banyak nilai, tetapi
tetap saja list
itu adalah sebuah objek.