Array dalam C++, Lengkap Contoh Program dan Pembahasan Detail

Array adalah sekumpulan elemen dengan tipe data yang sama yang ditempatkan pada suatu lokasi memory yang berdekatan. Dengan kata lain, array dapat digunakan untuk menyimpan banyak nilai denga tipe data yang sama dalam sebuah variabel. Setiap elemen di dalam array tersebut dapat diakses secara acak menggunakan indeks array.

Pengantar

Jika anda diminta untuk membuat sebuah program sederhana untuk menyimpan dan menampilkan nama 30 orang teman anda, apa yang akan anda lakukan?

Hal yang paling mungkin akan anda lakukan adalah menyimpan setiap nama pada sebuah variabel. Sehingga jika terdapat 30 nama maka anda akan mendeklarasikan 30 variabel dengan tipe data yang sama. Hal ini tentunya cukup melelahkan dan tidak efektif.

Oleh karena itu kita membutuhkan array untuk menyelesaikan masalah di atas.

Array C++

Agar dapat mudah untuk memahami penjelasan mengenai array pada bagian berikutnya, perlu diketahui beberapa istilah berkaitan dengan array berikut ini:

  • Indeks merupakan angka yang menunjukkan posisi atau tempat suatu nilai pada array. Pada C++, array dimulai dari indeks-0.
  • Elemen adalah bagian yang menyusun array dimana setiap elemen ini diakses menggunakan indeks array.
  • Panjang array adalah banyaknya elemen dari suatu array.

Lebih jelasnya coba perhatikan gambar 1 berikut ini:

Gambar 1. Ilustrasi array

Pada gambar 1 dapat kita lihat terdapat sebuah array dengan 6 elemen, dimulai dari indeks 0 hingga indeks 5. Elemen pertama adalah 10, elemen kedua adalah 5, hingga elemen kelima adalah 18. Untuk mengakses nilai dari elemen pada array digunakan indeks array. Misalnya indeks 1 berisi nilai 5. Indeks pada array C++ selalu dimulai dari 0.


Pendeklarasian Array

Sebuah array harus dideklarasikan terlebih dahulu sebelum dapat digunakan. Pemberian nama variabel array pun memiliki syarat yang sama seperti variabel biasa. Hanya saja yang membedakan adalah terdapat kurung siku “[ ]” untuk mendeklarasikan panjang array. Terdapat beberapa cara untuk mendekalarasikan sebuah array. Berikut penjelasannya:

Cara 1

Adapun sintaks pendeklarasian array secara umum dapat dilihat pada gambar 2 berikut.

Gambar 2. Sintaks pendeklarasian array

Keterangan:

  • tipe_data : isi dengan tipe data yang ingin digunakan. tipe data berlaku untuk semua elemen array. Jika mendeklarasikan int, maka data yang diperbolehkan masuk ke dalam array hanya data bertipe integer.
  • nama_array : isi dengan nama array yang diinginkan. Sayarat nama array sama dengan syarat pemberian nama pada variabel biasa.
  • elemen : isi elemen dengan banyaknya elemen yang akan ditampung oleh array

Sebagai contoh, terdapat pendeklarasian array seperti terlihat pada potongan perintah berikut ini:

int usia [5];

perintah di atas jika diilustrasikan secara visual, dapat dilihat pada gambar 3 berikut ini:

Gambar 3. Ilustrasi pendeklarasian sebuah array

Berdasarkan kode dan gambar 3 di atas, dapat diketahui bahwa telah dideklarasikan sebuah variabel array dengan nama usia yang dapat menampung 5 nilai berbeda tetapi dengan tipe data yangs sama yaitu integer. Namun, array usia hanya sekedar dideklarasikan tanpa menginisialisasikan nilai ke dalam indeks array. Sehingga, array usia tidak memiliki nilai apa-apa hingga diisi dengan sebuah nilai.

Cara 2

Selain cara pertama di atas, kita juga dapat mendeklarasikan sebuah array disertai dengan penginisialisasian nilainya secara langsung. Pendeklarasian tidak memerlukan penentuan panjang array secara langsung. Compiler akan menyesuaikan panjang array dengan banyaknya elemen yang diinisialisasikan. Perhatikan gambar 4 berikut:

Gambar 4. Sintaks pendeklarasian array dengan inisialisasi nilai awal tanpa pendefenisian panjang array secara langsung

Sebagai contoh, sesuai dengan sintaks pada gambar 4, terdapat pendeklarasian array seperti terlihat berikut ini:

int usia [] = {15, 20, 21};

Kode di atas jika diilustrasikan secara visual dapat dilihat pada gambar 5 berikut ini.

Gambar 5. Contoh penerapan pendeklarasian array dengan panjang array berdasarkan nilai yang diinisialisasikan.

Berdasarkan kode dan gambar 5 di atas, dapat diketahui bahwa telah dideklarasikan sebuah variabel array dengan nama usia bertipe integer tanpa pendefenisian panjang array secara langsung. Hal tersebut terlihat pada bagian kurung siku yang kosong “[ ]“. Ukuran array ditentukan berdasarkan jumlah nilai yang diinisialisasikan di antara kurung kurawal “{ }“. Pada kode terlihat diinisialisasikan 3 buah nilai yang dipisahkan dengan tanda baca koma yakni 15, 20, dan 21. Karena terdapat 3 nilai yang diinisialisasikan maka ukuran array usia akan menyesuaikan menjadi 3 elemen.

Cara 3

Selain kedua cara sebelumnya, berikut ini adalah cara terakhir mendeklarasikan sebuah array. Perbedaan cara berikut ini dengan cara kedua hanya pada bagian pendefenisian panjang arraynya. Jika pada cara kedua panjang array dikosongkan, maka pada cara ini panjang array ikut ditentukan bersamaan dengan penginisialisasian nilai arraynya. Perhatikan gambar 6 berikut:

Gambar 6. Sintaks pendeklarasian array dengan inisialisasi nilai awal disertai pendefenisian panjang array.

Sebagai contoh, sesuai dengan sintaks pada gambar 6. Terdapat pendeklarasian array seperti terlihat berikut ini:

char nilaiMK [3] = {'A', 'B', 'C'};

Kode di atas jika diilustrasikan secara visual dapat dilihat pada gambar 7 berikut ini.

Gambar 7. Contoh penerapan pendeklarasian array dengan pendefenisian panjang array dan inisialisasi nilai secara langsung.

Berdasarkan contoh pada kode dan gambar 7 yang diberikan, dapat diketahui bahwa telah dideklarasikan sebuah variabel array bernama nilaiMK bertipe char dengan panjang array 3 elemen. Pada pendeklarasiannya, nilai ketiga elemen yang dimaksud juga langsung diinisialisasikan. Dapat kita lihat nilai yang dimasukkan diapit dengan tanda petik satu “'” yang menandakan bahwa nilai tersebut berupa karakter sesuai dengan tipe data dari variabel array yang dideklarasikan.


Pengaksesan Array

Dalam pembuatan program tentunya kita tidak hanya ingin sekedar mendeklarasikan dan menginisialisasi nilai dari sebuah array. Kita tentu juga ingin memodifikasi nilainya sesuai dengan kebutuhan dari program yang akan kita buat. Di setiap titik program di mana array dapat diakses, kita dapat mengakses nilai setiap elemennya satu-persatu. Seolah-olah itu adalah variabel biasa, sehingga kita dapat membaca dan memodifikasi nilainya.

Mengakses Elemen Array

Sintaks untuk mengakses elemen tertentu dari suatu array dapat dilihat pada gambar 8 berikut:

Gambar 8. Sintaks untuk mengakses elemen array tertentu beradasrkan indeksnya.

Sebagai contoh, sesuai dengan sintaks pada gambar 8. Anggaplah terdapat sebuah variabel bernama usia yang menampung 3 nilai integer yaitu 15, 20, dan 21. Maka untuk mengakses elemen pada indeks 1 untuk dicopy (masukkan) ke variabel a, kita dapat menuliskan perintah seperti berikut ini:

int a = usia[1];

Kode di atas jika diilustrasikan secara visual dapat dilihat pada gambar 9 berikut ini:

Gambar 9. Contoh mengcopy nilai elemen array ke variabel lain.

Pada gambar 9 dapat kita lihat bahwa elemen kedua dari variabel array usia diakses dengan menggunakan perintah “usia[1]”. Kemudian nilai yang diperoleh dari pengaksesan array tersebut ditugaskan untuk masuk ke dalam variabel a. Sehingga, jika keseluruhan perintah int a = usia[1]; dieksekusi, hal tersebut mengakibatkan variabel a juga berisi nilai 20.

Menugaskan Nilai ke Indeks Tertentu pada Array

Selain mengakses atau mendapatkan nilai dari indeks tertentu pada suatu array, kita juga mungkin ingin mengubah nilai suatu array. Kemungkinan kita akan dihadapkan pada kondisi dimana suatu nilai array pada indeks tertentu harus diubah di tengah jalan. Hal tersebut bisa juga dilakukan. Perhatikan sintaks pada gambar 10 berikut:

Gambar 10. Sintaks mengubah nilai elemen tertentu pada variabel array.

Sebagai contoh, sesuai dengan sintaks pada gambar 10. Anggaplah terdapat sebuah variabel bernama usia yang menampung 3 nilai integer yaitu 15, 20, dan 21. Kemudian kita ingin mengubah nilai indeks 1 dari variabel tersebut menjadi 100. Maka untuk mengubahnya, kita dapat menuliskan kode perintah seperti berikut ini:

usia[1] = 100;

Perintah di atas jika diilustrasikan secara visual dapat dilihat pada gambar 11 berikut ini:

Gambar 11. Contoh mengubah nilai elemen tertentu pada array berdasarkan indeksnya.

Berdasarkan kode dan gambar 11 di atas, kita dapat mengetahui bahwa perintah usia [1] = 100; mengubah nilai indeks 1 dari array. Nilai elemen kedua atau indeks 1 dari variabel array usia sebelumnya bernilai 20. Namun, karena kita mengeksekusi perintah usia [1] = 100;, maka nilai indeks 1 berubah menjadi 100.


Contoh Program Array Sederhana

Contoh 1

Sampai di sini anda telah mengetahui beberapa teknik pendeklarasian array serta bagaimana mengakses elemen sebuah array. Untuk lebih memahami penggunaannya berikut contoh program sederhana penggunaan array.

#include <iostream>
using namespace std;

int main()
{
    int nilai[5];
    nilai[0] = 6;
    nilai[4] = -2;

    // sama dengan nilai[1] = 2
    
    nilai[3 / 2] = 2;
    nilai[2] = nilai[0];

    // sama dengan nilai[3] = 2 + 6

    nilai[3] = nilai[1] + nilai[2];

    cout <<"Elemen array nilai adalah sebagai berikut:"<< endl;
    cout << nilai[0] << " " << nilai[1]
    << " " << nilai[2] << " " << nilai[3] << " " << nilai[4];

    return 0;
}

Output

Elemen array nilai adalah sebagai berikut:
6 2 6 8 -2

Pada program sederhana (contoh 1) di atas, pada baris 6 di dalam fungsi main(), dideklarasikan sebuah variabel array. Variabel yang dideklarasikan menggunakan perintah int nilai [5]; tersebut, bernama nilai bertipe integer dengan panjang 5 elemen.

Pada perintah nilai[0] = 6; di baris 7 dan nilai[4] = -2; di baris 8, indeks 0 dan 4 pada variabel array nilai secara berturut-turut diisi dengan nilai 6 dan -2. Pada perintah nilai[3 / 2] = 2; di baris 12, nilai 2 ditugaskan ke dalam indeks 1 dari array nilai. Ditugaskan ke indeks 1 karena nilai[3 / 2] sama dengan nilai[1] (1.5 dibulatkan kebawah oleh compiler menjadi 1).

Pada perintah nilai[2] = nilai[0]; di baris 13, nilai dari indeks 0 variabel array nilai dicopy ke indeks 2. Sehingga indeks 2 memiliki nilai yang sama dengan isi dari indeks 0. Disini terjadi proses pengambilan elemen array sekaligus penugasan nilai ke dalam indeks tertentu.

Pada perintah nilai[3] = nilai[1] + nilai[2]; di baris 17, indeks 3 dari array nilai diisi dengan 8. 8 diperoleh dari penjumlahan isi dari indeks 1 dan 2 dari variabel array nilai.

Isi dari indeks 1 hingga 4 dari variabel array nilai kemudian ditampilkan dengan menggunakan perintah pada baris 20 yaitu cout << nilai[0] << " " << nilai[1] << " " << nilai[2] << " " << nilai[3] << " " << nilai[4];

Contoh 2

Pada contoh berikut ini kita akan mencoba untuk menampilkan isi dari suatu variabel array dengan menggunakan bantuan for loop.

#include <iostream>
using namespace std;

int main()
{
    int nilaiTugas[5]={75, 80, 90, 100, 95};
    for(int i = 0; i<5; i++){
        cout<<"Nilai tugas-"<<i+1<<" adalah "<< nilaiTugas[i]<<endl;
    }

    return 0;
}

Output:

Nilai tugas-1 adalah 75
Nilai tugas-2 adalah 80
Nilai tugas-3 adalah 90
Nilai tugas-4 adalah 100
Nilai tugas-5 adalah 95

Pada contoh program kedua di atas, pada baris 6 dideklarasikan sebuah array. Array tersebut bernama nilaiTugas, bertipe integer dengan panjang 5 elemen dengan nilai 75, 80, 90, 100, 95. Kemudian, nilai dari setiap elemen array tersebut ditampilkan dengan menggunakan for loop. Indeks yang diakses pertama kali adalah indeks 0. Sesuai dengan counter i yang diinisialisasikan dengan nilai 0. Nilai i akan bertambah 1 di setiap perulangan dan akan berhenti pada saat nilai i sudah sama dengan 5. Disetiap perulangannya akan dieksekusi perintah pada baris 8. Sehingga setiap nilai dari indeks 0 hingga 4 akan ditampilkan secara berturut-turut.


Semoga dapat menambah wawasan teman-teman yang masih baru dalam dunia pemrograman. Semoga bermanfaat.

Jika ingin mendengarkan penjelasan secara lisan, jangan sungkan untuk mengunjungi channel youtube kami “PAKKODING“.

Oh iya, share halaman ini agar orang-orang yang baru belajar pemrograman dapat terbantu.

 8,645 total views,  13 views today

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *