3. Array/ Larik
• Array adalah tipe data terstruktur yang terdiridari sejumlah elemen yang mempunyai tipesama.
• Mempunyai jumlah elemen yang tetap.
• Banyaknya elemen dalam array ditunjukkan oleh• Banyaknya elemen dalam array ditunjukkan olehsuatu indeks
• Array dapat bertipe data sederhana seperti byte, integer, real, boolean, char, string dan tipe data scalar atau subrange.
• Array yang akan dipergunakan harus dideklarasikan terlebih dahulu.
Mengapa Perlu Array?
• Karena Variabel dengan tipe dasar hanya dapat menyimpan satu buah data. Jika ada banyak data dengan tipe yang sama, maka tidak efisien jika disimpan oleh Variabel dengan tipe dasar. Karena itu, array diperlukan untuk menyimpan sekumpulan data yang tipenya sama.itu, array diperlukan untuk menyimpan sekumpulan data yang tipenya sama.
• Misalnya : 5 buah data dengan tipe yang sama dapat saja disimpan dalam 5 buah variabel, tetapi bagaimana jika ada 1000 data dengan tipe yang sama? Sangat tidak efisien membuat 1000 variabel !!!
Macam Array
• Array Satu Dimensi
Array Satu Dimensi adalah sekelompok data
yang terdiri dari satu baris atau satu kolom
saja. saja.
• Array Dua Dimensi
Array Dua Dimensi sekelompok data data
yang terdiri dari beberapa baris dan kolom.
Array Satu Dimensi
Bentuk Deklarasi :
Index = Range Jumlah Data
NamaVariabel : Array[Index] of TipeData;
Index = Range Jumlah Data
Contoh :
Nama : Array[1..5] of String[25];
Nilai : Array[1..10] of Integer;
Huruf : Array[1..4] of char;
Deklarasi Konstanta Array
Contoh :
Nilai : Array[1..4] of Integer =(7,10,21,20);
Huruf : Array[1..5] of char =(‘A’,’B’,’C’,’D’,’E’);
Artinya :
Nilai[1]=7, Nilai[2]=10,Nilai[3]=21,Nilai[4]=20
Huruf[1]=A, Huruf[2]=B, Huruf[3]=C, Huruf[4]=D, Huruf[5]=E
Deklarasi Tipe Data
Tipe data dapat dibuat sendiri dengan tujuan
untuk memudahkan penulisan program dan
efisiensi penggunaan memori.
Bentuk Pernyataan :
Type
Nama Tipe = tipe data
Contoh Tipe Data Baru
1. Var
NilaiHuruf : array [1..5] of char ;
Menjadi :
Type
huruf = array [1..5] of char
Var
NilaiHuruf : huruf;
Bulan = Array[(Jan, Peb, Mar)] of integer;
Var
Jumlah : Bulan;
Variabel Jumlah menyatakan Jumlah Data
betipe Integer setiap bulan. Misalnya :
Jumlah[Jan] : = 125 ;
Jumlah{Peb] : = 75 ; NilaiHuruf : huruf;
2. Var
Jumlah: array [(Jan, Peb, Mar)] of integer ;
Dapat dibentuk menjadi sebuah tipe data baru, mis sbb :
Type
Bulan = (Jan, Peb, Mar) ;
Var
Jumlah : array [Bulan] of integer ;
Atau
Type
Jumlah{Peb] : = 75 ;
Jumlah[Mar] : = 18 ;
Program
Contoh-1
• Hitunglah nilai rata-rata dari Nilai mahasiswa sebanyak n
dengan tampilan output spt di bawah ini. Jumlah Data (n),
Nama dan Nilai adalah data masukan.
No Nama Nilai
======================================================
1 Amir 76
2 Budi 82
3 Indah 66
4 Maria 78
.. ……. …
.. ……. …
.. ……. …
n ……. …
============================
Nilai Rata-rata = …………
Algoritma
• Mulai
• Deklarasikan var yang digunakan
• Input Data
Hitung Nilai Rata-rata• Hitung Nilai Rata-rata
• Cetak Hasil
• Selesai
Flowchart
Program
Input Data
Hasil Program
Contoh-2
• Bilangan Prima:
Bilangan prima p adalah bil bulat yang hanya
dapat mempunyai pembagi p dan 1. Dengan
kata lain bilangan prima tidak mempunyai kata lain bilangan prima tidak mempunyai
pembagi selain dari 1 dan dirinya sendiri.
• Buatlah program untuk menentukan bilangan
prima dari 2 s/d 100 dengan output sbb:
2 3 5 7 11 13 17 .......
Analisa Masalah
• Bilangan Prima (p) yang dicari adalah bil. N >1, artinya 2,3,4,5,….dst.
• Setiap Bilangan N harus dibagi dengan bilangan lain (Bilangan pembagi).
• Bilangan pembagi mulai dari 2 hingga N-1. Mis. • Bilangan pembagi mulai dari 2 hingga N-1. Mis. Pembagi angka 5 adalah 2,3,dan 4. Pembagi angka 6 adalah 2,3,4,dan 5. dst.
• Periksa hasil bagi dari Bilangan N, apakah habis dibagi oleh bilangan pembagi.
• Jika Ya, maka bilangan tersebut bukan Bil Prima.
Algoritma
• Mulai
• Deklarasikan Variabel
• Tentukan Bil. Bulat mulai dari I = 2 hingga 100.
• Tentukan bahwa semua bil Bulat adalah bil Prima. Prima = iPrima = i
• Cek Bil bulat mulai dari 2 hingga 100, apakah habis dibagi oleh bilangan lain.
• Jika YA, maka Ganti Prima = i menjadi Prima=0
• Cetak bil. Prima yang tidak sama dengan Nol.
• Selesai
Flowchart
Program
Output Program
Latihan
1. Buatlah program untuk menentukan bilangan antara 1 s.d100 yang habis dibagi 3 dan 5.
2. Buatlah program dengan output sbb:
====================================
No Nama Alamat Pekerjaan StatusNo Nama Alamat Pekerjaan Status
====================================
1 Budi Jl. Merapi 20 Guru Kawin
2 ……. ……… ……….. ……..
.
.
n ……. ……… ……….. ……..
=====================================
Array Dua Dimensi
• Array dua dimensi terdiri dari elemen-elemen
baris dan kolom.
• Umumnya digunakan untuk mengolah data Tabel
atau data matriks dalam matematika.atau data matriks dalam matematika.
• Nilai Baris dan kolom dapat dinyatakan dengan
variabel kontrol dalam proses perulangan.
• Banyak digunakan untuk menyelesaikan
persamaan-persamaan linier dalam Matematika
Teknik.
Deklarasi Variabel
Bentuk Deklarasi:
Contoh :
Var Nama Var : array [index1, index2] of Tipe Data
Contoh :
Atau
Type Larik = array [1..50, 1..50] of integer ;
Var X : Larik
Var X : array [1..50, 1..50] of integer ;
Deklarasi Konstanta
Contoh :
Const
Tabel : Array[1..3,1..2] of Integer = ((1,2),(3,4),(5,6));Tabel : Array[1..3,1..2] of Integer = ((1,2),(3,4),(5,6));
Artinya :
Tabel[1,1]=1, Tabel[1,2]=2, Tabel[2,1]=3, Tabel[2,2]=4, Tabel[3,1]=5, Tabel[3,2]=6
Program
Output Program
Matriks
Sebuah Matriks A ordo mxn dinyatakan dengan
bentuk :
Macam-Macam Matrik
1. Matriks bujur sangkar
2. Matriks Identitas
3. Matriks Transpose
4. Matriks Determinan4. Matriks Determinan
5. Matriks Invers
6. Matriks skalar
7. Matriks segitiga bawah dan segitiga atas
8. dsb
Contoh-3
Buatlah program untuk input data Matriks A
dengan ordo m x n. Variabel input adalah m,n,
dan data matriks. Tampilkan Matriks dan nilai
elemen Matriks.elemen Matriks.
Output Program
Penjumlahan/Pengurangan Matriks
Penjumlahan Matriks :
Syarat :
• Kedua Matriks harus berukuran sama.
• A + B = B + A• A + B = C dimana Cij = (Aij + Bij)A + B = C dimana Cij = (Aij + Bij)
• B + A = C dimana Cij = (Bij + Aij)
Pengurangan Matriks:
• Kedua Matriks harus berukuran sama.
• A - B ≠ B - A• A - B = C dimana Cij = (Aij - Bij)
• B - A = D dimana Dij = (Bij - Aij)
Bentuk Matriks
Contoh-3
Buatlah program untuk menjumlahkan 2 buah Matriks yaitu Matrik Amn + Bmn = Cmn. Input adalah Data Matrik A dan B sedangkan outputnya adalah Matrik A, B, dan C.
Algoritma:Algoritma:
• Mulai
• Tentukan Data Matrik A
• Tentukan Data Matrik B
• Jumlahkan Data Matrik A dan B
• Cetak Hasil
• Selesai
Flowchart
Program Penjumlahan Matriks
Output Program
Transpose Matriks
• Transpose matrik B dinotasikan BT atau didapatkan dengan
cara menukar elemen baris ke i matrik B menjadi elemen
kolom ke i. Bila matrik B berukuran mxn, maka BT berukuran
nxm dan elemen yang ke Bij Menjadi elemen Bji.
• Bentuk Transpose dari Matrik B adalah :• Bentuk Transpose dari Matrik B adalah :
Contoh-4
Buatlah Program untuk mencari Transpose dari
sebuah Matriks.
Variabel input adalah :
Jumlah baris dan kolom• Jumlah baris dan kolom
• Data dari Matriks
• Output adalah : Matriks Transpose
Algoritma
• Mulai
• Tentukan Jumlah Baris dan Kolom Matriks
• Input Data Matrik
Cari Transpose Matriks• Cari Transpose Matriks
Tukar indeks Baris menjadi indeks Kolom dan indeks
Kolom menjadi indeks Baris.
• Cetak Hasil
• Selesai
ProgramProgram TransposeMatrix;
Uses crt;
Type Trans = Array [1..20,1..20] of integer;
Var A: Trans;
i,j,baris,kolom :integer;
Begin
Clrscr;
{Tentukan Jumlah Baris dan Kolom Matriks B}
Write('Masukkan Jumlah Baris : ');Readln(baris);
Write('Masukkan Jumlah Kolom : ');Readln(kolom);
Writeln;
{Input Data Matriks}
Gotoxy(1,5);Write(‘B= ');
for i := 1 to baris do
for j := 1 to kolom do
begin
Gotoxy(j*5,i*2+3);
Readln(B[i,j]);
for j := 1 to baris do
begin
Gotoxy(j*5+20,i*2+3);
Write(B[j,i]);
end;
readln;
End.
end;
{Cari Transpose dan Cetak
Hasilnya}
Gotoxy(20,5);Write(‘BT=');
for i := 1 to kolom do
Output Program
Perkalian Matriks
Syarat :
• Matriks A dan B hanya dapat dikalikan jika
jumlah Kolom Matriks A = Jumlah Baris
Matriks B.Matriks B.
• Matriks B x A hanya dapat dikalikan jika
jumlah Kolom Matriks B = Jumlah Baris
Matriks A.
Bentuk Perkalian Matriks
Perhatikan bahwa A berukuran 2 × 2 dan B berukuran 2 × 3 maka AB berukuran 2 × 3.
Perkalian Matriks
Buatlah program untuk mengalikan 2 buah matriks. Variabel input adalah :
• Jumlah baris dan kolom dari masing2 Matriks.
• Data masing2 Matriks• Data masing2 Matriks
Output :
• Kedua Matriks dan Hasil Kali Matriks.
Flowchart
Program
Hasil Program
Determian dan Invers Matriks
Buatlah program untuk mencari Determinan dan
Invers dari Matriks ordo 2x2 yang didefiniskan
sbb :
Algoritma
• Mulai
• Deklarasikan Variabel
• Input Data Matrik
• Cetak Data Matriks• Cetak Data Matriks
• Hitung Nilai Determinan
• Hitung Nilai Invers
• Cetak Matriks Invers
• Selesai
Program Invers Ordo 2x2
program invers_Ordo_2x2;
uses crt;
var n,i,j,k,l,m : integer;
x,y,Det,a1,b,c,d,p : real;
a : array[1..2,1..2] of real;
begin
for j:=1 to 2 do
begin
write ('A(',i,',',j,') = ');
readln (a[i,j]);
end;
end;
clrscr;begin
writeln ('Program Pencarian Invers Matriks');
writeln ('Ordo Matrik (2 x 2).');
writeln;
{Masukkan Data Matriks}
for i:=1 to 2 do
begin
clrscr;
writeln;
{Cetak Matriks}
for i:=1 to 2 do
begin
for j:=1 to 2 do
write (' ',a[i,j]:6:3);
writeln;
end;
for j:=1 to 2 do
Begin
if i=j then
x:= x*a[i,j]
else
y:= y*a[i,j];
end;end;
{Mencari Deteminan}
x:=1;y:=1;
for i:=1 to 2 do
begin
end;
writeln;
end;
Det := x - y;
writeln('Determinan = ',Det:6:2);
writeln;
writeln('Mencari InversMatriks : ');
writeln;
for i:=1 to 2 do
begin
for j:=1 to 2 do
p:=a[i,j];
a[i,j]:=a[i+1,j+1]/det;
end
else
a[i,j]:=p/det
end
elsefor j:=1 to 2 do
begin
if i=j then
begin
if i=1 then
Begin
else
a[i,j]:=-a[i,j]/det;
end;
end;
{Cetak Hasil Invers}
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(a[i,j]:6:2,' ');write(a[i,j]:6:2,' ');
end;
writeln;
end;
readln;
End.
Hasil Program
Latihan
1. Buatlah Program untuk mencari
Data Maksimum dan Minimum dari
N data masukan. Variabel input N data masukan. Variabel input
adalah Jumlah data, Data.
2. Buatlah program untuk menghitung
pengurangan Matrik AT – B = C.
TUGAS-3
Buatlah program untuk mengalikan Duabuah Matrik Tranpose AT x BT. Hasil kaliadalah Matriks C. Data input adalah ordomatriks A dan B, dan Data dari Matrik A danB. Output adalah Matrik A, B, AT , BT dan C.B. Output adalah Matrik A, B, AT , BT dan C.
Rumus :
Syarat Perkalian : n1 = m2
A m1n1 x B m2n2 = Cm1n2
Selesai
Top Related