Anda di halaman 1dari 28

PENGENALAN MATLAB DAN SIMULINK

P ENGENALAN M ATLAB DAN S IMULINK Mochamad Safarudin Program Studi Teknik Mesin Sekolah Tinggi Teknologi

Mochamad Safarudin

Program Studi Teknik Mesin

Sekolah Tinggi Teknologi Mandala

1.

Matlab dan Simulink

Matlab (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.

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

Tombol

Pertolongan

( Help )

Kontrol untuk melihat atau Matlab Command memindahkan direktori saat ini Window
Kontrol untuk
melihat atau
Matlab
Command
memindahkan
direktori saat ini
Window
Matlab Command memindahkan direktori saat ini Window Tombol Start, menjalankan toolbox dll Matlab Command
Matlab Command memindahkan direktori saat ini Window Tombol Start, menjalankan toolbox dll Matlab Command
Matlab Command memindahkan direktori saat ini Window Tombol Start, menjalankan toolbox dll Matlab Command

Tombol Start,

menjalankan

toolbox dll

Matlab

Command

History

1.2

Command Window

Jendela 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 Window

Command 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 Start

Tombol 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.

di Windows desktop. Untuk memulai tool tertentu, klik tombol Start dan pilih tool yang diinginkan pada

1.5

Edit/Debug Window

Selain 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

yang sudah ada sebelumnya maka bisa menggunakan menu “File/Open”atau mengklik

icon

bisa menggunak an menu “File/Open”atau mengklik icon di toolbar. Untuk membuka M-file di toolbar. Untuk

di toolbar. Untuk membuka M-file

mengklik icon di toolbar. Untuk membuka M-file di toolbar. Untuk mengeksekusi M-file yang telah kita buat

di toolbar.

mengklik icon di toolbar. Untuk membuka M-file di toolbar. Untuk mengeksekusi M-file yang telah kita buat

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

buat maka kita tinggal memanggil nama M- file tersebut di command prompt Window seperti ditunjukkan di

1.6

Figure Window

Figure 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

tiga dimensi dari data, gambar atau graphical user interface ( GUI ). Figure Window ditampilkan di

2.

Operasi Matematika dalam Matlab

Dalam bab ini akan dibahas dasar-dasar kalkulasi/pemrograman dalam Matlab.

2.1 Variabel dan Array

Unit 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

Matriks 3x2 dengan 6 elemen

Array 1x4 dengan 4 elemen, disebut juga vektor baris

Array 1x4 dengan 4 elemen, disebut juga vektor baris

Array 3x1 dengan 3 elemen disebut juga vektor kolom

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.

Baris 1

Baris 1          
         

Baris 2

Baris 2          
         

Baris 3

Baris 3          
         

Baris 4

Baris 4          
         
      Baris 3           Baris 4        
      Baris 3           Baris 4        
      Baris 3           Baris 4        
      Baris 3           Baris 4        
      Baris 3           Baris 4        
 

Kol 1

Kol 2

Kol 3

Kol 4

Kol 5

Gambar

Array adalah koleksi nilai data dalam baris dan kolom

2.2 Membuat dan inisialiasi variabel dalam Matlab

Inisialisasi 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 pintas

Inisialiasi array yang berbentuk barisan dengan penambahan/pengurangan yang konstan dapat dilakukan dengan cara

Variabel= awal:penambahan/pengurangan:akhir

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);

Contohnya adalah sebagai berikut: >> a=zeros(2); (membuat matriks berukuran 2x2 yang nilainya 0 semua) Fungsi

(membuat matriks berukuran 2x2 yang nilainya 0 semua)

Fungsi

Tujuan

zeros(n)

Membuat matriks nol berukuran nxn

zeros(m,n)

Membuat matriks nol berukuran mxn

zeros(size(arr))

Membuat matriks nol dengan ukuran yang sama dengan arr

ones(n)

Membuat matriks satu dengan ukuran nxn

ones(m,n)

Membuat matriks satu dengan ukuran mxn

ones(size(arr))

Membuat matriks satu dengan ukuran yang sama dengan arr

eye(n)

Membuat matriks identitas berukuran nxn

eye(m,n)

Membuat matriks identitas berukuran mxn

length(arr)

Memperoleh panjang dari vector atau dimensi terpanjang dari array

2D

size(arr)

Memperoleh dua nilai yang merupakan jumlah baris dan jumlah kolom dari arr

2.5 Inisialisasi variabel dengan input dari keyboard

Kita 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 khusus

Matlab 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

Tujuan

pi

Nilai hingga 15 angka penting

i

, j

Nilai I (akar dari -1)

Inf

Adalah symbol tidak berhingga, biasanya merupakan hasil apabila terdapat pembagian dengan 0

NaN

Not-a-number. Adalah hasil dari operasi matematika yang tidak dapat didefinisikan seperti pembagian nol dengan nol

clock

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 Data

Terdapat 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

5

6

4 3

7 3

4 8

2.9 Operasi Skalar dan Array

Tabel 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 Matlab

Pejumlahan

a + b

a + b

Pengurangan

a - b

a - b

Perkalian

a x b

a * b

Pembagian

a : b atau a/b

a / b

Pemangkatan

a b

a^b

Operasi

Bentuk

Keterangan

dalam

Matlab

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

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

Array

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

a/b

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

Matriks

Pembagian Kiri

a\b

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

Matriks

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 Umum

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

Fungsi

Deskripsi

 

Fungsi Matematika

abs(x)

Menghasilkan nilai mutlak dari x, |x|

acos(x)

Menghitung cos -1 x

angle(x)

Menghasilkan sudut fase dari bilangan kompleks x, dalam radian

asin(x)

Menghitung sin -1 x

atan(x)

Menghitung tan -1 x

atan2(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 radian

exp(x)

Menghitung e x

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 x

mod(x,y)

Sisa dari pembagian x/y

sin(x)

Mencari sin x, dengan x dalam satuan radian

sqrt(x)

Menghitung akar pangkat dua dari x

tan(x)

Menghitung tan x, dengan x dalam satuan radian

 

Fungsi pembulatan

ceil(x)

Membulatkan nilai x ke bilangan bulat terdekat menuju tak berhingga positif

fix(x)

Membulatkan nilai x ke bilangan bulat terdekat menuju nol

floor(x)

Membulatkan nilai x ke bilangan bulat terdekat menuju tak berhingga negatif

round(x)

Membulatkan nilai x ke bilangan bulat terdekat

 

Fungsi konversi string

char(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 bilangan

int2str(x)

Konversi x dari bilangan bulat (integer) menjadi karakter string

num2string(x)

Konversi x dari numeric menjadi karakter string

string2num(s)

Konversi karakter string s menjadi array numerik

3.

Plot dan Grafik

3.1 Pengenalan Plot

Matlab 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 x 2 -10x+15

plot(x,y);

membuat plot y sebagai fungsi dari x

penambahan 1 y=x.^2-10.*x+15; membuat array dengan nilai x 2 -10x+15 plot(x,y); membuat plot y sebagai fungsi

3.2

Plot xy dengan mudah

Setelah 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;

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 Plot

Setelah 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 grafis

Sebuah 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.

masuk ke opsi menu “File/Save As”pada Figure Window. 3.5 Menyimpan Plot sebagai file objek gambar Plot/Grafik

3.5 Menyimpan Plot sebagai file objek gambar

Plot/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 Plot

Kita 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):

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 Dinamik

Sebuah 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 Expansion

Matlab 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:

lebih besar dari derajat pembilang. Contohnya adalah: Suku langsung dalam hal ini adalah polinom K(s)=6s+3
lebih besar dari derajat pembilang. Contohnya adalah: Suku langsung dalam hal ini adalah polinom K(s)=6s+3

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

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

-7, -2], dan K=[ ] yang sama dengan ekpresi Catat bahwa residue dari pole berulang, residu

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

di tempat terakhir dari residu tersebut. Responsenya adalah: Jika polenya ada yang berupa bilangan kompleks :

Jika polenya ada yang berupa bilangan kompleks :

adalah: Jika polenya ada yang berupa bilangan kompleks : Maka residu dan polenya dapat diperoleh dengan

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 :

bilangan imaginer akar dari -1) Hasil dari Matlab tersebut adalah ekspresi : Sehingga dalam domain t,

Sehingga dalam domain t, responsnya adalah:

bilangan imaginer akar dari -1) Hasil dari Matlab tersebut adalah ekspresi : Sehingga dalam domain t,

4.2

Transformasi Laplace dan Invers Transformasi Laplace

Matlab 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 Matlab

Toolbox 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/(s 2 +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)

) seperti contoh di bawah ini: >>step(sis_tf) Sistem umpan balik dapat dimodelkan dengan menggunakan

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:

dengan mengklik icon Simulink seperti di Gambar berikut: Atau dari command window dengan perintah >>simulink

Atau dari command window dengan perintah

>>simulink

Tampilan awal dari Simulink adalah seperti 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:

file baru dari menu File/New/Model seperti di bawah ini: 5.1 Simulasi sederhana dengan Simulink Dalam sub
file baru dari menu File/New/Model seperti di bawah ini: 5.1 Simulasi sederhana dengan Simulink Dalam sub

5.1 Simulasi sederhana dengan Simulink

Dalam 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.

sinus dan integralnya disajikan di Gambar di bawah ini. Sinyal dari satu blok ke blok lainnya

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:

sudut fase, bias dan lain-lain dengan mengklik ganda icon Sine Wave dan juga lamanya simulasi seperti

Simulasi dapat dimula dengan mengklik tombol Simulation>Start seperti berikut:

dengan mengklik tombol Simulation>Start seperti berikut: di menu bar icon atau dari menu Jika kita mengklik

di menu bar icon atau dari menu

seperti berikut: di menu bar icon atau dari menu Jika kita mengklik icon scope maka akan

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

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

5.2

Simulasi sistem dinamik dengan Simulink

Respons 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/(s 2 +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.

) dan Scope untuk menampilkan grafik hasil simulasi. Parameter blok Transfer Fcn dapat diberikan dengan

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.

di bawah ini di mana fungsi step dimulai dari detik ke 1. Berikutnya adalah contoh simulasi

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

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 Simulink

Simulink 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:

̈+ ̇ + = ()

̈+( )̇+(

)= ()

Dimana ̈, ̇, 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.

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