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. DEKLARASI tipe_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 Matematika (no. baris) (kolom 1) (kolom 2) 1 A(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 5 A(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 : Matriks Definisi struktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks Array dua dimensi, yang memiliki indeks baris dan kolom
KELEBIHAN & KEKURANGAN Matriks 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
Kamus Data KAMUS A : array [1..2, 1..3] of integer {ukuran 2x3} 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] > Absensi : array [1..100, 1..2] of Waktu Catatan : Tipe Data sejenis (homogen) Indeks data memiliki keterurutan
Proses Matriks Elemen Matriks diproses Baris demi Baris Elemen Matriks diproses Kolom demi Kolom
PROSES MATRIKS Endfor 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 Baris demi Baris
PROSES MATRIKS Matriks Baris demi Baris 18 3 69 24 8 70
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 Kolom demi Kolom
PROSES MATRIKS Matriks Kolom demi Kolom 18 3 69 24 8 70
CONTOH PROSES ALGORITMA For Baris 1 to M do For Kolom 1 to N do Matriks ALGORITMA For Baris 1 to M do For Kolom 1 to N do PROSES MATRIKS Endfor Mengisi elemen matriks dengan 0 (inisialisasi) Mengisi elemen matriks dari piranti masukan Mencetak elemen matriks ke piranti keluaran A[Baris,Kolom]=0 Input A[Baris,Kolom] Print A[Baris,Kolom]
INISIALISASI For Baris = 1 to 2 do For Kolom = 1 to 3 do Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 0 Endfor
Isi dengan 1,2,3,4,5,6 1 2 3 4 5 6 Indeks = 1 For Baris = 1 to 2 do Matriks Indeks = 1 For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = Indeks Indeks = Indeks + 1 Endfor 1 2 3 4 5 6
Isi dengan 1,3,5,7,9,11 1 3 5 7 9 11 Indeks = 1 For Baris = 1 to 2 do Matriks Indeks = 1 For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = indeks Indeks = indeks+2 Endfor 1 3 5 7 9 11
CETAK ELEMEN 8 70 24 18 69 3 18 3 69 24 8 70 For Baris = 1 to 2 do Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 0 Endfor 8 70 24 18 69 3 18 3 69 24 8 70
PROSES LAINNYA For Baris = 1 to 2 do For Kolom = 1 to 3 do Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 1 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 Mengalikan 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] Endfor Print Total Baris 18 3 69 90 24 8 70 102
Menjumlahkan C = A + B + For Baris = 1 to 2 do For Kolom = 1 to 3 do 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 18 3 69 24 8 70 1 2 3 4 5 6 +
Mengalikan For Baris = 1 to 2 do For Kolom = 1 to 3 do 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]x A[Baris,K] x B[K,Kolom] Endfor 18 3 69 24 8 70