• Tidak ada hasil yang ditemukan

Pengenalan Scilab

N/A
N/A
Protected

Academic year: 2022

Membagikan "Pengenalan Scilab"

Copied!
320
0
0

Teks penuh

(1)

Pengenalan Scilab

Perangkat Lunak Gratis untuk Komputasi Numerik dan Visualisasi Data

Saifuddin Arief

(2)

Untuk kedua anakku:

Izzuddin dan Hanif

(3)

Kata Pengantar

Scilab adalah sebuah perangkat lunak gratis yang dikembangkan untuk komputasi numerik dan visualisasi data. Scilab cocok digunakan untuk menyelesaikan suatu persoalan matematika yang sederhana maupun untuk menyelesaikan berbagai persoalan komputasi numerik yang rumit. Hal ini karena di dalamnya telah terpasang ratusan fungsi yang merupakan implementasi dari algoritma-algoritma dalam metode numerik. Selain itu Scilab juga merupakan sebuah bahasa pemrograman tingkat tinggi.

Seperti judul buku ini, obyektif dari buku ini adalah untuk memberikan penjelasan tentang dasar-dasar penggunaan Scilab serta penerapannya dalam komputasi numerik. Sebagai ilustrasi yang lebih konkrit mengenai penggunaan Scilab maka di dalam buku juga terdapat puluhan contoh perhitungan yang diambil dari berbagai macam studi kasus. Beberapa topik tingkat lanjut. seperti pengunaan fitur antar muka grafis (GUI), pengolahan sinyal, simulasi, tidak dijelaskan dalam buku ini.

Saran, masukan atau komentar tentang buku akan penulis terima dengan senang hati dan dapat disampaikan melalui email dengan alamat [email protected].

Tulisan ini dapat digunakan secara gratis untuk keperluan personal dan pendidikan. Bagi yang ingin menggunakannya untuk kepentingan komersial harap menghubungi penulis melalui alamat email di atas.

Saifuddin Arief 20 Februari 2015

(4)

Daftar Isi

Kata Pengantar iii

Daftar Isi iv

1 Pendahuluan 1

Menjalankan Program Scilab 1

Jendela-Jendela Scilab 2

Sistem Bantuan 4

2 Dasar-Dasar Penggunaan Scilab 6

Interaksi dengan Scilab 6

Scilab Sebagai Kalkulator Sains 6

Statemen 7

Baris Komentar 8

Bilangan 9

Variabel 10

Matrik 11

Tipe dan Dimensi Variabel 12

Operator 14

Fungsi 15

Format Output Numerik 18

Penulisan dan Pengeditan Perintah 20

Daftar Riwayat Perintah 21

Melihat Daftar Variabel-Variabel yang Telah Dibuat 21

Menghapus Variabel 22

Membersihkan Jendela Scilab 23

(5)

Direktori Kerja 23

3 Matematika Dasar 25

Konstanta-Konstanta Matematika 25

Operator-Operator Aritmatika 26

Variabel-Variabel Khusus untuk Aritmatika Komputer 30

Pembagian dengan Nol 32

Akar Kuadrat 33

Nilai Mutlak 35

Tanda Bilangan 36

Pembulatan 36

Aproksimasi Bilangan Real dengan Bilangan Rasional 37

Trigonometri 38

Hiperbolik 42

Eksponensial dan Logaritma 44

Faktorial 46

Bilangan Kompleks 47

4 Matrik dan Vektor 51

Definisi Matrik dan Vektor 51

Pembuatan Vektor dan Matrik Secara Manual 52

Vektor Inkremental 53

Fungsi-Fungsi untuk Membuat Suatu Vektor 54

Fungsi-Fungsi untuk Membuat Suatu Matrik 55

Konkatenasi 58

Dimensi Matrik 59

Merubah Dimensi Matrik 60

Mengekstrak Elemen-Elemen Suatu Vektor 61

(6)

Mengekstrak Elemen-Elemen Suatu Matrik 62

Merubah Nilai Elemen Suatu Vektor atau Matrik 64

Menghapus Elemen-Elemen Suatu Vektor atau Matrik 66

Mencari Elemen-Elemen Matrik atau Vektor Yang Memenuhi Kriteria Tertentu 67

Matrik Non-Numerik 69

5 Operasi Matematika terhadap Matrik dan Vektor 70

Penjumlahan dan Pengurangan 70

Perkalian dan Pembagian antara Matrik atau Vektor dengan Skalar 73

Perkalian Matrik 76

Pembagian Matrik 82

Pemangkatan 87

Matrik atau Vektor sebagai Argumen dari Suatu Fungsi Matematika 93

Nilai Maksimum dan Minimum 94

Fungsi-Fungsi Penjumlahan dan Perkalian 96

6 Aljabar Linier 101

Transpose 101

Norma Vektor 103

Norma Matrik 105

Rank Matrik 105

Determinan 106

Matrik Inverse 108

Penyelesaian Sistem Persamaan Linier 110

Nilai Eigen dan Vektor Eigen 117

7 Polinomial dan Rasional 120

Pembuatan Fungsi Polinomial 120

Derajat Polinomial 121

(7)

Koefisien Polinomial 122

Pembuatan Fungsi Rasional 122

Evaluasi terhadap Fungsi Polinomial dan Rasional 124

Penjumlahan dan Pengurangan 125

Perkalian 126

Pembilang dan Pembagi dari Fungsi Rasional 127

Hasil Bagi dan Sisa dari Suatu Pembagian Polinomial 128

Akar-Akar Polinomial 128

Faktorisasi 131

Turunan 132

Matrik Polinomial dan Matrik Rasional 135

8 String 139

Pembuatan String 139

Penggabungan String 139

Panjang String 139

Ekstraksi Karakter String 140

Mencari Posisi Suatu String pada String yang Lain 140

Memecah String 141

Substitusi String 142

Penggabungan Elemen-Elemen Suatu Matrik String 143

Konversi ke Huruf Besar dan Huruf Kecil 143

Konversi dari Karakter ke Kode ASCII atau Sebaliknya 143

Konversi dari Numerik ke String 144

Evaluasi terhadap Suatu String Ekspresi 144

Operasi Matrik terhadap Suatu Matrik String 145

9 Tanggal dan Waktu 147

(8)

Tanggal dan Waktu 147

Kalender 147

Stopwatch 148

10 Perbandingan dan Logika 150

Operasi Perbandingan 150

Operasi Logika 153

Fungsi-Fungsi Logika 156

Fungsi-Fungsi Pengujian 157

11 Perulangan dan Kondisional 161

For 161

While 164

Break 165

Continue 166

If-Else 167

Select-Case 170

12 Editor Teks SciNotes 172

13 Skrip 174

Pembuatan Skrip 174

Cara Menjalankan Suatu Skrip 175

Kelebihan dan Kelemahan Skrip 177

14 Fungsi 178

File-Fungsi 178

Penggunaan Fungsi-Fungsi yang Tersimpan pada Suatu File-Fungsi 181 Membuat Suatu Fungsi Secara Langsung pada Jendela Scilab 182

Variabel Lokal dan Variabel Global 184

Fungsi Rekursif 186

(9)

Pengontrolan Eksekusi Suatu Fungsi 187

Menyela Eksekusi Program dan Melakukan Debugging 190

Jumlah Argumen Input dan Output 194

Menampilkan Baris Komentar yang Terdapat Pada Bagian Awal Suatu Fungsi 196

Kelebihan Fungsi 197

15 Input dan Output 200

Memasukkan Data dengan Fungsi Input 200

Menampilkan Nilai Suatu Variabel dengan Fungsi Disp 200

Penanda File 201

Mencetak Nilai Variabel dengan Fungsi Print 202

Membuka dan Menutup File Data 203

Informasi Mengenai File-File yang Telah Dibuka 207

Menyimpan dan Membaca Data String dalam Format Teks ASCII 208

Menyimpan dan Membaca Data dengan Format Fortran 209

Menyimpan dan Membaca Data dengan Format C 211

Mencetak Nilai Variabel dengan Fungsi Mprintf 213

Menyimpan dan Membaca Suatu Data Matrik 213

Menyimpan dan Membaca Data dengan Format Biner 215

16 Grafik Dua Dimensi dan Tiga Dimensi 218

Membuat Grafik Dua Dimensi dengan Fungsi Plot atau Plot2d 219

Judul dan Label Grafik 221

Pembuatan Beberapa Grafik Sekaligus pada Sebuah Jendela Grafik 223

Bentuk dan Warna Garis 224

Legenda Grafik 229

Skala Sumbu-Sumbu Grafik 230

Pengaturan Sumbu-Sumbu Grafik 232

(10)

Kisi-kisi (grid) 235

Beberapa Macam Variasi dari Fungsi Plot2d 236

Grafik dari Sebuah Fungsi dengan Variabel Tunggal 238

Grafik Polar 238

Pengeditan Suatu Grafik Secara Interaktif Melalui Jendela Grafik 239 Membagi Jendela Grafik ke dalam Sejumlah Jendela Subgrafik 247 Visualisasi Data Pada Beberapa Jendela Grafik Sekaligus 249

Kurva Parametrik Tiga Dimensi 251

Membuat Grafik Tiga Dimensi dengan Fungsi Plot3d dan Plot3d1 252

Mengatur Sudut Pandang 255

Mengatur Gradasi Warna 256

Membuat Grafik Tiga Dimensi dengan Fungsi Surf 257

Grafik Tiga Dimensi Dari Suatu Fungsi 259

Menyimpan, Menyalin dan Mencetak Gambar 261

17 Metode Numerik 262

Persamaan Nonlinier 262

Regresi Linier 269

Interpolasi 272

Gradien 276

Integrasi Numerik 277

Persamaan Differensial Biasa 282

Bilangan Random dan Simulasi 292

18 Penggunaan Scilab yang Efisien 299

Menghindari Penggunaan Statemen Perulangan 299

Menggunakan Alokasi Memori Awal 304

Menghindari Fungsi Rekursif 306

(11)

Daftar Pustaka 309

(12)

Scilab adalah sebuah perangkat lunak yang dirancang dan dikembangkan untuk komputasi numerik serta untuk visualisasi data secara dua dimensi maupun tiga dimensi. Scilab juga merupakan sebuah bahasa pemrograman tingkat tinggi yang berorientasi numerik. Scilab adalah suatu interpreter sehingga suatu kode program yang dibuat dapat dieksekusi secara langsung dan dilihat hasilnya tanpa harus melalui tahapan kompilasi.

Scilab adalah sebuah freeware yang dapat digunakan secara gratis untuk keperluan pribadi maupun komersial. Scilab tersedia dalam berbagai macam sistem operasi utama, seperti Windows (XP, Vista, 7, 8), Linux, serta MacOS X.

Alamat website Scilab adalah http://www.scilab.org. Pada website tersebut kita dapat memperoleh file instalasi Scilab, source code, dokumentasi tentang Scilab, modul-modul tambahan serta berbagai informasi lainnya yang berkaitan dengan Scilab.

Menjalankan Program Scilab

Scilab dapat dijalankan melalui menu Start atau melalui jalan-pintas Scilab yang terdapat pada dekstop. Setelah Scilab dijalankan maka beberapa saat kemudian pada layar komputer akan muncul sebuah jendela Scilab seperti yang terlihat pada Gambar 1.1.

Untuk mengakhiri penggunaan Scilab dapat digunakan perintah exit, melalui menu File

Quit, atau dengan menekan tombol yang terdapat pada ujung kanan atas dari jendela Scilab.

(13)

Gambar 1.1 Scilab

Jendela-Jendela Scilab

Konsol Scilab (Scilab Console) merupakan bagian utama dari Jendela Scilab. Hampri sebagian besar interaksi antara kita dengan Scilab dilakukan melalui jendela konsol Scilab.

Konsol Scilab adalah tempat untuk memasukkan semua perintah diberikan kepada Scilab.

Selain konsol Scilab, secara bawaan Scilab juga menampilkan beberapa jendela lainnya yaitu:

Penjelajah File (file browser). Jendela ini dapat digunakan untuk memilih direktori kerja. Semua file yang ada pada direktori kerja akan ditampilkan pada jendela penjelajah file.

Penjelajah variabel (variabel browser). Jendela ini menampilkan daftar dari semua variabel yang dihasilkan oleh statemen yang dijalankan pada jendela konsol Scilab.

Riwayat perintah (command history). Jendela riwayat perintah berisi rekaman dari perintah atau statemen yang dijalankan pada jendela Scilab.

Ilustrasi mengenai jendela-jendela di atas dapat dilihat pada gambar berikut ini.

(14)

Gambar 1.2 Jendela Scilab

Selain jendela-jendela yang telah disebutkan, masih terdapat tiga jendela lagi yaitu:

 Jendela bantuan. Jendela ini yang menampilkan penjelasan mengenai suatu fungsi, operator atau perintah yang terpasang di dalam Scilab. Jendela bantuan akan muncul jika kita jalankan perintah help atau apropos.

 SciNotes. SciNotes adalah sebuah program editor teks yang disediakan oleh Scilab untuk memudahkan pembuatan atau pengembangan sebuah skrip atau fungsi.

Penjelasan lebih detail mengenai SciNotes dapat dilihat pada Bab 12: Editor Teks SciNotes.

 Jendela grafik. Jendela ini digunakan untuk melakukan visualisasi terhadap suatu data atau sebuah fungsi matematika. Jendela grafik akan muncul apabila kita menjalankan perintah-perintah yang berkaitan dengan visualisasi grafik. Penjelasan mengenai pembuatan grafik dapat dilihat pada Bab 16: Grafik Dua Dimensi dan Tiga Dimensi.

(15)

Sistem Bantuan

Jendela bantuan dapat ditampilkan dengan perintah help, melalui menu ? Scilab Help, atau dengan menekan tombol F1. Tampilan dari jendela bantuan adalah seperti pada gambar di bawah ini.

Gambar 1.3 Jendela Bantuan Scilab

Penjelasan mengenai suatu perintah, fungsi atau operator tertentu dapat kita peroleh dengan menelusuri jendela bantuan. Namun cara ini mungkin kurang praktis, untuk mendapatkan penjelasan mengenai suatu perintah, fungsi atau operator tertentu, kita dapat menggunakan perintah help("topik") atau help topik. Sebagai contoh, untuk melihat penjelasan tentang fungsi round maka perintahnya adalah help("round") atau help round. Apabila kita jalankan perintah tersebut maka akan muncul sebuah jendela seperti pada Gambar 1.4.

(16)

Gambar 1.4 Contoh penjelasan detail tentang suatu fungsi

Daftar dari semua dokumentasi yang berkaitan dengan sebuah topik atau kata tertentu dapat ditampilkan dengan dipergunakan fungsi apropos("topik") atau apropos "topik". Sebagai contoh untuk mencari dokumentasi yang berkaitan dengan kata inv perintahnya adalah apropos("inv"). Dokumentasi yang berkaitan dengan sebuah topik tertentu juga dapat dicari melalui fasilitas pencarian yang terdapat pada Jendela Bantuan melalui tab yang terdapat pada jendela bantuan.

Selanjutnya, melalui menu ? Scilab Demonstrations dapat dilihat berbagai macam demonstrasi yang memperlihatkan kemampuan Scilab dalam menyelesaikan berbagai macam persoalan komputasi numerik, simulasi serta visualisasi data. Dengan melihat berbagai macam demonstrasi yang telah disediakan oleh Scilab, kita dapat memperoleh gambaran yang lebih konkret mengenai kemampuan Scilab.

(17)

Bab 2

Dasar-Dasar Penggunaan Scilab

Interaksi dengan Scilab

Konsol Scilab adalah tempat utama untuk berinteraksi dengan program Scilab. Tanda -->

yang terdapat pada jendela tersebut adalah tempat untuk menjalankan suatu perintah atau statemen. Sebagai contoh, untuk melakukan suatu perhitungan sederhana yaitu 123 + 456 maka setelah tanda --> kita harus mengetikkan 123 + 456 dan kemudian menekan tombol Enter untuk menjalankan perintah tersebut. Hasil perhitungannya akan ditampilkan pada baris berikutnya. Setelah itu di bawahnya akan muncul lagi tanda --> yang berarti bahwa Scilab siap untuk mengerjakan suatu perintah atau perhitungan yang lain.

-->123 + 456 ans =

579.

-->

Scilab Sebagai Kalkulator Sains

Cara mudah untuk mengenal Scilab yaitu dengan menggunakannya untuk menyelesaikan suatu perhitungan matematika sederhana seperti pada contoh berikut ini.

-->14.59*(1 + 0.0043*80) ans =

19.60896

-->2/sqrt(5^2 + (16*%pi - 1/(40*%pi))^2) ans =

0.0395995

(18)

Dua contoh di atas adalah perintah Scilab untuk menyelesaikan dua perhitungan matematika sebagai berikut:

 ( )

 √ ⁄ ( )

Beberapa penjelasan mengenai statemen Scilab untuk menyelesaikan dua perhitungan tersebut adalah sebagai berikut:

 Simbol +, -, *, / dan ^ masing-masing adalah operator untuk operasi penjumlahan, pengurangan, perkalian, pembagian dan pemangkatan.

 Tanda kurung-buka dan kurung-tutup adalah sepasang operator yang digunakan untuk mengelompokkan suatu ekspresi matematika.

sqrt adalah fungsi untuk menghitung akar kuadrat dari suatu bilangan.

%pi adalah sebuah variabel khusus untuk konstanta matematika .

ans adalah sebuah variabel yang digunakan oleh Scilab untuk menyimpan hasil dari suatu perhitungan yang nilainya tidak disimpan ke dalam sebuah variabel tertentu.

Statemen

Statemen adalah suatu baris pernyataan yang dapat dieksekusi oleh Scilab. Hasil eksekusi dari statemen tersebut akan ditampilkan pada baris di bawahnya, kecuali apabila pada baris pernyataan tersebut ditambahkan tanda titik-koma (;) di belakangnya.

-->23 + 9 ans = 32.

-->FV = 500*(1 + 5/100)^4 FV =

607.75313

-->c = sqrt(8^2 + 6^2);

-->x = cos(%pi/4)^2 + sin(%pi/4)^2;

Pada contoh perhitungan di atas FV, c, x adalah variabel-variabel yang digunakan untuk menyimpan hasil perhitungan.

(19)

Nilai yang tersimpan pada suatu variabel dapat ditampilkan dengan cara mengetikkan nama variabelnya pada baris perintah.

-->c c =

10.

-->x x =

1.

Beberapa statemen dapat dimasukkan sekaligus pada satu baris perintah yang sama.

Antara statemen yang satu dengan statemen yang lainnya dapat dipisahkan dengan tanda koma (,) atau titik-koma (;). Jika digunakan tanda koma maka nilai dari hasil eksekusi statemennya akan ditampilkan pada baris berikutnya, namun jika digunakan tanda titik- koma maka nilai dari eksekusi statemennya tidak akan ditampilkan.

-->V = 120; R = 240; I = V/R, P = V*I I =

0.5 P =

60.

Untuk sebuah statemen yang relatif panjang sehingga tidak dapat dimasukkan dalam satu baris maka statemennya dapat ditulis dalam beberapa baris dengan menggunakan dua titik atau lebih (..) sebagai tanda sambung antara satu dengan baris berikutnya.

-->e5 = 1 + 1/1 + 1/(1*2) + 1/(1*2*3) + 1/(1*2*3*4) + ...

-->1/(1*2*3*4*5) e5 =

2.7166667

Baris Komentar

Baris komentar adalah suatu catatan yang dibuat untuk menjelaskan sebuah statemen atau suatu blok statemen tertentu. Baris komentar dapat ditulis sebagai suatu baris tersendiri atau ditulis di belakang suatu statemen. Tanda // adalah operator untuk membuat baris komentar.

(20)

Berikut ini adalah contoh-contoh penggunaan baris komentar.

-->d = 53; // jarak (m)

-->t = 15; // waktu tempuh (detik) -->// kecepatan rata-rata (m/detik) -->v = d/t

v =

3.5333333

Apabila variabel-variabel yang digunakan dalam suatu perhitungan sudah cukup jelas artinya seperti pada contoh di bawah ini maka baris komentar sebaiknya tidak digunakan.

-->panjang = 20;

-->lebar = 10;

-->luas = panjang*lebar luas =

200.

Bilangan

Di dalam Scilab, semua bilangan disimpan dengan menggunakan presisi ganda dengan akurasi sekitar 16 digit desimal signifikan. Suatu bilangan dapat dinyatakan dengan notasi desimal biasa atau dengan notasi saintifik. Pada notasi desimal tanda titik (.) digunakan sebagai penanda desimal. Berikut ini adalah contoh-contoh penulisan bilangan dengan notasi desimal.

777 -123 99.9998 -4.68

Pada notasi saintifik huruf e, E, d, atau D dapat digunakan untuk menyatakan pangkat dari angka 10. Beberapa contoh penulisan suatu bilangan dalam notasi saintifik adalah sebagai berikut:

3e8 2.778E-4 1.660d-27 -9.87D34

Notasi saintifik biasanya digunakan untuk menyatakan suatu bilangan yang sangat kecil atau sangat besar. Hal ini untuk menghindari terjadinya kesalahan penulisan serta lebih memudahkan pembacaan.

(21)

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

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

Sebagai contoh, untuk menyimpan hasil perhitungan ( √ ) ⁄ ke dalam variabel x, statemennya adalah sebagai berikut.

-->x = (1 + sqrt(5))/2 x =

1.618034

Apabila hasil eksekusi dari suatu statemen tidak disimpan ke dalam sebuah variabel tertentu maka hasilnya akan disimpan oleh Scilab pada variabel ans.

-->(7 - 2)*8 ans =

40.

Seperti halnya variabel lainnya, variabel ans juga dapat dipanggil atau dipergunakan dalam perhitungan selanjutnya, seperti pada contoh di bawah ini.

-->ans*10 ans =

400.

Dalam penamaan suatu variabel terdapat beberapa aturan-aturan sebagai berikut:

 Nama suatu variabel harus berupa satu kata yang utuh dan di dalamnya tidak boleh terdapat tanda spasi maupun simbol operator aritmatika (+, -, /, \, *, ^).

 Karakter pertama harus berupa abjad (A-Z dan a-z) atau simbol tertentu (%, _ , #, $, ?), kemudian karakter berikutnya dapat berupa abjad (A-Z dan a-z), angka (0-9), atau simbol (%, _, #, $, ?).

(22)

 Nama sebuah variabel dapat dibuat sepanjang mungkin namun hanya 24 karakter pertama yang akan digunakan oleh Scilab.

Berikut contoh nama variabel yang mengikuti kaidah penulisan variabel yang benar: x, Jumlah, nilai_awal, temp, x0, s100.

Dalam penamaan sebuah variabel, huruf kecil dan huruf besar adalah berbeda. Sebagai contoh, variabel r dan R merupakan dua variabel yang berbeda, begitu juga dengan total, Total dan TOTAL, dimana ketiganya merupakan variabel yang berbeda.

Hal penting lainnya yang harus diperhatikan dalam penamaan suatu variabel yaitu nama suatu variabel tidak boleh menggunakan nama-nama dari suatu fungsi atau perintah yang telah terpasang di dalam Scilab, seperti abs, input, ones, roots, sum, dan lain sebagainya.

Apabila nama sebuah fungsi atau perintah yang terpasang di dalam Scilab digunakan sebagai nama sebuah variabel maka akan muncul sebuah pesan peringatan Warning :redefining function, seperti pada contoh berikut ini.

-->sqrt = 4

Warning :redefining function: sqrt

Peringatan ini muncul karena sqrt adalah nama sebuah fungsi terpasang dalam Scilab.

Suatu fungsi atau perintah yang secara tak sengaja dipergunakan sebagai nama sebuah variabel dapat dibuat berfungsi kembali secara normal dengan menggunakan perintah clear foo, dimana foo adalah nama fungsi atau perintah yang telah terdefinisi ulang.

Sehingga untuk membuat fungsi sqrt kembali berfungsi normal maka perintahnya yaitu:

-->clear sqrt

Matrik

Matrik adalah tipe dasar dari semua data atau obyek di dalam Scilab. Matrik adalah sebuah larik data yang berbentuk segiempat. Bilangan atau skalar adalah bentuk khusus dari sebuah matrik, dimana skalar adalah matrik dengan elemen tunggal.

(23)

Berikut adalah sebuah contoh obyek matrik.

-->A = [1 2 3; 4 5 6] // numerik A =

1. 2. 3.

4. 5. 6.

Tanda kurung-siku kanan ([) dan kurung-siku kiri (]) adalah sepasang operator yang dapat digunakan untuk membuat suatu matrik atau vektor secara manual. Penjelasan terperinci tentang matrik akan diberikan pada Bab 4: Matrik dan Vektor.

Tipe dan Dimensi Variabel

Di dalam Scilab, suatu variabel dapat langsung dibuat tanpa harus ditentukan tipe dan dimensinya, seperti pada contoh di bawah ini.

-->e1000 = (1 + 1/1000)^1000 // skalar e1000 =

2.7169239

-->M = [8 1 6 3; 5 7 4 9] // matrik numerik ukuran 2 x 3 M =

8. 1. 6. 3.

5. 7. 4. 9.

Tipe dari sebuah variabel dapat kita ketahui dengan menggunakan fungsi typeof. Ukuran atau dimensi dari suatu variabel dapat kita ketahui dengan fungsi size.

-->typeof(e1000) ans =

constant

-->typeof(M) ans =

constant -->size(e1000) ans =

1. 1.

(24)

-->size(M) ans =

2. 4.

Terlihat bahwa variabel e1000 dan M mempunyai tipe yang sama yaitu constant, yang berarti kedua variabel tersebut adalah suatu obyek numerik. Ukuran dari variabel e1000 adalah 1x1, yang berarti e1000 adalah suatu skalar. Selanjutnya ukuran dari variabel M adalah 2x3, yang berarti M adalah sebuah matrik yang berukuran 2x3.

Suatu variabel yang telah dibuat dapat berubah dimensinya, tipenya atau bahkan tipe dan dimensinya sekaligus, sesuai dengan operasi yang dilakukan terhadapnya, seperti yang diilustrasikan pada contoh-contoh di bawah ini.

-->x = 9.867; // x adalah suatu skalar -->typeof(x)

ans =

constant

-->size(x) ans =

1. 1.

-->x = [10, 20; 0, 30] // x berubah menjadi suatu matrik x =

10. 20.

0. 30.

-->typeof(x) ans =

constant

-->size(x) ans =

2. 2.

-->x = "Scilab" // x berubah lagi menjadi suatu string x =

Scilab

(25)

Pada contoh ini, pertama kali variabel x adalah suatu skalar kemudian berubah ukurannya menjadi suatu matrik, kemudian variabel x berubah tipenya menjadi sebuah string.

Penjelasan terperinci mengenai obyek string akan diberikan pada Bab 8: String.

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.

Ilustrasi untuk operator-operator aritmatika telah kita lihat pada contoh-contoh yang telah diberikan. Selanjutnya, contoh-contoh di bawah ini adalah ilustrasi mengenai beberapa operator lain yang terdapat di dalam Scilab.

-->test = 1001 < 999 test =

F

-->1 + %eps/2 > 1 ans =

F

-->x = 5; (x >= 0) & (x <= 10) ans =

T

Penjelasan mengenai beberapa operator yang terdapat pada contoh-contoh di atas adalah sebagai berikut:

 Simbol <, >, ==, <=, >= masing-masing adalah operator untuk operasi perbandingan lebih-kecil, lebih-besar, sama, lebih-kecil atau sama dan lebih-besar atau sama.

 Simbol & adalah operator untuk operasi logika dan.

 Variabel khusus %eps adalah variabel khusus untuk menyatakan presisi komputer dalam operasi aritmatika.

Operator aritmatika akan dijelaskan secara terperinci pada Bab 3: Matematika Dasar dan Bab 5: Operasi Matematika Terhadap Matrik dan Vektor. Selanjutnya penjelasan mengenai

(26)

operator untuk operasi perbandingan dan operasi logika akan diberikan pada Bab 10:

Perbandingan dan Logika.

Fungsi

Fungsi adalah sebuah nama yang merepresentasikan suatu perhitungan matematika, (seperti perhitungan akar kuadrat, perhitungan sinus, pembulatan); atau sebuah operasi tertentu (seperti melihat tanggal sekarang, melihat nama direktori kerja).

Berikut ini ilustrasi dari beberapa fungsi yang telah terpasang di dalam Scilab.

-->n = exp(4) n =

54.59815 -->tan(%pi/4) ans =

1.

-->r = modulo(10,4) r =

2.

-->rand() ans =

0.2113249 -->date() ans =

06-Mar-2010

Penjelasan dari beberapa fungsi di atas adalah sebagai berikut:.

 Fungsi exp adalah fungsi untuk menghitung nilai exponensial dari suatu bilangan.

 Fungsi tan adalah fungsi untuk menghitung nilai tangen dari suatu sudut.

 Fungsi modulo adalah fungsi untuk menghitung sisa pembagian dari suatu operasi pembagian terhadap dua bilangan bulat.

 Fungsi rand adalah fungsi untuk membuat bilangan random.

 Fungsi date adalah fungsi untuk melihat tanggal sekarang.

(27)

Nama suatu fungsi juga bersifat sensitif terhadap ukuran huruf. Sebagai contoh, jika kita tuliskan fungsi sqrt dengan Sqrt atau SQRT maka akan muncul sebuah pesan kesalahan undefined variable.

-->Sqrt(100)

!--error 4 Undefined variable: Sqrt

Sebuah fungsi baru yang merepresentasikan suatu perhitungan atau operasi tertentu juga dapat kita buat di dalam Scilab. Sebagai contoh, fungsi matematika sebagai berikut:

 

x x

x

f( ) exp 

dapat dibuat dengan menggunakan statemen-statemen sebagai berikut:

-->function y = foo(x) --> y = x - exp(-x) -->endfunction

Penjelasan tentang cara pembuatan suatu fungsi akan diberikan pada Bab 14: Fungsi.

Suatu fungsi yang telah kita buat dapat dijalankan seperti halnya sebuah fungsi yang telah terpasang di dalam Scilab, seperti pada contoh di bawah ini.

-->fx = foo(1) fx =

0.6321206

Suatu fungsi dapat mempunyai argumen input dan output lebih dari satu. Untuk fungsi- fungsi tersebut, pada umumnya terdapat beberapa argumen input atau output yang bersifat opsional dan hanya perlu digunakan sesuai dengan kebutuhan.

Sebagai contoh, untuk mencari suatu bilangan rasional yang merupakan aproksimasi dari suatu bilangan real, dapat digunakan fungsi rat yang mempunyai notasi sebagai berikut:

[m, n] = rat(x, tol)

dimana x adalah suatu bilangan real, m dan n adalah bilangan bulat serta tol adalah toleransi aproksimasi. Argumen tol bersifat opsional, jika tidak dipakai maka nilai toleransi aproksimasi yang digunakan adalah 10-6. Bilangan rasional m/n adalah hampiran untuk bilangan real x yang dihasilkan oleh fungsi rat. Berikut ini adalah contoh penggunaan fungsi rat untuk mencari nilai aproksimasi dari bilangan irrasional .

(28)

-->[m, n] = rat(%pi) // argumen tol dengan nilai default n =

113.

m =

355.

-->[m, n] = rat(%pi, 1e-3) // tol = 1e-3 n =

7.

m =

22.

Pada sebuah fungsi yang mempunyai argumen output lebih dari satu, hanya argumen output pertama yang harus digunakan, argumen ouput kedua dan seterusnya dapat digunakan sesuai dengan yang kita perlukan. Sebagai contoh, akar dari suatu fungsi nonlinier dapat kita hitung dengan fungsi fsolve dengan sintaks sebagai berikut:

[x, fval, info] = fsolve(x0, fcn)

Dimana fcn adalah fungsi nonlinier yang dicari akarnya, x0 adalah nilai awal dalam perhitungan iterasi, x adalah hampiran akar dari fungsi fcn, fval adalah nilai fungsi fcn pada x (fval = fcn(x)) dan info adalah argumen output yang menyatakan kondisi iterasi perhitungan (konvergen atau divergen). Argumen fval dan info pada fungsi fsolve adalah argumen yang bersifat opsional.

Misalkan fungsi nonlinier yang akan kita cari akarnya adalah f(x)x2sin

 

x . -->function y = fx(x)

--> y = x^2 - sin(x) -->endfunction

Selanjutnya, kita dapat menjalankan fsolve untuk mencari akar dari fungsi f(x) dengan tiga macam bentuk argumen output adalah sebagai berikut:

-->x0 = fsolve(1.0, fx) // Satu argumen output x0 =

0.8767262

(29)

-->[x0, f0, iter] = fsolve(1.0, fx) // Tiga argumen output iter =

1.

f0 =

- 1.110D-16 x0 =

0.8767262

Selain fungsi-fungsi matematika standar, di dalam Scilab juga terpasang fungsi-fungsi yang merupakan implementasi dari algoritma-algoritma dalam metode numerik, seperti fsolve untuk mencari akar-akar suatu persamaan nonlinier, regress untuk perhitungan regresi linier, intg untuk melakukan integrasi numerik, dan lain sebagainya. Ilustrasi penggunaan Scilab untuk menyelesaikan berbagai persoalan dalam komputasi numerik diberikan pada Bab 17: Metode Numerik.

Format Output Numerik

Scilab akan menampilkan nilai sebuah variabel atau hasil dari suatu perhitungan sesuai dengan format yang sedang digunakan. Sebagai contoh apabila dijalankan statemen:

NA = 6.0221367e23

maka tampilan yang muncul pada jendela Scilab adalah seperti di bawah ini.

-->NA = 6.0221367e23 NA =

6.022D+23

Terlihat bahwa tampilan bilangan yang muncul adalah berbeda dengan statemen yang diketikkan dimana tidak semua digit desimal yang telah diketikkan ditampilkan.

Format output numerik pada contoh di atas adalah tampilan yang dihasilkan oleh format default untuk ouput numerik. Apabila diperlukan format output numerik dapat dirubah dengan menggunakan fungsi format. Fungsi format hanya akan berpengaruh terhadap tampilan format numerik saja dan tidak berpengaruh terhadap penyimpanan hasil perhitungannya di dalam memori komputer.

(30)

Fungsi format dapat dijalankan dengan tiga macam sintak sebagai berikut

format(fmt, n) untuk merubah tipe format dan panjang digit yang digunakan untuk menampilkan bilangan. Argumen fmt adalah tipe format, yaitu 'v' untuk format default dan 'e' untuk format saintifik, n adalah panjang digit yang digunakan untuk menampilkan bilangan (2 sampai 25 digit). Format default yang digunakan oleh Scilab yaitu format('v',10).

format(n) untuk merubah panjang digit yang digunakan untuk menampilkan bilangan menjadi n digit sedangkan tipe formatnya tetap.

v =format() untuk menampilkan format yang sedang digunakan. Output dari perintah ini adalah sebuah vektor baris v yang terdiri dari dua elemen. Elemen pertama dari vektor v adalah tipe format yaitu 0 untuk format saintifik atau 1 untuk format desimal.

Nilai elemen kedua adalah panjang digit yang digunakan.

Berikut ini adalah beberapa contoh penggunaan fungsi format. -->// Tampilan dengan format default

-->x = 1/7 x =

0.1428571 -->y = 123456789 y =

1.235D+08

-->// Tampilan dengan format desimal menggunakan 20 digit

-->format('v',20)

-->x x =

0.14285714285714285

-->y y =

123456789.

(31)

-->NA NA =

6.0221367000000D+23

-->// Tampilan dengan format saintifik menggunakan 15 digit

-->format('e',15)

-->x x =

1.42857143D-01 -->y

y =

1.23456789D+08 -->NA

NA =

6.02213670D+23

Penulisan dan Pengeditan Perintah

Misalkan kita akan melakukan sebuah perhitungan sebagai berikut:

( √ ) ⁄

Anggap perhitungan tersebut kita selesaikan dengan statemen sebagai berikut rho = (1 + sqr(5))/2

maka statement tersebut tidak dapat dieksekusi dan akan muncul sebuah pesan kesalahan, seperti di bawah ini.

-->rho = (1 + sqr(5))/2 !--error 4 undefined variable : sqr

Pesan kesalahan ini muncul karena terdapat kesalahan dalam statemen di atas yaitu fungsi sqr seharusnya ditulis sqrt.

Daripada menulis kembali seluruh statemennya, terdapat sebuah cara yang lebih mudah untuk memperbaiki kesalahan pada statemen di atas. Caranya yaitu dengan menggunakan tombol panah ke atas () untuk menampilkan kembali statemen yang telah diberikan dan menggunakan tombol panah ke kiri () untuk memindahkan kursor sehingga berada di

(32)

depan kata sqr. Setelah itu sisipkan huruf t sehingga sqr berubah menjadi sqrt. Berikut ini adalah statemen yang dihasilkan dari proses pengeditan serta hasil perhitungannya.

-->rho = (1 + sqrt(5))/2 rho =

1.618034

Pada saat penulisan atau pengeditan suatu perintah kita juga dapat menggunakan fitur tab completion. Dengan menggunakan fitur ini, pada saat pengetikan suatu perintah atau statemen apabila kita tekan tombol tab setelah kita ketikkan beberapa karakter awal dari nama suatu variabel atau fungsi maka akan muncul sebuah kotak yang berisi daftar nama- nama variabel atau fungsi yang berawalan dengan karakter yang telah kita ketikkan. Pada daftar pilihan yang muncul, pilih nama variabel atau fungsi yang kita maksud kemudian tekan enter. Berikut ini adalah ilustrasi dari fitur tab completion.

Daftar Riwayat Perintah

Perintah-perintah atau statemen-statemen yang kita jalankan pada Jendela Scilab dapat ditelusuri kembali dengan menggunakan tombol panah ke atas () dan tombol panah ke bawah (). Selain dengan menggunakan tombol-tombol panah kita juga dapat melihat statemen atau perintah yang telah diberikan pada Jendela Command History.

Melihat Daftar Variabel-Variabel yang Telah Dibuat

Semua variabel yang telah kita buat pada jendela Scilab akan disimpan dan dikelola oleh Scilab dalam ruang kerja (workspace). Selain variabel-variabel yang kita buat pada ruang kerja juga tersimpan variabel-variabel yang dibuat secara otomatis oleh Scilab. Daftar dari semua variabel yang tersimpan pada ruang kerja dapat ditampilkan pada jendela Scilab dengan menggunakan gunakan perintah who atau whos. Perintah who akan menampilkan

(33)

daftar yang berisi nama variabel saja sedangkan perintah whos akan menampilkan daftar variabel secara lengkap, yaitu nama, tipe dan ukuran variabel. Sayangnya output dari kedua perintah tersebut juga menampilkan semua variabel yang secara otomatis dijalankan oleh Scilab sehingga outputnya tidak informatif. Cara lebih praktis untuk melihat variabel yang telah dibuat adalah melaluli jendela variabel browser.

Menghapus Variabel

Semua variabel yang telah tersimpan pada ruang-kerja dapat dihapus sekaligus dengan menggunakan perintah clear. Untuk menghapus hanya beberapa variabel tertentu saja, misalkan variabel var1, var2, var3 perintahnya adalah clear var1 var2 var3.

Berikut ini adalah ilustrasi dari penggunaan perintah clear. -->h = 60;

-->L = 300;

-->w = 0.118;

-->To = (w*L^2)/(8*h) To =

22.125

-->Tmax = (w*L)/2*sqrt(1 + (L/(4*h))^2) Tmax =

28.333825

-->clear L w // menghapus variabel L dan w

-->L

!--error 4

Undefined variable: L

-->clear // menghapus semua variabel

-->Tmax

!--error 4

Undefined variable: Tmax

-->S = L*(1 + (8/3)*(h/L)^2 - (32/5)*(h/L)^4) !--error 4

Undefined variable: L

(34)

Seperti pada contoh di atas, akan muncul sebuha pesan kesalahan apabila sebuah variabel telah dihapus jika dipanggil atau digunakan kembali.

Membersihkan Jendela Scilab

Jendela Scilab dapat dibersihkan dari statemen-statemen yang telah kita berikan beserta outputnya dengan menggunakan perintah clc, melalui menu Edit  Clear Console atau dengan menggunakan tombol F2. Perintah ini hanya akan membersihkan jendela perintah saja dan tidak akan menghapus statemen-statemen yang telah diberikan dari daftar riwayat perintah.

Direktori Kerja

Direktori kerja yang sedang digunakan dapat dilihat dengan menggunakan perintah pwd. -->pwd

ans =

F:\Scilab

Cara lainnya untuk melihat direktori kerja adalah dengan menggunakan menu File  Display Current Directory.

Untuk pindah ke direktori lain sebagai direktori kerja, kita dapat menggunakan perintah cd atau chdir. Sintaks dari kedua perintah tersebut adalah sebagai berikut:

cd str atau cd('str')

chdir str atau chdir('str')

dimana str adalah direktori kerja yang akan digunakan. Misalkan kita akan menggunakan direktori "C:\Komputasi Numerik\Scilab" sebagai direktori kerja maka kita dapat melakukannya dengan menjalankan salah satu dari statemen sebagai berikut.

-->chdir('C:\Komputasi Numerik\Scilab');

-->cd 'C:\Komputasi Numerik\Scilab';

Selain dengan perintah pwd kita juga dapat melakukan perubahan direktori kerja dengan menggunakan menu File  Change Current Directory.

Perubahan direktori kerja dengan menggunakan cara-cara yang telah disebutkan hanya

(35)

bersifat sementara saja. Ketika kita menjalankan Scilab pada sesi berikutnya maka direktori kerja yang telah kita atur pada sesi sebelumnya akan hilang. Perubahan direktori kerja yang bersifat permanen dapat dilakukan dengan cara memasukkkan nama direktori yang dikehendaki pada kotak teks untuk argumen "Start in" yang terdapat di dalam form properties dari jalan-pintas (shorcut) Scilab. Form tersebut dapat ditampilkan dengan melakukan klik-kanan terhadap shorcut Scilab dan kemudian kita pilih properties.

(36)

Bab 3

Matematika Dasar

Konstanta-Konstanta Matematika

Tabel 3.1 adalah daftar dari beberapa konstanta matematika yang telah terpasang di dalam Scilab.

Tabel 3.1 Konstanta Matematika di dalam Scilab

Variabel Deskripsi

%i i = 1

%pi = 3.1415927...

%e e = 2.7182818 ...

Contoh penggunaan konstanta-konstanta matematika di atas adalah sebagai berikut.

-->sin(%pi/2) ans =

1.

-->log(%e) ans = 1.

-->%i^2 ans = - 1.

(37)

Operator-Operator Aritmatika

Simbol-simbol untuk operator aritmatika yang terdapat di dalam Scilab diperlihatkan pada Tabel 3.2. Selain simbol-simbol tersebut, terdapat simbol lain yang digunakan dalam penulisan suatu ekspresi matematika yaitu tanda kurung-buka dan kurung-tutup, ( ), yang digunakan untuk mengelompokkan suatu bagian ekspresi matematika.

Tabel 3.2 Operator Matematika

Operasi Notasi Matematika Notasi Scilab

Penjumlahan a + b a + b

Pengurangan a – b a – b

Perkalian a × b a * b

Pembagian a / b

Pemangkatan a ^ b atau a ** b

Urutan operasi aritmatika dari tingkatan yang paling tinggi ke tingkatan yang lebih rendah adalah sebagai berikut:

1. Operasi matematika yang terletak di antara tanda kurung ( ) 2. Operasi pemangkatan

3. Operasi perkalian atau pembagian 4. Operasi pejumlahan atau pengurangan.

Eksekusi terhadap suatu ekspresi matematika yang didalamnya terdapat beberapa macam operasi aritmatika dimulai dari operasi yang mempunyai tingkatan tertinggi kemudian ke operasi berikutnya yang mempunyai tingkatan operasi lebih rendah dan seterusnya sampai selesai. Apabila di dalam suatu ekspresi matematika terdapat beberapa operasi yang mempunyai tingkatan sama maka urutan eksekusinya dimulai dari sebelah kiri ke kanan.

(38)

Berikut ini ilustrasi berbagai macam perhitungan aritmatika.

-->1 + 2/(3*4) ans =

1.1666667

-->(1 - 2/(3 + 2))/(1 + 2/(3 - 2)) ans =

0.2

-->1000*(1 + 0.15/12)^60 ans =

2107.1813

Penggunaan tanda spasi dalam penulisan suatu ekspresi matematika bersifat opsional namun sebaiknya tanda spasi digunakan untuk mempermudah pembacaan dari ekspresi matematika yang dibuat.

Contoh 1. Tentukan besarnya resultan gaya yang dihasilkan oleh gaya-gaya yang bekerja pada roda-roda mobil, seperti yang ditunjukkan pada Gambar 3.1, serta posisi resultan gaya tersebut dari titik A?

Gambar 3.1

Penyelesaian. Misalkan FA, FB dan FC adalah gaya-gaya yang bekerja pada titik A, B dan C maka resultan gaya R yang dihasilkan oleh ketiga gaya tersebut adalah

R = FA + FB + FC

(39)

Misalkan d adalah letak resultan gaya dari titik A, maka d dapat dihitung dengan formula sebagai berikut:

R

x F x F x

dFA AB BC C

dimana xA, xB, xC adalah letak gaya FA, FB dan FC dari titik A.

Perhitungan resultan gaya R dan letaknya dari titik A adalah sebagai berikut:

-->FA = 20; // Gaya pada titik A (kN)

-->FB = 20; // Gaya pada titik B (kN)

-->FC = 10; // Gaya pada titik C (kN)

-->xA = 0; // Letak gaya FA (m)

-->xB = 3; // Letak gaya FB (m)

-->xC = 5; // Letak gaya FC (m)

-->R = FA + FB + FC // Resultan gaya R (kN) R =

50.

-->d = (FA*xA + FB*xB + FC*xC)/R // Letak gaya R (m) d =

2.2

Jadi resultan gaya R adalah sebesar 50 kN dan letaknya sejauh 2.2 m dari titik A.

Contoh 2. Sebuah baterei mempunyai gaya gerak listrik 12 V dan tahanan internal 0.05 .

Jika pada terminal-terminal baterei tersebut dihubungkan dengan sebuah tahanan luar sebesar 3 . Tentukan arus yang mengalir pada rangkaian tersebut dan beda tegangan yang terdapat pada terminal baterei tersebut?

Penyelesaian. Arus (I) pada rangkaian tersebut dapat dihitung dengan menggunakan formula sebagai berikut:

r I R

dimana  adalah gaya gerak listrik, r adalah tahanan internal dan R adalah tahanan luar.

(40)

Beda tegangan (V) yang terdapat di antara terminal baterei dapat dihitung dengan formula sebagai berikut:

Ir V 

Arus yang mengalir pada rangkaian dan beda tegangan yang terdapat pada terminal baterei dapat kita hitung dengan perintah-perintah sebagai berikut.

-->epsilon = 12; // gaya gerak listrik

-->r = 0.05; // tahanan internal baterei (Ohm)

-->R = 3; // tahanan luar (Ohm)

-->I = epsilon/(R + r) // arus yang mengalir pada rangkaian (Ampere) I =

3.9344262

-->V = epsilon - I*r // beda tegangan pada terminal baterei (Volt) V =

11.803279

Arus yang mengalir pada rangkaian adalah 3.9 A dan beda tegangan yang terdapat pada terminal baterei yaitu 11.8 V.

Contoh 3. Sebuah bahan radioaktif mempunyai waktu paruh 150 hari. Apabila hari ini massa radioaktif tersebut adalah 10 gram, berapakah jumlah massa radioaktif yang tertinggal setelah 300 hari ?

Penyelesaian. Peluruhan suatu bahan radioaktif dapat dihitung dengan sebagai berikut:

( )

dimana m adalah massa bahan radioaktif yang tertinggal, mo adalah massa awal bahan radioaktif, t adalah waktu peluruhan, serta h adalah waktu paruh.

Perhitungan massa radioaktif yang tertinggal adalah sebagai berikut.

-->massa_awal = 10;

-->waktu_paruh = 150;

(41)

-->waktu = 300;

-->massa_tersisa = massa_awal * (1/2)^(waktu/waktu_paruh) massa_tersisa =

2.5

Sehingga setelah 300 hari, bahan radioaktif yang tertinggal yaitu sejumlah 2.5 gram.

Variabel-Variabel Khusus untuk Aritmatika Komputer

Di dalam Scilab, terdapat beberapa variabel khusus yang berkaitan dengan operasi aritmatika dengan komputer. Variabel-variabel khusus tersebut yaitu %eps, %inf dan %nan. Deskripsi singkat mengenai ketiga variabel tersebut dapat dilihat pada Tabel 3.3.

Tabel 3.3 Daftar Beberapa Konstanta Aritmatika Komputer

Variabel Deskripsi

%eps Presisi komputer

%nan Bukan sebuah bilangan (not a number)

%inf Takhingga (∞, infinity)

Variabel %eps merupakan variabel khusus yang menyatakan presisi komputer. Nilai dari variabel ini adalah nilai terkecil yang dapat ditambahkan pada suatu bilangan sehingga menghasilkan suatu nilai yang berbeda dengan nilai dari bilangan tersebut. Nilai variabel

%eps akan tergantung pada jenis komputer. Untuk komputer yang mendukung sistem 64 bit IEEE, nilai variabel %eps kira-kira adalah 2.220  10-16.

Berikut ini beberapa contoh ilustrasi mengenai variabel %eps. -->%eps

%eps =

2.220D-16 -->format(20)

(42)

-->1 + %eps ans =

1.00000000000000022 -->1 + %eps/2

ans =

1.

Variabel %inf merupakan suatu variabel yang digunakan untuk menyatakan operasi pembagian suatu bilangan real, (selain bilangan nol), dengan bilangan nol.

-->ieee(2) -->9.99/0

ans = Inf -->-345/0 ans =

-Inf

Fungsi ieee yang terdapat pada contoh ini digunakan untuk mengontrol suatu perkecualian yang terjadi dalam sebuah operasi aritmatika. Penjelasan mengenai fungsi ini akan diberikan pada subbab berikutnya tentang pembagian dengan nol.

Variabel %inf digunakan untuk merepresentasikan suatu bilangan yang nilainya diluar jangkauan bilangan yang dapat disimpan oleh Scilab. Jika suatu bilangan mempunyai nilai yang lebih besar dari 10308 maka nilainya akan dinyatakan dengan simbol %inf namun jika nilainya lebih kecil dari -10308 maka nilainya akan dinyatakan dengan simbol -%inf.

-->2^1023 ans =

8.98D+307

-->2^1024 ans =

Inf

(43)

-->-2^1024 ans =

- Inf

Variabel %nan adalah variabel yang digunakan untuk menyatakan suatu operasi matematika yang tidak didefinisikan, seperti 0/0, ∞ - ∞, ∞/∞

-->0/0 ans =

Nan

Pembagian dengan Nol

Terdapat suatu perkecualian dalam suatu operasi pembagian yaitu pembagi nilainya tidak boleh sama dengan nol. Jika hal ini terjadi maka Scilab secara default akan menampilkan suatu pesan kesalahan, seperti yang terlihat pada contoh di bawah ini.

-->99/0

!--error 27 division by zero...

Fungsi ieee dapat digunakan untuk mengontrol perkecualian yang mungkin terjadi pada suatu operasi aritmatika. Fungsi ieee mempunyai sintaks sebagai berikut:

ieee(m)

dimana m adalah mode untuk menangani operasi perkecualian yang terdapat di dalam suatu ekpresi aritmatika. Terdapat tiga pilihan untuk argumen mode dalam fungsi ieee yaitu 0, 1, dan 2. Dekripsi untuk ketiga mode tersebut adalah sebagai berikut:

Mode 0 (mode default), jika terdapat suatu operasi pembagian dengan bilangan nol maka akan muncul sebuah pesan error.

 Mode 1, jika terdapat suatu operasi pembagian dengan bilangan nol maka akan muncul suatu pesan peringatan yang disertainya dengan hasil perhitungannya yang berupa Inf atau Nan sesuai dengan operasi aritmatikanya.

 Mode 2, jika terdapat suatu operasi pembagian dengan bilangan nol maka hasil perhitungannya berupa Inf atau Nan sesuai dengan operasi aritmatikanya tanpa disertai suatu pesan peringatan.

(44)

Berikut ini beberapa contoh perhitungan sebagai ilustrasi untuk fungsi ieee. -->ieee(1)

-->99/0

Warning :division by zero...

ans = Inf -->0/0

Warning :division by zero...

ans = Nan -->ieee(2) -->99/0 ans = Inf -->0/0 ans = Nan

Apabila fungsi ieee() dijalankan tanpa menggunakan argumen maka fungsi tersebut akan menampilkan mode ieee yang sedang dipergunakan.

Akar Kuadrat

Fungsi sqrt adalah fungsi untuk menghitung akar kuadrat dari suatu bilangan real (termasuk bilangan negatif) maupun akar kuadrat dari suatu bilangan kompleks.

Contoh 4. Sebuah mobil bergerak dari keadaan diam dengan percepatan konstan 5 m/det2. Tentukan kecepatan mobil tersebut setelah menempuh jarak sejauh 40 m?

Penyelesaian. Kecepatan mobil dapat dihitung dengan rumus sebagai berikut:

(45)

dimana v0 adalah kecepatan awal, a adalah percepatan dan d jarak yang ditempuh.

Berikut ini statemen-statemen Scilab untuk menentukan kecepatan mobil.

-->v0 = 0; // kecepatan awal [m/s];

-->a = 5; // percepatan mobil [m/det^2]

-->d = 40; // jarak tempuh [m]

-->v = sqrt(v0 + 2*a*d) // kecepatan mobil [m/s]

v =

20.

Jadi kecepatan mobil adalah 20 m/det.

Contoh 5. Tentukan akar-akar dari persamaan kuadrat x2 + x + 1 = 0.

Penyelesaian. Akar-akar dari sebuah persamaan kuadrat ax2 + bx + c = 0 dapat dihitung dengan menggunakan formula sebagai berikut :

,

Perhitungan akar-akar dari persamaan adalah sebagai berikut:

-->a = 1; b = 1; c = 1; // koefisien persamaan kuadrat

-->D = b^2 - 4*a*c; // diskriminan -->r1 = (-b + sqrt(D))/(2*a) // akar pertama r1 =

- 0.5 + 0.8660254i

-->r2 = (-b - sqrt(D))/(2*a) // akar kedua r2 =

- 0.5 - 0.8660254i

Jawaban yang diperoleh yaitu akar-akar dari persamaan kuadrat x2 + x + 1 = 0 adalah -0.5 + 0.866i dan -0.5 - 0.866i.

(46)

Nilai Mutlak

Fungsi abs adalah fungsi untuk menghitung nilai mutlak dari suatu bilangan real atau nilai modulus dari suatu bilangan kompleks. Berikut ini contoh penggunaan fungsi abs.

-->abs(-28.9) ans = 28.9

-->abs(3 - 4*%i) ans =

5.

Contoh 6. Tentukan jarak terdekat antara titik (1, -4, -3) dengan sebuah bidang planar 2x – 3y + 6z = -1.

Penyelesaian. Jarak terdekat antara suatu titik P(x0, y0, z0) dengan sebuah bidang planar ax + by + cz + d = 0 dapat dihitung dengan rumus sebagai berikut

| |

Dengan menggunakan rumus ini, jarak antara titik P dengan bidang planar dapat dihitung dengan statemen-statemen sebagai berikut:

-->a = 2; b = -3; c = 6; d = 1; // normal bidang

-->x0 = 1; y0 = -4; z0 = -3; // Titik P0

-->D = abs(a*x0 + b*y0 + c*z0 + d)/sqrt(a^2 + b^2 + c^2) D =

0.4285714

Jawaban yang diperoleh yaitu jarak terdekat antara titik (1, -4, -3) dengan bidang planar 2x – 3y + 6z = -1 adalah 0.429.

(47)

Tanda Bilangan

Tanda suatu bilangan dapat diketahui dengan fungsi sign yang mempunyai definisi sebagai berikut:

 



0 jika

, 1

0 jika

, 0

0 jika

, 1

x x x x

sign

Contoh-contoh penggunaan fungsi sign adalah sebagai berikut.

-->sign(56.78) ans =

1.

-->sign(-28.9) ans =

- 1.

Pembulatan

Scilab menyediakan beberapa macam fungsi untuk melakukan operasi pembulatan, seperti yang terlihat pada Tabel 3.4.

Tabel 3.4 Fungsi-Fungsi Pembulatan

Fungsi Deskripsi

round Pembulatan

ceil Pembulatan ke atas floor Pembulatan ke bawah fix atau int Pembulatan ke arah nol

clean Pembulatan nilai yang sangat kecil menjadi nol

(48)

Contoh-contoh penggunaan fungsi pembulatan adalah sebagai berikut:

-->round(5.67) ans =

6.

-->ceil(2.34) ans =

3.

-->floor(5.67) ans =

5.

-->int(-123.45) ans =

- 123.

Fungsi clean(x, tol) akan membulatkan nilai dari suatu variabel x menjadi angka nol apabila nilai absolutnya lebih kecil daripada suatu nilai toleransi tol. Argumen tol adalah argumen yang bersifat opsional dengan nilai default 10-10.

-->x = cos(%pi/2) x =

6.123D-17

-->x = clean(x) x =

0.

Aproksimasi Bilangan Real dengan Bilangan Rasional

Suatu bilangan real x dapat diaproksimasi nilainya dengan suatu bilangan rasional m/n melalui fungsi rat sebagai berikut:

[m,n] = rat(x, )

dimana  adalah toleransi aproksimasi. Apabila argumen  tidak dipergunakan maka nilai toleransi aproksimasi yang digunakan adalah 10-6.

(49)

Ilustrasi penggunaan fungsi rat adalah sebagai berikut:

-->[n,d] = rat(1.25) d =

4.

n = 5.

-->[m,n] = rat(%pi,0.001) n =

7.

m =

22.

Contoh yang terakhir ini adalah salah satu pendekatan nilai  yang populer.

Trigonometri

Daftar dari fungsi-fungsi trigonometri dan inverse trigonometri yang terdapat di dalam Scilab diberikan pada Tabel 3.5. Sebagian besar fungsi trigonometri dan inverse trigonometri hanya membutuhkan argumen input tunggal, kecuali fungsi atan dan atand. Terdapat dua macam sintaks untuk kedua fungsi tersebut, yaitu sintak dengan argumen input tunggal (atan(n) dan atand(n)), serta sintak lainnya dengan dua argumen input (atan(y,x) dan atand(y,x)).

Fungsi atan(n) dan atand(n) menggunakan dua kuadran dalam perhitungan nilai inverse tangen. Output dari fungsi atan(n) dan atand(n) masing-masing berada dalam interval sudut [-½, ½] radian dan [-90, 90] derajat. Fungsi atan(y,x) dan atand(y,x) menggunakan empat kuadran dalam perhitungan nilai inverse tangen. Output dari fungsi atan(y,x) dan atand(y,x) masing-masing berada dalam interval sudut [-, ] radian dan [-180, 180] derajat.

Referensi

Dokumen terkait