Matlab dan Simulink - Professional Web viewContoh dari kalkulasi interaktif, ... Tabel di bawah ini...

34
PENGENALAN MATLAB DAN SIMULINK Mochamad Safarudin

Transcript of Matlab dan Simulink - Professional Web viewContoh dari kalkulasi interaktif, ... Tabel di bawah ini...

PENGENALAN

MATLAB DAN SIMULINK

Mochamad Safarudin

Program Studi Teknik Mesin

Sekolah Tinggi Teknologi Mandala

1. Matlab dan SimulinkMatlab (singkatan dari Matrix Laboratory) adalah sebuah bahasa pemrograman khusus untuk perhitungan teknikal dan sains. Pada awalnya, program tersebut dirancang untuk melakukan operasi matematika terhadap matriks tetapi kemudian berkembang menjadi suatu bahasa pemrograman yang dapat menyelesaikan hamper semua masalah teknikal dan sains.

Matlab menerapkan bahasa pemrograman Matlab dan menyediakan berbagai macam tools (dinamakan toolbox) dan library dari fungsi-fungsi yang sering diperlukan untuk menyelesaikan masalah teknikal dan sains dengan lebih mudah dan lebih efisien. Modul ini memperkenalkan bahasa pemrograman Matlab versi 2007b dan menjelaskan bagaimana menggunakan Matlab untuk menyelesaikan masalah teknikal secara umum.

Simulink adalah suatu paket perangkat lunak yang terintegrasi dengan Matlab untuk melakukan simulasi sistem dinamik dengan metode grafis. Dengan Simulink, suatu masalah teknikal atau sains dapat dibuat dalam bentuk diagram blok dan panah-panah yang menggambarkan aliran sinyal dan fungsi-fungsi yang terlibat dalam suatu sistem dinamik. Dalam modul ini akan diperkenalkan juga cara membuat model system dinamik, pemodelan system control dan penerapannya dalam bidang teknik dan sains.

1.1 Matlab User Interface

Matlab adalah kombinasi dari bahasa pemrograman procedural, integrated development environment (IDE) yang didalamnya terdapat editor dan debugger serta kumpulan fungsi yang sangat banyak yang dapat melakukan berbagai macam kalkulasi teknik.

Tombol Start, menjalankan

toolbox dll

Matlab Command

History

Matlab Command Window

Kontrol untuk melihat atau

memindahkan direktori saat ini

Tombol Pertolongan

(Help)

Lokasi Direktori saat ini, menunjukkan daftar file-file di direktori saat ini

1.2 Command WindowJendela sebelah kanan dari tampilan Matlab desktop adalah Command Window. Pengguna dapat memasukkan perintah interaktif setelah command prompt (>>) dalam Command Window tersebut dan perintah tersebut langsung akan dieksekusi oleh Matlab.

Contoh dari kalkulasi interaktif, misalnya kita ingin menghitung luas lingkaran dengan radius 2,5 m maka kita dapat melakukannya dalam Matlab Command Window dengan mengetikkan:

>> Luas = pi * 2.5^2

Luas = 19.6350

Matlab segera menghitung jawaban perintah yang kita masukkan begitu tombol Enter ditekan dan menyimpan jawaban tersebut dalam variabel (dalam hal ini array berukuran 1x1) bernama Luas. Variabel Luas tersebut dapat digunakan untuk perhitungan selanjutnya sebelum kita memerintahkan nilai baru untuk dinamakan dengan nama variabel yang sama.

1.3 Command History WindowCommand History Window menampilkan daftar perintah yang pernah dimasukkan pengguna ke Command Window. Kita dapat melihat semua sejarah perintah yang pernah kita masukkan ke Command Window dan semua variabel dibuat.

1.4 Tombol StartTombol Start digunakan untuk mengakses tool-tool dalam Matlab, file-file help dan lain-lain. Tombol ini berfungsi seperti tombol Start di Windows desktop. Untuk memulai tool tertentu, klik tombol Start dan pilih tool yang diinginkan pada daftar submenu.

1.5 Edit/Debug WindowSelain dapat melakukan kalkulasi di Command Window, Matlab juga dapat digunakan untuk pemrograman apabila kalkulasi yang dilakukan agak panjang. Pemrograman dalam Matlab menggunakan script dengan file berextension .m menggunakan text editor apa saja. Matlab sendiri menyediakan editor untuk menulis program di jendela Edit/Debug. Kita dapat membuat M-file yang baru dengan masuk ke menu

“File/New/M-File atau dengan mengklik icon di toolbar. Untuk membuka M-file yang sudah ada sebelumnya maka bisa menggunakan menu “File/Open”atau mengklik

icon di toolbar.

Untuk mengeksekusi M-file yang telah kita buat maka kita tinggal memanggil nama M-file tersebut di command prompt Window seperti ditunjukkan di Gambar di bawah ini

1.6 Figure WindowFigure Window digunakan untuk menampilkan grafik Matlab. Gambar dapat berupa plot dua atau tiga dimensi dari data, gambar atau graphical user interface (GUI). Figure Window ditampilkan di Gambar di bawah ini

2. Operasi Matematika dalam MatlabDalam bab ini akan dibahas dasar-dasar kalkulasi/pemrograman dalam Matlab.

2.1 Variabel dan ArrayUnit data dalam Matlab adalah Array. Array adalah kumpulan nilai data yang terorganisir dalam baris dan kolom dan dapat diberikan sebuah nama tunggal. Nilai data individu dalam array dapat diakses dengan nama array ditambah posisi baris dan kolom dalam tanda kurung. Bahkan suatu nilai skalar dianggap sebagai Array dalam Matlab – yaitu array dengan ukuran satu baris dan satu kolom.

Array dapat digolongkan menjadi vektor dan matriks. Istilah “vector” digunakan untuk mendeskripsikan array yang berdimensi satu, sedangkan matriks adalah array dengan dua atau lebih dimensi.

Ukuran dari sebuah array adalah jumlah baris dan jumlah kolom dari array tersebut dengan jumlah baris disebutkan terlebih dahulu. Jumlah elemen dalam sebuah array adalah merupakan perkalian jumlah baris dan jumlah kolom dari array.

Array Ukuran

Matriks 3x2 dengan 6 elemen

Array 1x4 dengan 4 elemen, disebut juga vektor baris

Array 3x1 dengan 3 elemen disebut juga vektor kolom

Elemen individu dari sebuah array diberi alamat dengan nama array diikuti dengan posisi baris dan kolom dalam tanda kurung. Jika array adalah vector baris atau vector kolom, hanya satu posisi yang diperlukan. Contohnya, dalam ilustrasi array di atas, a(2,1) adalah 3 dan c(2) adalah 2.

Gambar Array adalah koleksi nilai data dalam baris dan kolom

2.2 Membuat dan inisialiasi variabel dalam MatlabInisialisasi variabel dalam Matlab sangat sederhana, tidak perlu deklarasi tipe data seperti program lainnya. Matlab secara otomatis akan memberikan tipe data yang sesuai dengan data yang kita masukkan.

Contoh membuat dan inisialisasi variabel dalam Matlab Command Window:

>>a = 5; (variabel a akan menyimpan nilai 5)

>>b=40i; (variabel b akan menyimpan bilangan kompleks 40i)

>>c=a/2; (variabel c menyimpan nilai yg merupakan nilai a dibagi 5)

>>D=[1 2 3 4]; (array baris dengan 4 elemen)

>>E=[1 2 3;4 5 6;7 8 9]; (matriks 3x3 dengan 9 elemen)

2.3 Inisialisasi array dengan jalan pintasInisialiasi array yang berbentuk barisan dengan penambahan/pengurangan yang konstan dapat dilakukan dengan cara

Variabel= awal:penambahan/pengurangan:akhir

Baris 1Baris 2Baris 3Baris 4

Kol 1 Kol 2 Kol 3 Kol 4 Kol 5

Contohnya sebagai berikut:

>>f=1:2:10

Akan membuat variabel f yang nilainya 1 hingga sepuluh dengan penambahan sebesar 2 yaitu f= 1 3 5 7 9

Contoh lainnya adalah:

>>Sudut=(0.01:0.01:1.00)*pi

Akan menghasilkan variabel Sudut yang didalamnya terdapat perkalian antara nilai pi (3.14…) dengan array yang dimulai dari 0.01 hingga 1.00 dan penambahan 0.01.

2.4 Inisialisasi dengan fungsi built-in

Array juga bisa diinisialisasi menggunakan fungsi built-in yang telah terdapat dalam program Matlab. Contohnya adalah sebagai berikut:

>> a=zeros(2); (membuat matriks berukuran 2x2 yang nilainya 0 semua)

Fungsi Tujuanzeros(n) Membuat matriks nol berukuran nxnzeros(m,n) Membuat matriks nol berukuran mxnzeros(size(arr)) Membuat matriks nol dengan ukuran yang sama dengan arrones(n) Membuat matriks satu dengan ukuran nxnones(m,n) Membuat matriks satu dengan ukuran mxnones(size(arr)) Membuat matriks satu dengan ukuran yang sama dengan arreye(n) Membuat matriks identitas berukuran nxneye(m,n) Membuat matriks identitas berukuran mxnlength(arr) Memperoleh panjang dari vector atau dimensi terpanjang dari array

2Dsize(arr) Memperoleh dua nilai yang merupakan jumlah baris dan jumlah

kolom dari arr

2.5 Inisialisasi variabel dengan input dari keyboardKita dapat juga memperoleh nilai untuk sebuah variabel dengan meminta pengguna program untuk memasukkan sebuah nilai yang akan disimpan dengan nama variabel yang diinginkan. Hal ini dapat dilakukan dengan fungsi input untuk menampilkan perintah untuk memasukkan sebuah nilai kepada pengguna program.

variabel_saya=input(‘Masukkan sebuah nilai input:’);

maka apabila perintah tersebut dieksekusi maka Matlab akan menampilkan

>>Masukkan sebuah nilai input: _

Apabila pengguna memasukkan sebuah nilai input pada cursor di atas maka nilai tersebut akan disimpan oleh Matlab dengan nama variabel_saya.

2.6 Nilai-nilai khususMatlab mempunyai beberapa nilai yang telah dideklarasikan secara khusus. Kalau bisa kita tidak menyimpan variabel baru dari kita dengan menggunakan nama-nama dari nilai Matlab yang khusus tersebut.

Fungsi Tujuanpi Nilai hingga 15 angka pentingi , j Nilai I (akar dari -1)Inf Adalah symbol tidak berhingga, biasanya merupakan hasil apabila

terdapat pembagian dengan 0NaN Not-a-number. Adalah hasil dari operasi matematika yang tidak dapat

didefinisikan seperti pembagian nol dengan nolclock Variabel khusus yang berisi tanggal dan waktu terkini yang merupakan

sebuah vektor baris berukuran 6 elemen (tahun,bulan,hari,jam,menit,detik)

eps Variabel ini adalah kependekan dari “epsilon” yaitu perbedaan terkecil antara dua buah angka yang dapat diperhitungkan oleh computer

ans Variabel khusus untuk menyimpan hasil dari suatu ekspresi jika hasil tersebut tidak diberikan nama variabel secara eksplisit

2.7 Menampilkan data keluaran Salah satu cara menampilkan data dengan menggunakan script atau di Matlab Command Window adalah dengan menggunakan fungsi disp. Fungsi disp akan menerima masukkan array dan menampilkan nilai array tersebut di Matlab Command Window.

>>nilai = 23.5674

>>disp(nilai)

23.5674

2.8 File DataTerdapat banyak cara untuk mengambil dan menyimpan file data dalam Matlab. Di sini kita akan membahas cara yang paling popular yaitu perintah load dan save.

Perintah save akan menyimpan data dari lingkungan program Matlab ke sebuah file. Contohnya adalah:

>>Save namafile var1 var2 var3

Di mana namafile adalah nama dari file tempat variabel-variabel akan disimpan dan var1,var2 dan seterusnya adalah variabel-variabel yang akan disimpan dalam file tersebut. Secara otomatis, nama file akan diberikan ekstension “mat” sehingga file datanya sering disebut MAT-file.

Contoh lainnya adalah jika kita ingin menyimpan sebuah variabel dalam format ASCII, contohnya:

x=[1 4 3;5 7 3;6 4 8];

maka perintah

>>save variabel_saya.dat x -ascii

akan membuat file bernama variabel_saya dengan isinya adalah:

1 4 3

5 7 3

6 4 8

2.9 Operasi Skalar dan ArrayTabel di bawah ini menunjukkan operasi-operasi aritmetika antara 2 buah skalar yang dapat dilakukan dalam Matlab. Tabel berikutnya menunjukkan operasi untuk Array dan Matriks.

Operasi Bentuk Aljabar Bentuk MatlabPejumlahan a + b a + bPengurangan a - b a - bPerkalian a x b a * bPembagian a : b atau a/b a / bPemangkatan ab a^b

Operasi Bentuk dalam Matlab

Keterangan

Penjumlahan Array a+b Penambahan array dan matriks sama, ukuran array atau matriks yang dijumlahkan harus sama

Pengurangan Array a - b Sama untuk array dan matriks, ukuran array atau matriks yang dijumlahkan harus sama

Perkalian Array a.*b Perkalian elemen dengan elemen dari a dan b. kedua array harus mempunyai ukuran yang sama atau salah satunya harus skalar

Perkalian Matriks a*b Perkalian matriks a dan b. jumlah kolom a harus sama dengan jumlah baris b

Pembagian kanan Array

a./b Pembagian elemen dengan elemen dari a dan b: a(i,j)/b(i,j). kedua array harus berukuran sama atau salah satunya skalar

Pembagian kiri Array a.\b Pembagian elemen dengan elemen dari a dan b: tapi b sebagai pembilang b(i,j)/a(i,j). kedua array harus berukuran sama atau salah satunya skalar

Pembagian Kanan Matriks

a/b Pembagian matriks yang didefinisikan sebagai a*inv(b) di mana inv(b) adalah invers dari matriks b

Pembagian Kiri Matriks

a\b Pembagian matriks yang didefinisikan sebagai inv(a)*b di mana inv(a) adalah invers dari matriks a

Pemangkatan Array a.^b Pemangkatan elemen-elemen dari a dan b: a(i,j)^b(i,j). Kedua array harus berukuran sama atau salah satunya skalar

2.10 Fungsi Matlab UmumTabel di bawah ini menyajikan beberapa fungsi Matlab yang umumnya digunakan dalam bidang sains dan teknik.

Fungsi DeskripsiFungsi Matematika

abs(x) Menghasilkan nilai mutlak dari x, |x|acos(x) Menghitung cos-1xangle(x) Menghasilkan sudut fase dari bilangan kompleks x, dalam

radianasin(x) Menghitung sin-1xatan(x) Menghitung tan-1xatan2(y,x) Menghitung tan-1(x/y) pada semua empat kwadaran

lingkaran (dalam radian pada rentang nilai –≤tan-

1(y/x)≤cos(x) Menghitung cos x dengan x dalam satuan radianexp(x) Menghitung ex

log(x) Menghitung logaritma natural ln x[nilai, indeks]=max(x) Menghasilkan nilai maksimum dalam vektor x, dan juga

dapat menghasilkan lokasi nilai tersebut dalam vektor x[nilai,indeks]=min(x) Menghasilkan nilai minimum dalam vektor x, dan juga

dapat menghasilkan lokasi nilai tersebut dalam vektor xmod(x,y) Sisa dari pembagian x/ysin(x) Mencari sin x, dengan x dalam satuan radiansqrt(x) Menghitung akar pangkat dua dari xtan(x) Menghitung tan x, dengan x dalam satuan radian

Fungsi pembulatanceil(x) Membulatkan nilai x ke bilangan bulat terdekat menuju tak

berhingga positiffix(x) Membulatkan nilai x ke bilangan bulat terdekat menuju nolfloor(x) Membulatkan nilai x ke bilangan bulat terdekat menuju tak

berhingga negatifround(x) Membulatkan nilai x ke bilangan bulat terdekat

Fungsi konversi stringchar(x) Konversi matriks yg beranggotakan bilangan ke karakter

string. Untuk karakter ASCII, matriks harus beranggotakan bilangan yang kurang dari atau sama dengan 127

double(x) Konversi karakter string ke matriks dengan bilanganint2str(x) Konversi x dari bilangan bulat (integer) menjadi karakter

stringnum2string(x) Konversi x dari numeric menjadi karakter stringstring2num(s) Konversi karakter string s menjadi array numerik

3. Plot dan Grafik

3.1 Pengenalan PlotMatlab sangat bagus digunakan dalam pembuatan plot dan grafik. Dengan Matlab, pembuatan plot untuk setiap data yang kita miliki menjadi sangat mudah. Untuk memplot sebuah kumpulan data, cukup dengan membuat dua vektor yang berisikan nilai x dan y yang akan diplot dan gunakan fungsi plot.

x=0:1:10; membuat array yang berisikan nilai dari 0 hingga 10 dengan penambahan 1

y=x.^2-10.*x+15; membuat array dengan nilai x2-10x+15

plot(x,y); membuat plot y sebagai fungsi dari x

3.2 Plot xy dengan mudahSetelah kita membuat plot, kita dapat menambahkan judul plot/grafik, label sumbu-sumbunya atau menambahkan garis-garis grid pada plot

x=0:1:10

y=x.^2-10.*x+15;

plot(x,y)

title(‘Grafik y sebagai fungsi x’);

xlabel(‘x’);

ylabel(‘y’);

grid on;

3.3 Mencetak PlotSetelah dibuat, sebuah plot dapat dicetak ke printer dengan perintah print atau mengklik icon “print”pada Figure Window atau memilih opsi pada menu “File/Print”di Figure Window

Perintah print sangat berguna karena dapat digunakan dalam script program Matlab dan akan mencetak gambar grafik secara otomatis dengan perintah:

Print <opsi> <namafile>

Jika tidak diberikan nama file, maka Matlab akan mencetak Gambar yang saat itu ada pada Figure Window.

3.4 Menyimpan Plot sebagai file grafisSebuah plot juga dapat disimpan dalam bentuk file gambar/grafis dengan beberapa jenis ekstension seperti *.jpg atau *.png dengan masuk ke opsi menu “File/Save As”pada Figure Window.

3.5 Menyimpan Plot sebagai file objek gambarPlot/Grafik di Matlab juga dapat disimpan dalam bentuk file gambar Matlab (*.fig) dengan mengunakan opsi menu “File/Save As” di Figure Window dan memilih format “Matlab Figure (*.fig)”. File gambar Matlab dapat diambil kembali oleh Matlab dan dimodifikasi di waktu kemudian dengan opsi menu “File/Open” dan menjadi bentuk objek dalam Matlab.

3.6 Multi PlotKita juga dapat memplot beberapa fungsi di satu grafik dengan memberikan lebih dari satu kumpulan nilai (x,y) pada fungsi plot.

x = 0 :pi/100:2*pi;

y1=sin(2*x);

y2=2*cos(2*x);

plot(x,y1,x,y2):

4. Simulasi dan Kontrol suatu Sistem DinamikSebuah sistem dinamik dapat dimodelkan dengan persamaan diferensial . Salah satu metode penyelesaian persamaan diferensial adalah menggunakan transformasi Laplace. Dengan transformasi Laplace, persamaan diferensial yang pada awalnya berada dalam domain t ditransformasi menjadi berada dalam domain s (domain Laplace). Di domain s ini, lebih mudah untuk melakukan operasi matematika terhadap persamaan tersebut yang biasanya terdiri dari persamaan polynomial. Setelah operasi matematika dalam domain s selesai, maka solusi persamaan diferensial dikembalikan lagi ke domain t dengan inverse Transformasi Laplace.

4.1 Partial Fraction ExpansionMatlab dapat digunakan untuk menghitung koefisien dari patial-fraction-expansion dengan fungsi residue. Jika X(s) adalah bentuk transformasi Laplace maka koefisien ekspansinya disebut residue dan faktor-faktor dari penyebutnya X(s) disebut pole-pole dari X(s). Pole termasuk akar-akar karakteristik dari model dinamik dan setmua akar-akar penyebut dari fungsi input. Jika orde m dari pembilang dari X(s) lebih besar dari orde n dari penyebutnya X(s), transformasi dapat direpresentasikan sebagai polinom K(s) yang disebut suku langsung (direct term), ditambah dengan dua polinom di mana derajat penyebut lebih besar dari derajat pembilang. Contohnya adalah:

Suku langsung dalam hal ini adalah polinom K(s)=6s+3

Perintah fungsi residue adalah sebagai berikut:

>>[r,p,K]=residue(num,den)

di mana num dan den adalah array yang berisi koefisien dari pembilang dan penyebut dari X(s). Hasil dari fungsi ini adalah array r yang berisi residu, array p, yaitu pole-pole transformasi dan array K yaitu koefisien sukur langsung K(s) dalam bentuk polinom.

Untuk contoh di atas maka:

>>[r,p,K]=residue([6,57,120,80],[1m9,14])

Akan menghasilkan

r= [5,4],p=[-7,-2] dan K=[6,3] yang sama dengan hasil contoh di atas.

Untuk pole-pole yang berulang seperti :

Dengan pole berulang di s=-7, -7; satu diantaranya adalah akar dari persamaan karakteristik dan satunya lagi berasal dari input. Untuk memperoleh ekspansinya:

>>[r,p,K]=residue([12,8],[1,16,77,98])

Yang akan memberikan hasil

r=[0.64, 15.2,-0.64],p=-7, -7, -2], dan K=[ ] yang sama dengan ekpresi

Catat bahwa residue dari pole berulang, residu hasil dari pangkat tertinggi dituliskan di tempat terakhir dari residu tersebut. Responsenya adalah:

Jika polenya ada yang berupa bilangan kompleks :

Maka residu dan polenya dapat diperoleh dengan

>>[r,p,K]=residue([4,1],[1,6,34,0])

Perhatikan bahwa koefisien terakhir dari penyebut adalah 0. Hasil dari Matlab adalah :

r=[ -0.0147-0.3912i , -0.0147+0.3912i, 0.0294], p=[-3+5i, -3-5i,0] dan K=[ }. (Catat bahwa Matlab menggunakan symbol I untuk menuliskan bilangan imaginer akar dari -1)

Hasil dari Matlab tersebut adalah ekspresi :

Sehingga dalam domain t, responsnya adalah:

4.2 Transformasi Laplace dan Invers Transformasi LaplaceMatlab juga dapat digunakan untuk transformasi Laplace dari suatu fungsi dalam domain waktu menjadi fungsi dalam domain Laplace misalnya domain s.

Fungsi yang digunakan adalah laplace(f) dan ilaplace(F) di mana f adalah fungsi dalam domain t dan F adalah fungsi dalam domain s.

4.3 Analisis Fungsi Transfer dalam MatlabToolbox Sistem Kontrol dalam Matlab dapat menganalisis fungsi transfer dan respons suatu system dinamik terhadap setiap bentuk fungsi input yang diinginkan.

Sistem dinamik dapat direpresentasikan oleh fungsi transfer (output/input) dan Zero/Pole/Gain dari model dinamik system tersebut. Dengan perintah tf dan zpk maka kita dapat menjadikan model matematika tersebut menjadi variable dalam Matlab.

sys= tf(pembilang,penyebut) % fungsi transfer dari model

sys=zpk(zero,pole,gain) % model zero, pole dan gain

sys=ss(a,b,c,d) % model state space

Contoh:

Sebuah system massa-peredam-pegas mempunyai fungsi transfer

G(s)= 1,5/(s2+14s+40.02)

Maka fungsi transfer tersebut dapat dimasukkan sebagai variable Matlab

>>sys_tf=tf(1.5,[1 14 40.02])

Dengan hasil

sys_tf=

1.5

------------------

s^2 + 14 s + 40.02

untuk membuat model zero/pole/gain model maka kita dapat memfaktorkan polinom pada penyebut dan menggunakan perintah

>>sys_zpk=zpk([ ],[-9.996 -4.004],1.5]

sys_zpk=

1.5

-------------------

(s+9.996) (s+4.004)

Respons suatu sistem dinamik terhadap fungsi input step dapat ditentukan dengan perintah step(nama_sistem) seperti contoh di bawah ini:

>>step(sis_tf)

Sistem umpan balik dapat dimodelkan dengan menggunakan perintah feedback(sistem_dinamik,fungsi umpanbalik). Sebagai contoh untuk sistem dengan umpan balik satuan (unity feedback system) maka perintah berikut ini akan membuat model umpan balik dari sistem dinamik tersebut

>>sistem_umpan_balik=feedback(sis_tf,1)

1.5

------------------

s^2 + 14 s + 41.52

5. Simulasi Sistem Dinamik dengan Simulink

Simulink adalah sebuah modul dari Matlab yang dapat digunakan untuk mensimulasikan system dinamik dengan cara grafis yaitu dengan diagram blok. Sistem dinamik dapat dimodelkan dengan diagram blok, panah sinyal, summing junction, blok gain, source dan sink.

Modul simulink dapat dijalankan dengan mengklik icon Simulink seperti di Gambar berikut:

Atau dari command window dengan perintah

>>simulink

Tampilan awal dari Simulink adalah seperti Gambar berikut:

Tampilan utama dari Simulink terdiri dari kumpulan blok-blok yang berada dalam library. Blok-blok ini dikelompokkan berdasarkan kegunaannya. Contohnya adalah yang sering digunakan dalam sistem dinamik adalah dari library : Continuous, Sink dan Sources.

Untuk memulai pembuatan model dalam Simulink maka kita harus membuat sebuah file baru dari menu File/New/Model seperti di bawah ini:

5.1 Simulasi sederhana dengan SimulinkDalam sub bab ini akan diberikan contoh simulasi sederhana dengan menggunakan Simulink. Misalkan akan disimulasikan bentuk sinyal sinus dengan frekuensi tertentu dan juga integral dari fungsi sinus tersebut. Maka kita harus mendrag dan drop beberapa blok yaitu sin wave (dari Library Source), integrase (dari library Continuous), blok Mux (multiplexer, blok untuk menggabungkan 2 sinyal, dari library Signal Routing) dan blok

Scope (dari library Sink). Model Simulink dari fungsi sinus dan integralnya disajikan di Gambar di bawah ini.

Sinyal dari satu blok ke blok lainnya dapat dibuat dengan menarik garis dari tanda > di ujung kanan blok hingga ke tanda > di ujung kiri blok yang dituju. Sebelum memulai simulasi maka kita dapat mengatur parameter-parameter fungsi sinus yang ingin disimulasikan seperti amplitude, frequensi, sudut fase, bias dan lain-lain dengan mengklik ganda icon Sine Wave dan juga lamanya simulasi seperti di Gambar berikut:

Simulasi dapat dimula dengan mengklik tombol di menu bar icon atau dari menu Simulation>Start seperti berikut:

Jika kita mengklik icon scope maka akan ditampilkan grafik hasil simulasi fungsi sinus dan integralnya sebagai berikut:

5.2 Simulasi sistem dinamik dengan SimulinkRespons dari sistem dinamik dapat disimulasikan dalam Simulink dengan berbagai metode seperti fungsi transfer, metode state space, metode zero-pole-gain dan sebagainya. Dalam sub bab ini hanya akan menjelaskan bagaimana untuk mencari respons suatu sistem dinamik dengan metode fungsi transfer.

Sebagai contoh akan disimulasikan sebuah respons sistem dinamik open loop dengan fungsi transfer 1/(s2+4s+3) terhadap input fungsi step. Dalam hal ini maka diperlukan blok Transfer Fcn (dari library Continuous), fungsi step (dari library Source) dan Scope untuk menampilkan grafik hasil simulasi.

Parameter blok Transfer Fcn dapat diberikan dengan mengklik ganda icon Tranfer Fcn lalu memasukkan parameter-paremeter yang diperlukan seperti pembilang (bernilai 1), koefisien penyebut (bernilai 1 4 3) ke dalam field yang sesuai. Kemudian apabila dijalankan maka akan menghasilkan grafik seperti di bawah ini di mana fungsi step dimulai dari detik ke 1.

Berikutnya adalah contoh simulasi respons sistem dinamik dengan umpan balik satuan dapat disimulasikan sebagai berikut:

Dalam hal ini sinyal output dari fungsi transfer diberikan kembali untuk mengurangi/menambah sinyal input yang akan menghasilkan sinyal kesalahan ke sistem dinamik tersebut. Di simulasi ini digunakan blok Summation dari library Math Operation.

5.3 Solusi persamaan diferensial dengan SimulinkSimulink juga dapat digunakan untuk mencari solusi secara langsung dari sistem dinamik yang direpresentasikan dalam bentuk persamaan diferensial. Sebagai contoh kita mempunyai sebuah sistem dinamik yang terdiri dari massa, peredam dan pegas. Persamaan gerak dari sistem tersebut adalah:

m x+c x+kx=F (t)

x+( cm ) x+( km )x= F (t )m

Dimana x , x , x masing-masing adalah percepatan, kecepatan dan posisi dari massa terhadap referensi nol. Maka respons dari sistem dinamik tersebut terhadap input fungsi step (F(t) sebagai input fungsi step) dapat disimulasikan dalam Simulink sebagai berikut:

Di mana m=1000 kg, c= 1000 kg/s dan k=10000 N/m.