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