[ Tugas Kuliah ] Algoritma dan Pemrograman
"STRUKTUR ARRAY"
STRUKTUR ARRAY
A. Pengertian Struktur
Struktur adalah kumpulan elemen-elemen data yang
digabungkan menjadi satu kesatuan. Masing - masing elemen data tersebut dikenal
dengan sebutan field. Field data
tersebut dapat memiliki tipe data yang sama atau pun berbeda. Walaupun field-field tersebut berada dalam satu
kesatuan, masing - masing field
tersebut tetap dapat diakses secara individual.
Field-field
tersebut digabungkan menjadi satu dengan tujuan untuk kemudahan dalam
operasinya. Misalnya ingin mencatat data - data mahasiswa dan pelajar dalam
sebuah program, untuk membedakannya dapat membuat sebuah record mahasiswa yang terdiri dari field NIM, NAMA, ALAMAT, dan IPK serta sebuah record pelajar yang terdiri dari field - field NAMA, NOMOR
URUT, ALAMAT dan JUMLAH NILAI. Dengan demikian akan lebih mudah untuk
membedakan keduanya.
B. Pengertian Array
Array atau larik sendiri didefinisikan sebagai
pemesanan alokasi memori berurutan. Definisi ini kurang tepat, karena terjadi
kerancuan antara struktur data dan representasinya. Memang benar array hampir
selalu di implementasikan.
Benar array hampir selalu di implementasikan
menggunakan memori berurutan tapi tidak selalu demikian. Semua elemen array
bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran
atau jumlah elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa
setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang
sama.
Dari perngertian struktur dan pengertian array di
atas, maka dapat ditarik kesimpulan bahwa struktur array adalah kumpulan elemen
- elemen data yang digabungkan menjadi suatu kesatuan yang memiliki tipe
homogen (sama).
1.
Karakteristik Array
a.
Mempunyai batasan dari pemesanan alokasi memori (bersifat statis).
b.
Mempunyai tipe data sama (bersifat homogen).
c.
Dapat diakses secara acak.
2.
Deklarasi Array
Ada tiga hal yang harus diketahui dalam
pendeklarasian, yaitu :
a.
Tipe data array.
b.
Nama variable array.
c.
Subkrip / index array.
Contoh deklarasi array adalah sebagai berikut :
int
A[10], artinya variabel A adalah kumpulan data sebanyak 10 bilangan bertipe
integer.
C. Penggunaan Array
Pada
dasarnya penggunaan array sangat luas tidak hanya digunakan pada bahasa
pemrogaman. Contoh penggunaan array sebagai berikut :
1.
Array digunakan untuk suatu database, contoh : tabel.
2.
Array digunakan untuk operasi matematika seperti vektor.
3.
Digunakan dalam bentuk struktur data lain, contohnya list.
D. Pengurutan Array
Pengurutan atau sorting adalah proses yang paling
sering dilakukan dalam pengolahan data, paling sering dilakukan dalam
pengolahan data, pengurutan dibedakan menjadi dua, yaitu :
1. Pengurutan internal
Pengurutan dilakukan terhadap sekumpulan data di
media memori internal komputer di mana
data dapat diakses elemennya secara langsung.
2. Pengurutan eksternal
Pengurutan data di memori sekunder. Biasanya data
bervolume besar sehingga tidak mampu dimuat semuanya di memori utama.
E. Operasi Dasar Pada Array
Operasi terhadap elemen array dilakukan dengan
pengaksesan langsung. Nilai di masing - masing posisi elemen dapat diambil dan
nilai dapat disimpan tanpa melewati posisi - posisi lain.
Terdapat dua operasi, yaitu :
a. Operasi terhadap satu elemen / posisi array
b. Operasi terhadap array sebagai keseluruhan
Dua operasi paling dasar terhadap satu elemen / posisi adalah :
a. Penyimpanan nilai elemen ke posisi tertentu di array
b. Pengambilan nilai elemen dari posisi tertentu di array
Operasi-operasi dasar terhadap array secara keseluruhan adalah :
a.
Operasi penciptaan
b.
Operasi penghancuran
c.
Operasi pemrosesan tranversal
d.
Operasi pencarian (table look-up)
e.
Operasi sorting
1. Penyimpanan dan Pengambilan Nilai
Saat penyimpanan dan pengambilan nilai array,
biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan dan
pengambilan nilai elemen pada posisi tertentu di array. Contoh :
a). A[5] = 78, berarti penyimpanan nilai 78 ke
posisi ke-5 dari array A
dari
array A :
b). C = A[5], berarti pengambilan nilai elemen
posisi ke-5 dari array A
2. Penciptaan dan Penghancuran
Operasi penciptaan biasa disebut inisialisasi.
Operasi ini untuk mempersiapkan struktur data untuk operasi - operasi
berikutnya. Operasi penghancuran menyatakan ketidak berlakuan struktur data
atau membebaskan memori, menyerahkan memori ke manajemen memori agar dapat
dipergunakan keperluan lain. Operasi penghancuran penting terutama bila
struktur data di implementasikan secara dinamis menggunakan pointer.
3. Pemrosesan Tranversal
Operasi pemrosesan transversal adalah pemrosesan
mengolah seluruh elemen secara sistematik.
4. Pencarian di Array (table look-up)
Pencarian
di array (table look-up) adalah
proses pencarian suatu nilai di array. Klasifikasi pencarian :
Pencarian suatu nilai di array. Klasifikasi pencarian
di array adalah :
1). Pencarian sekuen (sequential searching), yaitu :
a.
Tanpa boolean, terbagi :
- Tanpa sentinen
- Dengan sentinen
b. Menggunakan
boolean
2). Pencarian secara biner / dokotom (binary = dochotomy searching).
F.
Bentuk – Bentuk Array
1. Array Satu Dimensi
Array satu dimensi yaitu kumpulan elemen - elemen
identik yang hanya terdiri dari satu baris atau hanya satu kolom saja alamat
penyimpanan data (indeks). Elemen - elemen tersebut memiliki tipe data yang
sama, tetapi isi dari elemen tersebut boleh berbeda.
Bentuk umum :
Tipe
data nama Array [n] = {elemen0, elemen1, elemen2,…..,n};
elemen2,…..,n};
n
= jumlah elemen
contoh
pada program : int ukur [5] = {39, 40. 41, 38, 40};
-
int adalah tipe data yang berupa bilangan bulat.
-
Ukur adalah nama variabel array.
-
[5] adalah ukuran untuk menyatakan jumlah maksimal elemen array.
-
{..} adalah tempat pemberian nilai / elemen array.
2. Array Dua Dimensi
Array dua dimensi sering digambarkan sebagai sebuah
matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi
hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua
dimensi terdiri dari beberapa baris dan beberapa kolom elemen bertipe sama
sehingga dapat digambarkan sebagai berikut :
Bentuk
umum :
Tipe
data namaArray [m] [n] = {{a,b,…z},{1,2,
Tipe
data namaArray [m] [n] = {{a,b,…z},{1,2, …,n-1}};
contoh
: int lulus [4] [3];
Nilai 4 untuk menyatakan banyaknya baris dan 3 untuk menyatakan
banyaknya kolom.
Pendeklarasian
array dua dimensi hampir sama dengan pendeklarasian array satu dimensi, kecuali
bahwa array dua dimensi terdapat dua jumlah elemen yang terdapat dikurung - kurung
siku dan keduanya boleh tidak sama. Elemen array dua dimensi diakses dengan
menuliskan kedua indeks elemennya dalam kurung.
3. Array MultiDimensi
Array ini seperti array dimensi dua tetapi dapat
memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak
terlalu sering digunakan, tetapi sewaktu - waktu kalau dimensi yang dibutuhkan
banyak, maka array ini sangat yang dibutuhkan banyak, maka array ini sangat
memegang peranan yang penting.
Bentuk umum pendeklarasian array
multidimensi :
Tipe
data nama Array [ukuran1] [ukuran2]… [ukuranN];
Sebagai
contoh :
int
data huruf [2] [8] [8];
contoh di atas merupakan pendeklarasian array
data_huruf sebagai array berdimensi tiga.
G.
Keunggulan Array
Keunggulan array adalah sebagai berikut :
1. Array sangat cocok untuk pengaksesan acak.
Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen - elemen
lain.
2. Jika berada di suatu lokasi elemen, maka sangat
mudah menelusuri ke elemen-elemen tetangga, baik elemen pendahulu atau elemen
penerus.
3. Jika elemen - elemen array adalah nilai - nilai
independen dan seluruhnya harus terjaga, maka penggunaan penyimpanannya sangat
efisien.
H. Kelemahan Array
Kelemahan
array adalah sebagai berikut :
Array
mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi
karena array mempunyai batasan sebagai berikut :
1. Array harus bertipe homogen, kita tidak dapat
mempunyai array dimana satu elemen adalah karakter, elemen yang lain adalah
bilangan atau tipe lain.
2. Kebanyakan bahasa pemrograman mengimplementasikan
array statik yang sulit diubah ukurannya di waktu eksekusi. Bila penambahan dan
pengurangan terjadi terus-menerus, maka representasi statis :
-
Tidak efisien dalam penggunaan memori.
-
Menyiakan banyak waktu komputasi.
-
Pada suatu aplikasi, representasi statis tidak dimungkinkan.
3. Bila
penambahan dan pengurangan terjadi terus - menerus, maka representasi statis
(array) :
-
Tidak efisien dalam penggunaan memori.
-
Menyiakan banyak waktu komputasi.
-
Pada suatu aplikasi, representasi statis tidak dimungkinkan.
Sumber :
nyambet.blogspot.com/?m=1
Tidak ada komentar:
Posting Komentar