• Tidak ada hasil yang ditemukan

Array

Dalam dokumen LSP Telematika. Cover (Halaman 47-56)

BAB III Pemrograman Lanjut

3.2 Array

double Periode = 155.50; int sizeOf = sizeof Periode;

cout << "Ukuran dari Periode adalah " << sizeOf << " bytes\n\n";

return 0;

}

3.2 Array

Array adalah sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama. Setiap data tersebut menempati lokasi atau alamat memori yang berbeda-beda dan selanjutnya disebut dengan elemen array. Elemen array itu kemudian dapat diakses melalui indeks yang terdapat di dalamnya. Namun penting sekali untuk diperhatikan bahwa dalam C++, indeks array selalu dimulai dari 0, bukan 1. Berikut ini gambar yang mengilustrasikan sebuah array.

Nilai ke-1 Nilai ke-2 ... Nilai ke-N Nilai elemen array Alamat ke-1 Alamat ke-2 ... Alamat ke-N Alamat elemen array

Untuk mendeklarasikan sebuah array dalam C++, kita harus menggunakan tanda [ ]. Adapun bentuk umum dari pendeklarasiannya adalah sebagai berikut;

tipe_data nama_array[jumlah_elemen];

Sebagai contoh jika kita ingin mendeklarasikan sebuah array (misalnya dengan nama BUKU) yang memiliki 25 elemen dengan tipe data int, maka pendeklarasiannya adalah seperti yang tampak di bawah ini.

int BUKU[25]

Ruang memori yang dibutuhkan untuk pendeklarasian array tersebut adalah 100 byte, yang berasal dari 25 x 4 byte (4 merupakan ukuran dari tipe data int). Sedangkan cara yang digunakan untuk mengakses elemennya adalah dengan menuliskan indeksnya. Misalnya kita ingin mengambil nilai yang terdapat pada elemen ke-10 dan menampung nilai tersebut ke dalam sebuah variabel yang bertipe int juga (misal x), mka kita harus menuliskan sintaks dibawah ini.

x = BUKU[9]

Mengisikan Nilai ke dalam Elemen Array

Untuk mengisikan nilai ke dalam elemen-elemen array, kita dapat melakukannya langsung untuk setiap elemen, misalnya seperti berikut.

A[0] = 10 A[1] = 20 A[2] = 13 ...dst

Namun cara ini tidak direkomendasikan karena tidak efisien. Cara yang lebih umum dan banyak digunakan oleh para pemrogram untuk mengisikan nilai ke dalam elemen-elemen array adalah dengan menggunakan pengulangan (looping). Cara ini akan jauh lebih cepat dibandingkan cara manual seperti di atas. Sebagai contoh jika kita ingin melakukan pengisian 25 elemen array, maka kita dapat menuliskan sintak seperti di bawah ini.

for (int C; C<25; C++){

}

Berikut ini contoh program yang di dalamnya terdapat proses pengisian array dengan menggunakan proses pengulangan.

Menampilkan Nilai yang Terdapat pada Array

Setelah memahami cara mengisikan nilai ke dalam elemen array sekarang kita akan membahas bagaimana cara untuk mengakses atau menampilkan nilai-nilai tersebut. Konsepnya sama seperti di atas, kita akan menggunakan pengulangan untuk menampilkannya. Berikut ini program yang akan mengisikan dan menampilkan nilai yang terdapat pada elemen array.

#include<iostream.h>

int main(){

//mendeklarasikan array A dengan 5 buah elemen bertipe int int A[5];

//memasukkan nilai ke dalam elemen array Cout<<”Masukkan nilai yang diinginkan”; for (int C; C<5; C++){

cout<<”A[“<<C<<”]= ”; cin>>A[C]; }

cout<<’\n’

//menampilkan nilai yang terdapat dalam elemen array cout<<”Menampilkan nilai yang telah dimasukkan”; for (int J=0; J<5; J++){

cout<<”Nilai yang terdapat pada elemen ke-”<<J+1<<” : “<<A[J];

}

return 0;

#include<iostream.h>

int main(){

//mendeklarasikan array A dengan 5 buah elemen bertipe int int A[5];

//memasukkan nilai ke dalam elemen array for (int C; C<5; C++){

cout<<”A[“<<C<<”]= ”; cin>>A[C]; }

return 0; }

Contoh hasil yang akan diberikan dari progam di atas adalah sebagai berikut;

Melakukan Inisialisasi Array

Pada saat kita mendeklarasikan sebuah array, kita dapat langsung melakukan inisialisasi nilai terhadap elemen-elemen array di dalamnya. Hal ini dimaksudkan untuk mengisikan nilai default pada elemen array sehingga jika elemen bersangkutan tidak diisi dengan nilai baru, maka nilai yang digunakan adalah nilai yang telah ada. Adapun bentuk umum dari inisialisasi array adalah seperti yang tampak di bawah ini.

tipe_data nama_array[N] = {nilai1, nilai2, ..., nilaiN};

Berikut ini adalah contoh program yang menunjukkan proses inisialisasi nilai pada elemen-elemen array.

#include<iostream.h>

int main(){

/* mendeklarasikan array dengan langsung menginisialisasi nilainya */

int A[5] = {10, 20, 30, 40, 50};

//menampilkan nilai yang terdapat pada elemen array cout<<”Sebelum dilakukan perubahan nilai”<<endl; cout<<”A[0] = ”<<A[0]<<endl;

cout<<”A[1] = ”<<A[1]<<endl; cout<<”A[2] = ”<<A[2]<<endl; cout<<”A[3] = ”<<A[3]<<endl; cout<<”A[4] = ”<<A[4]<<endl;

//mengubah elemen ke-1 dan ke-2 A[0] = 12;

A[1] = 25;

Masukkan nilai yang diinginkan A[0] = 10

A[1] = 21 A[2] = 13 A[3] = 35 A[4] = 28

Menampilkan nilai yang telah dimasukkan Nilai yang terdapat pada elemen ke-1 : 10 Nilai yang terdapat pada elemen ke-2 : 21 Nilai yang terdapat pada elemen ke-3 : 13 Nilai yang terdapat pada elemen ke-4 : 35 Nilai yang terdapat pada elemen ke-5 : 28

//menampilkan kembali nilai yang terdapat pada elemen array cout<<”Setelah dilakukan perubahan nilai”<<endl;

cout<<”A[0] = ”<<A[0]<<endl; cout<<”A[1] = ”<<A[1]<<endl; cout<<”A[2] = ”<<A[2]<<endl; cout<<”A[3] = ”<<A[3]<<endl; cout<<”A[4] = ”<<A[4]<<endl; return 0; }

Hasil yang akan diberikan dari program di atas adalah sebagai berikut; Sebelum dilakukan perubahan nilai

10 20 30 40 50

Setelah dilakukan perubahan nilai 12

25 30 40 50

Array yang Bersifat Konstan

Nilai dalam elemen array dapat dibuat tetap, yaitu dengan mendefinisikannya sebagai konstanta. Caranya sama seperti pada saat kuta membuat konstanta dari identifier, yaitu dengan menggunakan keyword const di depan nama array yang didefinisikan. Berikut contoh programmnya.

#include<iostream.h>

int main(){

/* mendeklarasikan array dengan langsung menginisialisasi nilainya */

const int A[5] = {10, 20, 30, 40, 50};

//menampilkan nilai yang terdapat pada elemen array A for (int C=0; C<5; C++){

cout<<”A[<<C<<] = ”<<A[C]; }

return 0; }

Nilai-nilai yang ditampilkan di atas akan bernilai tetap karena kita mendefinisikan array A tersebut dengan nilai konstan.

Array Sebagai Tipe Data Bentukan

Dalam C++, array juga dapat digunakan sebagai tipe data bentukan seperti halnya struktur dan enumerasi. Untuk melakukan hal ini kita harus menggunakan keyword typedef, dimana berfungsi untuk memberikan nama lain dari array yang dideklarasikan.

Berikut ini bentuk umum untuk membuat array sebagai tipe data bentukan.

typedef tipe_data nama_array[jumlah_elemen];

Untuk lebih memahaminya, perhatikan contoh program di bawah ini dimana terdapat sebuah array yang didefinisikan sebagai tipe data bentukan;

#include<iostream.h>

int main(){

/* mendeklarasikan tipe data berbentuk array dengan nama BUKU */

typedef int BUKU[5];

/* menggunakan tipe data BUKU untuk mendeklarasikan variabel A */

BUKU A;

int C; //variabel Bantu untuk melakukan pengulangan

//mengisikan nilai elemen ke dalam variabel A for (C=0; C<5; C++){

A[C] = (C+1) * 100; }

//menampilkan nilai elemen yang terdapat pada variabel A for (C=0; C<5; C++){ cout<<”A[“<<C<<”] = “<<A[C]; } return 0; A[0] = 10 A[1] = 20 A[2] = 30 A[3] = 40 A[4] = 50

}

Program di atas akan memberikan hasil seperti berikut;

Seperti yang kita lihat di atas bahwa sebuah array dapat digunakan untuk mendeklarasikan variabel lain. Pada kasus ini kita membuat sebuah tipe data bentuk dengan nama BUKU, selanjutnya kita menggunakan tipe tersebut untuk mendeklarasikan variabel A. Apabila kita amati, sebenarnya kita dapat langsung mendeklarasikan variabel A tersebut dengan tipe array, yaitu dengan sintaks di bawah ini.

int A[5];

Mungkin anda bingung kenapa harus dituliskan sebagai tipe data? Jawabnya adalah karena tipe tersebut dapat digunakan untuk mendeklarasikan variabel dengan cepat. Misalnya kita akan mendeklarasikan lima buah variabel (dengan nama A, B, C, D, dan E) yang bertipe array dari tipe int dan terdiri dari 5 elemen, maka jika ditulis dengan deklarasi biasa, sintaksnya adalah seperti berikut. int A[5]; int B[5]; int C[5]; int D[5]; int E[5];

Namun, jika sebelumnya kita mendefinisikan sebuah tipe data yang berbentuk array (misalnya dengan nama BUKU), maka sintaksnya akan terlihat lebih rapi, yaitu seperti di bawah ini.

Array Multidimensi

Array multidemensi yaitu array yang terdiri dari beberapa subskrip array. Sebagai contoh, array 2 dimensi adalah array yang mempunyai 2 subskrip array, 3 dimensi mempunyai 3 subskrip array dan seterusnya. Array seperti ini sering digunakan untuk pemrosesan matrik. Pada bagian ini kita akan

A[0] = 100 A[1] = 200 A[2] = 300 A[3] = 400 A[4] = 500

typedef BUKU[5]; //membuat tipe data dengan nama buku

mempelajari bagaimana C++ dapat memproses sebuah array yang terdiri dari dua subskrip array atau lebih.

Array Dua Dimensi

Array dua dimensi adalah array yang memiliki dua subskrip, yaitu baris dan kolom. Bentuk umum pendeklarasian sebuah array dua dimensi di dalam C++ adalah sebagai berikut;

tipe_data nama_array[jumlah_elemen_baris][jumlah_elemen_kolom];

Misalnya kita akan melakukan penjumlahan 2 buah matriks ordo 3x2, maka contoh sintaks program yang akan kita tuliskan adalah seperti yang terlihat di bawah ini.

#include<iostream.h>

int main(){

//mendefinsikan tipe data yang berbentuk array dua dimensi typedef int MATRIK32[3][2];

//mendeklarasikan array A sebagai array dua dimensi MATRIK32 A, B, C;

int j,k; //mendeklarasikan variabel untuk indeks pengulangan

//mengisikan nilai ke dalam elemen-eleman array A for(j=0; j<3; j++){ for(k=0; k<2; k++){ cout<<”A[“<<j<<”][“<<k<<”] =”;cin>>A[j][k]; } } cout<<’\n’;

//mengisikan nilai ke dalam elemen-elemen array B for(j=0; j<3; j++){ for(k=0; k<2; k++){ cout<<”B[“<<j<<”][“<<k<<”] =”;cin>>B[j][k]; } } cout<<’\n’;

/* melakukan penjumlahan A dan B dan menyimpan hasilnya ke dalam array C*/ for(j=0; j<3; j++){ for(k=0; k<2; k++){ C[j][k]= A[j][k] + B[j][k]; } }

//Menampilkan hasil penjumlahan for(j=0; j<3; j++){ for(k=0; k<2; k++){ cout<<”C[“<<j<<”][“<<k<<”] =” <<C[j][k]; } } return 0; }

Contoh hasil yang akan diberikan dari program di atas adalah sebagai berikut; A[0][0] = 1 A[0][1] = 2 A[1][0] = 3 A[1][1] = 4 A[2][0] = 5 A[2][1] = 6 B[0][0] = 1 B[0][1] = 2 B[1][0] = 3 B[1][1] = 4 B[2][0] = 5 B[2][1] = 6 C[0][0] = 2 C[0][1] = 4 C[1][0] = 6 C[1][1] = 8 C[2][0] = 10 C[2][1] = 12

Secara matematis, contoh hasil dari program di atas dapat dituliskan seperti di bawah ini:

|1 2| |1 2| |2 4 |

|3 4| + |3 4| = |6 8 |

Inisialisasi pada Array Multidimensi

Sama seperti array satu dimensi, pada array multidimensi juga dapat dilakukan inisialisasi nilai ke dalam elemen-elemennya. Adapun cara melakukannya adalah seperti contoh yang terlihat di bawah ini.

int A[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

Namun untuk memudahkan proses inisilaisasi, C++ menizinkan kita untuk melakukan pengelompokan untuk setiap baris, yaitu dengan sintaks berikut.

int A[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

Dalam dokumen LSP Telematika. Cover (Halaman 47-56)