Pertemuan - 2
Array
oleh : Muthia Farida, S.Kom, M.Kom
Pengenalan Komputer
Sistem Komputer :
Perangkat Keras
Perangkat Lunak
Pengguna
B. Paradigma Rekayasa Perangkat Lunak
Daur Hidup Klasik (The Classic Life Cycle)
Prototipe (Prototyping)
Model Spiral (The Spriral Model )
Teknik Generasi Empat (Fourth-Generation Techniques)
C. Algoritma dan Struktur Data
R e v ie w . ..
Hubungan P, PL dan PK
Pengguna Komputer
Pengguna Komputer
O, P, S.A, A
O, P, S.A, A
Aplikasi
Aplikasi
MO, CD, IE MO, CD, IE
Bahasa
Bahasa
VB, FP, D, C++ VB, FP, D, C++
SistemOperasi
SistemOperasi
DOS, Windows dsb DOS, Windows dsb
Perangkat Keras
Perangkat Keras
Masukan, Pemroses, Penyimpan dan Keluaran
Masukan, Pemroses, Penyimpan dan Keluaran
R e v ie w . ..
PARADIGMA RPL
METODA dalam menghasilkan suatu perangkat lunak atau dikenal dengan nama rekayasa PL
Daur Hidup Klasik (The Classic Life Cycle / Waterfall)
Prototipe (Prototyping)
Model Spiral (The Spriral Model)
R e v ie w . ..
Apa itu Struktur Data ?
PROGRAM
ALGO RITMA
STRUKTUR
R e v ie w . .. DATA
Algoritma …..
deskripsi langkah-langkah penyelesaian masalah
yang tersusun secara logis
1.ditulis dengan notasi khusus 2.notasi mudah dimengerti
3.notasi dapat diterjemahkan menjadi sintaks suatu bahasa pemrograman
R e v ie w . ..
Struktur Data …..
model logika/matematik yang secara khusus
mengorganisasi data
R e v ie w . ..
Contoh Struktur Data …..
1 7 1 8 0 3 6 9 2 4 0 8 7 0
1 2 3 4 5 6 7 8
A r r a y A s a tu d im e n s i :
8 in d e k s (1 s /d 8 ) d a n d a ta 1 , 7 , 1 8 d s t.
R e v ie w . ..
Contoh Struktur Data …..
1 8 0 3 6 9
2 4 0 8 7 0
1
A r r a y B d u a d i m e n s i ( m a t r i k s ) : - j u m l a h b a r i s 2 , k o l o m 3
- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 0 8 , 7 0 .
2
1 2 3
R e v ie w . ..
Contoh Struktur Data …..
List Berkait / Senarai
R e v ie w . ..
Contoh Struktur Data …..
6 9
0 3
< < T O P
1 8
T u m p u k a n d e n g a n t ig a d a t a
( 1 8 , 0 3 , d a n 6 9 y a n g m e r u p a k a n p o s i s i t e r a k h i r / T O P )
R e v ie w . ..
Contoh Struktur Data …..
A
B C D
E F
P o h o n d e n g a n a k a r A
R e v ie w . ..
Contoh Struktur Data …..
4
6
3
2
1 7
5
X
T S
Y
G r a f d e n g a n s i m p u l X , Y , T d a n S
R e v ie w . ..
Kita lanjutkan
untuk yang satu ini …..
1 7 1 8 0 3 6 9 2 4 0 8 7 0
1 2 3 4 5 6 7 8
A r r a y A s a t u d i m e n s i :
8 i n d e k s ( 1 s / d 8 ) d a n d a t a 1 , 7 , 1 8 d s t .
Struktur Data : Array / Larik
Tujuan
Membahas struktur data yang paling sederhana dan mudah
pengoperasiannya, yaitu array / larik.
Definisi
struktur data yang mengacu pada
sekumpulan elemen yang diakses
melalui indeks
KELEBIHAN & KEKURANGAN
KELEBIHAN
- Struktur Data paling mudah
- Memori ekonomis, bila semua elemen terisi
- Waktu akses sama ke setiap elemen
KEKURANGAN
- Bo ros memori jika banyak elemen yang tidak digunakan
- Struktur Data Statis
Array / Larik
KAMUS DATA
KAMUS
Nama : array [1..400] of string
Panjang : array [a...e] of real
Type TITIK : record < X : real, Y : real>
Kurva : array [0 .. 30] of Titik
Array / Larik
Catatan : Tipe Data sejenis (homogen)
Indeks data memiliki keterurutan
PROSES LARIK
Array / Larik
Catatan : Tipe Data sejenis (homogen)
Indeks data memiliki keterurutan Program Proses_Larik
KAMUS
Const : N = 8
{jumlah elemen larik}Indeks : integer
A : array [1..N] of integer
{deklarasi larik A dengan tipe data integer}ALGORITMA
For Indeks 1 to N do PROSES LARIK
Endfor
CONTOH PROSES
Array / Larik
Mengisi elemen larik dengan 0 (inisialisasi)
Mengisi elemen larik dari piranti masukan
Mencetak elemen larik ke piranti keluaran
ALGORITMA
For Indeks 1 to N do PROSES LARIK
Endfor
A[Indeks]=0
Input A[Indeks]
Print A[Indeks]
1 7 1 8 0 3 6 9 2 4 0 8 7 0
1 2 3 4 5 6 7 8
A r r a y A s a t u d i m e n s i :
8 i n d e k s ( 1 s / d 8 ) d a n d a t a 1 , 7 , 1 8 d s t .
INISIALISASI
Array / Larik
ALGORITMA
For Indeks 1 to 8 do A[Indeks] = 0
Endfor
0 0 0 0 0 0 0 0
1 7 1 8 0 3 6 9 2 4 0 8 7 0
1 2 3 4 5 6 7 8
A r r a y A s a t u d i m e n s i :
8 i n d e k s ( 1 s / d 8 ) d a n d a t a 1 , 7 , 1 8 d s t .
INPUT ELEMEN
Array / Larik
ALGORITMA
For Indeks 1 to 8 do Input A[Indeks]
Endfor
1 3 5 7 2 9 4 7
? 1
? 3
? 5
1 7 1 8 0 3 6 9 2 4 0 8 7 0
1 2 3 4 5 6 7 8
A r r a y A s a t u d i m e n s i :
8 i n d e k s ( 1 s / d 8 ) d a n d a t a 1 , 7 , 1 8 d s t .
CETAK ELEMEN
Array / Larik
ALGORITMA
For Indeks 1 to 8 do Print A[Indeks]
Endfor
1 3 5 7 2 9 4 7
13572947
1 7 1 8 0 3 6 9 2 4 0 8 7 0
1 2 3 4 5 6 7 8
A r r a y A s a t u d i m e n s i :
8 i n d e k s ( 1 s / d 8 ) d a n d a t a 1 , 7 , 1 8 d s t .
PROSES BENTUK LAIN
Array / Larik
ALGORITMA
For Indeks 1 to 8 do Proses Larik
Endfor
1 3 5 7 2 9 4 7
q
Mencari bilangan maksimun/minimum pada
larik
q
Menjumlahkan nilai seluruh elemen larik
q
Membuat rata-rata nilai seluruh elemen larik
q Mencari nilai tertentu pada larik
Cari Bilangan Maksimum
Array / Larik
ALGORITMA Maks = A[1]
For Indeks 2 to 8 do
If A[Indeks] > Maks then Maks = A[Indeks]
Endfor
Print Maks
1 7 1 8 0 3 6 9 2 4 0 8 7 0
1 2 3 4 5 6 7 8
A r r a y A s a t u d i m e n s i :
8 i n d e k s ( 1 s / d 8 ) d a n d a t a 1 , 7 , 1 8 d s t .
1 3 5 7 2 9 4 7
HITUNG PANJANG
Array / Larik
Panjang = UB - LB + 1 dimana:
UB - upper bound ( indeks terbesar) LB - lower bound (indeks terkecil)
Contoh : Seorang pedang mobil menggunakan larik untuk menyimpan data penjualan dari tahun 1990 sampai
dengan tahun 2001. Berapa panjang (jumlah elemen) larik yang harus disediakan?
LB = 1990 UB = 2001
Jadi panjang = UB – LB + 1 = 2001 – 1990 + 1 = 12
PENGALAMATAN
Array / Larik
LOK(LA[K]) = Awal(LA) + W(K - LB)
di mana:
LOK(LA[K]) – lokasi elemen dengan indeks K, yang dicari K -- Indeks yang dicari
Awal (LA) -- Lokasi awal dari larik
W – jumlah byte untuk menyimpan 1 elemen larik
LB -- lower bound / batas bawah
PENGALAMATAN
Array / Larik
LOK(LA[K]) = Awal(LA) + W(K - LB)
Contoh:
Misalkan Awal (Jual) = 100 dan W= 4, maka LOK (JUAL[1990]) = 100
LOK (JUAL[1991]) = 104 LOK (JUAL[1992]) = 108
Berapa lokasi JUAL[2000] ? untuk mendapat lokasi tersebut
LOK(LA[K]) = Awal(LA) + W(K - LB)
= 100 + 4 * (2000 – 1990)
= 140
Next week
MATRIK