Menu
CoddyTech

Reference sebagai Parameter

Pelajaran 9 dari 14 dalam kursus Pointer C++ di Coddy.

Sekarang, kita bisa melihat bagaimana penggunaan referensi sebagai argumen saat memanggil fungsi dapat mempermudah pekerjaan. 

Jika kita kembali ke pelajaran tentang meneruskan pointer sebagai parameter, kita telah membahas bahwa saat kita meneruskan nilai ke fungsi, nilai yang kita gunakan di dalam fungsi adalah salinan dari nilai asli yang kita teruskan. 

Kita menggunakan pointer untuk mengatasi masalah ini, tetapi kita tidak perlu menggunakan alamat, dereferensi, pointer, dan sebagainya. Kita cukup menandai parameter yang kita gunakan sebagai referensi, lalu melakukan pekerjaan seperti biasa dengan nilai biasa.

// Daripada seperti ini
void swap(int *x, int *y) {
    int temp = *x;
    *x = *y;
    *y = temp;
    cout << *x << " " << *y << endl;
}

// Kamu bisa melakukannya seperti ini
void swap(int &x, int &y) {
    int temp = x;
    x = y;
    y = temp;
    cout << x << " " << y << endl;
}

Sekarang, jika kita memanggil fungsi swap(), nilai kedua integer yang kita teruskan akan berubah secara permanen. Jadi, alih-alih mengambil alamat memori dari nilai-nilai tersebut lalu mengubah nilainya di alamat memori itu dengan melakukan dereferensi, kita cukup mengambil referensi ke nilai aslinya sebagai argumen dan melakukan pekerjaan pada nilai-nilai tersebut. Karena referensi itu mengacu pada nilai asli, setiap perubahan akan bersifat permanen.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

challenge icon

Tantangan

Mudah

Selesaikan fungsi Calculator  dari dua pelajaran sebelumnya, tetapi gunakan reference ke nilai variabel large dan small, bukan pointer. Di dalam fungsi, kurangi large dengan selisih antara large dan small, lalu tambahkan small ke dirinya sendiri.

input
5 3

output
5 3
3 6

Penjelasan
Mengurangi 5 dengan selisih antara 5 dan 3, yaitu 2, menghasilkan 5 - 2 = 3, sedangkan menambahkan 3 ke 3 menghasilkan 6

Catatan: JANGAN tulis fungsi main()

Coba sendiri

#include <iostream>

using namespace std;

void Calculator(// Terima argumen: large & small sebagai referensi) {
    // Tulis kode untuk perhitungan
}


// JANGAN tulis fungsi main()

Semua pelajaran di Pointer C++

Latihan sendiri: Compiler C++ online