PRAKTIKUM 1
A. TUJUAN 1. Menggunakan software MATLAB 2. Memahami vektor dan matriks 3. Membuat *.m file 4. Memahami operasi kalang 5. Membuat Grafik
B. DASAR TEORI
MATLAB (Matrix laboratory) merupakan paket software yang dirancang untuk komputasi numeris dengan matriks. Pada MATLAB setiap angka dapat dinyatakan sebagai matriks sehingga lebih efisien dan mudah dibandingkan software lain seperti: Pascal, Fortran, Delphi, dll. Beberapa keunggulan yang dimiliki MATLAB adalah: 1. Menyediakan perintah-perintah praktis untuk
menyelesaikan persoalan-persoalan
matematis seperti: operasi aljabar, operasi matriks, persamaan linear dan non linear, persamaan diferensial, korelasi data, interpolasi data, dll. 2. Memungkinkan untuk membuat fungsi-fungsi sendiri disamping beberapa fungsi yang telah disediakan (built in). 3. Mampu menampilkan data dalam bentuk grafik 2D ataupun 3D 4. Memiliki toolbox untuk berbagai bidang seperti: statistics, signal processing, image processing, neural network, fuzzy logic, etc. 5. Memiliki menu demo dan tutorial yang memungkin pengguna dapat belajar sendiri dengan peritah : help
1
Memulai Program Matlab Pada icon MATLAB double-click dan selanjutnya akan tampil Gambar 1, berikut:
Gambar 1. Lingkungan MATLAB Secara umum lingkungan yang terdiri 3 bagian yaitu : 1. Command Window, merupakan jendela MATLAB tempat untuk mengeksekusi perintah, menampilkan masukan dan hasil. Dari prompt >> pernyataan atau statemen dituliskan dan untuk mengeksekusi perintah diakhir dengan menekan <ENTER> 2. Workspace, berfungsi menyimpan secara otomatis segala variabel masukan dan hasil 3. Command history, berfungsi menyimpan secara otomatis segala perintah yang telah ditulis pada command window
Vektor dan Matriks Vektor adalah merupakan matriks yang hanya terdiri dari satu baris atau satu kolom saja. Cara menuliskan matriks pada MATLAB dimulai dengan [ dan menggunakan koma (,) atau spasi untuk memisahkan elemen-elemen satu baris, sedangkan titik koma (;) untuk memisahkan elemen-elemen satu kolom serta diakhiri dengan ]. 1. Menyatakan suatu matriks Misal matriks A:
1 2 3 A 4 5 6 7 8 9
2
Cara menuliskan: » A = [1 2 3; 4 5 6; 7 8 9] » A(2,1) » B = [1:1.5:6; 2 3 4 5] » D =[]; D=[D;5]; D=[D;6;7] » E = zeros(4, 5) » F = ones(3, 4) » G = rand(3,2) 2. Penjumlahan dan pengurangan suatu matriks » b1 = [1 2 3] » b2 = [4 5 6] » b1 + b2 » b1 - b2 Jika ukuran vektor tidak sesuai maka akan mendapat error » b = [1; 2; 3]; » c = [4 5 6]; » b+c ??? Error using ==> + Matrix dimensions must agree. 3. Perkalian » b1 » b2 » b1*b2 4. Transpose matriks » b2’ » b1*b2’ Berikan komentar anda dari hasil yang diperoleh dengan menjalankan perintah diatas! Ingat aturan: Jika anda mempunyai 2 matriks dengan ukuran r1×c1 dan r2×c2 , anda dapat mengalikan keduanya dengan syarat c1 = r2.
» A = [1 2; 3 4; 5 6] » b = [1;2;3] » A*b » A'*b 3
Perkalian elemen-elemen matriks dengan notasi ’.*’ » b1.*b2
Perkalian skalar » 2*c 5. Pembagian Elemen per elemen : » b1./b2 Skalar : » c/2 6. Operator titik dua (:) » x = 0:0.1:5 Menghasilkan vektor baris 51 elemen 7. Mensubstitusi elemen matriks » A = [1 2 3; 4 5 6; 7 8 9] » A(3,3) = 0 8. Operator titik dua (:) dalam matriks » A(2,:) » A(:,2:3) Menghapus baris atau kolom dengan vektor kosong [] » A(:,2)=[] 9. Ukuran matriks » size(A) » [m,n]=size(A) 10. Determinan matriks » det(A) 11. Invers matriks » inv(A) 12. Penulisan lanjutan dalam matriks » G=[1 2 3 ... 2 2 3 ... 4 3 4] » G=[1 2 3; ... 2 2 3; ... 4 3 4] Perhatikan hasilnya! 4
Membuat M-File Pada saat ini dalam memasukkan perintah masih dilakukan melalui prompt >> command window. Untuk memudahkan dalam membuat program, pada MATLAB disediakan editor atau m-file untuk mengetikkan perintah-perintah dan menyimpannya. Penulisan program m-file dapat berupa skrip program atau fungsi. Cara membuka layar editor mulai menekan klik pada File → New → M-File sebagaimana pada Gambar 2, berikut:
Gambar 2. Memulai membuka M-file Setelah di-klik pada M-File akan tampir layar editor yang siap untuk menuliskan skrip program, sebagaimana pada Gambar 3 berikut:
Gambar 3. Layar editor
5
Skrip M-file Skrip adalah sekumpulan perintah atau penyataan dalam suatu file yang sanat sederhana karena tidak mempunyai input argumen maupun output argument. Contoh skrip sederhana yang disimpan dengan nama file: coba.m
%Nama File: coba.m %=============== clear all x=0:0.1:10; y=2*x+3; plot(x,y,'-r') Komentar pada m-file dapat dilakukan dengan menambahkan % sebelum menuliskan pernyataan. Hal ini berarti penyataan atau perintah yang diawali % tidak dieksekusi. Menjalankan atau eksekusi program dapat dilakukan dengan beberapa cara: -
Tekan F5 pada keyboard
-
Klik debug → run
-
Aktifkan command window dan ketik nama file yang akan dijalankan kemudian tekan ENTER >> coba
Fungsi M-file Fungsi adalah m-file yang memiliki input argumen dan output argumen. Beberapa bagian dari sebuah fungsi untuk menghitung volume balok adalah function hasil=volume(p,l,t)
dimana function adalah keyword hasil adalah output argumen volume adalah nama fungsi p,l,t adalah input argumen
Nama fungsi secara default sama dengan nama variabelnya. Pada Matlab juga telah ada fungsi-fungsi yang built in seperti: sin(x), cos(x), exp(x), log(x), mean(x), sum(x), std(x), dll.
6
Contoh : Menghitung volume bola dengan jari-jari sebagai input argumen. Rumus volume bola adalah: V
4 .r 3 3
Maka untuk membuat fungsi nya adalah function V=volumebola(r) V=4/3*pi*r.^3 Bila fungsi diatas dijalankan dari command window, maka : >> volumebola(5)
V= 523.5988
Argumen fungsi dapat memiliki output argumen lebih dari satu dan nilainya ditulis dalam sebuah kurung siku. Sedangkan untuk input argumen ditulis dalam kurung biasa. Pemisahan antar argumen digunakan tanda koma.
Operasi kalang dan struktur perulangan (loop) 1. for ... end Bentuk umum sintak nya : for variabel = ekspresi statemen-statemen end Contoh 1: for i=0:2:20 disp(i) end Catat dan pahami hasil eksekusi-nya!
7
Contoh 2: for i=1:4 for j=1:3 C(i,j)=i*j; end end Catat dan pahami hasil eksekusi-nya!
Contoh 3: n = 5; A = eye(n); for j=2:n for i=1:j-1 A(i,j)=i/j; A(j,i)=i/j; end end Catat dan pahami hasil eksekusi-nya!
2. while ... end Bentuk umum sintak nya: while ekspresi statemen-statement end
Contoh 4: x=1 while x <= 10 x = 3*x end Catat dan pahami hasil eksekusi-nya!
8
3. if ... end Struktur dapat bervariasi: if ... end if ... else ... end if ... elseif ... else ... end Bentuk umum sintak nya: if ekspresi statemen-statement end 4. Grafik Beberapa fungsi grafik yang umum digunakan: plot
: menggambarkan grafik 2D dengan skala linier pada kedua sumbu
plot3 : menggambarkan grafik 3D dengan skala linier pada kedua sumbu loglog : menggambarkan grafik dengan skala logaritma pada kedua sumbu bar
: bar chart
hist
: plot histogram
pie
: menampilkan data secara prosentase
Beberapa perintah tambahan: title
: judul
xlabel
: label pada sumbu x
ylabel
: label pada sumbu y
legend
: keterangan
hold
: menahan tampilan plot yang bersangkutan
axis
: batas skala sumbu
1. Menampilkan satu grafik dengan perintah plot Contoh grafik 1: Sebuah fugsi sinus y=sin(x) dalam interval 0 ≤ x ≤ 2π. Buatlah m-file dengan nama grafik1.m, yang terdiri dari perintah-perintah berikut: %Menampilkan satu grafik %Nama File : grafik1.m %================= x= 0:pi/100:2*pi; 9
y= sin(x); plot(x,y); grid on
2. Menampilkan banyak grafik Contoh grafik 2: Plot grafik fungsi cosinus, y1 = 2 cos(x), y2 = cos(x), and y3 = 0,5 cos(x), dalam interval 0 ≤ x ≤ 2π. Buatlah m-file dengan nama grafik2.m, yang terdiri dari perintah-perintah berikut: %Menampilkan Banyak Grafik %Nama File : grafik2.m %===================== x= 0:pi/100:2*pi; y1 = 2*cos(x); y2 = cos(x); y3 = 0.5*cos(x); plot(x,y1,'--',x,y2,'-',x,y3,':') xlabel('0 \leq x \leq 2\pi') ylabel('Nilai fungsi y(x)') legend('2*cos(x)','cos(x)','0.5*cos(x)') title('Grafik Fungsi-fungsi Cosinus') axis([0 2*pi -3 3])
3. Menampilkan banyak grafik dalam satu gambar Contoh grafik 3: Buatlah m-file dengan nama grafik3.m, yang terdiri dari perintah-perintah berikut: %Menampilkan Banyak Grafik dalam Satu Gambar %Nama File : grafik3.m %===================================== x= 0: 0.01:2*pi; y1 = sin(2*x); y2 = cos(2*x); y3 = 0.5*cos(5*x); y4 = 2*sin(3*x); 10
subplot(2,2,1), plot(x,y1) subplot(2,2,2), plot(x,y2) subplot(2,2,3), plot(x,y3) subplot(2,2,4), plot(x,y4)
4. Menampilkan banyak grafik dengan tipe pie >> x=[3 5 2 6]; >> pie(x,{'A','B','C','D'})
C. ALAT DAN BAHAN 1. Komputer / PC 2. Software aplikasi Matlab
D. HASIL DAN PEMBAHASAN 1. Menyatakan suatu matriks Berikut merupakan sebuah Matriks A:
Gambar 4. Menyatakan suatu matriks Listing program pada command window diatas menjelaskan cara membuat matriks, mengetahui baris dan kolom pada matriks A serta mengubah anggota matriks menjadi 1 dan 0 serta jumlah kolom dan baris yang diberikan. Pada percobaan ini matriks A tidak terlalu rapih dikarenakan kurang nya space pada penginputan matrik A nya. 2. Penjumlahan dan pengurangan suatu matriks Adapun hasil dari percobaan ini dapat di lihat di bawah ini:
11
Gambar 5. Penjumlahan dan pengurangan suatu matriks Listing program pada commond window diatas menjelaskan penjumlahan, pengurangan, mengubah baris menjadi kolom (transpose). Terjadi error pada listing pada saat penjumlahan matriks b + c karena matriks tidak sejenis sedangkan syarat penjumlahan matriks ialah sejenis yang memiliki baris dan kolom sama. Untuk memperbaiki matrik tersebut maka matrik b harus di ubah ke dalam bentuk baris sama seperti matrik c dengan menghilangkan ; pada matriks b. Adapun hasil nya sebagai berikut:
Gambar 6. Penjumlahan dan pengurangan matriks yang telah di perbaiki
12
3. Perkalian Hasil run dari percobaan 3:
Gambar 7. Perkalian Listing program pada commond window diatas menjelaskan perkalian antara matriks b1 dan b2, terjadi error karena matriks sejenis atau ordo nya sama sedangkan dapat diselesaikan jika dua matriks dapat dikalikan apabila banyak kolom dari matriks yang dikalikan sama dengan banyak baris dari matriks pengalinya. Contoh matriks yang bias diselesaikan adalah matrik yang memiliki ordo 1 x 2 dan 2 x1.
4. Transpose matriks Hasil run :
Gambar 8. Transpose matriks Listing program pada commond window diatas menjelaskan tentang tranpose matriks, pada saat matriks A x b error dikarenakan matriks A berordo 3 x 2 dan b 3 x 1 tidak memenuhi syarat perkalian matriks jadi harus ditranpose dulu matriks A agar bisa diselesaikan. Sedangkan 2*c merupakan perkalian scalar dimana 2 dapat langsung di kalikan dengan masing-masing elemen pada matriks c. 13
5.
Pembagian Hasil run:
Gambar 9. Pembagian Listing program pada commond window diatas menjelaskan tentang pembagian matriks dengan matriks serta angka dengan suatu matriks. Untuk syarat pembagian matrik.
6. Operasi titik dua (:) Hasil run:
Gambar 10. Operasi titik dua (:) Listing program pada commond window diatas menjelaskan tentang operasi titik dua yang yaitu membuat matriks dengan menuliskan angka, mulai sampai batas angka yang dituliskan dalam bentuk baris dan kolom (matriks).
14
7. Mensubstitusi elemen matriks
Gambar 11. Mensubsitusi elemen matriks Listing program pada commond window diatas menjelaskan tentang mensubstitusikan elemen matriks yang ditulis dengan elemen-elemen berupa angka pada matriks menjadi ordo dari matriks tersebut sehingga meminimalisasinya.
8. Operator titik dua (:) dalam matriks Hasil run:
Gambar 12. Operator titik dua (: ) dalam matriks Listing program pada commond window diatas menjelaskan tentang cara menentukkan elemen matriks dengan menulis letak baris atau kolomnya dengan operasi titik dua (:).
15
9. Ukuran matriks
Gambar 13. Ukuran matriks Listing program pada commond window diatas menjelaskan tentang ukuran baris kolom atau ordo matriks A dimana m untuk baris dan n untuk kolom dari matriks tersebut.
10. Determinan matriks Hasil run:
Gambar 14. Determinan matriks Listing program pada commond window diatas menjelaskan tentang cara menentukkan determinan dari matriks A. Determinan A dinyatakan sebagai jumlah semua hasil kali dasar bertanda dari matriks bujur sangkar A.
11. Invers matriks Hasil run:
Gambar 15. Invers matriks 16
Listing program pada commond window diatas menjelaskan tentang cara menentukkan invers matriks A yang terlebih dahulu dicari determinannya. Invers matriks dapat diartikan sebagai kebalikan dari suatu matriks A itu sendiri.
12. Penulisan lanjutan dalam matriks Hasil run:
Gambar 16. Penulisan lanjutan dalam matriks Listing program pada commond window diatas menjelaskan tentang ketentuan menulis matriks dengan model memanjang dan persegi maupun persegi panjang, seperti conton listing diatas (nomor 12).
E. TUGAS 1. Menampilkan satu grafik dengan perintah plot yang dikerjakan pada skrip M-file di Matlab Grafik 1 : Sebuah fugsi sinus y=sin(x) dalam interval 0 ≤ x ≤ 2π. Buatlah m-file dengan nama grafik1.m, yang terdiri dari perintah-perintah berikut: a. Skrip programnya
Gambar 17. Skrip program grafik 1
17
Grafik diberi nama ”Grafik1.m”, dan setelah didebug, maka akan muncul tampilan grafik dalam bentuk fungsi sinus sebagai berikut:
Gambar 18. Grafik 1 Grafik diatas menggambarkan sebuah gelombang sinus yang diperoleh dari listing program sebelumnya tentang fugsi sinus y=sin(x) dalam interval 0 ≤ x ≤ 2π. Dari grafik tersebut dapat dilihat gelombang mencapai puncak pada 1 dan -1.
2. Menampilkan banyak grafik dengan perintah plot yang dikerjakan pada skrip Mfile di Matlab Grafik 2 : Plot grafik fungsi cosinus, y1 = 2 cos(x), y2 = cos(x), and y3 = 0,5 cos(x), dalam interval 0 ≤ x ≤ 2π. Buatlah m-file dengan nama grafik2.m, yang terdiri dari perintah-perintah berikut: a. Skrip programnya
Gambar 19. Skrip program grafik 2
18
Grafik diberi nama ”Grafik2.m”, dan ketika didebug, maka akan muncul tampilan grafik dalam bentuk fungsi cosinus seperti yang terlihat pada gambar sebagai berikut:
Gambar 20. Grafik 2 Garfik diatas menggambarkan suatu grafik x dan y yang berbentuk gelombang sinus yang diperoleh dari fungsi cosinus, y1 = 2 cos(x), y2 = cos(x), and y3 = 0,5 cos(x), dalam interval 0 ≤ x ≤ 2π. Pada gambar gelombang di atas terdapat 3 gelombang dikarenakan fungsi yang di input juga ada 3. Untuk gelombang garis putus warna merah merupakan dari fungsi y3, untuk gelombang warna merah garis tanpa putus untuk fungsi y2 dan untuk gelobang garis biru putus untuk fungsi y1.
3. Menampilkan banyak grafik dalam satu gambar Grafik 3 : Buatlah m-file dengan nama grafik3.m, yang terdiri dari perintah-perintah berikut: a. Skrip programnya
Gambar 21. Skrip program grafik 3
19
Ketika didebug, maka akan muncul tampilan banyak grafik tetapi dalam 1 screen gambar terdapat bentuk fungsi sinus maupun cosinus seperti yang terlihat pada gambar sebagai berikut:
Gambar 22. Grafik 3 Grafik diatas menampilkan beberapa gelombang tapi tidak dalam satu sumbu x dan y yang sama. Melainkan menggambarkan setiap gelombang pada sumbu x dan y yang berbeda secara terpisah. Sedangan untuk fungsi gelombang sama seperti pada tugas nomor 3 hanya saja ditambahkan listing program subplot. Dimana subplot inilah yang berfungsi untuk memisahkan setiap gelombang pada sumbu yang berbeda.
4. Menampilkan banyak grafik dengan tipe pie >> x=[3 5 2 6]; >> pie(x,{'A','B','C','D'}) a. Skrip programnya
Gambar 23. Skrip program grafik 4 Ketika didebug, maka akan muncul tampilan grafik dengan tipe pie sebagai berikut:
20
Gambar 24. Grafik 4 Diagram diatas menggambarkan suatu fungsi x dengan menggunakan listing program berupa pie yang berarti menampilkan hasil data dalam bentuk persentase atau diagram lingkaran seperti yang ada diatas.
21
F. KESIMPULAN 1. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan
algoritma, simulasi dan pemodelan dan
grafik-grafik perhitungan. 2. Beberapa fungsi yang dapat kita gunakan untuk menghasilkan bentuk-bentuk matriks yang diinginkan. Fungsi-fungsi tersebut antara lain : zeros : untuk membuat matriks yang semua datanya bernilai 0 ones : matriks yang semua datanya bernilai 1 rand : matriks dengan data random dengan menggunakan distribusi uniform randn : matris dengan data random dengan menggunakan distribusi normal eye : untuk menghasilkan matriks identitas 3. Penulisan matriks pada matlab dimulai dengan [ dan menggunakan (,) atau space untuk memisahan elemen-elemen satu baris, sedangkan ; untuk memisahkan elemen-elemen satu kolom serta di akhiri dengan ] 4. M-file merupakan sekumpulan pernyataan dalm suat file yang sangat sederhana mempunyai input dan output argument.
22
DAFTAR PUSTAKA
[1] Fadlil, Abdul. 2018. Petunjuk Praktikum Sinyal dan Sistem. Yogyakarta: Universitas Ahmad Dahlan. [2] Iwangoeltom. 2018. Makalah Mat Lab. Dikutip dari laman daring http://iwangoeltom.blogspot.co.id/2013/08/makalah-mat-lab.html
Diakses
pada 8 Oktober 2018. [3]
supardi.2010.vektor
dan
matriks.
Dikutip
dari
laman
daring
https://supardi.files.wordpress.com/2010/03/praktikum-4.pdf pada 8 oktober 2018
23