Panduan Praktikum 2 Octave
Edy Wihardjo, S.Pd. M.Pd.
edisi revisi: 3 Maret 2018
Pendahuluan
GNU Octave
(selanjutnya disebut Octave
saja) adalah alat untuk melakukan komputasi numerik dengan matriks dan vektor. Program tersebut juga dapat digunakan untuk perhitungan umum dan untuk menggambar grafik fungsi.
Sintaks dan nama fungsi-fungsi di Octave sama dengan Matlab, jadi pengguna Matlab dapat dengan mudah beralih ke Octave.
Octave merupakan free software sehingga Anda memiliki kebebasan untuk melihat source code programnya dan mengembangkannya.
Tutorial ini akan mengajarkan cara melakukan perhitungan sederhana dengan Octave. Bahan utama yang tercakup di dalamnya adalah operasi aritmatika, variabel, fungsi built-in, dan keterbatasan angka di Octave.
Menginstal dan Menjalankan Octave
Jika anda menggunakan Linux, Octave mungkin sudah terinstall di sistem anda. Untuk mengeceknya, bukalah console dan jalankan perintah “octave” (tanpa tanda kutip). Jika di sistem anda belum terinstall Octave, dapatkan segera di https://ftp.gnu.org/gnu/octave/windows/ untuk sistem operasi Windows.
Octave tersedia untuk berbagai platform, misalnya Linux dan Windows. Untuk pengguna Windows, downloadlah file berekstensi exe
dengan tanggal rilis terbaru. Untuk pengguna Linux yang perlu didownload adalah file berekstensi tar.gz
yang terbaru.
Setelah anda menginstall dan menjalankannya, anda akan dihadapkan pada layar seperti berikut:
Sekarang kita bisa mulai melakukan perhitungan dengan Octave. Untuk lebih memahami materi di tutorial ini, anda dapat langsung mengetikkan contoh-contoh yang diberikan.
Operasi-operasi Sederhana
Penjumlahan
Operasi penjumlahan dilakukan dengan menggunakan simbol +
, seperti contoh berikut:
>> 1 + 2
ans = 3
Baris pertama adalah input dan baris kedua adalah outputnya.
Pengurangan
Operasi pengurangan dilakukan dengan menggunakan simbol -
, seperti contoh berikut:
>> 3 - 2
ans = 1
Perkalian
Operasi perkalian dilakukan dengan menggunakan simbol *
, seperti contoh berikut:
>> 3 * 2
ans = 6
Pembagian
Operasi pembagian dilakukan dengan menggunakan simbol /
, seperti contoh berikut:
>> 3 / 2
ans = 1.5000
Dari contoh terakhir kita bisa melihat bahwa Octave menggunakan titik (.) sebagai tanda desimal.
Seperti biasanya, operasi perkalian dan pembagian memiliki prioritas yang lebih tinggi dari operasi penjumlahan dan pengurangan.
Urutan pengerjaan dapat diubah menggunakan kurung buka dan kurung tutup. Lihat contoh berikut:
>> 1 + 2 * 3
ans = 7
Pada contoh di atas, yang pertama kali dikerjakan adalah 2 * 3
. Kemudian hasilnya (yaitu 6
) dijumlahkan ke 1
sehingga hasil akhirnya adalah 7.
>> (1 + 2) * 3
ans = 9
Pada contoh berikutnya, yang pertama kali dikerjakan adalah 1 + 2
lalu hasilnya (yaitu 3
) dikalikan dengan 3
.
Operasi Perpangkatan
Operasi perpangkatan dilakukan dengan menggunakan simbol ^
, seperti contoh berikut:
>> 2 ^ 3
ans = 8
Prioritas operasi perpangkatan lebih tinggi dari perkalian, pembagian, penjumlahan, dan pengurangan.
Berikut diberikan contohnya:
>> 2 ^ 3 * 2
ans = 16
Dalam menuliskan input untuk Octave
, jumlah spasi antar elemen input tidak berpengaruh pada hasilnya. Ketiga contoh berikut memberikan hasil yang sama walaupun penulisannya berbeda:
>> (1 + 2) * 3
ans = 9
>> (1+2)*3
ans = 9
>> ( 1 +2) * 3
ans = 9
Perhitungan-perhitungan tertentu dapat memakan waktu yang sangat lama. Contohnya adalah perkalian antar matriks yang ukurannya besar (tidak akan kita bahas di sini). Jika Anda ingin menggagalkan proses perhitungan tersebut, yang perlu Anda lakukan adalah menekan CTRL+C
pada keyboard (menahan tombol CTRL
lalu menekan tombol C
). Hal ini juga dapat Anda lakukan kalau Octave
bermasalah (misalnya berhenti pada suatu perhitungan yang sederhana).
Notasi Ilmiah
Kita dapat menuliskan bilangan dengan menggunakan notasi ilmiah, misalnya 1.1e5
(atau 1.1E5
) yang berarti 1.1 x 10^5
>> 1.1e5
ans = 110000
Contoh berikutnya -52e-3
(atau -52E-3
) yang berarti -52 x 10^-3
.
>> -52e-3
ans = -0.052000
Output dari suatu perhitungan kadang-kadang dituliskan menggunakan notasi ilmiah:
>> 999 ^ 9
ans = 9.9104e+26
>> 1.234 / 100000
ans = 1.2340e-05
Variabel
Setiap kita melakukan perhitungan, hasilnya akan disimpan ke variabel yang bernama ans
(terlihat jelas di baris output). Variabel ans
tersebut bisa kita gunakan untuk perhitungan selanjutnya, seperti dalam contoh berikut:
>> 1 + 2
ans = 3
>> ans * 2
ans = 6
>> ans ^ 2
ans = 36
Setelah perhitungan pertama, ans akan bernilai 3. Lalu ans dikalikan dengan 2 yang memberikan hasil 6. Hasil tersebut menjadi nilai baru dari ans. Setelah itu ans (yang sekarang bernilai 6) dikuadratkan. Hasilnya yaitu 36 menjadi nilai baru ans.
Kita dapat dengan mudah membuat variabel-variabel baru. Nama variabel dapat terdiri dari alfabet (a-z,A-Z), angka (0-9), dan garis bawah (_). Nama variabel tidak boleh dimulai dengan angka. Di bawah dicontohkan nama-nama variabel yang sah:
x
y
jumlah_murid
var23
_z
Berikutnya adalah dua contoh nama variabel yang tidak sah:
7_desember
karena dimulai dengan angka.
diam!
karena terdiri dari karakter yang tidak diizinkan yaitu tanda seru (!)
.
Huruf besar dan huruf kecil dibedakan, jadi radius
, Radius
, dan RADIUS
adalah nama tiga variabel yang berbeda.
Untuk memberikan nilai ke variabel digunakan simbol =
. Proses pemberian nilainya dinamakan assignment. Dalam assignment, nilai ans
tidak akan berubah (kecuali kalau kita melakukan assignment terhadap ans
itu sendiri). Lihat contohnya:
>> x = 2
x = 2
>> y = x + 2
y = 4
>> y ^ 2
ans = 16
>> z = 0
z = 0
>> Z - 1
error: 'Z' undefined near line 18 column 5
error: evaluating binary operator '-' near line 18, column 7
Kita bisa melihat bahwa setelah kita memberi nilai ke suatu variabel, variabel tersebut langsung bisa kita gunakan. Di dalam contoh, setelah kita memberikan nilai 2
ke x
, kita berikutnya menggunakan variabel x
untuk menentukan nilai variabel y
.
Contoh yang terakhir menghasilkan pesan error sebab kita mencoba menghitung Z - 1
. Padahal variabel Z
(huruf kapital/besar) belum pernah kita beri nilai sebelumnya. Error yang dicontohkan tidaklah fatal. Octave akan mengabaikan masukan yang bermasalah dan kita dapat melanjutkan pemakaian.
Ada beberapa variabel yang sudah didefinisikan oleh Octave. Beberapa di antaranya adalah bilangan pi
dan e
yang dipakai untuk perhitungan-perhitungan tertentu.
>> pi
ans = 3.1416
>> e
ans = 2.7183
Ada juga variabel yang berfungsi untuk mengatur perilaku Octave. Contohnya adalah output_precision
yang menentukan jumlah bilangan penting (significant figures) yang ditampilkan Octave. Perhatikan contoh berikut:
>> output_precision
output_precision = 5
>> pi
pi = 3.1416
Kita bisa melihat bahwa nilai awal output_precision adalah 5 (default). Saat kita melihat nilai pi, yang ditampilkan hanyalah 5 bilangan penting.
>> output_precision = 8
output_precision = 8
>> pi
pi = 3.1415927
Berikutnya kita merubah output_precision menjadi 8. pi
akhirnya ditampilkan dengan 8 bilangan penting.
>> r = 2.1
r = 2.1000000
>> luas = pi * r^2
luas = 13.854424
Lalu kita menghitung luas lingkaran yang jari-jarinya r = 2.1
.
Fungsi Built-in
Octave menyediakan banyak fungsi built-in. Salah satu contohnya adalah fungsi sqrt
(square root) yang digunakan untuk menghitung akar kuadrat suatu bilangan. Inilah cara menggunakannya:
>> sqrt(2)
ans = 1.4142
Untuk memanggil suatu fungsi, kita menuliskan nama fungsi
nya, diikuti dengan kurung buka
, lalu menuliskan argumen-argumennya, dan diakhiri dengan kurung tutup
.
Fungsi sqrt
hanya membutuhkan satu argumen (dalam contoh di atas argumennya adalah 2
).
Berikut akan didaftar beberapa fungsi built-in dalam Octave. Semua fungsi tersebut memerlukan satu argumen.
Menghitung Nilai Mutlak
Untuk menghitung nilai mutlak suatu bilangan, gunakan fungsi abs
(nilai absolut).
>> abs(-2)
ans = 2
>> abs(2)
ans = 2
Membulatkan Bilangan ke Bilangan Bulat Terdekat
Untuk membulatkan suatu bilangan ke bilangan bulat terdekat, gunakan fungsi round
>> round(2.5)
ans = 3
>> round(2.49)
ans = 2
Menghitung Bilangan Bulat Terbesar yang Lebih Kecil atau Sama
Untuk mengembalikan bilangan bulat terbesar yang lebih kecil atau sama dengan bilangan input, gunakan fungsi floor
.
>> floor(2.9)
ans = 2
>> floor(-0.1)
ans = -1
Menghitung Bilangan Bulat Terkecil yang Lebih Besar atau Sama
Untuk mengembalikan bilangan bulat terkecil yang lebih besar atau sama dengan bilangan input, gunakan fungsi ceil
.
>> ceil(2.9)
ans = 3
>> ceil(-0.1)
ans = 0
Trigonometri
Untuk menghitung nilai trigonometri, gunakan fungsi yang terkait, argumen dalam radian
.
Menghitung Sinus suatu Sudut
Untuk menghitung sinus
suatu sudut, gunakan fungsi sin
.
>> sin(pi/2)
ans = 1
Menghitung Cosinus suatu Sudut
Untuk menghitung cosinus
suatu sudut, gunakan fungsi cos
.
>> cos(0)
ans = 1
Menghitung Tangen suatu Sudut
Untuk menghitung tangen
suatu sudut, gunakan fungsi tan
.
>> tan(0)
ans = 0
Menghitung Secant suatu Sudut
Untuk menghitung secant
suatu sudut, gunakan fungsi sec
.
>> sec(0)
ans 1
Menghitung Cosecant suatu Sudut
Untuk menghitung cosecant
suatu sudut, gunakan fungsi csc
.
>> csc(pi/2)
ans = 1
Menghitung Cotangent suatu Sudut
Untuk menghitung cotangent
suatu sudut, gunakan fungsi cot
.
>> cot(pi/4)
ans = 1
Logaritma dan Ekponensiasi
Menghitung Pangkat
Untuk menghitung pangkat
suatu bilangan, gunakan fungsi exp
.
exp(1)
ans = 2.7183
Menghitung Logaritma
Untuk menghitung logaritma
suatu bilangan, gunakan fungsi log
.
>> log(e)
ans = 1
Menghitung Logaritma Basis 10
Untuk menghitung logaritma basis 10
suatu bilangan, gunakan fungsi log10
.
>> log10(100)
ans = 2
Menghitung Logaritma Basis 2
Untuk menghitung logaritma basis 2
suatu bilangan, gunakan fungsi log2
.
>> log2(8)
ans = 3
Fungsi Built-in Lainnya
Bagi yang memerlukannya, terdapat fungsi-fungsi trigonometri invers yaitu asin
, acos
, atan
, asec
, acsc
, dan acot.
Keluaran fungsi-fungsi tersebut adalah sudut dalam radian.
Terdapat pula fungsi trigonometri hiperbolis yaitu sinh
, cosh
, tanh
, sech
, csch
, dan tanh
.
Fungsi invers yang bersangkutan adalah asinh
, acosh
, atanh
, asech
, acsch
, dan atanh
.
Contoh fungsi yang memerlukan dua argumen adalah fungsi mod
. mod(a, b)
akan mengembalikan sisa pembagian jika a dibagi b. Sebagai contoh:
>> mod(6, 3)
ans = 0
>> mod(7, 3)
ans = 1
>> mod(9, 3)
ans = 0
Keterbatasan Bilangan di Octave
Tipe data bilangan yang telah kita temui sejak awal tutorial (misalnya 1, 1.5, dan 1e5) di Octave disebut sebagai skalar
. Jangkauan dan ketepatan skalar di Octave terbatas, seperti ditunjukkan pada contoh berikut:
>> 999 ^ 999
ans = Inf
>> -999 ^ 999
ans = -Inf
>> 1e-999
ans = 0
>> -1e-999
ans = -0
Jika bilangan yang kita masukkan (atau hasil perhitungan) terlalu besar nilai mutlaknya, maka hasilnya adalah Inf
(singkatan dari infinity, yang artinya tak hingga) atau -Inf
.
Di lain pihak, jika perhitungan menghasilkan bilangan yang terlalu kecil nilai mutlaknya (mendekati 0), maka nilainya akan menjadi 0
atau -0
. Lalu apa bedanya 0 dengan -0?
Jika sebuah bilangan positif dibagi dengan 0 maka hasilnya adalah Inf
sedangkan jika pembaginya adalah -0
maka hasilnya adalah -f
.
Sebaliknya jika sebuah bilangan negatif dibagi dengan 0
hasilnya adalah `-Inf n jika pembaginya adalah -0 maka hasilnya adalah Inf. Perhatikan contoh berikut:
>> 1 / 0
ans = Inf
>> 1 / -0
ans = -Inf
Beberapa operasi hasilnya adalah NaN (Not a Number)
, misalnya 0 / 0
. Segala operasi yang melibatkan NaN
misalnya NaN / 2
, sin(NaN)
, dan NaN - NaN
hasilnya adalah NaN
.
>> 0/0
warning: division by zero
ans = NaN
Operasi yang melibatkan Inf memiliki aturan tersendiri yang tidak akan dibahas di sini. Silakan anda mencoba-coba jika tertarik (misalnya Inf - 2
, Inf - Inf
, dan -2 * Inf
).
Bilangan positif terkecil dan terbesar yang dapat ditangani Octave disimpan di variabel realmin
dan realmax
. Di sistem saya nilainya adalah sebagai berikut:
realmin
s = 2.2251e-308
realmax
s = 1.7977e+308
Perlu diingat bahwa di dalam sistem bilangan riil tidak dikenal bilangan infinity n NaN. Nilai-nilai tersebut ada di Octave untuk menandakan bahwa operasi-operasi tertentu (misalnya pembagian dengan 0) telah terjadi.
Penyelesaian Masalah
Menyelesaikan Persamaan Kuadrat
Dengan pengetahuan yang kita punya sekarang, kita sudah dapat menyelesaikan berbagai masalah matematis dengan Octave. Sebagai contoh, misalkan kita ingin mencari penyelesaian dari 2x2-5x-3=0
. Kita akan menggunakan rumus abc, jadi kita akan memberikan nilai pada variabel a, b, dan c untuk mempermudah perhitungan selanjutnya.
a = 2
= 2
b = -5
= -5
c = -3
= -3
Berikutnya kita akan memberikan nilai ke diskriminannya d
, yaitu b2-4ac
.
d = b^2 - 4*a*c
= 49
Karena d
positif, pasti kita akan mendapat dua penyelesaian riil (sebetulnya Octave juga dapat menangani bilangan kompleks, namun hal tersebut tidak akan bahas di sini). Kita akan mencari penyelesaiannya satu-persatu:
x1 = (-b + sqrt(d)) / (2*a)
= 3
x2 = (-b - sqrt(d)) / (2*a)
= -0.50000
Jadi himpunan selesaiannya adalah {3, -1/2}
.
Materi Tambahan
Mencegah Octave Menampilkan Hasil Perhitungan
Kita dapat mencegah Octave menampilkan hasil perhitungan dengan menggunakan titik koma (;)
. Perhatikan contoh berikut:
a = 1
= 1
b = 2
= 2
c = 3;
d = 4;
a + b + c + d
s = 10
at kita melakukan assignment terhadap c
dan d
, output nya tidak langsung ditampilkan karena kita mengakhiri assignment tersebut dengan titik koma
.
Jika kita ingin mendapatkan informasi tentang suatu variabel atau fungsi pada Octave, kita tinggal menggunakan perintah help. Ini contohnya:
help pi
is a built-in constant
— Built-in Variable: pi
​ The ratio of the circumference of a circle to its diameter.
​ Internally, pi' is computed as
4.0 * atan (1.0)’.
Additional help for built-in functions, operators, and variables is available in the on-line version of the manual. Use the command
`help -i ‘ to search the manual index.
Help and information about Octave is also available on the WWW
at http://www.octave.org and via the help-octave@bevo.che.wisc.edu
mailing list.
help log
g is a built-in mapper function
— Mapping Function: log (X)
​ Compute the natural logarithm for each element of X. To
compute
​ the matrix logarithm, see *Note Linear Algebra::.
See also: log2, log10, logspace, and exp.
Additional help for built-in functions, operators, and variables is available in the on-line version of the manual. Use the command
`help -i ‘ to search the manual index.
Help and information about Octave is also available on the WWW
at http://www.octave.org and via the help-octave@bevo.che.wisc.edu
mailing list.
Untuk keluar dari Octave, tuliskan “exit” atau “quit” (tanpa tanda kutip).
Penutup
Inilah akhir dari tutorial pertama kita! Dengan pengetahuan yang didapat dari tutorial ini kita sudah bisa menggunakan Octave sebagai kalkulator sederhana.
Tutorial berikutnya akan membahas penggunaan matriks beserta operasinya pada
Octave.
Silakan kirimkan kritik, perbaikan, dan saran ke edy.fkip@unej.ac.id atau dengan mengirim pesan Telegram ke: @edyjo
Sangat Membantu sekali bapak
Alhamdulillah dapat dimengerti. Terima kasih bapak.
terima kasih bapak, sangat bermanfaat bagi saya yang masih awam
Fungsi y=ln(x) bapak kok tidak terdefinisi?
Sangat bermanfaat dalam memahami penggunaan octave dan terbantu untuk lebih mengenal octave
Sangat membantu, terimakasih
Trimakasih Tutorialnya, Pak. Sangat Keren.