Anda di halaman 1dari 32

Pertemuan - 2

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
Hubungan Pengguna, PL & PK
Pengguna Operator, Pemrogram, Analis Sistem, Administrator
Komputer

P/L Aplikasi Kelompok Pengolah kata, Basis Data, Pengolah Tabel,


Browser, dsb

P/L Bahasa Kelompok Bahasa tingkat rendah, Bahasa Tingkat


Tinggi
P/L Sistem DOS, Unix, Windows dsb
Operasi

Perangkat Keras Peralatan Masukan, Pemroses, Penyimpan dan


Peralatan Keluaran
PARADIGMA / REKAYASA
PERANGKAT LUNAK
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)
• Object Oriented : Coad-Yourdon,
Rumbaugh, UML
Apa itu Struktur Data ?

PROGRAM

ALGO STRUKTUR
RITMA 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
Struktur Data …..
model logika/matematik
yang secara khusus
mengorganisasi data
Contoh Struktur Data …..

Array A satu dimensi :


8 indeks (1 s/d 8) dan data 1, 7, 18 dst.

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8
Contoh Struktur Data …..
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3
- data 18, 03, 69, 24, 08, 70.

1 2 3

1 18 03 69

2 24 08 70
Contoh Struktur Data …..

List Berkait / Senarai


Contoh Struktur Data …..
Tumpukan dengan tiga data
( 18, 03, dan 69 yang merupakan
posisi terakhir / TOP )

69 << TOP

03

18
Contoh Struktur Data …..
Pohon dengan akar A

B C D

E F
Contoh Struktur Data …..
Graf dengan simpul X,
Y, T dan S
7
3
X Y
6

2
1
T S
4
5
Struktur Data …..

Tempat Operasi
Penyimpanan Data terhadap data

• Traversal (Traversing) : mengunjungi setiap elemen SD


• Pencarian (Searching) : menemukan elemen/lokasi pada SD
• Penyisipan (Inserting) : menambah elemen baru pada SD
• Penghapusan (Deleting) : menghapus elemen dari SD
Penerapan SD pada OS
 Queue concept and handling

Partition 4 Partition 4
700K 700K

Partition 3 Partition 3

Multiple
400K 400K
Input queues

Partition 2 Partition 2

200K 200K
Partition 1 Partition 1
100K 100K
Operating Operating
System System
0 0

a) Different input queue b) Single input queue


Penerapan SD pada OS
I/O I/O
request Layer reply
 Input/Output
− Devices, devices drivers, I/O operations
− Management of devices and its operations

User process
 I/O Hardware components Device-independent
− Disk, Terminal, Clock devices (Timer) software
Device-independent
− physical devices and device controller
software
Device drivers
 I/O Software components Device drivers
− Interrupt handler:
− Device driver: device-dependent control
Interrupt handlers
software Interrupt handler
− Device-independent driver: common I/O
functions; Interface to user software
Hardware
− User application software Hardware
Penerapan SD pada OS

Interrupt Table
Processor

Interrupt
Request Interrupt Vector

Interrupt
Handling
Procedure
Penerapan SD pada OS
 Virtual Memory Concept
− allows execution of user Frame number I/O disk
A
programs that are
0 B
partially in system 1
valid/invalid 0
C 1
memory 2 2
− Implementation as 3 D 3 A
4 4 v 4
demand paging: part of 5 E 5
user program as page is 6 0 inv
F 6 C
loaded into memory 7 1 6 v 7
G 2 8 A B
when needed 3 inv 9
− Swapping: only those H 4 10
inv 11 C D E
pages that’ll be used 5 F
logical memory 6 9 v 12
before program swapped 7 13 F
out again are swapped in inv 14
− Significant effect on inv
system performance
(access time depends on Page table
the page fault rate)
physical memory
Kita lanjutkan
untuk yang satu ini …..
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
Array / Larik

 KELEBIHAN
- Struktur Data paling mudah
✓ - Memori ekonomis, bila semua elemen terisi
✓ - Waktu akses sama ke setiap elemen

 KEKURANGAN
- Boros memori jika banyak elemen yang tidak
digunakan
✓ - Struktur Data Statis
KAMUS DATA
Array / Larik

 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

✓Catatan : Tipe Data sejenis (homogen)


✓ Indeks data memiliki keterurutan
PROSES LARIK
Array / Larik
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
✓Catatan : Tipe Data sejenis (homogen)
✓ Indeks data memiliki keterurutan
CONTOH PROSES
Array / Larik

ALGORITMA
For Indeks  1 to N do
PROSES LARIK
Endfor
✓Mengisi elemen larik dengan 0
(inisialisasi)
✓Mengisi elemen larik dari piranti
masukan
✓Mencetak elemen larik ke piranti
keluaran
INISIALISASI
Array / Larik

ALGORITMA
For Indeks  1 to 8 do
A[Indeks] = 0
Endfor

0 0 0 0 0 0 0 0
INPUT ELEMEN
Array / Larik

ALGORITMA
For Indeks  1 to 8 do ?1
Input A[Indeks]
Endfor ?3
?5

1 3 5 7 2 9 4 7
CETAK ELEMEN
Array / Larik

ALGORITMA
For Indeks  1 to 8 do
2
7
4
9
5
3
1 Print A[Indeks]
Endfor

1 3 5 7 2 9 4 7
PROSES BENTUK LAIN
Array / Larik

ALGORITMA
For Indeks  1 to 8 do
Proses Larik
Endfor

q Mencari bilangan maksimun/minimum pada


larik
q 1 3
Menjumlahkan 5 nilai7 seluruh
2 elemen
9 4larik 7
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 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

Anda mungkin juga menyukai