SciLab:
Pemodelan Sistem Kontrol
Teknik Pengaturan atau
lebih dikenal dengan terminologi sistem kontrol atau sistem kendali
(dalam bahasa Inggris: control system, control theory,
control engineering, process control) merupakan matapelajaran
utama pada perguruan tinggi yang berbasis teknik (engineering),
seperti teknik-mesin, teknik elektro dan elektronik, teknik kimia,
teknik fisika, dan sebagainya.
Kelangkaan (baca:
mahalnya) perangkat lunak (dalam hal ini Matlab, dari MathWorks,
http://www.mathworks.com) yang dapat digunakan untuk men-simulasikan
proses-proses yang terjadi pada sistem teknik pengaturan tersebut,
sewajarnyalah tidak memberikan kendala bagi para mahasiswa tersebut
untuk belajar lebih lanjut. Sifat yang mengekalkan pembajakan hak
cipta, sudah waktunya untuk dihindari di negeri ini. Untuk itu,
marilah kita tilik perangkat simulasi teknik pengaturan yang
berbasiskan Open Source Software (OSS).
Kalangan pendukung OSS,
khususnya pengguna Linux dan FreeBSD dihadapkan pada 2 (dua) pilihan
perangkat lunak yang kurang lebih berfungsi sama dengan Matlab, yaitu
GNU Octave dan Scilab. GNU Octave (http://www.octave.org)
dikembangkan di Dept. of Chemical Eng., Univ. of Winsconsin,
Amerika, sedangkan Scilab (http://www-rocq.inria.fr/scilab)
dikembangkan oleh INRIA/ENPC Cergrene, Perancis. Scilab bersifat
open source (tidak didaftarkan dengan lisensi GNU) dan
diperkenalkan sejak 1994.
Pada kesempatan ini,
penulis mencoba memaparkan penggunaan Scilab untuk membantu memahami
pembahasan sistem kontrol/kendali. Untuk hal tersebut, pemaparan akan
dimulai dengan tahap instalasi Scilab v2.7 (stable) pada
distro Mandrake Linux v9.0. Sebenarnya, pada saat penulisan naskah
ini, Scilab v3.0 RC1 sudah dapat di-download oleh para
pengguna. Setelah instalasi di atas, penulis akan membahas dua contoh
yang digunakan pada sistem kontrol (control system) sebagai
dasar pijakan penggunaan software tersebut sebelum melangkah
pada tahap pemodelan dan pembahasan sistem yang bersangkutan.
Instalasi Scilab
Instalasi Scilab
bukanlah hal yang sukar. Paket RPM telah tersedia di situs berikut
ini (http://scilabsoft.inria.fr) dan dapat segera di download
sesuai dengan sistem operasi yang anda gunakan. Pilihlah file
instalasi bagi sistem Linux bila anda mengunjungi situs tersebut.
Untuk hal tersebut, penulis memuat-turun (download)
scilab-2.7-1.i586.rpm
dan untuk sementara disimpan pada direktori /tmp.
Berikut ini adalah tahapan instalasinya.
[indraindra]$
su
password:
******** (password root anda isikan pada bagian *** tersebut)
[flop-xindra]#
cd /tmp
[root@flop-x
tmp]# rpm -ivh scilab-2.7-1.i586.rpm
Preparing...
#################################### [100%]
1:
Scilab #################################### [100%]
Setelah terinstal
dengan baik, pembaca dapat temui scilab
pada direktori berikut; /usr/lib/scilab-2.7/bin.
Ketikan scilab
pada shell prompt setelah merujuk direktori
tersebut. Selanjutnya, anda akan mendapatkan tampilan berikut ini.
[root@flop-x
indra]$ cd /usr/lib/scilab-2.7/bin
[root@flop-x
indra]$ ./scilab

Gambar 1:
Tampilan Scilab pada Mandrake Linux v9.0
Untuk mengetahui apakah
scilab berfungsi dengan baik, cobalah ikuti persamaan/operasi
matematika sebagaimana ditampilkan pada Gambar 1.
Diagram Blok
Pada teknik pengaturan
(sistem kontrol), kita kenal 2 (dua) jenis sistem, yaitu sistem
siklus terbuka (open-loop) dan siklus tertutup (close-loop).
Ciri utama sistem siklus tertutup ialah adanya komponen umpan-balik
(feedback) pada sistem dalam pembahasan. Sedangkan pada sistem
siklus terbuka komponen umpan-balik ini tidak dijumpai. Untuk
memperlihatkan komponen-komponen ini, teknik pengaturan menyajikan
pengunaan diagram blok. Gambar 2 memperlihatkan diagram blok dari
kedua jenis sistem tersebut.

Gambar 2:
a. Siklus Terbuka, b. Siklus Tertutup
Contoh 1
(Dicuplik dari buku
Sudhir Gupta, Elements of Control Systems, Prentice Hall of India,
New Delhi, 2002).
Sebuah potensiometer
digunakan sebagai transducer posisi angular. Jangkauan angular
potensiometer ini adalah 0°-300°
dan catu daya masukan 12V. Potensiometer tersebut bersifat
linier. Tentukan fungsi transfer (TF = Transfer Function) dari
sistem tersebut.
Contoh 1 ini dapat
ditampilkan dengan diagram blok sistem siklus terbuka seperti pada
Gambar 2a. Fungsi Transfer (TF) adalah perbandingan Keluaran/Masukan
(Output/Input). Dan, bagi potensiometer tersebut, Input =
300°, dan Output = 12V.
Jadi, TF yang dihasilkan dapat diperlihatkan secara sederhana seperti
pada Gambar 3 berikut ini.

Gambar 3:
Perhitungan Fungsi Transfer (TF) dengan Scilab
Tentunya, contoh 1 di
atas masih tergolong sebuah permasalahan yang teramat sederhana. Bagi
pembaca yang ingin mengetahui TF, sebaiknya merujuk pada buku
Elements of Control Systems. Bila ingin mengetahui TF pada Scilab
secara lebih rinci, pembaca dapat mengetikan 'help
transfer' pada scilab. Pada Gambar 3, ditampilkan pula
'error' yang akan ditampilkan Scilab bilamana kekeliruan mengetik
terjadi.
Scilab telah mengemas
berbagai TF. Hal ini dapat diperhatikan dari Gambar 4 berikut ini.
Bila pembaca klik pada salah satu jenis TF tersebut, maka akan
ditampilkan informasi pengunaannya lebih lanjut sebagaimana
ditampilkan pada Gambar 5.

Gambar 4:
Berbagai Fungsi Transfer yang telah dikemas dalam Scilab

Gambar 5:
Transfer Function to State-Space
Contoh 2
Contol ini menampilkan
diagram-diagram yang perlu diketahui pada analisa sistem kontrol,
yaitu Bode, Nyquist, Root Locus, dan lain-lainnya. Berikut ini adalah
paparan yang umumnya ditemui bagi mereka yang tidak asing dengan
sistem kontrol, yaitu berbagai jenis diagram yang digunakan untuk
menyatakan kestabilan sebuah sistem. Secara sederhana, bahasan
berikut mengacu pada Gambar 2b. Untuk menghindari kompleksitas
bahasan, telaah sistem lebih lanjut tidak diulas di sini. Pembaca
yang berminat lebih lanjut, silahkan rujuk buku Elements of Control
Systems dan website Scilab Group, Introduction to Scilab -user
guide-, http://scilabsoft.inria.fr ataupun pustaka yang mengupas
pengunaan Matlab [G.J. Borse, Numerical Methods with Matlab, PWS
Publishing Company, Boston, 1997].
Untuk mengikuti sistem
kontrol berikut ini, silahkan menyalin teks berikut pada Scilab.
Setiap baris diikuti dengan tombol 'enter'. Perhatikan penempatan
titik-koma ';', jumlah kurung buka '(' dan kurung tutup ')' haruslah
genap, dst.
S=poly(0,
's');
h=syslin('c',
(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01));
h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225));
//
bode diagram
subplot(2,2,1)
gainplot([h1;h],0.01,100);
//
Nyquist diagram
subplot(2,2,2)
nyquist([h1;h])
//
Chart & Black
subplot(2,2,3)
black([h1;h],0.01,100,['h1';'h'])
chart([-8
-6 -4],[80,120],list(1,0));
//
evans --> cari Root Locus
subplot(2,2,4)
H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c'));
evans(H,100)
Gabungan dari
grafik-grafik yang di-plot di atas ditampilkan pada Gambar 6, 7 dan
8.

Gambar 6:
Proses Perhitungan dan Grafik Bode Diagram pada Mandrake Linux v9.0

Gambar 7:
Beberapa diagram pada Sistem Kontrol

Gambar 8:
Diagram Nyquist
Penutup
Paparan di atas
menampilkan alternatif penggunaan OSS (Open Source Software)
pada bidang teknik (engineering). Disamping perangkat lunak
yang telah banyak dikenal untuk bidang ini (Matlab), ternyata
inisiatif para programmer OSS -pun telah menampilkan perangkat
pemodelan yang cukup memadai, dan penggunanyapun akan cukup terhormat
dengan lebih menghormati HaKI (Hak atas Kekayaan Intelektual).
Perangkat lunak ini,
Scilab, sebenarnya dibuat semirip mungkin (baca: compatible)
dengan perintah-perintah yang tersedia pada Matlab. Walaupun ada
beberapa perintah yang tidak sama, tetapi padanannya pun masih
tersedia.
Sebenarnya bagi mereka
yang belajar pada ilmu-ilmu sosial pun dapat menggunakan perangkat
ini. Hanya saja, penulis belum menjumpai contoh yang memadai untuk
dikemukakan. Bagi mereka yang cukup paham dengan contoh-contoh di
atas, tentunya dapat memetik arti fisik dari grafik-grafik yang
ditampilkan.
Newsgroup
Scilab ada di comp.soft-sys.math.scilab. Perbandingan antara Scilab
dan Matlab tersedia di
www.biostat.wustl.edu/archives/html/s-news/1999-06/msg00025.html.
Prianggada Indra Tanaya
(pitanaya@linuxmail.org)