kuliah ke - 2

38
Kuliah Ke - 2 Array dan Matriks (Bab 2) Informatics Engineering Department TRUNOJOYO UNIVERSITY

Upload: yael

Post on 22-Feb-2016

82 views

Category:

Documents


0 download

DESCRIPTION

Kuliah Ke - 2. Array dan Matriks (Bab 2) Informatics Engineering Department TRUNOJOYO UNIVERSITY. Apa itu Struktur Data ?. PROGRAM. Review . ALGO RITMA. STRUKTUR DATA. Algoritma …. deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis . Review . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kuliah Ke - 2

Kuliah Ke - 2

Array dan Matriks (Bab 2)Informatics Engineering DepartmentTRUNOJOYO UNIVERSITY

Page 2: Kuliah Ke - 2

Apa itu Struktur Data ?

PROGRAM

ALGORITMA

STRUKTUR DATA

Page 3: Kuliah Ke - 2

Algoritma …..

deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis

1. ditulis dengan notasi khusus2. notasi mudah dimengerti3. notasi dapat diterjemahkan menjadi

sintaks suatu bahasa pemrograman

Page 4: Kuliah Ke - 2

Struktur Data …..

model logika/matematik yang secara khusus mengorganisasi data

Page 5: Kuliah Ke - 2

Contoh Struktur Data …..

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8

Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.

Page 6: Kuliah Ke - 2

Contoh Struktur Data …..

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

Page 7: Kuliah Ke - 2

Struktur Data …..

Tempat Penyimpanan Data

Operasi 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

Page 8: Kuliah Ke - 2

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8

Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.

Struktur Data :Struktur Data : Array / Larik Array / LarikTujuanMembahas struktur data yang paling sederhana dan mudah pengoperasiannya, yaitu array / larik.

Definisistruktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks

Page 9: Kuliah Ke - 2

KELEBIHAN & KEKURANGAN

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

Array / LarikArray / Larik

Page 10: Kuliah Ke - 2

PROSES LARIKArray / LarikArray / 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

Page 11: Kuliah Ke - 2

CONTOH PROSES Array / LarikArray / Larik

Mengisi elemen larik dengan 0 (inisialisasi)Mengisi elemen larik dari piranti masukanMencetak elemen larik ke piranti keluaran

ALGORITMA For Indeks 1 to N do PROSES LARIK Endfor

Page 12: Kuliah Ke - 2

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8

Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.

INISIALISASIArray / LarikArray / Larik

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

0 0 0 0 0 0 0 0

Page 13: Kuliah Ke - 2

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8

Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.

CETAK ELEMENArray / LarikArray / Larik

ALGORITMA For Indeks 1 to 8 do Print A[Indeks] A[Indeks] Endfor

1 3 5 7 2 9 4 7

13572947

Page 14: Kuliah Ke - 2

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8

Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.

PROSES BENTUK LAINArray / LarikArray / Larik

ALGORITMA For Indeks 1 to 8 do Proses Larik Endfor

1 3 5 7 2 9 4 7

       Mencari bilangan maksimun/minimum pada larik       Menjumlahkan nilai seluruh elemen larik        Membuat rata-rata nilai seluruh elemen larik Mencari nilai tertentu pada larik

Page 15: Kuliah Ke - 2

Cari Bilangan MaksimumArray / LarikArray / Larik

ALGORITMA Maks = A[1] For Indeks 2 to 8 do If A[Indeks] > Maks then

Maks = A[Indeks] Endfor Print Maks

1 7 18 03 69 24 08 70

1 2 3 4 5 6 7 8

Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7, 18 dst.

1 3 5 7 2 9 4 7

Page 16: Kuliah Ke - 2

HITUNG PANJANGArray / LarikArray / 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 = 1990LB = 1990UB = 2001UB = 2001Jadi panjang = UB – LB + 1 = 2001 – 1990 + 1 = 12Jadi panjang = UB – LB + 1 = 2001 – 1990 + 1 = 12

Page 17: Kuliah Ke - 2

PENGALAMATANArray / LarikArray / Larik

LOK(LA[K]) = Awal(LA) + W(K - LB)  di mana: LOK(LA[K]) – lokasi elemen dengan indeks K, yang dicariK -- Indeks yang dicariAwal (LA) -- Lokasi awal dari larikW – jumlah byte untuk menyimpan 1 elemen larikLB -- lower bound / batas bawah

Page 18: Kuliah Ke - 2

PENGALAMATANArray / LarikArray / Larik

LOK(LA[K]) = Awal(LA) + W(K - LB)  Contoh:Misalkan Awal (Jual) = 100 dan W= 4, maka LOK (JUAL[1990]) = 100LOK (JUAL[1991]) = 104LOK (JUAL[1992]) = 108 Berapa lokasi JUAL[2000] ? untuk mendapat lokasi tersebut  LOK(LA[K]) = Awal(LA) + W(K - LB)

= 100 + 4 * (2000 – 1990)= 140

Page 19: Kuliah Ke - 2

PENGALAMATANArray / LarikArray / Larik

Lokasi Memori Array

Awal - 100Awal - 100 Jual(1990)

104104 Jual(1991)

108108 Jual(1992)

112112 Jual(1993)

116116 Jual(1994)

112112 Jual(1995)

124124 Jual(1996)

128128 Jual(1997)

132132 Jual(1998)

136136 Jual(1999)

140140 Jual(2000)

Page 20: Kuliah Ke - 2

Kita lanjutkan Kita lanjutkan untuk yang satu ini …..untuk yang satu ini …..

Page 21: Kuliah Ke - 2

Struktur Data :Struktur Data : Matriks MatriksDefinisi•struktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks •Array dua dimensi, yang memiliki indeks baris dan kolom

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

Page 22: Kuliah Ke - 2

KELEBIHAN & KEKURANGAN

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

MatriksMatriks

Page 23: Kuliah Ke - 2

Kamus DataMatriksMatriks

Catatan : Tipe Data sejenis (homogen) Indeks data memiliki keterurutan

KAMUSA : array [1..2, 1..3] of integer {ukuran 2x3}

Nilai : array [1..50,1..4] of real {ukuran 50x4} Type WAKTU : record < JJ : integer [0..23], MM : integer [0..59], DD : integer [0..59] > Absensi : array [1..100, 1..2] of Waktu

Page 24: Kuliah Ke - 2

Proses Matriks1. Elemen Matriks diproses Baris demi

Baris2. Elemen Matriks diproses Kolom demi

Kolom

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

Page 25: Kuliah Ke - 2

PROSES MATRIKSMatriksMatriks

Program Proses_Matrik_BarisdemiBaris

KAMUS Const : M = 2 {jumlah baris matrik} Const : N = 3 {jumlah kolom array} Baris, Kolom : integer A : array [1..M, 1..N] of integer

ALGORITMA For Baris 1 to M do For Kolom 1 to N do PROSES MATRIK Endfor Endfor

Page 26: Kuliah Ke - 2

PROSES MATRIKSMatriksMatriks

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

18 3 69

24 8 70

Page 27: Kuliah Ke - 2

PROSES MATRIKSMatriksMatriks

Program Proses_Matrik_KolomdemiKolom

KAMUS Const : M = 2 {jumlah baris matrik} Const : N = 3 {jumlah kolom array} Baris, Kolom : integer A : array [1..M, 1..N] of integer

ALGORITMA For Kolom 1 to N do For Baris 1 to M do PROSES MATRIK Endfor Endfor

Page 28: Kuliah Ke - 2

PROSES MATRIKSMatriksMatriks

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

18 3 69

24 8 70

Page 29: Kuliah Ke - 2

CONTOH PROSES MatriksMatriks

Mengisi elemen matriks dengan 0 (inisialisasi)Mengisi elemen matriks dari piranti masukanMencetak elemen matriks ke piranti keluaran

ALGORITMA For Baris 1 to M do For Kolom 1 to N do PROSES MATRIKS Endfor Endfor

Page 30: Kuliah Ke - 2

INISIALISASIMatriksMatriks

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 0A(Baris, Kolom) = 0 EndforEndfor

0 0 00 0 0

Page 31: Kuliah Ke - 2

Isi dengan 1,2,3,4,5,6MatriksMatriks

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

Indeks = 1For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = IndeksA(Baris, Kolom) = Indeks

Indeks = Indeks + 1Indeks = Indeks + 1 EndforEndfor

1 2 34 5 6

Page 32: Kuliah Ke - 2

Isi dengan 1,3,5,7,9,11MatriksMatriks

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

Indeks = ???For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = ???A(Baris, Kolom) = ???

Indeks = ???Indeks = ??? EndforEndfor

1 3 57 9 13

Page 33: Kuliah Ke - 2

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

18 3 6924 8 70

CETAK ELEMENMatriksMatriks

For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 0A(Baris, Kolom) = 0 EndforEndfor

1836924870

Page 34: Kuliah Ke - 2

PROSES LAINNYAMatriksMatriks

For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = ???A(Baris, Kolom) = ??? ?????? EndforEndfor

PROSES MATRIK DAPAT DIMODIFIKASI, sbb :        Menjumlahkan nilai pada setiap baris        Membuat rata-rata pada setiap baris atau setiap kolom       Mencari nilai tertentu pada matrik       Menjumlahkan/Mengurangkan dua buah matrik• Mengalikan dua buah matrik

Page 35: Kuliah Ke - 2

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

18 3 69

24 8 70

Menjumlahkan setiap barisMatriksMatriksFor Baris = 1 to 2 do

TotalBaris = 0 For Kolom = 1 to 3 do

TotalBaris = TotalBaris + A[Baris,Kolom]

Endfor Print Total BarisEndfor

90

102

Page 36: Kuliah Ke - 2

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

18 3 69

24 8 70

Menjumlahkan C = A + BDua buah MatriksDua buah Matriks

For Baris = 1 to 2 do For Kolom = 1 to 3 do

C[Baris,Kolom] =A[Baris,Kolom]+ B[Baris,Kolom]

Endfor Endfor

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

1 2 3

4 5 6

Page 37: Kuliah Ke - 2

1 8 0 3 6 9

2 4 0 8 7 0

1

Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .

2

1 2 3

18 3 69

24 8 70

MengalikanMatriksMatriks

For Baris = 1 to 2 do For Kolom = 1 to 3 do C[Baris, Kolom] = 0 For K = 1 to P do C[Baris,Kolom] =C[Baris,Kolom]+ A[Baris,K] * B[K,Kolom] Endfor Endfor Endfor

Page 38: Kuliah Ke - 2

Minggu depan :Minggu depan :

- Matriks Jarang - Matriks Jarang - Pengalamatan Matriks - Pengalamatan Matriks