Tuesday, February 26, 2013

Struktur Data

Struktur Array



 





Suatu array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu: variabel).
Sifat Array
Array merupakan struktur data yang statis, yaitu jumlah elemen yang ada harus ditentukan terlebih dahulu dan tak bisa di ubah saat program berjalan.



STRUKTUR ARRAY   
ARRAY SATU DIMENSI 
Pendefinisian array secara umum adalah sebagai berikut: jika kita ingin membuat beberapa array dengan tipe/jenis yang sama, kita lebih baik jika mendeklarasikan dengan type selanjutnya dengan deklarasi var. 

Deklarasi Arrai Satu Dimensi 
tipe_data nama_var_array[ukuran];  

tipe_data  : menyatakan jenis tipe data elemen larik (int, char, float, dll) 
nama_var_array  : menyatakan nama variabel yang dipakai. 
ukuran   : menunjukkan jumlah maksimal elemen larik.

contoh:
char huruf[9]    : berarti akan memesan tempat di memori komputer sebanyak 9 tempat dengan indeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya.  Kalau satu karakter berukuran 1 byte, berarti membutuhkan memori sebesar 9 byte. 
int umur[10]      : berarti akan memesan tempat di memori komputer sebanyak 10 tempat dengan indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya.  Kalau satu integer berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x 10 = 20 bytes. 
int kondisi[2]      : berarti akan memesan tempat di memori komputer sebanyak 2 tempat dengan indeks 0-1, dimana semua elemennya bertipe data integer semuanya.  Dan pada contoh di atas isi elemen-elemennya yang sebanyak 2 buah diisi sekaligus (diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai 1. 
int arr_dinamis[]    :berarti mendeklarasikan array dengan ukuran maksimum array tidak diketahui, namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3 elemen, yang isinya 1,2, dan 3.  Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi.   
 

Penjelasan Array Satu Dimensi
- Tanda [] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti 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. 

ARRAY DUA DIMENSI
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan indeks kolom.






 Deklarasi Umum Array Dua Dimensi
tipe_data nama_var_array[batas_baris][batas_kolom]; 
Contoh:  
int matriks[3][4]; 
int matriks2[3][4] = { {5,20,1,11}, {4,7,67,-9}, {9,0,45,3} };

ARRAY MULTIDIMENSI
Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index pertama adalah baris dan yang kedua adalah kolom.
Array adalah sekumpulan memori untuk suatu nama yang memiliki elemenelemen
data yang sejenis. Sifat-sifat array adalah sebagai berikut :
  1. 1.Mengacu sekumpulan elemen melalui indeks.
  2. 2.Elemen bertipe sama.
  3. 3.Disimpan secara berurutan di memori.
  4. 4.Ukuran tetap, harus dipesan terlebih dahulu.


CARA PENGAKSESAN ELEMEN ARRAY 

- Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu 
- Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung. 
- 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.  


0 comment:



Followers

Total Pageviews

Flag Counter