Anda di halaman 1dari 42

Scilab untuk fisikawan

(HALAMAN JUDUL)

Scilab untuk Fisikawan


Scilab untuk fisikawan

HALAMAN PENERBIT
Scilab untuk fisikawan

KOSONG
Scilab untuk fisikawan

Daftar Isi
1Kata Pengantar....................................................................................................................................5
2Berkenalan dengan Scilab..................................................................................................................6
2.1Console.......................................................................................................................................7
2.2Editor..........................................................................................................................................7
2.3Graphic Windows.....................................................................................................................10
2.4Help...........................................................................................................................................11
3Operasi aritmetika dan penghitungan fungsi dasar...........................................................................12
3.1Peubah.......................................................................................................................................12
3.2Operasi aritmetika.....................................................................................................................12
3.3Komentar..................................................................................................................................13
3.4Fungsi yang telah ditetapkan oleh Scilab.................................................................................14
3.5Peubah yang telah ditetapkan oleh Scilab.................................................................................15
3.6Operator logika dan perbandingan............................................................................................16
3.7Bilangan kompleks...................................................................................................................17
4Operasi matriks.................................................................................................................................19
4.1Mendefinisikan Matriks............................................................................................................19
4.2Penjumlahan dan Pengurangan Matriks...................................................................................21
4.3Perkalian Antar Matriks............................................................................................................22
4.4Perkalian Matriks dengan bilangan...........................................................................................23
4.5Operasi Tranpos Matriks...........................................................................................................23
4.6Mengetahui ukuran matriks......................................................................................................24
4.7Mengakses unsur matriks..........................................................................................................26
5Pengujian dan Percabangan..............................................................................................................30
5.1Pengujian..................................................................................................................................30
5.2Percabangan..............................................................................................................................35
6Pengulangan.....................................................................................................................................36
6.1Pengulangan..............................................................................................................................36
6.2Penggunaan "Break" dan "Continue" dalam pengulangan.......................................................36
7Bekerja dengan fungsi buatan sendiri...............................................................................................37
8Mem-plot grafik................................................................................................................................38
9Pencarian akar-akar fungsi dengan Metode Newton Raphson.........................................................39
10Integrasi Numerik dengan Metode Simpson..................................................................................40
11Masalah syarat awal dengan Metode Euler....................................................................................41
12Masalah syarat batas dengan Metode Beda Hingga.......................................................................42
Scilab untuk fisikawan

1 Kata Pengantar
Scilab untuk fisikawan

2 Berkenalan dengan Scilab

Berikut ini gambar tampilan awal ketika Scilab mulai dijalankan. Kotak sisi kiri
merupakan browser/penjelajah isi harddisk yang digunakan untuk memilih file-file yang
pernah dibuat untuk dijalankan atau diedit kembali. Karena kita baru saja memulai,
maka kita dapat mengabaikan fasilitas tersebut.

Gambar 1: Tampilan awal ketika Scilab mulai dijalankan

Pada bagian kotak sebelah kanan terdapat kotak Console (Console). Kotak ini digunakan
untuk melakukan perhitungan secara langsung. Input yang akan diberikan diketik setelah
tanda prompt "-->". Sebagai contoh, silahkan kerjakan latihan berikut di Console

Latihan 1 Console
-->2+3
Hasilnya akan tampil seperti yang berikut ini

Hasil : Latihan 1
-->2+3
ans =

5.
-->
Tidak terlalu sulit untuk memahami apa yang baru saja dilakukan. Dengan memberikan
masukan "2+3" setelah tanda prompt "-->", maka kita memerintahkan Scilab untuk
menghitung operasi matematika "2+3" dan memberikan jawaban "5". Setelah pekerjaan
itu dilakukan, maka Console kembali pada posisi siap menerima perintah berikutnya
Scilab untuk fisikawan

dengan menyiapkan kembali promptnya tepat di bawah jawaban pekerjaan/proses


sebelumnya.

Pada Scilab terdapat beberapa ruang kerja yang perlu diketahui, yakni :
1. Console, digunakan untuk melakukan perhitungan
2. Editor, digunakan untuk mengetik kode program
3. Graphics Window, digunakan untuk menampilkan grafik
4. Help, merupakan fasilitas yang berisi informasi bantuan mengenai penggunaan
fitur-fitur di Scilab

2.1 Console
Seperti yang sudah tampil pada gambar 1, berikut ini yang dimaksud sebagai kotak
Console.

Gambar 2: Kotak Console

Kotak Console ini otomatis tampil ketika Scilab mulai dijalankan. Dengan menggunakan
kotak Console ini, kita dapat melakukan perhitungan secara langsung baik itu operasi
aritmetika biasa (penjumlahan, pengurangan, perkalian, pembagian, dan lain-lain),
operasi matriks (aritmetika matriks, penghitungan determinan, dan lain-lain), maupun
penghitungan nilai suatu fungsi.

2.2 Editor
Editor yang tersedia pada Scilab adalah SciNotes. Untuk menjalankan SciNotes dapat
ditempuh dua cara berikut ini :

Cara 1 : Klik menu Applications ---> SciNotes

Cara 2 : Klik ikon pada bagian toolbar


Scilab untuk fisikawan

Cara 3 : Pada Console, ketik "editor( )" (tanpa tanda petik), lalu tekan enter

Gambar 3: Menjalankan SciNotes


Berikut ini tampilan SciNotes ketika sudah dijalankan. SciNotes sebagai editor
sebenarnya memiliki fungsi yang sama seperti halnya editor teks pada umumnya semisal
Notepad, dan lain-lain. Hanya saja di sini SciNotes sebagai aplikasi bawaan Scilab telah
terintegrasi dengan program Scilab tersebut.

Gambar 4: Tampilan SciNotes


Dengan menggunakan SciNotes, kita dapat menuliskan terlebih dahulu suatu proses
perhitungan untuk kemudian dijalankan. Terkadang suatu perhitungan akan lebih
nyaman dikerjakan dalam beberapa blok penghitungan untuk kemudian hasil-hasil dari
setiap tahapan itu digunakan untuk melakukan penghitungan akhir. Pada situasi yang
Scilab untuk fisikawan

demikian penggunaan editor semacam SciNotes sangat tepat. Kode program yang diketik
melalui SciNotes dapat disimpan dalam sebuah file, sehingga seterusnya dapat diperbaiki
atau dimodifikasi.

Sebagai perkenalan, silahkan ketik kode berikut di SciNotes.

Latihan 2 SciNotes
x=2
y=3
z=x+y
disp(z)

Selanjutnya tekan tombol pada toolbar SciNotes atau tekan tombol Ctrl+S untuk
menyimpan file tersebut. Beri nama file, misalkan, coba.sce. Kemudian untuk memulai
eksekusi program yang baru saja kita buat, tekan tombol pada toolbar SciNotes.
Hasil perhitungan akan ditampilkan pada kotak Console seperti berikut ini

Hasil : Latihan 2
-->exec('F:\scilab-untuk-fisikawan\latihan\lat1.sce', -1)

5.

-->
Untuk keperluan pengecekan kode program pertahap, kita dapat menghentikan eksekusi
program pada baris yang kita inginkan. Sebagai contoh, silahkan ketik terlebih dahulu
latihan berikut di SciNotes.

Latihan 3 SciNotes
x=2
y=3
z=x^2+y^2
disp(z)

Kemudian misalkan kita menginginkan hanya mengeksekusi sampai baris ketiga, yakni
baris yang memuat "z=x^2+y^2". Pertama letakkan kursor pada akhir baris tersebut.
Kemudian lakukan salah satu dari dua cara berikut :
Cara 1 : klik kanan pada kotak edit SciNotes, klik "Evaluate until the caret, with
echo Ctrl+E".
Cara 2 : tekan tombol Ctrl+E
Hasil eksekusi akan tampak seperti berikut
Scilab untuk fisikawan

Hasil : Latihan 3
-->x=2
x =

2.

-->y=3
y =

3.

-->z=x^2+y^2

-->

2.3 Graphic Window


Graphic Window digunakan untuk menampilkan grafik, baik itu yang berdimensi 2
maupun berdimensi 3. Sebagai contoh, silahkan ketik latihan berikut di SciNotes, lalu
eksekusi.

Latihan 3 SciNotes
function z=f(x, y)
z=x^2+y^2;
endfunction
x=linspace(-1,1,10);
y=linspace(-2,2,20);
z=feval(x,y,f)';
clf
surf(x,y,z)

Hasil yang akan tampil adalah sebagai berikut.


Scilab untuk fisikawan

Hasil : Latihan 3

2.4 Help
Fasilitas Help disediakan oleh Scilab untuk memberikan dukungan bagi pengguna dengan
menyediakan petunjuk-petunjuk yang dapat dijadikan acuan bagi pengguna ketika
mengalami kebingungan atau masalah dalam bekerja dengan Scilab. Fasilitas ini dapat
diakses dengan menekan tombol F1 atau mengklik lambang "?" pada toolbar paling atas
di jendela utama Scilab.
Scilab untuk fisikawan

3 Operasi aritmetika dan penghitungan fungsi dasar

3.1 Peubah
Pada Scilab, secara garis besar peubah dikategorikan menjadi dua. Pertama adalah
peubah yang didefinisikan oleh pengguna. Kedua adalah peubah yang telah didefinisikan
oleh Scilab. Jika pengguna ingin mendefinisikan sebuah peubah, harus dihindari
penggunaan nama yang sama dengan peubah yang telah didefinisikan oleh Scilab.

Pada Latihan 2 kita telah mendefinisikan tiga peubah, yakni x, y dan z. Pada latihan
tersebut, peubah x ditugaskan untuk menyimpan nilai 2, sementara peubah y ditugaskan
untuk menyimpan nilai 3. Kemudian pada baris ketiga, peubah z ditugaskan untuk
menyimpan nilai x+y yang tidak lain adalah nilai 2+3 atau sama dengan 5.

3.2 Operasi aritmetika


Pada Latihan 1 kita telah menggunakan operasi aritmetika + yang merupakan operasi
penjumlahan. Berikut ini macam-macam operasi aritmetika yang dikenal di Scilab.

+ penjumlahan
- pengurangan
* perkalian
/ pembagian kanan, yakni x / y=xy 1
\ pembagian kiri, yakni x y=x 1 y
^ pemangkatan
** pemangkatan (sama seperti ^)
' konjugat transpos
Tabel 1: Operasi aritmetika

Sebagai contoh, silahkan ketik latihan berikut di SciNotes, lalu eksekusi.

Latihan 5 SciNotes
a="------------------------------------"
x=2
y=3
z=x^2+y^2
disp(a)
Scilab untuk fisikawan

disp("x=")
disp(x)
disp("y=")
disp(y)
disp(a)
disp("x^2+y^2=")
disp(z)

Hasilnya adalah sebagai berikut.


Hasil : Latihan 5
------------------------------------

x=

2.

y=

3.

------------------------------------

x^2+y^2=

13.

-->

3.3 Komentar
Komentar pada suatu kode program merupakan hal yang sangat membantu bagi
pemrogram, terutama ketika membuat kode program yang cukup rumit dan panjang.
Fungsi komentar pada suatu program umumnya digunakan untuk memberikan catatan-
catatan pada program tersebut, dan catatan tersebut tidak akan turut dieksekusi oleh
Scilab. Untuk menuliskan komentar pada program, cukup tambahkan tanda "//" sebelum
kalimat komentar. Sebagai contoh silahkan kerjakan latihan berikut.

Latihan 6 SciNotes
//mulai program
a="------------------------------------"
x=2
y=3
//mulai penghitungan
z=x^2+y^2
//mulai menampilkan
disp(a)
Scilab untuk fisikawan

disp("x=")
disp(x)
disp("y=")
disp(y)
disp(a)
disp("x^2+y^2=")
disp(z)

Latihan tersebut pada dasarnya sama dengan Latihan 5, hanya saja pada latihan tersebut
telah dilengkapi dengan beberapa komentar. Hasil yang akan diperoleh adalah sebagai
berikut
Hasil : Latihan 6
------------------------------------

x=

2.

y=

3.

------------------------------------

x^2+y^2=

13.

-->
Terlihat pada hasil di atas bahwa keberadaan komentar tidak berpengaruh pada hasil
program. Namun keberadaannya memudahkan pemrogram untuk dapat memberikan
catatan terhadap bagian-bagian tertentu pada kode program yang dibuat.

3.4 Fungsi yang telah ditetapkan oleh Scilab


Beberapa fungsi dasar dalam matematika telah didefinisikan dalam Scilab. Oleh karena
itu, kita hanya perlu memanggil fungsi tersebut untuk melakukan perhitungan yang
melibatkan fungsi yang sesuai.

Sebagai contoh, silahkan kerjakan latihan berikut dengan mengetikkan langsung di


jendela Console.
Scilab untuk fisikawan

Latihan 7 Console
-->sin(60)

Hasil yang akan diperoleh adalah seperti berikut ini.


Hasil : Latihan 7
-->sin(60)
ans =

- 0.3048106
-->
Latihan tersebut menghitung nilai fungsi sinus 60 dengan memanfaatkan fungsi "sin" yang
telah disediakan oleh Scilab. Berikut ini tabel yang menampilkan berbagai fungsi yang
telah didefinisikan oleh Scilab.

acos acosd acosh acoshm acosm acot acotd acoth


acsc acscd acsch asec asecd asech asin asind
asinh asinhm asinm atan atand atanh atanhm atanm
cos cosd cosh coshm cosm cotd cotg coth
cothm csc cscd csch sec secd sech sin
sinc sind sinh sinhm sinm tan tand tanh
tanhm tanm exp expm log log10 log1p log2
logm max maxi min mini modulo pmodulo sign
signm sqrt sqrtm
Tabel 2: Fungsi-fungsi yang telah ditetapkan oleh Scilab

3.5 Peubah yang telah ditetapkan oleh Scilab


Sebagaimana telah disebutkan pada subbab 3.1, Scilab telah mendefinisikan beberapa
peubah. Berikut ini beberapa peubah yang telah didefinisikan oleh Scilab.

%i Bilangan imaginer i
%e Tetapan euler e
%pi Tetapan
Tabel 3: Peubah yang telah ditetapkan Scilab

Peubah tersebut dapat digunakan langsung dalam penghitungan, karena peubah tersebut
telah menyimpan nilai sesuai yang diwakilinya.

Sebagai contoh, silahkan kerjakan latihan ini langsung di jendela Console


Scilab untuk fisikawan

Latihan 8 Console
-->cos(%pi)

Hasil yang diperoleh tidak lain adalah nilai cosinus .


Hasil : Latihan 8
-->cos(%pi)
ans =

- 1.

-->

3.6 Operator logika dan perbandingan

Seperti dalam bahasa pemrograman lain, Scilab juga menyediakan operator logika dan
perbandingan yang sebagai keluarannya hanya "True" atau "False". Berikut tabel yang
menjelaskan operator logika dan perbandingan di Scilab.

a&b Logika and


a|b Logika or
~a Logika not
a==b Benar jika kedua a sama dengan b
~s=b atau a<>b Benar jika a tidak sama dengan b
a<b Benar jika a lebih kecil dari b
a>b Benar jika a lebih besar dari b
a<=b Benar jika a lebih kecil atau sama dengan b
a>=b Benar jika a lebih besar atau sama dengan b
Tabel 4: Operator logika dan perbandingan

Dalam Scilab, ungkapan "True" dapat diwakili oleh "1" atau "%T", sementara ungkapan
"False" diwakili oleh "0" atau "%F". Berikut ini contoh penggunaan operator logika.

Latihan 9 Console
-->1&0

Apa yang baru saja dilakukan adalah memberikan masukan berupa ungkapan "True"
(diwakili oleh "1") dan "False" (diwakili oleh "0") kepada operator logika and (disimbolkan
oleh &). Sesuai kaidah logika, operasi tersebut akan menghasilkan keluaran "False".
Scilab untuk fisikawan

Berikut hasil yang akan diperoleh dari operasi tersebut.


Hasil : Latihan 9
-->1&0
ans =

-->
Kemudian untuk contoh penggunaan operator perbandingan, silahkan kerjakan latihan ini
langsung di jendela Console
Latihan 10 Console
-->5>=4

Hasil yang akan diperoleh adalah sebagai berikut.


Hasil : Latihan 10
-->5>=4
ans =

-->

3.7 Bilangan kompleks


Pada subbab 3.5 telah disebutkan bahwa "%i" mewakili bilangan imajiner i dalam sistem
bilangan kompleks. Untuk lebih meyakinkan pembaca, silahkan kerjakan latihan berikut
di jendela Console.

Latihan 11 Console
-->%i^2
Hasil yang akan diperoleh adalah sebagai berikut.
Hasil : Latihan 11
-->%i^2
ans =

- 1.

-->
Dengan adanya peubah "%i", kita dapat mendefinisikan bilangan kompleks di Scilab. Misal
Scilab untuk fisikawan

kita akan mendefinisikan bilangan kompleks z=1+2i. Maka dalam Scilab kita dapat
mendefinisikannya sebagai z=1+2*%i. Untuk mendapatkan bagian riil dan bagian imajiner
dari z kita dapat memanfaatkan fungsi-fungsi yang telah disediakan untuk operasi
bilangan kompleks seperti dalam tabel berikut ini.

real Bagian riil


imag Bagian imajiner
imult Perkalian dengan i
isreal Mengembalikan "True" jika peubahnya tidak memuat bilangan kompleks
Tabel 5: fungsi dasar bilangan kompleks
Berikut contoh penggunaan fungsi-fungsi dasar bilangan kompleks.

Latihan 12 SciNotes
z=1+2*%i
r=real(z)
p=imag(z)
disp("Ini bagian riil z=1+2i :")
disp(r)
disp("Ini bagian imajiner z=1+2i :")
disp(p)

Hasil yang diperoleh adalah seperti berikut


Hasil : Latihan 12
Ini bagian riil z=1+2i :

1.

Ini bagian imajiner z=1+2i :

2.

-->
Scilab untuk fisikawan

4 Operasi matriks

Pada bab 3 kita telah mengenal peubah dalam Scilab. Sebenarnya, tipe data paling
mendasar dalam Scilab adalah matriks, yang didefinisikan oleh 3 unsur berikut :

jumlah baris

jumlah kolom

tipe data

Tipe data dapat berupa riil, bilangan bulat, boolean, string dan polinomial. Peubah
(skalar) seperti yang telah kita gunakan dalam latihan-latihan sebelumnya tidak lain
adalah matriks berukuran 1 x 1.

Jika suatu matriks memiliki jumlah baris sebanyak n dan jumlah kolom sebanyak m,
maka dikatakan matriks tersebut berukuran n x m. Dua matriks yang jumlah baris
kedua-duanya sama dan jumlah kolom kedua-duanya sama dikatakan memiliki bentuk
yang sama. Matriks yang berukuran n x 1 atau 1 x n akan disebut sebagai vektor.

Sebelum kita mengoperasikan antar matriks, terlebih dahulu akan kita pelajari
bagaimana mendefinisikan matriks.

4.1 Mendefinisikan Matriks


Untuk mudahnya, silahkan kerjakan latihan berikut di jendela Console.

Latihan 13 Console
-->A = [1 , 2 , 3 ; 4 , 5 , 6]

Hasil yang akan diperoleh adalah sebagai berikut.


Hasil : Latihan 13
-->A = [1 , 2 , 3 ; 4 , 5 , 6]
A =

1. 2. 3.
4. 5. 6.

-->

Pada latihan tersebut kita mendefinisikan matriks A berukuran 2 x 3. Tanda koma ","
digunakan untuk memisahkan antar entri matriks, sementara tanda semikolon ";"
Scilab untuk fisikawan

digunakan untuk memisahkan antar baris. Entri matriks diberikan di antara tanda kurung
"[" dan "]".

Untuk matriks-matriks jenis tertentu kita dapat mendefinisikannya dengan


memanfaatkan fungsi-fungsi pembangkit matriks yang telah disediakan oleh Scilab
seperti yang tertera dalam tabel berikut

eye Matriks identitas


linspace linearly spaced vector
ones Matriks berentrikan 1 seluruhnya
zeros Matriks berentrikan 0 seluruhnya
testmatrix Membangkitkan matriks tertentu
grand Pembangkit bilangan acak
rand Pembangkit bilangan acak
Tabel 6: Fungsi-fungsi pembangkit matriks
Silahkan kerjakan latihan berikut dengan mengetikkannya di SciNotes, lalu eksekusi.

Latihan 14 SciNotes
A=ones(2,3)
disp("ini keluaran A=ones(2,3) :")
disp(A)
B=eye(3,3)
disp("ini keluaran B=eye(3,3) :")
disp(B)
C=eye(2,3)
disp("ini keluaran C=eye(2,3) :")
disp(C)
D=zeros(3,4)
disp("ini keluaran D=zeros(3,4) :")
disp(D)

Hasil yang akan diperoleh adalah sebagai berikut.


Hasil : Latihan 14
ini keluaran A=ones(2,3) :

1. 1. 1.
1. 1. 1.

ini keluaran B=eye(3,3) :

1. 0. 0.
0. 1. 0.
0. 0. 1.
Scilab untuk fisikawan

ini keluaran C=eye(2,3) :

1. 0. 0.
0. 1. 0.

ini keluaran D=zeros(3,4) :

0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.

-->
Operasi A=ones(2,3) akan menghasilkan matriks berukuran 2 x 3 dengan seluruh entrinya
berupa angka 1. Operasi B=eye(3,3) akan menghasilkan matriks berukuran 3 x 3 dengan
unsur pada bagian diagonal ( Bii ) berupa angka 1, dan selainnya berupa angka 0. Pada
kasus matriks bujur sangkar, atau yang berukuran n x n, maka ones(n,n) akan
menghasilkan matriks identitas berukuran n x n. Operasi C=eye(2,3) akan menghasilkan
matriks berukuran 2 x 3 dengan unsur C 11 dan C 22 berupa angka 1 sedangkan unsur
lainnya berupa angka 0. Terakhir, operasi D=zeros(3,4) akan menghasilkan matriks
berukuran 3 x 4 dengan seluruh entrinya berupa angka 0.

4.2 Penjumlahan dan Pengurangan Matriks


Operasi penjumlahan dan pengurangan antara dua matriks dapat dilakukan jika kedua
matriks memiliki bentuk yang sama. Baik penjumlahan maupun pengurangan matriks
dituliskan seperti halnya penjumlahan dan pengurangan bilangan atau peubah biasa.
Berikut contoh operasi penjumlahan matriks.

Latihan 15 SciNotes
A=[2,3,4;1,2,3]
B=[1,1,1;2,2,2]
C=A+B
disp("A =")
disp(A)
disp("B =")
disp(B)
disp("C=A+B=")
disp(C)

Hasil yang akan diperoleh adalah sebagai berikut


Hasil : Latihan 15
A=
Scilab untuk fisikawan

2. 3. 4.
1. 2. 3.

B=

1. 1. 1.
2. 2. 2.

C=A+B=

3. 4. 5.
3. 4. 5.

-->
Silahkan pembaca mencoba sendiri untuk melakukan operasi pengurangan antar matriks.

4.3 Perkalian Antar Matriks


Operasi perkalian antara dua matriks A dan B hanya dapat dilakukan jika jumlah kolom
matriks A sama dengan jumlah baris matriks B. Perkalian antar matriks dituliskan seperti
halnya perkalian dua bilangan atau peubah biasa. Berikut ini contoh perkalian matriks A
(berukuran 2 x 3) dengan matriks B (berukuran 3 x 2).

Latihan 16 SciNotes
A=[2,3,4;1,2,3]
B=[1,1;2,2;3,3]
C=A*B
disp("A =")
disp(A)
disp("B =")
disp(B)
disp("C=A*B=")
disp(C)

Hasil yang akan diperoleh adalah matriks baru berukuran 2 x 2.


Hasil : Latihan 16
A=

2. 3. 4.
1. 2. 3.

B=

1. 1.
2. 2.
3. 3.
Scilab untuk fisikawan

C=A*B=

20. 20.
14. 14.

-->

4.4 Perkalian Matriks dengan bilangan


Selain dikalikan dengan matriks lain, sebuah matriks dapat pula dikalikan dengan sebuah
bilangan. Berikut ini contoh perkalian matriks dengan sebuah bilangan

Latihan 17 SciNotes
A=[2,3,4;1,2,3]
B=2*A
disp("A =")
disp(A)
disp("B =2 * A=")
disp(B)

Hasilnya adalah seperti berikut ini.


Hasil : Latihan 17
A=

2. 3. 4.
1. 2. 3.

B =2 * A=

4. 6. 8.
2. 4. 6.

-->

4.5 Operasi Tranpos Matriks


Operasi dasar lain terhadap matriks yang dapat dilakukan oleh Scilab adalah operasi
tranpos. Operasi ini jika dikerjakan pada suatu matriks akan menghasilkan matriks baru
yang kolom-kolomnya merupakan baris-baris matriks sebelumnya, dan sebaliknya baris-
barisnya merupakan kolom-kolom matriks sebelumnya. Transpose matrik berukuran n x
m adalah matriks berukuran m x n. Untuk mendapatkan tranpose suatu matriks di Scilab,
kita cukup menambahkan tanda " ' " setelah matriks yang akan ditranpos. Silahkan
Scilab untuk fisikawan

kerjakan latihan berikut dengan mengetikkannya di SciNotes lalu dilanjutkan dengan


mengeksekusi.

Latihan 18 SciNotes
A=[2,3,4;1,2,3]
B=[1,1,1;2,2,2;3,3,3]
C=A'
D=B'
disp("A =")
disp(A)
disp("Tranpos A =")
disp(C)
disp("B =")
disp(B)
disp("Tranpos B =")
disp(D)

Hasil yang akan diperoleh adalah sebagai berikut.


Hasil : Latihan 18
A=

2. 3. 4.
1. 2. 3.

Tranpos A =

2. 1.
3. 2.
4. 3.

B=

1. 1. 1.
2. 2. 2.
3. 3. 3.

Tranpos B =

1. 2. 3.
1. 2. 3.
1. 2. 3.

-->

4.6 Mengetahui ukuran matriks


Scilab menyediakan fungsi size untuk mengetahui ukuran matriks. Berikut ini salah satu
Scilab untuk fisikawan

contoh penggunaan fungsi size.

Latihan 19 SciNotes
A=[1,2,3;4,5,6]
[jbaris,jkolom]=size(A)
disp("Matriks A =")
disp(A)
disp("Jumlah baris =")
disp(jbaris)
disp("Jumlah kolom =")
disp(jkolom)

Hasilnya adalah sebagai berikut.


Hasil : Latihan 19
Matriks A =

1. 2. 3.
4. 5. 6.

Jumlah baris =

2.

Jumlah kolom =

3.
-->
Selain itu, fungsi size juga dapat digunakan untuk berbagai keperluan. Berikut ini
macam-macam format penggunaan fungsi size
size(A,1) Mendapatkan jumlah baris matriks A
size(A,2) Mendapatkan jumlah kolom matriks A
size(A,"*") Mendapatkan jumlah unsur matriks A
Tabel 7: Macam-macam format penggunaan fungsi size

Silahkan kerjakan latihan ini dengan mengetikkannya di SciNotes dilanjutkan dengan


eksekusi.
Latihan 20 SciNotes
A=[1,2,3;4,5,6]
jbaris=size(A,1)
jkolom=size(A,2)
junsur=size(A,"*")
disp("Matriks A =")
disp(A)
disp("Jumlah baris =")
disp(jbaris)
Scilab untuk fisikawan

disp("Jumlah kolom =")


disp(jkolom)
disp("Jumlah unsur =")
disp(junsur)

Hasil yang akan diperoleh adalah sebagai berikut


Hasil : Latihan 20
Matriks A =

1. 2. 3.
4. 5. 6.

Jumlah baris =

2.

Jumlah kolom =

3.

Jumlah unsur =

6.

-->

4.7 Mengakses unsur matriks


Dengan Scilab, setiap unsur matriks dapat diakses untuk dipergunakan dalam suatu
perhitungan. Bahkan lebih dari itu, suatu blok unsur dalam sebuah matriks juga dapat
diakses. Secara umum ada tiga metode untuk mengakses unsur matriks :

mengakses seluruh matriks, dengan menggunakan sintaks A

mengakses suatu unsur matriks, dengan menggunakan sintaks A(i,j)

mengakses suatu blok unsur matriks, dengan memanfaatkan operator titik dua ":"

Metode pertama, yakni mengakses seluruh matriks, sudah kita pergunakan sejak awal
bab ini dalam operasi penjumlahan, pengurangan, perkalian, dan lain sebagainya.
Sementara metode kedua, yakni mengakses suatu unsur matriks dengan menggunakan
sintaks A(i,j) hanya akan berhasil jika 1i jb dan 1 j jk , dengan jb adalah
jumlah baris dan jk adalah jumlah kolom matriks A. Jika nilai i maupun j di luar selang
yang telah ditentukan, yakni 0 atau lebih besar dari jumlah baris atau jumlah kolom,
maka akan dikeluarkan pesan kesalahan. Berikut ini contoh penggunaan sintaks A(i,j)
Scilab untuk fisikawan

mengakses suatu unsur di matriks A.


Latihan 21 SciNotes
A=[1,2,3;4,5,6]
b=A(2,1)
disp("Matriks A =")
disp(A)
disp("A(2,1) = Unsur pada baris ke 2 dan kolom ke 1 :")
disp(b)

Hasil yang akan didapat adalah sebagai berikut


Hasil : Latihan 21
Matriks A =

1. 2. 3.
4. 5. 6.

A(2,1) = Unsur pada baris ke 2 dan kolom ke 1 :

4.

-->

Sebelum membahas cara untuk mengakses suatu blok unsur suatu matriks, perlu
diperkenalkan dulu mengenai operator titik dua ":". Operator titik dua digunakan untuk
membuat suatu vektor yang unsurnya berupa indeks. Sebagai contoh, silahkan kerjakan
latihan berikut.
Latihan 21 SciNotes
v1=3:10
v2=3:2:10
disp("v1=3:10=")
disp(v1)
disp("v2=3:2:10=")
disp(v2)

Berikut hasil yang akan diperoleh


Hasil : Latihan 21
v1=3:10=

3. 4. 5. 6. 7. 8. 9. 10.

v2=3:2:10=

3. 5. 7. 9.

-->
Scilab untuk fisikawan

Format penggunaan operator titik dua berbentuk v=i:j akan menghasilkan vektor
v=(i,i+1,...,j). Pada latihan di atas, v1=3:10 menghasilkan vektor v1=(3,4,5,...,10).
Sementara penggunaan operator titik dua berbentuk v=i:j:k akan menghasilkan vektor
v=(i,i+j,i+2j,i+3j,....,m). Nilai m akan sama dengan k jika k dapat dituliskan dalam
bentuk i+nj, dengan n bilangan bulat. Tetapi jika k tidak demikian, maka m=i+pj dengan
p suatu bilangan bulat terbesar sedemikian rupa sehingga m < k. Pada latihan di atas
v1=3:2:10 menghasilkan v1=(3,5,7,9). Dalam hal ini, k=10 tidak bisa dinyatakan dalam
bentuk 3+p*2 dengan p bilangan bulat. Sehingga nilai m=9=3+2*2.
Berikut perintah-perintah yang dapat digunakan untuk mengakses unsur-unsur matriks.
A Mengakses seluruh matriks
A(:,:) Mengakses seluruh matriks
A(i:j,k) Mengkases unsur pada baris i sampai j, pada kolom k
A(i,j:k) Mengakses unsur pada baris i, kolom j sampai k
A(i,:) Mengakses baris i
A(:,j) Mengakses kolom j
Tabel 8: Perintah-perintah untuk mengkases unsur-unsur matriks
Untuk lebih memahami penggunaan perintah-perintah tersebut, silahkan kerjakan
latihan berikut.
Latihan 21 SciNotes
A=[1,2,3,4,5;6,7,8,9,0;5,4,3,2,1;0,9,8,7,6]
B=A(:,:)
C=A(2:3,4)
D=A(2,3:4)
E=A(2,:)
F=A(:,3)
disp("A :")
disp(A)
disp("B=A(:,:) :")
disp(B)
disp("C=A(2:3,4) :")
disp(C)
disp("D=A(2,3:4) :")
disp(D)
disp("E=A(2,:) :")
disp(E)
disp("F=A=(:,3) :")
disp(F)

Hasil yang diperoleh adalah sebagai berikut


Hasil : Latihan 21
A:
Scilab untuk fisikawan

1. 2. 3. 4. 5.
6. 7. 8. 9. 0.
5. 4. 3. 2. 1.
0. 9. 8. 7. 6.

B=A(:,:) :

1. 2. 3. 4. 5.
6. 7. 8. 9. 0.
5. 4. 3. 2. 1.
0. 9. 8. 7. 6.

C=A(2:3,4) :

9.
2.

D=A(2,3:4) :

8. 9.

E=A(2,:) :

6. 7. 8. 9. 0.

F=A=(:,3) :

3.
8.
3.
8.

-->

Terlihat dari hasil di atas bahwa format perintah A(i,:) akan menghasilkan matriks baris,
sementara format perintah A(:,i) akan menghasilkan matriks kolom.
Scilab untuk fisikawan

5 Pengujian dan Percabangan

5.1 Pengujian
Fasilitas pengujian sangat diperlukan dalam suatu algoritma perhitungan. Pengujian
dilakukan dengan menggunakan perintah dasar berupa if ... then .... end. Nilai
pengujian hanya dua macam, yakni berupa ungkapan bernilai true (diwakili oleh "1" atau
"%t") atau bernilai false (diwakili oleh "0" atau "%f"). Untuk memudahkan dalam
memahami macam-macam pengujian, dalam bab ini ungkapan "A terjadi" bermakna "A
bernilai true". Sedangkan ungkapan "A tidak terjadi" bermakna "A bernilai false". Berikut
ini beberapa macam kondisi pengujian yang biasa digunakan :

1. Cek apakah A terjadi atau tidak. Jika A terjadi, maka lakukan A1. Jika A tidak
terjadi, tidak perlu lakukan apapun.

Gambar 5: Diagram kondisi


pengujian jenis ke-1
Pada pengujian jenis ini, format perintah yang digunakan adalah if A then A1 end.
Silahkan kerjakan latihan berikut untuk mempraktekkannya.

Latihan 21 SciNotes
hari=1;
if hari==1 then
disp("Hari = Senin")
end

Hasilnya adalah seperti berikut


Scilab untuk fisikawan

Hasil : Latihan 21
Hari = Senin

Perhatikan pada program di atas, pengujian yang dilakukan adalah mengecek


apakah peubah "hari" memiliki nilai sama dengan "1". Jika benar, maka akan
dikerjakan perintah disp("Hari = Senin "). Jika tidak, maka perintah disp("Hari =
Senin ") tidak akan dikerjakan. Hal penting yang perlu diperhatikan disini adalah
pengujian kesamaan tidak menggunakan lambang "=" melainkan menggunakan
lambang "==". Sekarang silahkan anda ganti nilai pada peubah "hari" dengan angka
selain 1 (pada baris pertama). Kemudian eksekusi dan perhatikan hasilnya.
2. Cek apakah A terjadi atau tidak. Jika A terjadi, maka lakukan A1. Jika A tidak
terjadi, maka lakukan A2.

Gambar 6: Diagram kondisi


pengujian jenis ke-2

Pada pengujian jenis ini, format perintah yang digunakan adalah if A then A1 else
A2 end. Silahkan kerjakan latihan berikut untuk mempraktekkannya.

Latihan 21 SciNotes
hari=2;
if hari==1 then
disp("Hari = Senin")
else
disp("Hari = bukan Senin")
end

Hasilnya adalah seperti berikut


Scilab untuk fisikawan

Hasil : Latihan 21
Hari = bukan Senin
-->
Pada pengujian pertama, yakni "hari==1", dihasilkan nilai false karena peubah hari
bernilai 2 (lihat baris pertama). Oleh karena itu program akan mengerjakan
perintah setelah else. Sekarang silahkan anda ganti nilai peubah hari pada baris
pertama menjadi 2, dan dilanjutkan dengan eksekusi. Perhatikan hasilnya.
3. Cek apakah A terjadi atau tidak. Jika A terjadi, maka lakukan A1. Jika A tidak
terjadi, cek apakah B terjadi. Jika B terjadi, maka lakukan B1. Jika B tidak terjadi
, tidak perlu lakukan apapun.

Gambar 7: Diagram kondisi pengujian jenis ke-3

Pada pengujian jenis ini, format perintah yang digunakan adalah if A then A1
elseif B then B1 end. Pada pengujian jenis ini, akan dilakukan 2 pengujian.
Pengujian pertama menguji A, jika tidak terjadi maka akan dilanjutkan dengan
menguji B. Silahkan kerjakan latihan berikut untuk mempraktekkannya.

Latihan 21 SciNotes
hari=2;
if hari==1 then
disp("Hari = Senin")
elseif hari==2
disp("Hari = Selasa")
Scilab untuk fisikawan

end

Hasilnya adalah seperti berikut


Hasil : Latihan 21
Hari = Selasa
-->
Dengan memberikan nilai peubah hari sama dengan 2, maka pada pengujian
pertama, yakni apakah peubah hari bernilai 1, menghasilkan nilai false.
Selanjutnya program akan melakukan pengujian kedua, yakni apakah peubah hari
bernilai 2. Karena pada pengujian kedua ini bernilai true, maka perintah
disp("Hari = Selasa ") akan dikerjakan. Silahkan anda coba untuk mengganti nilai
peubah hari pada baris pertama, dan perhatikan hasilnya setelah dieksekusi.
4. Cek apakah A terjadi atau tidak. Jika A terjadi, maka lakukan A1. Jika A tidak
terjadi, cek apakah B terjadi. Jika B terjadi, maka lakukan B1. Jika B tidak terjadi
, lakukan B2.

Gambar 8: Diagram kondisi pengujian jenis ke-4

Pada pengujian jenis ini, format perintah yang digunakan adalah if A then A1
elseif B then B1 else B2 end. Pada pengujian jenis ini juga dilakukan 2
pengujian, tetapi jika kedua pengujian tersebut menghasilkan nilai true, maka
Scilab untuk fisikawan

akan dikerjakan perintah yang terletak di antara else dan end. Silahkan kerjakan
latihan berikut untuk mempraktekkannya.

Latihan 21 SciNotes
hari=3;
if hari==1 then
disp("Hari = Senin")
elseif hari==2
disp("Hari = Selasa")
else
disp("Hari = bukan hari Senin ataupun Selasa")
end

Hasilnya adalah seperti berikut


Hasil : Latihan 21
Hari = bukan hari Senin ataupun Selasa
-->

Pada baris pertama, peubah hari diberi nilai sama dengan 3. Oleh karena itu, baik
pada pengujian pertama maupun kedua akan dihasilkan nilai false. Sebagai
akibatnya perintah di antara else dan end, yakni disp("Hari = bukan hari Senin
ataupun Selasa") lah yang akan dikerjakan. Silahkan anda coba ganti nilai peubah
hari pada baris pertama, lalu perhatikan hasilnya setelah dieksekusi.

Dari berbagai macam jenis kondisi pengujian tersebut dapat disimpulkan beberapa hal
berikut :

Setiap blok pengujian selalu di awali dengan if dan di akhiri dengan end.

Bagian else ... end boleh ada atau tidak. Contoh untuk kasus ini adalah pengujian
jenis ke-1 dan ke-3.

Bagian else ... end jika ada, hanya ada satu dan terletak pada bagian akhir dari
suatu blok pengujian.

Ungkapan pengujian terletak di antara if dan then atau di antara elseif dan then.

Ungkapan yang harus dikerjakan oleh program (bergantung pengujian) terletak di


antara then dan end atau di antara else dan end.

Jika diperlukan, pengujian jenis ke-3 maupun ke-4 dapat diperluas hingga menjadi
Scilab untuk fisikawan

banyak pengujian di dalamnya.

5.2 Percabangan
Scilab untuk fisikawan

6 Pengulangan

6.1 Pengulangan

6.2 Penggunaan "Break" dan "Continue" dalam pengulangan


Scilab untuk fisikawan

7 Bekerja dengan fungsi buatan sendiri


Scilab untuk fisikawan

8 Mem-plot grafik
Scilab untuk fisikawan

9 Pencarian akar-akar fungsi dengan Metode Newton


Raphson
Scilab untuk fisikawan

10 Integrasi Numerik dengan Metode Simpson


Scilab untuk fisikawan

11 Masalah syarat awal dengan Metode Euler


Scilab untuk fisikawan

12 Masalah syarat batas dengan Metode Beda Hingga

Anda mungkin juga menyukai