Panduan Scilab
Panduan Scilab
Saifuddin Arief
ii
Kata Pengantar
Scilab adalah sebuah perangkat lunak gratis yang dikembangkan untuk komputasi numerik
dan visualisasi data. Scilab cocok digunakan untuk menyelesaikan suatu persoalan
matematika yang sederhana maupun untuk menyelesaikan berbagai persoalan komputasi
numerik yang rumit. Hal ini karena di dalamnya telah terpasang ratusan fungsi yang
merupakan implementasi dari algoritma-algoritma dalam metode numerik. Selain itu
Scilab juga merupakan sebuah bahasa pemrograman tingkat tinggi.
Seperti judul buku ini, obyektif dari buku ini adalah untuk memberikan penjelasan tentang
dasar-dasar penggunaan Scilab serta penerapannya dalam komputasi numerik. Sebagai
ilustrasi yang lebih konkrit mengenai penggunaan Scilab maka di dalam buku juga terdapat
puluhan contoh perhitungan yang diambil dari berbagai macam studi kasus. Beberapa
topik tingkat lanjut. seperti pengunaan fitur antar muka grafis (GUI), pengolahan sinyal,
simulasi, tidak dijelaskan dalam buku ini.
Saran, masukan atau komentar tentang buku akan penulis terima dengan senang hati dan
dapat disampaikan melalui email dengan alamat saifuddin.arief@rocketmail.com.
Tulisan ini dapat digunakan secara gratis untuk keperluan personal dan pendidikan. Bagi
yang ingin menggunakannya untuk kepentingan komersial harap menghubungi penulis
melalui alamat email di atas.
Saifuddin Arief
20 Februari 2015
iv
Daftar Isi
1 Pendahuluan 1
Jendela-Jendela Scilab 2
Sistem Bantuan 4
Statemen 7
Baris Komentar 8
Bilangan 9
Variabel 10
Matrik 11
Operator 14
Fungsi 15
Menghapus Variabel 22
Direktori Kerja 23
3 Matematika Dasar 25
Konstanta-Konstanta Matematika 25
Operator-Operator Aritmatika 26
Akar Kuadrat 33
Nilai Mutlak 35
Tanda Bilangan 36
Pembulatan 36
Trigonometri 38
Hiperbolik 42
Faktorial 46
Bilangan Kompleks 47
Vektor Inkremental 53
Konkatenasi 58
Dimensi Matrik 59
Matrik Non-Numerik 69
Perkalian Matrik 76
Pembagian Matrik 82
Pemangkatan 87
Transpose 101
Determinan 106
Perkalian 126
Faktorisasi 131
Turunan 132
8 String 139
Kalender 147
Stopwatch 148
For 161
While 164
Break 165
Continue 166
If-Else 167
Select-Case 170
13 Skrip 174
14 Fungsi 178
File-Fungsi 178
Menampilkan Baris Komentar yang Terdapat Pada Bagian Awal Suatu Fungsi 196
Menyimpan dan Membaca Data String dalam Format Teks ASCII 208
Membuat Grafik Dua Dimensi dengan Fungsi Plot atau Plot2d 219
Membuat Grafik Tiga Dimensi dengan Fungsi Plot3d dan Plot3d1 252
Interpolasi 272
Gradien 276
Scilab adalah sebuah perangkat lunak yang dirancang dan dikembangkan untuk komputasi
numerik serta untuk visualisasi data secara dua dimensi maupun tiga dimensi. Scilab juga
merupakan sebuah bahasa pemrograman tingkat tinggi yang berorientasi numerik. Scilab
adalah suatu interpreter sehingga suatu kode program yang dibuat dapat dieksekusi secara
langsung dan dilihat hasilnya tanpa harus melalui tahapan kompilasi.
Scilab adalah sebuah freeware yang dapat digunakan secara gratis untuk keperluan pribadi
maupun komersial. Scilab tersedia dalam berbagai macam sistem operasi utama, seperti
Windows (XP, Vista, 7, 8), Linux, serta MacOS X.
Alamat website Scilab adalah http://www.scilab.org. Pada website tersebut kita dapat
memperoleh file instalasi Scilab, source code, dokumentasi tentang Scilab, modul-modul
tambahan serta berbagai informasi lainnya yang berkaitan dengan Scilab.
Scilab dapat dijalankan melalui menu Start atau melalui jalan-pintas Scilab yang terdapat
pada dekstop. Setelah Scilab dijalankan maka beberapa saat kemudian pada layar komputer
akan muncul sebuah jendela Scilab seperti yang terlihat pada Gambar 1.1.
Untuk mengakhiri penggunaan Scilab dapat digunakan perintah exit, melalui menu File
Quit, atau dengan menekan tombol yang terdapat pada ujung kanan atas dari jendela
Scilab.
Pendahuluan - 2
Jendela-Jendela Scilab
Konsol Scilab (Scilab Console) merupakan bagian utama dari Jendela Scilab. Hampri
sebagian besar interaksi antara kita dengan Scilab dilakukan melalui jendela konsol Scilab.
Konsol Scilab adalah tempat untuk memasukkan semua perintah diberikan kepada Scilab.
Selain konsol Scilab, secara bawaan Scilab juga menampilkan beberapa jendela lainnya
yaitu:
Penjelajah File (file browser). Jendela ini dapat digunakan untuk memilih direktori kerja.
Semua file yang ada pada direktori kerja akan ditampilkan pada jendela penjelajah
file.
Penjelajah variabel (variabel browser). Jendela ini menampilkan daftar dari semua
variabel yang dihasilkan oleh statemen yang dijalankan pada jendela konsol Scilab.
Riwayat perintah (command history). Jendela riwayat perintah berisi rekaman dari
perintah atau statemen yang dijalankan pada jendela Scilab.
Ilustrasi mengenai jendela-jendela di atas dapat dilihat pada gambar berikut ini.
Pendahuluan - 3
Selain jendela-jendela yang telah disebutkan, masih terdapat tiga jendela lagi yaitu:
Jendela bantuan. Jendela ini yang menampilkan penjelasan mengenai suatu fungsi, operator
atau perintah yang terpasang di dalam Scilab. Jendela bantuan akan muncul jika kita
jalankan perintah help atau apropos.
SciNotes. SciNotes adalah sebuah program editor teks yang disediakan oleh Scilab untuk
memudahkan pembuatan atau pengembangan sebuah skrip atau fungsi. Penjelasan
lebih detail mengenai SciNotes dapat dilihat pada Bab 12: Editor Teks SciNotes.
Jendela grafik. Jendela ini digunakan untuk melakukan visualisasi terhadap suatu data atau
sebuah fungsi matematika. Jendela grafik akan muncul apabila kita menjalankan
perintah-perintah yang berkaitan dengan visualisasi grafik. Penjelasan mengenai
pembuatan grafik dapat dilihat pada Bab 16: Grafik Dua Dimensi dan Tiga Dimensi.
Pendahuluan - 4
Sistem Bantuan
Jendela bantuan dapat ditampilkan dengan perintah help, melalui menu ? Scilab Help,
atau dengan menekan tombol F1. Tampilan dari jendela bantuan adalah seperti pada
gambar di bawah ini.
Penjelasan mengenai suatu perintah, fungsi atau operator tertentu dapat kita peroleh
dengan menelusuri jendela bantuan. Namun cara ini mungkin kurang praktis, untuk
mendapatkan penjelasan mengenai suatu perintah, fungsi atau operator tertentu, kita
dapat menggunakan perintah help("topik") atau help topik. Sebagai contoh, untuk
melihat penjelasan tentang fungsi round maka perintahnya adalah help("round") atau
help round. Apabila kita jalankan perintah tersebut maka akan muncul sebuah jendela
seperti pada Gambar 1.4.
Pendahuluan - 5
Daftar dari semua dokumentasi yang berkaitan dengan sebuah topik atau kata tertentu
dapat ditampilkan dengan dipergunakan fungsi apropos("topik") atau apropos "topik".
Sebagai contoh untuk mencari dokumentasi yang berkaitan dengan kata inv perintahnya
adalah apropos("inv"). Dokumentasi yang berkaitan dengan sebuah topik tertentu juga
dapat dicari melalui fasilitas pencarian yang terdapat pada Jendela Bantuan melalui tab
yang terdapat pada jendela bantuan.
Konsol Scilab adalah tempat utama untuk berinteraksi dengan program Scilab. Tanda -->
yang terdapat pada jendela tersebut adalah tempat untuk menjalankan suatu perintah atau
statemen. Sebagai contoh, untuk melakukan suatu perhitungan sederhana yaitu 123 + 456
maka setelah tanda --> kita harus mengetikkan 123 + 456 dan kemudian menekan tombol
Enter untuk menjalankan perintah tersebut. Hasil perhitungannya akan ditampilkan pada
baris berikutnya. Setelah itu di bawahnya akan muncul lagi tanda --> yang berarti bahwa
Scilab siap untuk mengerjakan suatu perintah atau perhitungan yang lain.
-->123 + 456
ans =
579.
-->
Cara mudah untuk mengenal Scilab yaitu dengan menggunakannya untuk menyelesaikan
suatu perhitungan matematika sederhana seperti pada contoh berikut ini.
-->14.59*(1 + 0.0043*80)
ans =
19.60896
0.0395995
Dasar-Dasar Penggunaan Scilab - 7
Dua contoh di atas adalah perintah Scilab untuk menyelesaikan dua perhitungan matematika sebagai berikut:
( )
⁄√ ( )
Statemen
Statemen adalah suatu baris pernyataan yang dapat dieksekusi oleh Scilab. Hasil eksekusi
dari statemen tersebut akan ditampilkan pada baris di bawahnya, kecuali apabila pada
baris pernyataan tersebut ditambahkan tanda titik-koma (;) di belakangnya.
-->23 + 9
ans =
32.
607.75313
Pada contoh perhitungan di atas FV, c, x adalah variabel-variabel yang digunakan untuk
menyimpan hasil perhitungan.
Dasar-Dasar Penggunaan Scilab - 8
Nilai yang tersimpan pada suatu variabel dapat ditampilkan dengan cara mengetikkan
nama variabelnya pada baris perintah.
-->c
=
10.
-->x
=
1.
Beberapa statemen dapat dimasukkan sekaligus pada satu baris perintah yang sama.
Antara statemen yang satu dengan statemen yang lainnya dapat dipisahkan dengan tanda
koma (,) atau titik-koma (;). Jika digunakan tanda koma maka nilai dari hasil eksekusi
statemennya akan ditampilkan pada baris berikutnya, namun jika digunakan tanda titik-
koma maka nilai dari eksekusi statemennya tidak akan ditampilkan.
0.5
=
60.
Untuk sebuah statemen yang relatif panjang sehingga tidak dapat dimasukkan dalam satu
baris maka statemennya dapat ditulis dalam beberapa baris dengan menggunakan dua titik
atau lebih (..) sebagai tanda sambung antara satu dengan baris berikutnya.
2.7166667
Baris Komentar
Baris komentar adalah suatu catatan yang dibuat untuk menjelaskan sebuah statemen atau
suatu blok statemen tertentu. Baris komentar dapat ditulis sebagai suatu baris tersendiri
atau ditulis di belakang suatu statemen. Tanda // adalah operator untuk membuat baris
komentar.
Dasar-Dasar Penggunaan Scilab - 9
-->v = d/t
=
3.5333333
Apabila variabel-variabel yang digunakan dalam suatu perhitungan sudah cukup jelas
artinya seperti pada contoh di bawah ini maka baris komentar sebaiknya tidak digunakan.
-->panjang = 20;
-->lebar = 10;
-->luas = panjang*lebar
luas =
200.
Bilangan
Di dalam Scilab, semua bilangan disimpan dengan menggunakan presisi ganda dengan
akurasi sekitar 16 digit desimal signifikan. Suatu bilangan dapat dinyatakan dengan notasi
desimal biasa atau dengan notasi saintifik. Pada notasi desimal tanda titik ( .) digunakan
sebagai penanda desimal. Berikut ini adalah contoh-contoh penulisan bilangan dengan
notasi desimal.
777 -123 99.9998 -4.68
Pada notasi saintifik huruf e, E, d, atau D dapat digunakan untuk menyatakan pangkat dari
angka 10. Beberapa contoh penulisan suatu bilangan dalam notasi saintifik adalah sebagai
berikut:
3e8 2.778E-4 1.660d-27 -9.87D34
Notasi saintifik biasanya digunakan untuk menyatakan suatu bilangan yang sangat kecil
atau sangat besar. Hal ini untuk menghindari terjadinya kesalahan penulisan serta lebih
memudahkan pembacaan.
Dasar-Dasar Penggunaan Scilab - 10
Variabel
Variabel adalah sebuah nama yang digunakan untuk menyimpan nilai suatu bilangan, hasil
perhitungan, atau sebuah obyek tertentu. Penyimpanan nilai suatu obyek ke dalam suatu
variabel dilakukan dengan menggunakan statemen penugasan sebagai berikut:
var = ekspresi
dimana var adalah nama variabel yang digunakan untuk menyimpan nilai dari ekspresi yang terdapat di sebelah
kanannya.
-->x = (1 + sqrt(5))/2
=
1.618034
Apabila hasil eksekusi dari suatu statemen tidak disimpan ke dalam sebuah variabel
tertentu maka hasilnya akan disimpan oleh Scilab pada variabel ans.
-->(7 - 2)*8
ans =
40.
Seperti halnya variabel lainnya, variabel ans juga dapat dipanggil atau dipergunakan dalam
perhitungan selanjutnya, seperti pada contoh di bawah ini.
-->ans*10
ans =
400.
Nama sebuah variabel dapat dibuat sepanjang mungkin namun hanya 24 karakter pertama
yang akan digunakan oleh Scilab.
Berikut contoh nama variabel yang mengikuti kaidah penulisan variabel yang benar: x,
Jumlah, nilai_awal, temp, x0, s100.
Dalam penamaan sebuah variabel, huruf kecil dan huruf besar adalah berbeda. Sebagai
contoh, variabel r dan R merupakan dua variabel yang berbeda, begitu juga dengan total,
Total dan TOTAL, dimana ketiganya merupakan variabel yang berbeda.
Hal penting lainnya yang harus diperhatikan dalam penamaan suatu variabel yaitu nama
suatu variabel tidak boleh menggunakan nama-nama dari suatu fungsi atau perintah yang
telah terpasang di dalam Scilab, seperti abs, input, ones, roots, sum, dan lain sebagainya.
Apabila nama sebuah fungsi atau perintah yang terpasang di dalam Scilab digunakan
sebagai nama sebuah variabel maka akan muncul sebuah pesan peringatan Warning
:redefining function, seperti pada contoh berikut ini.
-->sqrt = 4
Warning :redefining function: sqrt
Peringatan ini muncul karena sqrt adalah nama sebuah fungsi terpasang dalam Scilab.
Suatu fungsi atau perintah yang secara tak sengaja dipergunakan sebagai nama sebuah
variabel dapat dibuat berfungsi kembali secara normal dengan menggunakan perintah
clear foo, dimana foo adalah nama fungsi atau perintah yang telah terdefinisi ulang.
Sehingga untuk membuat fungsi sqrt kembali berfungsi normal maka perintahnya yaitu:
-->clear sqrt
Matrik
Matrik adalah tipe dasar dari semua data atau obyek di dalam Scilab. Matrik adalah sebuah
larik data yang berbentuk segiempat. Bilangan atau skalar adalah bentuk khusus dari
sebuah matrik, dimana skalar adalah matrik dengan elemen tunggal.
Dasar-Dasar Penggunaan Scilab - 12
-->A = [1 2 3; 4 5 6] // numerik
=
1.2.3.
4. 5. 6.
Tanda kurung-siku kanan ([) dan kurung-siku kiri (]) adalah sepasang operator yang
dapat digunakan untuk membuat suatu matrik atau vektor secara manual. Penjelasan
terperinci tentang matrik akan diberikan pada Bab 4: Matrik dan Vektor.
Di dalam Scilab, suatu variabel dapat langsung dibuat tanpa harus ditentukan tipe dan
dimensinya, seperti pada contoh di bawah ini.
8.1.6.3.
5. 7. 4. 9.
Tipe dari sebuah variabel dapat kita ketahui dengan menggunakan fungsi typeof. Ukuran
atau dimensi dari suatu variabel dapat kita ketahui dengan fungsi size.
-->typeof(e1000)
ans =
constant
-->typeof(M)
ans =
constant
-->size(e1000)
ans =
1.
Dasar-Dasar Penggunaan Scilab - 13
-->size(M)
ans =
4.
Terlihat bahwa variabel e1000 dan M mempunyai tipe yang sama yaitu constant, yang
berarti kedua variabel tersebut adalah suatu obyek numerik. Ukuran dari variabel e1000
adalah 1x1, yang berarti e1000 adalah suatu skalar. Selanjutnya ukuran dari variabel M
adalah 2x3, yang berarti M adalah sebuah matrik yang berukuran 2x3.
Suatu variabel yang telah dibuat dapat berubah dimensinya, tipenya atau bahkan tipe dan
dimensinya sekaligus, sesuai dengan operasi yang dilakukan terhadapnya, seperti yang
diilustrasikan pada contoh-contoh di bawah ini.
-->typeof(x)
ans =
constant
-->size(x)
ans =
1.
10.20.
30.
-->typeof(x)
ans =
constant
-->size(x)
ans =
2.
Scilab
Dasar-Dasar Penggunaan Scilab - 14
Pada contoh ini, pertama kali variabel x adalah suatu skalar kemudian berubah ukurannya
menjadi suatu matrik, kemudian variabel x berubah tipenya menjadi sebuah string.
Penjelasan terperinci mengenai obyek string akan diberikan pada Bab 8: String.
Operator
Operator adalah simbol khusus yang melambangkan suatu operasi tertentu, seperti plus
(+) untuk operasi penjumlahan dan operasi konkatenasi string, bintang ( *) untuk operasi
perkalian, lebih besar (>) untuk operasi perbandingan lebih besar, dan lain sebagainya.
Ilustrasi untuk operator-operator aritmatika telah kita lihat pada contoh-contoh yang telah
diberikan. Selanjutnya, contoh-contoh di bawah ini adalah ilustrasi mengenai beberapa
operator lain yang terdapat di dalam Scilab.
Penjelasan mengenai beberapa operator yang terdapat pada contoh-contoh di atas adalah
sebagai berikut:
Simbol <, >, ==, <=, >= masing-masing adalah operator untuk operasi perbandingan lebih-
kecil, lebih-besar, sama, lebih-kecil atau sama dan lebih-besar atau sama.
Simbol & adalah operator untuk operasi logika dan.
Variabel khusus %eps adalah variabel khusus untuk menyatakan presisi komputer dalam
operasi aritmatika.
Operator aritmatika akan dijelaskan secara terperinci pada Bab 3: Matematika Dasar dan
Bab 5: Operasi Matematika Terhadap Matrik dan Vektor. Selanjutnya penjelasan mengenai
Dasar-Dasar Penggunaan Scilab - 15
operator untuk operasi perbandingan dan operasi logika akan diberikan pada Bab 10:
Perbandingan dan Logika.
Fungsi
Berikut ini ilustrasi dari beberapa fungsi yang telah terpasang di dalam Scilab.
-->n = exp(4)
=
54.59815
-->tan(%pi/4)
ans =
1.
-->r = modulo(10,4)
=
2.
-->rand()
ans =
0.2113249
-->date()
ans =
06-Mar-2010
Nama suatu fungsi juga bersifat sensitif terhadap ukuran huruf. Sebagai contoh, jika kita
tuliskan fungsi sqrt dengan Sqrt atau SQRT maka akan muncul sebuah pesan kesalahan
undefined variable.
-->Sqrt(100)
!--error 4
Undefined variable: Sqrt
Sebuah fungsi baru yang merepresentasikan suatu perhitungan atau operasi tertentu juga
dapat kita buat di dalam Scilab. Sebagai contoh, fungsi matematika sebagai berikut:
(x) x exp x
dapat dibuat dengan menggunakan statemen-statemen sebagai berikut:
-->function y = foo(x)
--> y = x - exp(-x)
-->endfunction
Penjelasan tentang cara pembuatan suatu fungsi akan diberikan pada Bab 14: Fungsi.
Suatu fungsi yang telah kita buat dapat dijalankan seperti halnya sebuah fungsi yang telah
terpasang di dalam Scilab, seperti pada contoh di bawah ini.
-->fx = foo(1)
fx =
0.6321206
Suatu fungsi dapat mempunyai argumen input dan output lebih dari satu. Untuk fungsi-
fungsi tersebut, pada umumnya terdapat beberapa argumen input atau output yang
bersifat opsional dan hanya perlu digunakan sesuai dengan kebutuhan.
Sebagai contoh, untuk mencari suatu bilangan rasional yang merupakan aproksimasi dari
suatu bilangan real, dapat digunakan fungsi rat yang mempunyai notasi sebagai berikut:
[m, n] = rat(x, tol)
dimana x adalah suatu bilangan real, m dan n adalah bilangan bulat serta tol adalah
toleransi aproksimasi. Argumen tol bersifat opsional, jika tidak dipakai maka nilai
toleransi aproksimasi yang digunakan adalah 10 -6. Bilangan rasional m/n adalah hampiran
untuk bilangan real x yang dihasilkan oleh fungsi rat. Berikut ini adalah contoh
penggunaan fungsi rat untuk mencari nilai aproksimasi dari bilangan irrasional .
Dasar-Dasar Penggunaan Scilab - 17
113.
m =
355.
7.
=
22.
Pada sebuah fungsi yang mempunyai argumen output lebih dari satu, hanya argumen
output pertama yang harus digunakan, argumen ouput kedua dan seterusnya dapat
digunakan sesuai dengan yang kita perlukan. Sebagai contoh, akar dari suatu fungsi
nonlinier dapat kita hitung dengan fungsi fsolve dengan sintaks sebagai berikut:
[x, fval, info] = fsolve(x0, fcn)
Dimana fcn adalah fungsi nonlinier yang dicari akarnya, x0 adalah nilai awal dalam
perhitungan iterasi, x adalah hampiran akar dari fungsi fcn, fval adalah nilai fungsi fcn
pada x (fval = fcn(x)) dan info adalah argumen output yang menyatakan kondisi iterasi
perhitungan (konvergen atau divergen). Argumen fval dan info pada fungsi fsolve
adalah argumen yang bersifat opsional.
Misalkan fungsi nonlinier yang akan kita cari akarnya adalah f (x) x2 sinx.
-->function y = fx(x)
--> y = x^2 - sin(x)
-->endfunction
Selanjutnya, kita dapat menjalankan fsolve untuk mencari akar dari fungsi f(x) dengan tiga
macam bentuk argumen output adalah sebagai berikut:
0.8767262
Dasar-Dasar Penggunaan Scilab - 18
1.
f0 =
1.110D-16
x0 =
0.8767262
Selain fungsi-fungsi matematika standar, di dalam Scilab juga terpasang fungsi-fungsi yang
merupakan implementasi dari algoritma-algoritma dalam metode numerik, seperti fsolve
untuk mencari akar-akar suatu persamaan nonlinier, regress untuk perhitungan regresi
linier, intg untuk melakukan integrasi numerik, dan lain sebagainya. Ilustrasi penggunaan
Scilab untuk menyelesaikan berbagai persoalan dalam komputasi numerik diberikan pada
Bab 17: Metode Numerik.
Scilab akan menampilkan nilai sebuah variabel atau hasil dari suatu perhitungan sesuai
dengan format yang sedang digunakan. Sebagai contoh apabila dijalankan statemen:
NA = 6.0221367e23
maka tampilan yang muncul pada jendela Scilab adalah seperti di bawah ini.
-->NA = 6.0221367e23
NA =
6.022D+23
Terlihat bahwa tampilan bilangan yang muncul adalah berbeda dengan statemen yang
diketikkan dimana tidak semua digit desimal yang telah diketikkan ditampilkan.
Format output numerik pada contoh di atas adalah tampilan yang dihasilkan oleh format
default untuk ouput numerik. Apabila diperlukan format output numerik dapat dirubah
dengan menggunakan fungsi format. Fungsi format hanya akan berpengaruh terhadap
tampilan format numerik saja dan tidak berpengaruh terhadap penyimpanan hasil
perhitungannya di dalam memori komputer.
Dasar-Dasar Penggunaan Scilab - 19
Fungsi format dapat dijalankan dengan tiga macam sintak sebagai berikut