PENGENALAN MATLAB
I
A. Tujuan
Diharapkan setelah praktikum ini mahasiswa sebagai praktikan dapat :
1. Mengenal MATLAB dan tools yang disediakan.
2. Mengetahui dan mampu memahami beberapa fungsi dasar MATLAB.
3. Mampu melakukan perhitungan matematis dalam bilangan riil maupun bilangan kompleks
dengan bantuan MATLAB.
4. Mengetahui beberapa array dan matriks dasar.
5. Mengetahui lebih banyak tentang kegunaan matriks dan array.
6. Mampu melakukan manipulasi matriks dengan cara yang lebih kompleks.
7. Mengetahui cara penanganan masukan dan keluaran pada program.
8. Mampu membuat program sederhana dengan MATLAB.
9. Mengetahui kegunaan pencabangan bersyarat sebagai kendali aliran program.
10. Mampu membuat program dengan pencabangan bersyarat.
B. Dasar Teori
MATLAB adalah kependekan dari matrix laboratory, dimana MATLAB merupakan
perangkat lunak untuk komputasi teknis dan saintifik. MATLAB merupakan integrasi
komputasi, visualisasi, dan pemrograman yang mudah digunakan. Sehingga MATLAB dapat
bertindak sebagai :
Kalkulator
Ketika bertindak sebagai kalkulator, MATLAB memberikan hasil seketika setelah perintah
operasi diberikan.
Bahasa pemrograman
Perintah – perintah operasi dengan urutan dan logika tertentu, serta digunakan berulang –
berulang dapat dibuat sebagai suatu program yang akan dijelaskan pada unit selanjutnya.
Adapun macam – macam operasi yang dapat dilakukan oleh MATLAB adalah :
1
b. Matriks dan vektor : dengan elemen bilangan real atau kompleks.
2
g. Array editor berfungsi untuk menampilkan isi array dalam format tabel dan dapat
digunakan untuk mengedit isi array.
h. Editor/Debugger, digunakan untuk membuat, mengedit, dan men-debug M-files, yakni
program yang dibuat untuk menjalankan fungsi-fungsi MATLAB.
i. Figure adalah jendela untuk menampilkan gambar grafik seperti perintah plot dan
sejenisnya. Gambar pada jendela figure ini dapat disimpan ke dalam sebuah file yang
sewaktu-waktu dapat dipanggil kembali.
j. Help digunakan untuk membantu pengguna melihat dan mempelajari semua perintah
MATLAB yang akan menemui dalam pemograman. Kita dapat menemukan perintah-
perintah itu karena MATLAB telah menyediakan bantuan dalam bentuk help online.
Bantuan yang tersedia juga meliputi perintah MATLAB untuk memperoleh keterangan
cepat pada command window atau pada help browser.
2. Operator komputasi.
Operator komputasi mempunyai prioritas dengan urutan tertentu. Untuk menentukan
prioritas, digunakan tanda kurung ‘( )’. Adapun beberapa operator komputasi dalam MATLAB
adalah :
Simbol Operasi dan contoh
+ Penambahan, a + b
- Pengurangan, a – b
* Perkalian, a x b
/ atau \ Pembagian, a : b
^ Pemangkatan, ab
3. Bilangan kompleks
Bilangan kompleks adalah bilangan yang terdiri dari bagian imaginer dan bagian riil.
Bagian imaginer ditandai dengan simbol imaginer “i“ atau ”j”. Operasi bilangan kompleks juga
menggunakan operator komputasi di atas. Bilangan kompleks selain dapat dinyatakan dalam
koordinat kartesian, juga dinyatakan dalam koordinat polar dan diagram fasor yang berupa
magnitude dan sudut fase. Beberapa fungsi dasar yang berhubungan dengan bilangan
kompleks adalah:
Perintah Keterangan
Real Bagian riil dalam koordinat kartesian.
Imag Bagian imaginer dalam koordinat kartesian.
3
Abs Nilai absolute atau magnitude dalam koordinat polar.
Angle Sudut fase dalam koordinat polar ( dalam satuan radian )
4. Fungsi matematis
Sebagai kalkulator, MATLAB mempunyai berbagai fungsi umum yang penting untuk
matematika, teknik, dan ilmu pengetahuan. Sebagai tambahan atas fungsi-fungsi tersebut,
MATLAB juga menyediakan ratusan fungsi yang berguna untuk menyelesaikan permasalahan
tertentu. Beberapa fungsi matematis yang tersedia antara lain fungsi trigonometri, fungsi
eksponensial dan fungsi pembulatan.
Fungsi Matematika Keterangan
abs(x) Nilai mutlak atau magnitudo bilangan kompleks
acos(x) Invers cosinus
acosh(x) Invers cosinus hiperbolik
asin(x) Invers sinus
atan(x) Invers tangen
ceil(x) Pembulatan ke arah plus tak hingga
cos(x) Cosinus
exp(x) Eksponensial : ex
fix(x) Pembulatan ke arah nol
floor(x) Pembulatan ke arah minus tak hingga
imag(x) Bagian imajiner bilangan kompleks
log(x) Logaritma natural
log10(x) Logaritma dengan basis 10
real(x) Bagian riil suatu bilangan kompleks
rem(x,y) Sisa pembagian x/y
round(x) Pembulatan ke bilangan bulat terdekat
sin(x) Sinus
qrt(x) Akar kuadrat
tan(x) Tangen
5. Variabel
Data dan variabel yang dibuat dalam command window tersimpan dalam workspace
MATLAB. Ada beberapa aturan dalam penamaan variabel :
- Nama variabel harus terdiri atas satu kata tanpa spasi.
- Nama variabel dibedakan antara huruf besar dan huruf kecil (case sensitive).
- Panjang maksimum nama variabel adalah 31 karakter, karakter setelahnya akan diabaikan.
- Nama variabel harus diawali dengan huruf, diikuti dengan sembarang bilangan, huruf atau
garis bawah (under line).
4
- Karakter tanda baca tidak diperbolehkan karena banyak diantaranya mempunyai arti
- Tersendiri dalam MATLAB. MATLAB mempunyai beberapa variabel spesial yaitu :
5
b. Pengalamatan Elemen (Array) dan manipulasi array
MATLAB menyediakan cara yang baik menyisipkan, mengekstrak, dan mengatur kembali
bagian-bagiannya indeks data. Pengetahuan mengenai ini merupakan kunci memanfaatkan
MATLAB secara efisien. Teknik-teknik pengalamatan array disajikan dalam tabel berikut.
Pembentukan array Keterangan
A(r,c) Pengalamatan elemen array di A ditentukan dengan vektor indeks
baris di r dan vektor indeks kolom di c
A(r,:) Pengalamatan subarray di A ditentukan dengan vektor indeks baris
r dan semua kolom
A(:,c) Pengalamatan subarray di A ditentukan dengan semua baris dan
vector indeks kolom c
A(:) Pengalamatan semua elemen A sebagai vektor kolom diambil
kolom per kolom
A(i) Pengalamatan subarray di A ditentukan oleh vektor indeks tunggal
dari elemen tersebut di I, seolah A adalah vektor kolom A(:)
A(x) Pengalamatan subarray di A ditentukan oleh array logika x. x harus
berisi nilai 0 dan 1 dan harus berukuran sama dengan A
Fungsi dan perintah matematika lainnya dapat saudara dalam kembangkan dari bahan referensi
yang telah dianjurkan pada silabus perkuliahan.
6
MATLAB menyediakan bahasa pemrograman yang lengkap yang memungkinkan Anda menulis
perintah-perintah MATLAB ke dalam sebuah file dan menjalankannya dengan sebuah perintah
saja. m-file dapat berupa script yang secara sederhana mengeksekusi barisan perintah-perintah
MATLAB, atau m-file dapat berupa fungsi yang menerima argumen input dan menghasilkan
output. M-file dibuat dengan menggunakan teks editor. Perbedaan antara script dan fungsi
disajikan dalam tabel berikut.
Script Fungsi
Tidak menerima argumen input maupun Menerima argumen input dan menghasilkan
menghasilkan argumen output argumen output
Beroperasi dengan data di workspace Variabel internal bersifat lokal untukfungsi itu
sendiri
Berguna untuk mengotomatisasi barisan perintah Berguna untuk memperluas bahasa matlab pada
yang perlu dijalankan beberapa Kali aplikasi anda
Pembuatan program pada MATLAB . Di editor inilah suatu program di tulis
dilakukan di editor tersendiri yaitu MATLAB kemudian di simpan sebagai file-m.
Editor/ Debugger
a. File-m
Program MATLAB dikenal dengan sebutan file-m, karena file ini berekstension m. File-m
yang dihasilkan oleh MATLAB adalah suatu program tak-terkompilasi, sehingga selalu
membutuhkan program interpreter, yaitu MATLAB itu sendiri. Artinya untuk dapat
menjalankan program yang telah dibuat dipanggil melalui MATLAB Command Window.
Pemanggilan file-m dilakukan dengan menuliskan nama file tersebut tanpa menyebutkan
ekstensionnya.
File-m tidak mempunyai struktur tertentu, berbeda dengan bahasa pemrograman C, Pascal
atau Basic. File-m tidak harus diawali atau diakhiri dengan kata kunci tertentu. File ini cukup
disusun dari pernyataan, fungsi atau perintah seperti halnya pada MATLAB Command
Window, untuk membangun logika tertentu.
7
int8, int16, int32 bilangan bulat 8, 16 atau 32 bit bertanda
char karakter atau string
Tidak bertanda maksudnya adalah tipe data yang tidak menerima bilangan negatif. Stuktur
data yang digunakan oleh MATLAB adalah:
Multidimensional arrays
Cell arrays
Characters and text
Structure
Pada MATLAB, multidimensional arrays adalah array dengan tiga atau lebih subscript.
Dapat dibentuk dengan memanggil zeros, ones, rand, atau randn dengan argument lebih dari
dua. Cell array merupakan multidimensional arrays yang elemen-elemennya dikopi (disalin)
dari array yang lain. Cell array kosong dapat dibentuk dengan fungsi cell. Tetapi biasanya cell
array dibentuk dengan melingkupi kumpulan suatu data dengan kurung kurawal ‘{ } ‘. Kurung
kurawal juga digunakan untuk mengakses isi dari berbagai sel. Karakter string adalah teks yang
diawali dan diakhiri dengan apostrof (‘). Setiap karakter dalam suatu string adalah satu elemen
array, dengan setiap elemennya sebesar 2 byte. String merupakan array numerik dengan atribut
khusus, oleh karena itu string dapat dimanipulasi dengan menggunakan semua metode
manipulasi array yang tersedia di MATLAB.
c. Struktur Fungsi
Deklarasi file-m sebagai fungsi adalah function yang terletak pada awal program dengan
sintaks.
Parameter keluaran dapat lebih dari satu buah, cara penulisannya (sintaks) adalah:
[parameter_keluaran1, parameter_keluaran2,...]
Parameter masukan juga dapat lebih dari satu. Maka penulisannya (sintaks) adalah
(parameter_masukan1, parameter_masukan2,...)
8
Pada fungsi dengan beberapa parameter masukan, apabila cacah parameter saat pemanggilan
tidak sama dengan cacah parameter saat definisi, maka biasanya fungsi akan gagal dijalankan.
MATLAB mempunyai kemampuan untuk menghitung cacah parameter masukan dan cacah
parameter keluaran. Cacah parameter keluaran dinyatakan dengan fungsi nargin, sedangkan
cacah parameter keluaran dinyatakan dengan fungsi nargout.
Menampilkan hasil, nilai variabel atau keterangan pada saat program dijalankan dapat
menggunakan salah satu dari fungsi dibawah ini.
o disp menampilkan nilai variabel atau string secara sederhana
o fprintf menampilkan nilai variabel menggunakan string format
Pada tampilan bilangan pecahan %f, %e dan %E, presisi dapat diatur dengan menyisipkan
format presisi bilangan. Format presisi adalah .p, dengan p berupa nilai yang menyatakan
banyaknya angka dibelakang koma.
9
yang sama dengan dipisahkan oleh tanda koma atau titik koma. Tanda koma memberitahu
MATLAB untuk menampilkan hasil sedangkan tanda titik koma mencegah penampilan hasil.
Suatu perintah MATLAB yang akan ditulis terpisah tidak dalam baris yang sama harus
ditandai dengan tiga titik berurutan. Posisi tanda tiga titik tersebut harus berada di antara nama
variabel dan operator. Jadi nama variabel tidak dapat dipecah.
8. Pencabangan Bersyarat
Program – program yang dihasilkan pada unit 3 merupakan program yang tidak mempunyai
kendali logika. Pada program tersebut, pernyataan demi pernyataan dieksekusi dari baris pertama
hingga baris terakhir. Pada program yang lebih kompleks, logika program tidak mengalir
sesederhana itu. Terdapat kasus – kasus yang mengharuskan logika program mengalir dengan
syarat tertentu. Secara umum, di semua bahasa pemrograman termasuk matlab, terdapat dua
macam kendali aliran, yaitu percabangan bersyarat dan perulangan.
a. Aliran Logika
Aliran logika pada kendali pencabangan bersyarat digambarkan dengan flowchart berikut :
Pelaksanaan eksekusi pada pernyataan X atau Y tergantung pada hasil pengujian syarat.
Jika syarat terpenuhi maka eksekusi berikutnya adalah pernyataan X, tetapi jika syarat tidak
terpenuhi maka eksekusi selanjutnya adalah pernyataan Y. Kadang – kadang pernyataan Y
tidak diperlukan, yang berarti pengujian syarat dilakukan untuk menentukan apakah pernyataan
X perlu dieksekusi atau tidak.
10
MATLAB dinyatakan dengan nilai 1 dan sebaliknya nilai salah dinyatakan dengan nilai 0.
Hasil operasi 0 atau 1 dapat digunakan sebagai syarat pemilihan. Sebaliknya, hasil
perbandingan dapat pula digunakan dalam operasi matematis. Operator logika menyediakan
cara untuk mengevaluasi ekspresi logika. Untuk memastikan urutan operasi maka tiap syarat
ditulis dengan menggunakan tanda kurung “( ) “. Hal ini terutama apabila syarat tebentuk dari
beberapa syarat yang dievaluasi menggunakan operator logika.Berikut ini beberapa operator
relasi dan operator adalah:
Operator relasi /Operator Keterangan
< Kurang dari
<= Kurang dari atau sama dengan
> Lebih dari
>= Lebih dari atau sama dengan
== Sama dengan
~= Tidak sama dengan
& AND
| OR
~ NOT
Pernyataan Z pada kasus ketiga berguna apabila tidak ada syarat pada pernyataan lain.
d. Pernyataan switch….case
11
Sering kali pengujian syarat bukan nilai benar ( yang berarti syarat tidak terpenuhi ) atau
salah ( yang berarti syarat tidak terpenuhi ). Jika syarat berupa operasi matematis, maka yang
dievaluasi sebagai syarat adalah kesamaan hasil dengan konstanta yang telah didefinisikan
sebelumnya. Pada kasus ini, penggunaan pernyataan if …else…end kurang efektif. Untuk itu
telah tersedia pernyataan switch…case…otherwise sebagai berikut :
switch syarat
case konstanta 1
pernyataan 1
case konstanta 2
pernyataan 2
...
otherwise
pernyataan N
end;
C. Kegiatan Praktikum
Ikutilah langkah – langkah berikut untuk memulai MATLAB :
2. Amati jendela desktop MATLAB, menu-menu yang tersedia serta jendela-jendela yang
tergabung disana (desktop tools)
4. Bilangan kompleks.
a = 4+3i
real(a)
imag(a)
abs(a)
angle(a)
conj(a)
5. Variabel.
Panjang = 10
lebar = 5
Luas_persegi_panjang = Panjang * lebar
12
6. Buat program berikut di MATLAB Editor/Debugger. Jangan akhiri masing – masing baris
dengan tanda titik-koma ( ; ) agar nilai variabel muncul di layar.
Y = 23/47
y_double = double (23/ 47)
y_single = single (23/ 47)
z_int = int8 (-93)
z_int8 = int8 (-130)
z_uint8 = uint8 (-93)
13
9. Structure adalah multidimensional array dengan elemen-elemennya diakses dengan field
designators. Pada Editor/ Debugger ketikan :
S.nama = ‘Ed Plum’;
S.score = 83;
S.gradae = ‘B+’
Kemudian pada Command Window, panggil fungsi tersebut dengan mengetikkan perintah
berikut :
xpolar (5, 60)
SumbuX = xpolar (5,30)
Fungsi dipanggil dengan cacah parameter masukan kurang dari cacah parameter masukan saat
definisi, apa yang terjadi?
11. Ketiklah Program Masukan dan Keluaran (Input dan Output) berikut untuk menguji masukan
dan keluaran. Setiap baris diakhiri dengan tanda titik koma ( ; ).
bilangan = input(‘Masukan Bilangan = ‘);
disp (‘Bilangan Tersebut = ‘);
disp (bilangan)
matriks = input (‘Masukan matriks = ‘);
disp (‘Matriks tersebut = ‘);
disp (matriks)
14
Simpan dengan nama praktikum 1a.m dan jalankan program. Apa yang muncul dilayar? Uji
untuk masukan berupa bilangan bulat dan bilangan pecahan.
Simpan dengan nama praktikum 1b.m dan jalankan program tersebut. Apa yang muncul di
layar?, Jalankan program sebanyak 3 kali dengan masukan yang berbeda-beda. Apa fungsi
penyisipan .3 pada format tampilan bilangan ?
Simpan dengan nama praktikum 1c.m dan jalankan program. Apa yang muncul dilayar?
Jalankan program sebanyak 3 kali dengan masukan yang berbeda.
15
15. Buat program berikut, simpan sebagai m-file simpan dengan nama praktikum 1d.m, kemudian
jalankan. Catat dan amati hasilnya. Program berikut hanya mempunyai satu pilihan, vektor x
akan ditampilkan bila masukan, yaitu variabel jawab = 1
x = round(rand(1,10)*20)-10;
jawab = input('apakah x akan ditampilkan [0=tidak,1=ya]?');
if(jawab==1)
disp(x);
end;
Pada beberapa kasus diperlukan masukan berupa jawaban ya atau tidak. MATLAB mampu
menerima karakter y atau t, tetapi harus dimasukkan sebagai ‘y’ atau ‘t’ ( dalam tanda petik
tunggal ). Hal ini kurang efektif, sehingga lebih mudah Jika dipakai 0 untuk tidak dan 1 untuk
ya.
16. Program berikut untuk menguji nilai positif atau negatif dari masukan. Program mempunyai
dua pilihan.
a=input('masukan=');
if(abs(a)==a)
disp('bilangan positif');
else
disp('bilangan negatif');
end;
Uji untuk bilangan positif dan negatif. Bagaimana dengan bilangan 0, positif atau negatif ?
17. Program berikut untuk menguji nilai tegangan dalam suatu sistem digital.
Program terdiri dari tiga pilihan.
bb0 = 0; ba0 = 0.8; %batas bawah dan atas untuk logika 0
bb1 = 4.2;ba1= 5; %batas bawah dan atas untuk logika 1
s=input('tegangan = ');
if (s > bb1) & (s <= ba1)
disp('logika 1');
elseif (s>=bb0) & (s<ba0)
disp('logika 0');
else
disp('tak terdefinisi');
fprintf('tegangan harus antara %.1f - %.1f',bb0,ba0);
fprintf('atau %.1f - %.1f\n',bb1,ba1);
end;
16
18. Apakah if dengan else if dapat diterapkan tanpa menggunakan else? Buat program untuk
mengujinya! Program berikut menampilkan sisa bagi. Simpanlah program dengan nama
praktikum 1e.m.
m = input('m=');
n = mod(m,5);
if(n==0)%konstanta 0
disp('tak bersisa');
elseif (n==1)%konstanta 1
disp('sisa satu');
elseif (n==2)%konstanta 2
disp('sisa dua');
elseif (n==3)%konstanta 3
disp('sisa tiga');
elseif (n==4)%konstanta 4
disp('sisa empat');
else
fprintf('m bilangan pecahan,sisa %f\n',n);
end;
19. Bandingkan program diatas dengan program berikut. Simpanlah program dengan nama
praktikum 1f.m. Manakah yang dirasa lebih efektif, dari sisi pembacaan dan penulisan
program.
m=input('m=');
n=mod(m,5);
switch n
case 0
disp('tak bersisa');
case 1
disp('sisa satu');
case 2
disp('sisa dua');
case 3
disp('sisa tiga');
case 4
disp('sisa empat');
otherwise
fprintf('m bilangan pecahan,sisa %f\n',n);
end;
Apakah konstanta case dapat berupa bilangan pecahan ? Buat program untuk mengujinya.
17
Modul PEMOGRAMAN DENGAN FILE-M
II
A. Tujuan
Setelah mengikuti unit praktikum ini maka praktikan diharapkan dapat :
1. Mengetahui beberapa array dan matriks dasar
2. Mengetahui lebih banyak tentang kegunaan matriks dan array
3. Mampu melakukan manipulasi matriks dengan cara yang lebih kompleks
4. Mengetahui kegunaan perulangan sebagai kendali aliran program.
5. Mampu membuat program dengan perulangan.
6. Mampu menampilkan data dalam bentuk grafik,
7. Mengetahui berbagai macam cara menampilkan grafik
B. Teori
1. Matematika Array
Operasi matematis antara skalar dan array, meliputi penjumlahan, pengurangan,
perkalian dan pembagian, beroperasi pada semua elemen array. Sedangkan operasi
matematis antara array dengan array tidak sesederhana itu. Akan tetapi untuk array yang
berukuran sama, operasi penjumlahan, pengurangan, perkalian, dan pembagian dengan
MATLAB, berlaku elemen per elemen. Operasi matematis pada array dirangkum dalam
tabel berikut.
2. Matriks
Awalnya MATLAB digunakan untuk menyederhanakan perhitungan matriks dan
aljabar linier yang muncul pada berbagai aplikasi. Permasalahan yang paling umum pada
aljabar linier adalah mencari solusi persamaan linier, yang dapat diselesaikan dengan
18
menggunakan persamaan matriks. Fungsi-fungsi matriks yang disediakan oleh MATLAB
ditunjukkan dalam tabel berikut.
3. Pengendalian Perulangan
Perulangan atau iterasi adalah bentuk kendali aliran untuk melakukan pekerjaan
berulang kali menggunakan suatu nilai yang berfungsi sebagai pencacah atau counter.
Nilai pencacah dinaikkan atau diturunkan setiap kali satu pekerjaan dilakukan. Pada
operasi yang melibatkan vektor atau matriks, pencacah biasanya juga berfungsi sebagai
indeks, yang menunjukkan posisi elemen vektor atau matriks yang dioperasikan. Terdapat
dua macam perulangan yaitu perulangan berbatas (for) dan perulangan bersyarat (while).
Perulangan akan dilakukan mulai dari pencacah sama dengan nilai awal.
Setelah satu operasi selesai dilakukan, nilai pencacah diubah sebesar nilai perubahan.
Jika nilai pencacah hasil pengubahan telah melebihi nilai akhir, maka perulangan
19
dihentikan. Nilai perubahan dapat positif (naik) aau negatif (turun). Pada perubahan
positif, akhir harus lebih besar dari awal, sedangkan pada perubahan negatif, nilai
akhir harus lebih kecil dari nilai awal. Nilai perubahan bisa tidak dinyatakan, yang
berarti perulangan adalah perulangan positif dengan kenaikan 1, sehingga pernyataan
menjadi :
Contoh 3.1: Perhitungan bilangan kuadrat dari himpunan bilangan bulat dari 1 sampai
5
>> for n = 1:5
x(n) = n^2
end
Bagaimana hasil keluaran yang terbentuk bila ditambahkan tanda (;) pada
perintah di antara for-end. Bandingkan bila penulisan perintah perhitungan x(n) = n^2
ditulis x = n^2.
>> x = [1 2 3];
>> y = [4 5 6];
>> sum = 0;
>> for i = 1:3
sum = sum + x(i)*y(i)
end
Inisialisasi
While syarat_perulangan
Pernyataan operasi;
End;
20
Inisialisasi biasanya merupakan penetapan nilai awal dari pencacah. Nilai
tersebut akan diuji pada syarat perulangan. Syarat perulangan sama sebagaimana pada
pencabangan bersyarat ( unit 4 ). Padanya berlaku pula operator relasi dan logika.
Aliran logika prulangan sebagai berikut :
Pada pernyataan for nilai pencacah diubah secara otomatis. Berbeda dari hal
tersebut pada pernyataan while, nilai pengubahan pencacah harus ditangani sendiri
dalam pernyataan operasi. Syarat pengulangan merupakan bentuk hubungan e1.e2
dimana e1 dan e2 merupakan ekspresi aritmatika biasa dan . merupakan operator relasi
yang didefinisikan sebagai berikut:
Perintah-perintah di antara baris while dan end dikerjakan berulang kali selama
hubungan e1.e2 dalam ekspresi terpenuhi. Contoh :
>> n = 1;
>> x = 0;
>> while x < 20
x(n) = n^2;
n = n+1;
end
4. Tampilan Grafik
Suatu runtun data yang banyak, sulit untuk diperiksa hanya dengan mengamati angka
- angka yang ditampilkan. Penampilan data dalam bentuk grafik dapat memudahkan
analisis. Pada MATLAB grafik dibedakan menjadi dua macam , yaitu :
Grafik kontinyu, baik linier ataupun logaritmis,
Grafik diskrit.
21
a. Grafik Kontinyu Linier
Untuk menggambar grafik dua dimensi dapat menggunakan perintah plot.
Terdapat tiga bentuk penulisan fungsi ini, yaitu :
plot(x,y), menampilkan vektor y (sumbu vertikal) terhadap vektor x (sumbu
horizontal).
plot(y) menampilkan vektor y terhadap indeksnya.
plot(x,y,s), menampilkan vektor y terhadap vektor x, dengan format menurut string
s.
Fungsi Keterangan
box off Menghilangkan kotak pada grafik
box on Menampilkan kotak pada grafik
box Men-toggle kotak pada grafik
xlabel(string) Menambahkan teks di samping sumbu x pada grafik
yang aktif
ylabel(string) Menambahkan teks di samping sumbu y pada grafik
yang aktif
title(string) Menambahkan teks pada bagian atas grafik yang aktif
grid on Menambahkan grid pada grafik
grid off Menghilangkan grid pada grafik
grid Men-toggle kotak pada grafik
text(x,y,string) Menambahkan teks pada lokasi (x,y) di grafik yang aktif
gtext(string) Menempatkan teks dengan mouse
legend(string,string,…) Menambahkan keterangan pada grafik dengan string
sebagai label
legend off Menghilangkan keterangan dari grafik yang aktif
Legend(...,pos) Memberikan keterangan dan meletakannya pada posisi
tetentu sesuai pos :
0 : diletakan pada posisi terbaik
1 : kanan atas (default)
2 : kiri atas
22
3 : kiri bawah
4 : kanan bawah
1 : kanan atas di luar grafik
Misal, dalam figure terdapat 6 grafik, yang tersusun sebagai 2 baris dan 3 kolom.
sublot (2, 3, 1) sublot (2, 3, 2) sublot (2, 3, 3)
sublot (2, 3, 4) sublot (2, 3, 5) sublot (2, 3, 6)
C. KEGIATAN PRAKTIKUM
1. Pembentukan array
Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya!
Simpanlah dengan nama : praktikum 2a.m
X=(0:0.1:1)*pi
X=linspace(0,pi,11)
M=logspace(0,2,11)
x=[2 2*pi sqrt(2) 2-3j]
X = [0 2 4 6 8 10 12 14 16 18 20];
Y = [1 3 5 7 9 11 13 15 17 19 21];
X(7)
Y(4)
Y(10:-1:2)
X(2:6)
Y(1:2:8)
X(1:3:10)
23
3. Matematika array
Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya!
Simpanlah dengan nama : praktikum 2c.m
a = [2 4 3 5 7]
b = [1 2 3 4 5]'
c = a+5
d = a+b
e = b-2
f = b*3
g = b/2
h = a./b
k = a.\b
x = a*b
y = b*a
z = a.*b
4. Buatlah program – program berikut, simpan sebagai m-file dengan nama : praktikum
2d.m, kemudian jalankan. Catat dan amati hasilnya.
Contoh :
Penentuan kelulusan seorang siswa berdasarkan dua buah ujian yang diikutinya.
Ditetapkan bahwa siswa yang lulus harus memiliki nilai rata-rata minimal 60.
clc
nama = input('Nama Siswa = ', 's');
N1 = input('Nilai Ujian 1 = ');
N2 = input('Nilai Ujian 2 = ');
NR = (N1+N2)/2;
if NR > 60
ket = 'lulus';
else
ket = 'gagal';
end
disp(' ')
disp(['Nama = ', nama])
disp(['Nilai rata-rata = ', num2str(NR)])
disp(['Hasil akhir = ', ket])
for i=1:10
fprintf('%d\n',i);
end;
24
6. Program berikut menunjukkan perulangan turun dengan penurunan sebesar 2.
for i = 20 : -2 : 0
fprintf ('%d \n', i);
end;
Apa yang terjadi jika nilai akhir lebih besar dari nilai awal, tetapi perubahan negatif
(perulangan turun )?
25
Simpanlah dengan nama : praktikum 2f.m. Buat program untuk melakukan operasi
transpose matrik. Lakukan seperti program diatas, bukan menggunakan operator!
Kemudian Simpanlah dengan nama : praktikum 2g.m
i = 1 % inisialisasi
while ( i <= 10) % syarat perulangan
fprintf ('%d \n', i);
i = i+1; %pertambahan positif
end;
Pada program di atas, syarat terhadap pencacah berlaku sebagaimana batas akhir pada
pernyataan for.
10. Program berikut hendak meniru watak rangkaian komparator tersebut, dengan masukan
berupa tegangan sinusoidal.
11. Interpolasi, Pendekatan yang dilakukan pada interpolasi adalah mencocokkan sebuah
atau sederetan kurva secara langsung melalui masing-masing titik data. Interpolasi
Linier merupakan bentuk yang paling sederhana untuk menaksir nilai di antara nilai-
nilai yang diketahui dengan baik. Interpolasi linier menghubungkan 2 titik data [(x1,
f(x1)) dan x2, f(x2))] dengan garis lurus, lalu dengan penghampiran menentukan nilai
26
fungsi f(x) dari suatu titik (x) yang terletak diantaranya. Persamaan umum interpolasi
linier:
Contoh :
Diketahui data: x ln(x)
10
4 1,3863
6 1,7917
Taksirlah harga logaritma natural dari 2 atau ln(2).
Penyelesaian dalam bahasa Matlab:
% data x
x = [1 4 6]; % data ln x
lnX = [0 1.3863 1.7917];
cari = 2;
ln2 = lnX(1) + (lnX(2) - lnX(1)) / (x(2)-x(1)) * (cari - x(1))
12. Interpolasi dapat dilakukan dengan beberapa metoda diantaranya linier, kubik, dan
spline. Bila metoda yang akan digunakan tidak dispesifikasi, maka Matlab akan
menggunakan metoda linier sebagai default. Perintah yang digunakan menjadi: YI =
interp1(X,Y,XI,’method’). Contoh :
clc
% data x
x = [1 4 6]; % data ln x
lnX = [0 1.3863 1.7917];
hasil = interp1(x, lnX, 2)
hasil1 = interp1(x, lnX, 2, 'linear')
hasil2 = interp1(x, lnX, 2, 'cubic')
hasil3 = interp1(x, lnX, 2, 'spline')
hasil4 = interp1(x, lnX, 2, 'nearest')
hasil5 = interp1(x, lnX, [2, 5])
13. Berikut adalah penampilan sinyal acak y bernilai antara 0 hingga 10. Diasumsikan
bahwa sinyal mulai dari t = 0 detik hingga t = 1 detik, dengan 20 cuplikan pengukuran.
27
14. Ketikan contoh hasil frekuensi pengukuran minimal adalah 2 x 10 Hz dan 20 Hz.
Berarti periode pengukuran minimal adalah 1/ 20 = 0.05 detik.
amplitudo = 5;
frek_radian = 2 * pi * 10;
y = amplitudo * cos( frek_radian * t);
plot (t, y)
Simpanlah dengan nama : praktikum 2l.m
Kemudian ketikan perintah fungsi berikut dan amati grafik. Apa saja perubahan –
perubahan yang terjadi pada grafik ?
plot (t, y, ’ro-’)
plot (t, y, ‘b^-‘)
plot (t, y, ‘b:’)
Lakukan fungsi berikut dan amati sumbu x (horizontal).
plot (t, y)
plot (y)
15. Ketikan program berikut, amati perubahan yang terjadi pada grafik. Simpanlah dengan
nama : praktikum 2m.m
x = linspace(0,2*pi,30);
z = cos(x)
y = sin(x);
plot(x,y,x,z)
box off
xlabel(‘Variabel bebas x’)
ylabel(‘Variabel tak bebas y dan z’)
title(‘Kurva sinus dan cosinus’)
grid on, box on
text(2.5,0.7,’Sin(x)’)
gtext(‘Cos(x)’)
legend(‘Sin(x)’,’Cos(x)’)
legend off
16. Berikut menampilkan tiga grafik yang berbeda dalam satu figure.
t_deg = (0 : 10 : 360);
t_rad = t_deg * pi / 180;
subplot (3, 1, 1); plot (t_deg, sin (t_rad));
subplot (3, 1, 2); plot (t_deg, cos (t_rad));
subplot (3, 1, 3); plot (t_deg, cos (t_rad).* sin (t_rad));
subplot (3, 1, 1); title (‘sin’);
Simpanlah dengan nama : praktikum 2n.m
28