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
ataupun 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 anda ingin mencatat data-data mahasiswa dan pelajar dalam
sebuah progam, untuk membedakannya anda 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 JUM_NILAI.
Dengan demikian akan lebih mudah untuk membedakan keduanya.
B.
Pengertian Array
Array atau larik sendiri di definisikan sebagai
pemesanan alokasi memory berurutan. Definisi ini kurang tepat, karena terjadi
kerancuan antara struktur data dan representasinya. Memang benar array hampir
selalu di implementasikan menggunakan memory berurutan tapi tidak selalu
demikian. Semua elemem 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. Type
data array.
b.
Nama variable array.
c. Subkrip
/ index array.
Contoh
deklarasai 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,
pengurutan dibedakan menjadi dua, yaitu :
1. Pengurutan
internal
Pengurutan
dilakukan terhadap sekumpulan data di media memory internal komputer di mana
data dapat diakses elemennya secara langsung.
2. Pengurutan
eksternal
Pengurutan
data di memory sekunder. Biasanya data bervolume besar sehingga tidak mampu
dimuat semuanya di memory utama.
E. Operasi Dasar
Pada Array
Operasi
terhadap elemen array dilakukan dengan pengaksesan langsung. Nilai di
masing-masing posisi elemen dapat di ambil 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 pemrogaman menyediakan
sintaks tertentu untuk penyimpanan dan pengambilan nilai elemen pada posisi
tertentu di array.
Contoh
:
A[5] =
78, berarti penyimpanan nilai 78 ke posisi ke-5 dari array A
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 memory, menyerahkan memory ke manajemen
memory agar dapat di pergunakan 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 di array adalah :
1. Pencarian
sekuen (sequential searching), yaitu :
a. Tanpa
boolean, terbagi :
o Tanpa
sentinen
o Dengan
sentinen
b. Menggunakan
boolean
2. Pencarian
secara biner/dokotom (binary = dochotomy searching).
F. Bentu-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
namaArray[n] = {elemen0, elemen1, elemen2,…..,n};
n =
jumlah elemen
contoh
pada progam : 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 kilom 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,…,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
memegang peranan yang penting.
Bentuk
umum pendeklarasian array multidimensi :
Tipe_data
namaArray[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 peberus.
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
elemenadalah karakter, elemen yang lain adalah bilangan atau tipe lain.
2. Kebanyakan
bahasa pemrogaman mengimplementasikan array statik yang sulit diubah ukurannya
di waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka
representasi statis :
o Tidak
efisien dalam penggunaan memory
o Menyiakan
banyak waktu komputasi
o Pada
suatu aplikasi, representasi statis tidak dimungkinkan
3. Bila
penambahan dan pengurangan terjadi terus-menerus, maka representasi statis
(array) :
o Tidak
efisien dalam penggunaan memory
o Menyiakan
banyak waktu komputasi
o Pada
suatu aplikasi, representasi statis tidak dimungkinkan.
REFERENCE :
~~~TERIMAKASIH~~~


0 komentar:
Posting Komentar