Pengertian Array OPERASI STRING

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.