Download - Struktur Data - Efendi2612's Blog | Just another …€¦ · PPT file · Web view · 2010-10-19Matriks Array yang hanya berisi bilangan dan tidak ada data alfabetisnya Klasifikasi

Transcript

Array dan Matriks

ARRAY / LARIK

Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.

Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.

DEKLARASItipe_data nama_var_array [ukuran];

tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll)nama_var_array : menyatakan nama variabel yang dipakai.ukuran : menunjukkan jumlah maksimal elemen larik.

Contoh :Int nilai[6];

      

Array (Larik) Set item data yang disusun secara baik menjadi

rangkaian dan diacu atau ditunjuk oleh satu identifier Contoh : Nilai = (56 42 89 65 48) . Item data individual dalam array bisa ditunjuk secara

terpisah dengan menyatakan posisinya dalam array itu . * Nilai(1) menunjuk 56 . * Nilai(2) menunjuk 42 .

Bilangan yang ditulis dalam tanda kurung menandakan posisi item individual dalam array (disebut juga subscript / indeks)

Array (Larik)

Variabel bisa digunakan sebagai subscript, misalnya Nilai(i). * Jika i = 2 maka menunjuk ke Nilai(2) yaitu 42 * Jika i = 4 maka menunjuk ke Nilai(4) yaitu 65

Item data individual dalam suatu array sering disebut elemen.

Matriks Array yang hanya berisi bilangan dan tidak ada data

alfabetisnya Klasifikasi Array

* Array 1 dimensi* Array multi dimensi

Array Multi Dimensi

Mempunyai elemen-elemen yang disusun ke dalam baris dan kolom dan digunakan sebagai tabel data

Contoh : Nilai ujian dari mahasiswa satu kelas untukbeberapa mata kuliah bisa ditempatkan dalam array 2 dimensi

Siswa ke B. Inggris Matematik

a (no. baris)

(kolom 1) (kolom 2)

1A(1,1) =

56 A(1,2) =

44 2 A(2,1) =

42 A(2,2) =

36 3 A(3,1) =

89 A(3,2) =

73 4 A(4,1) =

65 A(4,2) =

86

5A(5,1) =

48 A(5,2) =

51

56 44

42 36

89 73

65 86

48 51

A =

A =

Deklarasi Array .

Array 1 dimensi .Variables Nilai: array [1..5] of integerA : array [1..4] of real

Array 2 dimensi. Variables A : array [1..5, 1..2] of integer

Penanganan Array

Metode dasar penanganan array : Mencari nilai terbesar. Mencari nilai terkecil. Menghitung nilai rata-rata. Menghitung nilai total. Menghitung jumlah nilai di bawah rata-rata

Menyortir Array (Sort) . Buble sort. Straight selection sort . Mencari/Meneliti Array (Search) . Linear search

Penanganan Array . Contoh : Nilai ujian mahasiswa akan dibaca

dalam array. Kemudian akan ditampilkan nilai terbesar, nilai terkecil, nilai rata-rata, nilai total, dan jumlah nilai di bawah rata-rata.

Tahapan penanganan array. Input nilai data ke dalam array . Mengkalkulasi nilai terbesar, terkecil, total, dan

rata-rata . Mengkalkulasi jumlah nilai di bawah rata-rata Menampilkan hasilnya (output)

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 = 1For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = indeksA(Baris, Kolom) = indeks

Indeks = indeks+2Indeks = indeks+2 EndforEndfor

1 3 57 9 11

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) = 1A(Baris, Kolom) = 1 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]x A[Baris,K] x B[K,Kolom] Endfor Endfor Endfor