PERBANDINGAN DAN LOGIKA DALAM MATEMATIKA
NAMA : IWINTRY WINDIA ABDULLAH
NIM : 411421065
PRODI/KELAS : PENDIDIKAN MATEMATIKA/B
Operasi Perbandingan
Operasi perbandingan adalah operasi yang dioperasikan secara elemen-dengan-elemensehingga operasi ini hanya dapat dilakukan terhadap antara skalar dengan skalar atau vektor/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 mempunyai nilai logika benar maka outputnya adalah obyek boolean T (true, benar) namun jika ekpresi yang diuji mempunyai nilai logika salah maka outputnya adalah obyek boolean F (false, salah).
Nilai dari dua objek dapat dibandingkan dengan menggunakan operator-operator sebagai berikut:
- == Sama dengan
- < Lebih kecil dari
- <= Lebih kecil atau sama dengan
- > Lebih besar dari
- >= Lebih besar atau sama dengan
- <> atau ~= Tidak sama dengan
Berikut ini beberapa contoh operasi perbandingan.
Operasi perbandingan biasanya digunakan sebagai ekspresi yang diuji dalam suatu statemen kondisional if-else atau sebagai ekspresi yang digunakan untuk mengontrol proses literasi dalam suatu statemen perulangan while.
Berikut ini adalah contoh penggunaan operasi perbandingan yang terdapat di dalam suatu blok kondisional if-else.
Penggunaan operasi perbandingan pada suatu blok perulangan while dapat dilihat pada contoh di bawah ini.
Operasi perbandingan juga digunakan dalam proses ekstraksi elemen-elemen suatu matrik atau vektor yang memenuhi suatu kondisi tertentu.
Operasi Logika
Suatu operasi logika digunakan untuk menentukan nilai logika yang dihasilkan oleh kombinasi 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 besifat elemen dengan elemen. Obyek-obyek yang diuji dalam suatu operasi logika dapat berupa suatu ekspresi perbandingan maupun berupa suatu konstanta boolean.
- & dan (and)
- | atau (or)
- ~ negasi/bukan (not)
- %t Konstanta boolean untuk benar (true)
- %f Konstanta boolean untuk salah (false)
Berikut ini ada beberapa contoh operasi logika.
Suatu operasi logika seringkali digunakan sebagai ekspresi yang diuji dalam suatu statemen kondisional if-else atau sebagai ekspresi yang digunakan untuk mengontrol proses literasi dalam suatu statemen perulangan while.
Berikut ini contoh operasi logika yang terdapat di dalam suatu statemen kondisional if.
Contoh penggunaan operasi logika yang terdapat didalam suatu statemen perulangan while adalah sebagai berikut.
Suatu operasi logika juga dapat diterapkan terhadap obyek-obyek numerik. Pada kasus ini,angka nol akan dianggap sebagai konstanta boolean salah (f) dan sebarang angka lainnya selain angka nol akan dianggap sebagai konstanta boolean benar (T). Berikut ini contoh operasi logika terhadap obyek-obyek numerik.
Fungsi-fungsi Logika
1) And
- and(A) atau and(A, '*') : fungsi and dioperasikan terhadap semua elemen matrik.
- and(A,1) atau and(A, ' r ') : fungsi and dioperasikan terhadap elemen-elemen pada setiap vektor kolom yang menyusun matrik A.
- and(A,2) atau and(A, ' c ') : fungsi and dioperasikan terhadap elemen-elemen pada setiap vektor baris yang menyusun matrik A.
Contoh penggunaan fungsi and yaitu:
2) Or
- or(A) atau or(A, ' * ') : fungsi or dioperasikan terhadap semua elemen matrik.
- or(A,1) atau or(A, ' r ') : fungsi or dioperasikan terhadap elemen-elemen pada setiap vektor kolom yang menyusun matrik A.
- or(A,2) atau or(A, ' c ') : fungsi or dioperasikan terhadap elemen-elemen pada setiap vektor baris yang menyusun matrik A.
Contoh penggunaan fungsi or adalah sebagai berikut.
Fungsi-fungsi Pengujian
- isdef ("x") Untuk mendapatkan informasi mengenai eksistensi variabel x
- isreal (x) Untuk memeriksa apakah semua elemen dari matrik x merupakan bilangan real
- isinf (x) Untuk memeriksa apakah elemen-elemen matrik x merupakan konstanta takhingga
- isnan (x) Untuk memeriksa apakah elemen-elemen matrik x merupakan konstanta takhingga
- isempty (x) Untuk memeriksa apakah x merupakan matrik kosong
- isequal (x,y) Untuk memeriksa apakah x dan y adalah matrik yang sama
- isvector (x) Untuk memeriksa apakah x adalah sebuah vektor
Contoh ilustrasi penggunaan dari fungsi-fungsi pengujian yaitu.
Pengulangan dan Kondisional
1)For
Statemen for digunakan untuk melakukan eksekusi secara berulang (iterasi) dalam jumlah tertentu terhadap suatu blok-statemen. Contoh perulangan for yang menggunakan vektor inkremental i;j sebagai ekspresi yang digunakan untuk mengontrol suatu perulangannya adalah sebagai berikut.
Contoh perulangan for yang menggunakan vektor inkremental i:j:k sebagai ekspresi perulangannya adalah sebagai berikut.
Pada sebuah perulangan yang menggunakan suatu vektor sebagai ekspresi perulangannya maka jumlah perulangannya adalah sebanyak jumlah elemen vektor dimana pada setiap langkah perulangan ke-i nilai variabel iterasinya adalah nilai elemen ke-i, seperti yang diperlihatkan pada contoh di bawah ini.
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, seperti pada contoh di bawah ini.
Penggunaan statemen for sebaliknya hanya digunakan ketika statemen yang berbasis vektor sulit atau tidak dapat digunakan, seperti pada perhitungan di bawah ini.
2)While
Statemen perulangan while digunakan untuk menangani suatu proses perulangan yang jumlah perulangannya tidak dapat ditentukan secara pasti. 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. Contoh penggunaan statemen break.
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. Contoh penggunaan statemen continue sebagai berikut.
Penggunaan statemen continue di dalam suatu blok perulangan kadang dapat dihindari dengan menggunakan statemen-statemen lain yang ekuivalen. Sebagai contoh, perhitungan di atas dapat diselesaikan tanpa harus menggunakan statemen continue dengan statemen-statemen sebagai berikut.
If-Else
Statemen if-else digunakan untuk mengontrol apakah suatu blok statemen akan dieksekusi atau tidak. 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. Contoh penggunaan statemen if-else adalah sebagai berikut.
Pada 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 diabaikan apabila tidak diperlukan. Contoh penggunaan statemen if-elseif-else.
Statemen kondisional juga dapat dibuat bersarang atau berada di dalam statemen kondisional yang lainnya, seperti yang ditunjukkan pada contoh di bawah ini.
Select-Case
Statemen kondisional select-case cocok untuk digunakan jika ekspresi yang diuji dalam blok kondisional mempunyai nilai dikrit, baik berupa suatu data integer maupun string. Contoh penggunaan statemen select-case.
Contoh lain penggunaan statemen select-case adalah sebagai berikut.
Editor Teks Scinotes
SciNotes adalah sebuah program editor teks yang disediakan oleh Scilab untuk memudahkan pembuatan atau pengembangan sebuah file scrip atau fungsi. Scinotes dapat dijalankan melalui menu Applications Scinotes yang terdapat pada jendela konsol Scilab atau dengan menggunakan perintah editor atau SciNotes.
SciNotes menyediakan fitur-fitur menarik yang sangat berguna pada waktu pembuatan atau pengeditan suatu file sktrip atau fungsi. Fitur-fitur tersebut antara lain sebagai berikut:
- Penggunaan warna-warna tertentu untuk memperjelas sintaksis atau statemen.
- Indentasi secara otomatis pada saat penulisan suatu blok statemen perulangan atau kondisional.
- Dapat memperbaiki indentasi pada statemen-statemen yang diblok.
- Autocompletion terhadap operator atau kata-kunci.
- Pencarian dan penggantian terhadap suatu kata atau frasa yang terdapat di dalam file yang sedang dibuka.
Berikut ini contoh pembuatan fungsi dengan SciNotes
Strip
Strip 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.
Pembuatan Skrip
Pada dasarnya suatu file skrip dapat dibuat dengan menggunakan sembarang program editor teks, seperti notepad. Namun cara terbaik dalam pembuatan sebuah file skrip yaitu dengan program editor SciNotes karena program tersebut merupakan teks editor yang disediakan oleh Scilab untuk memudahkan pembuatan sebuah file skrip atau file fungsi. SciNotes dapat dijalankan melalui jendela Scilab melalui menu Application Scinotes.
Contoh. (Deret Fibonacci). Berikut ini adalah sebuah strip [fibo.sce] untuk menentukan sejumlah 10 suku awal dari deret Fibonacci.
Cara Menjalankan Suatu Skrip
Statemen-statemen yang terdapat di dalam sebuah skrip yang sedang dibuka pada jendela SciNotes dapat dijalankan melalui menu Execute. Apabila skrip [fibo.sce] pada contoh 1 dieksekusi melalui Execute file with no Echo maka tampilan berikut ini akan muncul pada Jendela Scilab.
Sebuah file skrip yang tersimpan pada sebuah direktory dapat dieksekusi dengan statemen exec(file_skrip) dimana file_skrip adalah nama filenya. Apabila filenya tersimpan pada direktori kerja maka argumen file_skrip cukup dinyatakan dengan menggunakan nama filenya saja, seperti contoh di bawah ini:
Namun jika filenya tidak tersimpan pada direktori kerja maka argumen file_skrip harus berupa nama file skrip dan nama direktorinya, seperti contoh di bawah ini:
Apabila di belakang statemen exec(file_skrip) tidak ditambahkan tanda titik-koma (;) maka statemen-statemen yang terdapat di dalam skrip yang dieksekusi akan ditampilkan pada jendela Scilab.
Contoh. (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.
Kelebihan dan Kelemahan Skrip
Penyelesaian suatu perhitungan yang relatif panjang melalui sebuah file skrip merupakan cara yang lebih baik dan efektif dibandingkan penyelesaiannya melalui jendela Scilab. Hal ini karema 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 terhadpa 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.
Fungsi
Suatu fungsi adalah sekumpulan statemen yang merepresentasikan sebuah komputasi tertentu. Suatu fungsi dapat dibuat dalam bentuk file teks (file-fungsi) atau dibuat secara langsung pada jendela Scilab.
File Fungsi
File fungsi adalah sebuah file teks yang di dalamnya terdapat statemen-statemen Scilab dimana statemen-statemen tersebut harus ditulis dengan sintaks sebagai berikut.
Dimana func_name adalah nama fungsi, in1, in2 adalah argumen-argumen input kemudian out1, out2 adalah argumen-argumen output. Pada fungsi yang tidak mempunyai argumrn input penggunaan tanda kurung kiri dan tanda kurung kanan, ( ), bersifat opsional. Pada fungsi-fungsi yang mempunyai argumen output tunggal penggunaan kurung-siku kiri dan kurung-siku kanan, [ ], bersifat opsional. Aturan penamaan fungsi adalah sama seperti aturan penamaan suatu variabel.
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 eskpresinya mudah dibaca dan dipahami.
Sebuah fungsi yang ditulis dengan gaya penulisan yang baik akan mudah untuk dibaca dan dimengerti. Manfaat lainnya yaitu proses pengecekan atau perbaikan jika ada kesalahan dalam fungsi yang telah dibuat dapat dilakukan dengan mudah.
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, Pada sebuah file-file di dalamnya dapat terdiri dari sebuah fungsi saja maupun beberapa fungsi seperti yang ditunjukkan pada contoh-contoh di bawah ini.
Contoh. (Deret Fibonacci). N suku-suku dari deret Fibonacci [Fibonacci.sci]
Contoh. Beberapa fungsi trigonometri dengan argumen sudut dalam satuan derajat [trig_derajat.sci]
Contoh. (Metode Secant). Metode Secant adalah salah satu metode yang dapat digunakan untuk menyelesaikan sebuah persamaan nonlinear 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:
Namun jika file-fungsi tidak tersimpan pada direktori kerja maka argumen nama_file harus ditulis dengan nama file-fungsi beserta nama direktorinya.
Jika di belakang statemen exec(nama_file) tidak ditambahlan 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 dalamnya dapat 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 dibut 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-Endfunction
Sintaks pembuatn 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 Deff
Pembuatan sebuah fungsi baru secara langsung pada jendela Scilab dengan fungsi deff dapat dilakukan dengan menggunakan sintaks sebagai berikut:
dimana out1,out2 adalah argumen-argumen outpun, 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 hidup kutip-tunggal (') atau tanda kutip-ganda (") dan untuk memisahkan statemen yang berbeda dapat digunakan tanda koma (,) atau titik-koma (;)
Berikut ini contoh-contoh pembuatan suatu fungsi dengan menggunakan perintah deff.
Berikut ini ilustrasi penggunaan fungsi-fungsi yang telah dibuat dengan fungsi deff.
Variabel Lokal dan Variabel Global
Variabel-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 nama yang sama.
Ilustrasi mengenai variabel lokal dapat dilihat pada contoh di bawah ini.
Apabila variabel n1 dipanggil kembali maka nilainya masih tetap dan tidak berubah karena variabel n1 yang terdapat dalam fungsi foo merupakan variabel lokal.
Namun jika variabel n2 dipanggil maka akan muncul pesan kesalahan "underfined variable", karena variabel n2 hanya terdapat di dalam fungsi foo saja.
Variabel global adalah variabel yang tersimpan baik di dalam fungsi maupun di dalam ruang kerja. Sebuah variabel dapat dibuat sebagai variabel global dengan menggunakan fungsi global yang mempunyai sintaks sebagai berikut:
dimana var1, var2, varn adalah nama-nama variabel global. Untuk merubah nilai suatu variabel global dari dalam sebuah fungsi maka kita juga harus menambahkan fungsi global ke dalam fungsi.
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 Rekursif
Rekursi adalah proses pemanggilan sebuah fungsi terhadap dirinya sendiri. Suatu fungsi yang di dalamnya terdapat suatu proses rekursi sebagai fungsi rekursif.
Untuk n > 1, fungsi faktorial dapat dinyatakan dalam bentuk sebagai beikut:
factorial(n) = n factorial(n-1)
Berikut ini adalah implementasi statemen-statemen untuk fugsi faktorial.
Contoh. Suku ke-n dari deret Fibonacci dapat dinyatakan dengan formula berikut:
Berikut ini adalah statemen-statemen untuk membuat fungsi Fibonacci.
Pengontrolan Eksekusi Suatu Fungsi
Perintah 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 menhentikan proses eksekusi yang sedang berlangsung pada suatu file atau skrip. Perintah error dan warning dapat digunakan untuk menampilkan pesan kesalahan yang terjadi.
Ilustrasi dari penggunaan perrintah-perintah di atas diberikan pada contoh bawah ini.
Contoh. Pada contoh ini fungsi [secant.sci] yang terdapat pada contoh dimodifikasi dengan menyisipkan perintah return, error, warning dan abort ke dalamnya dan file hasil modifikasinya dinamakan [fsecant.sci].
Menyela Eksekusi Program dan Melakukan Debugging
Pause
Statemen pause akan menyela proses eksekusi yang sedang berlangsung di dalam sebuah fungsi atau skrip. Proses eksekusi akan dihentikan pada baris dimana statemen pause tersebut diletakkan. Statemen pause biasanya digunakan untuk proses debugging terhadap suatu skrip atau fungsi. Berikut ini ilustrasi penggunaan perintah pause.
Contoh. File-fungsi [psecant.sci] yang terdapat pada contoh merupakan modifikasi dari file-fungsi [fsecant.sci] dengan menambahkan statemen pause di dalamnya.
Selanjutnya kita panggil fungsi psecant.sci ke dalam ruang kerja dan kemudian digunakan untuk mencari akar dari fungsi f(x) = x-exp(-x)
Setbpt
Berbeda dengan pause, statemen setbpt hanya dapat digunakan terhadap sebuah fungsi. Pada penggunaan statemen setbpt tidak diperlukan adanya penyisipan statemen tersebut ke dalam fungsi dan dijalankan pada jendela Scilab dengan sintaks sebagai berikut:
dimana nama-fungsi adalah nama fungsi dan nomer-baris adalah nomer-nomer baris yang akan dipasang titik sela.
Contoh. Pada contoh ini fungsi [fsecant.sci] digunakan untuk menentukan akar dari fungsi f(x) = x - exp (-x)
Namun pada saat eksekusi ditambahkan beberapa titik sela denfan menggunakan fungsi setbpt. Anggap pada fungsi fsecant kita tambahkan titik sela pada baris ke-27 dan 38 maka perintahnya adalah sebagai berikut.
Menampilkan Baris Komentar yang Terdapat Pada Bagian Awal Suatu Fungsi
Pada bagian awal suatu fungsi biasanya terdapat beberapa baris komentar. Baris komentar tersebut dapat kita tampilkan dengan perintah sebagai berikut
Dimana func adalah nama fungsi. Sebelum perintah tersebut dijalankan maka kita harus memanggil fungsinya terlebih dahulu ke dalam ruang kerja Scilab.
Kelebihan Fungsi
Dibandingkan 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.
(Metode Optimasi Golden Section).
Metode golden section adalah salah satu metode yang populer untuk penyelesaian suatu persoalan optimasi nonlinier yang terdiri dari satu variabel.
Input dan Output
Memasukkan Data dengan Fungsi Input
Selain melalui baris perintah, suatu data juga dapat dimasukkan dengan fungsi input dengan 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 menulsikan 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 menampilakan 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 veriabel pada argumen input.
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 dan 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.
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:
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.
Fungsi print juga dapat digunakan untuk menampilkan nilai sebuah variabel pada jendela Scilab dengan menggunakan angka 6 atau &io(2) sebagai argumen nama file.
Contoh penggunaan fungsi print adalah sebagai berikut.
Isi 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 selesai dipergunakan.
Sebuah file dapat dibuka dengan fungsi file yang mempunyai sintaks sebagai berikut:
dimana fid adalah angka penanda file, fname adalah 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 sebagai berikut:
Anggap data-data tersebut akan disimpan ke dalam file data1.txt dan data2.txt, maka dibuat terlebih dahulu file-filenya dengan perintah sebagai berikut.
Nilai dari variabel FreeSoftware disimpan ke dalam file data1.txt dengan perintah sebagai berikut.
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.
Isi dari file data2.txt adalah seperti yang diperlihatkan
File-file yang telah dibuka dengan statemen file('open', ...) dapat ditutup dengan statemen file('close', fid), dimana fid adalah penanda file. Sebagai contoh, untuk menutp file data1.txt dapat digunakan salah satu dari statemen di bawah ini.
Daftar file-file yang sedang digunakan dapat dilihat dengan menggunakan fungsi file tanpa menggunakan argumen input, seperti pada contoh di bawah ini.
Angka 2 adalah penanda file untuk file, sedangkan angka 5 dan 6 adalah penanda untuk papan ketik dan jendela Scilab.
Sebuah file juga dapat dibuka dengan fungsi mopen yang mempunyai sebagai berikut:
fid = mopen(fname,mode)
dimana fid adalah angka penanda file, fname adalah nama file data dan mode adalah string yang menyatakan operasi pada file. Nama file harus ditulis dengan spesifikasi lengkap apabila tidak beradda pada direktori kerja namun apabila berada dalam direktori kerja cukup dengan nama filenya saja.
Berikut ini beberapa pilihan untuk argumen mode yang terdapat pada fungsi mopen:
- 'r' : untuk membaca dari file, filenya harus sudah ada apabila filenya tidak ada maka operasinya tidak dilakukan.
- 'w' : untuk menulis pada file baru, jika filenya sudah ada maka isinya akan dihapus dan diganti dengan data yang baru.
- 'a' : untuk menambahkan data pada file, jika filenya belum ada maka filenya akan dibuat oleh Scilab.
Penjelasan mengenai fungsi mfprintf akan diberikan pada subbab selanjutnya. Isi file data3.txt dari perintah di atas adalah seperti yang terlihat pada gambar 15.4.