Mencari akar persamaan kuadrat

30 BAB 3. FUNCTION DAN MODULE 19 x2 = complexx2r,x2i 20 return x1,x2 Silakan anda save dan jalankan lalu cek hasilnya 2 rumusabc1,3,2 -1.0, -2.0 rumusabc1,-4,4 2.0, 2.0 rumusabc4,4,2 -0.5+0.5j, -0.5-0.5j

3.2.2 Perkalian matrik dan vektor

Sekarang kita akan membuat function untuk perkalian matrik dan vektor. Berdasarkan source- code yang lalu di bab sebelumnya perkalian matrik dan vektor adalah sebagai berikut 1 from numpy import array, zeros 2 A = array[[3.,8.,5.],\ 3 [6.,4.,7.]] matrik A berukuran 2x3 4 x = array[[2.],\ 5 [3.],\ 6 [4.]] vektor x berukuran 3x1 7 n=2 jumlah baris matrik A 8 m=3 jumlah kolom matrik A sekaligus jumlah baris vektor x 9 E = zerosn,1 10 for i in range0,n: 11 for k in range0,m: 12 E[i,0]=E[i,0]+A[i,k]x[k,0] Source-code ini memiliki dua bagian utama, yaitu bagian inisialisasi dan bagian operasi perkalian. Bagian operasi perkalian akan dipisah menjadi sebuah function bernama matxvek yang dikhususkan untuk melayani operasi perkalian matrik dan vektor. 1 from numpy import zeros 2 3 def matxvek A,x: 4 n=2 jumlah baris matrik A 5 m=3 jumlah kolom matrik A sekaligus jumlah baris vektor x 6 E = zerosn,1 7 for i in range0,n: 8 for k in range0,m: 9 E[i,0]=E[i,0]+A[i,k]x[k,0] 10 return E Simpanlah file ini dengan nama komputasi.py, lalu di-run. Kemudian ketikan code berikut pada python-shell from numpy import array 2 Statemen pertama pada function ini, yaitu from __future__ import division telah dibahas pada Bab 1. 3.2. FUNCTION 31 A = array[[3.,8.,5.],\ [6.,4.,7.]] x = array[[2.],\ [3.],\ [4.]] E = matxvekA,x print E [[ 50.] [ 52.]] Berhasil Function matxvek bekerja sempurna. Sebelum dilanjut, ada sedikit modifikasi yang diperlukan pada function matxvek yang ter- simpan pada file komputasi.py, yaitu yang menyangkut inisialisasi nilai n dan m. Perhatikan perubahannya berikut ini saya harap anda mengerti tanpa harus saya jelaskan. 1 from numpy import zeros, transpose 2 3 def matxvek A,x: 4 n=lenA cara lain untuk menghitung jumlah baris matrik A 5 m=lentransposeA cara lain untuk menghitung jumlah kolom matrik A dan baris vektor x 6 E = zerosn,1 7 for i in range0,n: 8 for k in range0,m: 9 E[i,0]=E[i,0]+A[i,k]x[k,0] 10 return E Simpanlah file ini, lalu di-run kembali. Ulangi lagi ketikan code berikut pada python-shell from numpy import array A = array[[3.,8.,5.],\ [6.,4.,7.]] x = array[[2.],\ [3.],\ [4.]] E = matxvekA,x print E [[ 50.] [ 52.]] Modifikasi pada function matxvek bertujuan agar function matxvek bisa berlaku pada matrik A yang ukurannya bukan 2 × 3 saja. Contohnya A = array[[3.,8.,5.],\ [6.,4.,7.],\ [2.,1.,9.]] x = array[[2.],\ [3.],\