334
Direktorat Pembinaan SMK | 2008
menampung semua elemen sesuai dengan yang dideklarasikan.
Masukan pertama berada pada lokasi 0. Sebagai contoh berdasarkan array
skor, pernyataan berikut menugaskan nilai 80 pada elemen pertama dari
array
skor[0] = 80;
Karena elemen pertama dari array dimulai dengan offset 0, maka
elemen terakhir dari array adalah satu lokasi sebelum ukuran array.
Berdasarkan array skor diatas, pernyataan berikut menugaskan nilai
ke elemen terakhir dari array.
skor[99] = 75;
Untuk inisialisasi array ada beberapa macam yang sering
dilakukan sebagai contoh perhatikan potongan program berikut ini :
char
title[] = Dasar
Pemrograman ;
char
section [ 64
] =
Arrays ;
Pada kasus yang pertama, compiler C akan mengalokasikan 17
byte untuk menampung string. Pada kasus yang kedua, compiler akan
mengalokasikan array 64 byte, menginisialisasi enam karakter yang
yang pertama dengan huruf-huruf “Arrays” dan karakter NULL.
Kebanyakan compiler juga akan menginisialisasi lokasi byte-byte
tersisa dengan NULL. Pada saat dideklarasikan array dengan tipe lain,
kita juga dapat menginisialisasinya dengan cara yang sama. Sebagai
contoh pernyataan berikut menginisialisasi array integer scores
dengan nilai 80, 70, 90, 85 dan 80. int
scores[5] = {80, 70, 90, 85, 80} ; Pada saat kita menugaskan nilai
awal ke suatu array , kita harus melingkupi nilai-nilai tersebut dengan
tanda kurung kurawal{}. Dalam hal ini, ukuran array sesuai dengan
jumlah nilai yang ditugaskan ke array. Akan tetapi pernyataan berikut akan
menugaskan empat nilai titik mengambang ke array yang dapat
menyimpan 64 nilai. float
salaries[64] ={2500000.0,
3200000.0, 4400000.0, 5500000.0};
Tergantung dari compiler yang digunakan, nilai-nilai yang ditugaskan
ke elemen-elemen yang tidak secara eksplisit ditugaskan mungkin diisi
dengan 0. Sebagai pegangan kita harus tidak menganggap bahwa
compiler akan menginisialisasi elemen-elemen yang lain. Jika kita
tidak menyebutkan ukuran array, kompiler akan mengalokasikan
memori yang hanya cukup untuk menampung nilai-nilai yang
disebutkan. Deklarasi array berikut menciptakan array yang cukup
menampung tiga buah nilai yang bertipe long.
long
planets[] = {1234L, 5678L, 12347L}; Array adalah suatu variabel yang
terdiri dari sekumpulan data dimana data-data tersebut mempunyai tipe
data yang sama. Setiap data disimpan dalam alamat memori yang
berbeda-beda dan disebut dengan elemen array. Setiap elemen
mempunyai nilai indek sesuai dengan urutannya. Melalui indek inilah kita
dapat mengakses data-data tersebut.
2008 | Direktorat Pembinaan SMK
335 Indek dari elemen array ini, baik
dalam bahasa C++ maupun Java dimulai dari 0, bukan 1 seperti dalam
bahasa Pascal.
Dalam beberapa literatur, array sering disebut diterjemahkan
sebagai larik. Array adalah kumpulan dari nilai-nilai data bertipe sama
dalam urutan tertentu yang menggunakan sebuah nama yang
sama. Nilai-nilai data di suatu array disebut dengan elemen-elemen
array. Letak urutan dari elemen- elemen array ditunjukkan oleh suatu
subscript atau indeks. Suatu array berdimensi satu dideklarasikan dalam
bentuk umum berupa:
tipe_data nama_var[ukuran];
dimana : tipe_data : untuk menyatakan tipe
dari elemen array, misalnya int, char, float.
nama_var : nama variabel array ukuran : untuk menyatakan jumlah
maksimal elemen array. Contoh pendeklarasian array :
float nilai_tes[5];
pada program diatas menyatakan bahwa array nilai_tes mengandung 5
elemen bertipe float. Pada bahasa C, data array akan disimpan dalam
memori yang berurutan. Elemen pertama mempunyai indeks bernilai
0. Jika variabel nilai_tes dideklarasikan sebagai array dengan
5 elemen, maka elemen pertama memiliki indeks sama dengan 0, dan
elemen terakhir memiliki indeks 4. Bentuk umum pengaksesan array
adalah: nama_var[indeks]
sehingga, untuk array nilai_tes, maka:
nilai_tes[0]
elemen pertama dari nilai_tes
nilai_tes[4] elemen ke‐5 dari
nilai_tes\ perhatikan contoh berikut ini:
nilai_tes[0] = 70;
scanf“f”, nilai_tes[2];
Contoh pertama merupakan
pemberian nilai 70 ke nilai_tes[0]. Sedangkan contoh 2 merupakan
perintah untuk membaca data bilangan dari keyboard dan diberikan
ke nilai_tes[2]. Pada contoh 2 ini nilai_tes[2]
berarti “alamat dari nilai_tes[2]”. Perlu diingat bahwa scanf memerlukan
argument berupa alamat dari variabel yang digunakan untuk menyimpan
nilai masukan. Selengkapnya perhatikan contoh program di bawah
ini.
Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan.
Untuk mendeklarasikan array, nilai- nilai yang diinisialisasikan dituliskan
di antara kurung kurawal {} yang dipisahkan dengan koma.
int
jum[12] = {31, 28, 31, 30, 31, 30, 31, 31,
30, 31, 30, 31}; Ada beberapa variasi cara
mendeklarasikan sebuah array dalam hal ini yang berdimensi satu,
di antaranya adalah sebagai berikut :
336
Direktorat Pembinaan SMK | 2008
int numbers[10]; int numbers[10] = {34, 27, 16};
int numbers[ ] = {2, -3, 45, 79, -14, 5, 9, 28, -1, 0};
char text[ ] = Welcome to New Zealand.;
float radix[12] = {134.362, 1913.248};
double radians[1000]; Array dideklarasikan dengan tanda [ ]
bracket, baik dalam bahasa C++ dan Java. Bentuk umum dari tipe
data array adalah :
tipe_data nama_array[jumlah_elemen]
Jika ingin mendeklarasikan sebuah array dengan tipe data
integer dengan nama a dan jumlah elemen array-nya 10 maka kodenya
adalah :
int a[10];
Dalam bahasa Java pendeklarasian array lebih variarif.
Selain dengan kode seperti di atas, Java juga dapat mendeklarasikan
array dalam bentuk :
int[ ] a;
Kemudian setelah melakukan deklarasi array, baik dengan kode
yang pertama maupun yang kedua, Java harus menciptakan membuat
objek terlebih dahulu sebelum array dapat digunakan karena dalam Java
array merupakan sebuah Class. Cara menciptakan objek array dalam Java
adalah :
a = new int[10];
Dalam Java pendeklarasian array dan pembuatan objek array
dapat dilakukan alam satu sintak, yaitu :
int[ ] a = new int[10];
atau int
a[ ] = new int[10]; Baik C++ maupun Java, untuk
mengakses elemen array, misalnya elemen ke-10 dari array dan
kemudian menampung nilainya dalam sebuah variabel x, maka
sintaknya adalah :
x=a[9]; Untuk memasukkan data ke dalam
array, sintak yang digunakan adalah : a[nomor_elemen]
= data; a[0]
= 5; a[1]
= 6; a[2]
= 7; dan
seterusnya. Agar lebih efisien dan efektif,
maka pemasukan data dalam array dapat menggunakan perulangan
seperti berikut ini :
for i=0; ijumlah_data; i++ {
cout “a[“ i “] = “;
cin a[i];
} Berikut contoh program lengkap
dalam bahasa C++ adalah :
Program 9.1
2008 | Direktorat Pembinaan SMK
337 include
iostream
using namespace std;
int
a[ 10
],jumlah= 10
;
bool cariint cariData,int nElemen {
int
i;
fori= ;
inElemen; i++ {
ifa[i]
== cariData
break;
}
ifi == nElemen return false;
else return true;
}
void inputint data,int i {
a[i] = data;
}
void hapusint data,int nElemen {
int
i;
fori= ;
inElemen; i++ {
if
data == a[i]
break;
}
ifi==nElemen
cout Data
data tidak
terhapus tidak ada endl;
else
{
forint
j=i; jnElemen‐ 1
; j++ {
a[j] = a[j+
1 ];
} cout
Data data
dihapus endl;
} }
void tampilint nElemen {
forint
i= ;
inElemen; i++ cout
a[i] ;
cout endl;
}
void
main {
int
data;
forint
i= ;
ijumlah; i++{ cout
a[ i
] =
; cin
data; inputdata,i;
}
338
Direktorat Pembinaan SMK | 2008
tampiljumlah;
int
cariData = 12
;
if caricariData,jumlah==false
cout Data
cariData tidak ditemukan
endl;
else
cout Data
cariData ditemukan
endl; hapus
89 ,jumlah;
jumlah ‐‐;
hapus ,jumlah;
jumlah ‐‐;
tampiljumlah; }
Program di atas terdiri dari empat function yaitu function cari
yang digunakan untuk mencari data dalam array, function input
digunakan untuk memasukkan data dalam array, hapus untuk
menghapus data dalam array, dan function tampil untuk menampilkan
data dalam array.
Keempat function tersebut kemudian dipanggil satu per satu
oleh program utama adalah kode untuk memasukkan data dalam array
dengan argumen pemanggilan function input sebanyak sepuluh kali
dengan menggunakan perulangan.
Setelah memasukkan data selesai, maka data yang telah
dimasukan dalam array kemudian ditampilkan dengan menggunakan
argument. Function tampil mengakses data array satu persatu
dan kemudian menampilkannya. Pencarian data dilakukan oleh
program utama. Function pencarian data ini cari dilakukan dengan
mengunjungi atau mengakses data array satu persatu dan kemudian
membandingkan data pada setiap elemen indek dengan data yang
dicari. Jika nilai datanya sama dengan nilai data yang dicari, maka
proses pencarian data dihentikan. Jika tidak, maka pencarian terus
dilakukan sampai semua data array diakses. Jika proses pencarian yang
dilakukan sama dengan jumlah elemen array, maka data yang dicari
tidak ditemukan. Proses pencarian seperti ini merupakan metode linier
atau sekuensial Linear Sequential Search.
Program ini melakukan proses penghapusan data sebanyak dua kali
dimana setiap kali melakukan penghapusan data maka jumlah
elemen array dikurangi satu.
Keluaran dari program tersebut adalah: a[0]
= 18 a[1]
= 12 a[2]
= 34 a[3]
= 44 a[4]
= 89 a[5]
= 34
2008 | Direktorat Pembinaan SMK
339 a[6]
= 63 a[7]
= 24 a[8]
= 67 a[9]
= 3 18
12 34 44 89 34 63 24 67 3 Data
12 ditemukan Data
89 dihapus Data
0 tidak terhapus tidak ada 2
34 44 34 63 24 67
9.2. Deklarasi Array
Array adalah variabel yang mampu menyimpan sejumlah nilai
yang bertipe sama. Untuk mendeklarasikan sebuah array, harus
disebutkan tipe dari array yang dibuat misalnya int, float atau double dan
juga ukuran array. Untuk menentukan ukuran array,perlu ditempatkan
jumlah nilai yang dapat disimpan array dalam sebuah tanda kurung
kurawal siku yang terletak sesuah nama array. Deklarasi berikut
sebagai contoh untuk menciptakan array bernama skor yang mampu
menyimpan 100 skor nilai yang bertipe int.
int skor[100];
Pada saat dideklarasikan sebuah array, compiler C
mengalokasikan memori yang cukup untuk menampung semua elemen
sesuai dengan yang dideklarasikan. Masukan pertama berada pada lokasi
0. Sebagai contoh berdasarkan array skor, pernyataan berikut menugaskan
nilai 80 pada elemen pertama dari array
skor[0] = 80;
Karena elemen pertama dari array dimulai dengan offset 0, maka
elemen terakhir dari array adalah satu lokasi sebelum ukuran array.
Berdasarkan array skor diatas, pernyataan berikut menugaskan nilai
ke elemen terakhir dari array. skor[99]
= 75; Inisialisasi array adalah
pemberian nilai default pada array. Pemberian nilai default ini dilakukan
pada saat array dideklarasikan. Bentuk umum dari inisialisasi
array ini adalah sebagai berikut : tipe_data
nama_array[jumlah_elemen] = {nilai1,nilai2,…,nilaiN}
Nilai didalam kurung kurawal disebut dengan Initialization List.
int
a[10] = { 0, 3, 6, 9, 12, 15, 18, 21, 24, 27
}; Untuk lebih jelasnya, perhatikan
contoh berikut ini :
Program 9.2.
340
Direktorat Pembinaan SMK | 2008
include iostream
using namespace std;
int
a[ 5
]={ 2
, 4
, 6
, 8
, 10
},jumlah= 5
;
void inputint data,int i {
a[i] = data;
}
void tampilint nElemen {
forint
i= ;
inElemen; i++ cout
a[i] ;
cout endl;
}
void
main {
int
data; cout
Belum ada perubahan data array
endl; tampiljumlah;
forint
i= ;
ijumlah; i++{ cout
a[ i
] =
; cin
data; inputdata,i;
} cout
Setelah ada perubahan data array
endl; tampiljumlah;
} Keluaran dari program di atas adalah :
Belum ada perubahan data array
2 4 6 8 10
a[0] = 12
a[1] = 43
a[2] = 67
a[3] = 34
a[4] = 48
setelah asa perubahan data array
12 43 67 34 48
Program di atas mempunyai tipe data array yang berisi lima elemen
dimana nilai default dari kelima elemen array tersebut adalah 2, 4, 6,
8, 10 sehingga ketika data array dipanggil atau ditampilkan maka
array sudah mempunyai data, tidak kosong seperti halnya pada kode
berikut ini.