SlideShare a Scribd company logo
1 of 10
Download to read offline
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
MODUL 1
PENGENALAN MATLAB (1)
MATLAB akan digunakan secara ekstensif pada praktikum ini. Modul ini
memberikan tinjauan singkat mengenai MATLAB dan kapabilitasnya dengan penekanan
pada isu pemrograman. Seluruh materi pada modul ini merupakan terjemahan bebas dari
buku “DSP First, A Multimedia Approach” karangan James H. McClellan, Ronald W.
Schafer, dan Mark A. Yoder, terbitan Prentice-Hall (1998), khususnya Appendix B dan C.
I. Tujuan
Tujuan khusus modul :
1. Mempelajari penggunaan sistem help untuk mengetahui commands dan syntax dasar
MATLAB
2. Dapat menggunakan MATLAB untuk desain filter
II. Dasar Teori
MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi
numerik. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin numerik
dari proyek LINPACK dan EISPACK, namun sekarang merupakan produk komersial dari
perusahaan Mathworks, Inc. MATLAB telah berkembang menjadi sebuah environment
pemrograman yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas
pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi
toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus .
MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis
fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak
dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak terlalu
sulit bila Anda telah memiliki pengalaman dalam pemrograman bahasa lain seperti C,
PASCAL, atau FORTRAN.
1. MATLAB HELP
MATLAB menyediakan sistem help on-line yang dapat diakses dengan perintah
help. Misalnya, untuk memperoleh informasi mengenai fungsi filter, Anda hanya perlu
mengetikkan perintah
>> help filter
Perintah di atas akan menampilkan informasi dalam bentuk teks pada layar
MATLAB Anda.
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
Sebuah perintah yang sangat berguna untuk mempelajari pemrograman MATLAB
adalah intro, yang membahas konsep-konsep dasar tentang bahasa MATLAB. Selain itu,
juga terdapat banyak program demonstrasi yang mengilustrasikan berbagai kapabilitas
MATLAB, yang dapat dimulai dengan perintah demo.
2. VARIABEL DAN OPERASI MATRIKS
Tipe variabel dasar pada MATLAB adalah matriks (pada versi 5 dan ke atas,
MATLAB juga menyediakan berbagai tipe data seperti pada bahasa pemrograman
lainnya). Untuk mendeklarasikan sebuah variabel, Anda hanya perlu memberikan nilai
tertentu padanya pada MATLAB prompt. Sebagai contoh,
>> M = [ 1 2 6; 5 2 1]
M =
1 2 6
5 2 1
Ketika definisi sebuah matriks melibatkan sebuah rumus yang panjang atau
banyak entri, maka sebuah perintah MATLAB yang sangat panjang dapat dipecah
menjadi dua (atau lebih) baris dengan cara menempatkan sebuah tanda (…) pada akhir
dari sebuah baris yang ingin dilanjutkan. Sebagai contoh,
P = [ 1, 2, 4, 6, 8 ]+ [ pi, 4, exp(1), 0, -1] + …
[ cos(0.1*pi), sin(pi/3), tan(3), atan(2), sqrt(pi) ];
Ketika sebuah ekspresi perintah atau pernyataan diakhiri dengan tanda semicolon
(;), maka hasilnya tidak akan ditampilkan di layar. Hal ini sangat membantu ketika Anda
bekerja dengan matriks dengan ukuran yang sangat besar.
Ukuran dari sebuah matriks dapat diketahui dengan operator size:
>> Msize = size(M)
Msize =
2 3
Oleh karena itu, kita tidak perlu menggunakan variabel khusus untuk melacak
jumlah baris dan kolom suatu matriks. Ada dua jenis variabel matriks pada MATLAB,
yakni skalar (scalars) dan vektor (vectors). Sebuah skalar adalah sebuah matriks yang
hanya berisi satu elemen, jadi berukuran 1 x 1. Sebuah vektor adalah sebuah matriks yang
hanya berisi satu baris atau kolom.
Elemen individu dari sebuah variabel matriks dapat diakses dengan memberikan
indeks baris dan kolom, sebagai contoh
>> M13 = M(1,3)
M13 =
6
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
Submatriks juga dapat diakses dengan cara yang mirip dengan menggunakan
operator colon (:) seperti yang dijelaskan pada sesi berikut.
2.1. Operator colon (:)
Operator colon (:) sangat berguna untuk membuat index arrays. Gunakan perintah
help colon untuk mengetahui deskripsi detail tentang kapabilitasnya.
Notasi colon didasarkan pada ide bahwa sebuah selang indeks dapat dihasilkan
dengan memberikan sebuah nilai awal, interval, dan sebuah nilai akhir. Karena itu,
sebuah vektor yang terpartisi secara teratur dapat diperoleh dengan perintah
iii = nilai awal : interval : nilai akhir
Tanpa parameter interval, nilai default-nya adalah 1. Metode perhitungan ini
mirip dengan notasi loop DO pada FORTRAN, namun metode pada MATLAB selangkah
lebih maju dengan cara menggabungkannya dengan pengindeksan matriks. Untuk sebuah
matriks A 9 x 8, A(2,3) adalah elemen skalar yang berada pada baris kedua dan kolom
ketiga dari matriks A. Jadi sebuah submatriks 4 x 3 dapat diekstrak dengan perintah
A(2:5,1:3). Tanda colon juga berfungsi sebagai sebuah wild card, misalnya, A(2,:)
adalah baris kedua matriks A.
Pengindeksan mundur akan membalikkan sebuah vektor, misalnya X(9:-1:1)
untuk sebuah vektor yang berisi 9 buah elemen. Kadang-kadang, Anda juga memerlukan
sebuah daftar yang berisi semua nilai elemen pada matriks, jadi A(:) memberikan sebuah
vektor kolom 72 x 1, yang merupakan hasil concatenation elemen-elemen setiap kolom
matrik A. Ini merupakan contoh reshaping matriks. Teknik reshaping yang lebih umum
dapat dilakukan dengan fungsi reshape(A,M,N). Sebagai contoh, matriks A 9 x 8 dapat
di-reshape menjadi sebuah matriks 12 x 6 dengan Anew = reshape(A,12,6).
2.2. Operasi Matriks dan Array
Operasi default pada MATLAB adalah operasi matriks. Jadi A*B berarti perkalian
matriks, yang akan dibahas pada bagian berikut.
2.2.1. Tinjauan Perkalian Matriks
Operasi perkalian matriks AB hanya dapat dilakukan bila kedua matriks
tersebut memiliki dimensi yang kompatibel, yakni jumlah kolom matriks A harus
sama dengan jumlah baris matriks B. Sebagai contoh, sebuah matriks 5 x 8 dapat
mengalikan sebuah matriks 8 x 3 untuk menghasilkan sebuah matriks AB 5 x 3.
Secara umum, bila A adalah m x n, maka B haruslah n x p, dan hasil perkalian AB
akan memiliki dimensi m x p. Umumnya perkalian matriks tidak bersifat komutatif,
yakni AB ≠ BA. Bila p ≠ m, maka perkalian AB tidak terdefinisi.
Beberapa kasus khusus untuk perkalian matriks adalah outer product dan
inner product. Pada outer product, sebuah vektor kolom mengalikan sebuah vektor
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
baris untuk menghasilkan sebuah matriks. Bila kita membiarkan semua elemen salah
satu vektor tersebut berupa ‘1’ , maka kita akan memperoleh hasil yang berulang.
[ ]










=










3333
2222
1111
3
2
1
1111
aaaa
aaaa
aaaa
a
a
a
Untuk inner product, sebuah vektor baris mengalikan sebuah vektor kolom,
jadi hasilnya berupa skalar. Bila kita membiarkan semua elemen salah satu vektor
tersebut berupa ‘1’, maka kita akan memperoleh penjumlahan semua elemen vektor
lainnya.
[ ] 43214321
1
1
1
1
aaaaaaaa +++=












2.2.2. Operasi pointwise array
Bila kita ingin melakukan perkalian pointwise, ada beberapa kebingungan
yang bisa muncul. Pada kasus pointwise, kita ingin mengalikan matriks secara elemen
per elemen, jadi mereka harus memiliki dimensi yang sama. Sebagai contoh, dua
matriks 5 x 8 dapat dikalikan secara pointwise, walaupun keduanya tidak bisa
melakukan perkalian matriks biasa. Untuk melakukan perkalian pointwise pada
MATLAB, kita menggunakan operator “point-star” A .* B. Misalnya bila A dan B
keduanya adalah matriks 3 x 2 maka










=




















==
32323131
22222121
12121111
3231
2221
1211
3231
2221
1211
**
**
**
*.*.
baba
baba
baba
bb
bb
bb
aa
aa
aa
BAC
Untuk selanjutnya, perkalian semacam ini kita sebut dengan istilah perkalian
array. Perhatikan bahwa perkalian array bersifat komutatif karena kita akan
memperoleh hasil yang sama bila kita menghitung D = B.*A.
Dalam MATLAB, bila sebuah “titik” digunakan dengan operator aritmetik,
maka ia akan mengubah definisi operator tersebut ke operasi pointwise. Jadi
operator ./ berarti pembagian pointwise, .^ berarti pemangkatan pointwise. Misalnya,
xx = (0.9).^(0:49) akan menghasilkan suatu vector yang nilainya sama dengan (0,9)n
untuk n = 0,1, 2, …49.
2.2.3 Operasi concatenation array
Operasi ini digunakan untuk menempelkan dua atau lebih array dengan syarat
syarat tertetu sesuai dengan operasi concatenation yangdiinginkan. Dalam MATLAB
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
terdapat dua buah fungsi yang dapat digunakan untuk melakukan proses
concatenation (penempelan) arrays. Fungsi tersebut adalah vertcat dan horzcat.
Penjelasan lanjut dapat dilihat pada help MATLAB untuk fungsi-fungsi tersebut.
3. PLOT DAN GRAFIK
MATLAB dapat menghasilkan plot dua dimensi x-y dan plot tiga dimensi,
menayangkan citra, dan bahkan membuat dan memutar video. Dua fungsi yang yang
sering digunakan pada praktikum ini adalah plot dan stem. Untuk memanggil fungsi ini,
umumnya kita membutuhkan dua vektor (satu vektor juga bisa, namun untuk definisi
yang berbeda, gunakan perintah help untuk melihat informasi yang lebih lengkap), untuk
sumbu x dan sumbu y. Pemanggilan fungsi plot(x,y) akan menghasilkan suatu plot yang
terkoneksi dengan garis lurus untuk setiap dua titik
{ (x(1),y(1), (x(2),y(2), (x(3),y(3), …….., (x(N),y(N) } seperti yang ditunjukkan pada
gambar PA.1.
Pemanggilan fungsi stem(x,y) akan menghasilkan presentasi seperti yang
ditunjukkan pada gambar kedua PA.1
0 0.5 1 1.5 2 2.5 3 3.5 4
-1
-0.5
0
0.5
1
tt = 0:0.3:4; xx = sin(0.7*pi*tt); plot( tt, xx)
0 0.5 1 1.5 2 2.5 3 3.5 4
-1
-0.5
0
0.5
1
tt = 0:0.3:4; xx = sin(0.7*pi*tt); stem( tt, xx)
Gambar PA.1
MATLAB memiliki banyak opsi plotting yang dapat dipelajari dengan help
plotxy, help plotxyz, dan help graphics (versi 4) atau help graph2d, help graph3d,
dan help specgraph (versi 5).
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
3.1. Figure Windows
Ketika MATLAB membuat sebuah plot, MATLAB menulis grafik tersebut ke
figure windows. Anda bisa membuka beberapa figure windows namun setiap saat hanya
satu window yang aktif. Setiap perintah plot pada command window akan mengalihkan
keluarannya ke window yang aktif. Perintah figure(n) akan menampilkan sebuah figure
window yang baru yang ditandai dengan bilangan n, atau membuatnya aktif kembali bila
telah ada sebelumnya. Pengendalian terhadap berbagai atribut window (ukuran, lokasi,
warna) juga mungkin dilakukan dengan perintah figure, yang melakukan inisialisasi
terhadap window plot.
3.2. Mem-Plot beberapa grafik
Anda juga dapat membuat beberapa grafik/plot pada satu window dengan
menggunakan fungsi subplot. Fungsi ini tidak melakukan proses plotting, namun hanya
membagi window menjadi beberapa segmen. Sebagai contoh, perintah subplot(3,2,3)
akan membagi figure window menjadi tiga baris dan dua kolom (jadi terdapat enam
segmen) dan mengarahkan plot berikutnya ke segmen kiri baris kedua. Grafik pada PA.1
diperoleh dengan perintah subplot(2,1,1) dan subplot(2,1,2).
4. KONSTRUK PEMROGRAMAN
MATLAB mendukung paradigma pemrograman fungsional, di mana Anda dapat
menyusun fungsi-fungsi secara nested. Perhatikan persamaan di bawah
( )∑=
L
n
nx
1
log
yang dapat diimplementaskan dengan hanya menggunakan satu baris kode MATLAB,
yakni
sum( log( abs(x) ) )
di mana x adalah sebuah vektor yang berisi elemen-elemen xn. Contoh ini
mengilustrasikan MATLAB dalam bentuk yang paling efisien, di mana fungsi-fungsi
individu dikombinasikan untuk menghasilkan keluaran. Penulisan kode-kode MATLAB
yang efisien memerlukan gaya pemrograman yang menghasilkan fungsi-fungsi kecil yang
divektorisasi. Loop-loop harus dihindari. Cara utama untuk menghindari loop adalah
memanggil fungsi-fungsi toolbox sebanyak/sesering mungkin.
4.1. Fungsi-fungsi built-in MATLAB
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
Banyak fungsi-fungsi MATLAB yang dapat beroperasi pada skalar sama
mudahnya dengan operasi pada array. Sebagai contoh, bila x adalah sebuah array, maka
cos(x) mengembalikan sebuah array dengan ukuran yang sama seandainya x berisi
kosinus dari setiap elemen x.












=
)cos()cos()cos(
)cos()cos()cos(
)cos()cos()cos(
)cos(
,2,1,
,22,21,2
,12,11,1
nmmm
n
n
xxx
xxx
xxx
x




Perhatikan bahwa tidak ada loop yang diperlukan, meskipun cos(x) melakukan
operasi kosinus pada setiap elemen array. Kebanyakan fungsi transcendental mengikuti
aturan pointwise ini. Pada beberapa kasus khusus, adalah sangat penting untuk
membedakan eksponensial matriks (expm) dengan eksponensial pointwise (exp):












=
)exp()exp()exp(
)exp()exp()exp(
)exp()exp()exp(
)exp(
,2,1,
,22,21,2
,12,11,1
nmmm
n
n
aaa
aaa
aaa
A




4.2. Aliran Program (Program Flow)
Aliran program dapat dikendalikan pada MATLAB menggunakan pernyataan if,
loop while, dan loop for. Pada MATLAB versi 5, terdapat juga pernyataan switch. Hal
ini mirip dengan bahasa-bahasa tingkat tinggi seperti C++ atau PASCAL. Deskripsi dan
contoh dari setiap konstruk program tersebut dapat dilihat dengan menggunakan perintah
help.
5. MATLAB SCRIPTS
Setiap perintah/pernyataan yang dapat dimasukkan pada window prompt dapat
disimpan pada sebuah file teks dan dieksekusi sebagai script. File teks tersebut dapat
dibuat dengan menggunakan sembarang editor ASCII seperti program Notepad atau pada
editor teks MATLAB. Ekstensi file harus berupa .m dan script tersebut dieksekusi pada
MATLAB dengan hanya mengetikkan nama file (dengan atau tanpa ekstensi). Program-
program tersebut umumnya dikenal dengan istilah m-file. Berikut merupakan contoh
sebuah m-file:
tt = 0:0.3:4;
xx = sin(0.7*pi*tt);
subplot(2,1,1)
plot( tt, xx)
title(‘tt = 0:0.3:4; xx = sin(0.7*pi*tt); plot( tt, xx)’)
subplot(2,1,2)
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
stem( tt, xx)
title(‘‘tt = 0:0.3:4; xx = sin(0.7*pi*tt); plot( tt, xx)’)
Bila perintah-perintah ini disimpan dengan file bernama plotstem.m maka
pengetikan plotstem pada command prompt akan menjalankan file tersebut, dan
kedelapan baris perintah akan dieksekusi sama halnya bila mereka diketikkan baris per
baris pada command prompt. Hasilnya adalah dua buah plot seperti yang tampak pada
gambar A.1.
III. Persiapan Praktikum:
Pelajari penggunaan perintah fir1, fir2, filter, freqz dan perintah-perintah lain
yang berhubungan dengan topik praktikum pada Matlab.
IV. Petunjuk Praktikum
1. Membuat sinyal input filter berupa superposisi beberapa sinyal sinusoidal
dengan frekuensi berbeda
1. Pada Matlab, representasikan sinyal dalam vektor (matriks 1 x N, N panjang
vektor). Kita akan merepresentasikan sumbu waktu dimana untuk 0<t<2π, kita
beri panjang vektor 100 (100 sampel) dengan perintah >>i=1:100;
2. Buat 3 sinyal sinusoidal pada frekuensi pencuplikan fs=16000 Hz untuk masing-
masing frekuensi sinyal f1=200 Hz, f2=1000 Hz, f3=5000 Hz. Ketikkan
>>sin1=sin(2*pi*i*f1/fs);sin2=sin(2*pi*i*f2/fs);sin3=sin(2*pi*i*f3/fs
);
3. Jumlahkan ketiga sinyal tersebut menjadi satu sinyal sinusoidal rusak dengan
perintah >>sintot=(sin1+sin2+sin3)/3;
4. Coba plot gambarnya dengan perintah >>plot(sintot);
5. Lihat juga respon frekuensinya dengan perintah freqz.
6. Kini Anda telah memiliki sinyal input untuk filter yang akan kita rancang.
2. Desain dan Simulasi Filter FIR
Kita akan coba beberapa filter FIR dengan spesifikasi berikut (frekuensi boleh
diubah-ubah)
a. Filter FIR low-pass orde 31 dengan frekuensi cut-off 800 Hz
b. Filter FIR band-pass orde 31 dengan frekuensi pass 1000 – 3000 Hz
c. Filter FIR high-pass orde 31 dengan frekuensi cut-off 6000Hz
1. Rancang ketiga filter di atas, cari koefisien filter-nya dengan perintah yang sesuai
(fir1 atau fir2). Catat masing-masing koefisien filter.
2. Lihat frekuensi respon masing-masing filter dengan perintah freqz. Gambarkan
hasilnya.
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
Tim Praktikum PE-3002 LSS
PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB
CONTOH FORMAT LAPORAN
3.1. Perancangan Filter dengan Matlab
Plot Sinyal Input
Sinyal Input Respon Frekuensi
3.2. Desain Filter FIR
Low-pass orde 31 f
cut-off 800 Hz Koefisien Filter
Respon Frekuensi Filter
Band-pass orde 31 f
cut-off 1000-3000 Hz Koefisien Filter
Respon Frekuensi Filter
High-pass orde 31 f
cut-off 6000 Hz
Respon Frekuensi Filter
Tim Praktikum PE-3002 LSS

More Related Content

What's hot

Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAndry Saftiawan
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul iyohaneswahyuusd13
 
Cepat mahir dengan matlab
Cepat mahir dengan matlabCepat mahir dengan matlab
Cepat mahir dengan matlabNur Hy
 
Praktik dengan matlab
Praktik dengan matlabPraktik dengan matlab
Praktik dengan matlabSyafrizal
 
Presentasi Matlab
Presentasi MatlabPresentasi Matlab
Presentasi Matlabarifgator
 
Dasar control system dengan matlab
Dasar control system dengan matlabDasar control system dengan matlab
Dasar control system dengan matlabadi_yus
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlabNur Lely
 
Tutorial matlab libre
Tutorial matlab libreTutorial matlab libre
Tutorial matlab libreDoni Rahman
 
Tutorial mat lab_teguhw
Tutorial mat lab_teguhwTutorial mat lab_teguhw
Tutorial mat lab_teguhwDimaz Gunawan
 

What's hot (14)

Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLAB
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul i
 
Cepat mahir dengan matlab
Cepat mahir dengan matlabCepat mahir dengan matlab
Cepat mahir dengan matlab
 
Matlab Tutorial Chapter 1
Matlab Tutorial Chapter 1Matlab Tutorial Chapter 1
Matlab Tutorial Chapter 1
 
Praktik dengan matlab
Praktik dengan matlabPraktik dengan matlab
Praktik dengan matlab
 
Presentasi Matlab
Presentasi MatlabPresentasi Matlab
Presentasi Matlab
 
1 pengenalan matlab
1  pengenalan matlab1  pengenalan matlab
1 pengenalan matlab
 
Tutorial matlab .pdf
Tutorial matlab .pdfTutorial matlab .pdf
Tutorial matlab .pdf
 
Dasar control system dengan matlab
Dasar control system dengan matlabDasar control system dengan matlab
Dasar control system dengan matlab
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Tutorial matlab libre
Tutorial matlab libreTutorial matlab libre
Tutorial matlab libre
 
Diktat MatLab
Diktat MatLabDiktat MatLab
Diktat MatLab
 
Matlab
MatlabMatlab
Matlab
 
Tutorial mat lab_teguhw
Tutorial mat lab_teguhwTutorial mat lab_teguhw
Tutorial mat lab_teguhw
 

Similar to Modul 1 matlab 1 (20)

Matlab 1
Matlab 1Matlab 1
Matlab 1
 
Tutorialmatlab bahasa indonesia
Tutorialmatlab bahasa indonesiaTutorialmatlab bahasa indonesia
Tutorialmatlab bahasa indonesia
 
Matlab Tutorial
Matlab TutorialMatlab Tutorial
Matlab Tutorial
 
Dasar matlab
Dasar matlabDasar matlab
Dasar matlab
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Praktik matlab
Praktik matlabPraktik matlab
Praktik matlab
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdfPanduan_Belajar_Mandiri_MATLAB.pdf
Panduan_Belajar_Mandiri_MATLAB.pdf
 
Modul praktikum telekomunikasi kurikulum 2018 kkni
Modul praktikum telekomunikasi kurikulum 2018 kkniModul praktikum telekomunikasi kurikulum 2018 kkni
Modul praktikum telekomunikasi kurikulum 2018 kkni
 
Mat lab
Mat labMat lab
Mat lab
 
Matlab 5
Matlab 5Matlab 5
Matlab 5
 
Fungsi grafik di matlab
Fungsi grafik di matlabFungsi grafik di matlab
Fungsi grafik di matlab
 
Matlab Tutorial Chapter 2
Matlab Tutorial Chapter 2Matlab Tutorial Chapter 2
Matlab Tutorial Chapter 2
 
Diktat Panduan Matlab
Diktat Panduan MatlabDiktat Panduan Matlab
Diktat Panduan Matlab
 
Dasar dasar matlab
Dasar dasar matlabDasar dasar matlab
Dasar dasar matlab
 
Dasar Dasar MATLAB
Dasar Dasar MATLABDasar Dasar MATLAB
Dasar Dasar MATLAB
 
Tutorial Matlab
Tutorial MatlabTutorial Matlab
Tutorial Matlab
 
Tutorial Praktis Belajar Matlab Teguh W
Tutorial Praktis Belajar Matlab Teguh WTutorial Praktis Belajar Matlab Teguh W
Tutorial Praktis Belajar Matlab Teguh W
 
Tutorial Matlab
Tutorial MatlabTutorial Matlab
Tutorial Matlab
 
Handout aplikom
Handout aplikomHandout aplikom
Handout aplikom
 

Recently uploaded

KELOMPOK 2 PUTARAN 2 Mata kuliah Agama Islam
KELOMPOK 2 PUTARAN 2 Mata kuliah Agama IslamKELOMPOK 2 PUTARAN 2 Mata kuliah Agama Islam
KELOMPOK 2 PUTARAN 2 Mata kuliah Agama IslamabdulhamidalyFKIP
 
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASIBMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASIsyedharis59
 
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1LailaTulangRusukMaha
 
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docxaljabarkoho
 
Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...
Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...
Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...Shoffan shoffa
 
Kisi-kisi PTS Kelas 8 semester 2 kurikulum merdeka
Kisi-kisi PTS Kelas 8 semester 2 kurikulum merdekaKisi-kisi PTS Kelas 8 semester 2 kurikulum merdeka
Kisi-kisi PTS Kelas 8 semester 2 kurikulum merdekahellenchanel31
 
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptxPPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptxRestiana8
 
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...Aminullah Assagaf
 
power point mengenai akhlak remaja: menghindari tawuran
power point mengenai akhlak remaja: menghindari tawuranpower point mengenai akhlak remaja: menghindari tawuran
power point mengenai akhlak remaja: menghindari tawuranapriandanu
 
Kelompok 1_Pengantar Komunikasi Pendidikan.pdf
Kelompok 1_Pengantar Komunikasi Pendidikan.pdfKelompok 1_Pengantar Komunikasi Pendidikan.pdf
Kelompok 1_Pengantar Komunikasi Pendidikan.pdf2210130220024
 
Menyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus daMenyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus daWijaya Kusumah
 
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASIBMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASIwanalifhikmi
 
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada MuridAksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada MuridDonyAndriSetiawan
 
573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptx
573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptx573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptx
573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptxanisakhairoza
 
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan muridAksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan muridYusnelMarni
 
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUTeric214073
 
Sasaran dan Pengembangan Sikap Profesional Guru.pptx
Sasaran dan Pengembangan Sikap Profesional Guru.pptxSasaran dan Pengembangan Sikap Profesional Guru.pptx
Sasaran dan Pengembangan Sikap Profesional Guru.pptxFidelaNiam
 

Recently uploaded (20)

KELOMPOK 2 PUTARAN 2 Mata kuliah Agama Islam
KELOMPOK 2 PUTARAN 2 Mata kuliah Agama IslamKELOMPOK 2 PUTARAN 2 Mata kuliah Agama Islam
KELOMPOK 2 PUTARAN 2 Mata kuliah Agama Islam
 
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASIBMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
 
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
 
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
 
DEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptx
DEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptxDEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptx
DEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptx
 
Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...
Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...
Implementasi Model pembelajaran STEAM Holistik-Integratif Berbasis Digital Me...
 
Kisi-kisi PTS Kelas 8 semester 2 kurikulum merdeka
Kisi-kisi PTS Kelas 8 semester 2 kurikulum merdekaKisi-kisi PTS Kelas 8 semester 2 kurikulum merdeka
Kisi-kisi PTS Kelas 8 semester 2 kurikulum merdeka
 
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptxPPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
 
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
 
Persiapandalam Negosiasi dan Loby .pptx
Persiapandalam  Negosiasi dan Loby .pptxPersiapandalam  Negosiasi dan Loby .pptx
Persiapandalam Negosiasi dan Loby .pptx
 
power point mengenai akhlak remaja: menghindari tawuran
power point mengenai akhlak remaja: menghindari tawuranpower point mengenai akhlak remaja: menghindari tawuran
power point mengenai akhlak remaja: menghindari tawuran
 
Kelompok 1_Pengantar Komunikasi Pendidikan.pdf
Kelompok 1_Pengantar Komunikasi Pendidikan.pdfKelompok 1_Pengantar Komunikasi Pendidikan.pdf
Kelompok 1_Pengantar Komunikasi Pendidikan.pdf
 
Menyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus daMenyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus da
 
ELEMEN KOMPOL (PESAN BAHASA POLITIK).pptx
ELEMEN KOMPOL (PESAN BAHASA POLITIK).pptxELEMEN KOMPOL (PESAN BAHASA POLITIK).pptx
ELEMEN KOMPOL (PESAN BAHASA POLITIK).pptx
 
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASIBMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
BMMB 1134 KETERAMPILAN BERBAHASA HALANGAN KOMUNIKASI
 
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada MuridAksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
 
573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptx
573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptx573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptx
573323880-PPT-Nasionalisme-dan-Anti-Korupsi.pptx
 
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan muridAksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
 
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
 
Sasaran dan Pengembangan Sikap Profesional Guru.pptx
Sasaran dan Pengembangan Sikap Profesional Guru.pptxSasaran dan Pengembangan Sikap Profesional Guru.pptx
Sasaran dan Pengembangan Sikap Profesional Guru.pptx
 

Modul 1 matlab 1

  • 1. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB MODUL 1 PENGENALAN MATLAB (1) MATLAB akan digunakan secara ekstensif pada praktikum ini. Modul ini memberikan tinjauan singkat mengenai MATLAB dan kapabilitasnya dengan penekanan pada isu pemrograman. Seluruh materi pada modul ini merupakan terjemahan bebas dari buku “DSP First, A Multimedia Approach” karangan James H. McClellan, Ronald W. Schafer, dan Mark A. Yoder, terbitan Prentice-Hall (1998), khususnya Appendix B dan C. I. Tujuan Tujuan khusus modul : 1. Mempelajari penggunaan sistem help untuk mengetahui commands dan syntax dasar MATLAB 2. Dapat menggunakan MATLAB untuk desain filter II. Dasar Teori MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi numerik. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin numerik dari proyek LINPACK dan EISPACK, namun sekarang merupakan produk komersial dari perusahaan Mathworks, Inc. MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus . MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak terlalu sulit bila Anda telah memiliki pengalaman dalam pemrograman bahasa lain seperti C, PASCAL, atau FORTRAN. 1. MATLAB HELP MATLAB menyediakan sistem help on-line yang dapat diakses dengan perintah help. Misalnya, untuk memperoleh informasi mengenai fungsi filter, Anda hanya perlu mengetikkan perintah >> help filter Perintah di atas akan menampilkan informasi dalam bentuk teks pada layar MATLAB Anda. Tim Praktikum PE-3002 LSS
  • 2. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB Sebuah perintah yang sangat berguna untuk mempelajari pemrograman MATLAB adalah intro, yang membahas konsep-konsep dasar tentang bahasa MATLAB. Selain itu, juga terdapat banyak program demonstrasi yang mengilustrasikan berbagai kapabilitas MATLAB, yang dapat dimulai dengan perintah demo. 2. VARIABEL DAN OPERASI MATRIKS Tipe variabel dasar pada MATLAB adalah matriks (pada versi 5 dan ke atas, MATLAB juga menyediakan berbagai tipe data seperti pada bahasa pemrograman lainnya). Untuk mendeklarasikan sebuah variabel, Anda hanya perlu memberikan nilai tertentu padanya pada MATLAB prompt. Sebagai contoh, >> M = [ 1 2 6; 5 2 1] M = 1 2 6 5 2 1 Ketika definisi sebuah matriks melibatkan sebuah rumus yang panjang atau banyak entri, maka sebuah perintah MATLAB yang sangat panjang dapat dipecah menjadi dua (atau lebih) baris dengan cara menempatkan sebuah tanda (…) pada akhir dari sebuah baris yang ingin dilanjutkan. Sebagai contoh, P = [ 1, 2, 4, 6, 8 ]+ [ pi, 4, exp(1), 0, -1] + … [ cos(0.1*pi), sin(pi/3), tan(3), atan(2), sqrt(pi) ]; Ketika sebuah ekspresi perintah atau pernyataan diakhiri dengan tanda semicolon (;), maka hasilnya tidak akan ditampilkan di layar. Hal ini sangat membantu ketika Anda bekerja dengan matriks dengan ukuran yang sangat besar. Ukuran dari sebuah matriks dapat diketahui dengan operator size: >> Msize = size(M) Msize = 2 3 Oleh karena itu, kita tidak perlu menggunakan variabel khusus untuk melacak jumlah baris dan kolom suatu matriks. Ada dua jenis variabel matriks pada MATLAB, yakni skalar (scalars) dan vektor (vectors). Sebuah skalar adalah sebuah matriks yang hanya berisi satu elemen, jadi berukuran 1 x 1. Sebuah vektor adalah sebuah matriks yang hanya berisi satu baris atau kolom. Elemen individu dari sebuah variabel matriks dapat diakses dengan memberikan indeks baris dan kolom, sebagai contoh >> M13 = M(1,3) M13 = 6 Tim Praktikum PE-3002 LSS
  • 3. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB Submatriks juga dapat diakses dengan cara yang mirip dengan menggunakan operator colon (:) seperti yang dijelaskan pada sesi berikut. 2.1. Operator colon (:) Operator colon (:) sangat berguna untuk membuat index arrays. Gunakan perintah help colon untuk mengetahui deskripsi detail tentang kapabilitasnya. Notasi colon didasarkan pada ide bahwa sebuah selang indeks dapat dihasilkan dengan memberikan sebuah nilai awal, interval, dan sebuah nilai akhir. Karena itu, sebuah vektor yang terpartisi secara teratur dapat diperoleh dengan perintah iii = nilai awal : interval : nilai akhir Tanpa parameter interval, nilai default-nya adalah 1. Metode perhitungan ini mirip dengan notasi loop DO pada FORTRAN, namun metode pada MATLAB selangkah lebih maju dengan cara menggabungkannya dengan pengindeksan matriks. Untuk sebuah matriks A 9 x 8, A(2,3) adalah elemen skalar yang berada pada baris kedua dan kolom ketiga dari matriks A. Jadi sebuah submatriks 4 x 3 dapat diekstrak dengan perintah A(2:5,1:3). Tanda colon juga berfungsi sebagai sebuah wild card, misalnya, A(2,:) adalah baris kedua matriks A. Pengindeksan mundur akan membalikkan sebuah vektor, misalnya X(9:-1:1) untuk sebuah vektor yang berisi 9 buah elemen. Kadang-kadang, Anda juga memerlukan sebuah daftar yang berisi semua nilai elemen pada matriks, jadi A(:) memberikan sebuah vektor kolom 72 x 1, yang merupakan hasil concatenation elemen-elemen setiap kolom matrik A. Ini merupakan contoh reshaping matriks. Teknik reshaping yang lebih umum dapat dilakukan dengan fungsi reshape(A,M,N). Sebagai contoh, matriks A 9 x 8 dapat di-reshape menjadi sebuah matriks 12 x 6 dengan Anew = reshape(A,12,6). 2.2. Operasi Matriks dan Array Operasi default pada MATLAB adalah operasi matriks. Jadi A*B berarti perkalian matriks, yang akan dibahas pada bagian berikut. 2.2.1. Tinjauan Perkalian Matriks Operasi perkalian matriks AB hanya dapat dilakukan bila kedua matriks tersebut memiliki dimensi yang kompatibel, yakni jumlah kolom matriks A harus sama dengan jumlah baris matriks B. Sebagai contoh, sebuah matriks 5 x 8 dapat mengalikan sebuah matriks 8 x 3 untuk menghasilkan sebuah matriks AB 5 x 3. Secara umum, bila A adalah m x n, maka B haruslah n x p, dan hasil perkalian AB akan memiliki dimensi m x p. Umumnya perkalian matriks tidak bersifat komutatif, yakni AB ≠ BA. Bila p ≠ m, maka perkalian AB tidak terdefinisi. Beberapa kasus khusus untuk perkalian matriks adalah outer product dan inner product. Pada outer product, sebuah vektor kolom mengalikan sebuah vektor Tim Praktikum PE-3002 LSS
  • 4. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB baris untuk menghasilkan sebuah matriks. Bila kita membiarkan semua elemen salah satu vektor tersebut berupa ‘1’ , maka kita akan memperoleh hasil yang berulang. [ ]           =           3333 2222 1111 3 2 1 1111 aaaa aaaa aaaa a a a Untuk inner product, sebuah vektor baris mengalikan sebuah vektor kolom, jadi hasilnya berupa skalar. Bila kita membiarkan semua elemen salah satu vektor tersebut berupa ‘1’, maka kita akan memperoleh penjumlahan semua elemen vektor lainnya. [ ] 43214321 1 1 1 1 aaaaaaaa +++=             2.2.2. Operasi pointwise array Bila kita ingin melakukan perkalian pointwise, ada beberapa kebingungan yang bisa muncul. Pada kasus pointwise, kita ingin mengalikan matriks secara elemen per elemen, jadi mereka harus memiliki dimensi yang sama. Sebagai contoh, dua matriks 5 x 8 dapat dikalikan secara pointwise, walaupun keduanya tidak bisa melakukan perkalian matriks biasa. Untuk melakukan perkalian pointwise pada MATLAB, kita menggunakan operator “point-star” A .* B. Misalnya bila A dan B keduanya adalah matriks 3 x 2 maka           =                     == 32323131 22222121 12121111 3231 2221 1211 3231 2221 1211 ** ** ** *.*. baba baba baba bb bb bb aa aa aa BAC Untuk selanjutnya, perkalian semacam ini kita sebut dengan istilah perkalian array. Perhatikan bahwa perkalian array bersifat komutatif karena kita akan memperoleh hasil yang sama bila kita menghitung D = B.*A. Dalam MATLAB, bila sebuah “titik” digunakan dengan operator aritmetik, maka ia akan mengubah definisi operator tersebut ke operasi pointwise. Jadi operator ./ berarti pembagian pointwise, .^ berarti pemangkatan pointwise. Misalnya, xx = (0.9).^(0:49) akan menghasilkan suatu vector yang nilainya sama dengan (0,9)n untuk n = 0,1, 2, …49. 2.2.3 Operasi concatenation array Operasi ini digunakan untuk menempelkan dua atau lebih array dengan syarat syarat tertetu sesuai dengan operasi concatenation yangdiinginkan. Dalam MATLAB Tim Praktikum PE-3002 LSS
  • 5. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB terdapat dua buah fungsi yang dapat digunakan untuk melakukan proses concatenation (penempelan) arrays. Fungsi tersebut adalah vertcat dan horzcat. Penjelasan lanjut dapat dilihat pada help MATLAB untuk fungsi-fungsi tersebut. 3. PLOT DAN GRAFIK MATLAB dapat menghasilkan plot dua dimensi x-y dan plot tiga dimensi, menayangkan citra, dan bahkan membuat dan memutar video. Dua fungsi yang yang sering digunakan pada praktikum ini adalah plot dan stem. Untuk memanggil fungsi ini, umumnya kita membutuhkan dua vektor (satu vektor juga bisa, namun untuk definisi yang berbeda, gunakan perintah help untuk melihat informasi yang lebih lengkap), untuk sumbu x dan sumbu y. Pemanggilan fungsi plot(x,y) akan menghasilkan suatu plot yang terkoneksi dengan garis lurus untuk setiap dua titik { (x(1),y(1), (x(2),y(2), (x(3),y(3), …….., (x(N),y(N) } seperti yang ditunjukkan pada gambar PA.1. Pemanggilan fungsi stem(x,y) akan menghasilkan presentasi seperti yang ditunjukkan pada gambar kedua PA.1 0 0.5 1 1.5 2 2.5 3 3.5 4 -1 -0.5 0 0.5 1 tt = 0:0.3:4; xx = sin(0.7*pi*tt); plot( tt, xx) 0 0.5 1 1.5 2 2.5 3 3.5 4 -1 -0.5 0 0.5 1 tt = 0:0.3:4; xx = sin(0.7*pi*tt); stem( tt, xx) Gambar PA.1 MATLAB memiliki banyak opsi plotting yang dapat dipelajari dengan help plotxy, help plotxyz, dan help graphics (versi 4) atau help graph2d, help graph3d, dan help specgraph (versi 5). Tim Praktikum PE-3002 LSS
  • 6. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB 3.1. Figure Windows Ketika MATLAB membuat sebuah plot, MATLAB menulis grafik tersebut ke figure windows. Anda bisa membuka beberapa figure windows namun setiap saat hanya satu window yang aktif. Setiap perintah plot pada command window akan mengalihkan keluarannya ke window yang aktif. Perintah figure(n) akan menampilkan sebuah figure window yang baru yang ditandai dengan bilangan n, atau membuatnya aktif kembali bila telah ada sebelumnya. Pengendalian terhadap berbagai atribut window (ukuran, lokasi, warna) juga mungkin dilakukan dengan perintah figure, yang melakukan inisialisasi terhadap window plot. 3.2. Mem-Plot beberapa grafik Anda juga dapat membuat beberapa grafik/plot pada satu window dengan menggunakan fungsi subplot. Fungsi ini tidak melakukan proses plotting, namun hanya membagi window menjadi beberapa segmen. Sebagai contoh, perintah subplot(3,2,3) akan membagi figure window menjadi tiga baris dan dua kolom (jadi terdapat enam segmen) dan mengarahkan plot berikutnya ke segmen kiri baris kedua. Grafik pada PA.1 diperoleh dengan perintah subplot(2,1,1) dan subplot(2,1,2). 4. KONSTRUK PEMROGRAMAN MATLAB mendukung paradigma pemrograman fungsional, di mana Anda dapat menyusun fungsi-fungsi secara nested. Perhatikan persamaan di bawah ( )∑= L n nx 1 log yang dapat diimplementaskan dengan hanya menggunakan satu baris kode MATLAB, yakni sum( log( abs(x) ) ) di mana x adalah sebuah vektor yang berisi elemen-elemen xn. Contoh ini mengilustrasikan MATLAB dalam bentuk yang paling efisien, di mana fungsi-fungsi individu dikombinasikan untuk menghasilkan keluaran. Penulisan kode-kode MATLAB yang efisien memerlukan gaya pemrograman yang menghasilkan fungsi-fungsi kecil yang divektorisasi. Loop-loop harus dihindari. Cara utama untuk menghindari loop adalah memanggil fungsi-fungsi toolbox sebanyak/sesering mungkin. 4.1. Fungsi-fungsi built-in MATLAB Tim Praktikum PE-3002 LSS
  • 7. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB Banyak fungsi-fungsi MATLAB yang dapat beroperasi pada skalar sama mudahnya dengan operasi pada array. Sebagai contoh, bila x adalah sebuah array, maka cos(x) mengembalikan sebuah array dengan ukuran yang sama seandainya x berisi kosinus dari setiap elemen x.             = )cos()cos()cos( )cos()cos()cos( )cos()cos()cos( )cos( ,2,1, ,22,21,2 ,12,11,1 nmmm n n xxx xxx xxx x     Perhatikan bahwa tidak ada loop yang diperlukan, meskipun cos(x) melakukan operasi kosinus pada setiap elemen array. Kebanyakan fungsi transcendental mengikuti aturan pointwise ini. Pada beberapa kasus khusus, adalah sangat penting untuk membedakan eksponensial matriks (expm) dengan eksponensial pointwise (exp):             = )exp()exp()exp( )exp()exp()exp( )exp()exp()exp( )exp( ,2,1, ,22,21,2 ,12,11,1 nmmm n n aaa aaa aaa A     4.2. Aliran Program (Program Flow) Aliran program dapat dikendalikan pada MATLAB menggunakan pernyataan if, loop while, dan loop for. Pada MATLAB versi 5, terdapat juga pernyataan switch. Hal ini mirip dengan bahasa-bahasa tingkat tinggi seperti C++ atau PASCAL. Deskripsi dan contoh dari setiap konstruk program tersebut dapat dilihat dengan menggunakan perintah help. 5. MATLAB SCRIPTS Setiap perintah/pernyataan yang dapat dimasukkan pada window prompt dapat disimpan pada sebuah file teks dan dieksekusi sebagai script. File teks tersebut dapat dibuat dengan menggunakan sembarang editor ASCII seperti program Notepad atau pada editor teks MATLAB. Ekstensi file harus berupa .m dan script tersebut dieksekusi pada MATLAB dengan hanya mengetikkan nama file (dengan atau tanpa ekstensi). Program- program tersebut umumnya dikenal dengan istilah m-file. Berikut merupakan contoh sebuah m-file: tt = 0:0.3:4; xx = sin(0.7*pi*tt); subplot(2,1,1) plot( tt, xx) title(‘tt = 0:0.3:4; xx = sin(0.7*pi*tt); plot( tt, xx)’) subplot(2,1,2) Tim Praktikum PE-3002 LSS
  • 8. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB stem( tt, xx) title(‘‘tt = 0:0.3:4; xx = sin(0.7*pi*tt); plot( tt, xx)’) Bila perintah-perintah ini disimpan dengan file bernama plotstem.m maka pengetikan plotstem pada command prompt akan menjalankan file tersebut, dan kedelapan baris perintah akan dieksekusi sama halnya bila mereka diketikkan baris per baris pada command prompt. Hasilnya adalah dua buah plot seperti yang tampak pada gambar A.1. III. Persiapan Praktikum: Pelajari penggunaan perintah fir1, fir2, filter, freqz dan perintah-perintah lain yang berhubungan dengan topik praktikum pada Matlab. IV. Petunjuk Praktikum 1. Membuat sinyal input filter berupa superposisi beberapa sinyal sinusoidal dengan frekuensi berbeda 1. Pada Matlab, representasikan sinyal dalam vektor (matriks 1 x N, N panjang vektor). Kita akan merepresentasikan sumbu waktu dimana untuk 0<t<2π, kita beri panjang vektor 100 (100 sampel) dengan perintah >>i=1:100; 2. Buat 3 sinyal sinusoidal pada frekuensi pencuplikan fs=16000 Hz untuk masing- masing frekuensi sinyal f1=200 Hz, f2=1000 Hz, f3=5000 Hz. Ketikkan >>sin1=sin(2*pi*i*f1/fs);sin2=sin(2*pi*i*f2/fs);sin3=sin(2*pi*i*f3/fs ); 3. Jumlahkan ketiga sinyal tersebut menjadi satu sinyal sinusoidal rusak dengan perintah >>sintot=(sin1+sin2+sin3)/3; 4. Coba plot gambarnya dengan perintah >>plot(sintot); 5. Lihat juga respon frekuensinya dengan perintah freqz. 6. Kini Anda telah memiliki sinyal input untuk filter yang akan kita rancang. 2. Desain dan Simulasi Filter FIR Kita akan coba beberapa filter FIR dengan spesifikasi berikut (frekuensi boleh diubah-ubah) a. Filter FIR low-pass orde 31 dengan frekuensi cut-off 800 Hz b. Filter FIR band-pass orde 31 dengan frekuensi pass 1000 – 3000 Hz c. Filter FIR high-pass orde 31 dengan frekuensi cut-off 6000Hz 1. Rancang ketiga filter di atas, cari koefisien filter-nya dengan perintah yang sesuai (fir1 atau fir2). Catat masing-masing koefisien filter. 2. Lihat frekuensi respon masing-masing filter dengan perintah freqz. Gambarkan hasilnya. Tim Praktikum PE-3002 LSS
  • 9. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB Tim Praktikum PE-3002 LSS
  • 10. PE-3002 PENGOLAHAN SINYAL DIGITAL Modul 1 Pengenalan MATLAB CONTOH FORMAT LAPORAN 3.1. Perancangan Filter dengan Matlab Plot Sinyal Input Sinyal Input Respon Frekuensi 3.2. Desain Filter FIR Low-pass orde 31 f cut-off 800 Hz Koefisien Filter Respon Frekuensi Filter Band-pass orde 31 f cut-off 1000-3000 Hz Koefisien Filter Respon Frekuensi Filter High-pass orde 31 f cut-off 6000 Hz Respon Frekuensi Filter Tim Praktikum PE-3002 LSS