Modul Matlab Julia
Modul Matlab Julia
DISUSUN OLEH :
JULIA DWITA
45 18 044 005
UNIVERSITAS BOSOWA
2020/2021
i
DAFTAR ISI
ii
DAFTAR GAMBAR
DAFTAR TABEL
Tabel 1 ……………………………………………………………………... 10
Tabel 2 ……………………………………………………………………... 17
Tabel 3 ……………………………………………………………………... 17
Tabel 4 ……………………………………………………………………... 23
Tabel 5 ……………………………………………………………………... 24
iii
MODUL 1 [Praktikum 1 – 4]
PENGENALAN MATLAB, VEKTOR DAN MATRIKS
Pendahuluan
MATLAB (MATrix LABoratory) adalah bahasa tingkat tinggi dan interaktif
yang memungkinkan untuk melakukan komputasi secara intensif. MATLAB
telah berkembang menjadi sebuah environment pemrograman yang canggih yang
berisi fungsi-fungsi build in untuk melakukan pengelolahan sinyal, aljabar linear
dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungs
– fungsi tambahan untuk aplikasi khusus. Penggunaan MATLAB meliputi bidang
:
Matematika dan Komputasi
Pembentukan Algorithm
Akuisisi Data
Pemodelan, simulasi dan Pembuatan Prototype
Analisis Data, Explorasi, dan Visualisasi Grafik
Keilmuan dan Bidang
Rekayasa Beberapa keunggulan Matlab
terletak pada:
2. Aspek Komputasional
Analisa matrik dan manipulasinya
Reduksi data dan pengolahan data statistik
FFT, statistic korelasi dan kovarian
Pendukung matrik “sparse”
Fungsi trigonometri dan beberapa fungsi komplek lainnya
Fungsi Bessel, beta, dan fungsi kepadatan lainnya
Persamaan diferensial linier dan nonlinier
3. Aspek Grafik dan Visualisasi
2-D scatter, grafik garis, poligon dan mesh, counter, grafik polar, dan
plot histogram
3-D scatter, grafik garis, poligon, mesh dan plot “wireframe”
1
2
4. Aspek Pemrograman
Struktur control (FOR, WHILE dan IF)
Manipulasi string
Input file berupa ASCII dan biner
Debugging
Dapat berinteraksi dengan bahasa pemrograman C
Gambar 1
Menu dan simbol utama Matlab
Gambar 2
Matlab Help
3
Tujuan Khusus Praktikum :
Mahasiswa dapat memahami kegunaan software Matlab dan aplikasinya untuk vektor
dan matriks
1. Memulai Matlab
Setelah melakukan instalasi MATLAB pada PC, perhatikan icon MATLAB
pada tampilan desktop kemudian “doubleclick” pada icon tersebut. Selanjutnya
akan muncul tampilan seperti pada gambar berikut ini.
Gambar 3
Lembar kerja untuk menjalankan fungsi-fungsi Matlab
Pada tampilan awal MATLAB, terlihat beberapa jendela yang
merupakan
3. Matriks
Terdapat 3 jenis format data di MATLAB yaitu skalar, vektor dan matriks.
Skalar, ialah suatu bilangan tunggal
Vektor, ialah sekelompok bilangan yang tersusun 1-dimensi. Dalam
MATLAB biasanya disajikan sebagai vektor-baris atau vektor-kolom
Matriks, ialah sekelompok bilangan yang tersusun dalam segi-empat 2-
dimensi. Di dalam MATLAB, matriks didefinisikan dengan jumlah
baris dan kolomnya. Di MATLAB terdapat pula matriks berdimensi
3, 4, atau lebih, namun dalam buku ini kita batasi hingga 2-dimensi
saja.
Sebenarnya, semua data bisa dinyatakan sebagai matriks. Skalar bisa
dianggap sebagai matriks satu baris – satu kolom (matriks 1×1), dan vektor bisa
dianggap sebagai matriks 1-dimensi: satu baris – n kolom, atau n baris – 1 kolom
(matriks 1×n atau n×1). Semua perhitungan di MATLAB dilakukan dengan
matriks, sehingga disebut MATrix LABoratory.
Matriks didefinisikan dengan kurung siku ([ ]) dan biasanya dituliskan baris-
per-baris. Tanda koma (,) digunakan untuk memisahkan kolom, dan titik- koma (;)
untuk memisahkan baris. Kita juga bisa menggunakan spasi untuk memisahkan
kolom dan menekan Enter ke baris baru untuk memisahkan baris.
Terlihat bahwa matrix1 dan matrix2 isinya sama, karenanya kita bisa menekan
Enter untuk membuat baris baru, ataupun menggunakan titik-koma.
Kita harus ingat bahwa matriks gabungan harus memiliki jumlah baris dan
kolom yang valid sehingga membentuk persegi panjang.
Untuk mengetahui ukuran atau dimensi dari matriks yang ada, kita bisa
gunakan command size dan length. size umumnya digunakan untuk matriks 2-
dimensi, sementara length untuk vektor.
>> length(vektor1)
ans =
3
>> size(matrix1)
ans =
3 3
Menunjukkan panjang vektor1 ialah 3 elemen, dan ukuran matrix1 ialah 3-baris
3-kolom (3×3). Kita juga bisa menyimpan keluaran command dalam variabel
baru.
>> panjang=length(vektor2)
panjang =
3
>> [jml_baris,jml_kolom]=size(gabung5)
jml_baris =
3
jml_kolom =
6
Sementara itu, untuk menghitung jumlah elemen dari suatu matriks, kita
pergunakan command prod. Misalkan untuk matriks gabung5, jumlah elemennya
ialah;
>> jml_elemen=prod(size(gabung5))
jml_elemen =
18
Berbagai matriks khusus yang kerap kita pergunakan dalam perhitungan bisa
dibuat secara efisien dengan command yang telah ada di MATLAB.
Tabel 1
ones(n) membuat matriks satuan (semua elemennya berisi angka 1)
berukuran n×n.
ones(m,n) membuat matriks satuan berukuran m×n.
>> mat_2=zeros(2,4)
mat_2 =
0 0 0 0
0 0 0 0
>> bil_acak_uniform=rand(1,10)
bil_acak_uniform =
Columns 1 through 7
0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 0.4565
Columns 8 through 10
0.0185 0.8214 0.4447
>> gaussian_noise=randn(5,1)
gaussian_noise =
-0.4326
-1.6656
0.1253
0.2877
-1.1465
Setiap kali kita menggunakan command rand dan randn, kita akan selalu
mendapatkan nilai keluaran yang berbeda. Hal ini merupakan salah satu sifat
bilangan acak.
Untuk vektor:
nama_vektor( indeks )
Untuk matriks:
nama_matriks( indeks_baris , indeks_kolom )
Dalam suatu vektor, elemen pertama diberi indeks = 1, sementara dalam
matriks, indeks menunjukkan nomor baris dan nomor kolom dari elemen yang
ingin ditunjuk. Untuk lebih jelasnya perhatikan contoh berikut ini.
>> clear
>> vektor_ini = [1 3 5 7 9];
>> vektor_itu = [9; 8; 7; 6; 5];
>> matrix = [10 20 30; 40 50 60; 70 80 90];
>> vektor_ini(1)
ans =
1
>> vektor_itu(2)
ans =
8
>> matrix(1,2)
ans =
20
>> [matrix(1,1) matrix(1,2) matrix(1,3)]
ans =
10 20 30
Kita juga bisa mengambil beberapa baris dan kolom sekaligus dari suatu
matriks dengan operator titik-dua (:). Dalam hal ini tanda titik-dua berarti
“sampai dengan”.
Mengambil elemen baris ke-1 sampai ke-2, kolom ke-2 sampai ke-3 dari matrix
>> matrix(1:2,2:3)
ans =
20 30
50 60
Dengan menggunakan indeks, kita bisa mengubah nilai elemen matriks yang telah
ada.
>> vektor_ini(1)=1000
vektor_ini =
1000 3 5 7 9
>> vektor_itu(2:4)=[-1; –1; –1]
vektor_itu =
9
-1
-1
-1
5
>> matrix(3,:)=100*ones(1,3)
matrix =
10 20 30
40 50 60
100 100 100
Deret bilangan merupakan hal yang kerap kita temui dalam pengolahan
data, terutama berkaitan dengan plot data dan proses iterasi (perhitungan
berulang-ulang). Misalkan kita memiliki data tegangan suatu baterai pada setiap
menit selama 1 jam. Dalam menyajikan data “waktu”, kita harus membuat vektor
berisi deret. Kita tentunya bisa melakukannya secara manual seperti ini:
>> time=[1, 2, 3, 4, …, 60]
Tetapi akan lebih efisien jika deret diciptakan menggunakan operator titik-dua.
Formulanya ialah:
Inkremen harus bilangan bulat positif atau negatif Khusus untuk inkremen
= 1:
deret = nilai_awal : nilai_akhir
Sekarang kita akan berlatih menggunakan operator titik-dua untuk membuat deret
berikut:
x = 0, 100, 200, 300, 400, … , 2200, 2300
y = -10, -9.5, -9, -8.5, … -0.5, 0, 0.5, … , 9, 9.5, 10
z = 10, 9.95, 9.9, 9.85, 9.8, 9.75, … , 1, 0.95, 0.9, … , 0.05, 0
>> x=0:100:2300;
>> y=-10:0.5:10;
>> z=10:-0.05:0;
Bedakan operator titik-dua untuk manipulasi indeks matriks dengan operator titik-
dua untuk membuat deret. Untuk membedakannya ingatlah selalu bahwa indeks
selalu berada di dalam tanda kurung ( )
Di dalam MATLAB, pembuatan deret juga bisa dilakukan dengan command
berikut ini.
Tabel 2
linspace(a,b,n) membuat vektor baris berisi n titik yang terpisah merata
secara linier antara a dan b.
Contoh:
>> linspace(0,10,11)
ans =
0 1 2 3 4 5 6 7 8 9 10
>> logspace(0,2,10)
ans =
Columns 1 through 7
1.0000 1.6681 2.7826 4.6416 7.7426 12.9155 21.5443
Columns 8 through 10
35.9381 59.9484 100.0000
Terdapat beberapa command yang bisa digunakan untuk menukar, merotasi, dan
menyusun kembali elemen matriks.
Tabel 3
fliplr(A) menukar posisi elemen matriks A secara melintang, yaitu
sebelah kiri ditukar dengan sebelah kanan.
flipud(A) menukar posisi elemen matriks A secara membujur, yaitu
sebelah atas ditukar dengan sebelah bawah.
rot90(A) merotasi posisi elemen matriks A berlawanan arah jarum jam
sejauh 90°.
reshape(A,m,n) menyusun ulang elemen matriks A menjadi berukuran m×n.
Harus diingat bahwa jumlah elemen A harus sama dengan
m×n
Contoh
>> A=[0:3; 4:7]
A =
0 1 2 3
4 5 6 7
>> fliplr(A)
ans =
3 2 1 0
7 6 5 4
>> flipud(A)
ans =
4 5 6 7
0 1 2 3
>> rot90(A)
ans =
3 7
2 6
1 5
0 4
>> reshape(A,1,8)
ans =
0 4 1 5 2 6 3 7
>> reshape(A,4,2)
ans =
0 2
4 6
1 3
5 7
Selisih =
-4 -4
-4 -4
Tambah50 =
50 51
52 53
3.2. Perkalian Matriks
Perkalian matriks, misalkan C = AB, terdefinisi jika jumlah
kolom di A sama dengan jumlah baris di B. Selain itu, perkalian juga
bisa dilakukan antara matriks dengan skalar.
Kita akan lanjutkan contoh sebelumnya.
>> A,B
A =
0 1
2 3
B =
4 5
6 7
Contoh berikutnya ialah perkalian dua vektor, yang juga mengikuti aturan
perkalian matriks, karena vektor sesungguhnya sama dengan matriks 1-
dimensi.
>> x=[3 2 1], y=[100;10;1]
x =
3 2 1
y =
100
10
1
z2 =
dot-product:x • y =
cross-product:x × y = ( )
Sehingga kita dapatkan solusi = 6 dan = -13. Atau kita juga bisa
mendapatkan solusi tersebut dengan operator pembagian terbalik:
>> X=A\B
X =
6.0000
-13.0000
Sebagai bahan latihan, cobalah Anda pecahkan persamaan linier dengan tiga
variabel berikut ini.
x + 2y + 3z = 2
4x + 5y + 6z = -5,5
7x + 8y – 9z = -49
3.8. Transposisi
Salah satu operasi yang penting dalam matriks ialah transposisi, dituliskan
dalam MATLAB dengan operator petik tunggal ( ‘ ) dan titik-petik ( .’ ). Operasi
ini mempertukarkan baris dan kolom dari suatu matriks atau vektor.
Tabel 4
petik tunggal ( ‘ ) operasi transposisi untuk matriks berisi bilangan riil, atau
transposisi dan konjugasi untuk matriks kompleks.
titik-petik ( .’ ) operasi transposisi tanpa konjugasi. Untuk matriks riil,
operator ini memberi hasil yang sama dengan petik tunggal
Mari kita praktekkan contoh berikut ini untuk memahami kedua operator di atas.
>> Mat_riil=[1 0; 3 5], Mat_kompleks=[1+2i 3i; 1 2+3i]
Mat_riil =
1 0
3 5
Mat_kompleks =
1.0000 + 2.0000i 0 + 3.0000i
1.0000 2.0000 + 3.0000i
>> Transp_riil=Mat_riil',Transp_kompleks=Mat_kompleks'
Transp_riil =
1 3
0 5
Transp_kompleks =
1.0000 - 2.0000i 1.0000
0 - 3.0000i 2.0000 - 3.0000i
>> Transp_riil2=Mat_riil.'
Transp_riil2 =
1 3
0 5
>> Transp_kompleks2=Mat_kompleks.'
Transp_kompleks2 =
1.0000 + 2.0000i 1.0000
0 + 3.0000i 2.0000 + 3.0000i
3.9. Operasi Elemen-per-Elemen
Di dalam MATLAB, operasi matematik juga bisa dilakukan elemen-per-
elemen. Dalam hal ini matriks atau vektor yang terlibat harus berukuran sama.
Operasi yang bisa dilakukan ialah perkalian/pembagian, penjumlahan/
pengurangan, serta pangkat. Operator yang digunakan diawali dengan tanda
“titik” (kecuali penjumlahan/pengurangan), yaitu:
Tabel 5
+ – Tambah dan kurang (elemen-per-elemen)
.* ./ .\ Kali, bagi, bagi terbalik (elemen-per-elemen)
.^ Pangkat (elemen-per-elemen)
Operasi penjumlahan/pengurangan matriks secara definit sudah dilakukan elemen-
per-elemen, sehingga + dan – tidak diawali “titik”.
>> A+B
ans =
8 3
3 5
>> A.*B
ans =
7 -10
2 0
>> B./A
ans =
7.0000 -2.5000
2.0000 0
>> B.^2
ans =
49 25
4 0
>> A.^B
ans =
1 -32
1 1
>> 2.^B
ans =
128 32
4 1
Perhatikan bahwa hasil operasi juga berupa matriks berukuran sama dengan A
dan B.
Pada contoh berikutnya kita coba operasi antar vektor.
>> a.*b
ans =
12 10 6
>> c.*d
ans =
50
200
450
>> a.*c
??? Error using ==> .*
Matrix dimensions must agree.
Perhatikan bahwa ukuran a dan c tidak cocok sehingga muncul pesan error (a
berukuran 1×3 sementara c 3×1).
>> b.^a, c./d+2
ans =
64 25 6
ans =
4
4
4
>> c./2.*d.^2
ans =
125
1000
3375
>> n=-3:3
n =
-3 -2 -1 0 1 2 3
>> rem(n,3)
ans =
0 -2 -1 0 1 2 0
Contoh kasus:
Anda ditugasi membuat tabel trigonometri: sinus dan cosinus untuk sudut-
sudut istimewa: 0°, 30°, 45°, 60°, 90°, ... , 360°. Dalam tugas ini akan digunakan
pula command sort untuk mengurutkan data dan disp untuk menampilkan isi
variabel di layar.
Mula-mula, kita definisikan x sebagai sudut-sudut istimewa, berupa sudut
kelipatan 30° mulai 0° hingga 360°. Kemudian kita tambahkan empat sudut
istimewa: 45°, 135°, 225°, dan 315°, lalu kita urutkan isi vektor x.
>> clear
>> x=0:30:360;
>> x=[x 45 135 225 315];
>> x=sort(x)
x =
Columns 1 through 13
0 30 45 60 90 120 135 150 180 210 225 240 270
Columns 14 through 17
300 315 330 360
x dalam satuan derajat kita ubah menjadi t (radian), karena perhitungan
trigonometri dilakukan dalam satuan radian.
>> t=x.*pi/180;
>> y1=sin(t); y2=cos(t);
Selanjutnya kita buat matriks tiga kolom bernama tabel berisi: sudut, sin, dan cos.
>> tabel=[x;y1;y2]';
>> judul=' sudut sin cos';
Ingat, vektor x, y1, dan y2 berupa satu baris; padahal kita ingin menampilkannya
memanjang ke bawah berupa kolom, jadi perlu dilakukan transposisi.