Blog Kumpulan Tugas

Minggu, 20 November 2016

Tipe Data Abstrak Array 1 Dimensi

Kadang kita ingin mengelola array dengan elemen yang banyak dan tipe data bervariasi. Karena array dasarnya berupa pointer, yaitu nama array adalah alamatindeks awal dari sebuah array maka dapat dimanfaatkan  untuk membuat tipe data abstrak array dinamis.

Kelas Array1D mempunyai private data member 2 buah yaitu size bertipe int (28), yang menyatakan banyak elemen dari array, dan pointer element yang menyatakan array itu sendiri (29). Banyaknya elemen array element ditentukan berdasarkan size.

Konstruktor kelas Array1D ukurannya ditentukan dari luar kelas sebesar sz (33) yang di-assign ke data member size (35), kemudian dipesan memori sebanyak sz untuk array element (36). Kita dapat menyalin dengan cara meng-assign setiap elemen array ke variabel array yang lain dengan menggunakan konstruktor berikut ini.
Ukurannya disalin dari objek v (41), kemudian dipesan memori sebanyak ukurannya (42). Proses penyalinan elemen dilakukan elemen demi elemen (43 dan 44). Kita juga dapat mengakses elemen tertentu dari array menggunakan operator [] berikut ini.
operator penugasan khusus array dengan cara mengoverload operator =
Operator = pada dasarnya berfungsi untuk menyalin semua elemen dari array v (53) ke array yang lain, dalam hal ini diwakili this. Jika v bukan dirinya sendiri (54) maka proses penyalinan akan dilaksanakan. Langkah pertama, ukuran dari v disalin (55). Elemen lama (bila ada) dibebaskan (56). Kemudian dipesan memori sebesar ukuran size untuk array element (dalam hal ini yang ditunjuk pointer this) (57). Setelah itu baru disalin elemen demi elemen (58) setiap elemen array v ke elemen array this (59). Pointer this dikembalikan (61).
misal z = x + y. Ketika pernyataan dieksekusi, x akan mewakili objek saat ini yang akan mengakses semua data member, sedangkan y akan mewakili v. Harga yang dikembalikan, yaitu w kemudian di-assign ke z. Operasi penjumlahan akan dilakukan pada setiap elemen (67 dan 68).
Sama halnya dengan pengoperasian pada operator + diatas. Operasi penjumlahan di ubah menjadi pengurangan
Sama dengan dua operasi terdahulu, namun pada operasi ini setiap element di negasikan
Diatas merupakan operasi untuk perkalian








Program ini saya kutip dari Modul Struktur Data 2014









Share:

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.

Blog Archive