• Tidak ada hasil yang ditemukan

Pertemuan - 3. Array dan Matriks (Bab 2) Oleh : Boldson Herdianto. S., Skom., MMSI.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pertemuan - 3. Array dan Matriks (Bab 2) Oleh : Boldson Herdianto. S., Skom., MMSI."

Copied!
38
0
0

Teks penuh

(1)

Pertemuan - 3

Array dan

Matriks

(Bab 2)

(2)

Apa itu Struktur Data ?

PROGRAM

ALGO

RITMA

STRUKTUR

DATA

(3)

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

(4)

Struktur Data …..

model logika/matematik

yang secara khusus

(5)

Contoh Struktur Data …..

1 7 18 03 69 24 08 70

1

2

3

4

5

6

7

8

Array A satu dimensi :

(6)

Contoh Struktur Data …..

18 03 69

24 08 70

1

Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3

- data 18, 03, 69, 24, 08, 70.

2

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

INISIALISASI

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

0 0 0 0 0 0 0 0

(13)

CETAK ELEMEN

Array / Larik ALGORITMA For Indeks  1 to 8 do Print A[Indeks] Endfor

1

3

5

7

2

9

4

7

1

3

5

7

2

9

4

7

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

PENGALAMATAN

Array / Larik

Lokasi Memori Array

Awal - 100 Jual(1990) 104 Jual(1991) 108 Jual(1992) 112 Jual(1993) 116 Jual(1994) 112 Jual(1995) 124 Jual(1996) 128 Jual(1997) 132 Jual(1998) 136 Jual(1999) 140 Jual(2000)

(20)

Kita lanjutkan

(21)

Struktur Data :

Matriks

Definisi

•struktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks

•Array dua dimensi, yang memiliki indeks baris dan kolom

18 03 69

24 08 70

1

Ar ray B dua di mensi (matr iks) : - j uml ah bari s 2, kol om 3

- d ata 18, 03, 69, 24, 08, 70.

2

(22)

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

(23)

Kamus Data

Matriks

Catatan : Tipe Data sejenis (homogen)

Indeks data memiliki keterurutan

KAMUS

A : 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] >

(24)

Proses Matriks

1. Elemen Matriks diproses Baris demi

Baris

2. Elemen Matriks diproses Kolom demi

Kolom

18 03 69 24 08 70

1

Ar ray B dua di mensi (matr iks) : - j uml ah bari s 2, kol om 3

- d ata 18, 03, 69, 24, 08, 70.

2

(25)

PROSES MATRIKS

Matriks 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

(26)

PROSES MATRIKS

Matriks

18 03 69

24 08 70

1

Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3

- data 18, 03, 69, 24, 08, 70.

2

1 2 3

18

3

69

24

8

70

(27)

PROSES MATRIKS

Matriks 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

(28)

PROSES MATRIKS

Matriks

18 03 69

24 08 70

1

Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3

- data 18, 03, 69, 24, 08, 70.

2

1 2 3

18

3

69

(29)

CONTOH PROSES

Matriks

Mengisi elemen matriks dengan 0

(inisialisasi)

Mengisi elemen matriks dari piranti

masukan

Mencetak elemen matriks ke piranti

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

(30)

INISIALISASI

Matriks

18 03 69

24 08 70

1

Ar ray B dua di mensi (matr iks) : - j uml ah bari s 2, kol om 3

- d ata 18, 03, 69, 24, 08, 70. 2 1 2 3 For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 0 Endfor Endfor

0

0

0

0

0

0

(31)

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

Matriks

18 03 69

24 08 70

1

Ar ray B dua di mensi (matr iks) : - j uml ah bari s 2, kol om 3

- d ata 18, 03, 69, 24, 08, 70. 2 1 2 3 Indeks = 1 For Baris = 1 to 2 do For Kolom = 1 to 3 do

A(Baris, Kolom) = Indeks

Indeks = Indeks + 1

Endfor

Endfor

1

2

3

4

5

6

(32)

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

Matriks

18 03 69

24 08 70

1

Ar ray B dua di mensi (matr iks) : - j uml ah bari s 2, kol om 3

- d ata 18, 03, 69, 24, 08, 70. 2 1 2 3 Indeks = ??? For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = ??? Indeks = ??? Endfor Endfor

1

3

5

7

9

13

(33)

18 03 69

24 08 70

1

Ar ray B dua di mensi (matr iks) : - j uml ah bari s 2, kol om 3

- d ata 18, 03, 69, 24, 08, 70. 2 1 2 3

18

3

69

24

8

70

CETAK ELEMEN

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

18

3

69

24

8

70

(34)

PROSES LAINNYA

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

PROSES MATRIK DAPAT DIMODIFIKASI, sbb : q Menjumlahkan nilai pada setiap baris

q Membuat rata-rata pada setiap baris atau setiap kolom

q Mencari nilai tertentu pada matrik

q Menjumlahkan/Mengurangkan dua buah matrik

(35)

18 03 69

24 08 70

1

Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3

- data 18, 03, 69, 24, 08, 70.

2

1 2 3

18 3 69 24 8 70

Menjumlahkan setiap baris

Matriks

For Baris = 1 to 2 do TotalBaris = 0

For Kolom = 1 to 3 do

TotalBaris = TotalBaris + A[Baris,Kolom]

Endfor

Print Total Baris

Endfor

90 102

(36)

18 03 69

24 08 70

1

Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3

- data 18, 03, 69, 24, 08, 70. 2 1 2 3 18 3 69 24 8 70

Menjumlahkan C = A + B

Dua 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

18 03 69

24 08 70

1

Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3

- data 18, 03, 69, 24, 08, 70.

2

1 2 3

1 2 3

(37)

18 03 69

24 08 70

1

Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3

- data 18, 03, 69, 24, 08, 70. 2 1 2 3 18 3 69 24 8 70

Mengalikan

Matriks 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

(38)

Minggu depan :

- Matriks Jarang

Referensi

Dokumen terkait

Ciri-ciri subjek dalam penelitian ini yaitu : lanjut usia yang telah berumur 60 tahun ke atas, lanjut usia tinggal dalam lingkungan UPTD Panti Sosial Tresna Werdha Nirwana

Pembangunan Rumah Oleh Perum Perumnas Provinsi Jawa Barat Tahun 2011. No Nama

 Secara Nasional produksi padi Provinsi Sulawesi Tengah tahun 2015 mempunyai kontribusi sebesar 1,35 persen dari total produksi padi nasional sebesar 75,36 juta ton

Secara terinci, matriks aktualisasi telah mencoba menjabarkan masing-masing sila dari Pancasila mulai dari perwujudan dan aktualisasinya, hingga implikasinya dalam penanganan

PENCAIRAN GAJI SAMPAI DENGAN PENGENAAN PAJAK PENGHASILAN PASAL 21 ATAS PEGAWAI NEGERI SIPIL DI RUMAH SAKIT UMUM DAERAH SOEDIRAN MANGUN SUMARSO3.

Penelitian ini bertujuan untuk mengetahui tingkat infestasi protozoa saluran pencernaan (Eimeria sp.) pada kerbau lumpur (Bubalus bubalis Linn.) di Kecamatan Jati

Hampir semua wilayah pesisir di gorontalo utara memiliki topografi yang tidak rata atau bergelombang, dan akibatnya pengelolaan yang didarat yang menghilangkan daerah penyangga

Pada Lembaga Pemasyarakatan Kelas IIb Kota Blitar masih menggunakan sistem pendataan narapidana secara manual, seperti mencatat data-data narapidana ke dalam buku