0% menganggap dokumen ini bermanfaat (0 suara)
131 tayangan11 halaman

Pemrograman Matriks di MATLAB

Modul ini membahas tentang array dan matriks dalam pemrograman komputer. Terdapat penjelasan tentang cara membuat dan memanipulasi array serta matriks, termasuk contoh kode program. Modul ini juga mendemonstrasikan penerapan array dalam menyelesaikan masalah gerak benda beraturan pada fisika melalui grafik hubungan jarak dan kecepatan terhadap waktu.

Diunggah oleh

Esri ana Sinaga
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
131 tayangan11 halaman

Pemrograman Matriks di MATLAB

Modul ini membahas tentang array dan matriks dalam pemrograman komputer. Terdapat penjelasan tentang cara membuat dan memanipulasi array serta matriks, termasuk contoh kode program. Modul ini juga mendemonstrasikan penerapan array dalam menyelesaikan masalah gerak benda beraturan pada fisika melalui grafik hubungan jarak dan kecepatan terhadap waktu.

Diunggah oleh

Esri ana Sinaga
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Modul 3

ARRAY DAN MATRIKS


KOMPETENSI DASAR
1. Mahasiswa mampu membuat array suatu variabel dalam program
2. Mahasiswa mampu membuat program dengan menggunakan operasi array
untuk menyelesaikan persoalan fisis
3. Mahasiswa mampu menuliskan matriks dalam program.
4. Mahasiswa mampu memanipulasi matriks dalam program
5. 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 ”;”.
Modul Pemrograman Komputer Oleh Warsono 11
Modul 3
Contoh : Tuliskan data x dalam bentuk vektor baris dan y dalam bentuk vektor kolom .
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 12


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 nilai
Contoh : awal, naik satu-satu, diakhiri pada nilai akhir
» x = 0:5
x =
0 1 2 3 4 5
x = awal : kenaikan:akhir : Membuat vektor baris x yang dimulai dari nilai
Contoh : awal, naik sebesar kenaikan, diakhiri pada nilai
» x=0:4:20 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 akhir,
» x=linspace(0,50,6) 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

Modul Pemrograman Komputer Oleh Warsono 13


Modul 3
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.
Contoh : Sebuah benda yang sedang bergerak dengan kecepatan 10 m/det dipercepat
dengan percepatan 2 m/det2 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 : s  v o t  12 at 2 ; 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
0.2 2.04 10.4 160 26

0.3 3.09 10.6 140 24


0.4 4.16 10.8
120 22
v (meter/detik)

….. .…. ……
s (meter)

100 20

9.9 197.01 29.8 80 18

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)

Modul Pemrograman Komputer Oleh Warsono 14


Modul 3
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 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

Modul Pemrograman Komputer Oleh Warsono 15


Modul 3
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)
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

Modul Pemrograman Komputer Oleh Warsono 16


Modul 3
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 

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.

Modul Pemrograman Komputer Oleh Warsono 17


Modul 3
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
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

Modul Pemrograman Komputer Oleh Warsono 18


Modul 3
 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)
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
Modul Pemrograman Komputer Oleh Warsono 19
Modul 3
Penyelesaian :
 Ubah bentuk persamaan linear di atas ke dalam bentuk persamaan matriks seperti
berikut: 3 - 0,1 - 0,2  x1  7,85 
0,1 7
 - 0,3    x2   - 19,3
0,3 - 0,2 10   x3  71,4 

A x y
 listing program  Keluaran Program
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 = (v0sin0)2/2g
Titik terjauh : xm = (v0)2sin20/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.

Modul Pemrograman Komputer Oleh Warsono 20


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

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

6 9

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 21

Anda mungkin juga menyukai