CARA MENGOPERASIKAN SCILAB DALAM MATEMATIKA

04 October 2022 18:27:38 Dibaca : 201

NAMA  : WAHYUNI SINI

NIM      : 411421102

KELAS : B PENDIDIKAN MATEMATIKA 2021

MATA KULIAH : KOMPUTASI DAN PEMOGRAMAN

 

A. 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

Dengen var adalah nama variabel yang digunakan untuk menyimpan nilai dari ekspresi yang terdapat di sebelah kanannya. 

B. 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. Penjelasan mengenai beberapa operator adalah sebagai berikut :

 

C. OPERASI PERBANDINGAN

Operasi perbandingan adalah operasi yang dioperasikan secara elemen-dengan-elemen sehingga 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 obyek dapat dibandingkan dengan menggunakan operator-operator seperti yang terdapat pada tabel di bawah ini.

== (Sama denga)< (Lebih kecil dari)<= (Lebih kecil dari atau sama dengan)> (Lebih besar dari)>= (Lebih besar dari atau sama dengan)<> atau ~= (Ttidak sama dengan)Berikut ini beberapa contoh operasi perbandingan yaitu :

 

D. OPERASI LOGIKA

Operasi logika adalah operasi yang bersifat elemen dengan elemen. Objek-objek yang diuji dalam suatu operasi logika dapat berupa suatu eksperesi perbandingan maupun berupa suatu konstanta Boolean. Operasi perbandingan biasanya digunakan sebagai ekspresi yang diuji dalam suatu statemen kondisional if-else atau sebagai ekspresi yang digunakan untuk mengontrol proses interaksi dalam suatu statemen perulangan while.

 

Berikut ini adalah contoh pengunaan operasi perbandingan yang terdapat di dalam suatu blok kondisional if-else.

 

Penggunaan operasi perbandingan pada suatu blok perulangan while dapat dilihat pada contoh dibawah ini.

 

suatu operasi logika juga dapat diterapkan terhadap objek-objek numerik. pada kasus ini, angka nol 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.

 

E. FUNGSI-FUNGSI LOGIKA

1.) And

- and (A) atau and (A, '*') : fungsi logika and dioperasikan terhadap semua elemen matrik.

- and (A,1) atau and (A,'r') : fungsi and dioperasikan terhadap elemen-elemen 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 logika or dioperasikan terhadap semua elemen matrik.

- Or (A,1) atau or (A,'r') : fungsi or dioperasikan terhadap elemen-elemen 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 yaitu : 

 

F. FUNGSI-FUNGSI PENGUJIAN

isdef ("x") : Untuk mendapatkan informasi mengenai eksistensi variabel x.

isreal (x) : untuk memeriksa apakah semua elemen dari matriks x merupakan bilangan real.

isinf (x) : Untuk memeriksa apakah elemen-elemen matrik x merupakan konstranta takhingga.

isnan (x) : Untuk memeriksa apakah elemen-elemen matrik x merupakan konstranta 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 :

 

 

G. PENGULANGAN DAN KONDISIONAL

- FOR

Statemen for digunakan untuk melakukan eksekusi secara berulang dalam jumlah tertentu terhadap suatu blog-statemen. Contoh perulangan for yang menggunakan vektor inkremental i:j sebagai ekspresi yang digunakan untuk mengontrol suatu perulangannya adalahsebagai berikut :

 

Contoh perulangan for yang menggunakan vektor inkremental i:j:k sebagai ekspresi perulangannya adalah sebagai berukut : 

 

Pada sebuah perulangan yang menggunakan suatu vektor sebagai ekspresi perulangannya maka jumlah perungannya adalah sebanyak jumlah elemen vektor dimana pada setiap langkah perulangan ke-i nilai variabel iterasinya adalah nilai elemn ke-i, seperti yang diperlihatkan pada contoh dibawah 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 didalam sebuah statemen perulangan yang lain, seperti pada contoh dibawah ini :

 

- WHILE

Statemen perulangan while digunakan untuk menangani suatu proses perulangan yang jumlah perulangannya tidak dapat ditentukan secara pasti. 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 preulangan dimana statemen break berada. Berikut ini contoh penggunaan statemen break :

 

- CONTINUE

Di dalam suatu blog perulangan, penggunaan statemen continue akan menyebabkan statemen-statemen yang terletak dibawahnya tidak akan di eksekusi dan prosesnya dilanjutkan kelangkah perulangan berikutnya. Statemen continue yang terletak didalam suatu perulangan yang bertingkat hanya akan berpengaruh terhadap blog perulangan yang melingkupinya saja.

Contoh penggunaan statemen continue adalah sebagai berikut :

 

Penggunaan statemen continue didalam suatu blok perulangan kadang dapat dihindari dengan menggunakan statemen-statemen lain yang ekuivalen. sebagai contoh, perhitungan diatas dapat diselesaikan tanpa harus menggunakan statemen continue dengan statemen -statemen sebagai berikut.

 

- IF-ELSE

Statemen if-else digunakan untuk mmengontrol apakah suatu blok statemen akan dieksekusi atau tidak. berikut ini adalah contoh penggunaan statemen if.

 

Pada blok kondisional if-else jika ekspresi yang diuji memfunyai nilai benar maka blok statemen pertama yang akan dieksekusi namun jika ekspresi yang diuji bernilai salah maka blok-statemen kedua yang akan dieksekusi. contoh penggunaan statemen if-else adalah sebagai berikut:

 

Pada blok kondisional if-else if-else, suatu blok statemen akan dieksekusi jika ekspresi yang diuji untuk blok;statemen tersebut memfunyai 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 an dapat diabaikan apabila tidak diperlukan. berikut ini adalah contoh penggunaan statemen if-else if-else:

 

-SELECT-CASE

Statemen kondisional select-case cocok untuk digunakan jika ekpsresi yang diuji dalam blok kondisional mempunyai nilai diskrit, baik berupa suatu data integer maupun string. pada 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 di eksekusi. 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.

 

 

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.

gambar 12.1 Editor Teks SclNotes

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 adalah ilustrasi pembuatan sebuah fungsi dalam SciNotes

 

Gambar 12.2 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 1. ( 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.

12 suku pertama deret fibonacci :

1.    1.    2.    3.    5.    8.    13.    21.    34.    55.

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 3. (deret bilangan prima)

berikut ini adalah sebuah skrip untuk membuat deret bilangan prima yang nilainya lebih kecil dari suatu bilangan bulat n.

// Deret bilangan prima yang 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.

Deret bilangan prima yang lebih kecil dari suatu bilangan bulat n

Bilangan bulat n  ?  20

Bilangan-bilangan prima tersebut yaitu:

2.    3.     5.     7.     11.    13.    17.    19.

 

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. 

Suatu fungsi adalah sekumpulan statemen yang merepresentasikan sebuah komputasi tertentu. Suatu fungsi dapat dibuat dalam bentuk sebuah file teks (file-fungsi) atau dibuat secara langsung pada jendela Scilab.

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

function [out1,  out2, ...] = func_name(in1, in2, ...)

statemen-statemen

endfunction

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 1 (Deret Pibonacci) 

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 nonlinear f(x) = 0 berikut ini adalah fungsi yang merupakan implementasi dari metode secant [metode secant]

 

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.

 contoh 4.

kemudian dipanggil fungsi secant ke dalam ruang kerja.

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.

 

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 contoh-contoh pembuatan suatu fungsi dengan menggunakan perintah deff:

 

berikut ini iustrasi pembuatan fungsi secara langsung pada jendela scilab

 

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.

Naum jika variabel n2 dipanggil maka akan muncul pesan kesalahan "undefined 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.

 

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

Formula untuk menghitung faktorial dari suatu bilangan bulat n yaitu:

factorial(n)=    

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.

 

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 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].

Anggap fungsi nonlinear yang akan dicari akarnya adalah f(x)=x-1

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.

Selanjutnya kita panggil fungsi psecant.sci ke dalam ruang kerja dan kemudian digunakan untuk mencari akar dari fungsi f(x) = x-exp(-x)

 

File-fungsi [psecant.sci] yang terdapat pada contoh merupakan modifikasi dari file-fungsi [fsecant.sci] dengan menambahkan statemen pause di dalamnya.

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 9

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 dengan menggunakan fungsi setbpt. Anggap pada fungsi fsecant kita tambahkan titik sela pada baris ke-27 dan ke-38 maka perintahnya adalah sebagai berikut.

Selanjutnya jika kita jalankan fungsi fsecant maka tampilan pada jendela Scilab adalah seperti berikut ini.

Jumlah argumen Input Dan Output

jumlah argumen infut dan outpu yang dipakai

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 head_comments("func") Dimana func adalah nama fungsi. Sebelum perintah tersebut dijalankan maka kita harus memanggil fungsinya terlebih dahulu ke dalam ruang kerja Scilab.Berikut ini adalah contoh-contoh penggunaan perintah head_co

-->head_comments("rasional")function [n,d] = rasional(x,tol) Fungsi untuk mencari hampiran bilangan rasional dari suatu bilangan real.dimana:   x : bilangan real,              tol : toleransi dalam aproksimasi bilangan rasional

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.

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.

Nilai optimum dari fungsi obyektif f(x) dapat diperoleh dengan statemen-statemen sebagaiberikut:

Input dan Output

Memasukan Data Dengan Fungsi Input

Selain melalui baris peritah, suatu data juga dapat dimasukan dengan fungsi inut dengan sintaks sebagai berikut.

x = input ("teks")

x = input ("teks", "string")

dimana teks adalah keterangan tentang data yang akan dimasukkan. jika data yang dimasukkan berpastring maka "string" harus digunakan sebagai argumen kedua pada fumgsi 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 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 ditujukkan pada beberapa contoh dibawah 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. Funngsi disp akan menampilkan nilai variabel-variabel dengan urutan yang terbalik dengan urutan daftar variabel pada argumen input.

Untuk variabel numerik, perntah disp akan menampilkan nilainya sesuai dengan format yang sedang digunakan.

 Penanda File

 Penanda file adalah angka yang digunakan oleh scilab sebagaii 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 (kerboard) 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 kedalam suatu file dengan fungsi print yang mempunyai sintak sebagai berikut:

print(nama_file, x1, x2, . . ., xn)

Dimana nama_file adalahh nama file untuk menyimpan variabel x1, x2, ..., xn. Nama file harus ditulis dengan nama direktorinya apabla 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 dugunakan.

fungsi print juga dapat digunakan untuk menampilkan nilai sebuah variabel pada jendela scilab dengan menggunakan anngka 6 atau  %io(2) sebagao argumen nama file.

print(%io(2), x1, x2, . . .,xn)

contoh penggunaan fungsi print adalah sebagai berikut.

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 selesai dipergunakan.

sebuah file dapat dibuka dengan fungsi file yang memfunyai 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 filena tidak berada pada direktori kerja dan jika berada dalam direktori kerja cukup dengan nama filenya saja.

Argumen status pada fungsi file adalah string yang menunjukan status fle 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 kedalam file adalah sebagai berikut:

 

Anggap data-data tersebut akan disimpan kedalam file data1. txt dan data2.txt, maka dibuat terlebih dahulu file-filenya dengan perintah sebagai berikut:

Nilai dari variabel FreeSoftware disimpan kedalam file data1.txt dengan perintah sebagai berikut.

Penjelasan mengenai 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 Gambar 15.3.

...

File-file telah dibuka dengan statemen file('open', ...) dapat ditutup dengan statemen file('close', fid), dimana fid adalah penanda file. Sebagai contoh, untuk menutup 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 dibawah ini.

angka 0 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 staring yang menyatakan operasi pada file. Nama file harus ditulis dengan spesifikasi lengkap apabila tidak berada pada direktori kerja namun apabila berada dalam direktori kerja cukup dengan nama filenya saja.

 

Berikut inii 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.

llustrasi penggunaan fungsi mopen dapat dilihat pada statemen-statemen berikut.

Penjelasan mengenai fungsi mfprintf akan diberikan pada subbab selanjutnya. Isi file data3.txt dari perintah diatas adalah seperti yang terlihat pada gambar 15.4.

 

           Gambar 15.4

 Sebuah file yang elah dibuka dengan fungsi mopen dapat ditutup dengan fungsi file('close',...) atau dengan fungsi mclose sebagai berikut:

mclose(fid)

dimana fid adalah penanda file yang akan ditutup. Perintah mclose('all') akan menutup semua file yang telah dibuka.

INFORMASI MENGENAI FILE-FILE YANG TELAH DIBUKA

Informasi mengenai sebuah file yang sedang dibuka dapat diketahui dengan fungso dispfiles(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 STARING DALAM FORMAT TEKS ASCII

Suatu data staring dapat disimpan ke dalam sebuah file teks dengan fungsi mput1 yang mempunyai sebagai berikut :   

 mput1(str, nama_file)

dimana str adalah nama staring yang akan ditulis dan nama_file adalah nama dari file yang digunakan untuk menyimpan staring. Penggunaan fungsi mput1 tidak memerlukan filenya untuk dibuka terlebih dahulu.

Data staring yang tersimpan suati file teks dapat dibaca dengan menggunakan fungsi mget1 yang mempunyai sintak sebagai berikut :   

 mget1(nam_file, n)

dimana nama_file adalah nama dari file dimana staring tersimpan, dan n adalah jumlah baris yang akan dibaca. Argumen n bersifat opsional jika tidak digunakan maka semua baris staring akan dibaca.

contoh penggunaan fungsi mput1 dan mget1 adalah sebagai berikut :

 

MENYIMPAN DAN MEMBACA DATA DENGAN FORMAT FORTRAN

Fungsi write adalah dapat digunakan untuk menyimpan nilai suatu variabel ke dalam sebuah file atau untuk menampilkannya pada jendela Scilab. Sintaks dari fungsi write adalah sebagai berikut :

     write (nama_file, var, fmt)

dimana nama_file adalah penanda file atau nama file, var adalah nama variabel dan fmt adalah format penulisan yang digunakan. Argumen fmt bersifat optional, apabila tidak dipergunakan maka data akan ditulis dengan format default.

Format penulisan data pada fungsi writa adalah serupa dengan format pada bahasa Fortran. Berikut ini karakter-karakter yang dapat digunakan untuk format penulisan data :

  •  /               baris baru
  • i [w]           bilangan integer dengan lebar w karakter
  • f [w.d]        bilangan desimal dengan lebar w karakter yang memiliki d digit setelah titik desimal, disarankan nilai w >= (d+3).
  • e [w.d]       bilangan desimal dengan notasi sains E, untuk menyatakan pangkat dari 10, dengan lebar w karakter yang memiliki d digit setelah titik desimal,                           disarankan  nilai w >= (d+7).
  • [n] x          spasi sebanyak
  • n.t [n]        meletakkan kursor pada posisi n.

Format bilangan integer dan desimal dapat diulangi beberapa kali dengan meletakkan jumlah perulangan di depannya. Jika terdapat beberapa format maka tanda koma digunakan sebagai pemisah antara format yang satu dengan format yang lain. Format yang berulanga dapat dibuat dengan menggunakan tanda kurung untuk melingkupi format tersebut dan dengan jumlah perulangan di depannya. 

Berikut ini beberapa contoh format penulisan data.

     '(5x,f5.2,5x,i2,f10.3)',  '(5x,2f10.2,5i5)',  '(/10x,5(f10.3,2x))'

Contoh penggunaan fungsi write untuk menuliskan data pada sebuah file adalah sebagai berikut :

Isi dari file x.dat adalah seperti pada gambar 15.5

 

Gambar 15.5

 

 

Berikut ini adalah contoh penulisan nilai variabel pada jendela Scilab dengan fungsi write.

 

Pembacaan data dari suatu file maupun dari papan ketika dengan menggunakan format Fortran dapat dilakukan dengan menggunakan fungsi read sebagai berikut :

     x = read (nama_file, m, n, fmt)

dimana nama_file adalah penanda file atau nama file data, m dan n adalah ukuran maktrik data serta fmt adalah format penulisan yang digunakan. Jika tidak diketahui jumlah baris data maka gunakan nilai m=-1. Argumen fmt bersifat opsional dan apabila digunakan maka formatnya harus sesuai dengan format yang digunakan pada waktu penulisan data.

Contoh pembacaan dari sebuab file dengan fungsi read adalah sebagai berikut.

 

Berikut ini contoh penggunaan fungsi read untuk membaca data dari papan ketik.

MENYIMPAN DAN MEMBACA DATA DENGAN FORMAT C

Fungsi mfprintf juga dapat digunakan untuk menyimpan nilai suatu variabel ke dalam sebuah file atau untuk menampilkan nilai suatu variabel pada jendela Scilab. Sintaks dari fungsi mfprintf adalah sebagai berikut :

     mfprintf(nama_file,fmt, var1, var2, ..., varn)

dimana nama_file adalah nama file data, fmt adalah format penulisan data, serta var1, var2, varn adalah nama-nama variabel yang ingin disimpan pada file data.

Format penulisan data pada fungsi mfprintf adalah serupa dengan format pada bahasa C. Berikut ini karakter-karakter yang dapat digunakan pada penulisan format data :

  • \n            baris baru
  • %[w]i      bilangan integer yang mempunyai lebar w karakter
  • %[w.d]f   bilangan dengan notasi desimal yang mempunyai lebar w karakter dan d digit setelah titik desimal, disarankan nilai w >= (d + 3)
  • %[w.d]e  bilangan dengan notasi eksponensial e, untuk menyatakan pangkat dari 10 yang mempunyai lebar w karakter dan d digit setelah titik desimal,                               disarankan nilai w >= (d + 7).
  • %[w.d]g  bilangan dengan notasi desimal atau notasi eksponensial e jika notasi desimal tidak mencukupi untuk menyatakan bilangan.
  • %s          staring
  • %c          karakter
  • \t             tabulasi

 

Pembacaan variabel-variabel yang tersimpan pada suatu file juga dapat dilakukan dengan perintah mfscanf yang mempunyai sintak sebagai berikut :

     [n, v_1, ... v_n] = mfscanf(r, nama_file, mft)

     L = mfscanf(r, nama_file, mft)

dimana r adalah jumlah berapa kali format pembacaan data digunakan, nama_file adalah nama file data, fmt adalah format pembacaan data dalam sintaks bahasa C, n menyatakan jumlah data yang dibaca atau berupa -1 jika tidak ada data yang dibaca -1 jika tidak ada data yang dibaca, v_1, ..., v_n adalah nama-nama variabel yang dibaca, serta L adalah suatu matrik untuk data yang homogen atau suatu list untuk data yang tak homogen atau suatu list untuk data yang tak homogen. Apabila argumen r tidak digunakan maka format pembacaan data hanya akan dipakai sekali. Sintaks format pembacaan data adalah sama dengan format penulisan data.

Berikut ini adalah contoh penggunaan perintah mfscanf dan mfprintf.

 

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 berikut

     fprintfMat(nfile, M, fmt, teks)

dimana nfile adalah nama file data, M adalah data matrik, fmt adalah format penulisan, teks adalah baris teks pertama yang akan dituliskan pada file data. Argumen format dan teks adalah argumen-argumen yang bersifat opsional.

Berikut ini adalah penggunaan perintah fprintfmat.

Isi dari file dataR22a.txt dan dataR22b.txt masing-masing adalah seperti yang terlihat pada gambar-gambar di bawah ini.

 gambar

Suatu data matrik yang tersimpan pada suatu file dapat dibaca dengan mfungsi fscanfMat yang mempunyai sintaks sebagai berikut ini 

     [M, teks] = fscanfMat(nama_file)

diamna nama_file adalah nama file data, M adalah data matrik, dan teks adalah staring yang terdapat pada baris pertama dari file data.

Contoh-contoh penggunaan fungsi fscanfMat adalah sebagai berikut.

gambar

 

MENYIMPAN DAN MEMBACA DATA DENGAN FORMAT BINER

Semua variabel yang terdapat pada ruang kerja dapat disimpan pada suatu file dengan format biner dengan menggunakan fungsi save,

     save("nama_file")

dimana nama_file adalah nama file data. Untuk menyimpan beberapa variabel saja, (misalkan var1, var2 dan var3) maka sintaksnya adalah 

     save("nfile", "var1", "var2", "var3").

untuk membaca semua variabel yang tersimpan dalam suatu file data yang memfinyai format biner dapat dilakukan dengan fungsi load,

     load("nama_file")

Dimana nama_file adalah nama file data. Untuk mengambil nilai dari beberapa variabel saja, misalnya variabel var1 dan var2, maka perintahnya adalah sebagai berikut.

     load("nfile", "var1", "var2").

Berikut ini contoh penggunaan perintah save dan load.

 gambar

 Terlihat bahwa perintah terakhir menghasilkan pesan kesalahan. Hal ini karena variabel yang dipanggil kembali kedalam ruang kerja pada perintah sebelumnya hanya variabek 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 dengan menu file -> save enviroment dan file -> load enfiroment.

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong