• Tidak ada hasil yang ditemukan

PRAKTIKUM ISYARAT DAN SISTEM TOPIK 0 TUTORIAL PENGENALAN MATLAB

N/A
N/A
Protected

Academic year: 2021

Membagikan "PRAKTIKUM ISYARAT DAN SISTEM TOPIK 0 TUTORIAL PENGENALAN MATLAB"

Copied!
7
0
0

Teks penuh

(1)

1

PRAKTIKUM ISYARAT DAN SISTEM

TOPIK 0

TUTORIAL PENGENALAN MATLAB

A. Tujuan

1. Mahasiswa mengenal lingkungan MATLAB dan mampu menggunakannya.

2. Mahasiswa mampu menggunakan fungsi-fungsi dasar MATLAB yang berkaitan dengan analisa isyarat dan sistem.

3. Mahasiswa mengenal dan dapat menggunakan M-file dan GUI dari MATLAB.

B. Dasar Teori

. : Command Window, Workspace, Direktori dan Perintah Dasar : .

MATLAB atau Matrix Laboratory adalah perangkat lunak yang sangat berguna dalam perhitungan serta analisa isyarat dan sistem. Sesuai namanya, semua data yang digunakan dalam perhitungan pada MATLAB disimpan dalam bentuk matriks. MATLAB dibuat dengan dasar bahasa pemrograman C. Berikut adalah tampilan layar utama dari MATLAB:

(2)

2

Layar bagian kanan adalah command window, pada layar ini kita dapat menjalankan semua fungsi pada MATLAB, termasuk help dan fungsi-fungsi umum pada command prompt. Sebagai contoh pertama, kita akan membuat “variabel a” yang merupakan matriks dengan elemen baris pertama 1, 2, 3 serta elemen baris kedua 4, 5, 6.

Pada command window ketik:

>> a=[1 2 3 ; 4 5 6] kemudian tekan enter a =

1 2 3 4 5 6

Perhatikan bahwa :: - “Variabel atau matriks a” yang baru terbentuk akan langsung ditampilkan oleh MATLAB.

- MATLAB selalu menampilkan hasil dari statement yang dijalankan setelah menekan enter, untuk mencegah hal ini tambahkan titik koma (;) pada akhir statement. - Direktori aktif tempat kita melakukan pekerjaan maupun

perhitungan tampak pada current directory di bagian atas command window.

Layar bagian kiri dapat menunjukkan workspace atau current directory (atau tab lainnya, tergantung pengaturan pada menu view). Current Directory menunjukkan file-file yang ada pada direktori aktif. Sedangkan Workspace menunjukkan variabel-variabel yang digunakan untuk menyimpan data pada perhitungan. Berikut adalah tampilan Workspace:

Pada Workspace terdapat informasi nama variabel penyimpan data, ukuran matriks data (baris x kolom), ukuran dari data dalam byte, dan class dari data tersebut.

Untuk menghapus variabel yang sudah tidak digunakan ketik pada command window: >> clear[spasi][nama variabel]

(3)

3

Cobalah ketikkan beberapa statement di bawah ini pada command window dan pahami kegunaannya: 1. >> help sin 2. >> help plot 3. >> t=0:1:10 >> plot(t,sin(t)) 4. >> a=[1 2 3];b=[4 5 6]; >> a+b >> c=a+b >> a’ >> 2*a >> a.*b >> a*b Keterangan: - Nomor 1 dan 2

Help selalu berguna untuk mengetahui sintaks dan kegunaan setiap fungsi pada MATLAB.

- Nomor 3:

Statement pertama membentuk matriks baris dengan nilai awal 0, nilai akhir 10 dan step (besarnya penambahan/pengurangan) sebesar 1. Statement kedua menggambarkan grafik dengan axis t dan ordinat sin(t).

- Nomor 4:

Statement kedua menjumlahan matriks a dan matriks b dan hasilnya disimpan pada variabel ans (default dari MATLAB dan bersifat temporary, dapat tertimpa dengan operasi selanjutnya).

Statement ketiga sama dengan sebelumnya, hanya saja hasilnya disimpan di matriks c. Statement keempat dan kelima adalah transpose dan perkalian dengan bilangan bulat. Statement keenam mengalikan masing-masing elemen dari matriks a dan b (element wise). Statement terakhir akan menghasilkan error karena perkalian yang dilakukan adalah perkalian matriks (baris kali kolom) dengan orde yang sesuai. Coba kalian ubah orde matriks a dan b agar perkalian matriks berhasil dilakukan!!!

Karena MATLAB dibangun dengan bahasa pemrograman C, untuk itu terdapat operasi percabangan (if..else.., switch..case) dan perulangan (for.., while..). Kalian

(4)

4

. : M-file : .

Proses perhitungan di command window akan merepotkan pada skala besar karena setiap statement akan langsung dieksekusi ketika kita menekan tombol enter. Untuk mengatasinya kita dapat mengetikkan perhitungan yang banyak tersebut pada M-file. Proses pada M-File mirip dengan bahasa pemrograman, ketik semua listing kemudian jalankan secara sekuensial listing tersebut ketika perintah run dijalankan.

Untuk membuat M-File pada menu layar utama MATLAB pilih FileNewM-File. Akan tertampil layar baru tempat kita mengetikkan semua listing kita. Cobalah listing berikut dan analisa sendiri kegunaannya (dasarnya sama dengan penjelasan halaman sebelumnya, atau cari di help):

t=-pi:0.1:pi; y=sin(t); z=cos(t);

subplot(2,1,1);plot(t,y);title('grafik sin(t)'); subplot(2,1,2);plot(t,z);title('grafik cos(t)');

Untuk menjalankan listing yang telah diketik, klik tombol run ( ), tekan F5, atau pilih menu DebugRun. Anda akan diminta untuk menyimpan M-file tersebut sebelum dijalankan (contoh: coba.m).

NB ::

Sering terjadi kegagalan saat menjalankan listing M-file, hal ini dikarenakan pemberian nama M-file dengan cara yang salah, seperti berikut ini:

1. Nama fungsi yang sudah ada di MATLAB. Contoh: sin.m, plot.m, mod.m

2. Diawali dengan angka. Contoh: 1.m, 5coba.m

Sebagai tambahan, error pengetikkan juga akan ditampilkan pada command window. Statement yang tidak diakhiri dengan titik koma (;) juga akan menampilkan hasilnya pada command window.

M-file juga dapat kita gunakan untuk membuat fungsi baru. Misalkan kita ingin membuat fungsi yang akan menampilkan grafik sinus dari -2π s.d. 2π dan mengembalikan nilai amplitudonya dalam matriks. Parameter yang diberikan oleh user (passing parameter) adalah “amplitude” dan “frekuensi sudut”. Berikut Listing program-nya: function ret_amp=gambar_sin(amp, omega)

%kalimat ini akan muncul saat diketik help gambar_sin t=-2*pi:0.1:2*pi;

(5)

5

plot(t,y);

grid on; %menampilkan garis bantu %membuat string

judul=sprintf('grafik %i*sin(%i*t)',amp,omega); title(judul);

ret_amp=y; %mengembalikan nilai amplitudo

Simpan M-file tersebut dengan nama yang sama dengan nama fungsinya, yakni

gambar_sin.m

Cobalah gunakan fungsi ini dengan mengetikkannya pada command window. Contoh: >> amplitudo_sin=gambar_sin(4,2);

Akan tertampil grafik sinus, nilai amplitudonya akan tersimpan pada variable amplitudo_sin, cobalah lihat isi dari variabel amplitudo_sin. Plot disini adalah untuk menggambarkan sinyal dalam ranah waktu kontinu. Untuk ranah waktu diskrit, akan digunakan stem.

NB:

(%) menunjukkan komentar, semua kalimat setelah tanda ini tidak akan dijalankan oleh MATLAB saat run. Komentar tepat di bawah function akan muncul saat diketik:

help [spasi] [nama fungsi]

Fungsi dapat digunakan jika fungsi terdapat pada direktori aktif MATLAB.

. : GUI (Graphical User Interface) : .

MATLAB juga memiliki GUI seperti Visual Basic atau bahasa pemrograman visual lainnya. Prinsipnya pun sama. Untuk memudahkan pemahaman GUI berikut adalah langkah-langkah pembuatan GUI dari penampil grafik sinus dengan input berupa

amplitudo dan offset:

1. Pada layar utama MATLAB, pilih FileNewGUI. Pilih ”Blank Gui” dan tekan OK. 2. Terdapat banyak pilihan obyek yang dapat kita gunakan pada toolbox sebelah kiri

(pushbutton, edit text, axes, radiobutton, dll). Drag and dropaxes, dua buah pushbutton, dua buah edit text dan dua buah static text. Sesuaikan ukurannya hingga nampak seperti tampilan layar berikut ini:

(6)

6

3. Jika kita mengklik ganda salah satu dari obyek-obyek tersebut, akan tertampil property inspector yang berisi macam-macam properti dari obyek tersebut yang dapat kita ubah. Untuk saat ini ubah:

- string static text atas menjadi amplitudo, static text bawah menjadi offset - kosongkan string kedua edit text

- tag edit text atas menjadi amplitudo, dan offset untuk edit text bawah - string pushbutton kiri menjadi GO, string pushbutton kanan menjadi Exit - tag pushbutton kiri menjadi tblGO, tag pushbutton kanan menjadi tblExit - tag axes menjadi layar

Tampilan akan berubah menjadi seperti berikut ini:

4. Save file GUI dengan sembarang nama, kemudian klik kanan pushbuttonGO, pilih

view callbackscallback

(7)

7

5. Ketikkan listing di bawah ini pada callback dari tblGO. Listing ini akan dijalankan saat tombol GO ditekan.

%mendapatkan nilai dari edit text

str_amp=get(handles.amplitudo,'string'); str_off=get(handles.offset,'string'); %ubah dari string ke num

amp=str2num(str_amp); offset=str2num(str_off); t=-2*pi:0.1:2*pi;

y=offset+(amp*sin(pi*t));

%menentukan axes yang akan digunakan axes(handles.layar);

plot(t,y); grid on;

judul=sprintf('grafik %i + %i sin (pi*t)',offset,amp); title(judul);

6. Ulangi langkah 4 pada tombol exit, ketikkan close pada callback-nya, program selesai. Kemudian coba jalankan program!!!

*) Kendala pada GUI MATLAB ialah setiap variabel yang berada pada sebuah callback tak dapat diakses oleh callback lain. Dengan kata lain semua variabel adalah local variable. Untuk itu, pada beberapa kasus kita perlu mengubah local variable ini menjadi global variable. Contohnya jika kita memodifikasi listing callback tombol GO sebelumnya:

str_amp=get(handles.amplitudo,'string'); str_off=get(handles.offset,'string'); amp=str2num(str_amp); offset=str2num(str_off); handles.global_amp=amp; guidata(h,handles);

Pada contoh di atas tercipta global variable global_amp yang memiliki nilai sama dengan nilai local variable amp. Statement guidata(h,handles) berguna untuk mengupdate jumlah handles yang ada (akibat tercipta handles baru pada GUI, yakni global_amp).

*) Bentuk umum dari statement get yang digunakan di atas adalah:

get(handles.[nama/tag obyek],[jenis properti yg ingin diperoleh

nilainya]);

Selain get, terdapat juga statement set yang memiliki bentuk umum:

set(handles.[nama/tag obyek],[jenis properti yg ingin diubah

nilainya],[nilai baru]);

Contoh: set(handles.amplitudo,'visible',’on’);

C. Petunjuk Praktikum

Untuk praktikum topik pengenalan MATLAB ini pelajarilah cara membuat fungsi dan perulangan (statement for) di MATLAB.

Referensi

Dokumen terkait

menggunakan model penilaian CAMEL, hasil analisis menunjukkan bahwa dalam rasio kecukukpan modal bank IFIC dan leverage rasio menunjukkan kinerja yang lebih baik

Output yang diharapkan agar warga desa Mulyoharjo mampu memanfaatkan serbuk gergaji sebagai bahan dasar pembuatan figura agar perekonomian masyarakat

maupun di luar kelas. Adapun yang dimaksud dengan manajemen layanan khusus meliputi mana- jemen perpustakaan, kesehatan, dan keamanan sekolah. Manajemen perpustakaan yang

Melaksanakan kegiatan sesuai dengan ketentuan dan Standar Prosedur Operasional (SPO) yang telah ditetapkan dan mengefektifkan fungsi internal control di cabang;.. Meningkatkan

Berdasarkan penjelasan, data-data dan dari survei awal di atas penulis tertarik untuk mengetahui Pengaruh Terapi Musik Klasik (Mozart) terhadap Penurunan

Mida lähemal on pärimusliku ajaloo alane tegevus suulise ajaloo (rahvusvaheliselt oral history ) uurimisele, seda enam tuleb esile intervjuumeetod.. Viimane lähendab pärimusliku

Pengumpulan data yang digunakan untuk menggali data mengenai pengalaman pasien ketika terjadi intoksikasi obat pada pengguna zat adiktif menggunakan metode in dept

b) apabila peserta yang bersangkutan tidak bersedia menaikkan nilai Jaminan Pelaksanaan, maka penawarannya digugurkan dan Jaminan Penawaran disita untuk negara