Ahlan wa sahlan !

Ahlan wa sahlan...
TIKmawar adalah blog TIK untuk guru dan siswa yang ingin memahami teknologi secara logis, praktis, dan menyenangkan. Bareng Bu Mawar, kita akan belajar TIK tidak hanya klik-klik, tetapi juga memahami maksudnya .

Return di Bahasa C

 Perlu ga sih pakai return 0? bakal error ga ya kalau ga dikasih?

Ok! sebelum membahas itu, Bu Mawar akan menjelaskan mengenai fungsi di bahasa C.

Apa itu fungsi?

Fungsi adalah blok kode yang menjalankan suatu tugas.

Contoh :

int tambah(int a, int b) {

    return a + b;

}

Artinya:
Fungsi bernama tambah bertugas menjumlahkan dua angka.

Apa arti tanda kurung ()?

Jika ada nama diikuti (), itu berarti fungsi.

Contoh :

tambah(3, 4)

Artinya kita memanggil fungsi tambah dengan angka 3 dan 4.

Apa arti int di depan nama fungsi?

Contoh :

int tambah(int a, int b)

int artinya:
Fungsi ini akan mengembalikan nilai berupa angka bulat.

Jadi kalau pakai int, maka harus mengembalikan angka.

Apa itu return?

return berarti mengirim hasil keluar dari fungsi.

contoh : 

return a + b;

Artinya:
Kirim hasil penjumlahan keluar dari fungsi.

Tanpa return, hasilnya tidak keluar.

Contoh lengkapnya :

#include <stdio.h>

int tambah(int a, int b) {

    return a + b;

}

int main() {

    int x = tambah(3, 4);

    printf("%d", x);

    return 0;

}

Urutan yang terjadi:

  1. Program mulai dari main()

  2. Baris tambah(3, 4) dijalankan

  3. Angka 3 masuk ke a

  4. Angka 4 masuk ke b

  5. Fungsi menghitung 3 + 4

  6. return mengirim angka 7

  7. Angka 7 disimpan ke variabel x

  8. printf menampilkan 7

Apa yang terjadi kalau tidak ada return?
Contoh :
int tambah(int a, int b) {
    int hasil = a + b;
}

Maka:
Fungsi bertipe int, tetapi tidak mengembalikan nilai. Ini salah secara konsep.

Bisa muncul

  • Warning

  • Atau error (tergantung pengaturan compiler)

Karena:
Kalau tipe fungsi int, maka wajib mengembalikan angka.

Kenapa main() kadang tidak error walaupun tidak ada return 0;?

int main() {

    printf("Hello");

}

Tidak error karena:

main() adalah fungsi khusus.
Compiler modern otomatis menganggapnya sebagai return 0;.

Tetapi ini pengecualian khusus untuk main() saja.

Kesimpulan Aturan Penting

  1. Jika fungsi bertipe int → wajib ada return angka;

  2. Jika fungsi bertipe void → tidak perlu return angka

  3. main() adalah pengecualian, tapi tetap lebih baik menulis return 0;

Apa arti return 1; ?

Artinya:

Program selesai tetapi ada masalah atau kegagalan.

Dalam sistem operasi:

  • 0 = sukses

  • selain 0 = terjadi kesalahan

Jadi:

  • return 0; → berhasil

  • return 1; → gagal

Contoh program :

#include <stdio.h>


int main() {

    int a = 10;

    int b = 0;

    if (b == 0) {

        printf("Error: tidak bisa dibagi nol\n");

        return 1;

    }

    printf("%d", a / b);

    return 0;

}

Penjelasan:

  • Jika pembagi nol → tampilkan pesan error

  • Lalu return 1; untuk memberi tahu sistem bahwa program gagal

  • Jika tidak ada masalah → return 0;

Contoh error:
int tambah() {
}

Tidak ada return → bisa error atau warning.

Sedangkan return 1;:

  • Program tetap berjalan

  • Tapi memberi status gagal saat selesai

Jika fungsi bertipe int → harus mengembalikan angka.

return 0; dan return 1; adalah contoh angka yang dikembalikan.

Artinya:

  • int main() wajib mengembalikan nilai integer

  • Nilai itu memberi status ke sistem

Kesimpulan 

  1. return = mengirim nilai keluar dari fungsi

  2. Jika fungsi bertipe int, harus ada return

  3. Di main():

    • return 0; = sukses

    • return 1; = gagal

  4. return 1; bukan error, tapi tanda program gagal


Tidak ada komentar:

Posting Komentar