Anda di halaman 1dari 6

BAB II Pemograman dalam MATLAB

Bab ini dimaksudkan bagi mereka yang ingin mempelajari dasar dasar pemograman MATLAB. Berbagai contoh di dalam bab ini akan membantu Anda dalam mempelahari alat alat pemograman dasar dari bahasa. Topik yang dibahas meliputi mfiles, fungsi fungsi dalam garis, arus kontrol, operator operator relasional dan logika, rangkaian, deretan sel, pembulatan angka untuk integer dan grafik MATLAB. 2.1 M-File File file yang mengadung kode kokmputer disebut m-files. Ada dua jenis m-file yaitu script file dan function file. Script file tidak menggunakan argumen input atau mengembalikan argumen output. Function file dapat menggunakan argumen input atau mengembalikan argumen output. Untuk membuat m-file, klik menu File kemudian pilih New dan klik M-File. Akan tampil layar MATLAB Editor/Debugger. Di sini anda dapat mengetikkan kode, mengubah dan lain sebagainya. Selesai mengetik, klik menu file dalam layar MATLAB Editor/Debugger dan pilih Save As... pilih atau tuliskan nama file Anda, misalnya firstgraph.m dan klik tombol Save. Pastikan file Anda tersimpan dalam direktori yang ada lalam jalur pencarian MATLAB. Untuk membuka m-file dari Command Window, ketik edit firstgraph dan tekan tombol Enter atau klik Return. Berikut contoh dari script sederhana: % Script file firstgraph. X=pi/100: pi/100:10*pi Y=sin(x) . /x; Plot (x,y) grid Mari kita analisis file ini. Garis pertama dimulai dengan tanda persen, %. Ini adalah komentar. Semua komentar diabaikan oleh MATLAB. Komentar ini ditambahkan hanya sekedar untuk meningkatkan keandalan dari kode. Dalam dua garis berikutnya x dan y dibuat. Tambak bahwa tanda titik kome mengikuti perintah. Ini menekan tampilan isi dari kedua vektor pada layar. Array x memuat 1000 angka berspasi rata dalam interval [c/100 10pi] sedangkan deret y memuat nilai-nilai dari sinc funtion y= sin(x)/x pada point tersebut. Dot operator (.) digunakan sebelum operator divisi sebelah kanan (right division operator). Ini memberitahukan kepada MATLAB untuk melaksanakan componentwise division dari dua deret menggunakan titik-titik yang dihasilkan oleh kedua baris sebelumnya. Akhirya perintah grid dilaksanaka, dengan menambahkan satu grid untuk grafik. Kita panggil file ini dengan mengetik namanya dalam Command Window dan selanjutnya menekan tombol Enter atu Return

Berikut contoh dari file fungsi: Function [b, j] = descrot (a) % Function descsort sorts, in the descending order, a real array a. % Second output parameter j holds a permutation used to obtain % array b from the array a. [b, j] = sort (-a) B = -b; Fungsi ini menggunakan satu argumen input, deretan angka riil da mengembalikan deretan yang disimpan bersama dengan permutasi/perubahan urutan yang digunakan untuk memperoleh deret b dari deret a. MATLAB yang memasang fungsi sort digunakan disini. Ingat bahwa fungsi ini memilih angka-angka dalam urutan naik. Trik sederhana yang digunakan di sini membantu kita memilih satu deret dari angka-angka dalam urutan menurun. Untuk mendemostrasikan fungsionalitas dari fungsi yang dibahas, misalnya: a = [pi -10 35 0.15] [b, j] = descsort (a) B = 35.0000 3.1416 0.1500 - 10.0000 J =3 1 4 2 Anda dapat melaksanakan fungsi descsort tanpa argument output. Dalam hal ini informasi tentang permutasi yang digunakan akan hilang. Descsort (a) Ans = 35.0000 3.1416 0.1500 -10.0000 Karena tidak ada argument output yang digunakan untuk memanggil fungsi desorder, deretan yang terpilih a ditentukan untuk variabel default ans. Contoh lain, menghitung spesifikasi dan perubahan total untuk aliran gas methane. Nilai dari temperatur inlet dan outlet dan laju molar ada pada script m-file, methane.m. fungsinya enthalpy.m Di bawah ini script m-file methane.m % Darin Ridgway % Chemical Engineering % Tentukan temperatur inlet dan outlet dalam Celsius Tin = [100 400 40 150]; Tout = [200 150 420 240]; % Tentukan laju mol perdetik Mol_flow = [ 3.5 1.2 2.7 8.6 ]; % Tulis loop untuk memanggil fungsi untuk setiap 4 kasusnya. Nilai yang dihasilkan disimpan dalam sebuah array. For n = 1:4

[specH_CH4(n), totalH_CH4 (n)]= Enthalpy(Tin(n), Tout(n), mol_flow(n)); End % Buat tabel untuk keluarannya. Fprintf(\n Inlet T Outlet T molar flow specific H Total H \n) fprintf( C C mol/s W W\n/n) for n = 1:4 Fprintf(%3.0f %3.1f %5.2e %5.2e \n,... Tin(n), Tout(n), mol_flow(n) specH_CH4(n), totalH_CH4(n)) Berikut fungsi filenya, enthalpy.m: % % Darin Ridgway Chemical engineering

Function [specH, delH] = enthalpy( Tin, Tout, molar_flow) A= 34.31; B= 0.05469; C= 0.366e-5 D= -11.00e-9 specH = a*(Tout Tin) + b*(Tout^2 Tin ^2) + c*(Tout^3 Tin^3) + d*(Tout^4-Tin^4); delH = molar_flow * specH; Keluaran di Command Window akan seperti: >>methane Inlet T Outlet T Molar flow spesific H C C mol/s W 100 200 3.5 5.08e+0.03 400 150 1.2 -1.60e+004 40 320 2.7 1.51e+004 150 240 8.6 5.01e+003

total h W 1.78e+004 -1.93+004 4.08e+004 4.31e+004

2.2 Fungsi Inline dan Perintah Feval Kadang cukup mudah mendefinisikan satu fungsi yang akan digunakan selama sesi MATLAB yang sekarang. MATLABmemiliki satu perintah inline yang digunakan untuk mendefinisikan ang disebut inline functions dalam Command Window. Misal: F = inline (sqrt(x.^2+y.^2),x,y F= Inline function:

F(x,y) = sqrt (x.^2+y/^2) Anda dapat mengevaluasi dengan memberikan masukan: F(3,4) Ans = 5 Catatan : Fungsi ini juga berhasil dalam deratan/array A= ( 1 2 ; 3 4 ) A= ( 1 2 3 4 Dan: B= ones(2) B= 1 1 1 1 Lalu: C = f(A,B) C= 1.4142 2.2326 3.1623 4.1231 Untuk penggunaan selanjutnya disebutkan secara singkat konsep tentang string dalam MATLAB. Character string adalah teks yang dikelilingi oleh petik tunggal. Misalnya: Str : programming in MATLAB is fun Str : programming in MATLAB is fun Adalah contoh dari string (rangkaian). Dalam bagian sebelumnya anda telah mempelajari bagaimana menciptakan file function. Ent input satu nama dari fungsi yang lalu, yang ditentuka sebagai string. Untuk melaksanakan fungsi ditentukan oleh string. Anda perlu manggunakan perintah feval seperti dibawah ini: Feval (func name, input parameters of function functname). Andaikan masalah penghitungan perkalian yang kurang umum dari dua bilangan bulat. MATLAB memiliki fungsi pemasangan lem yang menghitung angka dalam pertanyaan: ab = lcm(a,b)gcd(a,b)

ingat bahwa perkalian yang kurang umum dan greatest common divisor (gcd)/pembagi umum terbesar memenuhi persamaan berikut: ab = lcm (a,b)gcd(a,b). MATLAB memiliki fungsi sendiri, yaitu gcd, untuk penghitungan pembagi umum terbesar. Untuk mengilustrasikan penggunaan perinta geval, kita liha t kode dalam mfile.mylcm Function c = mylcm(a,b) %The least common multiple c of two integers a and b. If feval (isint,a) & feval (isint,b) C = a*b./gcd(a,b); Else Error(Input arguments must be ingral numbers) End Perintah feval digunakan dua kali pada baris dua, memeriksa apakah argumen input merupakan bilangan bulat atau bukan. Logika dan operator & yang digunakan disini dibahas dalam subban 2.3. jika kondisi ini terpenuhi maka perkalian yang kurang umum akan dihitung dengan menggunakan rumus diatas, menghasilkan pesan salah. Catatan: perintah error digunakan sebagai argumen rangkaian. Kondisional if-else-end yang digunakan di sini dibahas dalam subbab 2.4. Fungsi yang dilaksanakan dua kali dalam isi dari fungsi myclm disebut isint. Function k isint (x); % Check whether of not x is an integer nimber. % If it is, funciton isint returns 1 otherwise it returns 0. If abs(x-round(x)) < realmin K=1 Else K=0 End Fungsi-fungsi baru yang digunakan disini adalah fungsi nilai absolut (abs) dan fungsi bulat (round). Abs adalah fungsi matematika klasik, sedangkan round menggunakan angka dan membulatkannya hingga bilangan bulat terdekat. Fungsi-fungsi lain yang digunakan untuk membulatkan angka riil pada bilangan bulat dibahas dalam Subbab 2.7. akhirnya realmin adalah angka riil positif terkecil pada komputer Anda. Format long Realmin Ans = 2.225073858507291e-308 Format shot Aturan Trapezoin terkoreksi sering digunakan untuk integrasi angka dari fungsifungsi yang dapat dibedakan pada interval integrasi.

Anda mungkin juga menyukai