Definisi Array
Array adalah suatu
tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang
jumlahnya tetap dan diberi suatu nama tertentu.
Elemen-elemen array
tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang
berdekatan.
Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
Elemen-elemen array
bertipe data sama tapi bisa bernilai sama atau berbeda-beda.
Macam – Macam Array
Array dapat dibedakan
menjadi :
– Array berdimensi satu
– Array berdimensi dua
– Array berdimensi banyak
Array berdimensi
Satu
Mendefinisikan
array meliputi :
– Tipe data elemen array
– Nama array
– Jumlah elemen array
tipe_data
nama_var_array[ukuran];
Misal :
char huruf[9];
Int umur[10];
Int
kondisi[2]={0,1};
Int
arr_dinamis[]={1,2,3};
Subscript array (index array) dimulai dari nol.
Keterangan :
char huruf[9]: berarti akan memesan tempat di memori
komputer sebanyak 9 tempat dengan indeks dari 0-8, dimana semua elemennya
bertipe data karakter semuanya. Kalau satu karakter berukuran 1 byte,
berarti membutuhkan memori sebesar 9
byte.
int umur[10]: berarti akan memesan tempat di memori
komputer sebanyak 10 tempat dengan indeks dari 0-9, dimana semua elemennya
bertipe data integer semuanya. Kalau satu integer berukuran 4 bytes, berarti
membutuhkan memori sebesar 4 x 10 = 20 bytes.
int kondisi[2]: berarti akan memesan tempat di memori
komputer sebanyak 2 tempat dengan indeks 0-1, dimana semua
elemennya bertipe data integer semuanya. Dan pada contoh di atas isi
elemen-elemennya yang sebanyak 2 buah
diisi sekaligus (diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan
elemen kondisi[1] bernilai 1.
int arr_dinamis[]:berarti mendeklarasikan array dengan ukuran
maksimum array tidak diketahui, namun ukuran tersebut diketahui berdasarkan
inisialisasi yaitu sebanyak 3 elemen, yang isinya 1,2, dan 3. Kita tidak dapat
mendeklarasikan array dinamis tanpa inisialisasi.
Tanda [] disebut
juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke nol.
Array yang sudah
dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5
elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak
sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10
tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.
Mengakses Elemen
Array
Contoh :
cin>>suhu[i];
cout<<suhu[3];
Memberikan Nilai
Awal pada Array
Contoh :
int jum_hari[12] =
{
31,28,31,30,31,30,31,31,30,31,30,31
};
Atau
int jum_hari[] =
{
31,28,31,30,31,30,31,31,30,31,30,31
};
Untuk memberikan
nilai awal yang sama pada array :
int tmp[5] = { 0 };
Contoh 1
Misalkan kita ingin
membuat program untuk mencari nilai rata-rata dari 5 buah data nilai yang
diinputkan oleh user.
Tanpa menggunakan
array, maka programnya adalah sebagai berikut :
Array Berdimensi
Satu
#include
<iostream.h>
#include
<conio.h>
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();
}
Array Berdimensi
satu
Pada program di
depan 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.
Dengan menggunakan
array, program menjadi lebih baik.
Contoh Program
#include
<iostream.h>
#include
<conio.h>
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();
}
Contoh ke 2 :
#include<iostream.h>
int main(){
// mendeklarasikan
sebuah array dengan nama A
int A[5];
//memasukkan nilai
ke dalam elemen array
for (int
C=0;C<5;C++){
cout<<"A["<<C<<"]="; cin>>A[C]; }
return 0; }
Contoh ke 3 :
#include<iostream.h>
#include<conio.h>
int main(){
int A[5]; //
mendeklarasikan sebuah array dengan nama A
// memasukkan nilai
ke dalam elemen array
for (int
C=0;C<5;C++){
cout <<"A["<<C<<"] = "; cin>>A[C];}
cout<<"menampilkan
nilai dalam elemen array"<<endl;
for (int j=0;j<5;j++){
cout<<"Nilai elemen array ke -"<<j+1<<"
adalah "<< A[j]<<endl; }
getch();
return 0; }
Contoh ke 4 :
#include
<iostream.h>
#include
<conio.h>
int main(){
int bil[7] = {2,5};
for(int
i=0;i<7;i++){
cout<<"Elemen ke-"<<i<<“=“<<bil[i];
}
getch();
return
0;
}
Contoh ke 5 :
#include
<iostream.h>
#include
<conio.h>
void main()
{
int
jum_hari[12] =
{
31,29,31,30,31,30,31,31,30,31,30,31
};
int
tgl, bln, jumlah;
cout<<"Program Mencari Hari Di Tahun 2008"<<endl;
cout<<"Masukkan Tanggal : ";
cin>>tgl;
cout<<"Masukkan Bulan : ";
cin>>bln;
jumlah
= 0;
for(int i=0; i<(bln-1); i++)
{
jumlah = jumlah + jum_hari[i];
}
jumlah
= jumlah + tgl;
cout<<"Jumlah Hari = "<<jumlah<<endl;
int sisa;
sisa =
jumlah % 7;
cout<<"Tanggal "<<tgl<<" Bulan
"<<bln<<" adalah Hari = ";
if
(sisa==0)
cout<<"Senin"<endl;
else
if (sisa==1)
cout<<"Selasa"<endl;
else
if (sisa==2)
cout<<"Rabu"<endl;
else
if (sisa==3)
cout<<"Kamis"<endl;
else
if (sisa==4)
cout<<"Jumat"<endl;
else
if (sisa==5)
cout<<"Sabtu"<endl;
else if
(sisa==6)
cout<<"Minggu"<endl;
getch();
}
Array Berdimensi
dua
Sering kali
digambarkan/dianalogikan sebagai sebuah matriks.
Jika array
berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi
dua terdiri dari banyak baris dan banyak kolom yang bertipe sama
Gambar array
berdimensi (baris x kolom = 3 x 4)
Jurusan
|
1992
|
1993
|
1994
|
1995
|
Teknik
Informatika
|
35
|
45
|
80
|
120
|
Manajemen
Informatika
|
100
|
110
|
70
|
101
|
Teknik Komputer
|
10
|
15
|
20
|
17
|
Bentuk tabel diatas
dapat dituangkan dalam bentuk array berdimensi dua dengan pendefinisian sebagai
berikut :
int
data_lulus[3][4];
Pada pendefinisian
diatas :
ü 3 menyatakan jumlah baris (mewakili
jurusan)
ü 4 menyatakan jumlah kolom (mewakili tahun
kelulusan)
Larik Dimensi Dua
dapat mewakili bentuk suatu matriks,
Masing-masing
elemen dalam array berdimensi dua dapat diakses dengan bentuk :
nama_array[subscript_baris][subscript_kolom];
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.
Array Berdimensi
Dua
#include
<iostream.h>
#include
<conio.h>
#include
<iomanip.h>
void main()
{
cout<<"Program Pertambahan Matrik 3x3"<<endl;
int
matrikA[3][3];
int
matrikB[3][3];
int
matrikC[3][3];
cout<<endl<<"Masukkan data Matrik A"<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<"Elemen ke
"<<(i+1)<<","<<(j+1)<<" : ";
cin>>matrikA[i][j];
}
}
cout<<endl<<"Masukkan data Matrik B"<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<"Elemen ke
"<<(i+1)<<","<<(j+1)<<" : ";
cin>>matrikB[i][j];
}
}
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
matrikC[i][j] = matrikA[i][j] + matrikB[i][j];
}
}
clrscr();
cout<<"Matrik A :"<<endl<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<setw(4)<<matrikA[i][j]<<" ";
}
cout<<endl;
}
cout<<endl<<"Matrik B :"<<endl<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<setw(4)<<matrikB[i][j]<<" ";
}
cout<<endl;
}
cout<<endl<<"Hasil
pertambahan, Matrik C :"<<endl<<endl;
for(int
i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<setw(4)<<matrikC[i][j]<<" ";
}
cout<<endl;
}
getch();
}
Melewatkan Array
Sebagai Argumen Fungsi
#include
<iostream.h>
#include
<conio.h>
void input_array(int
data[5]);
void main()
{
int
data[5];
input_array(data);
for(int i=0; i<5; i++)
{
cout<<"Data ke "<<(i+1)<<" =
"<<data[i]<<endl;
}
getch();
}
void
input_array(int data[5])
{
for(int i=0; i<5; i++)
{
cout<<"Masukkan data ke "<<(i+1)<<" : ";
cin>>data[i];
}
}
Beberapa Fungsi
Menggunakan Array :
Operasi yang
umumnya dilakukan menggunakan array adalah :
– Mencari bilangan terbesar / terkecil.
– Mencari suatu data pada array.
– Mengurutkan data.
Mencari Suatu Data
Pada Arrray
#include
<iostream.h>
#include
<conio.h>
void main()
{
int i,
x, ketemu;
int
data[] = {5, 100, 20, 31, 77, 88, 99, 24, 55, 1};
cout<<"Data yang anda cari : ";
cin>>x;
ketemu
= 0;
for(i=0; i<sizeof(data)/sizeof(int); i++)
{
if(data[i] == x)
{
ketemu = 1;
break;
}
}
if(ketemu)
cout<<"Data tersebut ada pada posisi ke
"<<(i+1)<<endl;
else
cout<<"Data yang anda cari tidak ditemukan"<<endl;
getch();
}
Mengurutkan Data
Pada Array
Ada berbagai teknik
untuk mengurutkan data, salah satunya adalah metode bubble sort.
Pengurutan
dilakukan dengan membandingkan setiap elemen array dengan seluruh elemen yang
terletak sesudah posisinya.
Contoh :
#include
<iostream.h>
#include
<conio.h>
void main()
{
int
data[10];
int i,
j, tmp;
cout<<"Program Mengurutkan Data"<<endl;
cout<<"Dengan Metode Bubble Sort"<<endl;
for(i=0; i<10; i++)
{
cout<<"Masukkan
data ke "<<(i+1)<<" : ";
cin>>data[i];
}
clrscr();
cout<<"Data sebelum diurutkan : "<<endl;
for(i=0; i<10; i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
for(i=0; i<9;
i++)
{
for(j=i+1; j<10; j++)
{
if(data[i]>data[j])
{
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
}
}
cout<<"Data setelah diurutkan : "<<endl;
for(i=0; i<10; i++)
{
cout<<data[i]<<" ";
}
getch();
}
int arrange[5]; maksut nya apa ya
ReplyDelete