SlideShare a Scribd company logo
1 of 44
Download to read offline
LAMPIRAN : PANDUAN OCTAVE
L.1 Menginstalasi dan Menjalankan Octave
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 adalah Octave 3.4.3, sedangkan
paket Image Processing yang 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 Octave pada folder C:Octave.
Selanjutnya, dekompresilah paket Image Processing dan kemudian letakkan
folder image-1.0.15 ke dalam folder C:Octave. Dengan demikian,
susunan folder C:Octave seperti berikut:
Setelah terbentuk folder tersebut, Octave siap dijalankan.
Agar paket Image Processing tersebut dikenali oleh Octave, berikan perintah
seperti berikut setiap kali Anda menjalankan Octave:
addpath('c:octaveimage-1.0.15inst')
Perintah di atas memberitahukan Octave untuk menyatakan lokasi paket Image
Processing.
Pada lingkungan Windows, program Octave dijalankan dengan cara seperti
berikut.
1. Klik pada tombol Start ( ).
2. Pilih All Programs.
3. Klik pada .
4. Klik pada .
Tampilan yang dihasilkan semacam yang terlihat pada Gambar L.1.
702 Pengolahan Citra, Teori dan Aplikasi
Gambar L.1 Tampilan awal Octave
Tanda octave:1> menyatakan bahwa Octave siap menerima perintah dari
pemakai. Sebagai contoh, cobalah berikan perintah:
PS1(„>> „) 
Tanda  tombol Enter. Dengan cara seperti itu, prompt berubah menjadi
>>
Apabila perintah PS1(„>> „) tidak mengubah prompt,
lakukan perintah berikut terlebih dulu:
clear PS1
kemudian, ulangi untuk memberikan perintah:
PS1(„>> „) 
L.2 Perintah Octave
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.
ans = 5
Lampiran 703
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 dalam Octave berbentuk
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 sebagai operand. Selain
+, terdapat beberapa operator yang terkait dengan operasi aritmetika. Tabel L.1
memperlihatkan daftar operator aritmetika.
704 Pengolahan Citra, Teori dan Aplikasi
Tabel L.1 Daftar operator aritmetika
Operator Keterangan
+ Penjumlahan atau tanda positif
- Pengurangan atau tanda negatif
* Perkalian
/ atau  Pembagian
^ Pangkat
 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-5
atau 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.2 Sejumlah 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
3
125 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.
Lampiran 705
Tabel L.3 Prioritas 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 dalam Octave
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, bilangan dan Bilangan adalah 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
706 Pengolahan Citra, Teori dan Aplikasi
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.4 Daftar 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.5 Akhiran Titik Koma dan Pemisahan Pernyataan
Octave menyediakan mekanisme yang membuat penugasan terhadap suatu
variabel tidak membuat Octave secara otomatis menampilkan isi variabel tersebut.
Hal itu dilaksanakan 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.
Normalnya, sebuah baris berisi sebuah perintah. Pada praktiknya,
dimungkinkan untuk menuliskan beberapa perintah dalam sebuah baris. Hal ini
Lampiran 707
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 di
depannya tidak ditampilkan. Bandingkan dengan contoh berikut:
>> tinggi = 4, lebar = 3; 
tinggi = 4
>>
Tampak bahwa tanda koma sebagai pemisah antarpernyataan tetap menampilkan
isi variabel tinggi.
L.6 Mengenal Memori untuk Variabel
Variabel-variabel yang diciptakan pemakai akan dikelola oleh Octave dan
diletakkan dalam memori kerja. Semua variabel dalam memori dapat dipantau
dengan menggunakan who. 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 perintah clear. Contoh:
>> clear intensitas 
akan menghapus variabel bernama intensitas dari workspace.
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:
clear
Selain who, terdapat pula perintah whos. Perintah whos menghasilkan
informasi yang lebih lengkap terhadap variabel-variabel yang terdapat pada
memori kerja. Contoh:
708 Pengolahan Citra, Teori dan Aplikasi
>> 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 di Octave.
 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).
Lampiran 709
L.8 Mengenal Fasilitas Help
Octave menyediakan fasilitas bantuan yang sangat berguna untuk
memperoleh informasi mengenai topik tertentu secara online. 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 bahwa Octave memberikan penjelasan tentang pi.
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, 1 dapat 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.
710 Pengolahan Citra, Teori dan Aplikasi
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 sebagai argumen. 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,
antarargumen 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 menghasilkan nilai balik (return value) dan nilai ini tentu saja
dapat diberikan ke variabel. Contoh:
>> x = sqrt(49) 
x = 7
>>
Pada contoh di atas, nilai balik sqrt yaitu 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.
Lampiran 711
Tabel L.5 Sejumlah 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 menghasilkan conjugate dari 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
712 Pengolahan Citra, Teori dan Aplikasi
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
 -1 kalau x bernilai kurang dari nol
Lampiran 713
Fungsi Keterangan
Contoh:
sign(5) → 1
sign(0) → 0
sign(-5) → -1
sqrt(x) Fungsi ini menghasilkan akar kuadrat dari
bilangan x.
Tabel L.6 Sejumlah 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 menghasilkan tangent dari 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 inversi tangent dari
x. Hasilnya berkisar antara -π/2 dan π/2 dalam
satuan radian.
atan2(x, y) Fungsi ini menghasilkan inversi tangent dari
y/x. Hasilnya berkisar antara -π dan π dalam
satuan radian.
sinh(x) Fungsi ini menghasilkan sinus hiperbolik dari
x (yaitu
2
xx
ee 

).
cosh(x) Fungsi ini menghasilkan kosinus hiperbolik
dari x (yaitu
2
xx
ee 

).
tanh(x) Fungsi ini menghasilkan tangent hiperbolik
x.
asinh(x) Fungsi ini menghasilkan inversi sinus
hiperbolik x.
acosh(x) Fungsi ini menghasilkan inversi kosinus
714 Pengolahan Citra, Teori dan Aplikasi
hiperbolik x.
atanh(x) Fungsi ini menghasilkan inversi tangent
hiperbolik x.
L.11 Prioritas Operator dalam Octave
Prioritas keseluruhan operator dalam Octave bisa dilihat pada Tabel L.7.
Informasi yang terkandung di dalamnya sangat bermanfaat ketika melibatkan
berbagai operator.
Tabel L.7 Daftar prioritas operator dalam Octave
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 Mengakhiri Octave
Mengakhiri Octave dapat dilakukan dengan cara mengetikkan perintah exit.
L.13 String 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:
kata = ‟don‟‟t‟
Lampiran 715
Dalam hal ini, variabel kata berisi string : don‟t.
Octave dapat menerima tanda petik ganda sebagai
awalan dan akhiran string. Namun, tanda tersebut
tidak berlaku pada MATLAB.
L.14 Menampilkan dengan disp
Isi suatu variabel biasa ditampilkan dengan cara menyebutkan nama variabel.
Cara yang lain adalah menggunakan disp. Contoh penggunaan perintah ini:
>> S = 'Tes...tes...123'; 
>> disp(S); 
Tes...tes...123
>>
Contoh di atas menunjukkan penampilan variabel S melalui disp.
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.
716 Pengolahan Citra, Teori dan Aplikasi
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 antarelemen. 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), antarelemen dalam
larik perlu ditulis dengan pemisah spasi atau koma. Contoh:
V = [ 5 6 7 8 9]
atau
Lampiran 717
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, Octave juga 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
718 Pengolahan Citra, Teori dan Aplikasi
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 =












mnmm
n
n
aaa
aaa
aaa
...
...
...
...
21
22221
11211
Lampiran 719
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 dilakukan berupa
pemangkatan setiap elemen dengan suatu nilai, operator ^ perlu ditulis menjadi .^.
Contoh:
>> A = [1 2; 3 4] 
A =
1 2
3 4
>> B = A .^ 2 
B =
720 Pengolahan Citra, Teori dan Aplikasi
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 =












mnmm
n
n
aaa
aaa
aaa
...
...
...
...
21
22221
11211
B =












mnmm
n
n
bbb
bbb
bbb
...
...
...
...
21
22221
11211
Operasi seperti berikut















mnmnmmmm
nn
nn
bababa
bababa
bababa
...
...
...
...
2211
2222222121
1112121111
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
>>
Jika dikehendaki untuk melakukan operasi pengurangan seperti berikut,
Lampiran 721















mnmnmmmm
nn
nn
bababa
bababa
bababa
...
...
...
...
2211
2222222121
1112121111
perintah yang 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 antarelemen matriks seperti berikut












mnmnmmmm
nn
nn
xbaxbaxba
xbaxbaxba
xbaxbaxba
...
...
...
...
2211
2222222121
1112121111
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















12121111212111
12212211211221221121
111121111121121111
.........
...
.........
.........
nnnnnnnnnn
nnnn
nnnnnn
xbaxbaxbaxbaxbaxba
xbaxbaxbaxbaxbaxba
xbaxbaxbaxbaxbaxba
Dalam hal ini, jumlah kolom matriks A harus sama dengan jumlah baris matriks
B. Contoh:
722 Pengolahan Citra, Teori dan Aplikasi
>> A * B 
ans =
4 1
14 -1
>>
Untuk melakukan operasi pembagian antarelemen matriks seperti berikut












mnmnmmmm
nn
nn
bababa
bababa
bababa
:...::
...
:...::
:...::
2211
2222222121
1112121111
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 antarelemen matriks seperti berikut












mnmnmmmm
nn
nn
bababa
bababa
bababa
^...^^
...
^...^^
^...^^
2211
2222222121
1112121111
diperlukan perintah berupa
C = A .^ B
Contoh:
Lampiran 723
>> C = A .^ B 
C =
1.00000 0.12500
0.33333 16.00000
>>
Tabel L.8 memberikan ringkasan tentang operasi antarelemen pada dua buah
vektor. Pada prinsipnya, hal ini juga berlaku untuk matriks.
Tabel L.8 Ringkasan operasi antarelemen matriks
Operasi Keterangan
A adalah vektor [a1 a2 a3 .. an]
B adalah vektor [b1 b2 b3 .. bn]
Penjumlahan elemen-
elemen vektor
A+B = [a1+b1 a2+b2 a3+b3 .. an+bn]
Pengurangan elemen-
elemen vektor
A-B = [a1-b1 a2-b2 a3-b3 .. an-bn]
Perkalian elemen-
elemen vektor
A.*B = [a1*b1 a2*b2 a3*b3 .. an*bn]
Pembagian elemen-
elemen vektor
A./B = [a1/b1 a2/b2 a3/b3 .. an/bn]
Pemangkatan elemen-
elemen vektor
A.^B = [a1^b1 a2^b2 a3^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) 
724 Pengolahan Citra, Teori dan Aplikasi
ans = 3
>>
Pada matriks, i pada notasi A(i, j) menyatakan indeks baris dan j menyatakan
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 Octave menjadikan 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:
Lampiran 725
>> 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
726 Pengolahan Citra, Teori dan Aplikasi
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
>>
Lampiran 727
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 fungsi size. 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
>>
















0987
6543
2109
8765
4321
728 Pengolahan Citra, Teori dan Aplikasi
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.9 Sejumlah 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 fungsi linspace.
>> 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 oleh linspace.
Contoh berikut memperlihatkan hasil logspace:
Lampiran 729
>> 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 penggunaan find:
>> 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:
730 Pengolahan Citra, Teori dan Aplikasi
Contoh penggunaan ones:
>> C = ones(3,4) 
C =
1 1 1 1
1 1 1 1
1 1 1 1
>>
Contoh penggunaan zeros:
>> 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
jendela Command. 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:
cd C:pcd
Lampiran 731
Selain folder C:PCD, contoh-contoh yang diberikan
dalam buku ini menggunakan folder C:Image
sebagai tempat untuk menaruh file citra.
Untuk membuat berkas-M dengan menggunakan Octave, ikutilah langkah-
langkah berikut.
1. Gunakan editor teks.
2. Buat file baru.
3. Ketikkan perintah-perintah Octave, 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
prompt Octave dan 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 oleh Octave. Contoh:
732 Pengolahan Citra, Teori dan Aplikasi
 % 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 oleh Octave.
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
%}
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
>>
Lampiran 733
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.
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.10 Daftar 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 
ans = 0
734 Pengolahan Citra, Teori dan Aplikasi
>> 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.11 Daftar 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.12 Daftar 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'; 
>> x >= 'a' & x <= 'b' 
Lampiran 735
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) 
ans = 0
736 Pengolahan Citra, Teori dan Aplikasi
>>
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 bernama xor, dengan bentuk pemakaian:
xor(x, y)
Dalam hal ini, nilai balik fungsi ditunjukkan pada Tabel L.13.
Tabel L.13 Operasi 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, Octave menyediakan struktur if
dengan bentuk:
if ekspresi
pernyaataan_pernyataan
end
dan
if ekspresi
pernyataan_pernyataan_1
else
pernyataan_pernyataan_2
end
Pada bentuk pertama, bagian pernyataan_pernyataan (bisa lebih dari sebuah
pernyataan) hanya akan dijalankan kalau ekspresi bernilai benar.
Penjelasan pada bentuk kedua sebagai berikut.
Lampiran 737
1. Bagian
pernyataan_pernyataan_1
hanya akan dijalankan kalau ekspresi bernilai benar.
2. Bagian
pernyataan_pernyataan_2
hanya akan dijalankan kalau ekspresi bernilai 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
738 Pengolahan Citra, Teori dan Aplikasi
>>
L.29 Pernyataan if..elseif
Khusus untuk menangani persoalan yang mempunyai tiga kemungkinan atau
lebih, Octave menyediakan struktur berbentuk seperti berikut:
if ekspresi_1
pernyataan_pernyataan_1
elseif ekspresi_2
pernyataan_pernyataan_2
…
else
pernyataan_pernyataan_n
end
Tanda … menyatakan bahwa bagian elseif bisa lebih dari sebuah. Pada bentuk di
atas, bagian
pernyataan_pernyataan_1
hanya akan dijalankan kalau ekspresi_1 bernilai 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:
switch ekspresi
case ekspr_case_1
pernyataan_pernyataan_1
case { ekspr_case_21, ekspr_case_22, ekspr_case_23,...}
pernyataan,_pernyataan_2
...
otherwise
pernyataan_pernyataan_n
end
Lampiran 739
Pencocokan nilai ekspresi dan nilai pada ekspresi case dilakukan secara bertingkat
dimulai dari yang paling atas. Jika nilai ekspresi cocok dengan ekspr_case_1,
hanya pernyataan_pernyataan_1 yang akan dijalankan. Jika tidak cocok,
pencocokan dilakukan pada case berikutnya. Jika tidak ada satu pun ekspresi case
yang cocok dengan ekspresi switch, bagian otherwise (yaitu
pernyataan_pernyataan_n) akan dieksekusi. Hal yang menarik, bagian ekspresi
case bisa melibatkan lebih dari sebuah ekspresi yang ditulis dalam tanda { } dan
antar ekspresi ditulis dengan pemisah koma.
L.31 Pernyataan while
Pernyataan while merupakan perintah yang berguna untuk menangani suatu
pengulangan. Sebagai contoh, pernyataan ini dapat digunakan untuk menampilkan
tulisan „OK‟ sebanyak 10 kali atau bahkan 1000 kali dengan menggunakan
perintah yang pendek. Bentuk pernyataan while:
while ekspresi
pernyataan_pernyataan
end
Bagian yang berada di antara while dan end dijalankan terus-menerus selama
ekspresi bernilai benar.
Contoh :
Program : sepuluhx.m
% SEPULUHX Contoh while untuk menampilkan
% 10x tulisan OK
pencacah = 0;
while pencacah < 10
disp('OK');
pencacah = pencacah + 1;
end
Akhir Program
Hasilnya seperti berikut:
>> sepuluhx 
OK
OK
OK
OK
OK
OK
OK
OK
740 Pengolahan Citra, Teori dan Aplikasi
OK
OK
>>
Hal yang terpenting yang perlu diperhatikan, pada pengulangan seperti di depan,
ada variabel yang dijadikan sebagai pencacah untuk menghitung tulisan “OK”
yang sudah ditampilkan. Perintah
pencacah = pencacah + 1;
menaikkan isi variabel pencacah setiap kali tulisan “OK” telah ditampilkan. Suatu
saat, ketika pencacah bernilai 11, ekspresi pada while yaitu pencacah < 11 bernilai
salah. Keadaan itulah yang mengakhiri pengulangan while.
L.32 Pernyataan for
Octave menyediakan pernyataan for juga untuk kepentingan penanganan
pengulangan, terutama untuk menangani pencacahan. Format pernyataan for:
for variable = ekspr
pernyataan_pernyataan
end
Contoh berikut menunjukkan penggunaan for untuk menampilkan bilangan dari 1
sampai dengan 10.
Program : contfor.m
% CONTFOR Contoh for untuk menampilkan bilangan 1 s/d 10
for i = 1 : 10
disp(num2str(i));
end
Akhir Program
Hasil pemanggilan contfor:
>> contfor 
1
2
3
4
5
6
7
8
9
Lampiran 741
10
>>
Contoh penggunaan larik dalam ekspresi for dapat dilihat pada skrip berikut.
Program : contfor2.m
% CONTFOR2 Contoh for untuk menampilkan bilangan 1 s/d 10
for i = [8 9 4 6 3]
disp(num2str(i));
end
Akhir Program
Hasil pemanggilan contfor2:
>> contfor2 
8
9
4
6
3
>>
Perhatikan bahwa nilai yang ditampilkan oleh disp berasal dari larik [8 9 4 6 3].
L.33 Pernyataan break
Pernyataan break berguna untuk mengakhiri eksekusi suatu pernyataan for
ataupun while. Bila diletakkan dalam suatu for (while) yang berada dalam for
(while), break hanya memberikan efek mengakhiri for (while) terdalam. Ilustrasi
break dapat dilihat pada Gambar L.2.
for i = 1:10,
if i == 5
break
end
…
end
…Pernyataan_sesudah_for
Gambar L.2 Pernyataan break mengakhiri eksekusi for
742 Pengolahan Citra, Teori dan Aplikasi
Contoh untuk memperlihatkan efek break:
Program : contbr.m
% CONTBR Contoh break pada for
for i = 1 : 5
if i == 3
break;
end
disp(num2str(i));
end
Akhir Program
Hasil pemanggilan contbr:
>> contbr 
1
2
>>
Pernyataan break dieksekusi saat i bernilai 3. Itulah sebabnya, nilai i terakhir
yang ditampilkan oleh disp adalah 2.
L.34 Pernyataan continue
Seperti halnya break, pernyataan continue digunakan bersama for atau
while. Secara umum, continue digunakan untuk mengatur eksekusi ke iterasi
berikutnya. Pada pernyataan for, continue membuat semua pernyataan di
bawahnya akan diabaikan dan variabel pencacah for dinaikkan (atau diturunkan)
ke nilai berikutnya. Lalu, eksekusi dilanjutkan ke bagian awal pernyataan dalam
tubuh for sepanjang batas akhir pada variabel for belum tercapai. Contoh:
Program : contcont.m
% CONTCONT Contoh continue pada for
for i = 1 : 5
if i == 3
continue;
end
disp(num2str(i));
end
Akhir Program
Lampiran 743
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 dengan break, continue
membuat nilai 4 dan 5 tetap ditampilkan.
744 Pengolahan Citra, Teori dan Aplikasi

More Related Content

What's hot

Ppt materi listrik statis
Ppt materi listrik statisPpt materi listrik statis
Ppt materi listrik statisAdi Prayetno
 
Presentasi cerobong surya dan kolam surya
Presentasi cerobong surya dan kolam suryaPresentasi cerobong surya dan kolam surya
Presentasi cerobong surya dan kolam suryaN'fall Sevenfoldism
 
Analisis Regresi Linier Sederhana
Analisis Regresi Linier SederhanaAnalisis Regresi Linier Sederhana
Analisis Regresi Linier SederhanaDwi Mardianti
 
3 pemanfaatan arus bolak balik
3 pemanfaatan arus bolak balik3 pemanfaatan arus bolak balik
3 pemanfaatan arus bolak balikSimon Patabang
 
Gelombang elektromagnetik
Gelombang elektromagnetikGelombang elektromagnetik
Gelombang elektromagnetikKira R. Yamato
 
7.bab vii -pita_energi
7.bab vii -pita_energi7.bab vii -pita_energi
7.bab vii -pita_energiElika Bafadal
 
Laporan Pratikum analisis regresi linier sederhana
Laporan Pratikum analisis regresi linier sederhanaLaporan Pratikum analisis regresi linier sederhana
Laporan Pratikum analisis regresi linier sederhanagita Ta
 
Nilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor EigenNilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor EigenRizky Wulansari
 
Siklus kegiatan ekonomi kelompok6 mb40_13
Siklus kegiatan ekonomi kelompok6 mb40_13Siklus kegiatan ekonomi kelompok6 mb40_13
Siklus kegiatan ekonomi kelompok6 mb40_13Dimas Kamil Prayogio
 
2 a medan listrik
2 a medan listrik2 a medan listrik
2 a medan listrikMario Yuven
 
4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektif4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektifSimon Patabang
 
Bunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung KeuanganBunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung KeuanganArjuna Ahmadi
 
Diskon & tingkat diskon
Diskon & tingkat diskonDiskon & tingkat diskon
Diskon & tingkat diskonLeite Bayukaka
 

What's hot (20)

Ppt materi listrik statis
Ppt materi listrik statisPpt materi listrik statis
Ppt materi listrik statis
 
Matlab 5
Matlab 5Matlab 5
Matlab 5
 
Arus dan Konduktor
Arus dan KonduktorArus dan Konduktor
Arus dan Konduktor
 
Presentasi cerobong surya dan kolam surya
Presentasi cerobong surya dan kolam suryaPresentasi cerobong surya dan kolam surya
Presentasi cerobong surya dan kolam surya
 
Analisis Regresi Linier Sederhana
Analisis Regresi Linier SederhanaAnalisis Regresi Linier Sederhana
Analisis Regresi Linier Sederhana
 
semikonduktor
semikonduktorsemikonduktor
semikonduktor
 
penyajian data
penyajian datapenyajian data
penyajian data
 
3 pemanfaatan arus bolak balik
3 pemanfaatan arus bolak balik3 pemanfaatan arus bolak balik
3 pemanfaatan arus bolak balik
 
Gelombang elektromagnetik
Gelombang elektromagnetikGelombang elektromagnetik
Gelombang elektromagnetik
 
7.bab vii -pita_energi
7.bab vii -pita_energi7.bab vii -pita_energi
7.bab vii -pita_energi
 
Laporan Pratikum analisis regresi linier sederhana
Laporan Pratikum analisis regresi linier sederhanaLaporan Pratikum analisis regresi linier sederhana
Laporan Pratikum analisis regresi linier sederhana
 
Model atom bohr(full version)
Model atom bohr(full version)Model atom bohr(full version)
Model atom bohr(full version)
 
Nilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor EigenNilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor Eigen
 
Siklus kegiatan ekonomi kelompok6 mb40_13
Siklus kegiatan ekonomi kelompok6 mb40_13Siklus kegiatan ekonomi kelompok6 mb40_13
Siklus kegiatan ekonomi kelompok6 mb40_13
 
2 a medan listrik
2 a medan listrik2 a medan listrik
2 a medan listrik
 
4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektif4 bunga nominal dan bunga efektif
4 bunga nominal dan bunga efektif
 
Transistor
TransistorTransistor
Transistor
 
Data Array
Data ArrayData Array
Data Array
 
Bunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung KeuanganBunga majemuk dalam Hitung Keuangan
Bunga majemuk dalam Hitung Keuangan
 
Diskon & tingkat diskon
Diskon & tingkat diskonDiskon & tingkat diskon
Diskon & tingkat diskon
 

Similar to Octave: Panduan Instalasi dan Penggunaan Dasar

Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)evarahma70
 
Modul 2 Variabel dan operasi dasar (1).pptx
Modul 2 Variabel dan operasi dasar (1).pptxModul 2 Variabel dan operasi dasar (1).pptx
Modul 2 Variabel dan operasi dasar (1).pptxssuser4e88af1
 
DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMAWalid_1234
 
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran FisikaManfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisikahabno
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_stringRoziq Bahtiar
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basicYang Terluka
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul iyohaneswahyuusd13
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6ahmad haidaroh
 

Similar to Octave: Panduan Instalasi dan Penggunaan Dasar (20)

Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
 
Modul 2 Variabel dan operasi dasar (1).pptx
Modul 2 Variabel dan operasi dasar (1).pptxModul 2 Variabel dan operasi dasar (1).pptx
Modul 2 Variabel dan operasi dasar (1).pptx
 
DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMA
 
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran FisikaManfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
 
Pemrograman Komputer - 3
Pemrograman Komputer - 3Pemrograman Komputer - 3
Pemrograman Komputer - 3
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_string
 
Fungsi grafik di matlab
Fungsi grafik di matlabFungsi grafik di matlab
Fungsi grafik di matlab
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basic
 
operator
operatoroperator
operator
 
Penjelasan Program
Penjelasan ProgramPenjelasan Program
Penjelasan Program
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul i
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Tipe data
Tipe dataTipe data
Tipe data
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6
 
E-views
E-viewsE-views
E-views
 
E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
 
Matlab 3
Matlab 3Matlab 3
Matlab 3
 
Struktur compiler session 4
Struktur compiler session 4Struktur compiler session 4
Struktur compiler session 4
 

More from dedidarwis

Cv dedi darwis
Cv dedi darwisCv dedi darwis
Cv dedi darwisdedidarwis
 
Manajemen pengetahuan
Manajemen pengetahuanManajemen pengetahuan
Manajemen pengetahuandedidarwis
 
Metadata pada Data Warehouse
Metadata pada Data WarehouseMetadata pada Data Warehouse
Metadata pada Data Warehousededidarwis
 
Siklus Pendapatan
Siklus PendapatanSiklus Pendapatan
Siklus Pendapatandedidarwis
 
Pengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis KomputerPengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis Komputerdedidarwis
 
Sistem Pengendalian Internal
Sistem Pengendalian InternalSistem Pengendalian Internal
Sistem Pengendalian Internaldedidarwis
 
Model data dan desain database
Model data dan desain databaseModel data dan desain database
Model data dan desain databasededidarwis
 
Pengantar e-business
Pengantar e-businessPengantar e-business
Pengantar e-businessdedidarwis
 
Siklus sistem informasi akuntansi
Siklus sistem informasi akuntansiSiklus sistem informasi akuntansi
Siklus sistem informasi akuntansidedidarwis
 
Konsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi AkuntansiKonsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi Akuntansidedidarwis
 
Pert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitianPert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitiandedidarwis
 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitiandedidarwis
 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitiandedidarwis
 
Pert 12 metode eksperimen
Pert 12   metode eksperimenPert 12   metode eksperimen
Pert 12 metode eksperimendedidarwis
 
Pert 11 kesalahan penelitian
Pert 11  kesalahan penelitianPert 11  kesalahan penelitian
Pert 11 kesalahan penelitiandedidarwis
 
Slide trik skripsi ftik s1
Slide trik skripsi ftik s1Slide trik skripsi ftik s1
Slide trik skripsi ftik s1dedidarwis
 
Pert 9 proposal penelitian
Pert 9 proposal penelitianPert 9 proposal penelitian
Pert 9 proposal penelitiandedidarwis
 
Pert 6 literatur review
Pert 6 literatur reviewPert 6 literatur review
Pert 6 literatur reviewdedidarwis
 
Pert 5 pengolahan data
Pert 5 pengolahan dataPert 5 pengolahan data
Pert 5 pengolahan datadedidarwis
 
Pert 5 pengumpulan-data
Pert 5 pengumpulan-dataPert 5 pengumpulan-data
Pert 5 pengumpulan-datadedidarwis
 

More from dedidarwis (20)

Cv dedi darwis
Cv dedi darwisCv dedi darwis
Cv dedi darwis
 
Manajemen pengetahuan
Manajemen pengetahuanManajemen pengetahuan
Manajemen pengetahuan
 
Metadata pada Data Warehouse
Metadata pada Data WarehouseMetadata pada Data Warehouse
Metadata pada Data Warehouse
 
Siklus Pendapatan
Siklus PendapatanSiklus Pendapatan
Siklus Pendapatan
 
Pengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis KomputerPengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis Komputer
 
Sistem Pengendalian Internal
Sistem Pengendalian InternalSistem Pengendalian Internal
Sistem Pengendalian Internal
 
Model data dan desain database
Model data dan desain databaseModel data dan desain database
Model data dan desain database
 
Pengantar e-business
Pengantar e-businessPengantar e-business
Pengantar e-business
 
Siklus sistem informasi akuntansi
Siklus sistem informasi akuntansiSiklus sistem informasi akuntansi
Siklus sistem informasi akuntansi
 
Konsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi AkuntansiKonsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi Akuntansi
 
Pert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitianPert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitian
 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitian
 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitian
 
Pert 12 metode eksperimen
Pert 12   metode eksperimenPert 12   metode eksperimen
Pert 12 metode eksperimen
 
Pert 11 kesalahan penelitian
Pert 11  kesalahan penelitianPert 11  kesalahan penelitian
Pert 11 kesalahan penelitian
 
Slide trik skripsi ftik s1
Slide trik skripsi ftik s1Slide trik skripsi ftik s1
Slide trik skripsi ftik s1
 
Pert 9 proposal penelitian
Pert 9 proposal penelitianPert 9 proposal penelitian
Pert 9 proposal penelitian
 
Pert 6 literatur review
Pert 6 literatur reviewPert 6 literatur review
Pert 6 literatur review
 
Pert 5 pengolahan data
Pert 5 pengolahan dataPert 5 pengolahan data
Pert 5 pengolahan data
 
Pert 5 pengumpulan-data
Pert 5 pengumpulan-dataPert 5 pengumpulan-data
Pert 5 pengumpulan-data
 

Recently uploaded

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxsiswoST
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 

Recently uploaded (8)

Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptx
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 

Octave: Panduan Instalasi dan Penggunaan Dasar

  • 1. LAMPIRAN : PANDUAN OCTAVE L.1 Menginstalasi dan Menjalankan Octave 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 adalah Octave 3.4.3, sedangkan paket Image Processing yang 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 Octave pada folder C:Octave. Selanjutnya, dekompresilah paket Image Processing dan kemudian letakkan folder image-1.0.15 ke dalam folder C:Octave. Dengan demikian, susunan folder C:Octave seperti berikut: Setelah terbentuk folder tersebut, Octave siap dijalankan. Agar paket Image Processing tersebut dikenali oleh Octave, berikan perintah seperti berikut setiap kali Anda menjalankan Octave: addpath('c:octaveimage-1.0.15inst') Perintah di atas memberitahukan Octave untuk menyatakan lokasi paket Image Processing. Pada lingkungan Windows, program Octave dijalankan dengan cara seperti berikut. 1. Klik pada tombol Start ( ). 2. Pilih All Programs. 3. Klik pada . 4. Klik pada . Tampilan yang dihasilkan semacam yang terlihat pada Gambar L.1.
  • 2. 702 Pengolahan Citra, Teori dan Aplikasi Gambar L.1 Tampilan awal Octave Tanda octave:1> menyatakan bahwa Octave siap menerima perintah dari pemakai. Sebagai contoh, cobalah berikan perintah: PS1(„>> „)  Tanda  tombol Enter. Dengan cara seperti itu, prompt berubah menjadi >> Apabila perintah PS1(„>> „) tidak mengubah prompt, lakukan perintah berikut terlebih dulu: clear PS1 kemudian, ulangi untuk memberikan perintah: PS1(„>> „)  L.2 Perintah Octave 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. ans = 5
  • 3. Lampiran 703 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 dalam Octave berbentuk 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 sebagai operand. Selain +, terdapat beberapa operator yang terkait dengan operasi aritmetika. Tabel L.1 memperlihatkan daftar operator aritmetika.
  • 4. 704 Pengolahan Citra, Teori dan Aplikasi Tabel L.1 Daftar operator aritmetika Operator Keterangan + Penjumlahan atau tanda positif - Pengurangan atau tanda negatif * Perkalian / atau Pembagian ^ Pangkat  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-5 atau 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.2 Sejumlah 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 3 125 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. Lampiran 705 Tabel L.3 Prioritas 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 dalam Octave 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, bilangan dan Bilangan adalah 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. 706 Pengolahan Citra, Teori dan Aplikasi 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.4 Daftar 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.5 Akhiran Titik Koma dan Pemisahan Pernyataan Octave menyediakan mekanisme yang membuat penugasan terhadap suatu variabel tidak membuat Octave secara otomatis menampilkan isi variabel tersebut. Hal itu dilaksanakan 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. Normalnya, sebuah baris berisi sebuah perintah. Pada praktiknya, dimungkinkan untuk menuliskan beberapa perintah dalam sebuah baris. Hal ini
  • 7. Lampiran 707 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 di depannya tidak ditampilkan. Bandingkan dengan contoh berikut: >> tinggi = 4, lebar = 3;  tinggi = 4 >> Tampak bahwa tanda koma sebagai pemisah antarpernyataan tetap menampilkan isi variabel tinggi. L.6 Mengenal Memori untuk Variabel Variabel-variabel yang diciptakan pemakai akan dikelola oleh Octave dan diletakkan dalam memori kerja. Semua variabel dalam memori dapat dipantau dengan menggunakan who. 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 perintah clear. Contoh: >> clear intensitas  akan menghapus variabel bernama intensitas dari workspace. 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: clear Selain who, terdapat pula perintah whos. Perintah whos menghasilkan informasi yang lebih lengkap terhadap variabel-variabel yang terdapat pada memori kerja. Contoh:
  • 8. 708 Pengolahan Citra, Teori dan Aplikasi >> 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 di Octave.  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. Lampiran 709 L.8 Mengenal Fasilitas Help Octave menyediakan fasilitas bantuan yang sangat berguna untuk memperoleh informasi mengenai topik tertentu secara online. 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 bahwa Octave memberikan penjelasan tentang pi. 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, 1 dapat 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. 710 Pengolahan Citra, Teori dan Aplikasi 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 sebagai argumen. 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, antarargumen 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 menghasilkan nilai balik (return value) dan nilai ini tentu saja dapat diberikan ke variabel. Contoh: >> x = sqrt(49)  x = 7 >> Pada contoh di atas, nilai balik sqrt yaitu 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. Lampiran 711 Tabel L.5 Sejumlah 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 menghasilkan conjugate dari 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. 712 Pengolahan Citra, Teori dan Aplikasi 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  -1 kalau x bernilai kurang dari nol
  • 13. Lampiran 713 Fungsi Keterangan Contoh: sign(5) → 1 sign(0) → 0 sign(-5) → -1 sqrt(x) Fungsi ini menghasilkan akar kuadrat dari bilangan x. Tabel L.6 Sejumlah 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 menghasilkan tangent dari 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 inversi tangent dari x. Hasilnya berkisar antara -π/2 dan π/2 dalam satuan radian. atan2(x, y) Fungsi ini menghasilkan inversi tangent dari y/x. Hasilnya berkisar antara -π dan π dalam satuan radian. sinh(x) Fungsi ini menghasilkan sinus hiperbolik dari x (yaitu 2 xx ee   ). cosh(x) Fungsi ini menghasilkan kosinus hiperbolik dari x (yaitu 2 xx ee   ). tanh(x) Fungsi ini menghasilkan tangent hiperbolik x. asinh(x) Fungsi ini menghasilkan inversi sinus hiperbolik x. acosh(x) Fungsi ini menghasilkan inversi kosinus
  • 14. 714 Pengolahan Citra, Teori dan Aplikasi hiperbolik x. atanh(x) Fungsi ini menghasilkan inversi tangent hiperbolik x. L.11 Prioritas Operator dalam Octave Prioritas keseluruhan operator dalam Octave bisa dilihat pada Tabel L.7. Informasi yang terkandung di dalamnya sangat bermanfaat ketika melibatkan berbagai operator. Tabel L.7 Daftar prioritas operator dalam Octave 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 Mengakhiri Octave Mengakhiri Octave dapat dilakukan dengan cara mengetikkan perintah exit. L.13 String 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: kata = ‟don‟‟t‟
  • 15. Lampiran 715 Dalam hal ini, variabel kata berisi string : don‟t. Octave dapat menerima tanda petik ganda sebagai awalan dan akhiran string. Namun, tanda tersebut tidak berlaku pada MATLAB. L.14 Menampilkan dengan disp Isi suatu variabel biasa ditampilkan dengan cara menyebutkan nama variabel. Cara yang lain adalah menggunakan disp. Contoh penggunaan perintah ini: >> S = 'Tes...tes...123';  >> disp(S);  Tes...tes...123 >> Contoh di atas menunjukkan penampilan variabel S melalui disp. 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. 716 Pengolahan Citra, Teori dan Aplikasi 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 antarelemen. 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), antarelemen dalam larik perlu ditulis dengan pemisah spasi atau koma. Contoh: V = [ 5 6 7 8 9] atau
  • 17. Lampiran 717 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, Octave juga 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. 718 Pengolahan Citra, Teori dan Aplikasi 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 =             mnmm n n aaa aaa aaa ... ... ... ... 21 22221 11211
  • 19. Lampiran 719 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 dilakukan berupa pemangkatan setiap elemen dengan suatu nilai, operator ^ perlu ditulis menjadi .^. Contoh: >> A = [1 2; 3 4]  A = 1 2 3 4 >> B = A .^ 2  B =
  • 20. 720 Pengolahan Citra, Teori dan Aplikasi 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 =             mnmm n n aaa aaa aaa ... ... ... ... 21 22221 11211 B =             mnmm n n bbb bbb bbb ... ... ... ... 21 22221 11211 Operasi seperti berikut                mnmnmmmm nn nn bababa bababa bababa ... ... ... ... 2211 2222222121 1112121111 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 >> Jika dikehendaki untuk melakukan operasi pengurangan seperti berikut,
  • 21. Lampiran 721                mnmnmmmm nn nn bababa bababa bababa ... ... ... ... 2211 2222222121 1112121111 perintah yang 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 antarelemen matriks seperti berikut             mnmnmmmm nn nn xbaxbaxba xbaxbaxba xbaxbaxba ... ... ... ... 2211 2222222121 1112121111 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                12121111212111 12212211211221221121 111121111121121111 ......... ... ......... ......... nnnnnnnnnn nnnn nnnnnn xbaxbaxbaxbaxbaxba xbaxbaxbaxbaxbaxba xbaxbaxbaxbaxbaxba Dalam hal ini, jumlah kolom matriks A harus sama dengan jumlah baris matriks B. Contoh:
  • 22. 722 Pengolahan Citra, Teori dan Aplikasi >> A * B  ans = 4 1 14 -1 >> Untuk melakukan operasi pembagian antarelemen matriks seperti berikut             mnmnmmmm nn nn bababa bababa bababa :...:: ... :...:: :...:: 2211 2222222121 1112121111 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 antarelemen matriks seperti berikut             mnmnmmmm nn nn bababa bababa bababa ^...^^ ... ^...^^ ^...^^ 2211 2222222121 1112121111 diperlukan perintah berupa C = A .^ B Contoh:
  • 23. Lampiran 723 >> C = A .^ B  C = 1.00000 0.12500 0.33333 16.00000 >> Tabel L.8 memberikan ringkasan tentang operasi antarelemen pada dua buah vektor. Pada prinsipnya, hal ini juga berlaku untuk matriks. Tabel L.8 Ringkasan operasi antarelemen matriks Operasi Keterangan A adalah vektor [a1 a2 a3 .. an] B adalah vektor [b1 b2 b3 .. bn] Penjumlahan elemen- elemen vektor A+B = [a1+b1 a2+b2 a3+b3 .. an+bn] Pengurangan elemen- elemen vektor A-B = [a1-b1 a2-b2 a3-b3 .. an-bn] Perkalian elemen- elemen vektor A.*B = [a1*b1 a2*b2 a3*b3 .. an*bn] Pembagian elemen- elemen vektor A./B = [a1/b1 a2/b2 a3/b3 .. an/bn] Pemangkatan elemen- elemen vektor A.^B = [a1^b1 a2^b2 a3^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. 724 Pengolahan Citra, Teori dan Aplikasi ans = 3 >> Pada matriks, i pada notasi A(i, j) menyatakan indeks baris dan j menyatakan 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 Octave menjadikan 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. Lampiran 725 >> 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. 726 Pengolahan Citra, Teori dan Aplikasi 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. Lampiran 727 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 fungsi size. 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 >>                 0987 6543 2109 8765 4321
  • 28. 728 Pengolahan Citra, Teori dan Aplikasi 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.9 Sejumlah 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 fungsi linspace. >> 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 oleh linspace. Contoh berikut memperlihatkan hasil logspace:
  • 29. Lampiran 729 >> 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 penggunaan find: >> 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. 730 Pengolahan Citra, Teori dan Aplikasi Contoh penggunaan ones: >> C = ones(3,4)  C = 1 1 1 1 1 1 1 1 1 1 1 1 >> Contoh penggunaan zeros: >> 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 jendela Command. 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: cd C:pcd
  • 31. Lampiran 731 Selain folder C:PCD, contoh-contoh yang diberikan dalam buku ini menggunakan folder C:Image sebagai tempat untuk menaruh file citra. Untuk membuat berkas-M dengan menggunakan Octave, ikutilah langkah- langkah berikut. 1. Gunakan editor teks. 2. Buat file baru. 3. Ketikkan perintah-perintah Octave, 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 prompt Octave dan 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 oleh Octave. Contoh:
  • 32. 732 Pengolahan Citra, Teori dan Aplikasi  % 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 oleh Octave. 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 %} 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. Lampiran 733 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. 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.10 Daftar 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  ans = 0
  • 34. 734 Pengolahan Citra, Teori dan Aplikasi >> 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.11 Daftar 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.12 Daftar 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';  >> x >= 'a' & x <= 'b' 
  • 35. Lampiran 735 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)  ans = 0
  • 36. 736 Pengolahan Citra, Teori dan Aplikasi >> 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 bernama xor, dengan bentuk pemakaian: xor(x, y) Dalam hal ini, nilai balik fungsi ditunjukkan pada Tabel L.13. Tabel L.13 Operasi 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, Octave menyediakan struktur if dengan bentuk: if ekspresi pernyaataan_pernyataan end dan if ekspresi pernyataan_pernyataan_1 else pernyataan_pernyataan_2 end Pada bentuk pertama, bagian pernyataan_pernyataan (bisa lebih dari sebuah pernyataan) hanya akan dijalankan kalau ekspresi bernilai benar. Penjelasan pada bentuk kedua sebagai berikut.
  • 37. Lampiran 737 1. Bagian pernyataan_pernyataan_1 hanya akan dijalankan kalau ekspresi bernilai benar. 2. Bagian pernyataan_pernyataan_2 hanya akan dijalankan kalau ekspresi bernilai 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. 738 Pengolahan Citra, Teori dan Aplikasi >> L.29 Pernyataan if..elseif Khusus untuk menangani persoalan yang mempunyai tiga kemungkinan atau lebih, Octave menyediakan struktur berbentuk seperti berikut: if ekspresi_1 pernyataan_pernyataan_1 elseif ekspresi_2 pernyataan_pernyataan_2 … else pernyataan_pernyataan_n end Tanda … menyatakan bahwa bagian elseif bisa lebih dari sebuah. Pada bentuk di atas, bagian pernyataan_pernyataan_1 hanya akan dijalankan kalau ekspresi_1 bernilai 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: switch ekspresi case ekspr_case_1 pernyataan_pernyataan_1 case { ekspr_case_21, ekspr_case_22, ekspr_case_23,...} pernyataan,_pernyataan_2 ... otherwise pernyataan_pernyataan_n end
  • 39. Lampiran 739 Pencocokan nilai ekspresi dan nilai pada ekspresi case dilakukan secara bertingkat dimulai dari yang paling atas. Jika nilai ekspresi cocok dengan ekspr_case_1, hanya pernyataan_pernyataan_1 yang akan dijalankan. Jika tidak cocok, pencocokan dilakukan pada case berikutnya. Jika tidak ada satu pun ekspresi case yang cocok dengan ekspresi switch, bagian otherwise (yaitu pernyataan_pernyataan_n) akan dieksekusi. Hal yang menarik, bagian ekspresi case bisa melibatkan lebih dari sebuah ekspresi yang ditulis dalam tanda { } dan antar ekspresi ditulis dengan pemisah koma. L.31 Pernyataan while Pernyataan while merupakan perintah yang berguna untuk menangani suatu pengulangan. Sebagai contoh, pernyataan ini dapat digunakan untuk menampilkan tulisan „OK‟ sebanyak 10 kali atau bahkan 1000 kali dengan menggunakan perintah yang pendek. Bentuk pernyataan while: while ekspresi pernyataan_pernyataan end Bagian yang berada di antara while dan end dijalankan terus-menerus selama ekspresi bernilai benar. Contoh : Program : sepuluhx.m % SEPULUHX Contoh while untuk menampilkan % 10x tulisan OK pencacah = 0; while pencacah < 10 disp('OK'); pencacah = pencacah + 1; end Akhir Program Hasilnya seperti berikut: >> sepuluhx  OK OK OK OK OK OK OK OK
  • 40. 740 Pengolahan Citra, Teori dan Aplikasi OK OK >> Hal yang terpenting yang perlu diperhatikan, pada pengulangan seperti di depan, ada variabel yang dijadikan sebagai pencacah untuk menghitung tulisan “OK” yang sudah ditampilkan. Perintah pencacah = pencacah + 1; menaikkan isi variabel pencacah setiap kali tulisan “OK” telah ditampilkan. Suatu saat, ketika pencacah bernilai 11, ekspresi pada while yaitu pencacah < 11 bernilai salah. Keadaan itulah yang mengakhiri pengulangan while. L.32 Pernyataan for Octave menyediakan pernyataan for juga untuk kepentingan penanganan pengulangan, terutama untuk menangani pencacahan. Format pernyataan for: for variable = ekspr pernyataan_pernyataan end Contoh berikut menunjukkan penggunaan for untuk menampilkan bilangan dari 1 sampai dengan 10. Program : contfor.m % CONTFOR Contoh for untuk menampilkan bilangan 1 s/d 10 for i = 1 : 10 disp(num2str(i)); end Akhir Program Hasil pemanggilan contfor: >> contfor  1 2 3 4 5 6 7 8 9
  • 41. Lampiran 741 10 >> Contoh penggunaan larik dalam ekspresi for dapat dilihat pada skrip berikut. Program : contfor2.m % CONTFOR2 Contoh for untuk menampilkan bilangan 1 s/d 10 for i = [8 9 4 6 3] disp(num2str(i)); end Akhir Program Hasil pemanggilan contfor2: >> contfor2  8 9 4 6 3 >> Perhatikan bahwa nilai yang ditampilkan oleh disp berasal dari larik [8 9 4 6 3]. L.33 Pernyataan break Pernyataan break berguna untuk mengakhiri eksekusi suatu pernyataan for ataupun while. Bila diletakkan dalam suatu for (while) yang berada dalam for (while), break hanya memberikan efek mengakhiri for (while) terdalam. Ilustrasi break dapat dilihat pada Gambar L.2. for i = 1:10, if i == 5 break end … end …Pernyataan_sesudah_for Gambar L.2 Pernyataan break mengakhiri eksekusi for
  • 42. 742 Pengolahan Citra, Teori dan Aplikasi Contoh untuk memperlihatkan efek break: Program : contbr.m % CONTBR Contoh break pada for for i = 1 : 5 if i == 3 break; end disp(num2str(i)); end Akhir Program Hasil pemanggilan contbr: >> contbr  1 2 >> Pernyataan break dieksekusi saat i bernilai 3. Itulah sebabnya, nilai i terakhir yang ditampilkan oleh disp adalah 2. L.34 Pernyataan continue Seperti halnya break, pernyataan continue digunakan bersama for atau while. Secara umum, continue digunakan untuk mengatur eksekusi ke iterasi berikutnya. Pada pernyataan for, continue membuat semua pernyataan di bawahnya akan diabaikan dan variabel pencacah for dinaikkan (atau diturunkan) ke nilai berikutnya. Lalu, eksekusi dilanjutkan ke bagian awal pernyataan dalam tubuh for sepanjang batas akhir pada variabel for belum tercapai. Contoh: Program : contcont.m % CONTCONT Contoh continue pada for for i = 1 : 5 if i == 3 continue; end disp(num2str(i)); end Akhir Program
  • 43. Lampiran 743 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 dengan break, continue membuat nilai 4 dan 5 tetap ditampilkan.
  • 44. 744 Pengolahan Citra, Teori dan Aplikasi