Cara Mudah Memahami dan Menggunakan Array pada C++

Cara Mudah Memahami dan Menggunakan Array pada C++

Pengertian Array pada C++

Setiap bahasa Pemrograman tingkat tinggi, termasuk C++, memiliki banyak fitur yang sudah built in di dalamnya untuk menyederhanakan pemrograman. array atau larik adalah salah satu fitur yang sudah ada dalam C++ sehingga pengguna tinggal memakainya saja. 
Array adalah kumpulan nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data pada suatu larik disebut elemen-elemen larik. Letak urutan dari suatu larik ditunjukkan oleh suatu subscript atau index. Dalam bentuk yang paling sederhana, larik dapat berupa kumpulan angka, misalnya daftar dari suhu yang dicatat setiap jam pada suatu stasiun pengawas cuaca. Pada kasus ini, semua angka pada daftar menggambarkan tipe yang sama yaitu suhu. 

Jenis Jenis Array

Array Satu Dimensi

Array satu dimensi merupakan array yang terdiri dari n buah kolom atau Array satu dimensi adalah array yang terdiri dari 1 subskrip array saja, setiap elemen array satu dimensi dapat diakses melalui indeks yang terdapat di dalamnya cara Deklarasi Array Satu Dimensi:

data_type  array_name  [num_of_element];

Array Dua Dimensi

Array dua dimensi merupakan array yang terdiri dari n buah baris dan m buah kolom, bentuknya dapat sobat bayangkan seperti matriks atau tabel. dimana indeks pertama menunjukan baris dan indeks kedua menunjukan kolom. Array dua dimensi biasa digunakan untuk pendataan nilai, pendataan penjualan dan lain sebagainya, cara deklarasi array dua dimensi :

data_type  array_name  [num_of_rows][num_of_columns];

Array Multidimensi

Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua dimensi. Bentuk deklarasi array multidimensi serupa dengan deklarasi array satu dimensi maupun dua dimensi. Cara Deklarasi array Multidimensi:

data_type  array_name  [num_start]....[num_end];

Array Satu Dimensi

Untuk mempermudah mempelajari cara pendeklarasian array satu dimensi, perhatikan contoh program berikut: 

#include <iostream>

using namespace std;

int main() {

    int larik1[2];
    double larik2[10];

    larik1[0] = 10;
    larik1[1] = 11;

    larik2[0] = 5.55;
    larik2[1] = 7.2;
    larik2[9] = 8;

    cout << "larik1[0] adalah " << larik1[0]<<endl;
    cout << "larik1[1] adalah " << larik1[1]<<endl;

    cout << "larik2[0] adalah " << larik2[0];
    cout << "larik2[1] adalah " << larik2[1];
    cout << "larik2[9] adalah " << larik2[9];

    return 0;
}
pada contoh diatas terdapat dua buah array dengan nama : 
  • int larik1[2], larik ini memiliki tipe data integer dengan jumlah tiga element.
  • double larik2[10], larik ini memeiliki tipe data double dengan jumlah sebelas element.
jumlah element array berupa index yang diawali dari angka nol berarti jika angka yang berada didalam tanda kurung diisi dengan angka dua berarti array tersebut memiliki 3 elemen bergitu juga dengan contoh kedua jika diisi dengan sepuluh berarti array tersebut memiliki sebelas elemen.

dari contoh diatas juga dapat kita analisis cara mengisi array dan cara memanggil array, cara mengisi array kita perlu menuliskan elemen keberapa yang mau diisi begitu juga dengan cara memanggilnya kita perlu mendefinisikan elemen yang ingin ditampilkan.

Cara memberikan awal pada Array satu dimensi 

Seperti halnya variabel biasa, array juga dapat diberi nilai awal (di inisialiasi) pada saat didefinisikan. contoh : 

int nilai_uas[4]={80,85,90,70}; atau kita juga dapat menulis 
int nilai_uas[]={80,85,90,70}; 

Contoh Aplikasi Array dinamis satu dimensi 

Contoh :1

#include <iostream>

using namespace std;
int main()
  {
    int j, k, data[50];
    float rata,jml;
    
    cout<<"Banyaknya Data = ";
    cin>>k;
    cout<<endl;
    
    for (j=0; j<k; j++)
        {
           cout<<"Data ke-"<<j+1<<" = ";
           cin>>data[j];
           jml += data[j];
        }
        
    rata=jml/k;
        
    cout<<endl;
    cout<<"Total = "<<jml<<endl;
    cout<<"Rata2 = "<<rata<<endl;
  return 0;
  }
  

Contoh :2

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    char nama[10][20], yt; //10 kali pengulangan dan 20 jumlah huruf
    int jumlah;
    float n_kehadiran[10], n_tugas [10], n_uts[10], n_uas[10], n_akhir[10];

    cout << "PROGRAM HITUNG n AKHIR" << endl;
    cout << "MATERI PEMROGRAMAN C++" << endl;
    cout << "-----------------------------------" << endl;
    cout << "Masukkan Jumlah Siswa : ";
    cin >> jumlah; //jumlah untuk pembatasan
    cout << endl;
    for (int i = 1; i <= jumlah; i++) {
        cout << "Mahasiswa Ke - : " << i << endl;
        cout << "Nama Siswa\t : ";
        cin >> nama[i];
        cout << "Nilai Kehadiran\t : ";
        cin >> n_kehadiran[i];
        cout << "Nilai Tugas\t : ";
        cin >> n_tugas[i];
        cout << "Nilai UTS\t: ";
        cin >> n_uts[i];
        cout << "Nilai UAS\t : ";
        cin >> n_uas[i];
        cout << endl << endl;
        n_akhir[i] = (n_kehadiran[i] * 0.2) + (n_tugas[i] * 0.2) + (n_uts[i] * 0.25) + (n_uas[i] * 0.35);
        cout << "DAFTAR NILAI \t\t" << endl;
        cout << "MATERI PEMROGRAMAN C++ \t\t" << endl;
        cout << "==================================================================" << endl;
        cout << "No Nama";
        cout << "==================================================================" << endl;
        cout << " Mahasiswa" << endl;
        cout << "==================================================================" << endl;
        for (int i = 1; i <= jumlah; i++) {
            cout << setiosflags(ios::left) << setw(4) << i;
            cout << setiosflags(ios::left) << setw(24) << nama[i];
            cout << setiosflags(ios::left) << setw(14) << n_kehadiran[i];
            cout << setiosflags(ios::left) << setw(8) << n_tugas[i];
            cout << setiosflags(ios::left) << setw(7) << n_uts[i];
            cout << setiosflags(ios::left) << setw(7) << n_uas[i];
            cout << setiosflags(ios::left) << setw(0) << n_akhir[i] << endl;
        }

    }
}


Array Sebagai Penyimpanan Banyak Data

Setelah kita belajar cara membuat array statis dan dinamis serta cara mengakses atau menampilkan data berikut ini akan diberikan sebuah contoh penggunaan array untuk menampung banyak data :

#include <iostream>

#include <string>

#include <iomanip>

using namespace std;
int main() {

  int jum_beli, bayar, diskon, jumlah[50], harga[50], sub_tot[50];
  string nama_barang[50];
  float tot;

  cout << "APLIKASI PENJUALAN SEDERHANA C++" << endl;
  cout << "================================" << endl;
  cout << endl;
  cout << "Masukan Jumlah Beli : ";
  cin >> jum_beli;

  for (int i = 0; i < jum_beli; i++) {
    cout << endl;
    cout << "Masukan Barang Ke-" << i + 1 << endl;
    cout << endl;

    cout << "Nama Barang : ";
    cin >> nama_barang[i];

    cout << "Jumlah      : ";
    cin >> jumlah[i];

    cout << "Harga       : ";
    cin >> harga[i];

    sub_tot[i] = jumlah[i] * harga[i];
    tot += sub_tot[i];
  }

  cout << endl;
  cout << "STRUK BELANJA MINI MARKET ABC" << endl;
  cout << "---------------------------------------------------------" << endl;
  cout << "No   Barang    Jumlah     Harga     Sub Total" << endl;
  for (int i = 0; i < jum_beli; i++) {
    cout << i + 1 << setw(8) << nama_barang[i] << setw(10) << jumlah[i] << setw(12) << harga[i] << setw(12) << sub_tot[i] << endl;
  }
  cout << "---------------------------------------------------------" << endl;

  if (tot >= 100000) {
    diskon = 0.06 * tot;
  } else if (tot >= 50000) {
    diskon = 0.04;
  } else if (tot >= 25000) {
    diskon = 0.02;
  } else {
    diskon = 0;
  }

  cout << "Jumlah Bayar : Rp." << tot << endl;
  cout << "Dikon        : Rp." << diskon << endl;
  cout << "Total Bayar  : Rp." << tot - diskon << endl;
  cout << "Bayar        : Rp.";
  cin >> bayar;
  cout << "Kembali      : Rp." << (bayar - (tot - diskon)) << endl;

}
Output :
Cara Mudah Memahami dan Menggunakan Array pada C++


Array Dua Dimensi

Array 2 dimensi adalah array yang memiliki lebih 2 bentuk index array. Jika pada array 1 dimensi hanya memiliki satu bentuk index, di array 2 dimensi atau bisa kita sebut array multidimensi memiliki lebih dari satu bentuk index array.

Bentuk Array 2 Dimensi Jika didalam array 1 dimensi hanya menggunakan sebuah tanda [] (bracket) namun pada array 2 dimensi kita membuat 2 tanda [] tersebut. Berikut ini adalah bentuk umum array 2 dimensi 
tipe_data nama_array[jumlah elemen baris][jumlah elemen kolom];

Contoh:
int A[3][4];
Contoh diatas kita mendeklarasikan sebuah variabel array 2 dimensi dengan menggunakan tipe data integer dengan nama A memiliki ukuran 3 jumlah elemen baris dan 4 kolom.

Inisialisasi Nilai Array 2 Dimensi

Inisialisasi nilai array 2 dimensi dapat dibuat dengan cara manual ataupun dapat diinput oleh pengguna saat program dijalankan. Karena array 2 dimensi mempunyai lebih dari satu bentuk index array, maka ketika kita melakukan inisialisasi nilai (secara manual) perlu menggunakan tanda {} untuk membentuk baris array.

int A[3][4]={{3,4,8,0},{3,9,2,1},{6,3,0,2}};

Sebagai contoh jika kita memilii array dengan jumlah elemen baris sebanyak 3 elemen, maka setiap elemen baris tersebut di apit dengan tanda {} dan dipisahkan dengan tanda koma. Didalam elemen baris tersebut baru kemudian kita memasukan nilai sesuai dengan jumlah elemen kolom yang dibuat (dalam hal ini berjumlah 4 kolom).

Karena index array dimulai dari 0 maka setiap elemem baris dan kolom dimulai dari 0. Nilai 3 akan menempati pada baris ke 0 dan kolom ke 0. nilai 4 menempati baris ke 0 kolom ke 1 nilai 8 pada baris ke 0 dan kolom ke 2 dan seterusnya.

Mengakses Nilai Array 2 Dimensi

Mengakses nilai array dapat dilakukan dengan cara manual dimana kita langsung mencetak sesuai dengan index baris dan kolom pada array tersebut. Sebagai contoh jika kita ingin mengakses nilai 1 maka index array yang kita akses adalah A[1][3]; karena 1 berada pada elemen baris ke-1 dan pada kolom ke-3.
#include <iostream>
#include <conio.h>

using namespace std;

int main() {
	
 int A[3][4]={{3,4,8,0},{3,9,2,1},{6,3,0,2}};
	
 for (int b=0;b<3;b++){
  for (int k=0;k<4;k++){
   cout<<A[b][k]<<" ";
  }
  cout << endl;
 }
getch();

}


Pada program diatas kita membuat dua buah perulangan for perulangan yang pertama untuk mengakses elemen BARIS pada array A. kemudian didalam perulangan tersebut kita buat sebuah perulangan lagi untuk mengakses elemen KOLOM pada array A.
Contoh Program Input Nilai dari User
#include <iostream>

#include <conio.h>

using namespace std;

int main() {

  int A[3][4];

  for (int b = 0; b < 3; b++) {
    for (int k = 0; k < 4; k++) {
      cout << "A[" << b << "][" << k << "] = ";
      cin >> A[b][k];
    }
    cout << endl;
  }

  for (int b = 0; b < 3; b++) {
    for (int k = 0; k < 4; k++) {
      cout << A[b][k] << " ";
    }
    cout << endl;
  }
  getch();
}