array c++
array c++
MODUL 6
ARRAY
Pada program yang dibahas terdahulu, banyak menggunakan variabel tunggal, artinya
sebuah variabel hanya digunakan untuk menyimpan satu nilai.
Array merupakan koleksi data dimana setiap elemen memakai nama yang sama dan
bertipe sama, setiap elemen diakses dengan membedakan indeks array-nya.
Misal, sebuah array bernama nil yang terdiri dari 5 data dengan tipe int, dapat
digambarkan sebagai berikut:
0 1 2 3 4
nil
int
Tiap ruang kosong merupakan tempat untuk masing-masing elemen array bertipe
integer. Penomorannya berawal dari 0 sampai 4, sebab dalam array indeks pertama
selalu dimulai dengan 0
Deklarasi array
Sama seperti variabel, array harus dideklarasikan dulu sebelum mulai digunakan.
Sintaksnya adalah:
Inisialisasi Array
Nilai suatu variabel array dapat juga diinisialisasi secara langsng pada saat deklarasi,
misalnya: int nil [5] = { 1, 3, 6, 12, 24 };
0 1 2 3 4
nil 1 3 6 12 24
nama [indeks]
Pada contoh diatas, variabel nilai memiliki 5 buah elemen yang masing-masing berisi
data. Pengaksesan tiap-tiap elemen data adalah:
nil[2] = 75;
Atau jika akan memberikan nilai array kepada sebuah variabel a, dapat ditulis:
a=nil[2];
Contoh program:
#include<iostream.h>
#include<conio.h>
int main()
{
int nil[]={16,2,77,40};
int n, hasil = 0;
for (n=0;n<4;n++)
{
hasil +=nil[n];
}
cout<<hasil;
return 0;
}
30
Struktur array yang dibahas diatas, mempunyai satu dimensi, sehingga variabelnya
disebut dengan variabel array berdimensi satu. Pada bagian ini ditunjukkan array
berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matriks B berukuran 2x3 dapat dideklarasikan sebagai berikut:
0 1 2
0 2 4 1
1 3 5 7
#include<iostream.h>
void main()
{
int i,j;
int matriks[2][3]={{2,4,1},{5,3,7}};
for (i=0;i<2;i++)
{
for (j=0;j<3;j++)
{
cout<<matriks[i][j];
}
cout<<endl;
}
}
Mengurutkan data
31
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
void main()
{
clrscr();
cout<<"DATA : "<<endl;
cout<<data[0]<<endl;
maks = data[0]; // isi dengan data pertama
if (data[i]>maks)
{
maks = data[i];
}
}
cout<<"Data terbesar="<<maks<<endl;
}
32
#include<iostream.h>
#include<conio.h>
void main()
{
int i, x, ketemu;
clrscr();
int data[]={5,100,20,31,77,88,99,20,55,1};
ketemu = 0;
for (i=0; i<sizeof(data)/sizeof(int); i++)
{
if (data[i] == x)
{
ketemu=!ketemu; //ubah menjadi benar
break; //keluar dari for
}
}
if (ketemu)
cout<<"Data tersebut ada pada posisi ke-";
cout<<i+1<<endl;
else
cout<<"Data tersebut tidak ada!"<<endl;
}
33
Mengurutkan data
Ada berbagai teknik untuk mengurutkan data, salah satu diantaranya adalah
metoda bubble sort. (metoda ini terkenal karena kesederhanaannya).
Pengurutan dilakukan dengan membandingkan setiap elemen dengan seluruh
elemen yang terletak sesudah posisinya.
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int i, j, tmp, jumdata;
clrscr();
int data[]={5,100,20,31,77,88,99,20,55,1};
jumdata=sizeof(data)/sizeof(int);
//menampilkan data
cout<<"data semula:"<<endl;
for (i=0;i<jumdata;i++)
cout<<setw(4)<<data[i];
cout<<endl;
//mengurutkan data
for (i=0;i<jumdata-1;i++)
for(j=i+1;j<jumdata;j++)
if (data[i]>data[j])
{
tmp=data[i];
data[i]=data[j];
data[j]=tmp;
}
//menampilkan data
cout<<"data setelah diurutkan:"<<endl;
for (i=0;i<jumdata;i++)
cout<<setw(4)<<data[i];
cout<<endl;
}