Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

ARRAY/LARIK M. Haviz Irfani, S.Si.

Presentasi serupa


Presentasi berjudul: "ARRAY/LARIK M. Haviz Irfani, S.Si."— Transcript presentasi:

1 ARRAY/LARIK M. Haviz Irfani, S.Si

2 Struktur Data Pada garis besarnya, data dapat kita kategorikan menjadi : Type Data Sederhana atau Data Sederhana yang terdiri atas : - Data sederhana Tunggal, misalnya int,short,long,float,double,serta karakter - Data Sederhana majemuk misalnya String Type data tersebut dengan berbagai cara tertentu,dapat diorganisasikan menjadi Struktur Data. M. Haviz Irfani, S.Si

3 Struktur Data Struktur data meliputi :
- Struktur Data Sederhana misalnya Array dan Struct - Struktur data Majemuk terdiri atas : Linier misalnya : Stack, Queue,serta linear linked list. - Nonlinier, misalnya pohon Biner (Binary Tree), Pohon Cari Binar (Binary Search Tree), Pohon Cari M-way ( M-way Search Tree), Trie, General Tree serta Graph M. Haviz Irfani, S.Si

4 KONSEP ARRAY [0] [1] [2] [3] [4] [5] [6] [7] [8] Variabel NIL 17 21 33 1 48 2 16 72 Deklarasi tipe : short NIL [9] ; //variabel terstruktur Array satu dimensi adl kumpulan elemen2x yg tersusun dlm satu baris dan bertipe yang sama. Nil[1]:= 17; Nil[5]:=0; Nil[2]:=21; Nil[6]:=2; Nil[3]:=33; Nil[7]:=16; Nil[4]:=1; Nil[8]:=72; M. Haviz Irfani, S.Si

5 KONSEP ARRAY Misal : A=array[1..10]of byte; {A[x]}
Dalam pemetaan Array A(a:b)=A(i) a:lowerBounded b:UpperBounded Contoh lain : Int B[10] Dalam pemetaan array B(0:9)=B(i) M. Haviz Irfani, S.Si

6 KONSEP ARRAY Array 2 Dimensi : kolom [0] [1] [2] [3] [4] [5 [6] [7] baris [0] 11 4 6 22 8 5 13 33 71 17 3 41 45 42 54 21 10 1 44 37 27 30 15 2 19 29 16 12 [1] [2] [3] Deklarasi tipe : Int Nil[jml array][jml arraykolom]; Tipe array yang memiliki dua nilai index. Float A [100][6] ; Array B(a:b,c:d)= B(i,j) M. Haviz Irfani, S.Si

7 KONSEP ARRAY Array dua dimensi adalah kumpulan elemen2x berdasar baris dan kolom tertentu; atau kolom dan baris tertentu yang mempunyai tipe yg sama. Nil[baris][kolom]nil[1][3]=71;nil[2][7]=37;nil[3][,3]=8; dst Nil[kolom][baris]nil[7[[2]=37;nil[5][0]=8;nil[1][3]=30; dst Warning !! Perhatikan pendeklarasian array, apakah array[baris,kolom] atau array[kolom,baris] M. Haviz Irfani, S.Si

8 KONSEP ARRAY Array Multi Dimensi :
Tipe array yang memiliki banyak nilai index. Misal : A=array[1..7,1..5,1..3]of byte; Array B(a:b,c:d,e:f,..)=B(i,j,k,..) M. Haviz Irfani, S.Si

9 Pemetaan ARRAY Base Address (b)
Alamat byte pertama dari array yang diberikan pada saat ditempatkan di dalam suatu lokasi/address dalam memori. Component Length (L) Panjanganya ruang memori untuk menyimpan satu komponen, dinyatakan dalam byte. Index (i) Nomor index dari data array. M. Haviz Irfani, S.Si

10 Pemetaan ARRAY Lower Bound (Lb) & Upper Bound (Ub) Dimension (d)
Lb adalah nilai index yang terkecil sedangkan Ub nilai index yang terbesar. Dimension (d) Besarnya dimensi dari suatu array. M. Haviz Irfani, S.Si

11 KONSEP ARRAY 22 1 29 13 11 44 81 55 33 71 17 3 41 45 70 54 21 10 37 15 30 8 2 19 16 x 3 17 25 10 41 5 77 33 71 45 62 54 21 1 44 37 34 30 15 8 2 19 29 16 [0] 11 4 6 22 8 5 13 33 71 17 3 41 45 42 54 21 10 1 44 37 27 30 15 2 19 29 16 12 [1] [3] [2] [2] [3] [1] [1] [2] [3] [4] [5] [6] [7] [8] Z Y Array tiga dimensi adalah kumpulan elemen2x berdasarkan x,y,z yang memiliki tipe yang sama. M. Haviz Irfani, S.Si

12 Operasi ARRAY E = Ub – Lb +1 Menghitung jumlah elemen Dimana :
E : Jumlah elemen Ub : Upper Bound Lb : Lower Bound M. Haviz Irfani, S.Si

13 AD = b + ((i – 1) x L) KONSEP ARRAY
2. Menentukan posisi alamat awal dari nilai data AD = b + ((i – 1) x L) Dimana : AD : posisi alamat awal b : base address i : index L : panjang ruang memori M. Haviz Irfani, S.Si

14 KONSEP ARRAY Karena memori komputer adalah linier, maka array dimensi banyak harus dilinierkan sebelum dipetakan ke memori. Alternatif pemetaan array: Row major order (RMO) Column major order (CMO) M. Haviz Irfani, S.Si

15 Pemetaan ARRAY 2dimensi
Array tersebut dipetakan di storage dalam bentuk linier sebagai berikut: Baris Baris Baris Baris 4 A(2,4) Misalkan B adalah base-location dari array tersebut, masing-masing elemen array berukuran S. Maka address awal dari elemen array (i,j) adalah: B + (i-1) x 5 x S + (j-1) x S M. Haviz Irfani, S.Si

16 KONSEP ARRAY Array tersebut dipetakan di storage dalam bentuk linier sebagai berikut: Kolom Kolom Kolom Kolom Kolom 5 (3,2) Misalkan B adalah base-location dari array tersebut, masing-masing elemen array berukuran S. Maka address awal dari elemen array (i,j) adalah: B + (j-1) x 4 x S + (i-1) x S M. Haviz Irfani, S.Si

17 Operasi Dasar ARRAY

18 Operasi Dasar Array Operasi Penciptaan 2. Operasi penghancuran
3. Operasi pemrosesan traversal 4. Operasi pencarian (table look-up) 5. Operasi sorting

19 Penciptaan dan Penghancuran
Operasi Struktur Data : Penciptaan (inisialisasi) Operasi untuk mempersiapkan struktur data untuk operasi-operasi berikutnya.

20 Penciptaan dan Penghancuran
Menyatakan ketidakberlakuan atau pembebasan memori agar dapat digunakan untuk keperluan lain. Operasi penghancuran digunakan dalam struktur data dinamis seperti pointer.

21 Penyimpanan dan Pengambilan Nilai
Biasanya bahasa pemrograman menyediakan sintaks untuk penyimpanan dan pengambilan nilai elemen pada posisi tertentu. Contoh: A[10]:=78 : Berarti penyimpanan nilai 78 ke posisi ke 10 dari array A. C:= A[10] : Berarti pengambilan nilai dari elemen ke 10 dari array A.

22 Pemrosesan Traversal Adalah pemrosesan mengolah seluruh elemen array secara sistematis/terurut. Penggunaan traversal pada array integer : Prosedur untuk memasukkan nilai seluruh elemen array. Prosedur untuk menuliskan seluruh nilai ke layar.

23 Pemrosesan Traversal Fungsi menjumlah seluruh elemen array.
Fungsi merata-rata seluruh elemen array.

24 Pencarian Di Array (Table Look-Up)
Pencarian di array adalah proses pencarian sebuah nilai di array. Klasifikasi pencarian array : Pencarian sekuen (sequential searching). Pencarian biner (binary searching).

25 (Sequnetial Searching)
Pencarian sekuen (Sequnetial Searching) Pencarian dilakukan secara berurutan mulai elemen pertama sampai elemen terakhir. Program menghasilkan nilai indeks dimana elemen pertama kali ditemukan. Indeks akan bernilai 0 jika tidak ditemukannya nilai yang dicari. Pencarian dihentikan begitu elemen pertama ditemukan.

26 Pencarian biner (binary searching)
Pencarian dengan biner mempunyai syarat bahwa data harus dalam kondisi terurut. Pemeriksaan dilakukan dengan mereduksi jumlah elemen tabel menjadi setengah elemen semula.

27 Cara yang dilakukan adalah sebagai berikut :
Pencarian biner (binary searching) Cara yang dilakukan adalah sebagai berikut : Bandingkan elemen yang dicari dengan harga elemen tengah. Jika elemen yang dicari <= elemen tengah pencarian dilakukan pada elemen sebelah kiri.

28 Pencarian biner (binary searching)
Jika lebih besar maka pencarian yang sama dilakukan pada elemen sebelah kanan. Pencarian akan menghasilkan indeks dimana nilai pertama kali ditemukan.

29 Keunggulan Array Array sangat cocok untuk pengaksesan data acak. Pengaksesan elemen dapat dilakukan langsung tanpa melalui elemen-elemen lain. Jika berada di suatu lokasi elemen, maka sangat mudah mengakses elemen tetangga, baik pendahulu (predecessor) maupun penerus (successor).

30 Batasan Array Array harus bertipe homogen. Tidak bisa suatu elemen bertipe karakter dan elemen lain bertipe interger atau yang lain. Penyisipan dan penghapusan elemen di array sangat tidak efisien.

31 Batasan Array Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi.

32

33 KONSEP ARRAY SELESAI… M. Haviz Irfani, S.Si


Download ppt "ARRAY/LARIK M. Haviz Irfani, S.Si."

Presentasi serupa


Iklan oleh Google