Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro

BAB II OPERATOR DAN FUNGSI DASAR MATEMATIS
2.1 Operator Aritmetik
Operator aritmetik adalah simbol-simbol yang digunakan untuk maksud operasi numerik. MATLAB menyediakan operator aritmatik dasar berikut : Operasi Penambahan a+b Pengurangan, a-b Perkalian, a.b Pembagian, a: b Pemangkatan, ab Simbol + * / atau \ ^ Contoh 15+10 15-10 15*10 15/10=10\15 15^10

Urutan operasi ini dikerjakan dalam suatu ekspresi yang mengikuti aturan prioritas yang biasa. Aturan ini diringkas sebagai berikut : Ekspresi dikerjakan dari kiri ke kanan, dengan pemangkatan mempunyai prioritas tertinggi, diikuti dengan perkalian atau pembagian yang mempunyai prioritas yang sama, diikuti dengan penambahan dan pengurangan yang juga mempunyai prioritas yang sama. Tanda kurung dapat digunakan untuk mengubah urutan pengerjaan yang biasa, dimana bagian yang dikerjakan lebih dulu adalah bagian yang ada dibagian kurung paling dalam kemudian keluar. Contoh : Carilah nilai A=P 
 I (1 + I ) N   , untuk P=1000, I=12% dan N=10 N   (1 + I ) −1  

» P=1000; i=0.12; N=10; » A=P*((i*(1+i)^N)/((1+i)^N-1)) A= 176.9842 % Contoh penggunaan pembagian kiri dan kanan » C=P/N C= 100 » D=N\P D= 100

Ansar Suyuti

9

Operator dan Fungsi Dasar Matematis

2.2 Operator relasi dan logika
Matlab menyediakan operasi relasi dan logika. Kegunaan dari operator dan fungsi tersebut ialah untuk menyediakan jawaban atas pertanyaan benar salah. Salah satu kegunaan penting dari kemampuan ini ialah untuk mengontrol urutan eksekusi sederetan perintah MATLAB berdasarkan pada hasil benar/salah. MATLAB menganggap semua angka tidak nol sebagai benar, dan nol sebagai salah. Hasil dari ekspresi relasi dan logika adalah satu untuk Benar dan nol untuk Salah dengan tipe array logika, yaitu hasilnya membuat bilangan 1 dan 0 yang tidak saja dapat digunakan untuk statemen matematika, tetapi juga dapat digunakan untuk pengalamatan.

2.2.1 Operator Relasi
Operator relasi MATLAB terdiri dari : Operator relasi < <= > >= = ~= Deskripsi Kurang dari Kurang dari atau sama dengan Lebih dari Lebih dari atau sama dengan Sama dengan Tidak sama dengan

Operator relasi MATLAB dapat dipergunakan untuk membandingkan dua array berukuran sama atau untuk membandingkan array dengan skalar. Skalar dibandingkan dengan semua elemen array dan hasilnya berukuran sama. Contoh penggunaan : » A=1:9,B=9-A A= 1 2 3 4 B= 8 7 6 5 » tf=A>4 tf = 0 0 0 0 » tf=(A==B) tf = 0 0 0 0

5 4 1 0

6 3 1 0

7 2 1 0

8 1 1 0

9 0 1 0

2.2.2 Operator Logika
Operator logika menyediakan cara untuk menggabung ekspresi logika. Operator logika terdiri dari : Operator Logika & | AND OR Deskripsi

Ansar Suyuti

10

Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro ~ Contoh penggunaan : » A=1:9; b=9-A; » tf=A>4 tf = 0 0 0 0 1 » tf=~(A>4) tf = 1 1 1 1 0 » tf=(A>2)&(A<6) tf = 0 0 1 1 1 NOT

1 0 0

1 0 0

1 0 0

1 0 0

» x=[1,1,0,0]; » y=[1,1,1,1]; » z1=~y>x z1 = 0 0 0 » z2=x&y z2 = 1 1 0 » z3=x|y z3 = 1 1 1 0 0 1

» z4=xor(x,y) z4 = 0 0 1 1 » A=[1,1,0,0]'; » B=[0,0,1,1]'; » [A,B,~A,A|B,A&B,xor(A,B)] ans = 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1

2.3 Fungsi-fungsi Dasar Matematis
Sebagian dari fungsi-fungsi dasar matematis yang dimiliki MATLAB dapat dilihat berikut :

Ansar Suyuti

11

» A=10.0977 -4.f=100. » Vt=A*sin(2*pi*f*t+30*180/pi) Vt = -4.0977 -4.0977 -4.4.y) imag(x) lcm(x) log(x) log10(x) real(x) rem(x.3.0977 Ansar Suyuti 12 .y) round(x) sign(x) sin(x) sinh(x) sqrt(x) tan(x) harga mutlak atau besarnya bilangan kompleks invers cosinus invers cosinus hiperbolik sudut pada suatu bilangan kompleks invers sinus invers sinus hiperbolik invers tangen invers tangen empat kuadran invers tangen hiperbolik pembulatan ke arah plus tak berhingga konjuget bilangan kompleks cosinus cosinus hiperbolik eksponensial pembulatan ke arah nol pembulatan ke arah minus tak berhingga faktor persekutuan terbesar bilangan bulat x dan y bilangan imajiner kelipatan persekutuan terkecil bilangan bulat x dan y logaritma natural logaritma biasa bagian real suatu bilangan kompleks sisa pembagian x dibagi y pembulatan ke arah bilangan bulat terdekat menghasilkan tanda dari argumen sinus sinus hiperbolik akar kuadrat tangen contoh : carilah nilai V(t)= A sin wt +30o.0977 -4.Operator dan Fungsi Dasar Matematis Fungsi trigonometri abs (x) acos(x) acosh(x) angle(x) asin(x) asinh(x) atan(x) atan2(x) atanh(x) ceil(x) conj(x) cos(x) cosh(x) exp(x) fix(x) floor(x) gdc(x. dimana A=10 dan t=1.5 » t=1:1:5.2.

bukan bagaimana MATLAB menghitung atau menyimpannya. maka akan ditampilkan sebagai bilangan bulat. Perintah format ini hanya mengendalikan format numerik nilai yang ditampilkan dilayar.833 50.0833e+01 5. negative.2)/(0. or zero Ansar Suyuti 13 .2696*. MATLAB mengikuti beberapa aturan. jika hasilnya berupa bilangan bulat.2)*sin(2*pi*0.83 + Keterangan 5 digits 16 digits 5 digits plus exponent 16 digits plus exponent Better of format short or format short e Better of format longt or format long e Hexadecimal 2 decimal digits Positive. hanya berefek pada berapa jumlah angka yang ditampilkan. MATLAB akan menampilkan sebagai bilangan dengan empat digit desimal.083333333333334e+01 50.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro Fungsi dasar MATLAB exp log log10 sqrt abs angle conj imag real fix floor ceil round mod rem sign Contoh : » x=exp(-0. Jika hasilnya suatu bilangan real.01*sqrt(3)*log(18)) x= 18.0001 exponensial logaritma natural logaritma biasa (basis 10) akar kuadrat harga mutlak sudut fasa kompleks konjugate bagian imajiner bilangan kompleks bagian real bilangan kompleks membulatkan ke arah nol membulatkan ke arah minus tak terhingga membulatkan ke arah plus tak terhingga membulatkan ke arah bilangan bulat terdekat modulus (sisa pembagian) pembagian bilangan bulat tanda bilangan 2.83333333333333 40496aaaaaaaaaab 50.833 50. Dalam keadaan biasa.4 Format output dan input numerik Saat MATLAB menampilkan hasil proses numerik.83333333333334 5. MATLAB COMMAND Format short Format long Format short e Format long e Format short g Format long g Format hex Format bank Format + Average_Cost 50.

00 50 13. upper case E format desimal string integer mengikuti tipe hexadecimal.30. upper case Kontrol Karakter baris baru permulaan dari baris back space tabulasi halaman baru apostrop back slash bell %e %E %f %s %i %u %x %X \n \r \b \t \g " \\ \a Contoh penggunaan fprintf » fprintf('Luas= %7.3f meter per segi \n'.7.20.9. MATLAB menyediakan fungsi fprintf untuk menampilkan hasil/output dri program. menunjukkan format bilangan desimal tujuh angka dengan tiga angka dibelakang koma.50]. lower case e sientific format. lower case hexadecimal. Sedangkan /n untuk baris baru.3f. » y=[V R] y= 10 20 30 40 50 5 7 9 11 13 » fprintf('%4i \t %8.00 30 9.11.Operator dan Fungsi Dasar Matematis Format rat 305/6 Rational approximation Untuk lebih fleksibelnya dalam format output.00 Pada M-file input nilai vriabel dapat dilakukan dari keyboard dengan menggunakan perintah input Contoh : R=input ('Masukkan Harga barang =') Ansar Suyuti 14 .2f\n'. Kode Format scientific format.pi*10^2) Luas= 314. Beberapa format dari fprintf dapat dilihat pada tabel.159 meter per segi Format %7.y') 10 5. Contoh lain untuk membuat format dalam bentuk tabel » V=[ 10.13].40.00 20 7.00 40 11. » R=[ 5.

disp(' Jenis: 1-polar. if (F~=1 & F~=2).' = '])*pi/180.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro Maka dilayar akan muncul tulisan Masukkan Harga barang = Jika diketik dari keyboard 10000.. end disp(' ').num2str(i). disp(' '). P=P*N(k). F=input(['Jenis '...' = ']). for k=2:jumlah. I=input(['Imag '. Hasil program yang ditampilkan dari command window MATLAB adalah PROGRAM PERKALIAN BILANGAN KOMPLEKS Jenis: 1-polar. A=input(['Sudut '.num2str(i). jumlah=input('Berapa banyak Bilangan Kompleks yang akan dikalikan ?').. N(i)=M*exp(j*A).' = ']).2246e-014 = 100|_180 derajat Ansar Suyuti 15 .num2str(i). 2-rectangular'). disp(['HASIL PERKALIAN = ' num2str(real(P)) ' +j '. for i=1:jumlah. num2str(imag(P)) ' = ' num2str(abs(P)) '|_'.num2str(i).num2str(i). disp(' PROGRAM PERKALIAN BILANGAN KOMPLEKS'). else R=input(['Real '. end end P=N(1). disp('Anda Salah Input'). disp(' '). disp(' '). N(i)=R+j*I.' = ']). num2str(angle(P)*180/pi) ' derajat']). disp(' '). disp(' '). 2-rectangular Berapa banyak Bilangan Kompleks yang akan dikalikan ?2 Jenis 1 ketik 1 jika polar 2 jika rectanguler = 1 Nilai 1 = 10 Sudut 1 = 90 Jenis 2 ketik 1 jika polar 2 jika rectanguler = 1 Nilai 2 = 10 Sudut 2 = 90 HASIL PERKALIAN = -100 +j 1. Maka hasil yang diperoleh adalah R= 10000 Contoh program M-file untuk perkalian bilangan kompleks disp(' ').' ketik 1 jika polar 2 jika rectanguler = ']). end if F==1 M=input(['Nilai '.

6 π . misalnya x(1) adalah elemen pertama x.95 .1 Array Sederhana Untuk menghitung nilai fungsi sinus pada priode pertama.59 . Karena spasi memisahkan elemen-elemen array.8850 2.5708 1. x(2) adalah elemen kedua x.9425 Columns 8 through 10 2.9511 1. Pembuatan array dilakukan dengan mudah-cukup dengan mengikuti struktur tabel di atas.2 π . 2.7 π . 0 ≤ x ≤ π .6*pi .5878 0.31 π 0 Nilai pertama y berkaitan dengan nilai pertama x. nilai kedua y berkaitan nilai kedua x. MATLAB menangani array secara intuitif. Contoh : » x(3) ans = 0.9*pi pi] x= Columns 1 through 7 0.5 π 1. kemudian menutup array dengan kurung kotak kanan.1*pi .8274 3.3090 0. bilangan kompleks yang dimasukkan sebagai elemen array tidak dapat memuat spasi kecuali ditutup dengan kurung. dst.1416 » y=sin(x) y= Columns 1 through 7 0.2566 1.8090 untuk membuat array dalam MATLAB. OPERASI ARRAY DAN MATRIK 2. dengan demikian dapat dikatakan bahwa array tersebut array satu kali sebelas atau suatu array dengan panjang 11.8 π .81 .6283 0. Kita mencoba membuat suatu tabel atau array untuk menghitung ni x dan y seperti dibawah ini : x y 0 0 .5*pi .7*pi .5878 0.9 π .8090 Columns 8 through 10 0.3142 0.59 .5133 2. elemen-elemen array diakses menggunakan subscript.1991 0. dst.2*pi . » x=[0.4 π .3090 0.Operator dan Fungsi Dasar Matematis II.1 π .8*pi .4*pi . Dalam MATLAB.0000 1.3 π .9425 Ansar Suyuti 16 . memasukkan elemen -elemen dengan dipisahkan oleh spasi atau koma.81 .9511 0.31 .3*pi . yang perlu dilakukan hanyalah mengetikkan kurung kotak kiri. y=sin(x) .0000 0.95 .0 .2 Pengalamatan Array array x di atas mempunyai 11 elemen yang dipisahkan dalam kolom-kolom.

11) x= 1.6283 0. dan berhenti setelah mencapai 9.5133 2.1991 elemen-elemen di atas adalah elemen pertama sampai elemen ke 7 » x(7:end) ans = 2.2566 1.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro » y(3) ans = 0. x([8 2 9 1]) ans = 2. » x=(0:0.8850 Ansar Suyuti 17 . MATLAB menyediakan notasi kolom » x(1:7) ans = 0.6283 2.1:1)*pi x= Columns 1 through 7 0 0. ke 5 dan ke 8.9425 0. ke 2 dan pertama dalam urutan ke bawah 3:-1:1 berarti " mulai dari kolom 3.8090 Untuk mengakses suatu blok elemen.5708 1.8274 3.6283 1.5133 2. dan berhenti saat 1. 2.1416 » x=linspace(0.1416 mulai dari elemen ke 7 sampai elemen terakhir.2566 Columns 8 through 11 2. 2:3:9 berarti " muali dari 2.5708 2.6283 0. hitung ke atas dengan penambahan 3.8274 0.1991 2.3142 0. » x(2:3:9) ans = 0.6283 0.3142 0. hitung turun satu-satu.9425 1.3142 disini kita gunakan [8 2 9 1 ] untuk mengambil elemen-elemen array x dalam urutan sebagaimana yang dituliskan dalam kurung kotak.5133 elemen-elemen di atas adalah elemen ke 2. » x(3:-1:1) ans = 0.8274 3. maka MATLAB menyediakan cara lain untuk memasukkan nilai-nilai dalam array.3 Pembentukan array Seperti yang telah dilakukan sebelumnya dengan memasukkan nilai-nilai x dengan mengetikkan tiap elemen x. Kata End berarti elemen terakhir dalam array x.pi.5708 1. Hal ini akan membuat kita repot jika elemen dari array cukup banyak.9425 1.5133 0.8850 2.1991 2.3142 elemen-elemen di atas adalah elemen ke 3.

5708 1.0000 1. nilai_akhir. eksponen_akhir.8274 3. fungsi linespace digunakan untuk menciptakan x.b=1:2:9 a= 1 2 3 4 b= 1 3 5 7 » a=1:5.5133 2.2566 1.5119 3.8850 Columns 8 through 11 2. » a=1:5. Linspace(nilai_awal. Untuk kasus-kasus khusus dimana jarak logaritma diperlukan.4 Orientasi Array 1 Ansar Suyuti 18 .1189 39.5849 2. diakhiri dengan 102.Operator dan Fungsi Dasar Matematis Columns 1 through 7 0 0.1991 2.jumlah_elemen) Kedua cara pembentukan array di atas membentuk array dengan setiap elemennya berjarak linier terhadap elemen yang lain. notasi kolom (0:0.0000 15.1416 Dalam kasus pertama. MATLAB menyediakan fungsi logspace: » logspace(0. jumlah_elemen) Kadang-kadang diperlukan suatu array yang elemen-elemennya tidak berjarak linier atau logaritmis dengan elemen-elemen lain.b=1:2:9 a= 1 2 3 4 b= 1 3 5 7 5 9 5 9 » c=[b a] c= 1 3 5 7 9 1 2 3 4 5 » d=[a(1:2:5) 1 0 1] d= 1 3 5 1 0 2.9425 1.6283 0.1:1) menciptakan array yang dimulai dengan 0.3096 10. Dalam kasus ke dua.11) ans = Columns 1 through 7 1. memuat sebelas elemen. meningkat setiap 0. Setiap elemen ini array ini kemudian dikalikan dengan π untuk menciptakan nilai yang diinginkan dalam x.9811 6.8107 63.3142 0.0000 Di atas kita membuat array dimulai 100.1 dan berhenti pada 1. Argumen fungsi didefisikan sebagai Logspace(eksponen_awal.2.0957 100.8489 Columns 8 through 11 25.

maka dbutuhkan suatu cara untuk membentuk vektor kolom. Cara lain adalah dengan membentuk vektor baris kemudian ditransfose MATLAB (') » b=a' b= 1 2 3 4 5 » c=b' c= 1 2 3 4 5 MATLAB juga menyediakan transpose dengan diawali titik.0000i 4.2.0000 + 5. » c=a.0000i 2. sedangkan memisahkan elemen dengan titik koma membuat elemen berada dalam baris yang berbeda.3. » c=[1.0000 + 1.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro Karena fungsi-fungsi array yang telah dibahas sebelumnya semua membentuk vektor baris.4.0000i » c=d' Ansar Suyuti 19 . transpose (') memberikan transpose konjugasi kompleks.5] c= 1 2 3 4 5 dengan memisahkan elemen dengan titik koma.0000i Column 5 5.0000 + 4.0000 + 2. yaitu tanda dari bagian imajiner yang berubah sebagai akibat operasi transpose. memisahkan elemen dengan spasi atau koma membuat elemen berada dalam kolom yang berbeda.' dan ' identik jika diterapkan pada bilangan real.' c= 1 2 3 4 5 menunjukkan bahwa . » d=a+i*a d= Columns 1 through 4 1.0000i 3. Tetapi titik transpose melakukan transpose pada array namun tidak melakukan konjugat padanya. Operator titik-transfose ini diinterpretasi sebagai transpose konjugasi non kompleks.0000 + 3. Jika suatu array merupakan array kompleks.

0000i » e=d.0000i 2.5000 1.5000 Ansar Suyuti 20 . sedangkan e=d.0000 + 4.0000 .0000 + 5. Jika suatu array dapat berupa vektor baris atau vektor kolom. menekan tombol Return atau Enter saat memasukkan nilai matriks juga dapat membuat baris baru.0000 1. » g=[1 2 3.0000 + 1.5.0000 . wajarlah jika array dapat juga mempunyai banyak baris maupun banyak kolom.0000i 3.0000i 5.0000i 4.0000 + 3.0000i 3.0000 + 2.' menciptakan vektor e yang merupakan transpose d.' e= 1.4 5 6] g= 1 2 3 4 5 6 » g=[1 2 3 4 5 6] g= 1 2 3 4 5 6 selain titik koma. pengurangan .0000 .0000i 2. » h=g-2 h= -1 0 2 3 1 4 » i=g*2-1 i= 1 3 5 7 9 11 » j=g/2 j= 0.0000i 5.1.4.3.Operator dan Fungsi Dasar Matematis c= 1. Artinya array dapat mengambil bentuk berupa matriks.0000i pada c=d' menciptakan vektor c yang merupakan transpose konjugate kompleks dari d. Operasi Array-Skalar Penambahan.0000 .0000 .0000i 4. perkalian dan pembagian dengan skalar dapat dikenakan pada semua elemen array.2.

*h m= 4 4 4 4 10 10 10 10 18 18 18 18 » n=g*h ??? Error using ==> * Inner matrix dimensions must agree. penambahan.5000 3.0000 2.5 5 5 5.3 3 3 3] g= 1 2 3 1 2 3 1 2 3 1 2 3 » h=[4 4 4 4. pengurangan.6 6 6 6] h= 4 4 4 4 5 5 5 5 6 6 6 6 » j=g+h j= 5 5 7 7 9 9 » k=g-h k= -3 -3 -3 -3 -3 -3 5 7 9 5 7 9 -3 -3 -3 -3 -3 -3 » l=2*g-h l= -2 -2 -2 -1 -1 -1 0 0 0 -2 -1 0 » m=g.0000 Operasi Array-Array Jika dua array mempunyai dimensi yang sama.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro 2. perkalian dan pembagian berlaku pada elemen ke elemen » g=[1 1 1 1.2 2 2 2. Ansar Suyuti 21 .

4000 0.2500 0.2500 0.5000 » p=h.5000 0.2500 0.4000 0.5000 0.4000 0.5000 0./h o= 0. » ones(4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 » zeros(2.4000 0. » o=g.4000 0.2500 0.*).4000 0.5000 0.5) ans = 0 0 0 0 0 0 0 0 0 0 » ones(size(g)) ans = 1 1 1 1 1 1 1 1 1 1 1 1 Ansar Suyuti 22 .5000 0.Operator dan Fungsi Dasar Matematis Disini kita mengalikan elemen-elemen yang seletak dari g dan h dengan menggunakan simbol perkalian titik (.4000 0. Titik yang mendahului simbol perkalian memberitahu MATLAB untuk melakukan perkalian elemen ke elemem. MATLAB menyediakan fungsi untuk membuat array yang semua elemennya satu atau nol.5000 0.\g p= 0. pembagian dapat menggunakan garis miring kiri atau miring kanan.2500 0.2500 0.^(h-2) s= 1 1 1 1 8 8 8 8 81 81 81 81 Array dengan elemen satu dan nol Karena banyak dipergunakan.2500 0.2500 0. » s=g. Perkalian tanpa titik berarti perkalian matriks.4000 0.5000 Seperti yang berlaku pada skalar.

ukuran A diperbesar seperlunya dan diisi dengan nol sehingga matriks tetap segi empat. » A(:.5 Memanipulasi Array Karena array dan matriks merupakan hal mendasar dalam MATLAB.3) menjadi nol » A(2. » A=[1 2 3.6)=1 A= 1 2 3 0 0 0 4 5 6 0 0 1 7 8 0 0 0 0 mengubah elemen pada baris 2 kolom 6 menjadi satu.4)=4 A= 1 2 3 4 0 0 4 5 6 4 0 1 7 8 0 4 0 0 membuat semua elemen di kolom empat menjadi 4.3)=0 A= 1 2 3 4 5 6 7 8 0 mengubah A(3.7 8 9] A= 1 2 3 4 5 6 7 8 9 » A(3.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro 2. karena A tidak mempunyai enam kolom. maka terdapat banyak cara untuk memanipulasinya. A= 1 2 3 4 5 6 7 8 9 » B=A(3:-1:1.4 5 6.:) B= 7 8 9 4 5 6 1 2 3 Ansar Suyuti 23 .1:3) B= 7 8 9 4 5 6 1 2 3 menciptakan matriks B dengan urutan baris A yang dibalik » B=A(3:-1:1.

2)=[] B= 1 3 4 6 7 9 mendefinisikan kembali B dengan membuang semua baris pada kolom kedua matriks B semula. sesuatu itu akan terhapus. mengakibatkan matriks berkurang menjadi apa yang tertinggal. Ansar Suyuti 24 . » B=A(:) B= 1 4 7 2 5 8 3 6 9 membuat matriks B dengan mengurutkan kolom-kolom A » B=B. » B=A(1:2. Jadi : adalah singkatan 1:end atau 1:3 sebab A memiliki 3 kolom.' B= 1 4 7 2 5 8 3 6 9 mentranspose matriks A » B=A B= 1 2 4 5 7 8 3 6 9 » B(:.[1 3])] C= 1 2 3 7 9 4 5 6 4 6 7 8 9 1 3 membuat matriks C dengan menambhkan semua baris pada kolom pertama dan ketiga B ke sisi kanan A. Saat anda mengeset sesuatu menjadi matriks kosong [ ].2:3) B= 2 3 5 6 membuat B dengan mengambil dua baris pertama dan dua kolom terakhir A. » C=[A B(:. disini titik dua berarti semua kolom (titik dua terakhir dari contoh di atas).Operator dan Fungsi Dasar Matematis menciptakan matriks B dengan urutan baris A yang dibalik.

atau penggunaan langsung dari A-1. Contoh : 1 4   7 2 5 8 3  x1  366      6 . penyelesaian ditulis sebagai x = A-1.804.351] b= 366 804 351 Jika anda mempunyai dasar aljabar linier maka sangat mudah untuk menentukan bahwa masalah mempunyai satu jawaban tunggal jika determinan matriks A tidak sama dengan nol.b. Untuk menyelesaikan masalah tersebut di atas diperlukan cara untuk memasukkan A dan b. Jika terdapat suatu penyelesaian.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro III OPERASI MATRIKS 3.7 8 0] A= 1 4 7 2 5 8 3 6 0 » b=[366.x 2 = 804  0  x3   351  A. x = b Dalam MATLAB perkalian matriks dilambangkan asterik (*). maka juga terdapat beberapa metode untuk menyelesaikannya.1 Himpunan Persamaan Linier Semula MATLAB diciptakan untuk menyederhanakan komputasi matriks dan aljabar linier yang terdapat di berbagai aplikasi. » det(A) ans = 27 » inv(A) Ansar Suyuti 25 . secara analisis. » A=[1 2 3. seperti eliminasi gaus. faktorisasi LU.4 5 6.

0000 22.4 5 6.0000 U= 7.2222 -0.1111 1.1111 Penyelesaian persamaan linier tersebut dapat diselesai dengan tiga cara : Cara I.5556 -0.7778 0.0000 Cara II.2222 -0. » B=[366. dimana X diperoleh dari X = U-1 L-1 B.0000 22.1429 0.Operator dan Fungsi Dasar Matematis ans = -1.0000 Cara III.5714 1.1111 0.0000 Untuk mencari nilai eigen values dan eigen vektor 1.0000 99. dengan menggunakan operasi pembagian matriks » x=A\b x= 25.0000 22. dengan menggunakan invers matriks » x=inv(A)*b x= 25.0000 8.0000 0 0 4.U]=lu(A) L= 0.0000 0 0 0.7778 0.8571 3.0000 99.8889 -0. A=LU.5000 0 0 1.804.7 8 0]. » A=[1 2 3.0000 0 Ansar Suyuti 26 . » [L.5000 » X=inv(U)*inv(L)*B X= 25. dengan menggunakan factorisasi lu dari hasil dari upper af lower matrik triangular .0000 99.0000 0.351].

A2.0931 -0.3884 0 0 0 12.7075 -0.D]=eig(A) x= 0.2763 -0.6400 0.1229 0 0 0 -5.7345 3.3884 0.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro » [x.7471 -0.4) % 2x4 matriks berelemen satu determinan Nilai eigen nilai eigen dan eigen vektor pemangkatan matriks invers matriks faktor dari eliminasi gaus ortognalisasi pseudoinvers karakteristik polynomial menyelesaikan masalah nilai eigen polinomial akar kuadrat matriks dekomposisi nilai singular jumlah elemen-elemen diagonal Ansar Suyuti 27 .) sqrtm(A) svd(A) trace(A) 3.8791 D= -0.7345 atau » eig(A) ans = -0.6582 -0.1229 -5..3 Matriks Khusus Matriks dengan kegunaan umum meliputi » zeros(3) ans = 0 0 0 0 0 0 0 0 0 » ones(2.2998 -0.2 Fungsi-fungsi Matriks yang umum digunakan det (A) d=eig(A) [V..3884 12.D] = eig(A) expm(A) inv(A) lu(A) orth(A) pinv(A) poly(A) polyeig(A1.

1416 3.2)=-1/2.1)=-1/2. A(3.1416 3.1416 3.3)=-1/10j.1416 3.1416 3.2)=1/2+0.2j+1/10j.1)=1/2. A(2.2)=-1/10j. v2 = 0 j10       v 3   0  1 1   + 10 j10   0 kita dapat menyelesaikan dengan MATLAB dalam M-File : % pl1. A(3.3)=1/10+1/10j. carilah nilai v dan gambar nilai yang diperoleh.1416 3.  1   2 − 1  2   0   − 1 −1 + j 0.1416 3. A(1.2 + 2 j10 1 − j10 1 2     v1 − 1 −1      .1416 » eye(3) % matriks identitas ans = 1 0 0 0 1 0 0 0 1 Contoh. y=[-1 0 0]'.Operator dan Fungsi Dasar Matematis ans = 1 1 1 1 1 1 1 1 » zeros(3)+pi ans = 3.m nama proram clear A(1.1416 3. A(2. Ansar Suyuti 28 . A(2.

4349 63.4721 sudutv = 123.thd.4349 8 6 4 2 0 -2 -4 -6 -8 0 5 0 0 1 0 0 0 1 5 0 0 2 0 0 0 2 5 0 0 3 0 0 0 3 5 0 0 4 0 0 0 Ansar Suyuti 29 .v3).6901 108.2111 6. jika program tersebut dijalankan.0000 + 4.v2.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro % Penyelesaian persamaan v=A\y vmag=abs(v) sudutv=angle(v)*180/pi % menggambar hasil terhadap waktu theta=linspace(0.0000 + 6.0000i -2. v1=vmag(1)*cos(theta-sudutv(1)).0000i vmag = 7. plot(thd.0000 + 6.0000i 2. v3=vmag(3)*cos(theta-sudutv(3)). thd=theta*180*pi. v2=vmag(2)*cos(theta-sudutv(2)). » pl1 v= -4.thd. hasilnya seperti dibawah ini .2*pi).v1.3246 4.

Kegunaan dari operator dan fungsi tersebut ialah untuk menyediakan jawaban atas pertanyaan benar salah. MATLAB menganggap semua angka tidak nol sebagai benar. Contoh . » A=1:9.Operator dan Fungsi Dasar Matematis IV. 4. OPERASI RELASI DAN LOGIKA & KONTROL PROGRAM Matlab menyediakan operasi logika dan relasi. dan nol sebagai salah.B=9-A A= 1 2 3 4 B= 8 7 6 5 » tf=A>4 tf = 0 0 0 0 » tf=(A==B) tf = 0 0 0 0 » x=(-3:3)/3 5 4 1 0 6 3 1 0 7 2 1 0 8 1 1 0 9 0 1 0 Ansar Suyuti 30 . Hasil dari ekspresi relasi dan logika adalah satu untuk Benar dan nol untuk Salah dengan tipe array logika. yaitu hasilnya membuat bilangan 1 dan 0 yang tidak saja dapat digunakan untuk statemen matematika. Salah satu kegunaan penting dari kemampuan ini ialah untuk mengontrol urutan eksekusi sederetan perintah MATLAB berdasarkan pada hasil benar/salah.1 Operator Relasi Operator relasi MATLAB terdiri semua perbandingan : Operator relasi < <= > >= = ~= Deskripsi Kurang dari Kurang dari atau sama dengan Lebih dari Lebih dari atau sama dengan Sama dengan Tidak sama dengan Operator relasi MATLAB dapat dipergunakan untuk membandingkan dua array berukuran sama atau untuk membandingkan array dengan skalar. tetapi juga dapat digunakan untuk pengalamatan.Skalar dibandingkan dengan semua elemen array dan hasilnya berukuran sama .

9816 0.3.3 KONTROL PROGRAM Kontrol program sangat penting karena memungkinkan komputasi-komputasi yang lalu mempengaruhi komputasi yang akan datang.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro x= -1. dan swicth-case.0000 -0. ans = 0.8415 0.8415 0.3333 0. MATLAB menyediakan empat struktur pengambilan keputusan atau struktur kontrol program.0000 » sin(x).9816 kita bandingkan » x=x+(x==0)*eps x= -1.3333 0.9276 0.6667 -0.9816 0. yaitu : loop for.2 Operator Logika Operator logika menyediakan cara untuk menggabung eksperi logika.9276 0. Bentuk umum dari loop for adalah For x = array Ansar Suyuti 31 ./x Warning: Divide by zero.1 Loop for Loop for memungkinkan sekelompok perintah diulang sebanyak suatu jumlah yang tetap. Operator logika terdiri dari : Operator Logika & | ~ » A=1:9.8415 4./x ans = 0.6667 1.8415 1 0 0 1 0 0 1 0 0 1 0 0 4. b=9-A.6667 1.0000 0.3333 » sin(x).9816 1. 4.9276 0.9276 0.0000 NaN 0.3333 0. if-else-end.0000 -0.0000 0.6667 -0. » tf=A>4 tf = 0 0 0 0 1 » tf=~(A>4) tf = 1 1 1 1 0 » tf=(A>2)&(A<6) tf = 0 0 1 1 1 AND OR NOT Deskripsi 0 0. loop while.

end.3090 0.7 16 -1 5] data = 3 9 45 6 7 16 -1 5 » for n=data x=n(1)-n(2) end x= -4 x= -7 x= 46 x= 1 0. disp(n) end 1 2 3 4 5 »A A= 2 5 10 17 26 5 10 17 26 8 13 20 29 13 18 25 34 20 25 32 41 29 34 41 50 Ansar Suyuti 32 .3090 0.5878 0.0000 0.9511 1.8090 loop for dapat dibuat didalam loop for yang lain . for n=1:10 x(n)=sin(n*pi/10) end x= Columns 1 through 7 0.m)=n^2+m^2.5878 0.8090 Columns 8 through 10 0.Operator dan Fungsi Dasar Matematis Perintah-perintah end contoh.9511 0.0000 » data=[3 9 45 6. » for n=1:5 for m=5:-1:1 A(n.

end »a a= 16 4.8090 4. a=a+1.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro » n=1:10.2 Loop While Loop while mengerjakan sekelompok perintah yang diulang secara tidak terbatas.0000 0.8090 Columns 8 through 10 0.9511 1. » while (1+k)>1 k=k/2. » x=sin(n*pi/10) x= Columns 1 through 7 0. while ekspresi Perintah-perintah end perintah-perintah yang terdapat di antara while dan end dieksekusi berulang kali selama semua elemen dalam ekspresi adalah benar. end »a a= 53 atau k/10 diperoleh » a=0.0000 0.9511 0.5878 0.3 If-else-end Bentuk paling sederhana if-else-end adalah Ansar Suyuti 33 . Bentuk umum loop while adalah .3090 0.3090 0.3. k=1.k=1.5878 0. » while(1+k)>1 k=k/10.3. a=a+1. » a=0.

elseif k<5 c=k+1. if k<3 b=k+1. for k = 1:10... end. elseif k<7 d=k+1. Ansar Suyuti 34 . jika ekspresi3 benar elseif… else perintah.d=0.e b= 3 c= 5 d= 7 e= 11 a=0.. » b.c. jika ekspresi1 benar elseif ekspresi2 Perintah. else e=k+1 end.d.c=0. jika ekspresi2 benar elseif ekspresi3 Perintah..b=0. dikerjakan jika tak ada ekspresi benar end for k = 1:10.Operator dan Fungsi Dasar Matematis if ekspresi perintah … end untuk kasus dengan dua pilihan if-else-end adalah if ekspresi perintah…jika memenuhi eksperesi else perintah… jika tidak memenuhi ekspresi (salah) end Jika terdapat 3 atau lebih pilihan if-else-end : elseif ekspresi1 Perintah.

'in'} %konversi ke inchi y=x*2. test_ekspresi3.'cm'} y=x otherwise disp(['unit tidak diketahui :' units]) y=nan end. end.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro if k<3 a=a+1. units='m' switch units case {'inchi'. elseif k<5 b=b+1.d a= 2 b= 2 c= 2 d= 4 4. elseif k<7 c=c+1.54*12 case{'meter'. » pl3 » a.'ft'} % konversi ke feet y=x*2. end.'mm'} y=x*10 case{'centimeter'.b.54 case{'feet'. else d=d+1. Ansar Suyuti 35 .7.3. test_ekspresi4} deret_ekspresi2 otherwise deret ekspresi3 end x=2.c.4 Switch-Case Bentuk umum dari switch-case adalah switch ekspresi case test_ekspresi deret_perintah1 case {test_ekspresi2.'m'} % konversi ke meter y=x/100 case{'milimeter'.

2500 67.2. sedngan akar-akar polinimial yang diperoleh dapat dikonversi kedalam persamaan awal dengan fungsi poly.7500 14.0000 -1.7500 15.1 Akar-akar Polynomial Mencari akar suatu polinomial merupakan suatu masalah tersendiri muncul dalam berbagai bidang ilmu.7500 14.Operator dan Fungsi Dasar Matematis » pl4 units = m y= 0.0 .2500 61.0000 9.0000 + 0.0000 31.0000 + 2.0000 9.0000i 0.0000 .0270 V. MATLAB menyediakan fungsi roots untuk mencari akar polinomial. AKAR-AKAR DAN KARAKTERISTIK POLINOMIAL 5.0000 » r=roots(p) r= -4.5000i akar-akar polinomial tersebut dapat dikonversi ke coefisient polinomial dengan fungsi poly(r): » poly(r) ans = 1.75s 2 + 14.25 67.2500 67.75 14.75s + 15 akar-akar dapat diperoleh dengan menggunakan fungsi roots: » p=[1 9 31.75 15] p= 1.0000 Contoh lain : » r=[-1 -2 -3+4i -3-4i] Ansar Suyuti 36 .2500 61.7500 15.0.25 61.25s 4 + 61. Contoh : s 6 +9s 5 + 31.25s 3 + 67.5000i 0.0000 -3.0000i -1.0000 31.

-6 -11 5].0000 11.0000 -3.0000 -2.0000 6.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro r= -1.0000 -1.0000i berarti persamaan polinomialnya adalah : s 4 + 9 s 3 + 45s 2 + 87 s + 50 = 0 MATLAB juga juga dapat mencari akar karaktristik persamaan polinomial dalam bentuk matriks : 0  A= −6  −6 1 −11 −11 −1 6  5  Karakteristik persamaan dari matriks tersebut dapat diperoleh fungsi poly dan akar-akar persamaan diperoleh dengan fungsi roots: » A=[0 1 -1.-6 -11 6.0000 » poly(r) ans = 1 9 45 87 50 -2.0000 6.0000i -3.4.0000 .0000 » r=roots(p) r= -3. » p=poly(A) p= 1.0000 -2.0000 Ansar Suyuti 37 .0000 -3.0000 + 4.0000 akar-akar dari karakteristik persamaan tersebut sama dengan eigenvalues dari matriks A atau r=eig(A) » eig(A) ans = -1.

Ansar Suyuti 38 .Operator dan Fungsi Dasar Matematis 5.B) D=A+B E=A-B X=deconv(Z. Z=[1 9 37 81 52].B ..B=[1 0 9].. A = s 4 + 9 s 3 + 37 s 2 + 81s + 52 turunan dari polinomial A adalah: » A=[1 9 37 81 52].2 Perkalian. D=C+B dan E=C-B Z A = s 4 + 9 s 3 + 37 s 2 + 81s + 52 dan Y = s 2 + 4 s + 13 carilah X = Y contoh dapat diselesaikan dengan MATLAB A=[1 7 12]. Pembagian dan Penjumlahan Polinomial Perkalian polinomial dilakukan dengan fungsi conv (melakukan convulotion dari array). dengan derajat d.. » polyder(A) ans = 4 27 74 81 5. + c n Persamaan tersebut mempunyai koefisien n=d+1. Contoh : A = s 2 + 7 s + 12 dan B = s 2 + 9 carilah C=A. jika polinomial mempunyai derajat yang berbeda maka derajat yang lebih rendah ditambahkan dengan koefisien-koefisien nol atau menggunakan fungsi yang disediakan oleh MATLAB yaitu polyadd.3 Turunan Turunan polinomial dapat dilakukan dengan menggunakan fungsi polyder.y. Maka fungsi pengurangan orde polynomial adalah polyfit(x. C=conv(A. pembagian dilakukan dengan fungsi deconv dan penjumlahan dilakukan dengan seperti penjumlahan array biasa tetapi derajat polinomial harus sama.d).Y) Hasil dari program adalah : C= 1 D= 2 E= 0 X= 1 7 7 7 5 21 21 3 4 63 108 5. Y=[1 4 13].4 Polynomial Curve Fitting p ( x ) = c1 x d + c 2 x d −1 + .

x) » c=[1 2 3 1]. » y=polyval(c. » x=0:1:4.Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro Contoh X= 0 Y= 1 1 7 2 23 4 6 10 109 307 1231 Carilah sebuah polinomial derajat ke 3 dari data tersebut di atas.3) c= 1. kutup yang bersesuaian (p) dan dirct terms (K).5 4 5.p.K]=residu(b.x) y= 1 7 23 55 109 » plot(x.0000 5.0000 2. » c = polyfit(x.5 1 1 .5 3 3 . Contoh.0000 1. Ansar Suyuti 39 . » y=[1 7 23 109 307 1231].1.title('x^3+2x^2+3x+1') 3 2 x + 2 x + 3 x + 1 1 2 0 1 0 0 8 0 6 0 4 0 2 0 0 0 0 . » x=[0 1 2 4 6 10].0000 3.y.3 dan 4 . digunakan fungsi : [r. » plot(t.y).6 Partial-fraction Expansion Untuk memperoleh residu atau partial-fraction expantion ( r ) .a].5 Evaluasi Polinomial Evaluasi polinomial dapat dilakukan dengan fungsi polyval(c.x). kita ingin mengevaluasi polynomianl c terhadap titik x= 0.2.5 2 2 .

K) b= 2.0000 p= -0..p.0000 4.a]=residue(r.2500i 0.0000 ..0.K]=residue(b.0000 + 2..a]=residue(r.0000 + 0.25 − j 0.0000i -1. Contoh.0000 4.2. » [r. + b1 s + b0 = Q ( s) a n s n + a n −1 s n −1 + .0000 K= 2 Berarti partial fraction expantion-nya adalah 2+ −2 j 0.0000i -0.p.0000 .0000 a= 1. + a1 s + a 0 Vector b dan a merupakan koefisien dari polinomial.. Hitunglah partial fraction expantion dari : F ( s) = 2s 3 + 9s + 1 s 3 + s 2 + 4s + 4 Penyelesaian dengan MALAB adalah » b=[2 0 9 1]. » [b.0000 0.0000 Ansar Suyuti 40 .0000 9.2500i -2.Operator dan Fungsi Dasar Matematis P ( s ) bm s m + bm −1 s m −1 + .a) r= 0.0000 1.K).0000 1.25 −2 1 + + = 2+ + 2 s +1 s − j2 s− j s +1 s + 4 persamaan polinomial P(s)/Q(s) dapat dilakukan dengan fungsi untuk mengembalikan [b.p. » a=[1 1 4 4].