STRUKTUR DATA array
Definisi Array Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. Elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori. Array memiliki alamat yang besebelahan/berdampingan tergantung lebar tipe datanya. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama dan bisa berisi nilai yang sama atau berbeda-beda.
Ilustrasi Array 1 Dimensi char 0 1 2 3 4 5 6 7 21da 21db 21dc 21dd 21de 21df 21e0 21e1 indeks value alamat
%x adalah hexadesimal
Ilustrasi Array 1 Dimensi int 0 1 2 3 4 5 6 7 21d2 21d4 21d6 21d8 21da 21dc 21de 21e0 indeks value alamat %x adalah hexadesimal
MENGAKSES ARRAY DIMENSI SATU NAMA_ARRAY [INDEX] CONTOH : NIL_AKHIR[3]; NIL_AKHIR[1]; NIL_AKHIR[0]; NIL_AKHIR[2]; NOTE : INISIALISASI ADALAH MEMBERIKAN NILAI AWAL TERHADAP SUATU VARIABEL
Operasi-operasi Array Penambahan elemen array Menampilkan elemen array Pencarian elemen array Cari, jika ditemukan, katakan KETEMU! Penghapusan elemen array Cari, jika ditemukan kemudian dihapus! Pengeditan elemen array Cari, jika ditemukan kemudian diedit!
Contoh array 1 dimensi char huruf[9]; int umur[10]; int kondisi[2] = {0,1} int arr_dinamis[] = {1,2,3} Tanda [] disebut juga “elemen yang ke- ...“. Misalnya kondisi[0] berarti array kondisi elemen yang ke nol. Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong. Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi!
Pengaksesan Elemen Array Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu secara random ataupun berurutan Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Dalam C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum. Hal ini merupakan tanggung jawab programmer. Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai.
Contoh array #include <iostream.h> #include <conio.h> void main () { int y [] = {1, 2, 7, 4, 5}; int n, r=0; for ( n=0 ; n<5 ; n++ ) { r += y[n]; } cout<<" "<<r; getch(); }
Operasi-operasi Array Penambahan elemen array Menampilkan elemen array Pencarian elemen array Cari, jika ditemukan, katakan KETEMU! Penghapusan elemen array Cari, jika ditemukan kemudian dihapus! Pengeditan elemen array Cari, jika ditemukan kemudian diedit!
Input – output array #include <iostream.h> #include <conio.h> void main () { int nilai[5],x; //tanpa inisialisasi cout<<"Masukkan nilai :\n\n"; for(x=0;x<5;x++) { cout<<"Nilai Angka : ";cin>>nilai[x];} cout<<"\n\nOutput nilai : \n"; { cout<<"\nNilai Angka : "<<nilai[x];} getch(); }
Mengedit array #include <iostream.h> #include <conio.h> void main () { int A [5]={20,9,1986,200,13};//dgn inisialisasi Int n; clrscr(); cout<<"Data yang lama\n"; for (n=0;n<5;n++) { cout<<" "<<A[n];} cout<<"\nData yang baru : \n"; A[0]=4; A[1]=2; A[2]=1; A[3]=3; A[4]=5; { cout<<" "<<A[n]; } getch();}
Menghapus elemen array #include <iostream.h> #include <conio.h> void main () { int A [5]={20,9,1986,200,13}; int n,hapus; clrscr(); cout<<"Data yang lama\n"; for (n=0;n<5;n++) { cout<<" "<<A[n];} cout<<" data yang ingin dihapus : "; cin>>hapus; cout<<"\nData yang baru : \n"; for (n=hapus-1;n<5-1;n++) { A[n]=A[n+1];} for (n=0;n<4;n++) { cout<<" "<<A[n]; } getch()}
Pencarian data //pencarian data Cout<<“Cari data :”;cin>>cari; for (int c=0;c<10;c++) { if (A[c]==cari) { cout<<"Nilai yang anda cari terdapat pada indek ke- "<<c; break; } } getch(); }
Tugas Kumpul Sekarang Buatlah program untuk memasukkan n buah nilai dalam array dan kemudian Tampilkan jumlah totalnya dan rata-rata-nya! Seperti tampilan berikut :