C++ Array Parameter

6 min read Jul 05, 2024
C++ Array Parameter

C++ Array Parameter: Menguasai Cara Mengirim dan Menerima Array sebagai Parameter Fungsi

Dalam pemrograman C++, array merupakan struktur data yang vital. Seringkali, kita perlu mengirim atau menerima array sebagai parameter dalam sebuah fungsi. Pemahaman mengenai cara kerja array parameter sangatlah penting untuk membangun program yang efisien dan terstruktur.

1. Mengapa Menggunakan Array Parameter?

  • Modularitas: Memisahkan tugas-tugas kompleks ke dalam fungsi-fungsi yang lebih kecil.
  • Reusability: Fungsi dengan array parameter dapat digunakan kembali untuk berbagai jenis data.
  • Efisiensi: Meminimalisasi duplikasi kode dengan menggunakan fungsi yang sama untuk mengolah array.

2. Cara Mengirim Array sebagai Parameter Fungsi

C++ tidak mendukung pengiriman array secara langsung sebagai parameter. Sebagai gantinya, kita menggunakan pointer untuk merepresentasikan alamat awal array.

Sintaks:

void fungsi(int arr[], int ukuran);
  • arr[]: Parameter array yang akan diterima oleh fungsi.
  • ukuran: Parameter integer yang mendefinisikan ukuran array.

Contoh:

#include 

void cetakArray(int arr[], int ukuran) {
  for (int i = 0; i < ukuran; i++) {
    std::cout << arr[i] << " ";
  }
  std::cout << std::endl;
}

int main() {
  int angka[] = {1, 2, 3, 4, 5};
  int ukuran = sizeof(angka) / sizeof(angka[0]);

  cetakArray(angka, ukuran);

  return 0;
}

Penjelasan:

  • Fungsi cetakArray menerima array arr dan ukurannya.
  • Dalam main(), array angka dikirim sebagai parameter.
  • Fungsi cetakArray mencetak isi array.

3. Modifikasi Array di Dalam Fungsi

Penting untuk diingat bahwa modifikasi array di dalam fungsi akan mempengaruhi array asli. Hal ini karena pointer menunjuk ke alamat memori yang sama.

Contoh:

#include 

void tambahSatu(int arr[], int ukuran) {
  for (int i = 0; i < ukuran; i++) {
    arr[i]++;
  }
}

int main() {
  int angka[] = {1, 2, 3, 4, 5};
  int ukuran = sizeof(angka) / sizeof(angka[0]);

  tambahSatu(angka, ukuran);

  for (int i = 0; i < ukuran; i++) {
    std::cout << angka[i] << " ";
  }
  std::cout << std::endl;

  return 0;
}

Penjelasan:

  • Fungsi tambahSatu menambahkan 1 ke setiap elemen array.
  • Array angka di main() dimodifikasi secara langsung.

4. Menggunakan Array Parameter dengan Fungsi sizeof

sizeof tidak bisa digunakan secara langsung untuk mendapatkan ukuran array yang dikirim sebagai parameter. Hal ini karena parameter array sebenarnya adalah pointer, bukan array.

Contoh:

#include 

void fungsi(int arr[], int ukuran) {
  // sizeof(arr) akan mengembalikan ukuran pointer, bukan array.
  std::cout << "Ukuran array: " << ukuran << std::endl;
}

int main() {
  int angka[] = {1, 2, 3, 4, 5};
  int ukuran = sizeof(angka) / sizeof(angka[0]);

  fungsi(angka, ukuran);

  return 0;
}

5. Mengirim Array sebagai Parameter Konstan

Untuk mencegah modifikasi array di dalam fungsi, kita dapat menggunakan konstanta pada parameter.

Sintaks:

void fungsi(const int arr[], int ukuran);

Contoh:

#include 

void cetakArray(const int arr[], int ukuran) {
  for (int i = 0; i < ukuran; i++) {
    std::cout << arr[i] << " ";
  }
  std::cout << std::endl;
}

int main() {
  int angka[] = {1, 2, 3, 4, 5};
  int ukuran = sizeof(angka) / sizeof(angka[0]);

  cetakArray(angka, ukuran);

  return 0;
}

Penjelasan:

  • Fungsi cetakArray tidak dapat memodifikasi array arr karena const pada parameter.

6. Menggunakan Referensi

Alternatif lain untuk mengirimkan array sebagai parameter adalah menggunakan referensi. Referensi memungkinkan fungsi untuk mengakses dan memodifikasi array asli tanpa menyalinnya.

Sintaks:

void fungsi(int& arr[], int ukuran);

Contoh:

#include 

void tambahSatu(int& arr[], int ukuran) {
  for (int i = 0; i < ukuran; i++) {
    arr[i]++;
  }
}

int main() {
  int angka[] = {1, 2, 3, 4, 5};
  int ukuran = sizeof(angka) / sizeof(angka[0]);

  tambahSatu(angka, ukuran);

  for (int i = 0; i < ukuran; i++) {
    std::cout << angka[i] << " ";
  }
  std::cout << std::endl;

  return 0;
}

Penjelasan:

  • Fungsi tambahSatu menerima referensi ke array arr.
  • Modifikasi pada arr di dalam fungsi akan mempengaruhi array asli.

7. Kesimpulan

Memahami cara mengirim dan menerima array sebagai parameter fungsi adalah keterampilan penting dalam pemrograman C++. Dengan menggunakan pointer, konstanta, dan referensi, Anda dapat mengelola array secara efisien dan terstruktur dalam program Anda.