STRUKTUR ARRAY
Teknik Informatika
Politeknik Banyuwangi
Banyuwangi
2010
BAB I PENDAHULUAN
A. Latar Belakang
Dalam pemrogaman ada beberapa macam bahasa pemrogaman. Salah satunya adalah bahasa pemrogaman C++. Dalam bahasa pemrogaman C++ terdapat penggunaan variabel array. Namun penggunaan array tidak hanya pada pemrogaman, array juga banyak digunakan untuk berbagai macam struktur data, seperti database.
Selanjutnya kita harus memahami terlebih dulu pengertian struktur. Pada makalah ini kami menuliskan telebih dulu pngertian dari struktur karena hal ini sangat berhubungan erat dengan array yang nantinya berujung pada pengertian struktur array, apa yang disebut array, bagaimana struktur penulisannya, apa saja bentuk-bentuk array, semuanya akan kita pelajari dalam makalah ini.
B. Rumusan Masalah
Pada makalah ini kami merumuskan beberapa hal :
1. Pengertian Struktur
2. Pengertian Array
o Karakteristik array
o Deklarasi array
3. Penggunaan Array
4. Pengurutan Array
5. Operasi Dasar Pada Array
6. Bentuk-bentuk Array
7. Keunggulan Array
8. Kelemahan Array
C. Tujuan
1. Untuk memenuhi tugas dari dosen pada mata kuliah Logika dan Algoritma.
2. Agar pembaca mengerti dan apa yang dimaksud dengan struktur array, serta paham dalam penggunaan, penerapan dan pengaplikasiannya.
BAB II PEMBAHASAN
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.
Pemetaan (mapping) array dua dimensi ke storage :
Terbagi dua cara pandang (representasi) yang berbeda :
o
|
o
|
Keterangan :
- @M[i][j] = Posisi array yang di cari.
- M[0][0] = Posisi alamat awal indeks array.
- i = Baris
- j = Kolom
- L = Ukuran memory type data
- K = Banyaknya elemen per kolom
- N = Banyaknya elemen per baris.
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
BAB III PENUTUP
A. Kesimpulan
Struktur adalah sekumpulan elemen-elemen data yang digabung menjadi suatu kesatuan. Struktur array adalah kumpulan elemen-elemen data yang digabungkan menjadi suatu kesatuan yang memiliki tipe homogen (sama). Array merupakan bagian dari struktur data yaitu termasuk termasuk ke dalam struktur data sederhana yang dapat didefinisikan sebagai pemesanan alokasi memori sementara pada komputer. Apabila kita membuat progam dengan data yang yang sudah kita ketahui batasnya, maka kita menggunakan array (tipe data statis), namum apabila datanya belum kita ketahui batasnya amak gunakan pninter (tipe data dinamis). Elemen-elemen array tersusun secara sekuensial dalam memori komputer. Array dapat berupa satu dimensi, dua dimensi, ataupun multidimensi.
B. Saran
Dengan tersusunnya makalah ini daharapkan para membaca memberi saran dan kritk yang membangun sebagai motivasi demi terciptanya kemajuan dalam pembuatan makalah-makalah selanjutnya.
Daftar Pustaka
modul Praktikum Konsep Pemrogaman : Array