0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan24 halaman

Pertemuan II Array

Dokumen tersebut membahas tentang tipe data terstruktur array/linier yang memiliki karakteristik hubungan antar komponen secara linier, terdiri dari index dan komponen, serta penyimpanan secara fisik dan logika yang sama. Dokumen ini juga menjelaskan operasi-operasi dasar pada array seperti penciptaan, penghapusan, penyimpanan dan pengambilan nilai, serta pemrosesan traversal.

Diunggah oleh

miranda julianti
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
39 tayangan24 halaman

Pertemuan II Array

Dokumen tersebut membahas tentang tipe data terstruktur array/linier yang memiliki karakteristik hubungan antar komponen secara linier, terdiri dari index dan komponen, serta penyimpanan secara fisik dan logika yang sama. Dokumen ini juga menjelaskan operasi-operasi dasar pada array seperti penciptaan, penghapusan, penyimpanan dan pengambilan nilai, serta pemrosesan traversal.

Diunggah oleh

miranda julianti
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 24

Tipe Data Terstruktur

Array/ Linier
 Karakteristik Array :
1. Hubungan antar komponen adalah linier
2. Terdiri dari index dan komponen
3. Hubungan antara index dan komponen
adalah satu-satu
4. Semua komponen mempunyai tipe data
yang sama
5. Metode akses adalah random
6. Penyimpanan secara fisik dan logika
adalah sama
Komponen

X1 X2 X3 X4 …. Xn
Index 1 2 3 4 n

Index

1 A11 A12 A13 A1n


Komponen
2 A21 A22 A22 A22

Am1 Am2 Am3 Amn


m
2

n
1
Operasi Array
 Operasi terhadap elemen array dengan akses
langsung.
 Nilai masing-masing posisi elemen dapat diambil,
disimpan tanpa melalui elemen lainnya.
 Semua elemen terurut, mulai elemen pertama,
kedua, dan seterusnya.

Terdapat dua tipe operasi yaitu :


Operasi terhadap suatu elemen/posisi dari array.
Operasi terhadap array sebagai keseluruhan.
Representasi Kontigu
Memori dapat digambarkan sebagai berikut :
0000 0000

0000 0001

0000 0010

0000 0011

1111 1111
Variabel yang digunakan dalam Array

N0 Simbol Arti
1 M Adalah besarnya memori yang dibutuhkan oleh array
2 L Besarnya memori yang dibutuhkan untuk satu komponen,
dimana setiap tipe data dan bahasa pemrograman mempunyai
ukuran yang berbeda. Misalnya untuk tipe data integer, di
Pascal L =2, Turbo C 2.0 L = 2, Visual C++ 5.0 L = 4.

3 b Base address
Alamat dari array yang assign pada saat binding time.
Binding time adalah waktu dimana array di assign pada suatu
lokasi di memori bisa pada saat compile, execute dll
4 Lk Lower bound
Lower bound adalah nilai index terkecil dalam larik
5 Uk Upper Bound
Upper bound adalah nilai index terbesar dalam larik
6 d Dimensi
Deklarasi Array
Untuk meningkatkan fleksibilitas, maka sebaiknya seluruh struktur
data didalam program dibawah kendali kita, kita dapat dengan
mudah melakukan pengubahan implementasi untuk meningkatkan
kinerja tanpa mempengaruhi program yang menggunakan
struktur data.

≈ Deklarasi Array satu dimensi


Nama_larik : Array[Lk..Uk] of tipe data
Lk & Uk adalah tipe data sederhana dan terdefenisi
Array Mapped Function
Salah satu karakteristik larik adalah penyimpanan secara
logika dan fisik adalah sama, sehingga pemetaan antara logika
dan fisik dapat terlihat dalam gambar berikut :
Base
address
Alamat data dalam Memori
OS Komponen Alamat
b
X1
b+2 X1 b
X2
Sistem Operasi b+4
X3 b+6
X2 b+2
Alamat
X3 b+4
b+18
X10
komponen
yang 3
….. …….
Free X10 b+18

Rumus Untuk Mencari Alamat adalah

Add(x(i)) = b + (i-1)*L
B : Base Address (alamat Awal)
L : Length (besar memori untuk Komponen)
Untuk larik dua dimensi, pemetaan ke dalam memori dapat
dilakukan dengan dua cara yaitu membelah secara baris dan
membelah secara kolom

Inisialisasi struktur Data :


A = array [1..x,1..y] of tipe data
Misalkan struktur data adalah sebagai
berikut a11 a12 a13 a14
a21 a22 a23 a24
A = array [1..3,1..4] of Integer a31 a32 a33 a34

Besarnya memori yang dibutuhkan oleh struktur


data adalah
M =XxYxL
=3x4 x2
= 24 byte memori
Membedah perbaris
A11 a12 A13 A14 A21 a22 a23 a24 a31 a32 a33 a34

A
Untuk mencari alamat data yang berada
pada p,q dapat hitung dengan :
OS Add A(p,q) = b + ((p-1)xY + q-1)x L
a11
b
b+2 Contoh :
a12
b+4 A(3,3) = b+ ((3-1)x 4 + 3-1)x 2
a13 = b+(2x4+2)x2
b+6
= b+10 x 2
= b+ 20
b+22
A34
Free
Membedah perkolom
A11 a21 a31 A12 A22 a32 a13 a23 a33 a14 a24 a34

OS A
Untuk mencari alamat data yang berada
b
A11 pada p,q dapat hitung dengan :
b+2 Add A(p,q) = b + ((q-1)xX + p-1)x L
A21
b+4
A31 b+6 Contoh :
A(3,3) = b+ ((3-1)x 3 + 3-1)x 2
b+2 = b+(2x3+2)x2
A34 = b+8 x 2
2
Free = b+ 16
Contoh 1 :
Misalkan struktur data adalah
Data : array [1..100] of string[5]
- Gambarkan secara logika dan fisik
- Berapakah kebutuhan memorinya
- Cari alamat dari data[52] jika b=100

Contoh 2 :
Misalkan struktur data adalah
Kota : Array[1..10,1..3] of string[10]
- Gambarkan secara logika dan fisik jika dipecah secara baris
- Gambarkan secara logika dan fisik jika dipecah secara Kolom
- Hitung berapa besar memorinya
- Carilah alamat kota[7,2], jika dengan pemecahan kedua diatas
 Dua operasi paling dasar terhadap satu
elemen/posisi adalah :
1. Penyimpanan nilai elemen ke posisi
tertentu di array.
2. Pengambilan nilai dari elemen dari posisi
tertentu di array.
Operasi-operasi dasar
terhadap array berupa :
1. Operasi Penciptaan
2. Operasi Penghapusan
3. Menyimpan dan Mengambil Nilai
4. Operasi Pemrosesan traversal.
5. Operasi pencarian (table look-up).
6. Operasi Sorting
PENCIPTAAN DAN
PENGHAPUSAN
 Setiap struktur data hendaknya dilengkapi kedua
operasi ini Operasi penciptaan biasa disebut
inisialisasi. Operasi ini untuk mempersiapkan struktur
data untuk operasi-operasi berikutnya.

Inisialisasi larik ( Pascal)


Nama_alarik : Array [1..n] Of tipe data;
n : Nilai yang terdefenisi
Tipe data adalah tipe data atomik ataupun terstruktur
Contoh :
Nilai : array[1..10] of integer;
Nilai : array[1..10] of char;
Mahasiswa : array[1..10] of siswa;
 Operasi-operasi penghapusan adalah
operasi yang membebaskan memori
dari inisialisasi agar dapat digunakan
oleh deklarasi lain.
 Operasi penghapusan diimplementasi
secara dinamis, misal menggunakan
pointer.
 Jika implementasi dengan Statis tidak
dapat dihapus selama program masih
jalan
PENYIMPANAN DAN
PENGAMBILAN NILAI ARRAY
 Umumnya bahasa pemrograman menyediakan sintaks
khusus baik untuk penyimpanan atau pengambilan nilai
elemen array.
Contoh :
A[10] := 78,
berarti penyimpanan nilai 78 ke posisi 10 dari array A.

C := A[10],
berarti pengambilan nilai elemen posisi ke 10 dari array
A.

 Pada Bahasa Pascal penyimpanan dan pengambilan


dilakukan dengan memberi indeks posisi elemen yang
dimaksud pada kurung siku [ ]
PEMROSESAN TRAVERSAL
 Operasi traversal adalah pemrosesan mengolah
seluruh elemen secara sistematik.
 Contoh Penggunaan Skema Traversal Pada Array
Integer
1. Prosedur untuk memasukkan nilai seluruh elemen
array
I =1
while I <= n
do
x(i) = k
I=I+1
e-while
2. Prosedur untuk menuliskan seluruh nilai
elemen tabel ke layar.
I=1
while I <= n
do
write x(i)
I = I +1
e-while
3. prosedur untuk mencari nilai ekstrim
elemen tabel.
A. Pencarian sekuen (sequential search),

B. Pencarian biner (Binary Search)

4. Fungsi menjumlahkan seluruh nilai


elemen tabel.
5. Fungsi merata-rata nilai elemen tabel.
Sorting (pengurutan)
 Terdapat banyak metode pengurutan antara lain :
1. Maxsimum Sort
2. Insertion Sort
3. Bubble Sort
4. Counting Sort
5. Shaker Sort
6. Heap Sort
7. Shell Sort
8. Merge Sort
9. Quick Sort
10. Radix Sort
Studi Kasus
Pada suatu malam Pak Pos melakukan percobaan
terhadap 100 kotak pos sebagai berikut.
1. Pak pos berdiri di samping kotak pos, dan melangkah
setiap dua kotak dan sekaligus membukanya.
2. Pak pos kembali ke posisi awal dan mengulangi
percobaan dengan melangkah setiap 3 kotak, dimana
jika menemukan kotak tertutup maka akan dibuka, dan
jika dalam keadaan terbuka maka ditutupnya
3. Sama seperti percobaan yang kedua, tetapi pak pos
melangkah setiap 4 kotak.

Setelah melakukan ke 3 percobaan diatas, maka pak


pos menghitung jumlah kotak yang terbuka

Buat struktur data, algoritma dan programnya

Anda mungkin juga menyukai