47b06 panduan penggunaan software octave

(1)

Octave adalah Free Software yang sangat bermanfaat untuk menyelesaikan berbagai masalah komputasi numerik. Perangkat lunak ini menawarkan kemudahan dan kesederhanaan dalam menyelesaikan permasalahan yang berhubungan dengan vektor dan matriks.

Sebelum dapat memakai Octave, program ini perlu diinstal terlebih dulu. Octave dapat diunduh di http://www.gnu.org/software/octave/download.html. Namun, untuk memudahkan Anda, CD yang disertakan bersama buku ini telah dilengkapi dengan software yang Anda perlukan.Versi Octave yang digunakan untuk mengimplementasikan program di buku ini adalahOctave 3.4.3, sedangkan paketImage Processingyang digunakan berversi 1.0.15. Paket ini bisa diunduh di http://octave.sourceforge.net/image/index.html. Setelah program Octave diunduh, lakukan penginstalan. Pada Windows, letakkan Octavepada folderC:\Octave. Selanjutnya, dekompresilah paket Image Processing dan kemudian letakkan folder image-1.0.15 ke dalam folder C:\Octave. Dengan demikian, susunan folderC:\Octaveseperti berikut:

Setelah terbentuk folder tersebut,Octavesiap dijalankan.

Agar paket Image Processing tersebut dikenali olehOctave, berikan perintah seperti berikut setiap kali Anda menjalankanOctave:

addpath('c:\octave\image-1.0.15\inst')

Perintah di atas memberitahukan Octave untuk menyatakan lokasi paket Image Processing.

Pada lingkungan Windows, program Octave dijalankan dengan cara seperti berikut.

1. Klik pada tombolStart( ). 2. Pilih All Programs.

3. Klik pada .

4. Klik pada .


(2)

Gambar L.1Tampilan awalOctave

Tanda octave:1> menyatakan bahwa Octave siap menerima perintah dari pemakai. Sebagai contoh, cobalah berikan perintah:

PS1(‘>> ‘)

Tandatombol Enter. Dengan cara seperti itu,promptberubah menjadi >>

C a t a t a n Apabilaperintah PS1(‘>> ‘) tidak mengubah prompt, lakukan perintah berikut terlebih dulu:

clear PS1

kemudian, ulangi untuk memberikan perintah: PS1(‘>> ‘)

L.2PerintahOctave

Kehadiran prompt>> atau octave:1> menyatakan bahwa Octave siap menerima perintah dari pemakai. Contoh perintah sederhana yang dapat dicoba:

3+2

Perintah di atas perlu diakhiri dengan menekan tombol Enter. Dalam hal ini, Octave akan memberikan hasil dari perintah tersebut sebagaimana terlihat di bawah ini.


(3)

Hasil di atas menyatakan bahwa hasil ekspresi 3+2 adalah 5. Tulisan ans berasal dari kata “answer” yang artinya adalah jawaban.

Secara umum, perintah atau pernyataan dasar dalamOctaveberbentuk Variabel = ekspresi

atau

ekspresi

Apabila perintah yang diberikan tidak dikenal, Octave akan menampilkan pesan kesalahan. Sebagai contoh, perintah seperti berikut akan menimbulkan kesalahan:

>> 3+2a

Kesalahannya berupa: >>>3 + 2a

^

Tanda ^ menunjukkan posisi yang salah.

Untuk memperbaiki ekspresi yang salah, tombol bisa digunakan untuk menampilkan perintah.Kemudian, pengeditan terhadap perintah dapat dilakukan.Supaya perintah yang barus saja disunting dijalankan, tombol Enter perlu ditekan.

Berikut adalah beberapa tombol penting yang berguna untuk menyunting perintah.

 Del : Menghapus karakter pada posisi kursor.

 Backspace: Menghapus karakter di sebelah kiri kursor.

 : Menggeser kursor ke kiri

 : Menggeser kursor ke kanan

 : Memperoleh perintah yang terletak sebelum perintah sekarang

 : Memperoleh perintah yang terletak setelah perintah sekarang L.3 Operator

Operator adalah suatu simbol yang digunakan dalam suatu ekspresi untuk menyatakan suatu operasi tertentu.Sebagai contoh, pada ekspresi 3+2, + menyatakan operator, sedangkan 3 dan 2 berkedudukan sebagaioperand.Selain +, terdapat beberapa operator yang terkait dengan operasi aritmetika. Tabel L.1 memperlihatkan daftar operator aritmetika.


(4)

Tabel L.1Daftar operator aritmetika Operator Keterangan

+ Penjumlahan atau tanda positif - Pengurangan atau tanda negatif

* Perkalian

/ atau \ Pembagian

^ Pangkat

C a t a t a n  Antara operand dan operator dapat diberikan spasi. Penambahan spasi seperti itu lazim dilakukan dengan tujuan agar ekspresi mudah dibaca oleh orang (tidak tampak ruwet, terutama kalau ekspresi panjang).

 Tanda pecahan di dalam Octave ditulis dengan tanda titik. Contoh: 2.3 menyatakan bilangan 2,3.

Octave memperkenankan penulisan bilangan real dalam notasi sains semacam:

2.34e5

yang berarti 2,34 x 105. Adapun 2.34e-5

berarti 2,34 x 10-5atau sama dengan 2,34 / 105.

 Pada notasi seperti 2.34e-5, tanda e bisa diganti dengan E. Tabel L.2 memperlihatkan sejumlah contoh untuk melakukan perhitungan aritmetika. Perhatikan bahwa pada ekspresi yang kompleks, tanda () digunakan untuk mengatur urutan perhitungan.

Tabel L.2Sejumlah contoh perhitungan aritmetika Ekspresi Matematika Ekspresi Octave

2 + 3 2 + 3

2–3 2–3

2 x 3 2 * 3

7 / 2 7 / 2 atau 2 \ 7

72 7 * 7 atau 7 ^ 2

3125 125 ^ (1/3)

(7 + 2) x 3 (7 + 2) * 3

Tabel L.3 memperlihatkan prioritas untuk operator aritmetika. Angka yang lebih kecil dalam prioritas menyatakan bahwa urutan pengerjaannya lebih tinggi. Perlu diketahui, apabila dalam suatu ekspresi terdapat lebih dari sebuah operator yang memiliki prioritas yang sama, pengerjaan akan dimulai dari kiri ke kanan.


(5)

Tabel L.3Prioritas operator aritmetika Operator Keterangan Prioritas

+ Tanda positif

Penjumlahan

1 4

- Tanda negatif

Pengurangan

1 4

* Perkaliaan 3

/ atau \ Pembagian 3

^ Pangkat 2

L.4 Variabel dalamOctave

Variabel biasa dipakai dalam menuliskan kode Octave. Variabel adalah suatu nama yang dapat dipakai untuk menyimpan suatu nilai dan nilai yang ada di dalamnya bisa diubah sewaktu-waktu. Aturan yang berlaku dalam memberikan nama terhadap variabel adalah seperti berikut.

Octave membedakan huruf kecil dan huruf kapital pada penamaan variabel. Dengan demikian,bilangandanBilanganadalah dua variabel yang berbeda.

 Nama variabel harus diawali dengan huruf, sedangkan kelanjutannya dapat berupa huruf, angka, atau tanda garis-bawah (_).

 Panjang nama variabel dapat mencapai 31 karakter. Jika nama variabel lebih dari 31 karakter, maka karakter ke-32 dan seterusnya diabaikan.

 Nama variabel bersifat case sensitive. Artinya, huruf kapital dan huruf kecil dibedakan. Jadi, nama seperti Bil dan bil dianggap berbeda.

Secara umum, penugasan/pemberian nilai ke suatu variabel dilakukan dengan bentuk seperti berikut:

variabel = nilai

Nilai yang diberikan ke variabel dapat berupa suatu konstanta, variabel, atau bahkan suatu ekspresi. Contoh:

bilangan = 27

Pada contoh di atas, variabel bilangan diberi nilai 27.

Isi variabel bisa dilihat sewaktu-waktu dengan cara mengetikkan nama variabel dan diakhiri dengan menekan tombol Enter. Contoh:

>>bilangan bilangan =27

>>

Isi variabel bisa diubah. Misalnya, bilangan = bilangan + 3


(6)

Pernyataan di atas akan membuat isi variabel bilangan dinaikkan sebesar 3. Kalau semula bilangan bernilai 27, variabel itu berubah menjadi 30 sesudah pernyataan tersebut dijalankan.

Octave menyediakan sejumlah variabel khusus, yaitu variabel yang dipakai oleh Octave dan memiliki makna secara khusus. Sejumlah variabel khusus dapat dilihat pada Tabel L.4.

Tabel L.4Daftar variabel khusus Variabel Keterangan

ans Menampung hasil suatu ekspresi yang

dijadikan sebagai sebuah pernyataan

eps Bilangan terkecil dalam komputer

yang apabila ditambah dengan satu maka akan bernilai lebih besar daripada satu

flops Jumlah operasi bilangan pecahan Inf Berasal dari kata “infinitive” yang

artinya adalah tak berhingga (hasil 1 / 0)

NaN Berasal dari “Not-a-Number” atau “bukan sebuah bilangan. Misalnya hasil dari 0/0

pi Menyatakan bilangan π

realmin Bilangan real positif terkecil realmax Bilangan real positif terbesar L.5Akhiran Titik Koma dan Pemisahan Pernyataan

Octave menyediakan mekanisme yang membuat penugasan terhadap suatu variabel tidak membuatOctavesecara otomatis menampilkan isi variabel tersebut. Hal itudilaksanakan dengan menambahkan titik-koma (;) di belakang pernyataan penugasan. Untuk melihat efeknya, perhatikan contoh berikut.

>> intensitas = 20;

>> kecerahan = intensitas + 30 kecerahan =50

>>

Tampak bahwa:

 pada pernyataan pertama, titik koma membuat nilai intensitas tidak ditampilkan;

 pada pernyataan kedua, karena titik-koma tidak diberikan, nilai kecerahan secara otomatis ditampilkan.


(7)

Normalnya, sebuah baris berisi sebuah perintah. Pada praktiknya, dimungkinkan untuk menuliskan beberapa perintah dalam sebuah baris. Hal ini dapat dilakukan dengan meletakkan tanda titik-koma (;) atau koma (,) antara dua buah perintah. Contoh:

>> tinggi = 4; lebar = 3; >>

Tanda titik koma menyebabkan hasil perintah penugasan variabel yang ada didepannya tidak ditampilkan. Bandingkan dengan contoh berikut:

>> tinggi = 4, lebar = 3;

tinggi = 4 >>

Tampak bahwa tanda koma sebagai pemisah antar pernyataan tetap menampilkan isi variabel tinggi.

L.6 Mengenal Memori untuk Variabel

Variabel-variabel yang diciptakan pemakai akan dikelola oleh Octavedan diletakkan dalam memori kerja. Semua variabel dalam memori dapat dipantau dengan menggunakanwho. Contoh:

>>who

Variable in the current scope: intensitas kecerahan

>>

Sebuah variabel membutuhkan memori komputer. Agar memori yang dipakai tidak membesar, variabel-variabel yang tidak digunakan perlu dihapus. Caranya, gunakan perintahclear. Contoh:

>>clear intensitas

akan menghapus variabel bernama intensitas dariworkspace.

Penghapusan sejumlah variabel bisa dilakukan sekaligus. Contoh: clear R1 R2 R3

menghapus variabel R1, R2, dan R3.

Penghapusan semua variabel dalam workspace cukup dilakukan dengan memberikan perintah seperti berikut:


(8)

Selain who, terdapat pula perintah whos. Perintah whos menghasilkan informasi yang lebih lengkap terhadap variabel-variabel yang terdapat pada memori kerja. Contoh:

>>intensitas = 20; >>whos

Variables in the current scope:

Attr Name Size Bytes Class ==== ==== ==== ===== ===== ans 1x1 8 double

intensitas 1x1 8 double

Total is 2 elements using 16 bytes

>>>>

L.7 Tipe Data

Setiap ekspresi ataupun variabel mempunyai tipe data. Di Octave, tipe data dinyatakan dalam kelas. Sebuah kelas pada dasarnya adalah gabungan antara tipe data dan operasi yang dapat dikenakan terhadap nilai pada tipe tersebut. Berikut adalah nama-nama kelas yang tersedia diOctave.

 Bilangan pecahan atau titik mengambang:

o single: bilangan pecahan berpresisi tunggal

o double: bilangan pecahan berpresisi ganda  Bilangan bulat:

o int8: bilangan bulat berukuran 8 bit

o int16: bilangan bukat berukuran 16 bit

o int32: bilangan bukat berukuran 32 bit

o int64: bilangan bukat berukuran 64 bit  Karakter:

o char: menyatakan sebuah karakter atau deretan karakter (string)Logika:

o logical: menyatakan nilai logika true (benar) atau false (salah).

Untuk membuat suatu variabel dengan kelas tertentu secara eksplisit, diperlukan perintah dengan bentuk semacam berikut:

x = kelas(nilai) Contoh:

intensitas = uint8(20);

Dengan cara seperti itu, intensitas berkelas uint8. Perlu diketahui, uint8 berarti kelas bilangan bulat tak bertanda (hanya mencakup nilai positif).


(9)

L.8 Mengenal FasilitasHelp

Octave menyediakan fasilitas bantuan yang sangat berguna untuk memperoleh informasi mengenai topik tertentu secaraonline. Untuk mendapatkan bantuan tentang suatu materi, gunakan help dikuti dengan materi yang penjelasannya ingin didapatkan. Contoh:

>> help pi

`pi' is a built-in function

-- Built-in Function: pi -- Built-in Function: pi (N) -- Built-in Function: pi (N, M)

-- Built-in Function: pi (N, M, K, ...) -- Built-in Function: pi (..., CLASS)

Return a scalar, matrix, or N-dimensional array whose elements are

...

>>

Tampak bahwaOctavememberikan penjelasan tentangpi. L.9 Bilangan Kompleks

Octave tidak hanya bisa dipakai untuk menangani bilangan real tetapi juga bisa dipakai untuk memanipulasi bilangan kompleks. Sebagaimana diketahui, bilangan kompleks adalah bilangan yang memiliki bentuk:

a + bj

dengan j adalah 1.

Di dalam Octave, 1dapat diwakili oleh variabel i atau j. Contoh penugasan bilangan kompleks ke variabel:

>> z = 3 + 4j

z = 3 + 4i >>

Pembentukan bilangan kompleks juga bisa dilakukan melalui dua buah variabel seperti berikut:

>> x = 3;

>> y = 4;

>> z = x + y * i 

z = 3 + 4i >>

Pada contoh di atas, i berkedudukan sebagai fungsi untuk membentuk bagian imajiner.


(10)

Berbagai operasi aritmetika seperti pada bilangan real juga bisa dilakukan pada bilangan kompleks. Sebagai contoh:

>> z1 = 4 + 6j;

>> z2 = 3 - 2j;

>> z1+ z2

ans =7 + 4i >>

L.10 Fungsi Matematika

Octave menyediakan banyak fungsi yang berguna untuk melakukan operasi tertentu. Fungsi adalah suatu nama yang mewakili suatu operasi tertentu; misalnya, sqrt digunakan untuk menghitung akar kuadrat dan sin dipakai untuk menghitung sinus suatu radian. Dalam hal ini, nilai yang akan dilewatkan ke dalam fungsi disebut sebagaiargumen. Contoh:

sqrt(25)

merupakan bentuk pemanggilan fungsi sqrt dengan argumen berupa angka 25. Maksudnya, fungsi tersebut digunakan untuk menghitung akar kuadrat bilangan 25.

Beberapa fungsi hanya melibatkan sebuah argumen, tetapi ada juga yang melibatkan lebih dari satu argumen. Bila argumen fungsi lebih dari sebuah, antar argumen perlu diberi tanda koma. Contoh:

>> rem(7, 2)

ans = 1 >>

Pada contoh di atas, antara 7 dan 2 harus dipisahkan dengan koma. Adapun tanda spasi hanya bersifat opsional dan biasanya diberikan agar mudah dibaca oleh orang. Fungsi rem sendiri berguna untuk mendapatkan sisa pembagian. Pada contoh, sisa pembagian 7 dengan 2 adalah sebesar 1.

Sebuah fungsi menghasilkannilai balik (return value) dan nilai ini tentu saja dapat diberikan ke variabel. Contoh:

>> x = sqrt(49) x = 7

>>

Pada contoh di atas, nilai balik sqrtyaitu akar kuadrat 25 diberikan ke variabel x. Dengan demikian, x berisi 5.

Beberapa fungsi yang berhubungan dengan matematika diperlihatkan pada Tabel L.5 dan Tabel L.6.


(11)

Tabel L.5Sejumlah fungsi dasar matematika Fungsi Keterangan

abs(x) Fungsi ini menghasilkan nilai absolut suatu bilangan. Jika dikenakan pada bilangan kompleks, hasilnya berupa besarannya. Contoh:

abs(-5)→ 5 abs(3 + 4j)→ 5

angle(x) Fungsi ini menghasilkan sudut dari suatu bilangan kompleks x. Satuan sudut adalah radian.

Contoh:

angle(4-4i)→-0.7854

ceil(x) Fungsi melakukan pembulatan ke bilangan bulat terdekat yang nilainya lebih besar daripada x. Contoh:

ceil(4.5)→ 5 ceil(-4.5)→-4

conj(x) Fungsi ini menghasilkanconjugatedari suatu bilangan kompleks. CONJ(X) = REAL(X) -i*IMAG(X).

Contoh:

conj(4 + 8j)→ 4 –8j conj(4 - 8j)→ 4 + 8j

exp(x) Fungsi ini menghasilkan nilai eksponen dari bilangan x (ex).

fix(x) Fungsi ini menghasilkan bagian bulat dari suatu bilangan.

Contoh: fix(4.5)→ 4 fix(-4.5)→-4

floor(x) Fungsi ini menghasilkan bilangan bulat terdekat dari x yang nilainya kurang dari x.

Contoh: floor(4.5)→ 4 floor(-4.5)→-5


(12)

Fungsi Keterangan

gcd(x, y) Fungsi ini menghasilkan bilangan yang merupakan faktor persekutuan terbesar dari bilangan x dan y.

Contoh:

gcd(60, 24)→ 12

imag(x) Fungsi ini menghasilkan bagian imajiner dari suatu bilangan kompleks.

Contoh:

imag(3 + 4j)→ 4 imag(3–4j)→-4

log(x) Fungsi ini menghasilkan logaritma alami suatu bilangan (ln x).

log10(x) Fungsi ini menghasilkan logaritma dari suatu bilangan.

Contoh:

log10(100)→ 2 log10(1000)→ 3

real(x) Fungsi ini menghasilkan bagian real suatu bilangan kompleks.

Contoh: real(3+4j)→ 3

rem(x, y) Fungsi ini menghasilkan sisa dari x/y. Contoh:

rem(3, 2)→ 1

round(x) Fungsi ini menghasilkan bilangan bulat yang merupakan pembulatan terdekat terhadap suatu bilangan.

Contoh: round(4.5)→ 4 round(4.1)→ 4

sign(x) Fungsi ini menghasilkan bilangan berupa:  1 kalau x bernilai lebih dari nol  0 kalau x bernilai nol


(13)

Fungsi Keterangan Contoh:

sign(5)→ 1 sign(0)→ 0 sign(-5)→-1

sqrt(x) Fungsi ini menghasilkan akar kuadrat dari bilangan x.

Tabel L.6Sejumlah fungsi trigonometri dan hiperbolik Fungsi Keterangan

sin(x) Fungsi ini menghasilkan sinus dari x. Dalam hal ini, x berupa sudut dalam satuan radian. cos(x) Fungsi ini menghasilkan kosinus dari x.

Dalam hal ini, x berupa sudut dalam satuan radian.

tan(x) Fungsi ini menghasilkantangentdari x. Dalam hal ini, x berupa sudut dalam satuan radian.

asin(x) Fungsi ini menghasilkan inversi sinus dari x. x berupa nilai antara -1 dan 1. Hasilnya berkisar antara -π/2 dan π/2 dalam satuan radian.

acos(x) Fungsi menghasilkan inversi kosinus dari x. x berupa nilai antara -1 dan 1. Hasilnya berkisar antara -0 dan π dalam satuan radian.

atan(x) Fungsi ini menghasilkan inversitangentdari x. Hasilnya berkisar antara -π/2 danπ/2 dalam satuan radian.

atan2(x, y) Fungsi ini menghasilkan inversitangentdari y/x. Hasilnya berkisar antara -πdanπdalam satuan radian.

sinh(x) Fungsi ini menghasilkan sinus hiperbolik dari x (yaitu

2

x x

e e  

).

cosh(x) Fungsi ini menghasilkan kosinus hiperbolik dari x (yaitu

2

x x

e e  

).

tanh(x) Fungsi ini menghasilkantangenthiperbolik x.

asinh(x) Fungsi ini menghasilkan inversi sinus hiperbolik x.


(14)

hiperbolik x.

atanh(x) Fungsi ini menghasilkan inversitangent hiperbolik x.

L.11 Prioritas Operator dalamOctave

Prioritas keseluruhan operator dalam Octave bisa dilihat pada Tabel L.7. Informasi yang terkandung di dalamnya sangat bermanfaat ketika melibatkan berbagai operator.

Tabel L.7Daftar prioritas operator dalamOctave Prioritas Keterangan

1 (tertinggi) Kurung

2 Perpangkatan

3 Logika NOT (~)

4 Perkalian, pembagian

5 Penjumlahan, pengurangan

6 Operator relasional

7 Logika AND (&)

8 (terendah) Logika OR (|)

L.12 MengakhiriOctave

MengakhiriOctavedapat dilakukan dengan cara mengetikkan perintahexit.

L.13String Karakter

Octave tidak hanya berguna untuk menangani data numerik, melainkan juga bisa digunakan untuk memproses string karakter. String karakter (atau sering disebut dengan nama singkat string) adalah deretan karakter. Sebuah string bisa saja terdiri dari puluhan karakter, satu karakter, atau bahkan tidak mengandung karakter sama sekali. String yang tidak mengandung karakter satu pun biasa disebut string kosong.

String ditulis dengan awalan dan akhiran tanda petik tunggal. Contoh: nama = ’Siti Nurhaliza’

Pada contoh di atas, variabel nama diisi dengan string ‘Siti Nurhaliza’.

Adapun contoh berikut menunjukkan variabel yang diisi dengan string kosong:

temp = ’’

Apabila suatu string mengandung petik tunggal, petik tunggal perlu ditulis dua kali. Contoh:


(15)

Dalam hal ini, variabel kataberisi string : don’t.

C a t a t a n

Octave dapat menerima tanda petik ganda sebagai awalan dan akhiran string. Namun, tanda tersebut tidak berlaku padaMATLAB.

L.14 Menampilkan dengan disp

Isi suatu variabel biasa ditampilkan dengan cara menyebutkan nama variabel. Cara yang lain adalah menggunakandisp. Contoh penggunaan perintah ini:

>> S = 'Tes...tes...123';

>> disp(S);

Tes...tes...123 >>

Contoh di atas menunjukkan penampilan variabel Smelaluidisp.

Contoh berikut menunjukkan penggunaan disp untuk menggabungkan informasi string dan isi sebuah variabel.

>> disp (['Intensitas: ' num2str(intensitas)]) Intensitas: 20

>>

Perhatikan penggabungan antara string ‘Intensitas ‘ dan isi variabel intensitas dilakukan dengan meletakkan kedua hal tersebut dalam tanda [ ]. Perlu juga diketahui, notasi [ ] adalah notasi larik (array) dan elemen dalam larik harus setipe. Itulah sebabnya, intensitas yang bertipe bilangan perlu dikonversikan ke string melalui fungsi num2str, yang berfungsi melakukan konversi bilangan ke string.

L.15 Larik

Sebuah larik (array) dapat menampung sejumlah data yang sejenis. Oleh karena itu, larik sangat berguna untuk menyatakan vektor ataupun matriks. Vektor adalah larik dengan satu dimensi. Vektor kolom adalah vektor dengan satu kolom dan vektor baris adalah vektor dengan satu baris. Matriks adalah larik yang berdimensi dua.


(16)

C a t a t a n

Hanya sebagai kebiasaan, nama larik biasa ditulis dengan menggunakan huruf awal berupa kapital. Jadi, hal ini bukanlah suatu keharusan.

Sebagai contoh, terdapat vektor seperti berikut:

     

 

     

 

9 8 7 6 5

Vektor tersebut dapat dinyatakan dengan larik dengan cara yang sangat sederhana, yaitu seperti berikut:

V = [ 5; 6; 7; 8; 9]

Tanda [ ] digunakan untuk menyatakan larik dan tanda titik-koma (;) digunakan untuk memisahkan antar elemen. Dengan cara seperti itu, V berisi vektor kolom (vektor yang mengandung hanya sebuah kolom dan memiliki sejumlah baris).

Seperti halnya variabel biasa (nonlarik), isi larik dapat ditampilkan dengan cukup menyebutkan namanya. Perhatikan contoh berikut:

>>V = [ 5; 6; 7; 8; 9] V =

5 6 7 8 9

>>

Jika dikehendaki untuk membuat vektor baris (vektor yang hanya mengandung sebuah baris, tetapi memiliki sejumlah kolom), antar elemen dalam larik perlu ditulis dengan pemisah spasi atau koma. Contoh:

V = [ 5 6 7 8 9] atau


(17)

V = [ 5; 6; 7; 8; 9]

L.16 Notasi : untuk Menyatakan Jangkauan

Pada pembentukan elemen larik, notasi titik dua (:) dapat dipakai untuk menyatakan jangkauan. Contoh:

V = [ 1:5 ] identik dengan

V = [ 1, 2, 3, 4, 5 ]

Selain notasi berbentuk x : y,Octavejuga menyediakan notasi : a : b : c

Pada bentuk ini,

 a menyatakan nilai awal;

 b menyatakan kenaikan untuk elemen berikutnya;

 c menyatakan batas nilai tertinggi dalam jangkauan. Contoh:

V = [ 1: 2: 7 ] atau

V = [ 1: 2: 8 ]

akan memberikan hasil yang sama, yaitu [ 1, 3, 5, 7]

Contoh berikut memperlihatkan pembentukan larik yang menggunakan 10:-2:0:

>> V = 10:-2:0

V =

10 8 6 4 2 0

>>

Perlu diketahui, V = 10:-2:0


(18)

identik dengan V = [ 10:-2:0 ] L.17 Operasi Transpos

Octave menyediakan operator yang disebut transpos dan dinotasikan dengan petik tunggal (’). Jika diterapkan pada vektor, operator transpos menghasilkan vektor baris terhadap suatu vektor kolom atau menghasilkan vektor kolom terhadap vektor baris. Bentuk pemakaiannya:

V’ Contoh:

>> V = [ 1 2 3 4]

V =

1 2 3 4

>> V' 

ans = 1 2 3 4

>>

L.18 Membentuk Matriks

Matriks mempunyai notasi seperti berikut:

Secara umum, matriks mengandung lebih dari sebuah kolom dan baris. Jumlah baris dan kolom tidak harus sama.

Tanda koma atau titik-koma bisa digunakan untuk memisahkan elemen. Tanda koma untuk memisahkan elemen dalam baris yang sama, sedangkan tanda titik koma berfungsi sebagai pemisah baris. Contoh :

>> I = [1 2 3; 4 5 6; 7 8 9]

I =

   

 

   

 

mn m

m

n n

a a

a

a a

a

a a

a

... ...

... ...

2 1

2 22

21

1 12


(19)

1 2 3 4 5 6 7 8 9

>>

Alternatif lain, setiap baris dipisahkan dengan Enter. Contoh:

>> I = [ 1 2 3

4 5 6

7 8 9]  I =

1 2 3 4 5 6 7 8 9

>>

L.19 Operasi Skalar terhadap Larik

Octave menyediakan cara yang sangat mudah untuk mengenakan operasi nilai skalar terhadap suatu larik. Sebagai contoh, untuk mengalikan setiap elemen larik dengan nilai 2, dapat ditulis perintah seperti berikut:

>> A = [2 4; 3 5]; >> A * 2

ans =

4 8 6 10

>>

Secara prinsip, operator seperti +, -, dan / dapat dipakai untuk melakukan operasi skalar terhadap larik. Khusus kalau operasi yang akan dilakukanberupa pemangkatan setiap elemen dengan suatu nilai, operator ^ perlu ditulis menjadi .^. Contoh:

>> A = [1 2; 3 4]

A =

1 2 3 4

>> B = A .^ 2


(20)

1 4 9 16

>>

L.20 Operasi Matematika Antarlarik

Apabila dua buah matriks memiliki dimensi yang sama (jumlah baris sama dan jumlah kolom sama), operasi matematika antarlarik bisa dikenakan. Sebagai contoh, terdapat dua buah matriks seperti berikut:

A =             mn m m n n a a a a a a a a a ... ... ... ... 2 1 2 22 21 1 12 11 B =             mn m m n n b b b b b b b b b ... ... ... ... 2 1 2 22 21 1 12 11

Operasi seperti berikut

                     mn mn m m m m n n n n b a b a b a b a b a b a b a b a b a ... ... ... ... 2 2 1 1 2 2 22 22 21 21 1 1 12 12 11 11

dapat diperoleh melalui perintah C = A + B

Contoh:

>> A = [1 2; 3 4]; >> B = [6 -3; -1 2];

>> C = A + B C =

7 -1

2 6

>>


(21)

                     mn mn m m m m n n n n b a b a b a b a b a b a b a b a b a ... ... ... ... 2 2 1 1 2 2 22 22 21 21 1 1 12 12 11 11

perintahyang diperlukan berupa C = A–B

Contoh berdasarkan matriks A dan B di depan:

>> C = A – B

C =

-5 5 4 2

>>

Untuk melakukan operasi perkalian antar elemen matriks seperti berikut

            mn mn m m m m n n n n xb a xb a xb a xb a xb a xb a xb a xb a xb a ... ... ... ... 2 2 1 1 2 2 22 22 21 21 1 1 12 12 11 11

dapat diberikan perintah berupa C = A .* B

Perhatikan bahwa di depan * ada tanda titik. Operasi seperti

A * B

memiliki makna yang berbeda, yaitu sebagai berikut

                              1 21 2 11 1 1 21 2 11 1 1 2 21 22 11 21 1 2 21 22 11 21 1 1 1 12 1 11 1 1 21 12 11 11 ... ... ... ... ... ... ... ... ... ... n nn n n n nn n n n n n n n n n n n n xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a xb a

Dalam hal ini, jumlah kolom matriks A harus sama dengan jumlah baris matriks B. Contoh:


(22)

>> A * B

ans =

4 1

14 -1

>>

Untuk melakukan operasi pembagian antar elemen matriks seperti berikut

            mn mn m m m m n n n n b a b a b a b a b a b a b a b a b a : ... : : ... : ... : : : ... : : 2 2 1 1 2 2 22 22 21 21 1 1 12 12 11 11

diperlukan perintah berupa C = A ./ B

atau

C = B .\ A

Contoh penggunaan ./:

>> C = A ./ B C =

0.16667 -0.66667 -3.00000 2.00000

>>

Untuk melakukan operasi pemangkatan antar elemen matriks seperti berikut

            mn mn m m m m n n n n b a b a b a b a b a b a b a b a b a ^ ... ^ ^ ... ^ ... ^ ^ ^ ... ^ ^ 2 2 1 1 2 2 22 22 21 21 1 1 12 12 11 11 diperlukan perintahberupa C = A .^ B


(23)

>> C = A .^ B

C =

1.00000 0.12500 0.33333 16.00000 >>

Tabel L.8 memberikan ringkasan tentang operasi antar elemen pada dua buah vektor. Pada prinsipnya, hal ini juga berlaku untuk matriks.

Tabel L.8Ringkasan operasi antarelemen matriks Operasi Keterangan

A adalah vektor [a1a2a3.. an]

B adalah vektor [b1b2b3.. bn]

Penjumlahan elemen-elemen vektor

A+B = [a1+b1a2+b2a3+b3.. an+bn]

Pengurangan elemen-elemen vektor

A-B = [a1-b1a2-b2a3-b3.. an-bn]

Perkalian elemen-elemen vektor

A.*B = [a1*b1a2*b2a3*b3.. an*bn]

Pembagian elemen-elemen vektor

A./B = [a1/b1a2/b2a3/b3.. an/bn]

Pemangkatan elemen-elemen vektor

A.^B = [a1^b1a2^b2a3^b3.. an^bn]

L.21 Mengakses Larik

Pengaksesan (pengambilan atau pengubahan) elemen larik dapat dilakukan dengan menggunakan notasi:

1) A(i) untuk vektor 2) A(i, j) untuk matriks

Dalam hal ini,A adalah nama larik dan i serta j menyatakan indeks. Baik i dan j dimulai dari 1.

Jika V adalah vektor,

V(1) menyatakan elemen pertama dalam vektor,

V(2) menyatakan elemen kedua dalam vektor, dan seterusnya. Contoh:

>> V = [ 9 6 3 1];

>> V(2) ans = 6 >> V(3)


(24)

ans = 3 >>

Pada matriks,ipada notasi A(i, j) menyatakan indeks baris dan jmenyatakan indeks kolom. Contoh berikut menunjukkan pembentukan matriks A dan cara menampilkan elemen pada baris 2 kolom 1.

>> A = [1 2; 3 4];

>> A(2,1)

ans = 3 >>

Adapun contoh berikut digunakan untuk mengubah elemen pada baris 2 kolom 1 dengan nilai 10:

>> A = [1 2; 3 4];

>> A(2,1) = 10

A =

1 2 10 4

>>

Tampak bahwa isi elemen baris 2 kolom 1 yang semula berisi 3 telah diganti dengan 10.

Sekarang perhatikan contoh berikut:

>> A = [1 2; 3 4];

>> A(4,1) = 9;

>> A

A =

1 2 3 4 0 0 9 0

>>

Tampak bahwa larik A tidak lagi berukuran 2x2 melainkan menjadi 2x4. Mengapa begitu? Mengingat kolom 4 semula tidak ada, maka penugasan nilai pada elemen yang semula tidak ada akan membuat Octavemenjadikan larik tersebut berukuran sesuai dengan indeks terbaru. Alhasil, akan terbentuk ukuran baru, dengan elemen-elemen baru yang tidak disebutkan dalam penugasan berisi nol. Contoh ini sekaligus menunjukkan bahwa ukuran larik bisa diperbesar.

Notasi larik() juga bisa digunakan untuk mengambil sebagian elemen dalam larik. Contoh:


(25)

>> A = [ 1 2 3; 4 5 6; 7 8 9]

A =

1 2 3 4 5 6 7 8 9

>> B = A(2:3,:) B =

4 5 6 7 8 9

>>

Notasi 2:3 pada A(2:3,:) berarti baris 2 hingga baris 3, sedangkan notasi : setelah koma berarti semua kolom.

Perhatikan pula contoh berikut.

>> A = [ 1 2 3; 4 5 6; 7 8 9]

A =

1 2 3 4 5 6 7 8 9

>> A(:,2)

ans = 2 5 8

>>

Pada contoh di atas, mengingat tanda : diletakkan pada indeks baris maka berarti “dari baris pertama hingga baris yang terakhir”. Dengan kata lain, A(:,2) berarti mengambil hanya kolom kedua pada larik A (untuk semua baris).

Sebuah larik juga bisa dibentuk dari gabungan dua buah larik atau lebih. Contoh berikut menunjukkan pembentukan larik C yang didasarkan pada isi larik A dan B.

>> A = [ 1 2 3; 4 5 6; 7 8 9]

A =

1 2 3 4 5 6


(26)

7 8 9

>> B = [40, 50; 60, 70; 80, 90]

B =

40 50 60 70 80 90

>> C = [A B(:,2)] 

C =

1 2 3 50 4 5 6 70 7 8 9 90

>>

Pada contoh di atas, C = [ A B(:, 2)]

berarti membentuk larik C yang merupakan gabungan dari keseluruhan larik A ditambah dengan sebuah kolom dari larik B (yaitu kolom 2).

Contoh berikut menunjukkan cara mengubah elemen dalam matriks menjadi sebuah vektor.

>> A = [ 1 2 3; 4 5 6; 7 8 9]

A =

1 2 3 4 5 6 7 8 9

>> A(:)

ans = 1 4 7 2 5 8 3 6 9


(27)

L.22 Memperoleh Ukuran Larik

Ukuran suatu larik ditentukan oleh jumlah baris dan kolom. Misalnya, matriks

memiliki ukuran 5 x 4, sedangkan vektor kolom

                9 8 7 6 5

memiliki ukuran 5 x 1.

Ukuran suatu larik dapat diketahui dengan menggunakan fungsisize. Contoh:

>> A = [ 1 2 3; 4 5 6; 7 8 9; 10 11 12];

>> size(A) ans =

4 3

>>

Hasil size berupa vektor baris yang berisi 2 elemen. Elemen pertama berupa jumlah baris dan elemen kedua berupa jumlah kolom. Itulah sebabnya, penugasan seperti berikut diperkenankan.

>> A = [ 1 2 3; 4 5 6; 7 8 9; 10 11 12];

>> [tinggi, lebar] = size(A)

tinggi = 4 lebar = 3 >>                 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1


(28)

Pada contoh di atas, variabel tinggi diisi dengan elemen pertama yang dihasilkan size, yaitu menyatakan jumlah baris dan variabel lebar berisi jumlah kolom.

Terkait dengan larik, terdapat fungsi length, yang kegunaannya adalah menghasilkan jumlah elemen dalam suatu vektor. Contoh:

>> V = [4 3 2 1 7]; >> length(V)

ans =5 >>

L.23 Mengenal Sejumlah Fungsi Larik

Sejumlah fungsi dasar yang terkait dengan larik dapat dilihat pada Tabel L.9. Tabel L.9Sejumlah fungsi tentang larik

Fungsi Keterangan

linspace(x,y,n) Menghasilkan vektor yang memiliki elemen pertama x dan elemen terakhir y dengan jumlah elemen berupa n buah dengan selang antara elemen satu dengan berikutnya bernilai sama.

logspace(x,y,n) Menghasilkan vektor yang memiliki elemen pertama 10x dan elemen terakhir 10y dengan jumlah elemen berupa n buah dengan selang antara elemen satu dengan berikutnya bernilai sama secara logaritmik.

find(M) Menghasilkan indeks untuk semua elemen yang tidak bernilai nol.

ones(M,N) ones(M)

Membentuk matriks berukuran MxN dengan seluruh elemen diisi dengan angka 1. Jika argumen hanya sebuah, ukuran matriks yang dibentuk berupa MxM.

zeros(M,N) zeros(M)

Membentuk matriks berukuran MxN dengan seluruh elemen diisi dengan angka 0. Jika argumen hanya sebuah, ukuran matriks yang dibentuk berupa MxM.

Contoh berikut memberikan gambaran tentang fungsilinspace. >>linspace(1,5,6)

ans =

1.0000 1.8000 2.6000 3.4000 4.2000 5.0000

>>

Hasil di atas menunjukkan bahwa argumen ketiga menentukan jumlah elemen yang dihasilkan olehlinspace.


(29)

>>logspace(2,5,6) ans =

1.0000e+002 3.9811e+002 1.5849e+003 6.3096e+003 2.5119e+004 1.0000e+005

>>

Contoh berikut menunjukkan penggunaanfind:

>> A = [3 4 1; 2 5 9; 4 1 2]

A =

3 4 1 2 5 9 4 1 2

>> [baris, kolom] = find(A<3)

baris =

2 3 1 3

kolom =

1 2 3 3

>> find(A<3)

ans =

2 6 7 9

>>

Pada contoh di atas, find menghasilkan pasangan indeks baris dan kolom untuk semua elemen pada larik A yang bernilai kurang dari 3. Pada find yang kedua, hasil yang diperoleh menyatakan posisi semua elemen pada A yang bernilai kurang dari 3. Sebagai contoh, baris 2 kolom 1 mempunyai posisi berupa 2. Cara penomorannya seperti berikut:


(30)

Contoh penggunaanones:

>> C = ones(3,4)

C =

1 1 1 1 1 1 1 1 1 1 1 1

>>

Contoh penggunaanzeros:

>> C = zeros(3,4) 

C =

0 0 0 0 0 0 0 0 0 0 0 0 >>

L.24 Berkas Skrip

Berkas skrip,atau kadang dinamakan berkas-M, adalah berkas teks yang dapat diciptakan dengan menggunakan sebarang editor teks (misalnya Notepad pada Windows). Isi berkas-M adalah deretan perintah Octave. Dengan kata lain, berkas ini menghimpun perintah-perintah yang biasa diketikkan pada prompt pada jendelaCommand. Itulah sebabnya skrip terkadang disebut sebagai program.

Untuk kepentingan latihan dalam mempraktekkan berkas skrip, perlu disiapkan sebuah folder baru. Pada buku ini, folder yang dipakai untuk latihan berupa C:\pcd. Folder bisa dibuat dengan menggunakan Windows Explorer. Selanjutnya, agar direktori tersebut menjadi direktori kerja, berikan perintah seperti berikut:


(31)

C a t a t a n

Selain folder C:\PCD, contoh-contoh yang diberikan dalam buku ini menggunakan folder C:\Image sebagai tempat untuk menaruhfilecitra.

Untuk membuat berkas-M dengan menggunakan Octave, ikutilah langkah-langkah berikut.

1. Gunakan editor teks. 2. Buatfilebaru.

3. Ketikkan perintah-perintahOctave, misalnya seperti berikut: lebar = 3;

panjang = 6;

keliling = 2 * (panjang + lebar)

4. Simpan dengan nama yang dikehendaki pada folder C:\pcd, misalnya keliling.m.Ekstensi berupa .m.

Dengan cara seperti itu, berkas dengan nama keliling.m telah tercipta pada folder C:\pcd.

Agar perintah-perintah pada berkas keliling.m diproses oleh Octave, berkas tersebut perlu dieksekusi. Caranya, ketikkan nama depan berkas tersebut pada promptOctavedan tekanlah tombol Enter. Contoh:

>>keliling

keliling = 18 >>

Hasil di atas menyatakan bahwa isi berkas-M keliling.m telah dieksekusi. L.25 Menambahkan Komentar

Komentar biasa digunakan dalam berkas-M dengan tujuan untuk memberikan keterangan-keterangan bagi pembaca berkas-M. Penambahan komentar tidak mempengaruhi hasil eksekusi karena komentar memang ditujukan kepada pembaca isi berkas-M, bukan keterangan pada hasil eksekusi berkas tersebut. Komentar bisa berupa tujuan berkas-M, pembuatnya, tanggal yang menyatakan kapan berkas tersebut dibuat atau dimodifikasi ataupun penjelasan terhadap bagian tertentu dalam berkas-M. Penjelasan-penjelasan seperti itu terkadang berguna bagi pembaca berkas-M ataupun bahkan bagi pembuatnya pada suatu waktu ketika dia tidak ingat lagi terhadap perintah-perintah tertentu dalam berkas-M.

Komentar ditandai dengan awalan %. Ketika Octave menjumpai tanda %, karakter dimulai dari tanda tersebut hingga akhir baris akan dianggap sebagai komentar sehingga bagian tersebut tidak dijalankan olehOctave. Contoh:


(32)

% berkas: keliling.m

lebar = 3; % Lebar persegipanjang

Pada contoh pertama, seluruh baris dijadikan sebagai komentar. Adapun pada contoh kedua, komentar berupa:

% Lebar persegipanjang Dengan demikian, bagian

lebar = 3;

akan tetap dijalankan olehOctave.

Komentar pada Octave juga bisa berupa pasangan %{ dan %}. Dengan menggunakan pasangan tersebut. Komentar bisa mencapai beberapa baris. Contoh:

%{ Ini sebuah komentar yang cukup panjang. Mencakup

beberapa baris %}

C a t a t a n

Octave dapat menerima tanda # sebagai awalan komentar. Namun, tanda tersebut tidak berlaku pada MATLAB.

L.26 Menuliskan Sebuah Perintah pada Beberapa Baris

Normalnya, sebuah perintah dituliskan dalam sebuah baris. Namun, sebuah perintah dapat ditulis dalam beberapa baris asalkan ada pemberitahuan. Pemberitahuan bahwa sebuah perintah mempunyai kelanjutan pada baris berikutnya dilakukan dengan meletakkan tanda titik tiga kali (…) di akhir baris yang kelanjutannya masih ada. Contoh:

>>x = 1 + 2 + ...

3

x = 6 >>


(33)

Pada contoh di atas, x = 1 + 2 + 3 merupakan sebuah perintah yang ditulis dalam dua buah baris. Tanda … menyatakan bahwa baris x = 1 + 2 + masih memiliki kelanjutan.

C a t a t a n

Octave dapat menerima tanda \sebagai pengganti … untuk menyatakan bahwa baris berikutnya adalah lanjutan baris sebelumnya. Namun, tanda tersebut tidak berlaku pada MATLAB.

L.27 Operator Relasional dan Logika

Banyak persoalan yang memerlukan pengambilan keputusan. Namun, sebelum masuk ke topik pengambilan keputusan, dasar yang digunakan untuk keperluan itu, yaitu operator relasional dan operator logika, perlu dipahami terlebih dulu. Kedua operator ini juga menjadi komponen penting pada perintah pengulangan. Perlu diketahui, baik operator relasional maupun operator logika hanya menghasilkan dua kemungkinan nilai:

1) 0 (atau disebut salah /false); 2) 1 (atau disebut benar /true). L.27.1 Operator Relasional

Operator relasional adalah semua operator yang berfungsi untuk melakukan pembandingan. Daftar operator yang termasuk dalam kategori ini dapat dilihat pada Tabel L.10.

Tabel L.10Daftar operator relasional

Operator Keterangan Contoh Pemakaian

< Kurang dari a < 1

<= Kurang dari atau sama dengan

a <= 1

> Lebih dari a > 1

>= Lebih dari atau sama dengan

a >= 1

== Sama dengan a == 1

~= Tidak sama dengan A ~= 1

Contoh berikut menunjukkan berbagai pemakaian operator relasional:

>> 3 > 1 ans =1

>> 20 < 6


(34)

>> x = 5

x = 5

>> x >= 5

ans =1

>> x ~= 6

ans = 1 >>

Perhatikan hasil untuk masing-masing pembandingan. Nilai 0 menyatakan salah dan nilai 1 menyatakan benar.

L.27.2 Operator Logika

Operator logika berguna untuk menggabungkan dua buah ekspresi relasional atau untuk membalik nilai logika dari suatu ekspresi relasional. Tabel L.11 memperlihatkan daftar operator logika dan bentuk pemakaiannya.

Tabel L.11Daftar operator logika

Operator Keterangan Contoh Pemakaian & Operator dan x & y

| Operator atau x | y

~ Operator tidak ~x

Operator & membentuk ekspresi yang menghasilkan nilai berupa benar kalau seluruh operand bernilai benar, sedangkan operator | menghasilkan nilai benar kalau ada operand yang bernilai benar. Tabel L.12 memperlihatkan semua kemungkinan pada operasi dengan & maupun |.

Tabel L.12Daftar kemungkinan pada operasi dengan & dan | X Y x & y x | y

Salah Salah Salah Salah

Salah Benar Salah Benar

Benar Salah Salah Benar

Benar Benar Benar Benar

Contoh berikut memperlihatkan penggunaan operator & :

>> x = 'A';

>> x >= 'a' & x <= 'b'

ans =0

>> x = 'c';


(35)

ans =0

>>

Ekspresi

x >= 'a' & x <= 'z'

dapat dipakai menentukan apakah isi variabel x berupa huruf kecil atau bukan. Pada contoh, ketika x diisi dengan ‘A’, hasil ekspresi berupa nol (salah), sedangkan ketika x diisi dengan ‘c’ maka ekspresi menghasilkan nilai 1(benar).

Adapun contoh berikut menunjukkan penggunaan & dan |:

>> x = 'b';

>> (x >= 'a' & x <= 'b') | (x >= 'A' & x <= 'Z' )

ans =1

>> x = '+';

>> (x >= 'a' & x <= 'b') | (x >= 'A' & x <= 'Z' )

ans =0

>>

Pada contoh di atas, ekspresi

(x >= 'a' & x <= 'z') | (x >= 'A' & x <= 'Z')

digunakan untuk memastikan apakah variabel x berisi huruf (huruf kecil atau huruf kapital). Hasilnya berupa 0 kalau x tidak berisi huruf dan 1 kalau x berisi huruf.

Operator ~ berfungsi untuk membalik nilai logika. Dengan bentuk pemakaian berupa

~x

ekspresi tersebut menghasilkan:

benar kalau x bernilai salah, atau  salah kalau x bernilai benar. Contoh:

>> a = 0;

>> ~(a == 4)

ans =1

>> ~(a == 0)


(36)

>>

Pada contoh di atas, ekspresi ~(a == 5)

menghasilkan nilai 1 (benar) disebabkan a == 5 sendiri menghasilkan salah. Dengan melibatkan ~, maka diperoleh keadaan sebaliknya (yaitu benar). Pada contoh kedua,

~(a == 0)

menghasilkan nilai 0 (salah) disebabkan ekspresi a == 0 menghasilkan nilai benar. Khusus untuk mendukung operasi “atau eksklusif”, Octave menyediakan fungsi bernamaxor, dengan bentuk pemakaian:

xor(x, y)

Dalam hal ini, nilai balik fungsi ditunjukkan pada Tabel L.13. Tabel L.13Operasi atau eksklusif x Y xor(x,y)

Salah Salah Salah

Salah Benar Benar

Benar Salah Benar

Benar Benar Salah

L.28 Pernyataan if

Untuk menangani pengambilan keputusan, Octavemenyediakan struktur if dengan bentuk:

ifekspresi

pernyaataan_pernyataan end

dan

ifekspresi

pernyataan_pernyataan_1 else

pernyataan_pernyataan_2 end

Pada bentuk pertama, bagian pernyataan_pernyataan (bisa lebih dari sebuah pernyataan) hanya akan dijalankan kalauekspresibernilai benar.


(37)

1. Bagian

pernyataan_pernyataan_1

hanya akan dijalankan kalauekspresibernilai benar. 2. Bagian

pernyataan_pernyataan_2

hanya akan dijalankan kalauekspresibernilai salah.

Contoh berikut menunjukkan skrip yang digunakan untuk mengubah semua nilai yang kurang dari 128 menjadi 0,sedangkan yang lebih dari atau sama dengan 128 akan diubah menjadi 1.

Program : setbiner.m

% SETBINER Mengubah data 0.255 menjadi data biner Mat = [255 127 200 78;

128 255 255 125; 0 5 200 125; 123 124 128 255]; [tinggi, lebar] = size(Mat); for i = 1 : tinggi

for j = 1 : lebar if Mat(i,j) < 128

Mat(i,j) = 0; else

Mat(i,j) = 1; end

end end Mat

Akhir Program

Contoh pemanggilan skrip setbiner:

>> setbiner

Mat =

1 0 1 0 1 1 1 0 0 0 1 0 0 0 1 1


(38)

>>

L.29Pernyataan if..elseif

Khusus untuk menangani persoalan yang mempunyai tiga kemungkinan atau lebih,Octavemenyediakan struktur berbentuk seperti berikut:

ifekspresi_1

pernyataan_pernyataan_1 elseifekspresi_2

pernyataan_pernyataan_2

else

pernyataan_pernyataan_n end

Tanda … menyatakan bahwa bagian elseifbisa lebih dari sebuah. Pada bentuk di atas, bagian

pernyataan_pernyataan_1

hanya akan dijalankan kalauekspresi_1bernilai benar. Bagian pernyataan_pernyataan_2

hanya akan dijalankan kalau ekspresi_2 bernilai benar dan ekspresi_1 bernilai salah.

Bagian

pernyataan_pernyataan_n

hanya dijalankan kalau tidak ada ekspresi pada if maupun elseif yang bernilai benar.

L.30 Pernyataan switch

Pernyataan switch sebenarnya merupakan bentuk lain dari perintah if yang berguna untuk melakukan pengambilan keputusan yang melibatkan banyak alternatif. Bentuk umum pernyataan ini:

switchekspresi caseekspr_case_1

pernyataan_pernyataan_1

case{ekspr_case_21,ekspr_case_22,ekspr_case_23,...} pernyataan,_pernyataan_2

... otherwise

pernyataan_pernyataan_n end


(39)

Pencocokan nilai ekspr dimulai dari yang pa hanya pernyataan_pe pencocokan dilakukan yang cocok den pernyataan_pernyataan_ case bisa melibatkan antar ekspresi ditulis de L.31 Pernyataan whi

Pernyataan while pengulangan. Sebagai tulisan ‘OK’ sebanya perintah yang pendek.

whileekspresi pernyataan_perny end

Bagian yang berada ekspresi bernilai bena Contoh :

Program :

% SEPULUHX Contoh % 10x tulisan pencacah = 0; while pencacah < 1 disp('OK');

pencacah = pen end

Akhir Program Hasilnya seperti berikut

>>sepuluhx

OK OK OK OK OK OK OK OK

kspresi dan nilai padaekspresi casedilakukan se paling atas. Jika nilai ekspresi cocok dengan aan_pernyataan_1 yang akan dijalankan. Jika

kukan padacaseberikutnya. Jika tidak ada satu pun dengan ekspresi switch, bagian othe ataan_n) akan dieksekusi. Hal yang menarik, kan lebih dari sebuah ekspresi yang ditulis dalam

is dengan pemisah koma. hile

ile merupakan perintah yang berguna untuk m gai contoh, pernyataan ini dapat digunakan untuk nyak 10 kali atau bahkan 1000 kali dengan ek. Bentuk pernyataanwhile:

rnyataan

a di antara while dan end dijalankan terus-m nar.

: sepuluhx.m

h while untuk menampilkan n OK

10

encacah + 1;

m rikut:

n secara bertingkat ngan ekspr_case_1, ika tidak cocok, u pun ekspresicase therwise (yaitu k, bagian ekspresi lam tanda { } dan

uk menangani suatu untuk menampilkan ngan menggunakan

s-menerus selama


(40)

OK OK >>

Hal yang terpenting y ada variabel yang di yang sudah ditampilka

pencacah = penca menaikkan isi variabe saat, ketika pencacah salah. Keadaan itulah L.32 Pernyataan for

Octave menyedia pengulangan, terutama

forvariable=ekspr pernyataan_perny end

Contoh berikut menunj sampai dengan 10.

Program :

% CONTFOR Contoh f for i = 1 : 10

disp(num2str(i end

Akhir Program Hasil pemanggilan cont

>> contfor

1 2 3 4 5 6 7 8 9

ng yang perlu diperhatikan, pada pengulangan s dijadikan sebagai pencacah untuk menghitung pilkan. Perintah

ncacah + 1;

bel pencacah setiap kali tulisan“OK”telah dita ah bernilai 11, ekspresi padawhileyaitu pencac ah yang mengakhiri pengulanganwhile.

or

diakan pernyataan for juga untuk kepenting ma untuk menangani pencacahan. Format pern ekspr

rnyataan

nunjukkan penggunaanforuntuk menampilkan

: contfor.m

for untuk menampilkan bilangan 1 s/d

(i));

m n contfor:

n seperti di depan, ung tulisan “OK”

ditampilkan. Suatu ncacah < 11 bernilai

ingan penanganan rnyataanfor:

kan bilangan dari 1

d 10


(41)

10 >>

Contoh pengguna Program :

% CONTFOR2 Contoh for i = [8 9 4 6 3 disp(num2str(i end

Akhir Program Hasil pemanggilancont

>>contfor2

8 9 4 6 3 >>

Perhatikan bahwa nila L.33 Pernyataan bre Pernyataan break ataupun while. Bila di (while), breakhanya breakdapat dilihat pa

Gambar

unaan larik dalam ekspresifordapat dilihat pada : contfor2.m

h for untuk menampilkan bilangan 1 s/ 3]

(i));

m

contfor2:

nilai yang ditampilkan olehdispberasal dari lari reak

eak berguna untuk mengakhiri eksekusi suatu a diletakkan dalam suatu for (while) yang be ya memberikan efek mengakhirifor(while) ter pada Gambar L.2.

for i = 1:10,

if i == 5

break

end

end

Pernyataan_sesudah_for

bar L.2Pernyataan break mengakhiri eksekusi f

pada skrip berikut.

/d 10

larik [8 9 4 6 3].

tu pernyataan for g berada dalam for terdalam. Ilustrasi


(42)

Contoh untuk me Program :

% CONTBR Contoh br for i = 1 : 5

if i == 3 break; end

disp(num2str(i end

Akhir Program Hasil pemanggilan cont

>>contbr

1 2 >>

Pernyataan break die yang ditampilkan oleh di L.34 Pernyataan con

Seperti halnya b while. Secara umum berikutnya. Pada pe bawahnya akan diaba ke nilai berikutnya. L tubuhforsepanjang b Program :

% CONTCONT Contoh for i = 1 : 5

if i == 3 continue; end

disp(num2str(i end

Akhir Program

uk memperlihatkan efekbreak: : contbr.m

break pada for

(i));

m n contbr:

dieksekusi saat i bernilai 3. Itulah sebabnya, n oleh disp adalah 2.

ontinue

break, pernyataan continue digunakan be um, continue digunakan untuk mengatur ekse

pernyataan for, continue membuat semua baikan dan variabel pencacah for dinaikkan (a . Lalu, eksekusi dilanjutkan ke bagian awal pe ng batas akhir pada variabelforbelum tercapai. C

: contcont.m

h continue pada for

;

(i));

m

ya, nilai i terakhir

bersama for atau ksekusi ke iterasi ua pernyataan di n (atau diturunkan) pernyataan dalam


(43)

Hasil pemanggilan contcont:

>>contcont

1 2 4 5 >>

Tampak bahwa nilai 3 tidak ditampilkan akibat pernyataan continue dieksekusi sewaktu i bernilai 3. Namun, perhatikan bahwa berbeda denganbreak,continue membuat nilai 4 dan 5 tetap ditampilkan.


(44)

(1)

Pencocokan nilai ekspr dimulai dari yang pa hanya pernyataan_pe

pencocokan dilakukan yang cocok den

pernyataan_pernyataan_ case bisa melibatkan antar ekspresi ditulis de

L.31 Pernyataan whi

Pernyataan while

pengulangan. Sebagai

tulisan ‘OK’ sebanya

perintah yang pendek.

whileekspresi pernyataan_perny end

Bagian yang berada ekspresi bernilai bena

Contoh :

Program :

% SEPULUHX Contoh % 10x tulisan

pencacah = 0; while pencacah < 1 disp('OK');

pencacah = pen end

Akhir Program

Hasilnya seperti berikut

>>sepuluhx OK OK OK OK OK OK OK OK

kspresi dan nilai padaekspresi casedilakukan se paling atas. Jika nilai ekspresi cocok dengan

aan_pernyataan_1 yang akan dijalankan. Jika kukan padacaseberikutnya. Jika tidak ada satu pun

dengan ekspresi switch, bagian othe ataan_n) akan dieksekusi. Hal yang menarik, kan lebih dari sebuah ekspresi yang ditulis dalam

is dengan pemisah koma.

hile

ile merupakan perintah yang berguna untuk m gai contoh, pernyataan ini dapat digunakan untuk

nyak 10 kali atau bahkan 1000 kali dengan ek. Bentuk pernyataanwhile:

rnyataan

a di antara while dan end dijalankan terus-m nar.

: sepuluhx.m

h while untuk menampilkan n OK

10

encacah + 1;

m

rikut:

n secara bertingkat ngan ekspr_case_1, ika tidak cocok, u pun ekspresicase therwise (yaitu k, bagian ekspresi

lam tanda { } dan

uk menangani suatu untuk menampilkan ngan menggunakan

s-menerus selama


(2)

OK >>

Hal yang terpenting y ada variabel yang di yang sudah ditampilka

pencacah = penca

menaikkan isi variabe saat, ketika pencacah salah. Keadaan itulah

L.32 Pernyataan for Octave menyedia pengulangan, terutama

forvariable=ekspr pernyataan_perny

end

Contoh berikut menunj sampai dengan 10.

Program :

% CONTFOR Contoh f

for i = 1 : 10 disp(num2str(i end

Akhir Program

Hasil pemanggilan cont

>> contfor 1

2 3 4 5 6 7 8 9

ng yang perlu diperhatikan, pada pengulangan s dijadikan sebagai pencacah untuk menghitung pilkan. Perintah

ncacah + 1;

bel pencacah setiap kali tulisan“OK”telah dita ah bernilai 11, ekspresi padawhileyaitu pencac ah yang mengakhiri pengulanganwhile.

or

diakan pernyataan for juga untuk kepenting ma untuk menangani pencacahan. Format pern

ekspr rnyataan

nunjukkan penggunaanforuntuk menampilkan

: contfor.m

for untuk menampilkan bilangan 1 s/d

(i));

m

n contfor:

n seperti di depan, ung tulisan “OK”

ditampilkan. Suatu ncacah < 11 bernilai

ingan penanganan rnyataanfor:

kan bilangan dari 1

d 10


(3)

10 >>

Contoh pengguna

Program :

% CONTFOR2 Contoh

for i = [8 9 4 6 3 disp(num2str(i end

Akhir Program

Hasil pemanggilancont

>>contfor2

8 9 4 6 3 >>

Perhatikan bahwa nila

L.33 Pernyataan bre

Pernyataan break

ataupun while. Bila di (while), breakhanya

breakdapat dilihat pa

Gambar

unaan larik dalam ekspresifordapat dilihat pada

: contfor2.m

h for untuk menampilkan bilangan 1 s/

3] (i));

m

contfor2:

nilai yang ditampilkan olehdispberasal dari lari

reak

eak berguna untuk mengakhiri eksekusi suatu a diletakkan dalam suatu for (while) yang be ya memberikan efek mengakhirifor(while) ter pada Gambar L.2.

for i = 1:10,

if i == 5

break

end

end

Pernyataan_sesudah_for

bar L.2Pernyataan break mengakhiri eksekusi f

pada skrip berikut.

/d 10

larik [8 9 4 6 3].

tu pernyataan for

g berada dalam for

terdalam. Ilustrasi


(4)

Program :

% CONTBR Contoh br

for i = 1 : 5 if i == 3 break; end

disp(num2str(i end

Akhir Program

Hasil pemanggilan cont

>>contbr

1 2 >>

Pernyataan break die yang ditampilkan oleh di

L.34 Pernyataan con

Seperti halnya b while. Secara umum berikutnya. Pada pe bawahnya akan diaba ke nilai berikutnya. L tubuhforsepanjang b

Program :

% CONTCONT Contoh

for i = 1 : 5 if i == 3

continue; end

disp(num2str(i end

Akhir Program

: contbr.m

break pada for

(i));

m

n contbr:

dieksekusi saat i bernilai 3. Itulah sebabnya, n oleh disp adalah 2.

ontinue

break, pernyataan continue digunakan be um, continue digunakan untuk mengatur ekse

pernyataan for, continue membuat semua baikan dan variabel pencacah for dinaikkan (a . Lalu, eksekusi dilanjutkan ke bagian awal pe ng batas akhir pada variabelforbelum tercapai. C

: contcont.m

h continue pada for

;

(i));

m

ya, nilai i terakhir

bersama for atau ksekusi ke iterasi ua pernyataan di n (atau diturunkan) pernyataan dalam


(5)

Hasil pemanggilan contcont:

>>contcont

1 2 4 5 >>

Tampak bahwa nilai 3 tidak ditampilkan akibat pernyataan continue dieksekusi sewaktu i bernilai 3. Namun, perhatikan bahwa berbeda denganbreak,continue


(6)