• Tidak ada hasil yang ditemukan

Tutorial GNU Octave

N/A
N/A
Protected

Academic year: 2021

Membagikan "Tutorial GNU Octave"

Copied!
21
0
0

Teks penuh

(1)c  

(2)   

(3)  

(4)   !" #$$%. &   GNU Octave (kadang 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. Materi pada tutorial ini dibuat berdasarkan Octave versi 2.1.50. '()* 

(5)   Jika anda menggunakan Linux, Octave mungkin sudah terinstall di sistem anda. Untuk mengeceknya, bukalah console dan jalankan perintah "octave" (tanpa ta nda kutip). Jika di sistem anda belum terinstall Octave, dapatkan segera di http://sourceforge.net/project/showfiles.php?group_id=2888 . Octave tersedia untuk berbagai platform, misaln ya 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 penjumlahan dilakukan dengan menggunakan simbol + dan pengurangan dengan simbol -. Ini contohnya:.

(6) ÒÒ    R   .    R     

(7) . ÒÒ      . Perkalian dan pembagian masing -masing menggunakan simbol * dan /, seperti dalam contoh berikut: ÒÒ   

(8) ÒÒ     . 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 pengu rangan. Urutan pengerjaan dapat diubah menggunakan kurung buka dan kurung tutup. Lihat contoh berikut: ÒÒ    .    ÒÒ    .   . Pada contoh pertama, yang pertama kali dikerjakan adalah 2 * 3. Hasilnya (yaitu 6) dijumlahkan ke 1 sehingga hasil akhirnya adalah 7. Pada contoh berikutnya, yang pertama kali dikerjakan adalah 1 + 2 lalu hasilnya (yaitu 3) dikalikan dengan 3. Operasi perpangkatan dilakukan dengan menggunakan simbol ^. Prioritasnya lebih tinggi dari perkalian, pembagian, penjuml ahan, dan pengurangan. Berikut diberikan beberapa contohnya: ÒÒ  .    ÒÒ      

(9). Dalam menuliskan input untuk Octave, jumlah spasi antar elemen input tidak berpengaruh pada hasilnya. Ketiga contoh berikut memberikan hasil yang sama walaupun penulisannya berbeda: ÒÒ    .    ÒÒ .    ÒÒ .  . .

(10)   . 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). ( Kita dapat menuliskan bilangan dengan menggunakan notasi ilmiah, misalnya 1.1e5 (atau 1.1E5) dan -52e-3 (atau -52E-3). Contoh pertama berarti 1.1 x 10 5 dan contoh berikutnya berarti -52 x 10 -3. Lihat contoh berikut: ÒÒ     ÒÒ .      . Output dari suatu perhitungan kadang-kadang dituliskan menggunakan notasi ilmiah: ÒÒ       

(11) ÒÒ          . â" Setiap kita melakukan perhitungan, hasilnya akan disimpan ke variabel yang bernama ans (terlihat jelas dari outputnya). Variabel ans tersebut bisa kita gunakan untuk perhitungan selanjutnya, seperti dalam contoh berikut: ÒÒ       ÒÒ  .  

(12) ÒÒ     

(13). Setelah perhitungan pertama, ans akan bernilai 2. Lalu ans dikalikan dengan 3 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..

(14) 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:    ! ". #. Berikutnya adalah dua contoh nama variabel yang tidak sah: !$ R  . ! % R     

(15)  .  

(16)   . Huruf besar dan huruf kecil dibedakan, jadi "radius", "Radius", dan "RADIUS" adalah nama tiga variabel yang beda. Untuk memberikan nilai ke variabel digunakan simbol =. Prosesnya dinamakan assignment. Dalam assignment, nilai ans tidak akan berubah (kecuali kalau kita melakukan assignment terdahap ans itu sendiri). Lihat contohnya: ÒÒ       ÒÒ         ÒÒ      

(17) ÒÒ #  #  ÒÒ &   '( )&) !* !     +'  '( ", - $  '.,' ) )    / +' . 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 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 pi dan e yang dipakai untuk perhitungan -perhitungan tertentu. Ada juga variabel yang berfungsi untuk mengatur perilaku Octave. Contohnya.

(18) adalah output_precision yang menentukan jumlah bilangan penting (significant figures) yang ditampilkan Octave. Perhatikan contoh berikut: ÒÒ ',.,.+  ' ',.,.+  '   ÒÒ . .  

(19) ÒÒ ',.,.+  '   ',.,.+  '   ÒÒ . .   ÒÒ       ÒÒ   .     . Kita bisa melihat bahwa nilai awal output_precision adalah 5. Saat kita melihat nilai pi, yang ditampilkan hanyalah 5 bilangan penting. Berikutnya kita merubah output_precision menjadi 8. pi akhirnya ditampilkan dengan 8 bilangan penting. Lalu kita menghitung luas lingkaran yang jari -jarinya 2.1. ! ("  Octave menyediakan banyak fungsi built-in. Salah satu contohnya adalah fungsi sqrt yang menghitung akar kuadrat sebuah bilangan. Inilah cara menggunakannya: ÒÒ 0,   . Untuk memanggil suatu fungsi, kita menuliskan nama f ungsinya, 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.  , (. &)(. -. Manipulasi numerik abs. Menghitung nilai mutlak suatu bilangan.. abs(-2) nilainya 2 dan abs(2) nilainya 2. round. Membulatkan suatu bilangan ke bilangan bulat terdekat.. round(2.5) nilainya 3 dan round(2.49) nilainya 2. floor. Mengembalikan bilangan bulat terbesar yang lebih. floor(2.9) nilainya 2 dan.

(20)  , ( ceil. &)(. -. kecil atau sama dengan bilangan input.. floor(-0.1) nilainya -1. Mengembalikan bilangan bulat terkecil yang lebih besar atau sama dengan bilangan input.. ceil(2.9) nilainya 3 dan ceil(0.1) nilainya 0. Trigonometri (argumen dalam radian) sin. Menghitung sinus suatu sudut.. sin(pi/2) nilainya 1. cos. Menghitung cosinus suatu sudut.. cos(0) nilainya 1. tan. Menghitung tangent suatu sudut.. tan(0) nilainya 0. sec. Menghitung secant suatu sudut.. sec(0) nilainya 1. csc. Menghitung cosecant suatu sudut.. csc(pi/2) nilainya 1. cot. Menghitung cotangent suatu sudut.. cot(pi/4) nilainya 1. Logaritma dan exponensiasi exp. Menghitung perpangkatan natural suatu bilangan.. exp(1) nilainya 2.7183. log. Menghitung logaritma natural suatu bilangan.. log(e) nilainya 1. log10. Menghitung logaritma basis 10 suatu bilangan.. log10(100) nilainya 2. log2. Menghitung logaritma basis 2 suatu bilangan.. log2(8) nilainya 3. 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: ÒÒ '!

(21) /    ÒÒ '!/     ÒÒ '!/    . †"(*

(22)   Tipe data angka yang telah kita temui sejak awal tutorial (misalnya 1, 1.5, dan 1.1e5) di Octave disebut sebagai skalar. Jangkauan dan ketepatan skalar di Octave terbatas, seperti ditunjukkan pada contoh berikut: ÒÒ      1* ÒÒ   .

(23)   1* ÒÒ    ÒÒ    . Jika bilangan yang kita masukkan (atau hasil perhitungan) terlalu besar nilai mutlaknya, maka hasilnya adalah Inf (singakatan dari inf inity, 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 Inf. Sebaliknya jika sebuah bilangan negatif dibagi dengan 0 hasilnya adalah -Inf dan jika pembaginya adalah -0 maka hasilnya adalah Inf. Perhatikan contoh berikut: ÒÒ    1* ÒÒ     1*. 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. Operasi yang melibatkan Inf memiliki aturan tersendi ri yang tidak akan dibahas di sini. Silahkan 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 a dalah sebagai berikut: ÒÒ        ÒÒ     . Perlu diingat bahwa di dalam sistem bilangan riil tidak dikenal bilangan infinity dan NaN. Nilai-nilai tersebut ada di Octave untuk menandakan bahwa operasioperasi tertentu (misalnya pembagian dengan 0) telah terjadi. &.((/.(*+(*  Dengan pengetahuan yang kita punya sekarang, kita sudah dapat menyelesaikan berbagai masalah matematis dengan Octave. Sebagai contoh, misalkan kita ingin.

(24) mencari penyelesaian dari 2x 2-5x-3=0. Kita akan menggunakan rumus abc, jadi kita akan memberikan nilai pada variabel a, b, dan c untuk mempermudah perhitungan selanjutnya. ÒÒ       ÒÒ $   $   ÒÒ +  . +  . Berikutnya kita akan memberikan nilai ke diskriminannya d, yaitu b 2-4ac. ÒÒ !  $    + !  . Karena d positif, pasti kita akan mendapat dua penyelesaian riil (sebetulnya Octave juga dapat menangani bilangan kompleks, namun hal tersebut tidak akan dibahas di sini). Kita akan mencari penyelesaiannya satu-persatu: ÒÒ    $  0,!    . ÒÒ    $  0,!       . Jadi himpunan penyelesaiannya adalah {3, -1/2}. '"/**0+0*  Kita dapat mencegah Octave menampilkan hasil perhitungan dengan menggunakan titik koma (;). Perhatikan contoh berikut: ÒÒ       ÒÒ $   $   ÒÒ +  2 ÒÒ !  2 ÒÒ   $  +  !   . Saat kita melakukan assignment terhadap c dan d, outputnya tidak 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:.

(25) ÒÒ . . .   $ ,   +',,  3 ,  4 $( . 5 , ' '* , + +*+ '*  + + ,' , ! , 1,/ 6. )  +'.,!  6 ,  ). 7!! , ' . *' $ ,   *+, '/ '.,'/ ! " $  " $  , '   " ' '* ,  8 , +'! 6.  ) ,' + ,  ! 9. ! *', ' $', :+,"  ' " $ ' , ;;; , ,,.( <<<'+,"'- ! "  , . '+,"=$"'+< +!   -  , ÒÒ . ''-   $ ,   .. *+, '  >.. - ?+, '( '- @ A'., , , '- , *' + , '* @ , ,  '- ,/  B', C  7-$(( D '( '-/ '- / '-.+/ ! .. 5' +'.,. 7!! , ' . *' $ ,   *+, '/ '.,'/ ! " $  " $  ,  '  " ' '* ,  8 , +'! 6.  ) ,' + ,  ! 9. ! *', ' $', :+,"  ' " $ ' , ;;; , ,,.( <<<'+,"'- ! "  , . '+,"=$"'+< +!   -  ,. Untuk keluar dari Octave, tuliskan "exit" atau "quit" (tanpa tanda kutip). ? ? ? ? ? ? ? ? ? ? ?.

(26) c  

(27)  # 

(28)  

(29)   #'#$$%. &   Tipe data yang yang sudah dikenalkan pada bagian satu adalah skalar (misalnya 100, 2.1 dan 1e-3). Pada bagian ini kita akan mengenal tipe data matriks, yaitu kumpulan skalar yang tersusun dalam baris dan kolom. Bab ini mengasumsikan pembaca sudah kenal dengan matriks dan berbagai operasinya seperti perkalian antar matriks dan pencarian invers matriks. Pembahasan mengenai hal tersebut dapat ditemukan di buku -buku aljabar linier. '" *( Cara yang paling mudah untuk membuat matriks ada lah dengan menuliskan elemen-elemennya. Elemen pada baris yang sama dipisahkan menggunakan koma (,), sedangkan untuk membatasi baris digunakan titik koma (;). Lihat contoh berikut: ÒÒ E// 2 //

(30) F       ÒÒ E/ //F    ÒÒ E2 22F   .  .

(31). . . Saat membuat matriks, koma bisa digantikan dengan spasi. Jadi [2 3 5 7] artinya sama dengan [2,3,5,7]. Fungsi-fungsi yang menghasilkan matriks contohnya adalah zeros, eye, dan rand. zeros menghasilkan matriks yang semua elemennya 0, eye dapat menghasilkan matriks identitas, dan rand menghasilkan matriks yang nilai elemennya random (berada dalam interval [0,1)). Jika dipanggil menggunakan sebuah argumen skalar a, maka ukuran matriks yang dibuat adalah a x a. Jika dipanggil menggunakan dua argumen skalar a dan b, maka ukuran matriks yang dihasilkan adalah a x b. Berikut contohnya:.

(32) ÒÒ #'  . ÒÒ    .  ÒÒ !      

(33)   

(34)  ÒÒ /   . . Tentunya matriks dapat disimpan di sebuah variabel. Perlu diketahui bahwa tipe variabel di Octave tidaklah statis. Suatu variabel dapat bertipe skalar pada waktu tertentu dan bertipe matriks pada waktu lainnya. Perhatikan contohnya: ÒÒ 7   7   ÒÒ 7  E  2  

(35) F 7     .

(36). Setelah diassign sebuah matriks, tipe variabel A berubah dari skalar menjadi matriks. Jika kita mencoba membuat matriks yang ukurannya 1 x 1, maka Octave akan mengubahnya menjadi skalar. Dengan pengetahuan tersebut, kita bisa membuat suatu skalar random dengan memanggil rand(1). Fungsi rand juga bisa dipanggil tanpa argumen, yang juga menghasilkan sebuah skalar random. Hal tersebut diilustrasikan dalam contoh berikut: ÒÒ EF    ÒÒ !     

(37) ÒÒ !   

(38) . Kita juga dapat membentuk matriks baru dengan menggabungkan beberapa matriks. Sintaksnya mirip dengan pembuatan matriks dari skalar. Pahami contoh contoh berikut: ÒÒ .  E  F . .

(39) . . ÒÒ 0  E 

(40) 2   F 0     .

(41) . ÒÒ E.2 0F     .   .

(42) . ÒÒ E.2 2 0F    .    .

(43) . ÒÒ   E2 2 F    . ÒÒ   E2 2

(44) F    

(45) ÒÒ ,  E2 2 F ,     ÒÒ E  ,F    .  

(46).   . ÒÒ E  ,2 F      .

(47).   . +(+*( Matriks dapat dijumlahkan, dikurangi, dikali, dan dibagi oleh skalar. Operasi skalar yang bersangkutan akan dikerjakan pada tiap elemen matriks untuk menghasilkan matriks baru. Contoh berikut akan menjelaskannya (kita akan menggunakan variabel A dari contoh sebelumnya, yang bernilai [1 2 3; 4 5 6]): ÒÒ 7  .

(48)    .

(49).  . ÒÒ 7    .  .  .  .  .

(50) . ÒÒ 7      .   . ÒÒ 7   .  .  . Untuk operasi penjumlahan, pengurangan, dan perkalian, matriks yang bersangkutan dapat menjadi operand sebelah kanan (misalnya 1 - A dan 2 * A). Hal tersebut tidak dapat dilakukan untuk operasi pembagian. Operasi penjumlahan dan pengurangan antar matriks dapat dilakukan jika jumlah baris dan kolom matriks yang terlibat sama: ÒÒ 7  7    .  .

(51) . ÒÒ 7  7  . Untuk perkalian matriks A * B, jumlah kolom pada matriks A harus sama dengan jumlah baris pada matriks B: ÒÒ 3  E 2 2 

(52) F 3   .  

(53) ÒÒ 7 3    . 

(54) . Sebuah matriks persegi A juga dapat dipangkatkan dengan bilangan bulat n. A^n didefinisikan sebagai A * A * ... * A (sebanyak n kali). Lihat contoh berikut: ÒÒ A  E 2  F A   .

(55) . ÒÒ A     

(56) . &.((/&**( Misalkan harga 1 porsi nasi, sayur, dan ayam masing -masing 1000 rupiah, 750 rupiah, dan 3000 rupiah. Fido mentraktir temannya Doli, Lia, dan Ani. Fido membeli 4 porsi nasi, 2 porsi sayur, dan 4 porsi ayam. Doli mem beli masingmasing 1 porsi nasi, sayur, dan ayam. Lia membeli 2 porsi nasi dan 2 porsi ayam. Ani membeli 1 porsi nasi dan 3 porsi sayur. Berapakah ongkos yang dihabiskan masing-masing orang? Kita akan menggunakan matriks untuk menyelesaikan masalah ini. Pe rtama, kita buat 4 matriks baris dengan 3 elemen. Masing -masing matriks menunjukkan jumlah nasi (kolom 1), sayur (kolom 2), dan ayam (kolom 3) yang dibeli. ÒÒ * !'  E  F * !'    ÒÒ !' !' . .  E  F . . . ÒÒ    E F    . . ÒÒ   .  E F . Kita akan satukan semuanya ke dalam sebuah matriks: ÒÒ   E* !'2 !' 2  2  F         .  . Berikutnya adalah membuat matriks kolom yang berisi harga per porsi untuk nasi (baris 1), sayur (baris 2), dan ayam (baris 3) untuk tiap porsinya: ÒÒ -  E 2  2 F -   . .

(57) Dengan menghitung semua * harga, kita akan mendapatkan matriks kolom dengan tiap kolom menunjukkan biaya tiap orang (cek): ÒÒ -   - -     . . Dari sini terlihat bahwa Fido, Doli, Lia, dan Ani masing-masing menghabiskan 17500 rupiah, 4750 rupiah, 8000 rupiah, dan 3250 rupiah. +(*()  Untuk melakukan transpos digunakan operator ', seperti pada contoh berikut: ÒÒ E  F)    . . Matriks baris yang kita transpos akan menjadi matriks kolom. Untuk mencari determinan dan invers matriks persegi digunakan masing -masing fungsi det dan inv. Lihat contohnya: ÒÒ !,A    ÒÒ "A  .    ÒÒ "    . . Terdapat dua operasi pembagian matriks yaitu pembagian kanan dan pembagian kiri. A / B melakukan pembagian kanan dan nilainya adalah A * inv(B). A \ B melakukan pembagian kiri dan nilainya adalah inv(A) * B. Secara internal, penggunaan operator pembagian akan menghitung hasil baginya tanpa membentuk matriks invers. Lihatlah contoh berikut: ÒÒ G  E 2  F G .    ÒÒ A G.

(58)     .  .  . ÒÒ A "G      .  ÒÒ A H G     . ÒÒ "A G     . &.((#/'.(*1(&(2 Tono membeli 1 buku tulis dan 3 pulpen dengan ongkos total 2750 rupiah. Toni membeli 2 buku tulis dan 2 puplen dengan ongkos total 2500 rupiah. Berapakah masing-masing harga sebuah buku dan pulpen? Misalkan harga buku kita lambangkan a dan harga pulpen b. Berarti a + 3b = 2750 dan 2a + 2b = 2500. Ini adalah sistem persamaan linier dalam dua peubah. Kita akan simpan koefisiennya pada matriks A dan konstanta di sebelah kanan persamaan pada matriks B: ÒÒ 7  E 2  F 7  .   ÒÒ 3  E 2  F 3    . Misalkan x adalah matriks kolom yang berisi peubah a di baris 1 d an peubah b di baris ke 2. Karena Ax = B, berarti x = inv(A) * B. Kita akan mencari x dengan pembagian kiri: ÒÒ   7 H 3    . Berarti harga sebuah buku 500 rupiah dan harga sebuah pulpen 750 rupiah. +(.

(59) Operasi penjumlahan dan pengurangan antar dua matriks merupakan operasi antar elemen. Maksudnya, elemen pada lokasi yang sama di kedua matriks akan dioperasikan untuk menghasilkan elemen baru di matriks hasil. Di lain pihak, operasi perkalian, pembagian, dan perpangkatan bukan merupakan operasi antar elemen. Untuk mendapatkan versi antar elemen dari ketiga operasi tersebut, digunakan operator .*, ./, dan .^ (masing -masing diawali dengan titik). Perhatikan contohnya: ÒÒ I  E F I  . ÒÒ ?  E F ?    ÒÒ I  ?   

(60) ÒÒ I  ?     ÒÒ I  ?    . Perhatikan bahwa dengan operator .*, elemen di baris 1 kolom 1 pada E (nilainya 2) dikalikan dengan elemen di lokasi yang sama pada F (nilainya 2) untuk menghasilkan elemen di lokasi yang sama pada matriks hasil (nilainya 4). Hal yang sama dilakukan untuk elemen-elemen lainnya. Perlu diketahui bahwa operator-operator lainnya seperti + dan - juga dapat diberi titik di depannya (menjadi .+ dan . -). Tentunya dalam hal ini versi "biasa" maupun versi "bertitik" sama. Operator-operator bertitik juga dapat dikerjakan pada dua buah skalar. Sebagai contoh, 2 .* 5 akan menghasilkan 10. Beberapa fungsi-fungsi yang bekerja pada skalar juga dapat menerima argumen matriks. Contohnya adalah fungsi abs dan sin. Matriks hasil akan dibentuk dengan mengaplikasikan fungsi tersebut untuk tiap elemen matriks. Lihat contoh berikut: ÒÒ C  E.  . F C      ÒÒ  C     ÒÒ $C      .

(61) ÒÒ  $C    . Sebagai panduan umum, fungsi-fungsi yang mengembalikan hasil perhitungan (misalnya abs, sin, round, dan log) dapat diberi argumen matriks. &.((3/ +(4 Misalkan f(x) = (x 2 + sin(x)) / ¥(2x + 1). Berapakah nilai f(0), f(1), f(2), f(3), f(4), dan f(5)? Langkah pertama adalah membuat matriks yang berisi skalar yang ingin kita cari nilai fungsinya: ÒÒ   E    F  . . . . . Berikutnya adalah memanfaatkan operasi antar e lemen. Jangan lupa menggunakan titik untuk operator perpangkatan dan pembagian. ÒÒ        0,       

(62)       . 

(63)

(64). Supaya kita tidak perlu repot menentukan operator yang harus diberi titik, ki ta dapat saja memberikan titik ke semua operatornya: ÒÒ        0,       

(65)       . 

(66)

(67). Berarti f(0) = 0, f(1) = 1.06317, f(2) = 2.19550, f(3) = 3.45502, f(4) = 5.08107, dan f(5) = 7.24866. '*(*( Pada subbab-subbab sebelumnya kita melakukan operasi terhadap keseluruhan matriks. Sekarang kita akan mempelajari cara mengakses (atau mengindeks) elemen-elemen suatu matriks. Di Octave, baris pertama suatu matriks (paling atas) disebut baris ke 1. Kolom pertama suatu matriks (paling kiri) disebut sebagai kolom ke 1. Untuk mengindeks elemen di baris i dan kolom j pada suatu matriks M, kita menuliskan M(i,j). Perhatikan contoh berikut: ÒÒ >  E 2 

(68) F > .

(69). . 

(70). ÒÒ >/    ÒÒ >/  > . 

(71). Kita juga bisa mengindeks kolom atau baris tertentu pada suatu matriks. Untuk mengindeks baris i dari matriks M, kita menulis M(i,:) sedangkan untuk mengindeks kolom j dari matriks M, kita menulis M(:,j). Contoh berikut a kan menjelaskan lebih lanjut: ÒÒ B  E  2 

(72)  2    2    

(73) F B   .  

(74)          

(75) ÒÒ B/(    . . ÒÒ B(/   .    ÒÒ B/(  #'/ B   .  

(76)      . Dengan mengindeks matriks, kita bisa memperbesar matriks tersebut. Octave akan memberi nilai 0 pada elemen-elemen baru yang tidak kita tentukan nilainya. Perhatikan contoh berikut: ÒÒ B/   B   .  

(77)      . . ÒÒ B(/  !/ B    .  

(78)       .    .      .

(79)   .   .   .   .  

(80)   . Perhatikan bahwa ukuran awal matriks N adalah 4x4. Dengan memperbesar matriks kita mengubah ukurannya menjadi 5x5. Harap diingat bahwa memperbesar matriks adalah operasi yang lambat, jadi jika anda akan menyelesaikan suatu masalah menggunakan matriks sebaiknya tentukan ukuran akhir matriksnya terlebih dahulu. Kita tidak hanya dapat mengacu pada baris maupun kolom tertentu pada suatu matriks. Kita dapat mengacu pada submatriks apapun dalam suatu matriks. Untuk mengatur jangkauan baris dan kolom digunakan format awal:akhir. Dalam hal ini terdapat keyword khusus yaitu end yang mengacu pada akhir dari baris/kolom. Perhatikan berbagai contoh b erikut: ÒÒ B  E  2 

(81)  2    2    

(82) F B   .  

(83)          

(84) ÒÒ B( /(    .

(85) . ÒÒ B(!/(!  

(86)        

(87) ÒÒ B/! (!  .  ÒÒ B( /(   #' B   .  .  .     

(88) B (/ ( B    . .  .   . .  . . . '.* * *(.

(89) Dengan berbagai fungsi yang ada kita dapat mengetahui ukuran matriks. Di subbab ini kita akan membahas fungsi size, rows, dan columns. Fungsi size akan mengembalikan matriks baris dengan 2 elemen. Elemen pertamanya menunjukkan jumlah baris a rgumen dan elemen keduanya menunjukkan jumlah kolom argumen. Fungsi rows dan columns masing -masing akan mengembalikan jumlah baris dan kolom argumen. Perhatikan contoh berkut: ÒÒ  #!/    . ÒÒ '<!/     ÒÒ +'!/   . Kita akan banyak mengindeks matriks dan menyelidiki ukurannya saat melakukan pemrograman dengan Octave. '"/, (  +  Beberapa fungsi dapat mengeluarkan lebih dari satu output. Masing -masing output akan disimpan ke dalam sebuah variabel. Sebagai contoh, fungsi size dapat mengeluarkan dua output jika dipanggil dengan cara tertentu. Ini adalah caranya: ÒÒ E$  J''F   #!/  $    J'' . Dengan pemanggilan seperti di atas, output pertama akan disimpan ke va riabel baris, dan output kedua akan disimpan ke variabel kolom. ?.

(90)

Referensi

Dokumen terkait

Selain Pagelaran Budaya, dalam DIPA RRI Kupang (yang bersumber dari APBN), tidak satupun petunjuk operasional kegiatan (POK) yang secara tegas menunjukkan bahwa

1) Wawancara kepada pemilik dan tenaga kerja pada Usaha Beras Kencur Putri Solo untuk mengetahui faktor apa saja yang mempengaruhi permasalahan utama yang dapat

Berdasarkan uraian diatas membuat peneliti tertarik untuk melakukan penelitian tentang efektivitas ekstrak etanol daun randu (Ceiba pentandra Gaertn.)

teori dan analisis diatas bahwa pada penelitian ini teknik massage effleurage dapat menurunkan skala nyeri lebih banyak dibandingkan dengan teknik relaksasi nafas dalam

menggunakan Propofol dan Tiopental dalam kesehariannya,sedangkan untuk opiate kerja cepat yang paling sering digunakan adalah Fentanil.Bila kedua obat ini dikombinasikan

Korosi/iritasi kulit : Tidak terklasifikasi (Berdasarkan data yang ada, kriteria klasifikasi tidak terpenuhi) Iritasi/kerusakan mata yang serius : Tidak terklasifikasi

Bagian Virologi, Departemen Ilmu Penyakit Hewan dan Kesehatan Masyarakat Veteriner, Fakultas Kedokteran Hewan, Universitas Nusa

Kegiatan observasi ini bertujuan untuk mengenal, mengetahui, serta mengidentifikasi kondisi lingkungan sekolah, material serta hal lain sebagai penunjang