PERBANDINGAN DAN LOGIKA DALAM SCILAB
- NAMA : RAHMAWATI N. AHMAD
PRODI/KELAS: PENDIDIKAN MATEMATIKA/B
PERBANDINGAN DAN LOGIKA DALAM SCILAB
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 mengontrolproses iterasi dalam suatu statemen perulangan while.
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 benar (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.
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.
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 :
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-statemenakan
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(;).
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-else
Statemen if–else digunakan untuk mengontrol apakah suatu blok statemen akan dieksekusi atautidak. 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 bernilaibenar. 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 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.
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-n
end
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.
Contoh lain penggunaan statemen select-case adalah sebagai berikut.
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
Gabar Editor Scnotes
BAB13
SKRIP
Skrip adalah sebuah file teks yang di dalamnya terdapat statemen-statemen Scilab.
Pembuatan Scilab
Cara Mejalankan
BAB 14
FUNGSI
Suatu fungsi adalah sekumpulan statemen yang merepresentasikan sebuah komputasi tertentu.Pada sebuah file-fungsi di dalamnya dapat terdiri dari sebuah fungsi saja maupun beberapa fungsi seperti yang ditunjukkan pada contoh-contoh di bawah ini.
Membuat suatufungsi secaralangsung
variabel lokal dan global
BAB 15
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 literasi ?")
s = input("Metode ?","s")
Apabila kedua perintah tersebut dijalankan maka akan muncul tampilan sebagai berikut:
Jumlah literasi?
Metode?
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 dibawah ini.
Fungsi disp juga dapat digunakan untuk menampilkan nilai dari bebrapa 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.
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.
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)
Fungsi print juga dapat digunakan untuk menampilkan nilai sebuah variabel pada jendela scilab dengan menggunakan angka 6 atau %io(2) sebagai argumen nama file.
print(%io(2), x1, x2, ..., xn)
contoh penggunaan fungsi print adalah sebagai berikut:
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:
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 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 diguunakan secara sementara dan akan dihapus pada akhir sesi scilab
Misalkan data-data yang akan disimpan ke dalam file adalah sebagai berikut:
Informasi Mengenai File-File yang telah Dibuka
Informasi mengenai sebuah file yang sedang di buka dapat diketahui dengan fungsi dispfiles(fid), dimana fid adalah penanda file. Jika fungsi dispfiles dijalankan tanpa argumen maka ditampilkan informasi dari semua file yang sedang dibuka.
Menyimpan dan Membaca Data String dalam Format Teks ASCII
Suatu data string dapat disimpan ke dalam sebuah file teks dengan fungsi mput1 yang mempunyai sebagai berikut:
mput1(str, nama_file)
dimana str adalah nama string yang akan ditulis dan nama_file adalah nama dari file yang digunakan untuk menyimpan string.
Data string yang tersimpan suatu file teks dapat dibaca dengan menggunakan fungsi mget1 yang mempunyai sintak sebagai berikut:
mget1(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.
Contoh penggunaan fungsi mput1 dan mget1 adalah sebagai berikut:
Menyimpan dan Membaca Data dengan Format Fortran
Fungsi write 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.
Contoh penggunaan fungsi write untuk menuliskan data pada sebuah file adalah sebagai berikut:
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 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.
Pembacaan variabel-variabel yang tersimpan pada suatu file juga dapat dilakukan dengan perintah mfscanf yang mempunyai sintak sebagai berikut:
[n, v_1, ... v_n] = mfscan(r, nama_file, fmt)
L = mfscanf(r, nama_file, fmt)
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, v_1, ... v_n adalah nama-nama variabel yang dibaca, serta L adalah suatu matrik untuk data yang homogen atau suatu data yang tak homogen.
Berikut ini adalah contoh penggunaan perintah mfscanf dan mfprintf.
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 mprintf adalah sebagai berikut
mprintf(fmt, var1, var2, ..., varn)
dimana fmt adalah format penulisan yang serupa dengan format bahasa C, serta var1, var2, vrn 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 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.
TUGAS CONTOH PERMASALAHAN
Ibu susi membeli 4 rak telur dengan harga Rp21.000,00/rak dan setiap rak berisi 30 butir telur. Kemudian, ibu susi menjual kembali telur tersebut dan mendapat keuntungan sebesar Rp500,00/butir telur. Berapakah harga jual telur seluruhnya?