Tutorial Belajar C Part 44: Fungsi Perintah Return pada Function Bahasa C

Setelah memahami Cara Pembuatan Fungsi serta Perbedaan Parameter dangan Argumen Fungsi, pada tutorial belajar bahasa C di Duniailkom kali ini kita akan bahas lebih jauh tentang Fungsi Perintah Return di dalam Function.


Pengertian Perintah Return di dalam Function

Pada tutorial sebelumnya kita sudah membuat beberapa function yang ketika di panggil akan langsung menampilkan teks. Berikut contoh yang dimaksud:

#include <stdio.h>

void hitungLuasSegitiga(int alas, int tinggi) {
  double luas = (alas * tinggi) / 2.0;
  printf("Luas segitiga adalah: %.2f \n",luas);
}

int main(void)
{
  hitungLuasSegitiga(5, 7);

  return 0;
}

Hasil kode program:

Luas segitiga adalah: 17.50

Di baris 10, begitu fungsi hitungLuasSegitiga(5, 7) di panggil, akan tampil teks Luas segitiga adalah: 17.50

Tidak ada yang salah dari penulisan function seperti ini, hanya saja terasa kurang fleksibel karena tidak selamanya kita ingin menampilkan teks secara langsung.

Dalam banyak situasi, hasil sebuah function perlu disimpan ke dalam variabel terlebih dahulu, untuk kemudian di proses lebih lanjut.

Untuk keperluan inilah kita perlu menambah perintah return ke dalam function. Tujuannya, agar sebuah function bisa mengembalikan nilai.

Langsung saja kita lihat modifikasi dari function hitungLuasSegitiga() dengan penambahan perintah return:

#include <stdio.h>

double hitungLuasSegitiga(int alas, int tinggi) {
  double luas = (alas * tinggi) / 2.0;
  return luas;
}

int main(void)
{
  double var1 = hitungLuasSegitiga(5, 7);
  printf("Luas segitiga adalah: %.2f \n",var1);

  return 0;
}

Hasil kode program:

Luas segitiga adalah: 17.50

Dalam bahasa C, tipe data dari nilai yang dikembalikan fungsi harus di tulis di awal pendefinisian. Dalam contoh diatas, tipe data yang dikembalikan oleh function hitungLuasSegitiga() ini adalah double, yang saya tulis di awal baris 3.

Sebelumnya di awal baris 3 ini terdapat keyword void karena function hitungLuasSegitiga() tidak memiliki perintah return.

Perintah return sendiri ada di baris 5, yakni return luas. Artinya, kembalikan nilai yang tersimpan di dalam variabel luas kepada kode yang akan memanggil function tersebut.

Di baris 10 saya membuat variabel var1 bertipe double dan mengisinya dari hasil function hitungLuasSegitiga(2, 3). Dengan perintah ini, variabel var1 akan berisi angka 17.50 yang kemudian ditampilkan dengan perintah printf().

Seperti inilah cara penggunaan perintah return dalam mengembalikan nilai function.


Mengembalikan Langsung Hasil Operasi

Dalam contoh di atas kita mengembalikan nilai dari variabel. Namun juga bisa langsung mengembalikan nilai yang berasal dari hasil operasi. Perhatikan kode program berikut ini:

#include <stdio.h>

double hitungLuasSegitiga(int alas, int tinggi) {
  return (alas * tinggi) / 2.0;
}

int main(void)
{
  printf("Luas segitiga adalah: %.2f \n",hitungLuasSegitiga(5, 7));

  return 0;
}

Hasil kode program:

Luas segitiga adalah: 17.50

Sekarang di baris 4 langsung terdapat perintah return (alas * tinggi) / 2.0, tidak perlu lagi menyimpannya ke dalam variabel luas terlebih dahulu.

Kemudian di baris 9 pemanggilan function hitungLuasSegitiga() juga dilakukan langsung dari dalam perintah printf(), yang tidak perlu disimpan ke dalam sebuah variabel.


Hal-hal yang Harus Diperhatikan Untuk Perintah Return

Terdapat beberapa hal yang harus diperhatikan ketika membuat function dengan perintah return.

Pertama, tipe data yang dikembalikan harus sesuai dengan yang ditulis ketika pendefinisian function. Jika berbeda, akan terjadi error atau (yang sebenarnya lebih parah), dikonversi secara tidak langsung.

Berikut contoh kasusnya:

#include <stdio.h>

int hitungLuasSegitiga(int alas, int tinggi) {
  double luas = (alas * tinggi) / 2.0;
  return luas;
}

int main(void)
{
  printf("Luas segitiga adalah: %.2f \n",hitungLuasSegitiga(5, 7));

  return 0;
}

Hasil kode program:

Luas segitiga adalah: 0.00

Sekarang fungsi hitungLuasSegitiga memiliki keyword int sebelum penulisan nama fungsi (baris 3). Ini berarti saya mengharapkan nilai kembalian bertipe integer. Akan tetapi variabel luas yang di-return bertipe double. Maka hasil perhitungan luas akan dikoversi compiler C menjadi integer secara bawaan.

Akibatnya nilai luas menjadi 0.00, dan tanpa pesan error! Jadi kita harus hati-hati dengan tipe data kembalian function.

Hal kedua yang harus diperhatikan adalah, perintah return berfungsi mirip seperti break dalam perulangan. Jika ditemukan perintah return, pemrosesan function akan berhenti dan tidak akan mengeksekusi kode dibawahnya:

#include <stdio.h>

double hitungLuasSegitiga(int alas, int tinggi) {
  double luas = (alas * tinggi) / 2.0;
  return luas;
  printf("Sedang belajar bahasa C di Duniailkom");
}

int main(void)
{
  printf("Luas segitiga adalah: %.2f \n",hitungLuasSegitiga(5, 7));

  return 0;
}

Hasil kode program:

Luas segitiga adalah: 17.50

Kode program di baris 6 tidak akan pernah dijalankan karena berada setelah perintah return.


Contoh Lain Perintah Return C

Sebagai contoh terakhir, tanpa menjalankan kode program dibawah ini bisakah anda menebak hasil yang tampil?

#include <stdio.h>

int hargaSetelahPajak(int hargaDasar) {
  return hargaDasar + (hargaDasar * 10/100);
}

int main(void)
{
  int hargaCilok = 5000;
  int hargaFinalCilok = hargaSetelahPajak(hargaCilok);

  printf("Harga cilok 1 porsi Rp.%d \n", hargaFinalCilok);

  return 0;
}

Di baris 3 – 5 saya mendefinisikan function hargaSetelahPajak(). Perintah int sebelum nama function menyatakan bahwa function ini akan mengembalikan nilai bertipe integer.

Function hargaSetelahPajak() butuh 1 parameter hargaDasar yang akan di pakai dalam rumus di baris 4, yakni perintah return hargaDasar + (hargaDasar * 10/100). Karena terdapat perintah return, maka hasil perhitungan akan dikembalikan kepada kode program yang memanggilnya.

Di function main(), pada baris 9 saya mengisi variabel hargaCilok dengan angka 5000. Selanjutnya di baris 10 juga membuat variabel hargaFinalCilok yang diisi dengan hasil dari pemanggilan function hargaSetelahPajak(hargaCilok).

Perintah ini akan mengirim argumen 5000 yang tersimpan di dalam variabel hargaCilok ke dalam parameter hargaDasar di function hargaSetelahPajak().

Dengan demikian perintah return yang dijalankan adalah: return 5000 + (5000* 10/100), yang menghasilkan return 5500 untuk selanjutnya dikembalikan ke variabel hargaFinalCilok.

Di baris 12, hargaFinalCilok kemudian di input ke dalam perintah printf() dan menampilkan teks:

Harga cilok 1 porsi Rp.5500

Dalam tutorial C kali ini kita telah membahas pengertian perintah return serta contoh penggunaannya.

Mayoritas function akan mengembalikan sebuah nilai, cukup jarang yang langsung menampilkan hasil dalam bentuk teks. Oleh karena itu cara penggunaan perintah return ini wajib untuk dipahami.

3 Comments

  1. Thorfinn Karlsefni
    15 Jan 21
    • Anonymous
      14 Jan 23
      • Andre
        23 Jan 23

Add Comment

Leave a Reply to Thorfinn Karlsefni Cancel reply