Apa guna return pada codingan fungsi

Kembali ke forum soal ini

#python #fungsi-dan-modul #fungsi

Petunjuk Diskusi

  • Berikan jempol untuk pertanyaan atau tanggapan yang membantu dan ditulis dengan baik.
  • Di judul sebutkan unit dimana anda mengalami masalah. Hindari judul seperti: 'newbie', 'tolong bantu', dll.
  • Tuliskan pertanyaan di forum yang tepat.
  • Selengkapnya bisa lihat artikel dari anggota CodeSaya di sini dan di sini.
  • Selamat berdiskusi ^_^.

Silahkan masuk untuk berdiskusi

gan numpang tanya penjelasan dong, penjelasan umum biar sya ngerti kegunaan return pada fungsi.. soanya tutorialnya malah ngasih perumpamaan yg malah bikin saya makin gak ngerti.

0 jempol


Halo coder @gilworksoft, berdasarkan sepengetahuan saya, fungsi return digunakan untuk mengembalikan suatu nilai dari suatu function kepada yang memanggil function tersebut. Sebagai contoh : def pangkat_dua(angka): return angka ** 2 naga = pangkat_dua(5) Variabel "naga" mempunyai nilai dari hasil memanggil function pangkat_dua dengan memberikan sebuah parameter yaitu 5. Didalam function pangkat_dua parameter tersebut (5) dipangkat 2 kemudian hasil dari pangkat 5 (yaitu 25) tersebut dikembalikan /diberikan kepada variabel yang memanggilnya, dalam hal ini variabel "naga" sehingga jika kita print "naga" akan tercetak angka 25. Semoga membantu dan tidak membuat lebih pusing :D.

masih gak ngerti gan hehe, mungkin semacam pengganti parameter di fungsi yg kita buat kali yah?

Hai coder @gilworksoft, lebih ringkasnya "return" digunakan untuk mengembalikan nilai dari suatu function. Sebagai contoh : def pangkat_dua(angka): return angka ** 2 print pangkat_dua(5) function pangkat_dua, merupakan function yang dibuat untuk melakukan perpangkatan, yaitu pangkat 2. Dan function tersebut mengembalikan hasil dari perpangkatan tersebut dikembalikan ke yg manggil function tersebut. Yaitu mencetak angka 25. Semoga membantu.

di section ini yang saya tangkep adalah kyk gini: -kita mau bikin fungsi perpangkatan dua dengan parameter angka -maka dari itu, yang direturn adalah variabel angka dimana return ini berisi variabel angka yang dioperasikan dengan perpangkatan dua -parameternya kan angka, maka variabel tsb dipangkatkan dua lalu hasilnya disimpan di variabel naga sori kalo penjelasannya kurang sederhana, hehehe


Dalam pemrograman, fungsi atau prosedur sering digunakan untuk membungkus program menjadi bagian-bagian kecil.

Tujuannya agar program tidak menumpuk pada fungsi main() saja.

Bayangkan saja, kalau program kita tambah besar dan kompleks..

Kalau semua kodenya ditulis di dalam fungsi main(), maka kita akan kesulitan membacanya.

Karena itu, kita harus menggunakan Fungsi.

Apa itu fungsi?

dan Bagaimana cara menggunakannya di C++?

Mari kta bahas…

Apa itu Fungsi?

Fungsi adalah sub-program yang bisa digunakan kembali baik di dalam program itu sendiri, maupun di program yang lain.

Fungsi dapat menerima input dan menghasilkan output.

Contoh fungsi yang sering kita buat adalah fungsi main().

Fungsi ini memang wajib ada di setiap program C++, karena fungsi inilah yang akan dieksekusi pertama kali saat program berjalan.

Seperti yang saya bilang tadi:

“Kalau kita menumpuk semua kode program di dalam fungsi main(), maka program akan menjadi sulit terbaca.”

Karena itu, kita perlu membuat fungsi tersendiri agar program tidak berantakan.

Bagaimana cara buatnya?

Silahkan lanjutkan membaca:

Cara Membuat Fungsi pada Bahasa C++

Fungsi pada C++ dapat kita buat dengan cara seperti ini:

Fungsi biasanya akan mengembalikan sebuah nilai dari hasil prosesnya. Karena itu, kita harus menentukan tipe data untuk nilai yang akan dikembalikan.

Apabila fungsi tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan tipe void untuk menyatakan kalau fungsi tersebut tidak akan mengembalikan nilai apa-apa.

Contoh:

void nama_fungsi(){ cout << "Ini adalah sebuah fungsi\n"; }

Lalu untuk parameter bersifat opsional, boleh ada boleh tidak.

Tergantung dari fungsi yang dibuat. Jika fungsi itu membutuhkan input, maka kita harus membuatkan paramter.

Tapi kalau tidak menerima input apapun, ya tidak perlu dibuat.

Fungsi yang tidak menerima input, kadang juga disebut dengan prosedur.

Okee..

Sekarang mari kita coba membuat fungsi pada program C++.

Silahkan buat file baru bernama contoh_fungsi.cpp kemudian isi dengan kode berikut:

#include <iostream> using namespace std; // membuat fungsi say_hello() void say_hello(){ cout << "Hello Selamat Datang!\n"; } int main(){ // memanggil fungsi say_hello() say_hello(); return 0; }

Hasilnya:

Fungsi say_hello() dapat kita panggil berulang kali pada fungsi main().

Contoh:

#include <iostream> using namespace std; // membuat fungsi say_hello() void say_hello(){ cout << "Hello Selamat Datang!\n"; } int main(){ // memanggil fungsi say_hello() say_hello(); say_hello(); say_hello(); return 0; }

Maka hasilnya:

Jadi, cukup buat fungsi satu kali. Kita bisa panggil berkali-kali.

Deklarasi dan Definisi Fungsi

Pada contoh di atas, kita membuat fungsi dengan cara mendefinisikan langsung fungsinya.

Kita juga bisa membuatnya dengan deklarasi.

Contoh:

#include <iostream> using namespace std; // deklarasi fungsi void say_hello(); int main(){ // memanggil fungsi say_hello() say_hello(); say_hello(); say_hello(); return 0; } // Definisi fungsi void say_hello(){ cout << "Hello Selamat Datang!\n"; }

Apa bedanya dengan yang tadi?

Jika kita membuat fungsi secara definisi, kita harus membuat fungsinya di atas fungsi main.

Jika dibuat di bawah fungsi main, maka program akan error.

Soalnya program C++ dieksekusi dari atas ke bawah.

Tapi berkat deklarasi, masalah ini bisa teratasi.

Jadi kamu mau pilih cara yang mana?

Deklarasi dulu atau langsung definisikan fungsinya?

Fungsi dengan Parameter

Parameter adalah variabel yang menyimpan nilai untuk diproses di dalam fungsi.

Parameter berfungsi untuk menyimpan nilai yang akan diinputkan ke fungsi.

Contoh:

void say_hello(string name){ cout << "Hello " << name << "!\n"; }

Perhatikan!

name adalah sebuah parameter dengan tipe string.

Parameter ini akan menyimpan nilai yang diinputkan ke fungsi say_hello().

Lalu, bagaimana cara kita memberikan input ke fungsi?

Berikut caranya:

say_hello("Petani Kode");

Perhatikan!

"Petani Kode" adalah nilai yang akan kita berikan ke fungsi.

Biar lebih paham… mari kita coba dalam program.

Silahkan buat program baru dengan nama fungsi_parameter.cpp, kemudian isi dengan kode berikut:

#include <iostream> using namespace std; void say_hello(string name){ cout << "Hello " << name << "!\n"; } int main(){ say_hello("Dian"); say_hello("Petani"); say_hello("Kode"); return 0; }

Hasilnya:

Hasil outputnya akan menyesuaikan dengan nilai parameter yang kita berikan ke fungsi.

Lalu bagaimana kalau ada lebih dari satu parameter?

Gampang…

Tinggal ditambahkan dan dipisah dengan tanda koma seperti ini:

void add(int a, int b){ printf("%d + %d = %d\n", a, b, a+b); }

Mari kita coba…

Buatlah program baru barnama dua_param.c, kemudian isi dengan kode berikut:

#include <iostream> using namespace std; void add(int a, int b){ printf("%d + %d = %d\n", a, b, a+b); } int main(){ add(1, 4); add(8, 2); add(3, 2); return 0; }

Hasilnya:

Fungsi yang Mengembalikan Nilai

Pada contoh di atas, kita memberikan nilai input ke fungsi berupa integer…

…lalu di dalamnya dilakukan operasi penjumlahan.

void add(int a, int b){ printf("%d + %d = %d\n", a, b, a+b); }

Fungsi ini tidak mengembalikan apa-apa, karena tipe data yang diberikan pada nilai kembalian adalah void.

Fungsi juga kadang harus menghasilkan output.

Mengapa?

Karena kadang kita membutuhkan hasil dari fungsi tersebut untuk digunakan pada proses berikutnya.

Kita bisa menggunakan kata kunci return untuk mengembalikan nilai dari fungsi.

Contoh:

int add(int a, int b){ return a+b; }

Maka fungsi add() akan mengembalikan nilai berupa integer dari hasil penjumlahan nilai a dan b.

Mari kita coba contoh yang lain…

Silahkan buat program baru bernama fungsi_bagi.cpp, kemudian isi dengan kode berikut:

#include <iostream> using namespace std; float bagi(int a, int b){ float hasil = (float)a / (float)b; return hasil; } int main(){ printf("Hasil 5/2: %.2f\n", bagi(5, 2)); return 0; }

Hasilnya:

Variabel Lokal dan Variabel Global

Variabel lokal dan variabel global akan sering kita temukan dalam pembuatan fungsi.

Variabel global adalah variabel yang bisa diakses dari semua fungsi. Sedangkan variabel lokal adalah variabel yang hanya bisa diakses dari dalam fungsi itu sendiri.

Contoh:

#include <iostream> using namespace std; // membuat variabel global int nilai = 9; int main(){ // membuat variabel lokal int nilai = 7; // mencetak variabel printf("Nilai: %d\n", nilai); return 0; }

Pada contoh di atas, kita membuat variabel global bernama nilai.

Fungsi ini berada di luar fungsi main.

Lalu di dalam fungsi main(), kita membuat variabel lagi bernama nilai dengan nilai yang berbeda.

Variabel yang ada di dalam fungsi main() adalah variabel lokal.

Lalu, pertanyaanya:

Berapakah hasil outputnya?

Jawabannya: 7

Mengapa bisa 7?

Karena variabel nilai kita buat ulang di dalam fungsi main.

Sekarang coba hapus variabel lokal yang ada di dalam main, sehingga akan menjadi seperti ini:

#include <iostream> using namespace std; // membuat variabel global int nilai = 9; int main(){ // membuat variabel lokal //int nilai = 7; // mencetak variabel printf("Nilai: %d\n", nilai); return 0; }

Maka hasil outputnya akan 9. Karena variabel yang dipakai adalah variabel global.

Kalau tidak percaya, coba buktikan aja sendiri!

Pass by Value dan Pass by Reference

Pass by value dan pass by reference adalah cara untuk memberikan nilai pada paramaeter.

Biasanya kita langsung memberikan nilai kepada parameter dengan cara seperti ini:

Ini disebut pass by value, karena di sana kita memberikan nilai 4 secara langsung.

Nah kalau seperti ini:

kali_dua(&nama_variabel);

Ini disebut pass by reference, karena kita memberikan alamat memori.

Contoh:

#include <iostream> using namespace std; void kali_dua(int *num){ *num = *num * 2; } int main(){ int angka = 9; // memanggil fungsi kali_dua(&angka); // mencetak isi variabel // setelah fungsi dipanggil cout << "isi variabel angka = " << angka << endl; return 0; }

Hasilnya:

Fungsi kali_dua() memiliki parameter berupa pointer, artinya kita harus memberikan alamat memori untuk pointer ini.

Pada saat pemanggilan, fungsi kali_dua() kita isi parameternya dengan alamat memori dari variabel angka.

Maka hasilnya nilai variabel angka akan dikalikan dengan 2 berdasarkan rumus pada fungsi yang kita berikan.

Fungsi Rekursif pada C++

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.

Maksudnya?

Biasanya kita memanggil fungsi pada fungsi main atau fungsi yang lainnya. Namun, pada fungsi rekursif…

…fungsi itu akan memanggil dirinya sendiri di dalam tubuh fungsi.

Biar lebih jelas!

Coba perhatikan contoh berikut:

#include <iostream> using namespace std; // deklarasi fungsi int sum(int n); int main(){ int number, result; printf("Enter a positive integer: "); scanf("%d", &number); result = sum(number); printf("sum = %d", result); return 0; } // definisi fungsi int sum(int num){ if (num!=0) return num + sum(num-1); // fungsi sum() memanggil dirinya sendiri else return num; }

Hasilnya:

Mengapa hasilnya bisa 21?

Karena kita menginputkan nilai 6, maka akan sama dengan:

1 + 2 + 3 + 4 + 5 + 6 = 21

Apa Selanjutnya?

Intinya, saat kita membuat program yang besar dan kompleks.. kita harus menggunakan fungsi.

Biar kode program yang kita tulis tidak berantakan dan mudah dibaca.

Selanjutnya cobalah membuat program lebih banyak lagi dengan fungsi di C++.

Jika kamu masih bingung, silahkan tanyakan di kolom komentar.

📖 Untuk daftar tutorial C++ lainnya, lihat di List Tutorial C++

Video yang berhubungan

Postingan terbaru

LIHAT SEMUA