PERBANDINGAN DAN LOGIKA DALAM SCILAB
PERBANDINGAN DAN LOGIKA DALAM SCILAB
NAMA : TRIA MEYLITA LOMAMAY
KELAS : PENDIDIKAN MATEMATIKA B
NIM : 411421007
A. Operasi Perbandingan
Nilai dari dua obyek dapat dibandingkan dengan menggunakan operator-operator sepertiyang terdapat pada tabel di bawah ini.
Tabel Operator-Operator Perbandingan
Operator | Deskripsi |
== | sama dengan |
< | lebih kecil dari |
<= | lebih kecil atau sama dengan |
> | lebih besar dari |
>= | lebih besar atau sama dengan |
<> atau ~= | tidak sama dengan |
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 suatustatemen kondisionalif-elseatau sebagai ekspresi yang digunakan untuk mengontrol proses iterasi 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 dilihta pada contoh di bawah ini.
B. Operasi Logika
Suatu operasi logika digunakan untuk 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 bersifat elemen dengan elemen. Obyek-obyek yang diuji dalam suatu operasi lagika dapat berupa suatu ekspresi perbandingan maupun berupa suatu konstanta Boolean. Tabel dibawah ini adalah daftar dari operator-operator logika yang terdapat di dalam scilab. Konstanta-konstanta Boolean yang terpasang di dalam Scilab dapat dilihat pada tabel berikutnya.
Operator-Operator Logika
Operator | Deskripsi |
& | dan (and) |
| | atau(or) |
~ | negasi atau bukan(not) |
Konstanta-Konstanta Boolean
Variabel | Deskripsi |
%t | konstanta boolean untuk benar (true) |
%f | konstanta boolean untuk salah (false) |
Berikut ini beberapa contoh operasi logika
Suatu operasi logika seringkali digunakan sebagai ekspresi yang diuji dalam suatustatemen kondisionalif-elseatau sebagai ekspresi yang digunakan untuk mengontrolproses iterasi dalam suatu statemen perulangan while.
Berikut ini contoh operasi logika yang terdapat di dalam suatu statemen kondisional if.
Contoh ini adalah perhitungan untuk menentukan bilangan prima yang nilainya lebih kecil dari 25.
Contoh suatu operasi logika yang terdapat di dalam suatu statemen perulangan while adalah sebagai berikut.
Suatu operasi logika juga dapat diterapkan terhadap obyek-obyek numerik. Pada kasus ini, angka nol akan diangkap sebagai kosntanta boolean salah (F) dan sembarang angka lainnya selain angka nol akan dianggap sebagai konstanta boolean benar (T). Berikut ini contoh operasi logika terhadap obyek-obyek 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 matrik/vektor boolean.
And
Fungsi and adalah fungsi untuk operasi logika dan. Berikut ini sintak sari fungsi and:
B = and(A) atau B = and(A, ‘*’)
B = and(A,1) atau B = and(A,’r’)
B = and(A,2) atau B = and(A,’c’)
Dimana A adalah suatu matriks boolean. Output dari fungsi and adalah konstanta boolean T jika semua elemen matrik yang diuji mempunyai nilai benar dan konstanta boolean F jika terdapat sebuah elemen matrik yang diuji yang mempunyai nilai salah.
Deskripsi ketiga macam sintaks dari fungsi logika and adalah sebagai berikut:
· 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.
Berikut ini contoh penggunaan fungsi and.
Or
Fungsi or adalah fungsi untuk logika atau. Sintak dari fungsi or adalah sebagai berikut:
B = or(A) atau B = or(A,’*’)
B = or(A,1) atau B = or(A,’r’)
B = or(A,2) atau B = or(A,’c’)
Dimana A adalah suatu matrik boolean. Output dari fungsi or adalah konstanta boolean T jika terdapat sebuah elemen matrik yang diuji mempunyai nilai benar dan konstanta boolean F jika semua elemen matrik yang diuji yang mempunyai nilai salah.
Deskripsi ketiga macam sintaks dari fungsi logika or adalah sebagai berikut:
· 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 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
Tabel 10.4 adalah daftar dari beberapa fungsi yang dapat digunakan untuk berbagai macam operasi seperti memeriksa eksistensi sebuah variabel, menguji tipe dan nilai dari elemen-elemen matrik dan lain sebagainya. Output yang dihasilkan oleh fungsi-fungsi tersebut adalah konstanta boolean T (true, benar) atau konstanta boolean F (false, salah) tergantung pada hasil pengujiannya.
Tabel 10.4 Fungsi-Fungsi Pengujian
Fungsi | Deskripsi |
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 tak hingga |
isnan(x) | untuk memeriksa apakah elemen-elemen matrik x merupakan konstanta tak hingga |
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 |
Berikut ini ilustrasi penggunaan dari fungsi-fungsi pengujian
Informasi yang dihasilkan oleh suatu fungsi pengujian kadangkala diperlukan sebagai kondisi yang diuji di dalam sebuah statemen kondisional, seperti yang ditunjukkan pada contoh di bawah ini.
Fungsi my_abs pada contoh ini adalah emulasi dari fungsi abs yang telah terpasang di dalam Scilab.
BAB 11
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.
For
Statemen 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-statemen
end
Dimana 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 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 :
Selain berupa suatu vektor inkremental, ekspresi yang digunakan untuk mengontrol suatu perulangan for juga dapat berupa sebuah vektor atau matrik sembarang. Misalkan V adalah sebuah vektor atau matrik yang digunakan sebagai ekspresi perulangan maka statemen perulangannya secara umum dapat dinyatakan sebagai berikut:
for var = V
blok-statemen
end
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 pada sebagian besar contoh-contoh yang telah diberikan hanya sebagai ilustrasi saja untuk memperjelas penggunaan statemen for. Pada beberapa contoh di atas, statemen for dapat diganti dengan statemen lain yang bebasis vektor.
Penggunaan statemen for sebaliknya hanya digunakan ketika statemen yang berbasis vektor sulit atau tidak dapat digunakan, seperti pada perhitungan dibawah 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-statemen
end
Blok statemen yang terdapat di dalam sebuah blok pengulangan 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.
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[1]statemen sebagai berikut
Seperti yang terlihat pada contoh ini, blok statemen yang tidak menggunakan statemen continue lebih ringkas dan lebih mudah dibaca daripada blok statemen yang menggunakan statemen continue.
If-else
Statemen 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-statemen
End
Blok 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:
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 pertama
Else
Blok-statemen kedua
End
Pada blok kondisional if-else jika ekspresi yang diuji mempunyai nilai benar maka blok[1]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:
-
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 pertama
elseif ekspresi_2 then
blok-statemen kedua
. . .
else
blok-statemen ke-n
end
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.
Berikut ini adalah 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 diskrit, baik berupa suatu data integer maupun string. Bentuk umum dari statemen select-case adalah sebagai berikut:
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 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[1]elseif-else. Hal ini karena blok statemen kondisional yang dibuat dengan statemen select-case lebih mudah untuk dibaca dan mempunyai bentuk yang lebih elegan.
BAB 12
Editor Teks SciNotes
SciNotes adalah sebuah program editor teks yang disediakan oleh Scilab untuk memudahkan pembuatan atau pengembangan sebuah file skrip atau fungsi.
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 13
Skrip
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.
Pembuatan Skrip
Sebuah skrip yang telah selesai dibuat dengan teks editor SciNotes dapat disimpan dengan menggunakan menu File --> Save. Meskipun dapat digunakan sembarang ektensi, namum sebuah file skrip sebaiknya disimpan dengan ekstensi sce
Cara Menjalankan Suatu Skrip
.
BAB 14
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.
File-Fungsi
File-fungsi adalah sebuah file teks yang di dalamnya terdapat statemen-statemen Scilab dimana statemen-statemen tersebut harus diitulis dengan sintaks
beberapa fungsi seperti yang ditunjukkan pada contoh-contoh di bawah ini.
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].
Pembuatan Fungsi dengan Blok Statemen Function-Endfunction
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
Ilustrasi mengenai variabel lokal dapat dilihat pada contoh di bawah ini.
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:
.
BAB 15
INPUT DAN OUTPUT
Memasukkan data dengan fungsi input
selain melalui baris perimtah, suatu data juga dapat dimasukkan dengan fumgsi input dengan sintaks sebagai berikut.
x = input("teks")
x = input("teks", "string")
dimana teks adalah keterangan tentang data yang akan dimasukkan. Jika data yang akan dimasukkan berupa string maka "string" harus digunakan sebagai argumen kedua pada fungsi input. Argumen "string" dapat disingkat dengan karakter tunggal "s".
Menampilkan nilai suatu variabel dengan fungsi disp
Selain dengan cara menuliskan nama variabelnya pada baris perntah, nilai dari suatu variabel var juga dapat ditampilkan pada jendela scilab dengan fungsi disp(var), seperti yang ditunjukkan pada beberapa contoh di bawah ini.
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 khusu %io.
Mencetak nilai variabel dengan fungsi print
fungsi print juga dapat digunakan untuk menampilkan nilai sebuah variabel pada jendela Scilab dengan menggunakan angka 6 atau %io(2) sebagai argumen nam file.
print(%io(2), x1, x2, ...., xn)
contoh penggunaan fungsi print adalah sebagai berikut.
Membuka dan menutup file data
Misalkan data-data yang akan disimpan ke dalam file adalah sebagai berikut:
Menyimpan dan membaca data dengan format fortran
berikut ini adalah contoh penulisan nilai variabel pada jendela scilab dengan fungsi write
contoh pembacaan dari sebuah file dengan fungsi read adalah sebagai berikut.
Berikut ini contoh penggunaan fungsi read untuk membaca data dari papan ketik
Menyimpan dan membaca data dengan fomat C
Berikut ini adalah contoh penggunaan perintah mfscanf dan mfprintf
Mencetak nilai variabel dengan fungsi Mprintf
berikut ini contoh penggunaan fungsi mprintf
Menyimpan dan membaca suatu data matrik
Berikut ini contoh penggunaan perintah fprintfmat
TUGAS CONTOH PERMASALAHAN
Riski seorang pedagang yang menjual sepatu di Pasar. Dalam satu hari kira-kira dapat bertemu dengan 35 orang yang berbeda. Dari semua orang yang ditemui, jumlah orang yang membeli sepatu adalah sekitar 15 orang dengan harga Rp. 85.000.