Minggu, 17 Februari 2019

ALGORITMA DAN PEMROGRAMAN II "Struktur Array"

"TI Politala Algoritma dan Pemrograman II 2C"
[ 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