Return
Kata kunci return merupakan salah satu konsep penting dalam function di Python. Dengan return, sebuah function tidak hanya menjalankan suatu proses, tetapi juga dapat menghasilkan dan mengembalikan nilai yang dapat digunakan kembali oleh bagian lain dari program.
Pengertian Return
return digunakan di dalam function untuk mengirimkan nilai hasil eksekusi kembali kepada kode yang memanggil function tersebut.
Contoh sederhana:
def sum(num1, num2):
return num1 + num2
Ketika function dipanggil:
result = sum(10, 5)
print(result)
Output:
15
Nilai 15 merupakan nilai yang dikembalikan oleh function melalui return.
Return Berbeda dengan Print
Salah satu konsep penting adalah memahami perbedaan antara print() dan return.
Menggunakan Print
def sum(num1, num2):
print(num1 + num2)
result = sum(10, 5)
print(result)
Output:
15
None
print() hanya menampilkan hasil ke layar. Function tersebut tidak mengembalikan hasil perhitungan sehingga nilai yang diterima oleh result adalah None.
Menggunakan Return
def sum(num1, num2):
return num1 + num2
result = sum(10, 5)
print(result)
Output:
15
Dengan return, hasil perhitungan dapat disimpan ke dalam variabel dan digunakan kembali.
Return Menghasilkan Nilai yang Dapat Digunakan Kembali
Nilai yang dikembalikan oleh function dapat digunakan untuk berbagai operasi lainnya.
def sum(num1, num2):
return num1 + num2
total = sum(10, 5)
print(total)
print(total * 2)
Output:
15
30
Karena hasil function dikembalikan sebagai nilai, hasil tersebut dapat digunakan kembali oleh program.
Function Tanpa Return
Jika sebuah function tidak menggunakan return, Python secara otomatis mengembalikan None.
def say_hello():
print('Hello')
result = say_hello()
print(result)
Output:
Hello
None
Hal ini terjadi karena function say_hello() hanya menjalankan print() dan tidak memberikan nilai kembali.
Return Menghentikan Eksekusi Function
Ketika Python menemukan return, eksekusi function langsung dihentikan.
Perhatikan contoh berikut:
def check_number(number):
if number > 10:
return 'Angka lebih besar dari 10'
print('Pengecekan selesai')
result = check_number(20)
print(result)
Output:
Angka lebih besar dari 10
Ketika kondisi terpenuhi, return dijalankan sehingga function langsung berhenti. Baris setelah return tidak dijalankan.
Kode Setelah Return Tidak Dieksekusi
Contoh:
def say_hello():
return 'Hello'
print('Baris ini tidak akan dijalankan')
result = say_hello()
print(result)
Output:
Hello
Baris print() berada setelah return, sehingga tidak pernah dieksekusi.
Return dengan Conditional
return sering digunakan bersama if untuk menghasilkan nilai berdasarkan kondisi tertentu.
def check_age(age):
if age >= 18:
return 'Dewasa'
return 'Belum dewasa'
print(check_age(20))
print(check_age(15))
Output:
Dewasa
Belum dewasa
Function dapat memiliki lebih dari satu return, tetapi hanya salah satu yang akan dijalankan dalam satu kali pemanggilan function.
Return Value dan Variabel
Hasil dari return dapat langsung ditampung dalam variabel.
def calculate_area(length, width):
return length * width
area = calculate_area(10, 5)
print(area)
Output:
50
Alurnya adalah:
calculate_area(10, 5)
↓
10 * 5
↓
50
↓
area = 50
Return Value sebagai Argument Function Lain
Hasil return dari suatu function dapat langsung digunakan sebagai argument untuk function lainnya.
Contoh:
def sum(num1, num2):
return num1 + num2
total = sum(10, 5)
print(sum(10, total))
Alurnya:
sum(10, 5)
↓
15
total = 15
sum(10, total)
↓
sum(10, 15)
↓
25
Output:
25
Menggabungkan Beberapa Function
Konsep ini memungkinkan kita membuat function yang lebih kecil dan memiliki tanggung jawab tertentu.
def calculate_price(price, quantity):
return price * quantity
def calculate_discount(total):
return total * 0.10
price = calculate_price(50000, 3)
discount = calculate_discount(price)
print(price)
print(discount)
Output:
150000
15000.0
Function pertama menghasilkan nilai yang kemudian digunakan oleh function kedua.
Pola seperti ini membuat program lebih modular dan mudah dikembangkan.
Return Value vs Side Effect
Function dapat melakukan dua jenis hal yang berbeda.
Return Value
Function memproses data dan mengembalikan hasil.
def calculate_total(price, quantity):
return price * quantity
Function tersebut menghasilkan nilai yang dapat digunakan kembali.
Side Effect
Function melakukan suatu tindakan yang memengaruhi sesuatu di luar dirinya.
Contohnya adalah mencetak sesuatu ke layar.
def say_hello(name):
print(f'Hello {name}')
Function tersebut melakukan aksi berupa menampilkan teks, tetapi tidak mengembalikan nilai.
Perbandingan Print dan Return
print() | return |
|---|---|
| Menampilkan data ke layar | Mengembalikan data |
| Ditujukan untuk output kepada pengguna | Ditujukan untuk digunakan oleh program |
| Tidak dapat digunakan sebagai hasil function secara langsung | Hasilnya dapat disimpan dalam variabel |
| Tidak menghentikan function | Menghentikan function |
Function tanpa return akan menghasilkan None | Menghasilkan nilai yang ditentukan |
Contoh dalam Program
Perhatikan function berikut:
def calculate_total(price, quantity):
return price * quantity
def calculate_discount(total):
return total * 0.10
price = 50000
quantity = 3
total = calculate_total(price, quantity)
discount = calculate_discount(total)
final_price = total - discount
print(f'Total: {total}')
print(f'Discount: {discount}')
print(f'Final price: {final_price}')
Output:
Total: 150000
Discount: 15000.0
Final price: 135000.0
Program tersebut menunjukkan bagaimana nilai dari satu function dapat digunakan oleh function lain dan kemudian diproses kembali.
Poin Penting
Beberapa hal yang perlu diingat mengenai return:
returndigunakan untuk mengembalikan nilai dari sebuah function.- Function yang tidak memiliki
returnakan menghasilkanNone. returnlangsung menghentikan eksekusi function.- Nilai yang dikembalikan dapat disimpan ke dalam variabel.
- Nilai
returndapat digunakan sebagai input untuk operasi atau function lainnya. print()digunakan untuk menampilkan informasi, sedangkanreturndigunakan untuk mengirimkan hasil kembali kepada pemanggil function.- Penggunaan
returnmembantu membuat function lebih fleksibel, modular, dan dapat digunakan kembali.