Pengenalan Scilab: Perangkat Lunak Gratis untuk Komputasi Numerik dan Visualisasi Data

Embed Size (px)

DESCRIPTION

Sebuah buku yang memberikan penjelasan tentang dasar-dasar penggunaan Scilab serta penerapannya dalam komputasi numerik.

Citation preview

  • Pengenalan Scilab Perangkat Lunak Gratis untuk Komputasi Numerik dan Visualisasi Data

    Saifuddin Arief

  • ii

    Untuk kedua anakku:

    Izzuddin dan Hanif

  • iii

    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

  • iv

    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

  • v

    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

  • vi

    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

  • vii

    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

  • viii

    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

  • ix

    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

  • x

    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

  • xi

    Daftar Pustaka 309

  • Bab 1

    Pendahuluan

    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.

  • Pendahuluan - 2

    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.

  • Pendahuluan - 3

    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.

  • Pendahuluan - 4

    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.

  • Pendahuluan - 5

    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.

  • 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

  • Dasar-Dasar Penggunaan Scilab - 7

    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.

  • Dasar-Dasar Penggunaan Scilab - 8

    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.

  • Dasar-Dasar Penggunaan Scilab - 9

    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.

  • Dasar-Dasar Penggunaan Scilab - 10

    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 (%, _, #, $, ?).

  • Dasar-Dasar Penggunaan Scilab - 11

    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.

  • Dasar-Dasar Penggunaan Scilab - 12

    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.

  • Dasar-Dasar Penggunaan Scilab - 13

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

  • Dasar-Dasar Penggunaan Scilab - 14

    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

  • Dasar-Dasar Penggunaan Scilab - 15

    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.

  • Dasar-Dasar Penggunaan Scilab - 16

    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:

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

  • Dasar-Dasar Penggunaan Scilab - 17

    -->[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 xxxf sin)( 2 .

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

  • Dasar-Dasar Penggunaan Scilab - 18

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

  • Dasar-Dasar Penggunaan Scilab - 19

    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.

  • Dasar-Dasar Penggunaan Scilab - 20

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

  • Dasar-Dasar Penggunaan Scilab - 21

    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

  • Dasar-Dasar Penggunaan Scilab - 22

    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

  • Dasar-Dasar Penggunaan Scilab - 23

    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

  • Dasar-Dasar Penggunaan Scilab - 24

    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.

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

  • Matematika Dasar - 26

    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.

  • Matematika Dasar - 27

    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

  • Matematika Dasar - 28

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

    sebagai berikut:

    R

    xFxFxFd CCBBAA

    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:

    rRI

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

  • Matematika Dasar - 29

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

    sebagai berikut:

    IrV

    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;

  • Matematika Dasar - 30

    -->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)

  • Matematika Dasar - 31

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

  • Matematika Dasar - 32

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

  • Matematika Dasar - 33

    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:

  • Matematika Dasar - 34

    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.

  • Matematika Dasar - 35

    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.

  • Matematika Dasar - 36

    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

    xsign

    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

  • Matematika Dasar - 37

    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.

  • Matematika Dasar - 38

    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.

  • Matematika Dasar - 39

    Tabel 3.5 Fungsi-Fungsi Trigonometri

    Fungsi Deskripsi

    sin Sinus (radian)

    sind Sinus (derajat)

    cos Cosinus (radian)

    cosd Cosinus (derajat)

    tan Tangen (radian)

    tand Tangen (derajat)

    cotg Cotangen (radian)

    asin Inverse sinus (radian)

    asind Inverse sinus (derajat)

    acos Inverse cosinus (radian)

    acosd Inverse cosinus (derajat)

    atan Inverse tangen (radian)

    atand Inverse tangen (derajat)

    Contoh-contoh penggunaan fungsi-fungsi trigonometri adalah sebagai berikut:

    -->sin(%pi/3) ans = 0.8660254 -->cosd(45) ans = 0.7071068 -->tan(%pi/4) ans = 1.

    Berikut ini adalah beberapa contoh pengunaan fungsi-fungsi inverse trigonometri.

    -->acosd(0.5*sqrt(2)) ans = 45.

  • Matematika Dasar - 40

    -->4*atan(1) ans = 3.1415927 -->atan(-1,1) ans = - 0.7853982

    Contoh 7. Sebuah peluru ditembakkan dari sebuah meriam dengan kecepatan awal 72

    m/detik dan sudut kemiringan terhadap bidang horisontal adalah 60 derajat. Tentukan

    jarak jangkauan peluru tersebut ?

    Penyelesaian. Jarak jangkauan (r) peluru dapat dihitung dengan formula sebagai berikut:

    ( )

    dimana vo adalah kecepatan awal, adalah sudut tembakan, g adalah percepatan gravitasi.

    Statemen-statemen untuk menghitung jarak jangkauan peluru adalah sebagai berikut:

    -->v0 = 72; // kecepatan awal (m/detik) -->theta = 60; // sudut tembakan (derajat) -->g = 9.81; // percepatan gravitasi (m/detik^2) -->r = v0^2*sind(2*theta)/g // jangkauan peluru (m) r = 457.64278

    Jadi jangkauan peluru adalah sejauh 457.6 m.

    Contoh 8. Dengan mengacu pada Gambar 3.2, tentukan besarnya gaya F yang harus

    dikerjakan pada ujung pengungkit sehingga dihasilkan momen pada titik O sebesar 15 Nm

    yang bekerja searah jarum jam? Diketahui = 60o, = 30o, a = 50 mm, serta b = 300 mm.

  • Matematika Dasar - 41

    Gambar 3.2

    Penyelesaian. Momen yang dihasilkan oleh gaya F yang bekerja pada pengungkit adalah:

    cossinsincos bFbaFM

    Dari persamaan ini diperoleh besarnya gaya F untuk menghasilkan momen M yaitu"

    cossinsincos bbaM

    F

    Berikut ini adalah statemen-statemen Scilab untuk menghitung gaya F.

    -->M = 15; // Nm -->phi = 60; // derajat -->theta = 30; // derajat -->a = 0.05; // m -->b = 0.30; // m -->F = M/(cosd(theta)*(a + b*sind(phi)) - b*sind(theta)*cosd(phi)) F = 77.599076

    Jadi gaya yang diperlukan untuk menghasilkan momen sebesar 15 Nm adalah 77.6 N.

  • Matematika Dasar - 42

    Hiperbolik

    Daftar dari fungsi-fungsi hiperbolik dan inverse hiperbolik yang terdapat di dalam Scilab

    dapat dilihat pada tabel di bawah ini.

    Tabel 3.6 Fungsi-Fungsi Hiperbolik dan Inverse Hiperbolik

    Fungsi Deskripsi

    sinh Sinus hiperbolik

    cosh Cosinus hiperbolik

    tanh Tangen hiperbolik

    coth Cotangen hiperbolik

    asinh Inverse sinus hiperbolik

    acosh Inverse cosinus hiperbolik

    atanh Inverse tangen hiperbolik

    Berikut ini adalah ilustrasi penggunaan fungsi-fungsi hiperbolik dan inverse hiperbolik.

    -->sinh(2) ans = 3.6268604 -->tanh(0.5 + 2.5*%i) ans = 0.6433315 - 0.5249367i -->asinh(3.5) ans = 1.9657205

    Contoh 9. Sebuah kabel optik tergantung pada tiang-tiang dimana ujung-ujung pada setiap

    bentangnya membentuk sudut terhadap horisontal (Gambar 3.3). Tentukan tegangan

    minimum yang bekerja pada kabel dan tinggi maksimum lendutannya? Diketahui kabel

    optik mempunyai kerapatan massa 0.9 kg/m dan jarak antar tiang adalah 30 m.

  • Matematika Dasar - 43

    Gambar 3.3

    Penyelesaian. Tegangan tarik maksimum (Tmax) yang bekerja pada kabel dan tinggi

    lendutan maksimum (h) dapat ditentukan dengan rumus-rumus sebagai berikut

    tanasinh2

    aw

    FH

    cosmaxHFT

    12coshH

    H

    F

    aw

    w

    Fh

    gw

    Dimana: FH adalah tegangan tarik horisontal yang bekerja pada kabel optik

    Tmax adalah tegangan tarik maksimum yang bekerja pada kabel optik

    h adalah panjang lendutan maksimum

    a adalah jarak antara tiang

    w adalah berat satuan kabel

    adalah kerapatan massa (density) kabel

    g adalah percepatan gravitasi

    Perhitungan tegangan tarik maksium (Tmax) yang bekerja pada kabel dan tinggi lendutan

    maksimum (h) adalah sebagai berikut.

  • Matematika Dasar - 44

    -->g = 9.81; // percepatan gravitasi (m/s^2) -->rho = 0.9; // density kabel (kg/m) -->w = rho*g; // berat satuan kabel; -->theta = 22/180*%pi; // sudut kemiringan pd ujung kabel (rad) -->a = 30; // jarak antar tiang (m) -->FH = w*(a/2)/asinh(tan(theta)) // Gaya horisontal (N) FH = 336.32494 -->Tmax = FH/cos(theta) // Tegangan tarik maksimum pd kabel (N) Tmax = 362.73813 -->h = FH/w*(cosh(w*(a/2)/FH) - 1) // Tinggi lendutan maksimum h = 2.9916403

    Jadi tegangan tarik maksimum yang bekerja pada kabel adalah 362.7 N dan tinggi lendutan

    maksimum pada bagian tengah kabel adalah 2.99 m.

    Eksponensial dan Logaritma

    Daftar dari fungsi-fungsi exponensial dan logaritma yang terdapat terpasang di dalam

    Scilab diberikan pada Tabel 3.7.

    Tabel 3.7 Fungsi-Fungsi Exponensial dan Logaritma

    Fungsi Deskripsi

    exp Exponensial

    nextpow2 Pangkat dua terbesar selanjutnya

    log Logaritma alami

    log2 Logaritma base 2

    log10 Logaritma base 10

  • Matematika Dasar - 45

    Deskripsi mengenai fungsi-fungsi tersebut adalah sudah jelas dari deskripsi yang diberikan

    pada Tabel 3.7 kecuali untuk fungsi nextpow2. Fungsi nextpow2(x) adalah suatu fungsi

    yang digunakan untuk menghitung suatu bilangan integer n terkecil yang memenuhi

    persyaratan 2n |x|.

    Contoh penggunaan fungsi-fungsi exponensial dan logaritma adalah sebagai berikut:

    -->exp(2.5) ans = 12.182494 -->log(10) ans = 2.3025851 -->log10(0.001) ans = - 3. -->nextpow2(20) ans = 5.

    Contoh 10. Anggap suatu minuman kopi mempunyai kandungan ion hidrogen sebanyak

    1.210-6 mol/Liter. Tentukan berapakah nilai pH-nya ?

    Penyelesaian. Nilai pH suatu zat dapat ditentukan dengan formula sebagai berikut:

    HpH 10log dimana [H+] adalah konsentrasi dari ion hidrogen dalam satuan mol/Liter. Maka nilai pH

    dari minuman kopi dapat dihitung sebagai berikut:

    -->kopi = 1.2E-6; // kandungan ion hidrogen dalam kopi -->pH_kopi = -log10(kopi) pH_kopi = 5.9208188

    Jadi nilai pH kopi adalah sekitar 5.9.

  • Matematika Dasar - 46

    Contoh 11. Jumlah penduduk dunia pada awal tahun 1990 diperkirakan adalah sekitar 5.3

    milyar dengan laju pertambahan penduduk sekitar 2% per tahun. Dengan mengunakan

    asumsi bahwa pertumbuhan populasi penduduk akan bertambah secara eksponensial,

    maka perkirakan jumlah penduduk dunia pada awal tahun 2015 ?

    Penyelesaian. Jumlah penduduk pada awal suatu tahun tertentu dapat dihitung dengan

    persamaan sebagai berikut:

    kt

    oeyy

    dimana yo adalah jumlah penduduk pada awal tahun 1990 (dalam satuan milyar), k adalah

    laju pertambahan penduduk dan t adalah perbedaan waktu sejak tahun 1990 (dalam

    satuan tahun).

    Perhitungan jumlah penduduk dunia pada awal tahun 2015 dapat diselesaikan dengan

    perintah-perintah sebagai berikut:

    -->y0 = 5.3; // jumlah penduduk pada awal th 1990 (milyar) -->k = 0.02; // laju pertumbuhan pertahun -->t = 20151990; // selang waktu sejak awal th 1990 (tahun) -->y = y0*exp(k*t) // jumlah penduduk pada awal th 2015 (milyar) y = 8.7382227

    Jadi jumlah penduduk dunia pada awal tahun 2015 adalah sebanyak 8.73 milyar.

    Faktorial

    Notasi matematika untuk faktorial dari suatu bilangan bulat n adalah n!. Di dalam Scilab,

    nilai faktorial dari suatu bilangan dapat dihitung dengan menggunakan fungsi factorial,

    seperti yang ditunjukkan pada contoh di bawah ini:

    -->factorial(6) ans = 720.

  • Matematika Dasar - 47

    Contoh 12. Sebuah panitia yang terdiri dari tiga orang akan diambil dan dibentuk dari

    delapan orang. Tentukan berapa banyak kombinasi panitia yang dapat dibentuk apabila

    satu orang hanya dapat masuk sekali saja dalam satu grup?

    Penyelesaian. Jumlah kombinasi panitia yang dapat dibentuk dapat dihitung dengan

    rumus sebagai berikut:

    ( )

    dimana n adalah jumlah orang yang akan dipilih dan k adalah jumlah anggota panitia. Jadi,

    jumlah kombinasi panitia yang dapat dibentuk adalah

    -->K = factorial(8)/(factorial(3)*factorial(8-3)) K = 56.

    Bilangan Kompleks

    Misalkan z adalah bilangan kompleks z = x + iy, dimana i adalah simbol bilangan imajiner

    1 , maka bilangan kompleks z di dalam Scilab dapat dinyatakan sebagai berikut:

    z = x + y*%i atau z = x + %i*y

    Sebagai contoh, notasi untuk bilangan kompleks z = 2 3i adalah sebagai berikut:

    -->z = 2 - 3*%i z = 2. - 3.i

    Operasi Aritmatika terhadap Bilangan Kompleks

    Operasi aritmatika terhadap suatu bilangan kompleks dapat dilakukan dengan

    menggunakan notasi yang sama seperti notasi pada bilangan real. Berikut ini beberapa

    contoh operasi aritmatika terhadap bilangan kompleks.

    -->x = 1 - 3*%i; -->y = -2 + %i*5; -->p = x + y p = - 1. + 2.i

  • Matematika Dasar - 48

    -->q = x - y q = 3. - 8.i -->r = x*y r = 13. + 11.i -->r/x ans = - 2. + 5.i

    Komponen Real dan Imajiner.

    Komponen real dan imajiner dari suatu bilangan kompleks dapat diekstrak dengan

    menggunakan fungsi real dan imag, seperti pada contoh di bawah ini.

    -->x = 3 + 4*%i; -->real(x) ans = 3. -->imag(x) ans = 4.

    Conjugate Bilangan Kompleks.

    Jika z = x + iy maka conjugate untuk bilangan compleks tersebut didefiniskan sebagai

    .

    Conjugate suatu bilangan kompleks dapat dihitung dengan fungsi conj, seperti pada contoh

    di bawah ini.

    -->w = 8 + 10*%i; -->conj(w) ans = 8. - 10.i

  • Matematika Dasar - 49

    Modulus Bilangan Kompleks

    Modulus atau nilai mutlak dari bilangan z = x + iy didefinisikan sebagai berikut

    | |

    Modulus bilangan kompleks dapat kita hitung dengan fungsi abs.

    -->v = 12 - 5*%i; -->abs(v) ans = 13.

    Bentuk Polar dari Bilangan Kompleks

    Selain dalam notasi kartesian (x, y) sebuah bilangan komplek z = x + iy juga dapat

    dinyatakan dengan notasi koordinat polar (r, ) sebagai berikut:

    ( ( ) ( ))

    dimana:

    (

    )

    Seperti yang diilustrasikan pada gambar di bawah ini.

    Gambar 3.4 Ilustrasi Bentuk Polar dari Bilangan Kompleks

    Sebagai contoh, bilangan kompleks z = -3 + 4i dapat dirubah ke dalam bentuk polar dengan

    perhitungan sebagai berikut.

    -->z = -3 + 4*%i; -->r = abs(z) r = 5.

  • Matematika Dasar - 50

    -->theta = atand(imag(z),real(z)) // derajat theta = 126.8699

    Jadi bentuk polar untuk bilangan kompleks z = -3 + 4i adalah

    z = 5 (cos(126.9o) + i sin(126.9o))

    Notasi Eksponensial untuk Bentuk Polar

    Dengan menggunakan identitas Euler: ( ) ( ). Bilangan komplek

    ( ( ) ( )) juga dapat dinyatakan dalam notasi ekponensial . Dalam

    notasi ini sudut harus dinyatakan dalam satuan radian.

    Berikut ini adalah ilustrasi penulisan bilangan kompleks dalam notasi eksponensial.

    -->z = -3 + 4*%i; -->r = abs(z) r = 5. -->theta = atan(imag(z),real(z)) // radian theta = 2.2142974 -->r*exp(theta*%i) ans = - 3. + 4.i

    Terlihat bahwa statemen 5*exp(2.21*%i) ekuivalen dengan statemen -3 + 4*%i.

  • Bab 4

    Matrik dan Vektor

    Definisi Matrik dan Vektor

    Semua tipe data di dalam Scilab dianggap berupa suatu matrik. Matrik adalah sebuah larik

    data segiempat yang terdiri dari beberapa baris dan kolom. Vektor dan skalar merupakan

    bentuk khusus dari matrik. Vektor adalah sebuah matrik yang hanya mempunyai satu baris

    (vektor baris) atau satu kolom (vektor kolom) kemudian skalar adalah sebuah matrik yang

    hanya terdiri dari satu elemen saja.

    Berikut ini adalah ilustrasi mengenai obyek skalar, vektor dan matrik.

    -->a = 123 // skalar

    a = 123. -->v = [1 2 3 4 5] // vektor baris (1 x 5) v = 1. 2. 3. 4. 5. -->w = [4; 4; 2] // vektor kolom (3 x 1) w = 4. 4. 2. -->M = [1 3 5; 2 4 6] // matrik (2 x 3) M = 1. 3. 5. 2. 4. 6.

  • Matrik dan Vektor - 52

    Pembuatan Vektor dan Matrik Secara Manual

    Suatu vektor atau matrik dapat dibuat secara manual dengan menggunakan operator

    kurung-siku kanan ([) dan operator kurung-siku kiri (]).

    Elemen-elemen suatu vektor dapat dipisahkan dengan menggunakan tanda spasi, koma (,)

    atau titik koma (;). Jika elemen-elemen vektor dipisahkan dengan tanda spasi atau koma

    maka yang dihasilkan adalah suatu vektor baris, namun jika elemen-elemen vektor

    dipisahkan dengan titik-koma maka yang akan dihasilkan adalah suatu vektor kolom.

    -->v1 = [1, 3, 9] v1 = 1. 3. 9. -->v2 = [2 4 6] v2 = 2. 4. 6. -->v3 = [10; 11; 12] v3 = 10. 11. 12.

    Dalam pembuatan suatu matrik, elemen-elemennya harus dimasukkan secara perbaris.

    Elemen-elemen yang terdapat dalam satu baris yang sama dapat dipisahkan dengan tanda

    spasi atau tanda koma. Kemudian diantara suatu baris dengan baris lainnya dapat

    dipisahkan dengan tanda titik-koma atau dengan tombol ENTER.

    -->A = [9 7 5; 1 4 3] A = 9. 7. 5. 1. 4. 3. -->B = [1 2 4 [Enter] --> 2 4 8 [Enter] --> 3 6 12] B = 1. 2. 4. 2. 4. 8. 3. 6. 12.

  • Matrik dan Vektor - 53

    Elemen matrik yang terdapat pada setiap baris harus sama jumlahnya. Jika hal ini tidak

    dipenuhi maka akan muncul sebuah pesan kesalahan, seperti yang pada contoh berikut ini.

    -->X = [1 2 3; 4 5 6 7; 8 9 10] !--error 6 inconsistent row/column dimensions

    Suatu ekspresi matematika juga dapat digunakan sebagai nilai suatu dari elemen vektor

    atau matrik, seperti pada contoh di bawah ini:

    -->D = [(1+2) 3*4; exp(1) log(10)] D = 3. 12. 2.7182818 2.3025851

    Vektor Inkremental

    Vektor inkremental adalah suatu vektor baris dimana nilai dari setiap elemennya

    bertambah atau berkurang secara konstan terhadap elemen sebelumnya. Suatu vektor

    inkremental dibuat dengan operator titik-dua () sebagai berikut.

    x = j:k

    x = j:d:k

    Statemen j:k akan menghasilkan sebuah vektor baris dimana nilai elemen pertamanya

    adalah j, nilai elemen berikutnya adalah j+1 dan seterusnya sampai nilai elemen terakhir

    nilainya sama dengan k atau suatu nilai inkremental terbesar yang lebih kecil dari k.

    Apabila nilai indek j lebih besar dari indek k maka statemen j:k akan menghasilkan

    sebuah vektor kosong.

    -->tahun = 2011:2016 tahun = 2011. 2012. 2013. 2014. 2015. 2016.

    Statemen j:d:k akan menghasilkan sebuah vektor baris dimana nilai elemen pertamanya

    adalah j, nilai elemen berikutnya adalah j+d, dan seterusnya sampai diperoleh suatu

    elemen yang nilai nilainya sama dengan k atau suatu nilai inkremental terbesar yang lebih

    kecil dari k. Nilai d dapat berupa suatu bilangan desimal positif maupun desimal negatif.

    Namun bila d bernilai negatif maka nilai j harus lebih besar daripada k.

  • Matrik dan Vektor - 54

    -->xpts = 0:.25:2 xpts = 0. 0.25 0.5 0.75 1. 1.25 1.5 1.75 2. -->y = 10:-2:1 y = 10. 8. 6. 4. 2.

    Fungsi-Fungsi untuk Membuat Suatu Vektor

    Terdapat dua fungsi yang dapat digunakan untuk membuat suatu vektor baris inkremental

    yaitu linspace dan logspace.

    Linspace

    Fungsi linspace mempunyai sintaks sebagai berikut:

    X = linspace(n_awal, n_akhir, npts)

    Output dari fungsi linspace adalah sebuah vektor baris yang mempunyai elemen sebanyak

    npts dimana elemen-elemen tersebut mempunyai jarak linier yang seragam yang nilainya

    terletak diantara n_awal dan n_akhir. Argumen npts bersifat opsional jika tidak digunakan

    maka jumlah elemen yang dihasilkan adalah sebanyak 100 elemen.

    Berikut ini contoh penggunaan fungsi linspace.

    -->a = linspace(1,2,4) a = 1. 1.333 1.667 2. -->b = linspace(4,0,5) b = 4. 3. 2. 1. 0.

    Logspace

    Sintak dari fungsi logspace adalah sebagai berikut:

    X = logspace(n_awal, n_akhir, npts)

    Output dari fungsi logspace adalah sebuah vektor baris yang mempunyai elemen sebanyak

    npts dimana elemen-elemen tersebut mempunyai jarak logaritmik yang seragam yang

  • Matrik dan Vektor - 55

    nilainya terletak diantara 10n_awal dan 10n_akhir. Apabila argumen n_akhir berupa %pi maka

    nilai dari elemen terakhir adalah bukan 10. Argumen npts bersifat opsional jika tak

    digunakan maka jumlah elemen yang dihasilkan adalah sebanyak 50 elemen.

    Ilustrasi penggunaan fungsi logspace adalah sebagai berikut:

    -->x = logspace(1,2,4) x = 10. 21.544347 46.415888 100.

    Fungsi-Fungsi untuk Membuat Suatu Matrik

    Scilab juga menyediakan fungsi-fungsi yang dapat digunakan untuk membuat beberapa

    matrik khusus. Fungsi-fungsi tersebut yaitu ones, zeros, eye, diag dan rand.

    Ones

    Fungsi ones(m,n) akan menghasilkan suatu matrik berukuran m n dimana semua

    elemennya mempunyai nilai satu.

    -->A = ones(3,4) A = 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. -->B = ones(3,1) B = 1. 1. 1.

    Fungsi ones juga dapat menerima argumen berupa suatu matrik. Statemen ones(X) akan

    menghasilkan suatu matrik satuan yang berukuran sama dengan matrik X.

    -->C = [4 5 1; 4 4 2]; -->D = ones(C) D = 1. 1. 1. 1. 1. 1.

  • Matrik dan Vektor - 56

    Zeros

    Fungsi zeros(m,n) akan menghasilkan suatu matrik berukuran m n dimana semua

    elemennya mempunyai nilai nol.

    -->X = zeros(2,3) X = 0. 0. 0. 0. 0. 0.

    Argumen dari fungsi zeros juga dapat berupa suatu matrik. Fungsi zeros(X) akan

    menghasilkan suatu matrik nol yang berukuran sama dengan matrik X.

    Eye

    Fungsi eye(m,n) akan menghasilkan suatu matrik identitas yang berukuran m n.

    -->I = eye(3,3) I = 1. 0. 0. 0. 1. 0. 0. 0. 1. -->J = eye(2,5) J = 1. 0. 0. 0. 0. 0. 1. 0. 0. 0.

    Fungsi eye juga dapat menerima argumen berupa suatu matrik. Statemen eye(X) akan

    menghasilkan suatu matrik identitas yang berukuran sama dengan matrik X.

    Rand

    Fungsi rand dapat digunakan untuk membuat suatu matrik yang elemen-elemennya

    merupakan bilangan random. Sintak dari fungsi rand adalah sebagai berikut:

    A = rand(m,n,dist)

    A = rand(X,dist)

    dimana m dan n adalah jumlah baris dan kolom matrik yang akan dibuat, X adalah

    sembarang matrik dan dist adalah distribusi dari bilangan random. Apabila argumen

    fungsi rand berupa suatu matrik X maka matrik bilangan random yang dihasilkannya akan

  • Matrik dan Vektor - 57

    mempunyai dimensi yang sama dengan dimensi matrik X.

    Terdapat dua pilihan untuk argumen dist yaitu:

    'uniform' untuk membuat bilangan random yang mempunyai distribusi seragam

    dalam range [0,1]

    'normal' untuk membuat bilangan random yang mempunyai distribusi normal

    dengan nilai rata-rata 0 dan deviasi standar 1.

    Argumen dist bersifat opsional apabila tidak dipergunakan maka bilangan random akan

    dibuat dengan menggunakan distribusi seragam.

    Berikut ilustrasi dari fungsi rand.

    -->x = rand(2,4) x = 0.8782165 0.5608486 0.7263507 0.5442573 0.0683740 0.6623569 0.1985144 0.2320748 -->Y = rand(3,3,'normal') Y = - 0.1884803 - 1.3874078 0.0698768 0.4241610 2.7266682 - 2.8759126 - 1.0327357 - 0.7123134 - 1.3772844

    Diag

    Fungsi diag dapat digunakan untuk membuat sebuah matrik diagonal. Misalkan v adalah

    sebuah vektor maka fungsi diag(v) akan menghasilkan suatu matrik yang elemen-elemen

    diagonalnya merupakan elemen-elemen dari vektor v.

    -->d = [1 2 3 4]; -->D = diag(d) D = 1. 0. 0. 0. 0. 2. 0. 0. 0. 0. 3. 0. 0. 0. 0. 4.

    Selain itu, fungsi diag juga dapat digunakan untuk mengekstrak elemen-elemen diagonal

    suatu matrik, seperti pada contoh di bawah ini.

  • Matrik dan Vektor - 58

    -->A = [9 8 7;6 5 4;3 2 1] A = 9. 8. 7. 6. 5. 4. 3. 2. 1. -->diag(A) ans = 9. 5. 1.

    Konkatenasi

    Konkatenasi merupakan operasi penggabungan beberapa vektor atau matrik sehingga

    menjadi sebuah vektor atau matrik baru yang lebih besar. Seperti pada operasi pembuatan

    suatu vektor atau matrik secara manual, operasi konkatenasi juga dilakukan dengan

    menggunakan operator kurung-siku kanan dan operator kurung-siku kiri ([ ]).

    Beberapa contoh operasi konkatenasi adalah sebagai berikut:

    -->V1 = [1 2 3 4]; -->V2 = [5 6 7 8]; -->V3 = [11 12 13 14]; -->V4 = [15 16 17 18]; -->P = [V1 V2] P = 1. 2. 3. 4. 5. 6. 7. 8. -->Q = [V1 V2; --> V3 V4] Q = 1. 2. 3. 4. 5. 6. 7. 8. 11. 12. 13. 14. 15. 16. 17. 18. -->N1 = [1 2 3 4 5]; -->N2 = [10 20 30; 11 21 31]; -->N3 = eye(2,2);

  • Matrik dan Vektor - 59

    -->N = [N1; N2 N3] N = 1. 2. 3. 4. 5. 10. 20. 30. 1. 0. 11. 21. 31. 0. 1.

    Operasi konkatenasi hanya dapat dilakukan terhadap vektor-vektor atau matrik-matrik

    yang mempunyai dimensi yang konsisten. Apabila persyaratan tersebut tidak dipenuhi

    maka akan muncul sebuah pesan kesalahan seperti pada contoh di bawah ini.

    -->A = [1 2 3]; -->B = [4 5 6 7]; -->X = [A; B] !--error 6 inconsistent row/column dimensions

    Dimensi Matrik

    Informasi mengenai dimensi dari suatu matrik dapat diperoleh dengan menggunakan

    fungsi size yang mempunyai sintaks sebagai berikut:

    [nr,nc] = size(A)

    dimana nr dan nc adalah jumlah baris dan kolom dari matrik atau vektor A. Fungsi size juga

    dijalankan dengan argumen output tunggal, sebagai berikut:

    n = size(A)

    Output dari sintak ini adalah suatu vektor baris, dimana elemen pertama dan keduanya

    masing-masing menyatakan jumlah baris dan jumlah kolom matrik A.

    Berikut ini contoh penggunaan fungsi size.

    -->A = [1 1 0 1; 1 0 2 0; 0 -2 2 -4]; -->[nr,nc] = size(A) nc = 4. nr = 3.

  • Matrik dan Vektor - 60

    Jumlah semua elemen yang terdapat pada suatu vektor atau matrik dapat diketahui dengan

    menggunakan fungsi length, seperti yang ditunjukkan pada contoh-contoh di bawah ini.

    -->length(a) ans = 5. -->length(A) ans = 12.

    Merubah Dimensi Matrik

    Suatu matrix dapat dirubah dimensinya dengan fungsi matrix dengan sintaks sebagai

    berikut:

    matrix(A, m, n)

    dimana A adalah matrik yang akan dirubah dimensinya, kemudian m dan n adalah ukuran

    dimensi dari matrik yang baru. Jika yang dirubah dimensi baris atau kolomnya saja maka

    angka -1 digunakan sebagai nilai argumen untuk dimensi lainnya yang tidak ditentukan.

    Berikut ini ilustrasi penggunaan fungsi matrix.

    -->V = 1:12; -->M = matrix(V,3,4) M = 1. 4. 7. 10. 2. 5. 8. 11. 3. 6. 9. 12. -->A = [1:4 ; 5:8 ; 9:12] A = 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. -->B = matrix(A, 2, 6) B = 1. 9. 6. 3. 11. 8. 5. 2. 10. 7. 4. 12.

  • Matrik dan Vektor - 61

    -->C = matrix(A, -1, 4) C = 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

    Dimensi dari matrik yang dihasilkan oleh fungsi matrix harus sesuai atau kompatibel

    dengan dimensi dari matrik lama. Apabila persyaratan ini tidak dipenuhi maka akan

    muncul suatu pesan kesalahan seperti pada contoh di bawah ini.

    -->X = matrix(A,5,3) !--error 60 argument with incompatible dimensions

    Mengekstrak Elemen-Elemen Suatu Vektor

    Elemen ke-i dari suatu vektor v dapat diekstrak dengan notasi sebagai berikut:

    v(i)

    Pada operasi ini, simbol $ dapat digunakan untuk menyatakan indek dari elemen yang

    terakhir. Berikut ini ilustrasi proses ekstrasi elemen-elemen suatu vektor.

    -->a = [1 3 5 7 9]; -->a(2) ans = 3. -->a($) ans = 9.

    Semua elemen vektor yang terletak pada indek ke-i sampai ke-j dapat diekstrak dengan

    cara sebagai berikut.

    v(i:j)

    Elemen-elemen vektor yang letaknya tidak berurutan juga dapat diekstrak dengan

    menggunakan notasi sebagai berikut:

    v([i k p . . .])

    dimana i, k, p adalah letak atau indek dari elemen-elemen yang akan diekstrak.

  • Matrik dan Vektor - 62

    Berikut ilustrasi proses ekstraksi beberapa elemen vektor sekaligus.

    -->a = [1 3 5 7 9]; -->b = a(2:4) b = 3. 5. 7. -->c = a([5 1 3]) c = 9. 1. 5.

    Mengekstrak Elemen-Elemen Suatu Matrik

    Elemen yang terletak pada baris ke-m dan kolom ke-n dari suatu matrik X dapat diekstrak

    dengan notasi sebagai berikut:

    X(m,n)

    Pada operasi ini, simbol $ dapat digunakan untuk menyatakan baris terakhir atau kolom

    terakhir.

    Berikut ini beberapa contoh proses ekstraksi elemen-elemen suatu matrik.

    -->A = [1 2 3; 4 5 6; 7 8 9] A = 1. 2. 3. 4. 5. 6. 7. 8. 9. -->a12 = A(1,2) a12 = 2. -->b = A(2,$) b = 6. -->A($,$) ans = 9.

  • Matrik dan Vektor - 63

    Elemen-elemen matrik X yang terletak pada baris ke-i dapat diekstrak dengan sintaks

    sebagai berikut:

    X(i,:)

    Kemudian untuk mengekstrak semua elemen matrik X yang terletak pada kolom ke-j

    sintaknya adalah sebagai berikut.

    X(:,j).

    Berikut ini ilustrasi ekstraksi elemen-elemen matrik yang terletak pada suatu baris atau

    kolom tertentu.

    -->A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] A = 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. -->A(3,:) ans = 9. 10. 11. 12. -->A(:,$) ans = 4. 8. 12. 16.

    Elemen-elemen matrik X yang terletak pada baris ke-i sampai baris ke-j serta kolom ke-m

    sampai kolom ke-n dapat diekstrak dengan sintaks sebagai berikut:

    X(i:j, m:n)

    Pada operasi ini, simbol titik-dua (:) juga dapat digunakan untuk menyatakan elemen-

    elemen yang terletak pada semua baris atau semua kolom yang dimaksud.

    -->A(2:3, 2:4) ans = 6. 7. 8. 10. 11. 12.

  • Matrik dan Vektor - 64

    -->A(3:4, :) ans = 9. 10. 11. 12. 13. 14. 15. 16.

    Beberapa elemen matrik yang letaknya tidak berurutan dapat diekstrak secara serentak

    dengan sintaks sebagai berikut:

    X([p q ...], [r s ...])

    dimana p q ... adalah indek untuk posisi baris, kemudian r s ... adalah indek untuk

    posisi kolom.

    -->A([1 2], [2 4]) ans = 2. 4. 6. 8.

    Elemen-elemen matrik yang diekstrak harus berada di dalam dimensi matrik. Apabila

    elemen yang diekstrak berada di luar dari dimensi matrik maka akan muncul sebuah pesan

    kesalahan seperti pada contoh di bawah ini.

    -->A(4,5) !--error 21 invalid index

    Merubah Nilai Elemen Suatu Vektor atau Matrik

    Elemen-elemen yang terdapat pada sebuah matrik atau vektor juga dapat dirubah nilainya

    dengan menggunakan statemen penugasan, seperti yang terlihat pada contoh-contoh di

    bawah ini.

    -->x = [1 2 4 6]; -->x(2) = 3 x = 1. 3. 4. 6. -->x($) = 12 x = 1. 3. 4. 12.

  • Matrik dan Vektor - 65

    -->A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] A = 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. -->A(4,4) = 0 A = 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 0. -->A(2,:) = [0 1 0 0] A = 1. 2. 3. 4. 0. 1. 0. 0. 9. 10. 11. 12. 13. 14. 15. 0. -->A(3:4, 1:3) = zero(2,3) A = 1. 2. 3. 4. 0. 1. 0. 0. 0. 0. 0. 12. 0. 0. 0. 0.

    Seperti yang terlihat pada contoh-contoh di atas, notasi untuk menyatakan indek dari

    elemen-elemen matrik atau vektor yang akan dirubah nilainya adalah sama seperti notasi

    yang digunakan pada proses ekstraksi elemen-elemen matrik atau vektor.

    Apabila indek atau posisi dari elemen yang akan dirubah nilainya berada di luar dari

    dimensi matrik atau vektor maka dimensi dari matrik atau vektor akan bertambah secara

    otomatis. Pada operasi ini elemen-elemen baru lainnya yang nilainya tidak didefinisikan

    akan diisi dengan nilai nol.

    -->X = [1 2 3 4]; -->X(7) = 7 X = 1. 2. 3. 4. 0. 0. 7.

  • Matrik dan Vektor - 66

    -->Z = ones(3,3); -->Z(3,5) = 2 Z = 1. 1. 1. 0. 0. 1. 1. 1. 0. 0. 1. 1. 1. 0. 2.

    Menghapus Elemen-Elemen Suatu Vektor atau Matrik

    Elemen-elemen yang terdapat pada suatu vektor atau matrik dapat dihapus sehingga

    menjadi sebuah vektor atau matrik baru yang lebih kecil. Notasi posisi elemen-elemen

    vektor atau matriks adalah sama seperti notasi pada proses ekstraksi elemen-elemen

    vektor atau matrik.

    Berikut ini beberapa contoh operasi penghapusan elemen-elemen suatu vektor atau

    matrik.

    -->A = [1 2 3 4 5 6 7]; -->A(4) = [ ] A = 1. 2. 3. 5. 6. 7. -->xyz = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] xyz = 16. 3. 2. 13. 5. 10.