perbandingan dan logika
NAMA : MINTON ISMAIL
NIM : 411421098
KELAS : B/PENDIDIKAN MATEMATIKA
Penerapan logika dalam pemrograman komputerSeperti yang dibahas sebelumnya, logika tidak dapat dipisahkan dengan pemrogramanKomputer. Ada beberapa macam jenis logika yang diterapkan di dalam pemrogramanKomputererbandingan
OPERASI PERBANDINGAN
logika perbandingan merupakan sebuah penalaran yang digunakan untuk membandingkan dua hal yang memiliki nilai. Logika ini dapat digunakan untuk melihat apakah dua hal yang dibandingkan memiliki nilai yang sama, atau berbeda. Dengan menggunakan logika ini, kita akan dapat menalar apakah angka yang pertama memiliki nilai yang sama, lebih besar, lebih kecil, atau tidak sama dengan angka yang kedua. Jenis logika ini dapat kita gunakan untuk membuat sebuah persyaratan untuk tercapainya sebuah kondisi. Penerapan logika perbandingan dapat dilihat dari penggunaan operator perbandingan dalam pemrograman.
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.
OPERASI LOGIKA
Suatu operasi logika digunakan untuk menentukan nilai logika yang dihasilkan olehkombinasi logika atau (or), logika dan (and) dari dua obyek boolean, atau untuk melakukan operasi negasi (not) terhadap suatu obyek boolean. Operasi logika adalah operasi yang bersifat elemen-dengan-elemen. Obyek-obyek yang diuji dalam suatu operasi logika dapat berupa suatu ekspresi perbandingan maupun berupa suatu konstanta boolean. Tabel 10.2 adalah daftar dari operator-operator logika yang terdapat di dalam Scilab. Konstantakonstanta boolean yang telah terpasang di dalam Scilab dapat dilihat pada Tabel 10.3.
Berikut ini contoh operasi logika yang terdapat di dalam suatu statemen kondisional if.
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 :
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 :
PENGULANGAN DAN KONDISIONAL
- WHILE
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.
Scilab menyediakan beberapa statemen yang dapat digunakan untuk mengontrol alur eksekusi terhadap serangkaian statemen. Statemen-statemen tersebut yaitu for, while, if–else dan select–case, break dan continue.ForStatemen for digunakan untuk melakukan eksekusi secara berulang (iterasi) dalam jumlah tertentu terhadap suatu blok-statemen. Bentuk umum statemen ini adalah sebagai berikut:for var = expblok-statemenendDimana var adalah variabel perulangan dan exp adalah ekspresi yang digunakan untuk mengontrol suatu perulangan for. Ekspesi perulangan biasanya berupa sebuah vektor inkremental, j:k atau j:d:k. Contoh perulangan for yang menggunakan vektor inkremental i:j 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 Vadalah sebuah vektor atau matrik yang digunakan sebagai ekspresi perulangan maka statemen perulangannya secara umum dapat dinyatakan sebagai berikut:for var = Vblok-statemenendPada 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.
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 thenblok-statemenend
Berikut ini sebuah contoh operasi perulangan dengan statemen while.
BREAK
Statemen break digunakan untuk menghentikan suatu proses perulangan secara paksa.perulangan dimana statemen break berada.
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 adalah sebagai berikut.
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 thenblok-statemenendBlok statemen yang terletak di dalam blok if hanya akan dieksekusi jika ekspresi yang diuji bernilai benar. Kata-kunci then dalam blok kondisional if-else dapat diganti dengan ENTER, tanda koma (,) atau tanda titik-koma (;).Berikut ini adalah contoh penggunaan statemen if:
Contoh penggunaan statemen if - else adalah sebagai berikut:
Berikut ini adalah contoh penggunaan statemen if-elseif-else:
SELECT-CASE
Statemen kondisional select-case cocok untuk digunakan jika ekspresi yang diuji dalam blok kondisional mempunyai nilai diskrit, baik berupa suatu data integer maupun string. Bentuk umum dari statemen select-case adalah sebagai berikut:select ekspresicase ekspresi_1 thenblok-statemen pertamacase ekspresi_2blok-statemen kedua. . .elseblok-statemen ke-nendPada blok kondisional select-case, jika ekspresi yang diuji mempunyai nilai yang sama dengan nilai ekspresi dari suatu case maka blok-statemen pada case tersebut yang akan dieksekusi. Namun jika nilai dari ekspresi yang diuji tidak ada yang sama dengan salah satu dari nilai ekspresi pada suatu case maka blok statemen yang terdapat pada blok else yang akan dieksekusi. Blok else bersifat opsional dan dapat tidak digunakan jika tidak
diperlukan.
Berikut ini contoh penggunaan statemen select–case
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. SciNotes dapat dijalankan melalui menu Applications SciNotes yang terdapat pada jendela konsolScilab atau dengan menggunakan perintah editor atau scinotes. Gambar berikut ini adalah tampilan dari jendela editor teks SciNotes.
SciNotes menyediakan fitur-fitur menarik yang sangat berguna pada waktu pembuatan atau pengeditan suatu file skrip atau fungsi. Fitur-fitur tersebut antara lain sebagai berikut:
- Penggunaan warna-warna tertentu untuk memperjelas sintaksis suatu 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 sebuah ilustrasi pembuatan sebuah fungsi dalam SciNotes.
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
Pada dasarnya suatu file skrip dapat dibuat dengan menggunakan sembarang program editor teks, seperti notepad.
Contoh 1. (Deret Fibonacci).
Berikut ini adalah sebuah skrip [fibo.sce] untuk menentukan sejumlah 4 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 2. dieksekusi melalui menu Execute File with no Echo maka tampilan berikut ini akan muncul pada Jendela Scilab.
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 karena jika ditemukan kesalahan dalam perhitungan atau dalam penulisan statemen dalam file skrip maka perbaikan kesalahannya hanya dilakukan terhadap statemen-statemen yang salah saja. Seandainya perhitungannya dilakukan melalui jendela Scilab maka semua statemennya harus ditulis ulang kembali disertai dengan perbaikan pada statemen-statemen yang salah. Keuntungan lainnya yaitu sebuah file skrip dapat digunakan sebagai dokumentasi dari suatu perhitungan yang telah dilakukan.
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 Scilabdimana statemen-statemen tersebut harus diitulis dengan sintaks sebagai berikut.
Contoh 1. Beberapa fungsi trigonometri dengan argumen sudut dalam satuan derajat [trig_derajat.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.
Membuat Suatu Fungsi Secara Langsung pada Jendela Scilab
Selain dalam bentuk file-fungsi, sebuah fungsi juga dapat dibuat secara langsung pada jendela Scilab dengan menggunakan blok statemen function-endfunction atau dengan menggunakan fungsi deff.
Pembuatan Fungsi dengan Blok Statemen Function-Endfunction
Sintaks pembuatan suatu fungsi baru secara langsung pada jendela Scilab dengan menggunakan blok statemen function-endfunction adalah sama seperti sintaks penulisan suatu fungsi dalam sebuah file-fungsi.
Berikut ini ilustrasi pembuatan fungsi secara langsung pada jendela Scilab.
Pembuatan Fungsi dengan Fungsi Deff
Pembuatan sebuah fungsi baru secara langsung pada jendela Scilab dengan fungsi deffdapat dilakukan dengan menggunakan sintaks sebagai berikut :
Semua statemen yang terdapat di dalam blok_statemen harus ditulis diantara tanda kutip-tunggal (') atau tanda kutip-ganda (") dan untuk memisahkan statemen yang berbeda dapat digunakan tanda koma (,) atau titik-koma (;).
Berikut ini 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 mempunyai nama yang sama.
Variabel global adalah variabel yang tersimpan baik di dalam fungsi maupun di dalam ruang kerja.
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 disebut sebagai fungsi rekursif.
Berikut ini adalah implementasi statemen-statemen untuk fungsi faktorial.
Pengontrolan Eksekusi Suatu Fungsi
Misalkan dalam pencarian akar dari fungsi f(x) kita menggunakan nilai awal x1=1 dan x2=2maka perintah untuk mencari akar fungsi f(x) adalah sebagai berikut:
Menyela Eksekusi Program dan Melakukan Debugging
Pause
Statemen pause akan menyela proses eksekusi yang sedang berlangsung di dalam sebuahfungsi atau skrip. Proses eksekusi akan dihentikan pada baris dimana statemen pausetersebut diletakkan. Statemen pause biasanya digunakan untuk dalam proses debuggingterhadap suatu skrip atau fungsi. Berikut ini ilustrasi penggunaan perintah pause.
Selanjutnya kita panggil fungsi psecant.sci ke dalam ruang kerja dan kemudian digunakan untuk mencari akar dari fungsi
Ketika fungsi psecant dijalankan maka akan muncul sebuah tampilan seperti di bawah ini.
Setbpt
Berbeda dengan pause, statemen setbpt hanya dapat digunakan terhadap sebuah fungsi. Pada penggunaan statemen setbpt tidak perlukan adanya penyisipan statemen tersebut ke dalam fungsi dan dijalankan pada jendela Scilab dengan sintaks sebagai berikut:setbpt(nama-fungsi, [nomer-baris])dimana nama-fungsi adalah nama fungsi dan nomer-baris adalah nomer-nomer baris yang akan dipasang titik sela.
Contoh . Pada contoh ini fungsi [fsecant.sci] digunakan untuk menentukan akar dari f(x) = x-xp(-x)
- delbpt(fct, nmr_brs)
dimana nmr_brs adalah sebuah vektor yang menyatakan nomor baris dari titik-titk sela yang akan dihapus.
Jumlah Jumlah Argumen Input dan Output
Jumlah argumen input dan output yang dipakai pada saat menjalankan sebuah fungsi dapat diketahui dengan fungsi argn yang mempunyai sintaks sebagai berikut:[lhs,rhs] = argn() lhs = argn(1) rhs = argn(2) dimana rhs dan lhs adalah jumlah argumen input dan output yang digunakan.
Selanjutnya jika fungsi fabc dijalankan maka output yang muncul adalah sebagai berikut
Apabila jumlah argumen inputnya kurang dari yang dipersyaratkan maka fungsi yang dipanggil biasanya tidak akan dieksekusi dan kemudian ditampilkan sebuah pesan kesalahan.
Contoh. Fungsi rasional di bawah ini adalah fungsi untuk mencari hampiran bilangan rasional dari suatu bilangan real. Fungsi rasional adalah modifikasi dari fungsi rat yang telah terpasang pada Scilab.
Berikut ini adalah statemen-statemen fungsi rasional.
Menampilkan Baris Komentar yang Terdapat Pada Bagian Awal Suatu Fungsi
Pada bagian awal suatu fungsi biasanya terdapat beberapa baris komentar. Baris komentar tersebut dapat kita tampilkan dengan perintah sebagai berikuthead_comments("func")Dimana func adalah nama fungsi. Sebelum perintah tersebut dijalankan maka kita harusmemanggil fungsinya terlebih dahulu ke dalam ruang kerja Scilab.
Berikut ini adalah contoh-contoh penggunaan perintah head_comments.
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.
- 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.
Contoh. (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 contoh penggunaan metode Golden Section untuk menentukan nilai minimum dari sebuah fungsi sebagai berikut:
Nilai optimum dari fungsi obyektif f(x) dapat diperoleh dengan statemen-statemen sebagai berikut:
Dari output yang diberikan oleh fungsi golden_section diperoleh bahwa titik optimumnyaadalah X optimum = 1.587 dengan nilai minimum F minimum = 15.119.
Contoh Program MATLAB Sederhana dengan while
Buatlah program yang dapat menghitung banyaknya jumlah uang yang disimpan oleh seorang nasabah di suatu Bank dengan suku bunga majemuk 0,7% per bulan untuk jumlah tabungan Rp 1<50 juta dan suku bunga 0,85% per bulan untuk jumlah tabungan Rp 50 juta<=500 juta.
Diketahui Nanda menyimpan uang Rp 47 Juta untuk dirinya dan 1,1 Juta untuk anaknya di bank. Berapa perkiraan jumlah uang untuk 10 tahun kemudian jika diketahui biaya administrasi bulanan yaitu Rp 12.500,00 dan dengan asumsi biaya administrasi adalah tetap?
Dan untuk flowchart yaitu :
Sehingga diperoleh script file untuk program dengan algoritma di atas
Sehingga kasus di atas dapat diilustrasikan sebagai berikut :
Dapat disimpulkan tabungan pertama bertambah dan tabungankedua berkurang dengan tingkat bunga bank tahun 2017 untuk perkiraan 10 tahun kedepan.