modul+prakt+pemrograman+matlab

Download modul+prakt+pemrograman+matlab

If you can't read please download the document

Upload: klutuk

Post on 28-Jun-2015

879 views

Category:

Documents


3 download

TRANSCRIPT

Praktikum Dasar Pemrograman Komputer 0 MODUL PRAKTIKUM PEMROGRAMAN KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM INDONESIA 2005

Praktikum Dasar Pemrograman Komputer 1 Unit 1 PENGENALAN MATLAB 1.1 Tujuan Diharapkan setelah praktikum ini mahasiswa sebagai praktikan dapat : 1. Mengenal MATLAB dan tools yang disediakannya 2. Mengetahui dan mampu memahami beberapa fungsi dasar MATLAB. 3. Mampu melakukan perhitungan matematis dalam bilangan riil maupun bilangan kompleks dengan bantuan MATLAB. 1.2 Dasar Teori MATLAB adalah kependekan dari matrix laboratory, dimana MATLAB merupakan perangkat lunak untuk komputasi teknis dan saintifik. MATLAB merupakan integrasi komputasi, visualisasi, dan pemrograman yang mudah digunakan. Sehingga MATLAB dapat bertindak sebagai : . Kalkulator Ketika bertindak sebagai kalkulator, MATLAB memberikan hasil seketika setelah perintah operasi diberikan. . Bahasa pemrograman Perintah perintah operasi dengan urutan dan logika tertentu, serta digunakan berulang berulang dapat dibuat sebagai suatu program yang akan dijelaskan pada unit selanjutnya.

Praktikum Dasar Pemrograman Komputer 2 Adapun macam macam operasi yang dapat dilakukan oleh MATLAB adalah : . Skalar : berupa bilangan real atau kompleks. . Matriks dan vektor : dengan elemen bilangan real atau kompleks. . Teks : pengolahan kata. 1.2.1 Desktop Tools MATLAB Ketika MATLAB dijalankan pertama kali, MATLAB desktop tampil, berisi tools (graphical user interfaces) untuk mengatur file, variables, dan aplikasi M ATLAB. Pertama kali MATLAB dijalankan akan tampil desktop dengan ilustrasi sebagai beri kut.

Praktikum Dasar Pemrograman Komputer 3 Jendela-jendela yang ada di MATLAB adalah sebagai berikut : . Command window Digunakan untuk menjalankan fungsi-fungsi MATLAB. . Command history Digunakan untuk menyimpan baris-baris perintah yang telah diketikkan di command window. Kita dapat melihat fungsi-fungsi yang digunakan sebelumnya, mengkopi dan menjalankannya kembali dari command history. . Launch pad Menyediakan akses yang mudah ke tools, demo dan dokumentasi. . Help browser Untuk mencari dan menampilkan dokumentasi semua produk MathWorks. . Current diectory browser Operasi MATLAB file menggunakan current directory dan search path sebagai referensi. File yang akan dijalankan harus berada di current directory atau ada pada search path. . Workspace browser Berisi kumpulan variabel yang terbentuk sepanjang sesi MATLAB dan di simpan di memory. . Array editor Menampilkan isi array dalam format tabel dan dapat digunakan untuk mengedit isi array. . Editor/Debugger Digunakan untuk membuat, mengedit, dan men-debug M-files, yakni program yang dibuat untuk menjalankan fungsi-fungsi MATLAB.

Praktikum Dasar Pemrograman Komputer 4 . Figure Figure adalah jendela untuk menampilkan gambar grafik seperti perintah plot dan sejenisnya. Gambar pada jendela figure ini dapat disimpan ke dalam sebuah fi le yang sewaktu-waktu dapat dipanggil kembali. . Help Untuk menghafalkan semua perintah MATLAB mungkin akan menemui banyak kesulitan. Untuk menemukan perintah-perintah itu, MATLAB menyediakan bantuan dengan menyediakan help online. Kemampuan ini meliputi perintah MATLAB untuk memperoleh keterangan cepat pada command window atau pada help browser. 1.2.2 Operator komputasi. Operator komputasi mempunyai prioritas dengan urutan tertentu. Untuk menentukan prioritas, digunakan tanda kurung ( ) . Adapun beberapa operator komputasi dalam MATLAB adalah : Simbol Operasi + Penambahan, a + b - Pengurangan, a - b * Perkalian, a x b / atau \ Pembagian, a : b ^ Pemangkatan, ab

Praktikum Dasar Pemrograman Komputer 5 1.2.3 Bilangan kompleks. Bilangan kompleks adalah bilangan yang terdiri dari bagian imaginer dan bagian riil. Bagian imaginer ditandai dengan simbol imaginer i atau j . Operasi bilangan kompleks juga menggunakan operator komputasi di atas. Bilangan kompleks selain dapat dinyatakan dalam koordinat kartesian , dapat juga dinyatakan dalam koordin at polar dan diagram fasor yang berupa magnitude dan sudut fase. Beberapa fungsi dasar yang berhubungan dengan bilangan kompleks adalah: Perintah Keterangan real Bagian riil dalam koordinat kartesian. imag Bagian imaginer dalam koordinat kartesian. abs Nilai absolute atau magnitude dalam koordinat polar. angle Sudut fase dalam koordinat polar ( dalam satuan radian ) 1.2.4 Fungsi matematis Sebagai kalkulator, MATLAB mempunyai berbagai fungsi umum yang penting untuk matematika, teknik, dan ilmu pengetahuan. Sebagai tambahan atas fungsi-fun gsi tersebut, MATLAB juga menyediakan ratusan fungsi yang berguna untuk menyelesaikan permasalahan tertentu. Beberapa fungsi matematis yang tersedia antara lain fungsi trigonometri, fungsi eksponensial dan fungsi pembulatan.

Praktikum Dasar Pemrograman Komputer 6 Fungsi matematika keterangan abs(x) Nilai mutlak atau magnitudo bilangan kompleks acos(x) Invers cosinus acosh(x) Invers cosinus hiperbolik asin(x) Invers sinus atan(x) Invers tangen ceil(x) Pembulatan ke arah plus tak hingga cos(x) Cosinus exp(x) Eksponensial : ex fix(x) Pembulatan ke arah nol floor(x) Pembulatan ke arah minus tak hingga imag(x) Bagian imajiner bilangan kompleks log(x) Logaritma natural log10(x) Logaritma dengan basis 10 real(x) Bagian riil suatu bilangan kompleks rem(x,y) Sisa pembagian x/y round(x) Pembulatan ke bilangan bulat terdekat sin(x) Sinus sqrt(x) Akar kuadrat tan(x) Tangen 1.2.5 Variabel Data dan variabel yang dibuat dalam command window tersimpan dalam workspace MATLAB. Ada beberapa aturan dalam penamaan variabel :

Praktikum Dasar Pemrograman Komputer 7 - nama variabel harus terdiri atas satu kata tanpa spasi. - nama variabel dibedakan antara huruf besar dan huruf kecil (case sensitive). - panjang maksimum nama variabel adalah 31 karakter, karakter setelahnya akan diabaikan. - nama variabel harus diawali dengan huruf, diikuti dengan sembarang bilangan, huruf atau garis bawah (under line). - karakter tanda baca tidak diperbolehkan karena banyak diantaranya mempunyai ar ti tersendiri dalam MATLAB. MATLAB mempunyai beberapa variabel spesial yakni : Variabel spesial Nilai ans Nama variabel standar untuk menampilkan hasil pi Perbandingan antara keliling lingkaran dengan diameternya inf Tak berhingga, misalnya 1/0 NaN Bukan sebuah bilangan, misalnya 0/0 i dan j i=j=.-1 nargin Banyaknya argument input yang digunakan pada suatu fungsi nargout Banyaknya argument output yang digunakan pada suatu fungsi realmin Bilangan real positif terkecil yang dapat digunakan realmax Bilangan real positif terbesar yang dapat digunakan

Praktikum Dasar Pemrograman Komputer 8 1.3 Langkah Percobaan Ikutilah langkah langkah berikut untuk memulai MATLAB : . Jalankan MATLAB dengan mengklik double pada ikon MATLAB . Amati jendela desktop MATLAB, menu-menu yang tersedia serta jendelajendela yang tergabung disana (desktop tools) . Cobalah untuk menutup tools yang ada dengan mengklik tanda silang pada title bar. Untuk menampilkan kembali bisa dipanggil dari fungsi view di menu bar . Cobalah untuk mengeluarkan tools dari desktop dengan cara mengklik tanda panah pada title bar . Untuk memperoleh tampilan standar pilih View,destkop layout, default. . Ubahlah karakteristik huruf command window dengan cara memilih menu File, Preferences, lalu klik tanda plus di sebelah kiri tulisan command window, akan tampil Fonts & color untuk memilih jenis dan warna huruf. . Silahkan mencoba menu-menu yang lain Ketikkan pernyataan/perintah dibawah ini pada command window. Pada masing masing pernyataan/perintah, akhiri dengan menekan tombol enter, kemudian amati hasilnya untuk dianalisis. 1. Operator komputasi. A = 10 B = 5 A+B

Praktikum Dasar Pemrograman Komputer 9 A-B A*B A/B B\A A^B 2. Bilangan kompleks. a = 4+3i real(a) imag(a) abs(a) angle(a) conj(a) 3. Fungsi matematis. x=pi/3 a=0.01 acos(a) acosh(a) asin(a) atan(a) ceil(x) cos(x) exp(x) fix(x) floor(x) log(x)

Praktikum Dasar Pemrograman Komputer 10 log10(a) rem(x,a) round(x) sin(x) sqrt(a) tan(x) 4. Variabel. Panjang = 10 lebar = 5 Luas_persegi_panjang = Panjang * lebar SELAMAT MENCOBA!

Praktikum Dasar Pemrograman Komputer 11 Unit 2 ARRAY DAN MATRIKS 2.1. Tujuan Setelah mengikuti unit praktikum ini, maka praktikan diharapkan: 1. Mengetahui beberapa array dan matriks dasar 2. Mengetahui lebih banyak tentang kegunaan matriks dan array 3. Mampu melakukan manipulasi matriks dengan cara yang lebih kompleks 2.2. Teori Array atau disebut juga larik adalah bentuk dasar penyimpanan data pada MATLAB. Array dapat berupa array kosong dengan dimensi 0x0, hingga array dengan n-dimensi. Dengan array, kita dapat membuat vektor, matrik, menggunakan subscrip t arrays, dan penggunaan khusus untuk iterasi. Sebuah matriks adalah sebuah array dua dimensi dengan elemen dapat berupa riil maupun komplek. 2.2.1. Pembentukan array Untuk membentuk array pada Matlab, dimulai dengan kurung siku buka, masukan nilai dipisahkan dengan koma atau spasi, dan diakhiri dengan kurung tutu p siku.

Praktikum Dasar Pemrograman Komputer 12 Misalnya perintah : A = [2, 3 ; 4 5] , merupakan perintah untuk membuat array du a dimensi .. . .. . . 4 5 2 3 A . MATLAB menyediakan fasilitas untuk membuat array sederhana dengan cara-cara berikut : Pembentukan array keterangan x=[2 2*pi sqrt(2) 2-3j] Membentuk vektor baris x dengan elemen yang disebutkan x=first:last Membentuk vektor baris x dimulai dengan first, dinaikan satu, berakhir sampai atau sebelum last. x=first:increment:last Membentuk vektor baris x dimulai dengan first, dinaikan sebesar increment, berakhir sampai atau sebelum last. x=linspace(first,last,n) Membentuk vektor baris x dimulai dengan first, berakhir pada last, dengan n elemen. x=logspace(first,last,n) Membuat vektor baris x yang memiliki spasi logaritmik, dimulai dengan 10first, berakhir di 10last, mempunyai n elemen 2.2.2. Pengalamatan Elemen (Array) dan manipulasi array Ketika sebuah array didefinisikan, MATLAB menyediakan cara yang powerful untuk menyisipkan, mengekstrak, dan mengatur kembali bagian-bagiannya dengan mengidentifikasi indeks bagian tersebut. Pengetahuan mengenai hal tersebut

Praktikum Dasar Pemrograman Komputer 13 merupakan kunci untuk memanfaatkan MATLAB secara efisien. Teknik-teknik pengalamatan array disajikan dalam tabel berikut. Pengalamatan Array A(r,c) Pengalamatan elemen array di A ditentukan dengan vektor indeks baris di r dan vektor indeks kolom di c A(r,:) Pengalamatan subarray di A ditentukan dengan vektor indeks baris r dan semua kolom A(:,c) Pengalamatan subarray di A ditentukan dengan semua baris dan vektor indeks kolom c A(:) Pengalamatan semua elemen A sebagai vektor kolom diambil kolom per kolom A(i) Pengalamatan subarray di A ditentukan oleh vektor indeks tunggal dari elemen tersebut di I, seolah A adalah vektor kolom A(:) A(x) Pengalamatan subarray di A ditentukan oleh array logika x. x harus berisi nilai 0 dan 1 dan harus berukuran sama dengan A. Untuk memanipulasi array dapat digunakan fungsi-fungsi sebagai berikut : Fungsi Manipulasi Array flipud(A) menggulung suatu matriks dengan arah dari atas ke bawah fliplr(A) menggulung suatu matriks dengan arah dari kiri ke kanan rot90(A) memutar suatu matriks 90 derajat berlawanan arah jarum jam reshape(A,m,n) menghasilkan matriks ukuran mxn dengan elemen diambil

Praktikum Dasar Pemrograman Komputer 14 searah kolom dari A. A harus berisi mxn elemen diag(A) mengeluarkan diagonal matriks A sebagai vektor kolom diag(v) membentuk matriks diagonal dengan vektor v pada diagonalnya tril(A) mengeluarkan bagian segitiga bawah matriks A triu(A) mengeluarkan bagian segitiga atas matriks A 2.2.3. Matematika Array Operasi matematis antara skalar dan array, meliputi penjumlahan, pengurangan, perkalian dan pembagian, beroperasi pada semua elemen array. Sedangkan operasi matematis antara array dengan array tidak sesederhana itu. Akan tetapi untuk arr ay yang berukuran sama, operasi penjumlahan, pengurangan, perkalian, dan pembagian dengan MATLAB, berlaku elemen per elemen. Operasi matematis pada array dirangkum dalam tabel berikut. Matematika Array Elemen per Elemen Data ilustratif : a = [a1 a2 an] b = [b1 b2 bn], c = suatu skalar Penjumlahan skalar a+c = [a1+c a2+c an+c] Perkalian skalar a*c = [a1*c a2*c an*c] Penjumlahan array a+b = [a1+b1 a2+b2 an+bn] Perkalian array a .*b = [a1*b1 a2*b2 an*bn] Pembagian kanan array a . /b = [a1/b1 a2/b2 an/bn]

Praktikum Dasar Pemrograman Komputer 15 Pembagian kiri array a . \b = [a1\b1 a2\b2 an\bn] Pemangkatan array a . ^c = [a1^c a2^c an^c] c . ^a = [c^a1 c^a2 c^an] a . ^b = [a1^b1 a2^b2 an^bn] Dalam operasi ini yang harus diperhatikan adalah ukuran dimensi dari operasi elemen per elemen haruslah sama. Menghilangkan titik sebelum tanda *, /, dan ^ adalah sebuah kesalahan serius karena pernyataan kemudian akan menyebutkan sebua h operasi matriks skalar, bukan operasi elemen per elemen. 2.2.4. Matriks Awalnya MATLAB digunakan untuk menyederhanakan perhitungan matriks dan aljabar linier yang muncul pada berbagai aplikasi. Permasalahan yang paling umum pada aljabar linier adalah mencari solusi persamaan linier, yang dapat diselesai kan dengan menggunakan persamaan matriks. Fungsi-fungsi matriks yang disediakan oleh MATLAB ditunjukkan dalam tabel beriku t. Fungsi Matriks balance(A) Penyekalaan untuk memperbaiki akurasi nilai eigen cdf2rdf(A) bentuk diagonal kompleks ke bentuk diagonal blok real chol(A) faktorisasi Cholesky cond(A) matriks bilangan kondisi

Praktikum Dasar Pemrograman Komputer 16 condest(A) estimasi matriks bilangan kondisi l-norm d=eig(A) nilai eigen dan vektor eigen [V,D]=eig(A) det(A) determinan expm(A) matriks eksponensial expm1(A) implementasi M-file dari expm expm2(A) Matriks eksponensial menggunakan deret Taylor expm3(A) Matriks eksponensial menggunakan nilai eigen dan eigen funm(A, fun ) menghitung fungsi matriks umum hess(A) bentuk hessenberg inv(A) invers matriks logm(A) logaritma matriks lscov(A,b,V) kuadrat terkecil dengan kovarians yang diketahui lu(A) faktor dari eliminasi gaussian nnls(A,b) kuadrat terkecil nonnegatif norm(A) norm matriks dan vektor norm(A,1) 1-norm norm(A,2) 2-norm (Euclidean) norm(A,inf) takberhingga (infinity) norm(A,p) P-norm(hanya untuk vektor) norm(A, fro ) F-norm null(A) spasi kosong orth(A) Ortogonalisasi

Praktikum Dasar Pemrograman Komputer 17 pinv(A) Pseudoinvers poly(A) Variabeln karakteristik polyvalm(A) evaluasi polinomial matriks qr(A) dekomposisi ortogonal-triangular qrdelete(Q,R,j) menghapus kolom dari faktorisasi qr qrinsert(Q,R,j,x) menyelipkan kolom pada faktorisasi qr qz(A,B) nilai eigen yang digeneralisasi rank(A) banyaknya baris atau kolom yang independen linier rcond(A) estimator kondisi resiprokal rref(A) mengurangi baris bentuk echelon rsf2csf bentuk schur real ke bentuk schur kompleks schur(A) dekomposisi Schur sqrtm(A) matriks akar kuadrat svd(A) dekomposisi nilai singular trace(A) jumlah elemen diagonal MATLAB menawarkan beberapa matriks spesial, beberapa diantaranya merupakan matriks yang umum digunakan. Matriks Spesial [] matriks kosong Company matriks gabungan Eye matirks identitas

Praktikum Dasar Pemrograman Komputer 18 gallery beberapa matriks pengujian yang kecil hadamard matriks Hadamard hankel matriks Hankel hilb matriks Hilbert invhilb invers matriks Hilbert magic magic square ones matriks yang semua elemennya 1 pascal matriks segitiga pascal rand matriks random terdistribusi normal dengan elemen antara 0 dan 1 randn matriks random terdistribusi normal dengan elemen-elemennya memiliki mean nol dan varians satu rosser matriks pengujian nilai eigen simetrik toeplitz matriks toeplitz vander matriks vandermonde wilkinson matriks pengujuan nilai eigen Wilkinson zeros Matriks yang semua elemennya nol 2.2.5. Ukuran Array Fungsi-fungsi yang digunakan untuk mengetahui ukuran array diringkas dalam tabel berikut.

Praktikum Dasar Pemrograman Komputer 19 Ukuran Array Whos menampilkan variabel yang ada di workspace dan ukurannya s=size(A) menghasilkan vektor dua elemen s, dengan elemen pertama adalah banyaknya baris di A dan elemen kedua adalah banyaknya kolom di A [r,c]=size(A) menghasilkan dua skalar r dan c yang berturut-turut berisi banyaknya baris dan kolom di A r=size(A,1) menghasilkan banyaknya baris array A dalam variabel r c=size(A,2) menghasilkan banyaknya kolom array A dalam variabel c n=length(A) menghasilkan max(size(A)) pada variabel n 2.3. Langkah Praktikum Ketikkan pernyataan-pernyataan di bawah ini. Pada masing-masing pernyataan, akhi ri dengan menekan tombol enter. Catat dan amati hasilnya. Jalankan Matlab sehingga muncul MATLAB Command Window! 2.3.1. Pembentukan array Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya ! X=(0:0.1:1)*pi X=linspace(0,pi,11)

Praktikum Dasar Pemrograman Komputer 20 M=logspace(0,2,11) x=[2 2*pi sqrt(2) 2-3j] 2.3.2. Pengalamatan Elemen (Array) Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya ! X = [0 2 4 6 8 10 12 14 16 18 20]; Y = [1 3 5 7 9 11 13 15 17 19 21]; X(7) Y(4) Y(10:-1:2) X(2:6) Y(1:2:8) X(1:3:10) Y^2 X.^2 Y./2 A=[1 2 3;4 5 6;7 8 9]; A(2,3) A(1,:) A(:,3)

Praktikum Dasar Pemrograman Komputer 21 2.3.3. Matematika array Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya ! a = [2 4 3 5 7] b = [1 2 3 4 5]' c = a+5 d = a+b e = b-2 f = b*3 g = b/2 h = a./b k = a.\b x = a*b y = b*a z = a.*b 2.3.4. Matriks Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya ! m_eye = eye(4) m_rand = rand(3,4) m_ones = ones(4,4) m_zeros = zeros(3)

Praktikum Dasar Pemrograman Komputer 22 Diketahui persamaan linier sbagai berikut : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 804 366 7 8 0 4 5 6 1 2 3 3 2 1 x x x A . x = b untuk mencari solusi dari persamaan tersebut dapat digunakan fungsi-fungsi matri ks sebagai berikut. A=[1 2 3;4 5 6;7 8 0] b=[366;804;351] det(A) x=inv(A)*b x=A\b Cobalah perintah-perintah tersebut pada command window!!! Lalu amati hasilnya! 2.3.5 Ukuran array Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya ! A=[1 2 3 4;5 6 7 8] s=size(A) [r,c]=size(A) r=size(A,1) c=size(A,2) length(A)

Praktikum Dasar Pemrograman Komputer 23 Unit 3 PEMBUATAN PROGRAM 3.1 Tujuan Setelah mengikuti unit praktikum ini, maka praktikan diharapkan : 1. mengetahui cara penanganan masukan dan keluaran pada program 2. mampu membuat program sederhana dengan MATLAB 3.2 Dasar Teori Program adalah suatu kumpulan pernyataan, fungsi atau perintah yang diatur sedemikian sehingga mempunyai logika tertentu. Semua pernyataan, fungsi dan perintah dapat diberikan langsung di MATLAB Command Window yang digunakan untuk menyusun sebuah program. MATLAB menyediakan bahasa pemrograman yang lengkap yang memungkinkan Anda menulis perintah-perintah MATLAB ke dalam sebuah file dan menjalankannya dengan sebuah perintah saja. m-file dapat berupa script yang secara sederhana mengeksekusi barisan perintah-perintah MATLAB, atau m-file dapat berupa fungsi yang menerima argumen input dan menghasilkan output. M-file dibuat dengan menggunakan teks editor. Perbedaan antara script dan fungsi disaji kan dalam tabel berikut.

Praktikum Dasar Pemrograman Komputer 24 Script Fungsi Tidak menerima argumen input maupun menghasilkan argumen output Menerima argumen input dan menghasilkan argumen output Beroperasi dengan data di workspace Variabel internal bersifat lokal untuk fungsi itu sendiri Berguna untuk mengotomatisasi barisan perintah yang perlu dijalankan beberapa kali Berguna untuk memperluas bahasa matlab pada aplikasi anda Pembuatan program pada MATLAB dilakukan di editor tersendiri yaitu MATLAB Editor / Debugger. Di editor inilah suatu program di tulis kemudian di simpan se bagai file-m. 3.2.1 File-m Program MATLAB dikenal dengan sebutan file-m, karena file ini berekstension m. F ilem yang dihasilkan oleh MATLAB adalah suatu program tak-terkompilasi, sehingga selalu membutuhkan program interprenter, yaitu MATLAB itu sendiri. Artinya untuk dapat menjalankan program yang telah dibuat dipanggil melalui MATLAB Command Window. Pemanggilan file-m dilakukan dengan menuliskan nama file tersebut tanpa menyebutkan ekstensionnya. File-m tidak mempunyai struktur tertentu, berbeda dengan bahasa pemrograman C, Pascal atau Basic. File-m tidak harus diawali atau diakhiri dengan kata kunci te rtentu.

Praktikum Dasar Pemrograman Komputer 25 File ini cukup disusun dari pernyataan, fungsi atau perintah seperti halnya pada MATLAB Command Window, untuk membangun logika tertentu. 3.2.2 Struktur dan Tipe Data Tipe data yang digunakan pada pemrograman MATLAB defaultnya adalah double. Tetapi tipe data dapat berubah menyesuaikan dengan nilai yang diberikan kepadany a. Beberapa tipe data, yang juga merupakan fungsi pengubah tipe data, antara lain : . single bilangan pecahan presisi tunggal . double bilangan pecahan presisi ganda . int8, int16, int32 bilangan bulat 8, 16 atau 32 bit bertanda . uint8, uint16,uint32 bilangan bulat 8, 16 atau 32 bit tak bertanda . char karakter atau string Yang dimaksud tak bertanda adalah tipe data yang tidak menerima bilangan negatif . Stuktur data yang digunakan oleh MATLAB adalah: . Multidimensional arrays . Cell arrays . Characters and text . Structure Pada MATLAB, multidimensional arrays adalah array dengan tiga atau lebih subscri pt. Dapat dibentuk dengan memanggil zeros, ones, rand, atau randn dengan argument le bih dari dua.

Praktikum Dasar Pemrograman Komputer 26 Cell array merupakan multidimensional arrays yang elemen-elemennya dikopi dari array yang lain. Cell array kosong dapat dibentuk dengan fungsi cell. Tetapi bia sanya cell array dibentuk dengan melingkupi kumpulan suatu data dengan kurung kurawal { } . Kurung kurawal juga digunakan untuk mengakses isi dari berbagai sel. Karakter string adalah teks yang diawali dan diakhiri dengan apostrof ( ). Setiap karakter dalam suatu string adalah satu elemen array, dengan setiap elemennya se besar 2 byte. String merupakan array numerik dengan atribut khusus, oleh karena itu st ring dapat dimanipulasi dengan menggunakan semua metode manipulasi array yang tersedi a di MATLAB. 3.2.3 Struktur Fungsi Deklarasi file-m sebagai fungsi adalah function yang terletak pada awal program. function parameter_keluaran = nama_fungsi (parameter_masukan) parameter keluaran dapat lebih dari satu buah, cara penulisannya adalah [parameter_keluaran1, parameter_keluaran2,...] parameter masukan juga dapat lebih dari satu. Maka penulisannya adalah (parameter_masukan1, parameter_masukan2,...)

Praktikum Dasar Pemrograman Komputer 27 Pada fungsi dengan beberapa parameter masukan, apabila cacah parameter saat pemanggilan tidak sama dengan cacah parameter saat definisi, maka biasanya fungs i akan gagal dijalankan. MATLAB mempunyai kemampuan untuk menghitung cacah parameter masukan dan cacah parameter keluaran. Cacah parameter keluaran dinyatakan dengan fungsi nargin, sedangkan cacah parameter keluaran dinyatakan dengan fungsi nargout. 3.2.4 Masukan dan Keluaran (Input dan Output) Fungsi input digunakan untuk meminta masukan ketika program dijalankan. Fungsi ini menerima parameter berupa string untuk memberikan keterangan tentang masukan yang harus diberikan, pemasukan nilai yang ditampung disuatu variabel adalah Variabel = input ( keterangan maukan ); Menampilkan hasil, nilai variabel atau keterangan pada saat program dijalankan d apat menggunakan salah satu dari fungsi dibawah ini. . disp menampilkan nilai variabel atau string secara sederhana . fprintf menampilkan nilai variabel menggunakan string format Beberapa simbol yang digunakan pada fungsi fprintf antara lain :

Praktikum Dasar Pemrograman Komputer 28 Format tampilan bilangan Karakter khusus Simbol Arti Simbol Arti %d %f %o %x, %X %e, %E Bilangan bulat Bilangan pecahan Bilangan oktal Bilangan hexsadesimal Bilangan sebagai ax10b /n /t Pindah ke baris baru Geser sebanyak 1 tab Pada tampilan bilangan pecahan %f, %e dan %E, presisi dapat diatur dengan menyisipkan format presisi bilangan. Format presisi adalah .p, dengan p berupa n ilai yang menyatakan banyaknya angka dibelakang koma. 3.2.5 Komentar Dan Tanda Baca Suatu program yang baik biasanya mempunyai komentar terhadap operasi, pernyataan atau perintah yang diberikan dalam program. Untuk memberikan komentar/keterangan pada perintah MATLAB, harus didahului dengan tanda %. Beberapa perintah dapat diletakkan pada baris yang sama dengan dipisahkan oleh t anda koma atau titik koma. Tanda koma memberitahu MATLAB untuk menampilkan hasil sedangkan tanda titik koma mencegah penampilan hasil.

Praktikum Dasar Pemrograman Komputer 29 Suatu perintah MATLAB yang akan ditulis terpisah tidak dalam baris yang sama har us ditandai dengan tiga titik berurutan. Posisi tanda tiga titik tersebut harus ber ada di antara nama variabel dan operator. Jadi nama variabel tidak dapat dipecah. 3.3 Langkah Praktikum Buat program program berikut, simpan sebagai file-m, kemudian jalankan. Catat da n amati hasilnya. Untuk memunculkan MATLAB Editor/ Debugger, ketikan edit di dalam Command Window lalu tekan enter. Maka akan keluar window baru sebagai MATLAB Editor/ Debugger.

Praktikum Dasar Pemrograman Komputer 30 3.3.1. Struktur dan Tipe Data Buat program berikut di MATLAB Editor/Debugger. Jangan akhiri masing masing baris dengan tanda titik-koma ( ; ) agar nilai variabel muncul di layar. Y = 23/47 y_double = double (23/ 47) y_single = single (23/ 47) z_int = int8 (-93) z_int8 = int8 (-130) z_uint8 = uint8 (-93) Simpan sebagai file-m dengan nama tipedata.m Di MATLAB Command Window , jalankan program tersebut dengan memanggil nama file tipedata kemudian tekan enter. Apakah variabel y, y_double dan y_single sama? Adakah yang berbeda?. Berapakah nilai maksimum dan minimum dari tipe data int8 dan uint8 ? modifikasi program untuk mengetahui nilai dari int16, int32, uint16 dan uint32. Lihat daftar variabel yang terbentuk dengan perintah whos . Dari semua tipe data yang ada, urutkan berdasar ukuran byte yang digunakan mulai dari yang terkecil hingga besar.

Praktikum Dasar Pemrograman Komputer 31 Stuktur data Multidimensional arrays dapat dibentuk dengan memanggil zeros, ones, rand, atau randn dengan argument lebih dari dua. Ketikan perintah berikut di Command Window, amati dan analisa hasilnya. R = rand(3,4,5); Cell array dibentuk dengan melingkupi kumpulan suatu data dengan kurung kurawal { } . Kurung kurawal juga digunakan untuk mengakses isi dari berbagai sel. Ketikan perintah berikut di Command Window, amati dan analisa hasilnya. A = [ 1 2 3] C = {A sum(A) prod(prod(A))} Caracters and text Ketikan perintah berikut di Command Window, amati dan analisa hasilnya. Teks_ku = Hello saya lagi praktikum matlab Fungsi char menerima beberapa baris, menambahkan spasi pada setiap baris untuk membuatnya sama panjang, dan membentuk karakter array. Pada Editor/ Debugger ketikan :

Praktikum Dasar Pemrograman Komputer 32 teks = char( A , rolling , stone , gathers , momentum. ) karakter = { A ; rolling ; stone ; gathers ; momentum. } karakter_ke_string = cellstr(teks) string_ke_karakter = char(karakter) Setelah disimpan , panggil di Command Window, amati dan analisa hasilnya Structure adalah multidimensional array dengan elemen-elemennya diakses dengan field designators. Pada Editor/ Debugger ketikan : S.nama = Ed Plum ; S.score = 83; S.gradae = B+ Setelah disimpan , panggil di Command Window, amati dan analisa hasilnya 3.3.2. Struktur fungsi Buat fungsi berikut. Simpan sebagai file xpolar.m function x = xpolar (r, p); p_rad = p* pi / 180; x = r * cos (p_rad); % x adalah parameter keluaran

Praktikum Dasar Pemrograman Komputer 33 Kemudian pada Command Window, panggil fungsi tersebut dengan mengetikkan perintah berikut : xpolar (5, 60) SumbuX = xpolar (5,30) Fungsi berikut mempunyai parameter keluaran lebih dari satu function [x, y] = xypolar (r, p); p_rad = p * pi / 180 x = r * cos (p_rad); % x adalah parameter keluaran y = r * sin (p_rad); % y adalah parameter keluaran Panggil fungsi dengan cara cara berikut. Bagaimana keluarannya? [a, b] = xypolar (8, 30) xypolar (8,30) c = xypolar (8, 30) Fungsi dipanggil dengan cacah parameter masukan kurang dari cacah parameter masukan saat definisi, apa yang terjadi?

Praktikum Dasar Pemrograman Komputer 34 3.3.3. Masukan dan Keluaran (Input dan Output) Program berikut untuk menguji masukan dan keluaran. Setiap baris diakhiri dengan tanda titik koma ( ; ). bilangan = input( Masukan Bilangan = ); disp ( Bilangan Tersebut = ); disp (bilangan) matriks = input ( Masukan matriks = ); disp ( Matriks tersebut = ); disp (matriks) Simpan dan jalankan program. Apa yang muncul dilayar? Uji untuk masukan berupa bilangan bulat dan bilangan pecahan. Program berikut untuk menguji format keluaran bilangan pecahan. a = input ( Pembilang = ); b = input ( Penyebut = ); c = a / b; fprintf ( %f dibagi %f sama dengan %f \n, a, b, c); fprintf ( %.3f dibagi %.3f sama dengan %.3f \n, a, b, c); fprintf ( %e dibagi %e sama dengan %e \n, a, b, c); fprintf ( %.3e dibagi %.3e sama dengan %.3e \n, a, b, c);

Praktikum Dasar Pemrograman Komputer 35 Simpan dan jalankan program tersebut. Apa yang muncul di layar?, Jalankan progra m sebanyak 3 kali dengan masukan yang berbeda-beda. Apa fungsi penyisipan .3 pada format tampilan bilangan? Program berikut akan menguji format keluaran bilangan bulat. w = input ( Bilangan bulat = ); fprintf ( desimal: %d \t oktal: %o \t hexadesimal: %x \n , w, w, w); Simpan dan jalankan program. Apa yang muncul dilayar? Jalankan program sebanyak 3 kali dengan masukan yang berbeda. 3.3.4. Program sederhana Buat program program berikut dan amati hasilnya. % program membuat sinyal sinus % masukan / input amp_sinyal = input (' Masukan amplitudo sinyal = '); frek = input (' Masukan Frekuensi sinyal = '); t_max = input (' Masukan maksimal waktu pengukuran (detik) = '); t_int = input (' Masukan interval waktu pengukuran (detik) = ');

Praktikum Dasar Pemrograman Komputer 36 % pembuatan vektor waktu t = (0 : t_int : t_max); % Pembuatan Sinyal frek_x = 2 ; frek_rad = frek * frek_x * pi; frekuensi = cos(frek_rad * t); Sinyal = amp_sinyal * frekuensi ; % keluaran fprintf ('\t %f dikali %f dikali %f sama dengan %.3d \n', frek, frek_x , pi, frek_rad); fprintf ('\t %f dikali %f sama dengan %.3d \n', amp_sinyal, frekuensi, Sinyal); plot (t, Sinyal); Selanjutnya buat program berikut, lalu jalankan di command window dan amati hasilnya ! function [avg,med] = newstats(u) % Primary function % NEWSTATS Find mean and median with internal functions. n = length(u); avg = mean(u,n); med = median(u,n);

Praktikum Dasar Pemrograman Komputer 37 function a = mean(v,n) % Subfunction % Calculate average. a = sum(v)/n; function m = median(v,n) % Subfunction % Calculate median. w = sort(v); if rem(n,2) == 1 m = w((n+1)/2); else m = (w(n/2)+w(n/2+1))/2; end kemudian panggil di Command Windows dengan perintah berikut : [a,m]= newstats([1 2 3 4 5])

Praktikum Dasar Pemrograman Komputer 38 Unit 4 PENCABANGAN BERSYARAT 4.1 Tujuan Setelah mengikuti unit praktikum ini, maka praktikan diharapkan : 1. Mengetahui kegunaan pencabangan bersyarat sebagai kendali aliran program. 2. Mampu membuat program dengan pencabangan bersyarat. 4.2 Dasar teori Program program yang dihasilkan pada unit 3 merupakan program yang tidak mempunyai kendali logika. Pada program tersebut, pernyataan demi pernyataan dieksekusi dari baris pertama hingga baris terakhir. Pada program yang lebih kom pleks, logika program tidak mengalir sesederhana itu. Terdapat kasus kasus yang mengharuskan logika program mengalir dengan syarat tertentu. Secara umum, di semua bahasa pemrograman termasuk matlab, terdapat dua macam kendali aliran, yaitu percabangan bersyarat dan perulangan. 4.2.1 Aliran Logika

Praktikum Dasar Pemrograman Komputer 39 Aliran logika pada kendali pencabangan bersyarat digambarkan dengan flowchart berikut : Syarat terpenuhi ? Pernyataan X Pernyataan Y Ya Tidak Pelaksanaan eksekusi pada pernyataan X atau Y tergantung pada hasil pengujian sy arat. Jika syarat terpenuhi maka eksekusi berikutnya adalah pernyataan X, tetapi jika syarat tidak terpenuhi maka eksekusi selanjutnya adalah pernyataan Y. Kadang kadang pernyataan Y tidak diperlukan, yang berarti pengujian syarat dilakukan untuk menentukan apakah pernyataan X perlu dieksekusi atau tidak. 4.2.2 Operator Relasi dan Logika Untuk menyatakan syarat pemilihan biasanya digunakan perbandingan antara dua buah nilai. Perbandingan dilakukan dengan menggunakan operator relasi. Berik ut ini beberapa operator relasi :

Praktikum Dasar Pemrograman Komputer 40 Operator relasi Keterangan < Kurang dari Lebih dari >= Lebih dari atau sama dengan == Sama dengan ~= Tidak sama dengan Nilai benar pada MATLAB dinyatakan dengan nilai 1 dan sebaliknya nilai salah dinyatakan dengan nilai 0. Hasil operasi 0 atau 1 dapat digunakan sebagai syarat pemilihan. Sebaliknya, hasil perbandingan dapat pula digunakan dalam operasi matematis. Operator logika menyediakan cara untuk mengevaluasi ekspresi logika. Operator tersebut adalah Operator logika Keterangan & AND OR ~ NOT Untuk memastikan urutan operasi maka tiap syarat ditulis dengan menggunakan tanda kurung ( ) .Hal ini terutama apabila syarat tebentuk dari beberapa syarat ya ng

Praktikum Dasar Pemrograman Komputer 41 dievaluasi menggunakan operator logika. Contoh syarat yang tersusun dari beberap a syarat. Syarat = syarat1 & ( syarat2 syarat3 ) = (a = = b) & ((b ~ =c) (b > d )) 4.2.3 Pernyataan If ..else .end Apabila flowchart dinyatakan dengan pernyataan ini, maka : Satu syarat Dua syarat Tiga syarat atau lebih if syarat Pernyataan X; end; if syarat pernyataan X; else pernyataan Y; end; if syarat1 pernyataan X; elseif syarat 2 pernyataan Y; elseif syarat 3 pernyataan R; elseif.... ....... else.... pernyataan Z; end; Pernyataan Z pada kasus ketiga berguna apabila tidak ada syarat pada pernyataan lain.

Praktikum Dasar Pemrograman Komputer 42 4.2.4 Pernyataan switch .case Sering kali pengujian syarat bukan nilai benar ( yang berarti syarat tidak terpenuhi ) atau salah ( yang berarti syarat tidak terpenuhi ). Jika syarat beru pa operasi matematis, maka yang dievaluasi sebagai syarat adalah kesamaan hasil dengan konstanta yang telah didefinisikan sebelumnya. Pada kasus ini, penggunaan pernya taan if else end kurang efektif. Untuk itu telah tersedia pernyataan switch case otherwise sebagai berikut : switch syarat case konstanta 1 pernyataan 1 case konstanta 2 pernyataan 2 ... otherwise pernyataan N end; 4.3 Langkah praktikum

Praktikum Dasar Pemrograman Komputer 43 Buat program program berikut, simpan sebagai m-file,kemudian jalankan. Catat dan amati hasilnya. 4.3.1 Pernyataan if else end Program berikut hanya mempunyai satu pilihan, vektor x akan ditampilkan bila masukan, yaitu variablel jawab = 1 x = round(rand(1,10)*20)-10; jawab = input('apakah x akan ditampilkan [0=tidak,1=ya]?'); if(jawab==1) disp(x); end; Pada beberapa kasus diperlukan masukan berupa jawaban ya atau tidak. MATLAB mampu menerima karakter y atau t, tetapi harus dimasukkan sebagai y atau t ( dalam tanda petik tunggal ). Hal ini kurang efektif, sehingga lebih mudah Jika dipakai 0 untuk tidak dan 1 untuk ya. Program berikut untuk menguji nilai positif atau negatif dari masukan. Program mempunyai dua pilihan. a=input('masukan='); if(abs(a)==a) disp('bilangan positif'); else

Praktikum Dasar Pemrograman Komputer 44 disp('bilangan negatif'); end; Uji untuk bilangan positif dan negatif. Bagaimana dengan bilangan 0, positif atau negatif ? Program berikut untuk menguji nilai tegangan dalam suatu system digital. Program terdiri dari tiga pilihan. bb0 = 0; ba0 = 0.8; %batas bawah dan atas untuk logika 0 bb1 = 4.2;ba1= 5; %batas bawah dan atas untuk logika 1 s=input('tegangan = '); if (s > bb1) & (s =bb0) & (s 0) ir(i) = v(i) / r_beban; else ir(i) = 0; end; end; % grafik plot (t, [v; ir]); legend ('tegangan', 'arus'); Uji program dengan masukan beban , amplitude, frekuensi adalah 10 Ohm, 12 Volt dan 4 Hz. Cobalah untuk variasi nilai masukan yang lain.

Praktikum Dasar Pemrograman Komputer 52 5.3.2 Perulangan pada matriks Pada perulangan di atas, perulangan diterapkan pada vektor. Perulangan dapat diterapkan pada matriks. Operasi perulangan biasanya dilakukan perbaris. Pada ti ap baris, dilakukan operasi perulangan per kolom. Program berikut melakukan operasi perulangan pada matriks. Pada program menampilkan elemen elemen matriks beserta posisinya dalam matriks. % buat matriks p = input('cacah baris = '); q = input('cacah kolom = '); a = 10 * rand (p, q); %tampilan elemen matriks for i = 1 : p for j = 1 : q fprintf ('[%d,%d] = %.3f \n', i, j, a(i, j)); end; end; Buat program untuk melakukan operasi transpose matrik. Lakukan seperti program diatas, bukan menggunakan operator!

Praktikum Dasar Pemrograman Komputer 53 5.3.3 Perulangan bersyarat Program berikut menunjukkan perulangan bersyarat untuk menampilkan bilangan 1 hingga 10. i = 1 % inisialisasi while ( i