Operasi Dasar Octave

Posted on: 9 Maret 2018, by :
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 fungsinya, 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 sinussuatu 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 0atau -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 realmindan 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 as4.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

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *