Penggunaan Scilab
Nama : E L V I N A
kelas : B Pendidikan matematika
Semester 3
OPERASI PERBANDINGAN
Nilai dari dua obyek dapat dibandingkan dengan menggunakan operator-operator seperti yang terdapat pada tabel di bawah ini.
Operasi perbandingan adalah operasi yang dioperasikan secara elemen-dengan-elemensehingga operasi ini hanya dapat dilakukan terhadap antara skalar dengan skalar atauvektor/matrik, atau antara dua buah matrik/vektor yang berdimensi sama. Output dari operasi perbandingan adalah sebuah obyek Boolean. Apabila ekspresi yang diuji pada suatu operasi perbandingan mempunyyai nilai logika benar outputnya adalah obyek Boolean T (true, benar) namun kjika ekspresi yang diuji mempunyai nilai logika salah maka outputnya adalah obyek Boolean F (false, salah).
Berikut ini beberapa contoh operasi perbandingan.
Operasi perbandingan biasanya digunakan sebagai ekspresi yang diuji dalam suatu statemen conditional if else atau sebagai ekspresi yang digunakan untuk mengontrol proses interaksi dalam suatu sistem perulangan While.
OPERASI LOGIKA
Suatu operasi logika digunakan untuk menentukan nilai logika yang dihasilkan olehkombinasi logika atau (or), logika dan (and) dari dua obyek boolean, atau untuk melakukan operasi negasi (not) terhadap suatu obyek boolean. Operasi logika adalah operasi yang bersifat elemen-dengan-elemen. Obyek-obyek yang diuji dalam suatu operasi logika dapat berupa suatu ekspresi perbandingan maupun berupa suatu konstanta boolean.
Suatu operasi logika digunakan untuk menentukan nilai logika yang dihasilkan oleh kombinasi logika atau (or) ,logika dan (and) dari dua objek boolean, atau untuk melakukan operasi negasi (not) terhadap suatu objek boolean. Operasi logika adalah operasi yang bersifat elemen dengan elemen. Objek-objek yang diuji dalam suatu operasi logika dapat berupa suatu ekspresi.
Contoh suatu operasi logika yang terdapat di dalam suatu statemen perulangan While adalah sebagai berikut
Suatu operasi logika juga dapat diterapkan terhadap objek-objek numerik. Pada kasus ini, angka 0 akan dianggap sebagai konstanta boolean salah (F) dan sembarang angka lainnya selain angka nol akan dianggap sebagai konstanta boolean benar (T) . Berikut ini contoh operasi logika terhadap objek-objek numerik
FUNGSI FUNGSI LOGIKA
Selain menyediakan beberapa operator logika, di dalam scilab juga terpasang dua fungsi logika yaitu and dan or . Kedua fungsi tersebut dapat digunakan untuk melakukan operasi logika dan serta logika atau terhadap elemen-elemen suatu matriks atau vektor boolean.
AND
Contoh penggunaan fungsi and
OR
Contoh penggunaan fungsi or
Perulangan dan Kondisional
Scilab menyediakan beberapa statemen yang dapat digunakan untuk mengontrol alur eksekusi terhadap serangkaian statemen. Statemen-statemen tersebut yaitu for, while, if–else dan select–case, break dan continue.ForStatemen for digunakan untuk melakukan eksekusi secara berulang (iterasi) dalam jumlah tertentu terhadap suatu blok-statemen. Bentuk umum statemen ini adalah sebagai berikut:for var = exp blok-statemenendDimana var adalah variabel perulangan dan exp adalah ekspresi yang digunakan untuk mengontrol suatu perulangan for. Ekspesi perulangan biasanya berupa sebuah vektor inkremental, j:k atau j:d:k.
Contoh perulangan for yang menggunakan vektor inkremental i:j:k sebagai ekspresi perulangannya adalah sebagai berikut :
Kemudian pada suatu perulangan yang menggunakan suatu matrik sebagai ekspresi perulangannya maka jumlah perulangannya adalah sebanyak jumlah kolom matrik dan pada setiap langkah perulangan ke-i nilai variabel iterasinya adalah vektor kolom ke-i, seperti yang diperlihatkan pada contoh berikut ini.
Statemen perulangan for juga dapat diletakkan di dalam sebuah statemen perulangan yang lain. Penggunaan statemen for sebaiknya hanya digunakan ketika statemen yang berbasis vektor sulit atau tidak dapat digunakan, seperti pada perhitungan di bawah ini,
Pada perhitungan ini penggunaan statemen for tidak dapat dihindari dan digantikan dengan statemen lain yang berbasis vektor.
While
Statemen perulangan while digunakan untuk menangani suatu proses perulangan yang jumlah perulangannya tidak dapat ditentukan secara pasti. Bentuk umum dari statemen perulangan while adalah sebagai berikut:while ekspresi then blok-statemenendBlok statemen yang terdapat di dalam sebuah blok perulangan while akan dieksekusi secara berulang selama ekspresi yang diuji masih bernilai benar, proses perulangan akan dihentikan jika ekspresi yang diuji bernilai salah. Kata-kunci then dapat diganti dengan ENTER, do, simbol koma (,) atau simbol titik-koma (;).
Berikut ini sebuah contoh operasi perulangan dengan statemen while.
Contoh berikutnya yang menggambarkan penggunaan statemen perulangan while adalah sebagai berikut:
Break
Statemen break digunakan untuk menghentikan suatu proses perulangan secara paksa.Pada suatu perulangan yang bersarang, statemen break hanya akan menghentikan proses perulangan dimana statemen break berada.
Berikut ini contoh penggunaan statemen break:
Pada contoh ini, ekspresi logika yang diuji pada statemen while nilainya selalu benar (%t)sehingga statemen break digunakan untuk menghentikan proses perulangannya jika suatu kondisi tertentu telah dipenuhi.
Continue
Di dalam suatu blok perulangan, penggunaan statemen continue akan menyebabkan statemen-statemen yang terletak di bawahnya tidak akan dieksekusi dan prosesnya dilanjutkan ke langkah perulangan berikutnya. Statemen continue yang terletak di dalam suatu perulangan yang bertingkat hanya akan berpengaruh terhadap blok perulangan yang melingkupinya saja.
Contoh penggunaan statemen continue adalah sebagai berikut.
If-ElseStatemen if–else digunakan untuk mengontrol apakah suatu blok statemen akan dieksekusi atau tidak. Bentuk paling sederhana dari statemen ini adalah sebagai berikut:if ekspresi then blok-statemenendBlok statemen yang terletak di dalam blok if hanya akan dieksekusi jika ekspresi yang diuji bernilai benar. Kata-kunci then dalam blok kondisional if-else dapat diganti dengan ENTER, tanda koma (,) atau tanda titik-koma (;).Berikut ini adalah contoh penggunaan statemen if:
Contoh lain penggunaan statemen if adalah sebagai berikut:
Apabila terdapat dua alternatif pilihan untuk ekspresi yang diuji dalam blok kondisional maka blok kondisional if-else cocok untuk digunakan.if ekspresi then blok-statemen pertamaelse blok-statemen keduaendPada blok kondisional if-else jika ekspresi yang diuji mempunyai nilai benar maka blok-statemen pertama yang akan dieksekusi namun jika ekspresi yang diuji bernilai salah maka blok-statemen kedua yang akan dieksekus.
Contoh penggunaan statemen if - else adalah sebagai berikut:
Apabila ekspresi yang diuji dalam suatu blok kondisional yang mempunyai lebih dari dua macam pilihan maka bentuk kondisional yang sesuai adalah if-elseif-else yang mempunyai bentuk umum sebagai berikut:if ekspresi_1 then blok-statemen pertamaelseif ekspresi_2 then blok-statemen kedua. . .else blok-statemen ke-nendPada blok kondisional if-elseif-else, suatu blok-statemen akan dieksekusi jika ekspresi yang diuji untuk blok-statemen tersebut mempunyai nilai benar. Apabila semua ekspresi yang diuji tidak ada yang mempunyai nilai logika benar maka blok-statemen yang terdapat pada blok else yang akan dieksekusi. Blok else bersifat opsional dan dapat diabaikanapabila tidak diperlukan.Berikut ini adalah contoh penggunaan statemen if-elseif-else:
Select-Case
Statemen kondisional select-case cocok untuk digunakan jika ekspresi yang diuji dalam blok kondisional mempunyai nilai diskrit, baik berupa suatu data integer maupun string. Bentuk umum dari statemen select-case adalah sebagai berikut:select ekspresi case ekspresi_1 then blok-statemen pertama case ekspresi_2 blok-statemen kedua . . . else blok-statemen ke-nendPada blok kondisional select-case, jika ekspresi yang diuji mempunyai nilai yang sama dengan nilai ekspresi dari suatu case maka blok-statemen pada case tersebut yang akan dieksekusi. Namun jika nilai dari ekspresi yang diuji tidak ada yang sama dengan salah satu dari nilai ekspresi pada suatu case maka blok statemen yang terdapat pada blok else yang akan dieksekusi. Blok else bersifat opsional dan dapat tidak digunakan jika tidak diperlukan.Berikut ini contoh penggunaan statemen select–case.
Dalam suatu operasi kondisional, jika ekspresi yang diuji mempunyai nilai diskrit maka penggunaan statemen select-case adalah lebih cocok dibandingkan dengan statemen if-elseif-else. Hal ini karena blok statemen kondisional yang dibuat dengan statemenselect-case lebih mudah untuk dibaca dan mempunyai bentuk yang lebih elegan.
Bab 12Editor Teks SciNotes
SciNotes adalah sebuah program editor teks yang disediakan oleh Scilab untuk memudahkan pembuatan atau pengembangan sebuah file skrip atau fungsi. SciNotes dapat dijalankan melalui menu Applications SciNotes yang terdapat pada jendela konsolScilab atau dengan menggunakan perintah editor atau scinotes. Gambar berikut ini adalah tampilan dari jendela editor teks SciNotes.
Berikut ini adalah sebuah ilustrasi pembuatan sebuah fungsi dalam SciNotes.
File skrip atau fungsi yang telah selesai dibuat dalam SciNotes dapat dieksekusi ke dalam konsol Scilab melalui menu Execute atau dengan menggunakan tombol klik kanan pada mouse.
Bab 13Skrip
Skrip adalah sebuah file teks yang di dalamnya terdapat statemen-statemen Scilab. Pada saat suatu skrip dijalankan maka statemen-statemen yang terdapat di dalamnya akan dieksekusi seolah-olah statemen-statemen tersebut diketikkan pada Jendela Scilab.
Pada dasarnya suatu file skrip dapat dibuat dengan menggunakan sembarang program editor teks, seperti notepad. Namun cara terbaik dalam pembuatan sebuah file skrip yaitudengan program editor teks SciNotes karena program tersebut merupakan teks editor yang disediakan oleh Scilab untuk memudahkan pembuatan sebuah file skrip atau file fungsi.
Contoh 1. (Deret Fibonacci). Berikut ini adalah sebuah skrip [fibo.sce] untuk menentukan sejumlah 10 suku awal dari deret Fibonacci.
Contoh 3. (Deret Bilangan Prima) Berikut ini adalah sebuah skrip untuk membuat deret bilangan prima yang nilainya lebih kecil dari suatu bilangan bulat n.
Anggap skrip ini bernama [prima.sce]. Eksekusi terhadap file skrip ini untuk mencari deret bilangan prima yang lebih kecil dari bilangan 20 akan menghasilkan tampilan seperti yang diperlihatkan di bawah ini.
>exec("prima.sce");Deret bilangan prima yang lebih kecildari suatu bilangan bulat nBilangan bulat n ? 25
Bilangan-bilangan prima tersebut yaitu:
2. 3. 5. 7. 11. 13. 17. 19. 23
Kelebihan dan Kelemahan SkripPenyelesaian suatu perhitungan yang relatif panjang melalui sebuah file skrip merupakan cara yang lebih baik dan efektif dibandingkan penyelesaiannya melalui jendela Scilab. Hal ini karena jika ditemukan kesalahan dalam perhitungan atau dalam penulisan statemen dalam file skrip maka perbaikan kesalahannya hanya dilakukan terhadap statemen-statemen yang salah saja. Seandainya perhitungannya dilakukan melalui jendela Scilab maka semua statemennya harus ditulis ulang kembali disertai dengan perbaikan pada statemen-statemen yang salah. Keuntungan lainnya yaitu sebuah file skrip dapat digunakan sebagai dokumentasi dari suatu perhitungan yang telah dilakukan.Sayangnya untuk suatu perhitungan dengan data yang berbeda maka harus dilakukan pengeditan terlebih dahulu terhadap file skripnya dan setelah itu melakukan eksekusi untuk melihat hasil perhitungannya. Untuk kondisi semacam ini penggunaan skrip menjadi tidak praktis dan sebaiknya digunakan file fungsi. Penjelasan rinci mengenai file fungsi diberikan pada bab selanjutnya.
Bab 14Fungsi
Suatu fungsi adalah sekumpulan statemen yang merepresentasikan sebuah komputasi tertentu.
File-Fungsi
File-fungsi adalah sebuah file teks yang di dalamnya terdapat statemen-statemen Scilabdimana statemen-statemen tersebut harus diitulis dengan sintaks sebagai berikut.function [out1, out2, ...] = func_name(in1, in2, ...) statemen-statemenendfunction
Berikut ini beberapa hal yang sebaiknya dilakukan pada saat pembuatan sebuah fungsi.. Pada bagian awal sebuah fungsi, dimasukkan beberapa baris komentar yang berisi tentang tujuan komputasi dari fungsi.. Variabel-variabel yang terdapat di dalam suatu fungsi harus mudah dimengerti.. Terdapat penjelasan singkat tentang variabel-variabel yang digunakan.. Menuliskan baris komentar pada bagian awal dari suatu blok statemen yang cukup panjang maupun pada blok-statemen untuk perhitungan yang cukup sulit.
. Menggunakan baris kosong untuk memisahkan suatu blok-statemen dengan blok-statemen lainnya. . Menggunakan indentasi pada blok-statemen perulangan dan kondisional. . Menggunakan spasi dan tanda kurung dalam penulisan suatu ekspresi matematika sehingga ekspresinya mudah dibaca dan dipahami.
Sebuah file-fungsi yang telah selesai dibuat dengan teks editor SciNotes dapat disimpan ke dalam sebuah file tertentu melalui menu File Save. Meskipun dapat digunakan sembarang ekstensi namun sebaiknya suatu file fungsi disimpan dengan ekstensi sci.
Contoh 1. (Deret Fibonacci). N Suku-suku awal dari deret Fibonacci [Fibonacci.sci]
Contoh 2. Beberapa fungsi trigonometri dengan argumen sudut dalam satuan derajat [trig_derajat.sci].
Contoh 3. (Metode Secant). Metode Secant adalah salah satu metode yang dapat digunakan untuk menyelesaikan sebuah persamaan nonlinier f(x) = 0. Berikut ini adalah fungsi yang merupakan implementasi dari metode secant [secant.sci].
Penggunaan Fungsi-Fungsi yang Tersimpan pada Suatu File-Fungsi Suatu fungsi yang terdapat dalam sebuah file-fungsi harus dieksekusi terlebih sebelum dapat digunakan. Untuk file fungsi yang terbuka pada jendela SciNotes, hal ini dapat dilakukan melalui menu Execute.
File-fungsi yang tersimpan pada suatu direktori tertentu dapat dieksekusi dengan statemen exec(nama_file), dimana nama_file adalah nama dari file-fungsi. Jika file-fungsi tersimpan pada direktori kerja maka argumen nama_file cukup dengan nama filenya saja, seperti pada contoh di bawah ini:-->exec('trig_derajat.sci');Namun jika file-fungsi tidak tersimpan pada direktori kerja maka argumen nama_fileharus ditulis dengan nama file-fungsi beserta nama direktorinya. -->exec('D:\Skrip dan Fungsi\trig_derajat.sci’);Jika di belakang statemen exec(nama_file) tidak ditambahkan tanda titik-koma maka semua statemen yang terdapat di dalam file-fungsi akan ditampilkan pada jendela Scilab.Sebuah file-fungsi juga dapat dieksekusi melalui menu File Execute yang terdapat pada jendela Scilab.
Setelah dilakukan eksekusi terhadap file-fungsi, fungsi-fungsi yang terdapat di dalamnyadapat dijalankan seperti halnya fungsi-fungsi yang telah terpasang di dalam Scilab.
Membuat Suatu Fungsi Secara Langsung pada Jendela scilab
Selain dalam bentuk file-fungsi, sebuah fungsi juga dapat dibuat secara langsung pada jendela Scilab dengan menggunakan blok statemen function-endfunction atau dengan menggunakan fungsi deff. Fungsi-fungsi yang dibuat dengan cara ini akan tersimpan secara otomatis di dalam ruang kerja sehingga dapat langsung digunakan tanpa perlu dipanggil terlebih dahulu seperti pada sebuah file-fungsi. Fungsi-fungsi yang dibuat secara langsung pada jendela Scilab hanya bersifat sementara dan akan hilang ketika program Scilab ditutup.
Pembuatan Fungsi dengan Blok Statemen Function-EndfunctionSintaks pembuatan suatu fungsi baru secara langsung pada jendela Scilab dengan menggunakan blok statemen function-endfunction adalah sama seperti sintaks penulisan suatu fungsi dalam sebuah file-fungsi.
Berikut ini ilustrasi pembuatan fungsi secara langsung pada jendela Scilab.
Pembuatan Fungsi dengan Fungsi DeffPembuatan sebuah fungsi baru secara langsung pada jendela Scilab dengan fungsi deffdapat dilakukan dengan menggunakan sintaks sebagai berikut:deff("[out1,out2,...] = fname(in1,in2,...)", [blok_statemen])dimana out1,out2 adalah argumen-argumen output, in1,in2 adalah argumen-argumen input dan blok_statemen adalah statemen-statemen untuk fungsi fname. Semua statemen yang terdapat di dalam blok_statemen harus ditulis diantara tanda kutip-tunggal (') atau tanda kutip-ganda (") dan untuk memisahkan statemen yang berbeda dapat digunakan tanda koma (,) atau titik-koma (;).
Berikut ini ilustrasi penggunaan fungsi-fungsi yang telah dibuat dengan fungsi deff.
Variabel Lokal dan Variabel GlobalVariabel-variabel yang terdapat di dalam suatu fungsi adalah variabel lokal. Variabel-variabel tersebut hanya akan ada selama proses eksekusi terhadap fungsi berlangsung dan tidak mempunyai pengaruh terhadap variabel-variabel yang telah tersimpan dalam ruang-kerja meskipun mempunyai nama yang sama.Ilustrasi mengenai variabel lokal dapat dilihat pada contoh di bawah ini.
Berikut ini ilustrasi mengenai variabel global.
Terlihat bahwa perubahan nilai dari variabel global yang terdapat di dalam suatu fungsi juga akan merubah nilai dari variabel yang sama yang tersimpan pada ruang kerja.
Fungsi RekursifRekursi adalah proses pemanggilan sebuah fungsi terhadap dirinya sendiri. Suatu fungsi yang di dalamnya terdapat suatu proses rekursi disebut sebagai fungsi rekursif.
Contoh 5.
Formula untuk menghitung faktorial dari suatu bilangan bulat n yaitu:
Untuk n > 1, fungsi faktorial dapat dinyatakan dalam bentuk sebagiai berikut:
factorial(n) = n factorial(n – 1)
Berikut ini adalah implementasi statemen-statemen untuk fungsi faktorial.
Contoh 6. Suku ke-n dari deret Fibonacci dapat dinyatakan dengan formula berikut:Berikut ini adalah statemen-statemen untuk membuat fungsi Fibonacci.
Pengontrolan Eksekusi Suatu FungsiPerintah resume, resume dan abort dapat digunakan untuk mengontrol eksekusi sebuah fungsi. Penjelasan mengenai perintah-perintah tersebut adalah sebagai berikut.. Perintah resume dan return adalah perintah yang ekuivalen. Perintah resume atau return digunakan untuk keluar dari suatu fungsi namun fungsi tetap menghasilkan suatu nilai keluaran. Namun jika sebuah fungsi dijalankan dalam mode pause maka penggunaan perintah resume atau return akan menghentikan mode pause dan proses eksekusi fungsi dilanjutkan kembali. . Perintah abort dapat digunakan untuk menghentikan proses eksekusi yang sedang berlangsung pada suatu file atau skrip. Perintah error dan warning dapat digunakan untuk menampilkan pesan kesalahan yang terjadi.
Contoh 7. Pada contoh ini fungsi [secant.sci] yang terdapat pada Contoh 3 dimodifikasi dengan menyisipkan perintah return, error, warning dan abort ke dalamnya dan file hasil modifikasinya dinamakan [fsecant.sci].
Menyela Eksekusi Program dan Melakukan DebuggingPauseStatemen pause akan menyela proses eksekusi yang sedang berlangsung di dalam sebuahfungsi atau skrip. Proses eksekusi akan dihentikan pada baris dimana statemen pausetersebut diletakkan. Statemen pause biasanya digunakan untuk dalam proses debuggingterhadap suatu skrip atau fungsi.
Penggunaan statemen pause akan menciptakan sebuah ruang kerja baru dimana semua variabel yang berada di atas statemen pause telah tersimpan di dalam ruang kerja baru tersebut. Setelah tanda -1-> kita dapat memberikan perintah-perintah seperti yang biasa dimasukkan pada baris perintah.
SetbptBerbeda dengan pause, statemen setbpt hanya dapat digunakan terhadap sebuah fungsi. Pada penggunaan statemen setbpt tidak perlukan adanya penyisipan statemen tersebut ke dalam fungsi dan dijalankan pada jendela Scilab dengan sintaks sebagai berikut:setbpt(nama-fungsi, [nomer-baris])dimana nama-fungsi adalah nama fungsi dan nomer-baris adalah nomer-nomer baris yang akan dipasang titik sela.
Ketika perintah setbpt sedang dijalankan, proses eksekusi terhadap fungsi dapat dilanjutkan dengan digunakan perintah resume atau return. Jika digunakan perintah abortmaka eksekusinya akan dibatalkan dan tidak ada output yang dihasilkan oleh fungsi yang sedang dijalankan.
Titik-titik sela yang terpasang pada suatu fungsi dapat dilihat dengan perintah dispbpt(). -1->dispbptBreakpoints of function : fsecant 27 38Titik-titik sela yang terpasang pada suatu fungsi dapat dihapus dengan statemen sebagai berikutdelbpt(fct, nmr_brs)dimana nmr_brs adalah sebuah vektor yang menyatakan nomor baris dari titik-titk sela yang akan dihapus. Jika argumen nmr_brs tidak digunakan maka semua titik-sela yang terpasang pada fungsi fct akan dihapus. Apabila fungsi delbpt dijalankan tanpa argumen maka semua titik-sela yang telah terpasang pada semua fungsi akan dihapus.
Jumlah Argumen Input dan OutputJumlah argumen input dan output yang dipakai pada saat menjalankan sebuah fungsi dapat diketahui dengan fungsi argn yang mempunyai sintaks sebagai berikut:[lhs,rhs] = argn() lhs = argn(1) rhs = argn(2) dimana rhs dan lhs adalah jumlah argumen input dan output yang digunakan.Penggunaan fungsi argn dapat dilihat pada fungsi fabc pada contoh di bawah ini.-->function [x,y] = fabc(a,b,c)--> [n_out, n_in] = argn()--> x = a+b+c--> y = a*b*c-->endfunctionKarena fungsi argn terletak di dalam suatu fungsi maka kita harus menambahkan titik-titik
sela ke dalam fungsinya untuk dapat melihat nilai-nilai outputnya. Sebagai contoh, untuk melihat nilai dari fungsi argn pada fungsi fabc di atas kita harus menjalankan statemen setbpt terlebih dahulu sebelum menjalankan fungsi fabc.-->setbpt('fabc',2)
Selanjutnya jika fungsi fabc dijalankan maka output yang muncul adalah sebagai berikut.
Perintah argn dapat digunakan untuk mengontrol jumlah minimum argumen input yang diperlukan. Apabila jumlah argumen inputnya kurang dari yang dipersyaratkan maka fungsi yang dipanggil biasanya tidak akan dieksekusi dan kemudian ditampilkan sebuah pesan kesalahan.
Contoh 10. Fungsi rasional di bawah ini adalah fungsi untuk mencari hampiran bilangan rasional dari suatu bilangan real. Fungsi rasional adalah modifikasi dari fungsi rat yang telah terpasang pada Scilab. Berikut ini adalah statemen-statemen fungsi rasional.
Menampilkan Baris Komentar yang Terdapat Pada Bagian Awal Suatu FungsiPada bagian awal suatu fungsi biasanya terdapat beberapa baris komentar. Baris komentar tersebut dapat kita tampilkan dengan perintah sebagai berikuthead_comments("func")Dimana func adalah nama fungsi. Sebelum perintah tersebut dijalankan maka kita harusmemanggil fungsinya terlebih dahulu ke dalam ruang kerja Scilab.Berikut ini adalah contoh-contoh penggunaan perintah head_comments.
Dimana func adalah nama fungsi. Sebelum perintah tersebut dijalankan maka kita harusmemanggil fungsinya terlebih dahulu ke dalam ruang kerja Scilab.Berikut ini adalah contoh-contoh penggunaan perintah head_comments.
>head_comments("rasional")function [n,d] = rasional(x,tol)Fungsi untuk mencari hampiran bilangan rasional darisuatu bilangan real.dimana: x : bilangan real, tol : toleransi dalam aproksimasi bilangan rasional.
Kelebihan FungsiDibandingkan dengan skrip, fungsi mempunyai kelebihan sebagai berikut.. Fungsi mempunyai argumen input sehingga suatu fungsi dapat digunakan untuk melakukan perhitungan dengan berbagai macam data yang berbeda tanpa harus melakukan perubahan terhadap statemen-statemen yang terdapat di dalamnya. Jika skrip digunakan untuk melakukan perhitungan terhadap beberapa data yang berbeda maka harus dilakukan pengeditan terhadap file skripnya untuk merubah nilai inputnya. Semua variabel yang terdapat di dalam suatu fungsi bersifat lokal dan tidak akan tersimpan pada ruang kerja, kecuali untuk variabel-variabel yang dinyatakan sebagai variabel global. Di dalam skrip, semua variabel yang terdapat di dalamnya akan tersimpan pada ruang kerja sehingga secara tidak sengaja dapat merubah nilai dari variabel yang telah tersimpan sebelumnya apabila mempunyai nama yang sama.
Contoh 11. (Metode Optimasi Golden Section). Metode golden section adalah salah satu metode yang populer untuk penyelesaian suatu persoalan optimasi nonlinier yang terdiri dari satu variabel. Berikut ini adalah statemen-statemen untuk metode golden section.
Anggap file-fungsi tersebut mempunyai nama [golden_section.sci].
Berikut ini adalah contoh penggunaan metode Golden Section untuk menentukan nilai minimum dari sebuah fungsi sebagai berikut.
pada interval Grafik dari fungsi f(x) ditunjukkan pada Gambar 14.2. Dari Gambar 14.2 terlihat bahwa fungsi obyektif mempunyai nilai minimum terletak pada nilai x yang sedikit lebih besar 1.5. Oleh karena itu, kita dapat menggunakan jangkauan [1.5,1.75]sebagai interval pencarian nilai x yang menghasilkan nilai fungsi obyektif yang optimum.
Nilai optimum dari fungsi obyektif f(x) dapat diperoleh dengan statemen-statemen sebagaiberikut:
Bab 15Input dan Output
Memasukkan Data dengan Fungsi Input
Selain melalui baris perintah, suatu data juga dapat dimasukkan dengan fungsi inputdengan sintaks sebagai berikut.x = input("teks")x = input("teks", "string")Dimana teks adalah keterangan tentang data yang akan dimasukkan. Jika data yang dimasukkan berupa string maka "string" harus digunakan sebagai argumen kedua pada fungsi input. Argumen "string" dapat disingkat dengan karakter tunggal "s".
Berikut ini contoh penggunaan fungsi input.n = input("Jumlah iterasi ?")s = input("Metode ?","s")Apabila kedua perintah tersebut dijalankan maka akan muncul tampilan sebagai berikut:Jumlah iterasi ?Metode ?
Fungsi input dapat digunakan di dalam sebuah skrip untuk proses pemasukan data secara interaktif.
Menampilkan Nilai Suatu Variabel dengan Fungsi Disp
Selain dengan cara menuliskan nama variabelnya pada baris perintah, nilai dari suatu variabel var juga dapat ditampilkan pada Jendela Scilab dengan fungsi disp(var), seperti yang ditunjukkan pada beberapa contoh di bawah ini.
Fungsi disp juga dapat digunakan untuk menampilkan nilai dari beberapa variabel sekaligus dengan menggunakan sintaks disp(var1, var2, ... varn), dimana var1, var2, varn adalah nama-nama variabel. Fungsi disp akan menampilkan nilai variabel-variabel dengan urutan yang terbalik dengan urutan daftar variabel pada argumen input.
. disp(factorial(10),'Nilai dari faktorial(10) adalah')Nilai dari faktorial(10) adalah 3628800.Untuk variabel numerik, perintah disp akan menampilkan nilainya sesuai dengan format yang sedang digunakan.
Penanda File
Penanda file adalah angka yang digunakan oleh Scilab sebagai unit file untuk file-file yang sedang digunakan pada proses pembacaan atau penulisan data. Namun terdapat sebuah perkecualian pada penanda file, yaitu untuk angka 5 dan 6. Kedua angka tersebut telah digunakan secara khusus oleh Scilab masing-masing sebagai penanda untuk papan-ketik (keyboard) dan Jendela Scilab (Konsol Scilab). Kedua nilai tersebut tersimpan dalam variabel khusus %io.
>%io%io = 5. 6.Seperti penanda file lainnya, angka 5 atau %io(1) dan angka 6 atau io(2) dapat digunakan pada proses pemasukan data maupun penulisan data.
Mencetak Nilai Variabel dengan Fungsi Print
Sebuah variabel juga dapat dicetak nama dan nilainya ke dalam suatu file dengan fungsi print yang mempunyai sintak sebagai berikut:
print(nama_file, x1, x2, ..., xn)
Dimana nama_file adalah nama file untuk menyimpan variabel x1, x2, ..., xn. Nama file harus ditulis dengan nama direktorinya apabila filenya tidak berada pada direktori kerja, namun jika berada dalam direktori kerja maka cukup dengan nama filenya saja. Urutan dari tampilan variabel yang dihasilkan oleh fungsi print adalah terbalik dengan urutan variabel-variabel pada argumen inputnya. Fungsi print akan mencetak data numerik sesuai dengan format numerik yang sedang digunakan.
Isi dari file xy.txt adalah seperti yang diperlihatkan pada gambar berikut ini.
Membuka dan Menutup File Data
Pada beberapa proses input dan output dengan suatu file, kadang filenya harus dibuka terlebih dahulu sebelum dapat digunakan dan kemudian ditutup kembali jika telah selesaidipergunakan.
Sebuah file dapat dibuka dengan fungsi file yang mempunyai sintaks sebagai berikut:fid = file('open', fname, status)dimana fid adalah angka penanda file, fname adalah nama file data dan status adalah status file. Nama file harus ditulis dengan spesifikasi lengkap apabila filenya tidak berada pada direktori kerja dan jika berada dalam direktori kerja cukup dengan nama filenya saja.
Argumen status pada fungsi file adalah string yang menunjukkan status file yang nilainya adalah salah satu dari beberapa string dibawah ini:. 'new ' untuk file yang baru (default). 'old ' untuk file yang sudah ada,
. 'unknown ' untuk file yang statusnya tidak diketahui, . 'scratch ' untuk file yang digunakan secara sementara dan akan dihapus pada akhir sesi Scilab.
Misalkan data-data yang akan disimpan ke dalam file adalah sebagai berikut:
Nilai dari variabel FreeSoftware disimpan ke dalam file data1.txt dengan perintah sebagai berikut.-->write(1, FreeMathSoftware)Penjelasan mengenai perintah write akan diberikan pada subbab selanjutnya. Isi dari file data1.
txt adalah seperti yang diperlihatkan pada Gambar 15.2.
Berikut adalah perintah-perintah untuk menyimpan nilai variabel R pada file data2.txt,dengan menambahkan sebuah keterangan tambahan pada baris pertama.
-->write(unit2, 'bilangan random distribusi seragam')-->write(unit2, R)
I si dari file data2.txt adalah seperti yang diperlihatkan Gambar 15.3.
File-file yang telah dibuka dengan statemen file('open', ...) dapat ditutup dengan statemen file('close',fid), dimana fid adalah penanda file.
Informasi Mengenai File-File yang Telah Dibuka
Informasi mengenai sebuah file yang sedang dibuka dapat diketahui dengan fungsidispfiles(fid), dimana fid adalah penanda file. Jika fungsi dispfiles dijalankan tanpa argumen maka ditampilkan informasi dari semua file yang sedang dibuka. Berikut ini ilustrasi penggunaan fungsi dispfiles.
Menyimpan dan Membaca Data String dalam Format Teks ASCII
Suatu data string dapat disimpan ke dalam sebuah file teks dengan fungsi mputl yang mempunyai sebagai berikut:mputl(str, nama_file)dimana str adalah nama string yang akan ditulis dan nama_file adalah nama dari file yang digunakan untuk menyimpan string. Penggunaan fungsi mputl tidak memerlukan filenya untuk dibuka terlebih dahulu.
Data string yang tersimpan suatu file teks dapat dibaca dengan menggunakan fungsi mgetlyang mempunyai sintak sebagai berikut:mgetl(nama_file, n)dimana nama_file adalah nama dari file dimana string tersimpan, dan n adalah jumlah baris yang akan dibaca. Argumen n bersifat opsional jika tidak digunakan maka semua baris string akan dibaca.
Menyimpan dan Membaca Data dengan Format Fortran
Fungsi write dapat digunakan untuk menyimpan nilai suatu variabel ke dalam sebuah sebuah file atau untuk menampilkannya pada jendela Scilab. Sintaks dari fungsi writeadalah sebagai berikut:write (nama_file, var, fmt)dimana nama_file adalah penanda file atau nama file, var adalah nama variabel dan fmtadalah format penulisan yang digunakan. Argumen fmt bersifat optional, apabila tidak dipergunakan maka data akan ditulis dengan format default.
Contoh pembacaan dari sebuah file dengan fungsi read adalah sebagai berikut.
Berikut ini contoh penggunaan fungi read untuk membaca data dari papan ketik.
Pada pembacaan data melalui papan ketik dengan fungsi read, setelah statemennyadijalankan maka di bawahnya akan muncul tanda -->. Setelah tanda ini, data-data harus dimasukkan secara perbaris sesuai dengan dimensi datanya.
Menyimpan dan Membaca Data dengan Format C
Fungsi mfprintf juga dapat digunakan untuk menyimpan nilai suatu variabel ke dalam sebuah sebuah file atau untuk menampilkan nilai suatu variabel pada Jendela Scilab.
Mencetak Nilai Variabel dengan Fungsi Mprintf Nilai dari suatu variabel juga dapat ditampilkan pada Jendela Scilab dengan fungsi mprintf. Fungsi ini serupa dengan fungsi disp namun mempunyai kelebihan yaitu format penulisan variabelnya dapat diatur sesuai dengan yang kita kehendaki. Sintaks dari fungsi mprintfadalah sebagai berikutmprintf(fmt, var1, var2, .., varn)dimana fmt adalah format penulisan yang serupa dengan format bahasa C, serta var1, var2, varn adalah nama-nama variabel yang ingin ditampilkan pada jendela Scilab.
Berikut ini contoh penggunaan fungsi mprintf.
Menyimpan dan Membaca Suatu Data Matrik
Suatu data matrik dapat disimpan secara langsung pada suatu file tanpa harus membuka filenya terlebih dahulu dengan fungsi fprintfMat yang mempunyai sintak sebagai berikutfprintfMat(nfile, M, fmt, teks)dimana nfile adalah nama file data, M adalah data matrik, fmt dalah format penulisan, teksadalah baris teks pertama yang akan dituliskan pada file data. Argumen format dan teks adalah argumen-argumen yang bersifat opsional.
Berikut ini adalah contoh penggunaan perintah fprintfmat.
. fprintfMat('C:\Temp\dataR33a.txt', R33) . fprintfMat('C:\Temp\dataR33b.txt', R33,'%8.3f','Bilangan acak')
Isi dari file dataR33a.txt dan dataR33b.txt masing-masing adalah seperti yang terlihat pada gambar-gambar di bawah ini.
Suatu data matrik yang tersimpan pada suatu file dapat dibaca dengan fungsi fscanfMatyang mempunyai sintaks sebagai berikut[M, teks] = fscanfMat(nama_file)dimana nama_file adalah nama file data, M adalah data matrik, dan teks adalah string yang terdapat pada baris pertama dari file data.
Contoh-contoh penggunaan fungsi fscanfMat adalah sebagai berikut.
Terlihat bahwa perintah terakhir menghasilkan pesan kesalahan. Hal ini karena variabel yang dipanggil kembali ke dalam ruang kerja pada perintah sebelumnya hanya variabel Z saja.
Selain dengan menggunakan fungsi save dan load, penyimpanan variabel-variabel yang terdapat pada ruang kerja ke dalam sebuah file dengan format biner dan pembacaan file data dengan format biner juga dapat kita lakukan melalui menu File Save enviroment dan File Load enviroment.
Kategori
- Masih Kosong
Blogroll
- Masih Kosong