MODUL I
DASAR PERHITUNGAN DALAM MATLAB
1.1
TUJUAN KHUSUS
Setelah praktikum ini dilakukan
mahasiswa diharapkan mampu mengoperasikan matlab dan memanfaatkannya sebagai
perangkat simulasi untuk praktikum Pengolahan Sinyal Digital.
1.2
DASAR TEORI
1.2.1
Kelengkapan pada Sistem Matlab
Sebagai sebuah system, Matlab tersusun dari 5 bagian
utama, yaitu:
1. Development
Environment
Merupakan sekumpulan perangkat dan
fasilitas yang membanti kita untuk menggunakan fungsi-fungsi dan file-file
matlab. Beberapa perangkat ini merupakan sebuah Graphical User Interface (GUI).
Termasuk di dalmnya adalah matlab desktop dan command window, command history,
sebuah editor dan debugger, dan browsers untuk melihat help, workspace, files,
dan search path.
2. Matlab
Mathematical Function Library
Merupakan sekumpulan algoritma
komputasi mulai dari fungsi-fungsi dasar seperti sum, sin, cos, dan complex
arithmetic, sampai dengan fungsi-fungsi yang lebih komplek seperti matrix
inverse, matrix eigenvalues, Bessel functions, dan fast fourier transforms.
3. Matlab
Language
Merupakan suatu high-level
matrix/array language dengan control flow statements, functions, data
structures, input/output, dan fitur-fitur objek-oriented programming. Ini
memungkinkan kita untuk melakukan kedua hal baik “pemrograman dalam lingkup
sederhana” untuk mendapat hasil yang cepat, dan “pemrograman dalam lingkup yang
besar” untuk memperoleh hasil-hasil dan aplikasi yang komplek.
4. Graphics
Matlab memiliki fasilitas untuk
menampilkan vector dan matrices sebagai suatu grafik. Di dalamnya melibatkan
high-level functions (fungsi-fungsi level tinggi) untuk visualisasi data dua
dimensi dan data tiga dimensi, image processing, animation, dan presentation
graphics. Ini juga melibatkan fungsi level rendah yang memungkinkan bagi kita
untuk membiasakan diri untuk memunculkan grafik mulai dari bentuk yang
sederhana sampai dengan tingkatan graphical user interface pada aplikasi
matlab.
5. Matlab
Aplication Program Interface (API)
Merupakan suatu library yang
memungkinkan program yang telah kita tulis dalam bahasa C dan fortran mampu
berinteraksi dengan matlab. Ini melibatkan fasilitas untuk pemanggilan routines
dari matlab (dynamic linking), pemanggilan matlab sebagai computational engine,
dn untuk membaca dan menuliskan MAT-files.
1.2.2
Jenis Data yang Dikenal dalam Matlab
1. Data numeric tunggal
2. Data matriks
3. Data String
1.2.2.1
Data Numerik Tunggal
Untuk mendefinisikan data numeric
tunggal, kita dapat menulis :
Perintah di atas berarti bahwa variable a mempunyai
nilai 5.
Operasi yang pada data numeric
tunggal adalah operasi aritmatika biasa, yang terdiri atas :
+ = penjumlahan
-= pengurangan
*= perkalian
/ = pembagian kanan
\ = pembagian kiri
^ = perpangkatan
Agar
lebih jelasnya, kita dapat melihat contoh berikut :
1.2.2.2
Data Matriks
Untuk Mendefenisikan data matriks,
kita dapat menulis :
atau
Perintah di atas berarti bahwa variable b berupa
matriks dengan nilai setiap elemennya tertentu. Sebagai pemisah antar baris,
kita menggunakan tanhda “;” (titik koma), sedangkan pemisah antar kolom adalah
tanda ‘’ (spasi) atau ‘,’ (koma).
Operasi yang digunakan pada data
matriks seperti pada operasi matriks biasa, yaitu:
n + : penjumlahan matriks
n - : pengurangan matriks
n * : perkalian matriks
n .* : perkalian setiap elemen
n / : pembagian kanan matriks
n ./ : pembagian kanan setiap elemen
matriks
n \ : pembagian kiri matriks
n .\ : pembagian kiri setiap elemen matriks
n ^ : perpangkatan matriks atau perkalian
matriks sebanyak n kali
n .^ : perpangkatan setiap elemen matriks
dengan bilangan tertentu
n . : transpose matriks
n Inv : invers matriks
Agar lebih jelas, kita dapat melihat contoh berikut:
1.2.2.3 Data String
Untuk
mendefenisikan data string, kita dapat menuliskan:
>> h = 'Matlab'
h =
Matlab
Perintah di atas berarti bahwa variable h berisi string
Matlab.
Operasi pada string sebagai
berikut:
n Strcat : menggabungkan dua atau lebih kata
n Double : mengubah karakter menjadi bilangan
ASCII
Agar lebih jelas, kita dapat melihat contoh berikut:
1.3
DAFTAR ALAT DAN BAHAN
Adapun daftar alat dan bahan yang
digunakan adalah:
-
PC yang dilengkapi dengan perangkat
multimedia (sound card, microphone, speaker active, atau headset)
-
Sistem operasi windows dan perangkat
lunak matlab yang dilengkapi dengan toolbox DSP
1.4
LANGKAH PERCOBAAN
1.4.1
Memulai Matlab
Perhatikan desktop pada layar
monitor PC, mulai matlab dengan menlakukan double-click
pada shortcut icon matlab.
Gambar
1. Icon matlab pada desktop PC
Setelah itu akan didapatkan tampilan seperti pada
gambar 2. Sedangkan untuk mengakhiri sebuah sesi matlab, kita bias melakukan
dengan dua cara, pertama pilih File->Exit
matlab dalam window utama matlab yang sedang aktif, atau cara kedua lebih
mudah yaitu cukup ketikka type quit dalam command window.
Gambar
2. Tampilan awal matlab
1.4.2
Menentukan Direktori Tempat Bekerja
Kita dapat bekerja dengan matlab
secara default pada directory work ada di dalam folder matlab, tetapi akan
lebih bagus dan rapi jika kita membuat satu directory khusus dengan nama yang
sudah kita khususkan, “latihan-1” atau nama yang lain yang mudah untuk diingat.
Hal ini akan lebih baik lagi kita untuk membiasakan bekerja secara rapid an
tidak mencapur program yang kita buat dengan program orang lain. Untuk itu
arahkan pointer mouse pada kotak beranda … yang ada di sebelah kanan tanda
panah ke bawah (yang menunjukkan folder yang sedang aktif). Pilih new
directory, selanjutnya ketikkan “dargombes”, dan diikuti dengan klik Ok.
Gambar
3. Membuat folder baru tempat program
1.4.3
Memulai Perintah Sederhana
Langkah kita yang pertama adalah
dengan menentukan variable scalar dengan cara melakukan pengetikan seperti
berikut:
Tidak terlalu sulit bagi kita untuk melakukannya.
Kita coba dengan cara berikutnya. Disini kita mulai dengan mendefinisikan dua
buah vector, yaitu vector x dan vector y.
Selanutnya
ketik:
Matlab menggunakan integer positif
untuk index array. Elemen pertama adalah y(1),
elemen kedua adalah y(2), dan
seterusnya. Nomor 1 atau bilangan negative tidak diperbolehkan untuk index
array. Sekarang kita jumlahkan keduanya:
Dan sekaran hitung inner product:
Jawabannya adalah 1*4+2*5+3*6. Catat, bahwa y’ adalah transpose pada y dan
merupakan suatu vector kolom. Untuk memeriksanya, ketikkan perintah berikut:
Cara lain pada pengkombinasian dua vector adalah
dilakukan memalui perkalian elemen demi elemen:
Catat periode sebelum perkalian symbol. Sekarang
kita dapat mendefinisikan suatu matrix:
Catat bahwa matrix tidak diulang kalau kita
menggunakan semi colon. Sekarang kalikan A dengan transpose dari x:
Sekarang kita harus mentranspose x untuk memenuhi
perkalian suatu matrik dan suatu vector kolom. Matrik-matrik ini dapat juga
dikalikan satu sama lain diantara mereka:
Sekarang lakukan penjumlahan A dan B:
Baiklah, kita tidak dapat menambah suatu matrik 3
kali 3 dengan matrix 3 kali 4 , dan Matlab akan mendeteksi dimensi yang
mismatch dan selanjutnya memeberikan pesan error. Sekarang kita cari cara lain
untuk mendefinisikan matrik dan vektor. Sebagai contoh suatu matrik nol dengan
dimensi 3 baris dan 6 kolom dapat dinyatakan sebagai:
>> zeros(3,6)
ans =
0 0
0 0 0
0
0 0
0 0 0
0
0 0
0 0 0
0
tentu saja jika anda tambahkan suatu
";" setelah zeros(3,6),
jawabannya tidak akan ditampilkan di layar monitor anda. Angka pertama, 3
menunjukkan jumah baris, sedangkan angka kedua, 6, adalah jumlah kolom. Kita dapat
pula melakukan hal yang sama untuk menampilkan angka satu seperti berikut:
>> ones(3,6)
ans =
1 1
1 1 1
1
1 1
1 1 1
1
1 1
1 1 1
1
Pendefinisian
Vektor-vektor Besar
Suatu vektor 1 kali 100 yang menyusun sample pada
sinyal cosinus dapat dibangkitkan dengan
>> x = cos(0.1*pi*(0:99));
bilangan kedua mengindikasikan step kenaikan dari
dari 1 sampai 50. Untuk membangkitkan suatu fungsi "ramp" dari 1
sampai 50 coba berikut ini:
>> x = [1:1:50];
Kita bias juga secara khusus mendefinisikan suatu
rentang nilai pada x sebagai:
Ini merupakan metode yang sangat
bermanfaat untuk mensepsifikasikan nilai ‘waktu’ untuk penggambaran. Sebagai
contoh, ditetapkan interval sampling dalam contoh di atas dalam 1 detik. Selanjutnya
kita dapat mendefinisikan sebagai berikut:
>> time = [0:0.001:0.099];
1.4.5
Penggambaran Grafik
Salah satu kelebihan dari matlab
adalah kemudahan dalam mengolah grafik. Sehingga kita tidak perlu kesulitan
untuk melihat suatu respon system, misalnya pada kasus melihat bentuk sinyal
dalam domain waktu kita cukup mengikuti langkah berikut:
Ini akan menghasilkan gambar sebagai berikut
Sedangkan cara untuk menampilkan sederetan nilai
fungsi waktu diskrit adalah dengan menggunakan perintah “stem”. Dari contoh
deretan perintah, kita rubah beberapa bagian dengan perintah berikut:
Hasilnya adalah sebagai berikut:
Gambar
5. Contoh tampilan grafik dengan perintah stem
1.4.6
Menyusun Program Sederhana
Kita dapat mengedit suatu file text yang tersusun dari beberapa
perintah matlab. Ini dapat dilakukan dengan menekan double-click pada icon “New
M-File” icon in the matlab toolbar. Selanjutnya kita akan mendapatkan sebuah
tampilan matlab editor yang masih kosong.
Gambar
6. Langkah awal menyusun program sederhana
Selanjutnya buat program seperti pada contoh
sebelumnya.
Gambar
7. Contoh pembuatan program pada matlab editor
Lanjutkan dengan menekan toolbar debug, dan jangan
lupa pilih Save dan Run. Disitu kita harus menuliskan nama program. Kita
tuliskan coba_1, secara otomatis akan menjadi file coba_1.m dan akan kita lihat
tampilan hasilnya.
Gambar
8. Tampilan hasil file coba_1
Program
kedua
Cobalah untuk membuat program
seperti berikut ini pada matlab editor, dan jangan lupa simpan dengan nama
Latih_2
x(1:52)=[0 0 1:1:50];
x(53:102)=[50:-1:1];
h=[1 2];
for n=3:101,
y(n)=0;
for m=1:2,
y(n)=y(n)+h(m)*x(n-m);
end
end
plot(y)
hasilnya:
Gambar
9. Tampilan file Latih_2
Dalam hal ini kita harus memahami arti setiap
perintah yang kita tuliskan dalam matlab, tidak ada salahnya kita bertanya
kepada instruktur apa arti perintah-perintah tersebut.
Program
ketiga
Satu contoh lain program untuk for
adalah pembangkitan gambar seperti berikut:
n=201;
delx=10/(n-1);
for k=1:n
x(k)=(k-1)*delx;
y(k)=sin(x(k))*exp(-0.4*x(k));
end
%plot(x,y)
plot(x,y,'linewidth',4)
title('Grafik yang
pertama')
label('x');ylabel('y');
Gambar
10. Tampilan file coba_3
1.4.7
fungsi dalam Matlab
Matlab juga mampu untuk menuliskan
fungsi yang didefinisikan oleh pemakainya. Buat sebuah fungsi dengan menuliskan
program berikut ini:
function y=x2(t)
y=t^2;
1 comments:
apa tidak ada analisanya?
Post a Comment