Anda di halaman 1dari 11

Modul 3

ARRAY DAN MATRIKS


KOMPETENSI DASAR
Mahasiswa mampu membuat array suatu variabel dalam program
Mahasiswa mampu membuat program dengan menggunakan operasi array untuk menyelesaikan persoalan fisis
Mahasiswa mampu menuliskan matriks dalam program.
Mahasiswa mampu memanipulasi matriks dalam program
Mahasiswa mampu menggunakan matriks dalam program untuk menyelesaikan persamaan linear

ARRAY (LARIK)
1. Pembuatan Array
Array atau larik adalah tipe data terstruktur yang berguna untuk menyimpan
sejumlah data yang bertipe sama. Setiap data dalam sebuah larik disebut elemen.
Elemen-elemen dalam larik dinyatakan dengan indeks. Banyaknya indeks menunjukkan
dimensi larik yang bersangkutan. Cara penulisan larik dalam bahasa Matematika dan
MATLAB serta istilah pemakaian dalam Fisika ditapilkan pada Tabel 7.
Tabel 7. Cara Penulisan Larik dalam bahasa Matematika dan MATLAB
Matematika MATLAB Fisika Keterangan
Ai A(i) Elemen tensor rank satu Larik berdimensi satu
Aij A(i,j) Elemen tensor rank dua Larik berdimensi dua
Aijk A(i,j,k) Elemen tensor rank tiga Larik berdimensi tiga

Ilustrasi larik dengan 3 elemen (indeks i dan j masing-masing mulai dari 1 sampai 3 )
ditunjukkan pada Gambar 8.

Ai Aij

A(1) A(1,1) A(1,2) A(1,3)

A(2) A(2,1) A(2,2) A(2,3)

A(3) A(3,1) A(3,2) A(3,3)

i i
j
(a) (b)
Gambar 8. Larik dengan 3 elemen tiap indeks. (a). dimensi satu (b). dimensi dua

Bagaimana cara menuliskan larik dalam MATLAB ? Salah satu cara menuliskan array
adalah dengan menuliskan elemen array dalam tanda kurung kotak []. Elemen-
elemen dalam satu baris dipisahkan dengan spasi dan elemen-elemen dalam kolom
dipisahkan dengan tanda titik koma ;.
Contoh : Tuliskan data x dalam bentuk vektor baris dan y dalam bentuk vektor kolom .

Modul Pemrograman Komputer Oleh Warsono 1


Modul 3
x 1 2 3 4 5 6 7 8 9 10
y 1 4 9 16 25 36 49 64 81 100
Penyelesaian :
listing program M-File :

x=[1 2 3 4 5 6 7 8 9 10];
y=[1;4;9;16;25;36;49;64;81;100];
disp(['data x adalah :',num2str(x)])
disp('data y adalah :')
disp(y)

keluaran program :

data x adalah :1 2 3 4 5 6 7 8 9 10
data y adalah :
1
4
9
16
25
36
49
64
81
100
Bagaimana cara mengakses elemen larik ? Cara mengakses larik adalah dengan
menuliskan nama variabel diikuti tanda kurung () yang diisi dengan lokasi indeks
elemen, misalnya x(1,2) yang menunjukkan isi elemen x pada baris 1 kolom 2.
Contoh : Masukkan elemen array x(2) kedalam variabel a dan elemen array y(4)
kedalam variabel b, tampilkan isinya.
Penyelesaian :
listing program
x=[1 2 3 4 5 6 7 8 9 10];
y=[1;4;9;16;25;36;49;64;81;100];
disp(['data x adalah :',num2str(x)])
disp('data y adalah :')
disp(y)
a=x(2);
b=y(4);
disp(['nilai a = x(2)= ',num2str(a)])
disp(['nilai b = y(4)= ',num2str(b)])

keluaran program

data x adalah :1 2 3 4 5 6 7 8 9 10
data y adalah :
1
4
9
16
25
36
49
64
81
100
nilai a = x(2)= 2
nilai b = y(4)= 16

Modul Pemrograman Komputer Oleh Warsono 2


Modul 3
Setiap array dapat mengandung elemen-elemen array, dengan kata lain array dalam
array.
Contoh : Buatlah array c yang mengandung elemen array a=[1 2] dan b=[10 20]
Penyelesaian :
listing program
a=[1 2];
b=[10 20];
c=[a; b];
d=[a b];
disp(['array a adalah : ',num2str(a)])
disp(['array b adalah : ',num2str(b)])
disp('array c = [a;b] adalah : ')
disp(c)
disp('array d = [a b] adalah : ')
disp(d)
keluaran program
array a adalah : 1 2
array b adalah : 10 20
array c = [a;b] adalah :
1 2
10 20
array d = [a b] adalah :
1 2 10 20
Pembuatan array dalam MATLAB disamping menggunakan cara seperti di atas, ada
cara lain yang dapat rangkum dalam Tabel 8.
Tabel 8. Array Dasar
Pembentukkan Array Keterangan
x = awal : akhir : Membuat vektor baris x yang dimulai dari
Contoh : nilai awal, naik satu-satu, diakhiri pada nilai
x = 0:5 akhir
x =
0 1 2 3 4 5
x = awal : kenaikan:akhir : Membuat vektor baris x yang dimulai dari
Contoh : nilai awal, naik sebesar kenaikan, diakhiri
x=0:4:20 pada nilai akhir
x =
0 4 8 12 16 20
X = linspace(awal,akhir,n) : Menciptakan vektor baris x yang dimulai
Contoh : dengan nilai awal, diakhiri dengan nilai
x=linspace(0,50,6) akhir, mempunyai n elemen
x =
0 10 20 30 40 50
X = logspace(awal,akhir,n) Menciptakan vektor kolom x dengan elemen
Contoh : berjarak logaritmis dimulai dengan 10awal,
x=logspace(0,5,6) diakhiri dengan 10akhir, mempunyai n elemen
x =
1 10 100 1000 10000 100000

2. Aplikasi Array dalam Persoalan Fisika


Pada bagian ini akan diterapkan penggunaan array dalam penyelesaian kasus fisis
sederhana. Persoalan yang diangkat adalah gerak benda dengan percepatan tetap.

Modul Pemrograman Komputer Oleh Warsono 3


Modul 3
Contoh : Sebuah benda yang sedang bergerak dengan kecepatan 10 m/det dipercepat
dengan percepatan 2 m/det 2 selama 10 detik. Hitung jarak s dan kecepatan v
benda setiap kenaikkan waktu 0,1 detik mulai detik ke 0 sampai detik ke 10
dan nyatakan hasilnya dalam bentuk grafik : s vs t dan v vs t.

Penyelesaian:
Rumus yang digunakan :
1 2
s=v o t + 2 at ; v=v o + at
dengan vo = 10, a = 2 dan t = 0 : 0,1: 10
Listing program
t=0:0.1:10; % Array untuk vektor baris t
vo=10; % Nilai kecepatan awal
a=2; % Nilai percepatan
s=vo*t+0.5*a*t.^2; % Hitung nilai jarak s
v=vo+a*t; % Hitung nilai kecepatan v
disp([t' s' v']) % Tampilkan pada layar nilai t,s dan v dalam bentuk vektor
kolom
subplot(1,2,1),plot(t,s,'b') % menggambar grafik s vs t pada bagian pertama
xlabel('t (detik)') % memberi label sumbu horisontal dg tulisan t (detik)
ylabel('s (meter)') % memberi label sumbu vertikal dg tulisan s (meter)
title(' Grafik Hubungan s vs t') % Menulis judul grafik
grid on % menampilkan grid (kisi) pada gambar
subplot(1,2,2),plot(t,v,'b') % menggambar grafik v vs t pada bagian kedua
xlabel('t (detik)') % memberi label sumbu horisontal dg tulisan t (detik)
ylabel('v (meter/detik)') % memberi label sumbu vertikal dg tulisan v
(meter/detik)
title(' Grafik Hubungan v vs t') % Menulis judul grafik
grid on % menampilkan grid (kisi) pada gambar

Tampilan Hasil Grafik Hubungan s vs t Grafik Hubungan v vs t


200 30

0 0 10 180 28
0.1 1.01 10.2
160 26
0.2 2.04 10.4
0.3 3.09 10.6 140 24
0.4 4.16 10.8
v (meter/detik)

120 22
s (meter)

.. .. 100 20

80 18
9.9 197.01 29.8
10 200 30 60 16

40 14

20 12

0 10
0 2 4 6 8 10 0 2 4 6 8 10
t (detik) t (detik)

MATRIKS
Matriks memegang peranan penting dalam penyelesaian persamaan linear yang
terdapat dalam berbagai terapan (matematika, fisika, maupun teknik). Pentingnya
matriks mengilhami penciptaan bahasa pemrograman MATLAB sehingga nama MATLAB
berasal dari singkatan Matrix Laboratory. Sesungguhnya elemen dasar dari MATLAB
adalah matriks. Pada bagian ini akan dibicarakan bagaimana cara menuliskan matriks

Modul Pemrograman Komputer Oleh Warsono 4


Modul 3
dalam program, memanipulasi matriks dan menggunakan matriks untuk
menyelesaikan persoalan persamaan linear.
1. Penulisan Matriks
Setiap matriks terdiri atas elemen-elemen baris dan kolom. Jumlah baris dan kolom
biasanya dinyatakan dengan indeks, misalnya matriks Aij dengan i menunjukkan
jumlah baris dan j menunjukkan jumlah kolom. Matriks dalam bahasa pemrogaman
MATLAB ada 2 macam yaitu matriks umum matriks khusus. Matriks umum adalah
matriks yang nilai elemennya dimasukkan oleh pengguna dan matriks khusus nilai
elemennya sudah disediakan oleh MATLAB.
a. Matriks Umum
Penulisan matriks umum mirip dengan penulisan array, yaitu pengguna
memasukkan elemen matriks diantara dua kurung siku atau kurung kotak [].
Pembatas elemen-elemen matriks dalam satu baris digunakan spasi, dan
pembatas kolom matriks digunakan tanda semicolon atau titik koma ; . Jika
ingin menampilkan isi elemen matriks secara langsung maka perintah tidak diakhiri
dengan tanda titik koma, tetapi jika tidak ingin menampilkan secara langsung isi
elemen matriks maka perintah diakhiri dengan tanda titik koma.
Contoh : Tuliskan matriks A dan B berikut ini dalam program, tampilkan elemen
matriks B secara langsung dan tampilkan matriks A dengan perintah disp.

1 2 0 2 2 1
A 2 3 1 ; B 3 1 0

1 4 1 2 3 4
Penyelesaian : Penulisan program dalam Command Window seperti berikut:
A=[1 2 0;2 3 1;1 4 1];
B=[2 2 1;3 1 0;2 3 4]
B =
2 2 1
3 1 0
2 3 4
disp(A)
1 2 0
2 3 1
1 4 1

b. Matriks Khusus
Matriks khusus yang disediakan oleh MATLAB cukup banyak, beberapa diantaranya
dicantumkan pada Tabel 9.
Tabel 9. Beberapa Contoh Matriks Khusus
Matriks Khusus Perintah Keterangan
Diagonal X = diag(A) X adalah vektor dari elemen diagonal matriks A
Identitas X = eye(n) X adalah mariks identitas dengan ordo n
Random X = rand(m,n) X adalah matriks dengan elemen random
dengan distribusi uniform dan berordo n x m
X=randn(m,n) matriks random dengan distribusi normal
Nol X=zeros(m,n) X matriks berorde m x n dengan elemen nol (0)
Satuan X = ones(m,n) X matriks berordo mxn dengan elemen satu (1)
Modul Pemrograman Komputer Oleh Warsono 5
Modul 3
Pascal X = Pascal(n) X matriks segitiga pascal dengan ordo n x n
Contoh : Buatlah program untuk menuliskan matriks khusus seperti pada Tabel 9
Penyelesaian :
Listing program M-File
A=[1 2 3; 4 5 6;7 8 9] % Matriks A
X=diag(A) % Diagonal matriks A
Y=eye(3) % Matriks identitas berordo 3 x 3
Z=rand(3,3) % Matriks random uniform berordo 3 x 3
W=zeros(3,3) % Matriks nol berordo 3 x 3
V=ones(3,3) % Matrik dengan elemen 1 berordo 3 x 3
U=pascal(3) % Matriks pascal berordo 3 x 3

Keluaran Program

A =
1 2 3
4 5 6
7 8 9
X =
1
5
9
Y =
1 0 0
0 1 0
0 0 1
Z =
0.95013 0.48598 0.45647
0.23114 0.8913 0.018504
0.60684 0.7621 0.82141
W =
0 0 0
0 0 0
0 0 0
V =
1 1 1
1 1 1
1 1 1
U =
1 1 1
1 2 3
1 3 6

2. Manipulasi Matriks
a. Transpose Matriks
Transpose matriks mengubah elemen baris menjadi elemen kolom. Perintah
transpose dilakukan dengan memberi tanda dibelakang matriks.

Contoh : Buatlah program untuk menampilkan transpose matriks A dan B yang


elemennya sebagai berikut :

1 2 0 2 2 1
A 2 3 1 ; B 3 1 0

1 4 1 2 3 4
Modul Pemrograman Komputer Oleh Warsono 6
Modul 3
Penyelesaian :
listing program
A=[1 2 0;2 3 1;1 4 1];
B=[2 2 1;3 1 0;2 3 4];
X=A';
Y=B';
disp('matriks A adalah : '),disp(A)
disp('Transpose matriks A adalah matriks X : '),disp(X)
disp('matriks B adalah : '),disp(B)
disp('Transpose matriks B adalah matriks Y : '),disp(Y)

keluaran program
matriks A adalah :
1 2 0
2 3 1
1 4 1
Transpose matriks A adalah matriks X :
1 2 1
2 3 4
0 1 1
matriks B adalah :
2 2 1
3 1 0
2 3 4
Transpose matriks B adalah matriks Y :
2 3 2
2 1 3
1 0 4

b. Invers Matriks
Matriks invers adalah matriks yang apabila dikalikan denga matriks aslinya akan
menghasilkan matriks identitas. Jika matriks aslinya adalah A, maka invers matriks
nya adalah A-1 sehingga perkalian matriks A dengan A-1 adalah matriks identitas
I(A.A-1 = A-1.A = I).Perintah invers matriks dalam MATLAB adalah
inv(matriks).
Contoh : Carilah invers matriks A=[1 2 0;2 3 1;1 4 1]dan buktikan bahwa hasil
perkaliannya merupakan matriks identitas.

Penyelesaian :
listing program
A=[1 2 0;2 3 1;1 4 1];
B=inv(A);
C=(A*B);
disp('matriks A adalah : '),disp(A)
disp('Invers matriks A adalah matriks B : '),disp(B)
disp('Perkalian A dengan invers A(B) adalah C : '),disp(fix(C))

keluaran program
matriks A adalah :
1 2 0
2 3 1
1 4 1
Invers matriks A adalah matriks B :
0.3333 0.6667 -0.6667
0.3333 -0.3333 0.3333
-1.6667 0.6667 0.3333
Perkalian A dengan invers A(B) adalah C :
1 0 0

Modul Pemrograman Komputer Oleh Warsono 7


Modul 3
0 1 0
0 0 1
c. Penjumlahan, Pengurangan dan Perkalian Matriks
Penjumlahan dan Pengurangan Matriks
Penjumlahan dan Pengurangan matriks dapat dilakukan apabila dua matriks
atau lebih mempunyai ordo yang sama. Penjumlahan dilakukan dengan perintah
+ dan pengurangan dilakukan dengan perintah -.
Contoh : Matriks A=[1 2 0;2 3 1;1 4 1] dan matriks B=[2 2 1;3 1 0;2 3 4].
Buatlah program untuk menghitung matriks C = A + B dan D = A B.

Penyelesaian :
listing program
A=[1 2 0;2 3 1;1 4 1];
B=[2 2 1;3 1 0;2 3 4];
C=A+B;
D=A*B;
disp('matriks A adalah : '),disp(A)
disp('matriks B adalah : '),disp(B)
disp('matriks C = A+B : '),disp(C)
disp('matriks D = A-B : '),disp(D)

keluaran program
matriks A adalah :
1 2 0
2 3 1
1 4 1
matriks B adalah :
2 2 1
3 1 0
2 3 4
matriks C = A+B :
3 4 1
5 4 1
3 7 5
matriks D = A-B :
8 4 1
15 10 6
16 9 5

Perkalian Matriks
Perkalian matriks dapat dilakukan apabila jumlah kolom matriks pertama sama
dengan jumlah baris matriks kedua. Perintah perkalian matriks dilakukan
dengan tanda bintang (*).
Contoh : Matriks A=[1 2 0;2 3 1;1 4 1] dan matriks B=[2 2 1;3 1 0;2 3 4].
Buatlah program untuk menghitung matriks E = A . B.

Penyelesaian :
listing program
A=[1 2 0;2 3 1;1 4 1];
B=[2 2 1;3 1 0;2 3 4];
E=A*B;
disp('matriks A adalah : '),disp(A)
disp('matriks B adalah : '),disp(B)

Modul Pemrograman Komputer Oleh Warsono 8


Modul 3
disp('matriks E = A*B : '),disp(E)

keluaran program
matriks A adalah :
1 2 0
2 3 1
1 4 1
matriks B adalah :
2 2 1
3 1 0
2 3 4
matriks E = A*B :
8 4 1
15 10 6
16 9 5

3. Penggunaan Matriks untuk Menyelesaikan Sistem Persamaan


Linear (SPL)
Sistem persamaan linear merupakan kumpulan dari sejumlah persamaan linear
(pangkat satu) yang sering dinyatakan dalam bentuk :
y Ax
dengan y adalah vektor kolom, A adalah matriks dan x adalah variabel yang dicari
nilainya. Penyelesaian persamaan linear dapat dilakukan dengan menggunakan invers
matriks. Langkahnya adalah dengan mengalikan invers matriks A pada kedua ruas dari
persamaan tersebut di atas sehingga diperoleh persamaan:

A 1 y ( A 1 A )x
A 1 y Ix
x A 1 y
Persamaan terakhir menunjukkan bahwa nilai x diperoleh dengan mengalikan invers
matrik A dengan vektor kolom y.
Contoh : Carilah nilai x1, x2 dan x3 dari persamaan linear seperti berikut
3x1 0,1x2 0,2x3 = 7,85
0,1x1 + 7x2 0,3x3 = -19,3
0,3x1 0,2x2 + 10x3 = 71,4
Penyelesaian :

Ubah bentuk persamaan linear di atas ke dalam bentuk persamaan matriks
3 0,1- - 0,2 x1 7,85

3 - 0,1 - 0,2 x1 7,85


0,1 7 0,3- x2 - 19,3
0,3 - 0,2 10 x3 71,4

seperti berikut:
0,1 7 - 0,3 x - 19,3
2
0,3 - 0,2 10 x3 71,4
A x y
listing program Keluaran Program

Modul Pemrograman Komputer Oleh Warsono 9


Modul 3
A=[3 -0.1 -0.2;0.1 7 -0.3;0.3 -0.2 10]; nilai x adalah :
B=inv(A); 3.0494
y=[7.85;-9.3;71.4]; -1.0710
x=B*y; 7.0271
disp('nilai x adalah : '),disp(x) nilai Ax adalah :
c=A*x; 7.8500
disp('nilai Ax adalah : '),disp(c) -9.3000
71.4000

TUGAS
ARRAY
Kasus : Gerak Parabola
Gerak Parabola adalah gerak lengkung dengan percepatan konstan. Gerak ini dapat
terjadi apabila benda dilemparkan miring ke udara, atau partikel bermuatan yang
ditembakkan miring di dalam medan listrik homogen. Persamaan gerak parabola dari
sebuah benda yang dilemparkan miring ke udara tanpa gesekan dinyatakan sebagai
berikut:
a. Persamaan dalam arah mendatar
vx = v0 cos 0
x = v0 cos 0 t
b. Persamaan dalam arah vertikal
vy = v0 sin 0- gt
y = v0 sin 0 t - gt2
c. Hubungan antara komponen mendatar dan vertikal
y = (tan 0)x gx2/2(v0 cos 0)2
v = (vx)2 + (vy)2
d. Persamaan titik ekstrim
Waktu untuk mencapai titik terjauh : tj = (2v0 sin 0)/g
Titik Tertinggi : ym = (v0sin0)2/2g
Titik terjauh : xm = (v0)2sin20/g

Buatlah program dengan menggunakan array untuk menghitung nilai vx,vy,v,x dan y
saat t = 0: 0.01:tj dan buatlah tampilan grafik hubungan antara :
vx vs t
vy vs t
v vs t
x vs t
y vs t dan
x vs y
jika diketahui : v0 = 100, 0 = pi/4 dan g = 9.8.

MATRIKS
Kasus : Rangkaian Listrik
Suatu rangkaian listrik searah disusun seperti gambar berikut :

3X 10 X
I1 I2 I3
+
+ 10 V +
20 V 30 V
- 1X
- 1X - 1X
4X

6X 9X
Modul Pemrograman Komputer Oleh Warsono 10
Modul 3

a. Buatlah persamaan linear yang mengandung variabel I1, I2 dan I3 dengan


menggunakan Hukum Kirchoff
b. Nyatakan persamaan linear pada a dalam bentuk persamaan matriks
c. Buatlah program untuk menghitung nilai I1, I2 dan I3

Modul Pemrograman Komputer Oleh Warsono 11

Anda mungkin juga menyukai