Pengertian Array / Apa itu Array
Pengertian Array dalam bahasa program
Pada saat tertentu program yang dibuat dibutuhkan untuk menyelesaikan suatu permasalahan yang dikehendaki suatu variabel yang dapat menampung banyak nilai. Sebagai contoh variabel skor barangkali mencatat skor ujian dari 100 siswa. Demikian juga variabel gaji mungkin menampung gaji yang berlainan dari masing-masing pegawai suatu perusahaan.
Array adalah struktur data yang dapat menyimpan sejumlah nilai bertipe sama, sebagai contoh kita dapat menciptakan sebuah array yang dapat menampung 100 nilai bertipe int dan array kedua yang dapat menampung 25 nilai bertipe float. Setiap nilai yang ditugaskan ke array harus bertipe sama dengan array tersebut.
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;
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.
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 elemenelemen 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.
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, nilainilai
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 :
- 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];
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; i<jumlah_data; i++) {
cout << “a[“ << i << “] = “;
cin >> a[i];
}
Berikut contoh program lengkap dalam bahasa C++ adalah :
#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);
}
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 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.
Keluaran dari program tersebut adalah:
a[0] = 18
a[1] = 12
a[2] = 34
a[3] = 44
a[4] = 89
a[5] = 34
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
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. ika 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.
No comments: