Nama : Sahatma Pangaribuan
NIM : 509131036
Kelas : Reguler’09
M.Kuliah : Pemrograman Komputer Jurusan : Pendidikan Teknik Elektro
Tugas V : Prosedure Pemrograman GUI MATLAB
Prosedure Pemrograman GUI MATLAB
Pengenalan GUI MATLAB
GUI adalah singkatan dari Graphical User Interface, sebuah aplikasi display dari MATLAB yang mengandung tugas, perintah, atau komponen program yang mempermudah user (pengguna) dalam menjalankan sebuah program dalam MATLAB.Kenapa sebaiknya menggunakan atau membuat GUI di MATLAB? Ringkasnya, GUI akan membuat program di MATLAB menjadi lebih simpel dan praktis digunakan oleh para end-user.
MATLAB adalah sebuah lingkungan perhitungan aritmatika sekaligus bahasa pemrograman. Dibuat oleh The Mathworks, MATLAB menyediakan fasilitas dan sarana dalam memanipulasi matriks, memplot data dan fungsi matematika, pembuatan UI (User Interface), implementasi algoritma, serta antarmuka dengan bahasa-bahasa pemrograman lainnya.
Sebagai singkatan dari "matrix laboratory", MATLAB diciptakan di akhir 1970 oleh Cleve Moler, yang kemudian menjadi chairman dari Jurusan Ilmu Komputer Universitas New Mexico. Dia mendesain MATLAB untuk memberikan anak didiknya akses ke LINPACK dan EISPACK dengan tanpa mempelajari Fortran. Dengan cepat software ini menyebar ke universitas-universitas lainnya. Jack Little, seorang insinyur, mengetahui potensi komersil MATLAB ketika Moler mengunjungi Universitas Stanford di tahun 1983. Ia bergabung dengan Moler dan Steve Bangert untuk menulis ulang MATLAB ke dalam bahasa C dan mendirikan perusahaan The MathWorks di tahun 1984 untuk melanjutkan pengembangannya. Software pengembangan ini juga disebut JACKPAC.
MATLAB pertama kali diadopsi oleh insinyur-insinyur desain kontrol, yang merupakan bidang ilmu Little, akan tetapi dengan cepat menyebar ke bidang-bidang ilmu lainnya. Sekarang MATLAB digunakan di area pendidikan, khususnya pembelajaran aljabar dan analisis numerik, dan terkenal di kalangan akademik yang berhubungan dengan image processing.
Karakteristik MATLAB:
• Bahasa pemrogramannya didasarkan pada matriks (baris dan kolom).
• Lambat (dibandingkan dengan Fortran atau C) karena bahasanya langsung diartikan.
• Automatic memory management, misalnya kita tidak harus mendeklarasikan arrays terlebih dahulu.
• Tersusun rapi.
• Waktu pengembangannya lebih cepat dibandingkan dengan Fortran atau C. • Dapat diubah ke bahasa C lewat MATLAB Compiler.
• Tersedia banyak toolbox untuk aplikasi-aplikasi khusus.
Beberapa kelebihan MATLAB jika dibandingkan dengan program lain seperti Fortran, dan Basic adalah:
1. Mudah dalam memanipulasi struktur matriks dan perhitungan berbagai operasi matriks yang meliputi penjumlahan, pengurangan, perkalian, invers dan fungsi matriks lainnya.
2. Menyediakan fasilitas untuk memplot struktur gambar (kekuatan fasilitas grafik tiga dimensi yang sangat memadai).
3. Script program yang dapat diubah sesuai dengan keinginan user.
4. Jumlah routine-routine powerful yang berlimpah yang terus berkembang. 5. Kemampuan interface (antarmuka, misal dengan bahasa C, word dan
mathematica).
6. Dilengkapi dengan toolbox, simulink, stateflow dan sebagainya, serta mulai melimpahnya source code di internet yang dibuat dalam MATLAB ( contoh
toolbox misalnya : signal processing, control system, neural networks dan sebagainya).
Karakter Spesial MATLAB :
• Tanda % merupakan penanda komentar. Keterangan setelah tanda tersebut akan diabaikan dalam proses perhitungan. Contoh:
y = 2:1:5 % y = [2345];
y = 2.00 3.00 4.00 5.00
• Tanda ; merupakan perintah pembatas yang tidak ditampilkan di jendela kerja, merupakan pemisah kolom dan baris dalam matriks. Contoh:
A = [1 2 3 ; 3 2 1];
• Tanda : merupakan pembatas jangkauan, contohnya: B = [0:3:9]
B = 0.00 3.00 6.00 9.00
• Tanda ` merupakan transpose matriks yang merupakan suatu vector kolom X = [3 2 4 5;7 6 5 8] X= 3.00 2.00 4.00 5.00 7.00 6.00 5.00 8.00 X=X ` X= 3.00 7.00 2.00 6.00 4.00 5.00 5.00 8.00
• Tanda ... digunakan untuk menuliskan baris perintah yang panjang, contohnya: P = sin(1) – sin(2) + sin(3) – sin(4) + sin(5) + cos(6) + ...
cos(7) – cos(8) + cos(9) – cos(10) + cos(11) + cos(12) P = 1.0273
Sintaks Penulisan pada MATLAB
MATLAB dibuat dengan mengacu pada bahasa MATLAB, kadang-kadang disebut M-code atau M saja. Cara termudah mengeksekusi (menjalankan) M-code adalah dengan mengetikkannya secara langsung di prompt pada jendela Command Window, sebuah elemen UI di desktop MATLAB. Dengan cara ini, MATLAB dapat
digunakan sebagai shell (pengeksekusi perintah) matematis yang interaktif. Urutan-urutan perintah yang lebih kompleks dapat disimpan dan dimasukkan ke dalam sebuah M-file, dengan menggunakan MATLAB Editor, sebagai skrip sehingga dapat memperluas perintah-perintah yang tersedia.
Variabel
Variabel didefinisikan dengan operator assignment, =. Perintah pada
MATLAB bisa diketik secara dinamis, dalam artian variabel-variabel dapat langsung diisi tanpa mendefinisikan jenisnya terlebih dahulu, kecuali bila variabel tersebut merupakan objek simbolis. Nilai yang diisikan ke sebuah variabel dapat berupa konstan, yang didapat dari hasil perhitungan yang melibatkan variabel lainnya, atau dari keluaran suatu fungsi. Contohnya:
>> x = 17 x = 17 >> x = 'hat' x = hat >> x = [3*4, pi/2] x = 12.0000 1.5708 >> y = 3*sin(x) y = -1.6097 3.0000
Vektor/Matriks dalam MATLAB
MATLAB adalah sebuah "Matrix Laboratory", dan karenanya ia menyediakan berbagai cara untuk membuat matriks dengan dimensi berbeda-beda. Menurut gaya bahasa di dalam MATLAB, sebuah vektor mengacu pada sebuah matriks satu dimensi (1×N or N×1), yang biasanya disebut sebagai sebuah array di bahasa pemrograman lainnya. Sebuah matriks umumnya multi-dimensional, yang artinya terdiri dari satu/lebih dimensi, contohnya sebuah matriks N×M, matriks N×M×L, dsb, dimana N, M, and L lebih besar dari 1. Di bahasa lain, matriks seperti ini dapat dilukiskan sebagai array dari array-array, atau array dari array-array dari array-array, atau array multi-dimensi saja.
Untuk membuat array yang sederhana di MATLAB, sintaks penulisan perintahnya adalah nilai awal:langkah:nilai akhir. Contohnya, perintah
>> array = 1:2:9 array =
1 3 5 7 9
akan membuat sebuah variabel bernama array dengan isi 1, 3, 5, 7 dan 9. Yaitu, sebuah array dengan nilai awal 1, dengan nilai selanjutnya berjarak 2 dari sebelumnya, kemudian berhenti ketika sampai ke 9.
a. Vektor
Baris vektor adalah daftar angka-angka yang dipisahkan oleh koma (,) atau spasi. Jumlah masukan dikenal sebagai panjang vektor. Masukan harus ditulis dalam tanda kurung siku ([]).
Perhatikan contoh berikut : Vektor baris :
>> v = [-2 sin(45) 4 6] v =
-2.0000 0.8509 4.0000 6.0000 >> length(v) % menghitung panjang vektor ans = 3 Vektor kolom : >> x = [6; 5 ; 9] x = 6 5 9 b. Matriks
Dapat diasumsikan bahwa didalam MATLAB setiap data akan disimpan dalam bentuk matriks. Dalam membuat suatu data matriks pada MATLAB, setiap isi data harus dimulai dari kurung siku ‘[‘ dan diakhiri dengan kurung siku tutup ‘]’. Untuk membuat variabel dengan data yang terdiri beberapa baris, gunakan tanda ‘titik koma’ (;) untuk memisahkan data tiap barisnya.
Contoh pembuatan data matriks pada MATLAB:
MATLAB menyediakan beberapa fungsi yang dapat kita gunakan untuk menghasilkan bentuk-bentuk matriks yang diinginkan. Fungsi-fungsi tersebut antara lain:
• zeros : untuk membuat matriks yang semua datanya bernilai 0 • ones : matriks yang semua datanya bernilai 1
• randn : matris dengan data random dengan menggunakan distribusi normal • eye : untuk menghasilkan matriks identitas
Operasi dan Fungsi pada Matriks
Tabel 1. Operasi dan fungsi pada matriks yang sering digunakan :
Perintah Keterangan Contoh
Det Menghasilkan determinan matriks Det(A)
Size Menghasilkan ukuran matriks Size(A)
+ Menjumlahkan matriks C = A + B
* Mengalikan matriks C = A * B
.* Mengalikan elemen dengan elemen, dengan
ketentuan memiliki ukuran yang sama C = A .* B
^ Memangkatkan matriks dengan suatu skalar C = A^ k
.^ Memangkatkan elemen per elemen matriks dengan skalar
C = A .^ k
’ Transpose matriks A’
./ Membagi elemen per elemen dengan ketentuan
memiliki ukuran yang sama C = A ./ B
\ Menghasilkan solusi AX = B C = A \ B
/ Menghasilkan solusi XA = B C = A / B
Inv Menghasilkan invers matriks dengan ketentuan matriks merupakan matriks bujur sangkar
C = Inv(A)
Angka dan Operasi Aritmatika
Ada tiga jenis angka di MATLAB yaitu :
1. Bilangan bulat yaitu bilangan yang tidak mengandung desimal. Contohnya: >> xi = 10
2. Bilangan real yaitu bilangan yang mengandung desimal contohnya : >> xr = 12.6054
>> realmax % batas atas bilangan real di MATLAB ans = 1.7977e+308
>> realmin % batas minimum bilangan real di MATLAB ans = 2.2251e-308 3. Bilangan kompleks >> i ans = 0 + 1.0000i >> x = 1 + sqrt(3)*i x = 1.0000 + 1.7321i >> A= [1 j;-j*5 2] A= 1.0000 0 + 1.0000i 5.0000i 2.0000
Beberapa penggunaan operator aritmatika antara dua operand (A dan B) ditunjukkan pada tabel berikut ini :
Operasi Simbol Penambahan + Pengurangan -Perkalian * Pembagian / atau \ Perpangkatan ^
Fungsi Dasar MATLAB a. Fungsi Matematika Dasar
Tabel 2.a Fungsi Matematika Dasar Fungsi Keterangan
Abs Menghitung nilai absolut
Exp Memperoleh nilai dari e pangkat bilangan tertentu (e = 2.718282)
log Menghitung logaritma natural (ln) suatu bilangan Sqrt Menghitung akar pangkat 2 dari suatu bilangan
Ceil Membulatkan bilangan ke bilangan bulat terdekat menuju plus tak berhingga.
Fix Membulatkan bilangan ke bilangan bulat terdekat menuju nol..
Floor Membulatkan bilangan ke bilangan bulat terdekat menuju minus tak berhingga.
Gcd Menghitung nilai faktor pembagi terbesar
Log10 Menghitung logaritma suatu bilangan untuk dasar 10. Mod Menghitung nilai modulus.
Primes Menghasilkan daftar bilangan. Rem Menghitung nilai remainder.
Round Membulatkan bilangan ke bilangan bulat terdekat. b. Fungsi Trigonometri
Fungsi trigonometri banyak digunakan terkait dengan sudut. Nilai perhitungan yang dalam fungsi trigonometri sudut dalam radian.
Tabel 2. b Fungsi Trigonometri Fungsi Keterangan
Sin Menghitung sinus suatu bilangan, dimana bilangan dalam radian.
Cos Menghitung cosinus suatu bilangan, dimana bilangan dalam radian.
Tan Menghitung tangen suatu bilangan, dimana bilangan dalam radian.
Acos Menghitung arccosinus (invers cos) suatu bilangan yang menghasilkan sudut dalam radian, dimana bilangan harus antara -1 dan 1.
Asin Menghitung arcsinus suatu bilangan yang menghasilkan sudut dalam radian, dimana bilangan harus antara -1 dan 1.
Atan Menghitung arctangensuatu bilangan yang menghasilkan sudut dalam radian.
Cosh Menghitung cosinus hiperbolik dari suatu sudut dalam radian. Sinh Menghitung sinus hiperbolik dari suatu sudut dalam radian. Tanh Menghitung tangen hiperbolik dari suatu sudut dalam radian. Cosd Menghitung cosinus suatu bilangan, dimana bilangan dalam
derajat.
Sind Menghitung sinus suatu bilangan, dimana bilangan dalam derajat.
Tand Menghitung tangen suatu bilangan, dimana bilangan dalam derajat.
Sec
Menghitung cos(1x)suatu bilangan, dimana bilangan dalam radian.
Csc
Menghitung sin(1x) suatu bilangan, dimana bilangan dalam radian.
Cot
Menghitung tan(1x)suatu bilangan, dimana bilangan dalam radian.
c. Fungsi Analisis Data
MATLAB menyediakan sejumlah fungsi penting untuk digunakan dalam meng-analisis data, antara lain ditunjukkan pada Tabel 1.1c.
Tabel 2. c Fungsi Analisis Data Fungsi Keterangan
Max Menghasilkan nilai terbesar dari suatu vektor atau matriks Min Menghasilkan nilai terbesar dari suatu vektor atau matriks Mean Menghasilkan nilai mean
dll ...
M-File
M-file selain dipakai sebagai penamaan file juga bisa dipakai untuk menamakan fungsi, sehingga fungsi fungsi yang kita buat di jendela editor bisa di simpan dengan ektensi .m sama dengan file yang kita panggi dijendela editor. Saat kita menggunakan fungsi MATLAB seperti inv, abs, cos, sin dan sqrt, MATLAB menerima variabel berdasarkan variabel yang kita berikan. Fungsi M-file mirip dengan script file dimana keduanya merupakan file teks dengan ektensi .m . sebagaimana script M-file, fungsi m-file tidak dimasukkan dalam jendela command window tetapi file tersendiri yang dibuat dengan editor teks.
Membentuk dan menjalankan M-File: • Klik menu File, pilih New dan klik M-File • Pada editor teks, tulis argumen atau perintah
• Simpan dengan cara klik File, pilih Save As dan beri nama dengan ekstensi .m • Pastikan file yang akan dijalankan berada pada direktori aktif
Misalkan file graf1.m berada di C:\MATLAB, maka lakukan perintah cd >> cd c:\MATLAB
• Kemudian jalankan file graf1.m dengan cara >> graf1
Fungsi di MATLAB
Seringkali ketika membuat sebuah program, kita membutuhkan suatu proses yang berulang-ulang. Jika proses tersebut hanya tersusun dari beberapa baris,
mungkin kita tidak akan terlalu direpotkan dengan penulisan script pemrogramannya, namun jika perintah kita tersusun dari banyak baris, ketidak-efisienan kemudian menjadi masalah. Oleh karena itu, MATLAB menyediakan fasilitas untuk memecahkan permasalahan ini, yaitu dengan adanya kemampuan untuk membentuk suatu fungsi. Fungsi di MATLAB sangat mirip dengan fungsi pada C++. Secara umum, struktur penulisan fungsi di MATLAB sama dengan di C++, yaitu mendeklarasikan nama fungsi, parameter, dan isi dari fungsinya itu sendiri. Hanya format penulisannya saja yang sedikit berbeda.
Dari contoh 1.a diatas, dapat kita lihat struktur penulisan fungsi di MATLAB yang berbeda dengan C++. Pada MATLAB, kita hanya perlu mendefinisikan fungsi saja, karena MATLAB sudah secara otomatis mendefinisikan setiap variabel sebagai double, jika variabel tersebut berupa angka. Syntax fungsi pada MATLAB adalah sebagai berikut:
Kata pertama, yaitu function adalah sebagai deklarasi atau definisi bahwa yang ada pada file terebut merupakan sebuah fungsi, dan dapat dijalankan layaknya sebuah fungsi. Maksudnya, kita dapat menjalankan fungsi ini dari command window berikut parameter-parameter yang kita butuhkan, layaknya fungsi-fungsi bawaan MATLAB seperti sin(x), rref(x), dll. [out1,out2, …] menunjukkan hasil keluaran dari fungsi tersebut yang disimpan dalam variabel out1, out2, dan seterusnya. Dalam contoh 1.a diatas, solusi dari fungsi tersebut hanyalah satu, yaitu hasil. Dalam permasalahan yang membutuhkan banyak output, maka pendefinisian output dapat dilakukan sesuai syntax-nya, seperti:
Program diatas akan menghasilkan tiga buah keluaran, yaitu tambah, kali dan bagi. Penjelasan bagaimana cara menggunakan fungsi akan dijelaskan berikutnya. Penggunaan tanda semicolon (;), membuat hasil dari langkah perhitungan tidak ditamilkan di layar. Hal ini disarankan jika tahapan-tahapan perhitungan tidak perlu ditampilkan hasilnya. Karena selain membuat kotor layar, penulisan perintah tanpa diakhiri dengan tanda semicolon juga akan memperlambat proses compiling-nya. File teks yang berisi fungsi tersebut kemudian disimpan dengan nama file berekstensi .m. Sama seperti menjalankan M-File, sebuah fungsi pada MATLAB juga dijalankan langsung dengan meng-execute M-File yang berisi fungsi tersebut. Hanya saja, jika pada proses menjalankan M-File semua variabel yang tertulis didalamnya akan terekam pada workspace, maka tidak begitu ketika kita menjalankan sebuah fungsi. Tidak ada satupun variabel yang ada dalam fungsi terekam dalam workspace, selain ans sebagai keluaran akhir dari fungsi. Hal ini dikarenakan semua variabel yang masuk dalam fungsi merupakan variabel lokal. Dalam satu M-File fungsi, tidak terbatas hanya untuk satu fungsi saja. Kita dapat membuat banyak fungsi dalam satu M-File, selama itu dibutuhkan. Untuk membuat sebuah subfungsi, dapat dilakukan dengan mendeklarasikan kembali function sebelum deretan perintahnya. Berikut adalah beberapa contoh berikut langkah-langkah untuk membuat fungsi.
Matematika Dalam Teknik Kontrol A.
Fungsi Polinomial
MATLAB menyediakan fungsi operasi standar dari polinom, seperti akar poli-nomial, evaluasi, dan turunan. Sebagai tambahan, fungsi-fungsi berikut diberikan untuk aplikasi lebih lanjut, seperti pencocokan kurva dan ekspansi fraksi parsial.
Fungsi Keterangan
Conv Perkalian polinomial
Poly Polinomial dengan akar-akar tertentu Polyder Turunan polinomial
Polyfit Pencocokan kurva polinomial Polyval Evaluasi polinomial
Polyvalm Evaluasi matrik polinomial Residue Ekspansi fraksi parsial Roots Mencari akar-akar polinomial
Transformasi a. Transformasi Laplace Sintaks L=Laplace (F) L=Laplace (F,t) L= Laplace(F,w,z) Deskripsi
L=Laplace (F), adalah transformasi dari simbol skalar F dengan variabel t. Variabel tersebut mengembalikan fungsi ke s. Transformasi laplace dari fungsi t dan mengembalikan fungsi ke s.
Definisi: F(s) = L{f(t)} = Sintaks: L = Laplace(f(t)) Contoh: Laplace f(t) = sin(t) >> syms t >> f = sin(t) >> c = Laplace(f) >> c = ans = 1/(s^2+1)
L=Laplace(F,t), Membuat L fungsi dari t sebagai pengganti default s. L(s) =
∫
∞ − 0 ) (x e dx F tx, L menghasilkan simbol skalar L= Laplace(F,w,z)
Membuat fungsi L dari z dan F sebagai fungsi w sebagai pengganti variabel s dan t.. L(s) =
∫
∞ − 0 ) (w e dw F zw Contoh : F(t) = te-(at) Laplacenya adalah>> syms t a % Untuk inisialisasi variabel >> laplace(exp(-a*t)*t) Ans = 1/(s+a)2 b. Invers Laplace
∫
∞ − 0 ) (t dt f e stSintaks
F=iLaplace (L) F=iLaplace (L,t) F=iLaplace(L,y,x) Deskripsi:
• F=iLaplace (L) Merupakan invers transformasi Laplace dari simbol skalar F dengan variabel default s. Variabel tersebut mengembalikan fungsi ke t. Transformasi Laplace dari fungsi s dan mengembalikan fungsi ke t.
Sintaks : f(t) = iLaplace(F(s)) Contoh : >> syms s >> g = (0.1/(0.1*s+1)) >> iLaplace(g) ans = exp(-10*t)
• F=iLaplace (L,t), menghasilkan f fungsi dari y sebagai pengganti default : F(y) =
∫
∞ + ∞ − j c j c syds e yL( ) , y adalah objek simbolik (scalar)
• F=iLaplace (L,y,x), Mengambil F sebagai fungsi x dan L fungsi y sebagai pengganti variable default t dan s.
F(y) =
∫
∞ + ∞ − j c j c xydy e y L( ) Contoh : F(s) = (s a)2 b2 a s + + +Invers laplacenya adalah :
>> syms s a b % Untuk inisialisasi variabel >> ilaplace((s+a)/((s+a)^2+b^2))
ans
exp(-a*t)*cos(b*t) Flow Control
MATLAB memiliki empat macam statement yang dapat digunakan untuk mengatur aliran data pada fungsi yang akan dibuat.
Bentuk dasar penggunaan statement jenis ini adalah sebagai berikut:
Ekspresi akan bernilai 1 jika benar dan bernilai 0 jika salah.
Fungsi disp digunakan untuk menampilkan pesan pada command window. Fungsi tersebut setelah dijalankan melalui command window:
2. Switch
Bentuk dasar penggunaan statement switch
Hasil setelah dijalankan
3. While
Statement while digunakan untuk aliran data yang bersifat perulangan. Bentuk dasar penggunaan while:
Contoh penggunaan :
4. For
Bentuk dasar penggunaan bentuk for:
Default dari nilai increment (penambahan nilai setiap perulangan) jika tidak ditentukan oleh user adalah 1.
Contoh fungsi :
Hasil setelah fungsi dijalankan
Mem-Plot beberapa grafik
Anda juga dapat membuat beberapa grafik/plot pada satu window dengan menggunakan fungsi subplot. Fungsi ini tidak melakukan proses plotting, namun hanya membagi window menjadi beberapa segmen. Sebagai contoh, perintah
subplot(3,2,3) akan membagi figure window menjadi tiga baris dan dua kolom (jadi terdapat enam segmen) dan mengarahkan plot berikutnya ke segmen kiri baris kedua. Grafik pada PA.1 diperoleh dengan perintah subplot(2,1,1) dan subplot(2,1,2).
REFERENSI
http://ganeshatech.wordpress.com/2009/02/10/matlab-gui-introduction-for-beginners/ http://blog.uad.ac.id/sutarto/index.php/2009/03/dasar-dasar-pemrograman-matlab/ http://danangdwidarmawan.students-blog.undip.ac.id/2009/07/01/belajar-matlab/ http://trensains.com/plotting_a_curve.htm