Struktur Data Array dan Mapping Array Triana Elizabeth, S. Kom
Array Array adalah kumpulan data bertipe sama yang menggunakan nama yang sama. Array, seperti variabel, dapat menyimpan nilai. Hanya saja, array dapat menyimpan nilai lebih dari satu. Bisa dikatakan bahwa array merupakan variabel ber-index. Index atau disebut juga subscript array pada C++ berupa integer dan dimulai dari nol. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
Array Berdimensi Satu Seperti halnya variabel biasa, array juga harus didefinisikan sebelum ia dapat digunakan. Untuk mendefinisikan array : TipeData namaArray [ukuran]; Contoh : string namaPemain[9]; Perlu diingat bahwa ukuran array adalah max index + 1. Hal ini dikarenakan index selalu dimulai dari nol.
Array Berdimensi Satu Tipe data array adalah tipe data dari tiap-tiap elemen array (satu tipe data). Nama array yakni nama variabel dari elemen array. Ukuran array yakni jumlah elemen dalam array, dimulai dari index nol, maka bila [10] ada 10 elemen, index max = 9 (0-9)
Array Berdimensi Satu int nilai[10]; Artinya ada 10 elemen array bertipe data integer dengan nama variabel nilai. Elemen-elemen itu adalah nilai[0] nilai[3] nilai[6] nilai[9] nilai[1] nilai[4] nilai[7] nilai[2] nilai[5] nilai[8] Array dapat juga didefinisikan dengan cara : TipeData namaArray[] = {isi1,isi2,isi3,isi4}; TipeData namaArray[ukuran] = {isi1,isi2,isi3}; int harga[] = {20000,50000,35000,12000}; int harga[4] = {20000,50000,35000,12000};
int nilai[4]; nilai[0] = 90; nilai[1] = 80; nilai[2] = 70; nilai[3] = 60; cout<<nilai[2]; int nilai[4] = {90,80,70,60}; cout<<nilai[2]; int nilai[] = {90,80,70,60}; cout<<nilai[2]; string namaPemain[6] = {"David","Ronaldo", "Gonzales","Giggs", "Peter","Klose"}; cout<<namaPemain[1]; string namaPemain[6]; namaPemain[0] = "David"; namaPemain[1] = "Ronaldo"; namaPemain[2] = "Gonzales"; namaPemain[3] = "Giggs"; namaPemain[4] = "Peter"; namaPemain[5] = "Klose"; cout<<namaPemain[1];
Ilustrasi Array 1 Dimensi int #include <iostream> #include <conio.h> using namespace std; void main() { int angka[8] =; int *pArray = angka; pArray = angka; for (int i = 0; i <= 7; i++) { pArray = pArray + i; cout<<pArray<<endl; } _getch(); 0 1 2 3 4 5 6 7 0015FD7C 0015FD80 0015FD88 0015FD94 0015FDA4 0015FB8 0015FDD0 0015FDEC indeks value alamat
Input – Output Array #include <iostream> #include <conio.h> using namespace std; void main () { int nilai[5]; for (int i = 0; i <= 4; i++) { cout<<"Masukan Nilai Ke - "<<i+1<<" : "; cin>>nilai[i]; } cout<<endl; cout<<"Nilai Ke - "<<i+1<<" adalah "<<nilai[i]<<endl; _getch();
ARRAY DUA DIMENSI Array dapat dibuat berdimensi dua, dimana array ini mempunyai dua buah index / subscript. Sama seperti array dimensi satu, array dua dimensi juga merupakan kumpulan elemen-elemen yang bertipe data sama dengan satu nama variabel, tetapi terdiri dari dua index. Contoh : int posisi [3][4]; int tipe data array posisi variabel, nama array [3] index (menyatakan jumlah baris) [4] index (menyatakan jumlah kolom)
Contoh : int posisi [3][4]; [3] 3 buah baris (index 0 – 2) Dalam membayangkan array 2 dimensi, sering digunakan istilah baris (x) dan kolom (y). Contoh : int posisi [3][4]; [3] 3 buah baris (index 0 – 2) [4] 4 buah kolom (index 0 – 3) Index Kolom 1 2 3 [0,0] [0,1] [0,2] [0,3] [1,0] [1,1] [1,2] [1,3] [2,0] [2,1] [2,2] [2,3] Index Baris
Representasi array dua dimensi di dalam memori secara berurutan per baris dengan elemen pertama adalah data berindex [0,0]. Dari contoh maka representasinya di dalam memori sebagai berikut : [0,0]|[0,1]|[0,2]|[0,3]|[1,0]|[1,1]|[1,2]|[1,3]|[2,0]|[2,1]|[2,2]|[2,3] Array dua dimensi dapat digunakan untuk berbagai keperluan, terutama dalam hal pemetaan yang berhubungan dengan koordinat. Misalkan data jumlah pohon dalam koordinat tertentu, atau warna pixel di layar.
Selain itu, array juga dapat digunakan untuk menampilkan data multidimensi, contoh data jumlah mahasiswa yang lulus di suatu universitas. Array diinisialisasi : int kelulusan [3][4];
Untuk langsung mengisi nilai array dua dimensi saat definisi array : int kelulusan[3][4] = { {35,45,80,120}, {100,110,70,101}, {10,15,20,17} } Atau dapat dengan cara mendeklarasikan array terlebih dahulu lalu mengisi nilai array satu per satu per index [baris,kolom].
Contoh #include <iostream> #include <conio.h> #include <string> #include <iomanip> using namespace std; void main() { string jurusan[3]; jurusan[0] = "Teknik Informatika"; jurusan[1] = "Sistem Informasi"; jurusan[2] = "Manajemen Informatika"; int tahun[4] = {2001, 2002, 2003, 2004}; int kelulusan[3][4] = { {35,45,80,120}, {100,110,70,101}, {10,15,20,17} }; cout<<"--------------------------------------------------"; cout<<endl; cout<<" Jurusan | ";
Contoh for (int i=0; i<=3; i++) { cout<<tahun[i]<<" "; } cout<<endl; cout<<"--------------------------------------------------"; for (int x=0; x<=2; x++) { cout<<setw(22)<<jurusan[x]; for (int y=0; y<=3; y++) { cout<<setw(7)<<kelulusan[x][y]; cout<<"---------------------------------------------------"; _getch();
LATIHAN Buatlah sebuah program C++ untuk menampilkan satu buah matriks A seperti tampilan di bawah ini. (Gambar yang Kiri). Pada program tadi tambahkan satu buah lagi matriks B seperti tampilan di bawah ini. (Gambar yang Kanan).
Buatlah sebuah program C++ untuk menampilkan dua buah matriks, matriks A dan matriks B, lalu tampilkan juga matriks C sebagai hasil penjumlahan dari dua matriks itu seperti tampilan di bawah ini.
Buatlah sebuah program C++ untuk menampilkan satu buah matriks 4x4 berdasarkan input elemen matriks dari user seperti tampilan di bawah ini.
Algoritma dan Struktur Data -Thanks- Algoritma dan Struktur Data