1 Apa Itu Array
1 Apa Itu Array
Secara pengertian: Array atau larik (dalam Bahasa Indonesia) adalah sebuah tipe data
bentukan yang terdiri dari sejumlah komponen dengan tipe yang sama.
Mari kita bayangkan bahwa array merupakan sebuah hotel yang memiliki beberapa kamar.
Kemudian setiap kamar dikenal dengan index atau urutan angka.
Intinya adalah: kita akan menyiapkan kamar dalam hotel dengan nomor index 0-sekian.
Untuk penggunaanya sendiri pengunjung dibagi berdasarkan nomor kamar hotel.
Jika kita lihat lagi masalah diatas, kita tidak lagi membutuhkan banyak variabel untuk
menyiman data yang sama. Namun kita hanya membutuhkan satu variabel saja.
tipedata [totalindex];
//atau
Jadi, ada dua cara mendeklarasikan sebuah array berdimensi satu cara pertama cukup dengan
menggunakan tipe data dan total index yang diinginkan, contoh:
int umur[5];
Artinya, anda menyediakan varibel array bernama umur dengan tipe data integer yang
mampu menampung 5 data yang sama mulai dari index 0 - 4.
Kemudian untuk mengisi nilai untuk tiap index pada array dengan cara:
umur[0] = 18;
umur[1] = 19;
umur[2] = 20;
umur[3] = 21;
umur[4] = 22;
Cara kedua, anda bisa langsung memberi nilai untuk tiap index pada saat pendeklarasian
array. Contoh kodenya sebagai berikut:
Untuk penerapan array dalam program biasanya dipadukan dengan perulangan for, while-do,
dan do-while. Pilih salah satu namun yang paling umum adalah for.
#include <iostream>
using namespace std;
int main ()
{
for ( n=0 ; n<5 ; ++n )
{
hasil+= umur[n];
}
cout << hasil;
return 0;
}
Dalam program diatas, saya ingin menjumlahkan nilai dari tiap index umur dan hasilnya saya
simpan kedalam variabel hasil untuk ditampilkan di akhir program.
tipedata [totalbaris][totalkolom];
Catatan: anda akan menggunakan looping bersarang untuk mengakses array dua dimensi
(array dua dimensi seperti sebuah tabel dengan baris dan kolom).
Berikut ini merupakan contoh program sederhana array 2 dimensi pada c++:
#include <iostream>
using namespace std;
int x,y;
int tabel[3][5] = {
{1, 2, 3, 4, 5},
{2, 4, 6, 8, 10},
{3, 6, 9, 12, 15}
};
int main ()
{
for (x=0; x<3; x++)
for (y=0; y<5; y++)
{
cout << tabel[x][y] << " ";
}
cout << "\n";
}
Lalu kita mendeklarasikan varibel tabel dengan tipe array dua dimensi (jumlah baris = 3,
jumlah kolom = 5). Selain itu, kita langsung melakukan inisialisasi pada array tersebut.
Kemudian dalam program utama kita menggunakan nested loop dengan fungsi for untuk
mengakses baris dan kolom secara otomatis supaya dapat mencetak isi array tabel.
Macam – macam array dapat dibedakan menjadi :
void main() {
float nilai1, nilai2, nilai3, nilai4, nilai5;
float jumlah, rata2;
cout<<“Program Menghitung Nilai Rata-rata”<<endl;
cout<<“Masukkan nilai ke 1 : “;
cin>>nilai1;
cout<<“Masukkan nilai ke 2 : “;
cin>>nilai2;
cout<<“Masukkan nilai ke 3 : “;
cin>>nilai3;
cout<<“Masukkan nilai ke 4 : “;
cin>>nilai4;
cout<<“Masukkan nilai ke 5 : “;
cin>>nilai5;
jumlah = nilai1 + nilai2 + nilai3 + nilai4 + nilai5;
rata2 = jumlah / 5;
cout<<“Nilai rata-rata adalah “<<rata2<<endl;
getch();
}
Pada program di ATAS kita memerlukan 5 buah variabel yang berbeda-beda untuk
menyimpan 5 buah nilai. Bisa dibayangkan kesulitan yang dihadapi jika kita harus
memproses data yang lebih banyak.
Jadi Untuk lebih mudahnya kita dapat menggunakan array, seperti pada program berikut :
void main()
{
float nilai[5];
float jumlah, rata2;
cout<<“Program Menghitung Nilai Rata-rata”<<endl;
for(int i=0; i<5; i++)
{
cout<<“Masukkan nilai ke “<<(i+1)<<” : “;
cin>>nilai[i];
}
jumlah = 0;
for(int i=0; i<5; i++)
{
jumlah = jumlah + nilai[i];
}
rata2 = jumlah / 5;
cout<<“Nilai rata-rata adalah “<<rata2<<endl;
getch();
}
Untuk tipe data huruf, terdapat beberapa versi. tergantung tipe data yang kita pilih. Disini saya akan
memberi contoh dengan dua macam tipe data yaitu char dan string. Karena kedua tipe data ini
sekilas sama yaitu menyimpan nilai huruf. Namun ternyata terdapat perbedaan yang signifikan. Oke
berikut ini merupakan contoh program array 1 dimensi dengan tipe data huruf :
Mendeklarasikan array
char huruf[6]={'c','o','n','t','o','h'};
string huruf2[2]{"Tutor-All Programming","Tutorial Bahasa Pemrograman"};
Pada program diatas, kita membuat 2 buah array yang mana yang satu berupa string dan satunya
berupa char. Kita bisa melihat terdapat perbedaan dari program diatas dimana char hanya
memberikan satu huruf di tiap index sementara string dapat menampung banyak huruf dalam satu
index.
cout<<"Menampilkan Char"<<endl;
for(int i = 0; i<=6; i++){
cout<<"Huruf ke-"<<i<<" adalah :"<<huruf[i];
cout<<endl;
}
Untuk menampilkan char, sama dengan menampilkan integer dimana kita menampilkan huruf sesuai
dengan index yang sudah ditentukan. Program diatas adalah contoh program untuk menampilkan
array char menggunakan perulangan. Jika tidak menggunakan perulangan, caranya sama dengan
integer. Disini hanya berbeda tipe data saja.
cout<<"Menampilkan String"<<endl;
for(int i = 0; i<=1; i++){
cout<<"["<<i<<"] :"<<huruf2[i];
cout<<endl;
}
Berbeda dengan char. Pada tipe string, kita menampilkan banyak huruf atau kalimat yang nantinya
kita tampilkan. Memang untuk cara menampilkan sama dengan cara menampilkan char. Namun
perbedaannya adalah data yang ditampilkan dan tipe data yang akan ditampilkan menggunakan
perulangan tersebut.
Tampilan program keseluruhan
#include <iostream>
#include <string>
int main(){
//Mendeklarasikan array
char huruf[6]={'c','o','n','t','o','h'};
string huruf2[2]{"Tutor-All Programming","Tutorial Bahasa Pemrograman"};
cout<<endl;
cout<<"Menampilkan String"<<endl;
for(int i = 0; i<=1; i++){
cout<<"["<<i<<"] :"<<huruf2[i];
cout<<endl;
}
Program diatas adalaha contoh program keseluruhan dari menampilkan data array 1 dimensi
menggunakan tipe data huruf. Dari penggalan - penggalan program sebelumnya, jika digabungkan
menjadi satu maka program diataslah hasilnya.
#include <iostream.h>
#include <conio.h>
int main()
{
int Nilai[4][3];
int pilih, i;
// memasukkan data ke dalam array berdimensi dua
Nilai[0][0] = 5; // nilai Nobita minggu ke 1
Nilai[0][1] = 3; // nilai Nobita minggu ke 2
Nilai[0][2] = 2; // nilai Nobita minggu ke 3
Nilai[1][0] = 72; // nilai Suneo minggu ke 1
Nilai[1][1] = 88; // nilai Suneo minggu ke 2
Nilai[1][2] = 60; // nilai Suneo minggu ke 3
Nilai[2][0] = 90; // nilai Shizuka minggu ke 1
Nilai[2][1] = 100; // nilai Shizuka minggu ke 2
Nilai[2][2] = 85; // nilai Shizuka minggu ke 3
Nilai[3][0] = 55; // nilai Giant minggu ke 1
Nilai[3][1] = 76; // nilai Giant minggu ke 2
Nilai[3][2] = 46; // nilai Giant minggu ke 3
// menampilkan nilai
while (1)
{
cout << “(0 = Nobita, 1 = Suneo, 2 = Shizuka, 3 = Giant)\n”;
cout << “Nama Siswa (masukkan kode angka) : “; cin >> pilih;
if ((pilih == 0) || (pilih == 1) || (pilih == 2) || (pilih == 3))
break; //keluar dari loop-while
}
cout << “\nNama Siswa : “;
if (pilih == 0) cout << “Nobita\n”;
if (pilih == 1) cout << “Suneo\n”;
if (pilih == 2) cout << “Shizuka\n”;
if (pilih == 3) cout << “Giant\n”;
for (i = 0; i < 3 ; i++)
{
cout << “Minggu ” << i+1 << ” : ” << Nilai[pilih][i] << “\n”;
}
getch();
return 0;
}
Bentuk tabel diatas dapat dituangkan dalam bentuk array berdimensi dua dengan
pendefinisian sebagai berikut :
Contoh pengaksesan :
data_lulus[1][2] = 5;
Artinya, memberikan nilai 5 ke baris 1 kolom 2 (baris dan kolom dimulai dari 0).
cout<<data_lulus[1][2];
Artinya, menampilkan elemen data_lulus dengan subscript pertama (baris) berupa 1 dan
subscript kedua (kolom) berupa 2.
Output Data
(0 = Nobita, 1 = Suneo, 2 = Shizuka, 3 = Giant)
Nama Siswa (masukkan kode angka) : 2