Mengenal Bahasa Pemprograman Scilab Muhamad Burhanudin
[email protected]
Abstrak Scilab adalah paket komputasi numerik yang dikembangkan sejak 1990 oleh para peneliti dari INRIA. Scilab menyediakan bagi pengguna dengan jumlah bentuk pemrograman yang banyak memiliki kesamaan dengan FORTRAN dan bahasa pemrograman tingkat tinggi lainnya. Scilab memiliki kesamaan fungsionalitas dengan MATLAB. Struktur Scilab, Program Scilab sudah memiliki text editor di dalamnya. Perintah/kode program Scilab dapat dituliskan di dalam window Scilab Execution (Scilex) ataupun di window Scipad (text editor Scilab).
Kata Kunci: Scilab
Pendahuluan Scilab adalah bahasa pemprograman tingkat tinggi, sebagian besar kegunaannya didasarkan pada seputar kemampuan menspesifikasi banyak komputasi dengan sedikit baris kode. Scilab melakukan hal ini dengan mengabstraksi tipe data primitif kepada matriks ekuivalen menurut fungsinya. Scilab memiliki kesamaan fungsionalitas dengan MATLAB, tetapi tersedia untuk diunduh tanpa biaya lisensi. Program ini memungkinkan pengguna untuk melakukan komputasi pada cakupan luas operasioperasi matematika dari operasi yang relatif sederhana seperti perkalian hingga kepada operasi tingkat tinggi seperti korelasi dan aritmatika kompleks. Perangkat ini sering dipakai untuk pemprosesan sinyal, analisis statistika, perbaikan gambar, simulasi dinamika fluida, dan lain-lain. Scilab telah digunakan secara luas di beberapa industri
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
dan projek penelitian, dan banyak kontribusi telah dibuat oleh para pengguna. Sintaksnya sama dengan MATLAB, tetapi tidak sepenuhnya kompatibel, meskipun terdapat konverter yang disertakan di dalam Scilab untuk konversi kode sumber dari MATLAB ke Scilab. Scilab memiliki lebih sedikit bantuan daripada MATLAB.
Pembahasan Pemrograman adalah kemampuan dasar yang diperlukan dalam penerapan di metode numerik. Pada bagian ini kita menjelaskan konsep pemrograman dasar di dalam Scilab dan memberi beberapa contoh penerapan metode numerik dasar. Pada bagian kedua akan membahas tentang fungsi input/output yang disediakan Scilab meliputi operasi dengan file. Pada bagian akhir akan dibahas tentang manipulasi string. File Extension, File program Scilab memiliki extension .sce. File ini masih dalam bentuk text forma untuk mengeksekusi file .sce, pertama kali file tersebut dibuka di dalam Scilab. Kemudian dieksekusi (ctrl +l).
1. Bentuk Pemrograman Scilab Scilab menyediakan bagi pengguna dengan jumlah bentuk pemrograman yang banyak memiliki kesamaan dengan FORTRAN dan bahasa pemrograman tingkat tinggi lainnya. Kita menyajikan beberapa bentuk dibawah ini: Operator perbandingan dan operator logika Operator perbandingan di dalam Scilab: == sama dengan < kurang dari > lebih dari <= kurang dari sama dengan >= lebih dari sama dengan <> atau ~= tidak sama dengan
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Operator logika di dalam Scilab : & dan | atau ~ tidak
Contoh : Coba untuk menjalankan perintah di bawah ini di Scilab! -->3 <> 2 ans = T -->3 == 3 ans = T -->(2>1) & (3>1) ans = T -->(2>1) & (3>5) ans = F -->(2<1) & (3>1) ans = F -->(2<1) & (3>5) ans = F -->(2>1) | (3>1) ans = T
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
-->(2>1) | (3>5) ans = T -->(2<1) | (3>1) ans = T -->(2<1) | (3>5) ans = F -->~(2<1) ans = T -->~(2>1) ans = F -->~(2>1)|(3>5) ans = F 2. Fungsi dalam Scilab Perintah function dapat diakses dari file yang berbeda artinya kita dapat menuliskan fungsi–fungsi dan menyimpannya di file yang berbeda dengan program utama. Format penulisan perintahnya : function [y1,....,yn] = nama_fungsi {x1,...,xn} dimana [y1,....,yn] = arrai nilai keluaran {x1,...,xn} = nilai masukan nama_fungsi = nama fungsi contoh : Tuliskan perintah – perintah berikut dalam skrip
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
function [x, y, z]=sphecart(r, theta, rho) // konversi dari koordinat spherical ke kartesian x = r*cos(rho)*cos(theta) y = r*cos(rho)*sin(theta) z = r*sin(rho) kemudian simpan dengan nama file sphecart.sce, kemudian jalankan di Scilab dengan -->exec('sphecart.sce'); -->[X,Y,Z] = sphecart(10, %pi/3,%pi/6) Z = 5. Y = 7.5 X = 4.330127
3. Loop (Perulangan) dalam Scilab Perulangan dalam Scilab dapat menggunakan perintah perulangan for dan while. Format perulangan FOR sebagai berikut : for indeks = nilai_awal : kenaikan : nilai_akhir, ...ekspresi..., end for indeks = nilai_awal : nilai_akhir, ...ekspresi..., end
Jika kenaikan (increment) tidak disertakan berarti kenaikannya dianggap nilainya 1. Contohnya, ketikkan perintah – perintah berikut di dalam Scilab : -->r = 1; for k = 1:0.5:4, r = r+k, end r = 2. r = 3.5 r = 5.5 r = 8. r = 11. r = 14.5 r = 18.5
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
-->xs = -1; dx = 0.25; n = 20; for j = 1:n, x = xs + (j-1)*dx,end x = - 1. x = - 0.75 x = - 0.5 x = - 0.25 x = 0. x = 0.25 x = 0.5 x = 0.75 x = 1. x = 1.25 x = 1.5 x = 1.75 x = 2. x = 2.25 x = 2.5 x = 2.75 x = 3. x = 3.25 x = 3.5 x = 3.75
-->for m = 1:10, a = m^2, end a = 1. a = 4. a = 9. a = 16.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
a = 25. a = 36. a = 49. a = 64. a = 81. a = 100.
4. Bentuk kondisi / syarat di dalam Scilab Pada contoh di atas kita sudah menggunakan ekspresi kondisi yaitu pemakaian if...then...end. Ada dua tipe pemakaian ekspresi kondisi di Scilab yaitu : bentuk if-thenelse-end dan bentuk select-case. Bentuk if-then-else-end format : if kondisi then ekspresi, end if kondisi then ekspresi, else ekspresi, end if kondisi then ekspresi, elseif ekspresi, end contoh : -->x = 10; y = 5; if x > 5 then disp(y),end 5. -->x = 3; y = 5; if x > 5 then disp(y), else disp(x),end 3. -->x = 3; y = 5; z=4; if x > 5 then disp(y), elseif x>6 then disp(y), else disp(z),end 4.
5. Contoh Skrip Kita dapat menulis suatu program dalam skrip sehingga akan memudahkan kita jika program yang kita buat sudah tidak sederhana lagi. Skrip ini dapat kita tulis lewat skrip
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
yang sudah disediakan oleh scilab atau dari penulis skrip lain (text editor, notepad, dll). contoh : kita buka Scinotes (launch scinotes), kemudian tuliskan program berikut : clear // menghapus semua variabel clear // menghapus semua variabel x = [10 -1 3 5 -7 4 2]; suma = 0; [n,m] = size(x); for j = 1:m suma = suma + x(j); end xbar = suma/m; xbar
simpan program dengan nama program1.sce, atau program1.txt kemudian kembali ke jendela kerja scilab lalu ketik perintah berikut : exec('program1.sce') atau exec('program1.txt') ctt : direktori yang bekerja harus diatur sesuai dengan direktori file yang disimpan. -->exec('program1.sce'); xbar = 2.2857143
Karena x adalah vektor baris (natriks dengan n = 1 baris dan m = 7 kolom ), fungsi size menyediakan sebuah arrai dengan dua nilai dengan pernyataan [n,m] = size(x). Kemudian m digunakan untuk pengulangan for dan di dalam perhitungan untuk xbar. Ada alternatif selain menggunakan vektor baris atau kolom yaitu dengan menggunakan list. List adalah sebuah kumpulan objek data yang tidak harus dengan tipe yang sama.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pada contoh berikut kita membatasi untuk menggunakan list. Untuk mendefinisikan sebuah list kita menggunakan perintah list, sebagai contoh coba perintah berikut: -->y = list(0,1,2,3,4,5,6) y= y(1) 0. y(2) 1. y(3) 2. y(4) 3. y(5) 4. y(6) 5. y(7) 6. -->size(y) ans = 7.
Pada kasus ini ukuran (size) dari suatu list hanya menghasilkan satu angka, tidak seperti size pada vektor atau matrik. Kita dapat memodifikasi program1 di awal menjadi :
clear // menghapus semua variabel x = list (10, -1, 3, 5, -7, 4, 2); suma = 0;
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
n = size(x); for j = 1:n suma = suma + x(j); end xbar = suma/n; xbar kemudian program tersebut kita beri nama program2.sce, running program dengan perintah exec('program2.sce') bandingkan dengan program pertama tadi -->exec('program2.sce'); xbar = 2.2857143
Penutup Sekian penjelasan singkat mengenai bahasa pemprograman scilab. Semoga dapat bermanfaat dan semoga dapat menambah wawasan bagi kita semua.
Referensi http://nimbokaweruh.blogspot.com/2013/04/scilab-pemrograman.html http://byhawk.wordpress.com/2011/03/31/pengenalan-scilab/ http://id.wikipedia.org/wiki/Scilab
Biografi Nama : Muhamad Burhanudin Alamat : Jl.Ahmad Yani Kp.Ciawi-Pisangan Jaya kab.Tangerang Hobby : Bermain Game Online
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org