kuliah ke - 2

Post on 22-Feb-2016

78 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

Kuliah Ke - 2

Array dan Matriks (Bab 2)Informatics Engineering DepartmentTRUNOJOYO UNIVERSITY

Apa itu Struktur Data ?

PROGRAM

ALGORITMA

STRUKTUR DATA

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

Struktur Data …..

model logika/matematik yang secara khusus mengorganisasi data

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Minggu depan :Minggu depan :

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

top related