Pertemuan ke-3 (Matriks).pdf (1,492Kb)

  Pertemuan - 3

Array dan (Bab 2)

Oleh : Boldson Herdianto. S., Skom., MMSI.

Matriks

  Apa itu Struktur Data ?

PROGRAM ALGO

  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

  18 03 69

  1

  24 08 70

  2 Struktur Data …..

  Operasi Tempat terhadap data

Penyimpanan 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

  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 - Bo ros memori jika banyak elemen yang tidak digunakan - Struktur Data Statis

  PROSES LARIK Array / Larik Program Proses_Larik KAMUS {jumlah elemen larik}

  Const : N = 8 Indeks : integer {deklarasi larik A dengan tipe data integer} A : array [1..N] of integer ALGORITMA For Indeks  1 to N do PROSES LARIK Endfor Catatan :

  Tipe Data sejenis (homogen)

  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

  CETAK ELEMEN Array / Larik ALGORITMA For Indeks  1 to 8 do

  2 A[Indeks]

  9

  4

  7

  Print

  5

  3

  1

  7 Endfor

  5

  7

  1

  3

  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

  5

  7

  1

  3

  2

  9

  4

  7

  q Menjumlahkan nilai seluruh elemen larik q

  

Membuat rata-rata nilai seluruh elemen 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

  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)
PENGALAMATAN Array / Larik Awal - 100 Jual(1990) Lokasi Memori Array 108 Jual(1992) 104 Jual(1991) 116 Jual(1994) 112 Jual(1993) 124 Jual(1996) 112 Jual(1995) 132 Jual(1998) 128 Jual(1997) 136 Jual(1999)

Kita lanjutkan

untuk yang satu ini …..

  Struktur Data : Matriks

  Definisi

  • struktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks
  • •Array dua dimensi, yang memiliki indeks baris dan

    kolom - d ata 18, 03, 69, 24, 08, 70. - j uml ah bari s 2, kol om 3 Ar ray B dua di mensi (matr iks) :
  • 1 18

      1 03 2 69 3 2

      24 08 70 KELEBIHAN & KEKURANGAN Matriks

      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

      Kamus Data Matriks 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] > Catatan : Absensi : array [1..100, 1..2] of Waktu Tipe Data sejenis (homogen) Proses Matriks 1.

      Elemen Matriks diproses Baris demi Baris

      Kolom - d ata 18, 03, 69, 24, 08, 70. - j uml ah bari s 2, kol om 3 Array B dua di mensi (matr iks) : 1 18

      1 03 2 69 3 2

      24 08 70 PROSES MATRIKS Matriks Program Proses_Matrik_BarisdemiBaris Const : N = 3 {jumlah kolom array} Const : M = 2 {jumlah baris matrik} KAMUS A : array [1..M, 1..N] of integer Baris, Kolom : integer For Kolom  1 to N do For Baris  1 to M do ALGORITMA Endfor PROSES MATRIK Endfor

      PROSES MATRIKS Matriks

    Array B dua dimensi (matriks) :

    • - jumlah baris 2, kolom 3 - data 18, 03, 69, 24, 08, 70.

      1

      2

      3

      18 03 69

      1

      18

      3

      69

      24 08 70

      2

      24

      8

      70

      Program Proses_Matrik_KolomdemiKolom PROSES MATRIKS Matriks Const : N = 3 {jumlah kolom array} Const : M = 2 {jumlah baris matrik} KAMUS A : array [1..M, 1..N] of integer Baris, Kolom : integer For Baris  1 to M do For Kolom  1 to N do ALGORITMA Endfor PROSES MATRIK Endfor

      PROSES MATRIKS Matriks

    Array B dua dimensi (matriks) :

    • - jumlah baris 2, kolom 3 - data 18, 03, 69, 24, 08, 70.

      1

      2

      3

      18 03 69

      1

      18

      3

      69

      24 08 70

      2

      24

      8

      70 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

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

      A(Baris, Kolom) = 0 - j uml ah bari s 2, kol om 3

    Ar ray B dua di mensi (matr iks) :

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

      1 03 2 69 3 2

      24 08 70 Isi dengan 1,2,3,4,5,6 Matriks Indeks = 1 For Baris = 1 to 2 do For Kolom = 1 to 3 do

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

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

      1 24

      2 08

      3 70

      4

      5

      6

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

      18 03 69

      24 08 70

    • - j uml ah bari s 2, kol om 3 1 Ar ray B dua di mensi (matr iks) : - 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 CETAK ELEMEN Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do

        A(Baris, Kolom) = 0 Ar ray B dua di mensi (matr iks) :

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

      • - j uml ah bari s 2, kol om 3 Endfor
      • 1 18

          70 Endfor

          8

          24

          69

          18

          1 03 2 69 3 2

          18 24

          3 08

          69 70

          24

          8

          70 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 q Menjumlahkan nilai pada setiap baris q Membuat rata-rata pada setiap baris atau setiap kolom q Mencari nilai tertentu pada matrik

          Menjumlahkan/Mengurangkan dua buah matrik

          Menjumlahkan setiap baris Matriks For Baris = 1 to 2 do

          TotalBaris = 0 For Kolom = 1 to 3 do

          

        TotalBaris = TotalBaris + A[Baris,Kolom]

        - jumlah baris 2, kolom 3

        Array B dua dimensi (matriks) : - data 18, 03, 69, 24, 08, 70.

          Endfor Print Total Baris 1 2 3 Endfor 1 18 03 69 24

          18 08

          3

          69 70

          90

          2

          24

          8 70 102 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]

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

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

          18 18 24 03 08 8 3 70 69 70 69 1 2 24 18 1 4 08 03 5 2 69 70 6 3

          Mengalikan Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do C[Baris, Kolom] = 0 For K = 1 to P do Array B dua dimensi (matriks) :

          C[Baris,Kolom] =C[Baris,Kolom]+ A[Baris,K] + B[K,Kolom] - data 18, 03, 69, 24, 08, 70.

        • - jumlah baris 2, kolom 3

          Endfor Endfor 1 2 3 Endfor 1 18 03 69 24

          18 08

          3

          69 70

          2

          24

          8

          70 Minggu depan :

        • Matriks Jarang

          - Pengalamatan Matriks