Array adalah sekumpulan data bertipe sama dengan menggunakan nama yang sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara variabel satu dengan yang lainnya dalam array dibedakan dengan subscript. Sebuah subscript berupa bilangan di antara tanda kurung siku. Dengan subscript inilah masing-masing variabel dalam arrray dapat diakses.
Array dapat dibedakan menjadi: Array berdimensi satu Array berdimensi dua Array berdimensi tiga
Array berdimensi satu. 1 2 3 4 5 6 7 Elemen-elemen array 1 2 3 4 5 6 7 Subscript / indeks array Elemen-elemen array
Mendefinisikan array Misalnya ingin dibuat array bertipe float dengan nama suhu dan memiliki lima elemen array, maka ditulis: float suhu[5]; jumlah elemen array nama array tipe elemen array
Mengakses elemen array Setelah array didefenisikan, elemen array dapat diakses dengan bentuk: nama_array[subscript] contoh: suhu[2] atau dalam bentuk yang lebih umum: suhu[i]
#include <iostream.h> #include <conio.h> void main() { float suhu(5); float total; cout<<“Masukkan data suhu”<<endl; for (int i=0;i<5;i++) { cout<< i+1 <<“ : “; cin>>suhu[i]; } total = 0; for (i=0;i<5;i++) total+=suhu[i]; cout<<“rata-rata = “<<total / 5; Masukkan data suhu 1 : 27.5 2 : 28 3 : 27.5 4 : 30.5 5 : 27 rata-rata = 28.1
Memberikan nilai awal array. Seperti variabel biasa, array juga dapat diberi nilai awal (inisialisasi) pada saat pendeklarasian. Contoh: int jum_hari[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; Jika ingin memberikan nilai 0 ke semua elemen array, cukup ditulis: int nilai = { 0 };
Array dimensi dua dipakai untuk banyak keperluan. Contoh: Array Berdimensi Dua. Array dimensi dua dipakai untuk banyak keperluan. Contoh: Contoh di atas merupakan data kelulusan dari sebuah perguruan tinggi. Data tersebut akan dibuatkan array dua dimensi. Jurusan 1992 1993 1994 1995 Teknik Informatika 35 45 80 120 Sistem Informasi 100 110 70 101 Teknik Komputer 10 15 20 17
Bentuk pendeklarasiannya: int data_lulus[3][4]; 3 menyatakan jumlah baris (mewakili jurusan) 4 menyatakan tahun kolom (mewakili tahun kelulusan) Bentuk array di atas adalah sebagai berikut:
int data_lulus[3][4] TI 0 MI 1 TK 2 0 1 2 3 subscript pertama 0 1 2 3 TI 0 MI 1 TK 2 subscript kedua
Cara pengaksesan array dimensi dua. Cara pengaksesan elemen array digunakan dua subcript sebagai berikut: nama_array[subscript_baris][subscript_kolom];
#include <iostream.h> void main() { int tahun, jur; int lulus[3][4]; for (jur=0;jur<3;jur++) { for (tahun=0;tahun<4;tahun++) { cout<<“Jurusan ke-”<<jur<<“, tahun ke-”<<tahun<<“:”; cin>>lulus[jur][tahun]; } cout<<“ 1992 1993 1994 1995 \n” { cout<<“Jurusan ke-”<<jur+1; for(tahun=0;tahun<4;tahun++) cout<<lulus[jur][tahun] cout<<endl;
Operasi dengan array Memperoleh bilangan terbesar Mencari suatu data Mengurutkan data
Memperoleh bilangan terbesar. Untuk memperoleh bilangan terbesar, elemen array dibaca satu persatu sambil dibandingkan dengan elemen terbesar sebelumnya. Jika elemen yang dibaca lebih besar maka elemen tersebut menjadi elemen terbesar.
#include <iostream.h> void main() { const maks=20; int data[maks],MAKS; cout<<“Input elemen array \n”; for (int i=0;i<maks;i++) { cout<<“Elemen ke-”<<i+1<<“ = “; cin>>data[i]; } MAKS = data[0]; for (i=1;i<maks;i++) if (data[i]>MAKS) MAKS=data[i]; cout<<“Data terbesar adalah “<<MAKS;
2. Mencari suatu data. Untuk mencari data dalam array adalah dengan cara membaca satu persatu elemen array dari awal sampai akhir sambil dibandingkan dengan data yang dicari. Jika data sama berarti data yang dicari diketemukan dan mencarian dihentikan.
#include <iostream.h> void main() { const maks=20; int data[maks],cari,ketemu; cout<<“Input elemen array \n”; for (int i=0;i<maks;i++) { cout<<“Elemen ke-”<<i+1<<“ = “; cin>>data[i]; } ketemu=0; cout<<“Data yang dicari = “;cin>>cari; for (i=0;i<maks;i++) if (cari = data[i]) { ketemu=1; break; if(ketemu) cout<<“Data ditemukan pada array ke-”<<i; else cout<<“Data tidak ditemukan!”;
3. Mengurutkan data. Ada banyak teknik untuk mengurutkan data. Salah satunya yang terkenal adalah bubble sort karena kesederhanaannya. Pengurutan dilakukan dengan membandingkan setiap elemen dengan seluruh elemen yang terletak sesudah posisinya.
#include <iostream.h> #include <iomanip.h> const maks=20; void urutkan(); void main() {int data[maks],cari,ketemu; cout<<“Input elemen array \n”; for (int i=0;i<maks;i++) { cout<<“Elemen ke-”<<i+1<<“ = “;cin>>data[i]; } cout<<“Data sebelum diurutkan : “; for (i=0;i<maks;i++) cout<<setw(4)<<data[i]; urutkan(); cout<<“Data setelah diurutkan : “; }
void urutkan() { int tmp; for (int i=0;i<maks-1;i++) for (int j=i+1;j<maks;j++) if (data[i] > data[j]) { tmp = data[i]; data[i] = data[j]; data[j] = temp }