Вы находитесь на странице: 1из 76

MODUL PRAKTIKUM

PEMROGRAMAN KOMPUTER

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS ISLAM INDONESIA

2005

Praktikum Dasar Pemrograman Komputer 0


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 1


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 MATLAB.

Pertama kali MATLAB dijalankan akan tampil desktop dengan ilustrasi sebagai berikut.

Praktikum Dasar Pemrograman Komputer 2


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 3


 Figure

Figure adalah jendela untuk menampilkan gambar grafik seperti perintah plot

dan sejenisnya. Gambar pada jendela figure ini dapat disimpan ke dalam sebuah file

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 4


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 koordinat

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-fungsi

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 5


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 6


- 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 arti

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 7


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 jendela-

jendela 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 8


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 9


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 10


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 subscript

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 tutup

siku.

Praktikum Dasar Pemrograman Komputer 11


Misalnya perintah : A = [2, 3 ; 4 5] , merupakan perintah untuk membuat array dua

 2 3
dimensi A   .
 4 5

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 12


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 13


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 array

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 14


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 sebuah

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 diselesaikan

dengan menggunakan persamaan matriks.

Fungsi-fungsi matriks yang disediakan oleh MATLAB ditunjukkan dalam tabel berikut.

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 15


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 16


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 17


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 18


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, akhiri

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 19


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 20


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 21


Diketahui persamaan linier sbagai berikut :

1 2 3  x1  366
 4 5 6   x   804
   2  
7 8 0  x3   351

Ax =b

untuk mencari solusi dari persamaan tersebut dapat digunakan fungsi-fungsi matriks

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 22


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 disajikan

dalam tabel berikut.

Praktikum Dasar Pemrograman Komputer 23


Script Fungsi

Tidak menerima argumen input maupun Menerima argumen input dan

menghasilkan argumen output menghasilkan argumen output

Beroperasi dengan data di workspace Variabel internal bersifat lokal untuk

fungsi itu sendiri

Berguna untuk mengotomatisasi barisan Berguna untuk memperluas bahasa

perintah yang perlu dijalankan beberapa matlab pada aplikasi anda

kali

Pembuatan program pada MATLAB dilakukan di editor tersendiri yaitu MATLAB

Editor / Debugger. Di editor inilah suatu program di tulis kemudian di simpan sebagai

file-m.

3.2.1 File-m

Program MATLAB dikenal dengan sebutan file-m, karena file ini berekstension m. File-

m 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 tertentu.

Praktikum Dasar Pemrograman Komputer 24


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 kepadanya.

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 subscript.

Dapat dibentuk dengan memanggil zeros, ones, rand, atau randn dengan argument lebih

dari dua.

Praktikum Dasar Pemrograman Komputer 25


Cell array merupakan multidimensional arrays yang elemen-elemennya dikopi dari

array yang lain. Cell array kosong dapat dibentuk dengan fungsi cell. Tetapi biasanya

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 sebesar

2 byte. String merupakan array numerik dengan atribut khusus, oleh karena itu string

dapat dimanipulasi dengan menggunakan semua metode manipulasi array yang tersedia

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 26


Pada fungsi dengan beberapa parameter masukan, apabila cacah parameter saat

pemanggilan tidak sama dengan cacah parameter saat definisi, maka biasanya fungsi

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 dapat

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 27


Format tampilan bilangan Karakter khusus

Simbol Arti Simbol Arti

%d Bilangan bulat /n Pindah ke baris baru

%f Bilangan pecahan /t Geser sebanyak 1 tab

%o Bilangan oktal

%x, %X Bilangan hexsadesimal

%e, %E Bilangan sebagai ax10b

Pada tampilan bilangan pecahan %f, %e dan %E, presisi dapat diatur dengan

menyisipkan format presisi bilangan. Format presisi adalah .p, dengan p berupa nilai

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 tanda

koma atau titik koma. Tanda koma memberitahu MATLAB untuk menampilkan hasil

sedangkan tanda titik koma mencegah penampilan hasil.

Praktikum Dasar Pemrograman Komputer 28


Suatu perintah MATLAB yang akan ditulis terpisah tidak dalam baris yang sama harus

ditandai dengan tiga titik berurutan. Posisi tanda tiga titik tersebut harus berada 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 dan

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 29


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 30


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 31


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 32


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 33


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 34


Simpan dan jalankan program tersebut. Apa yang muncul di layar?, Jalankan program

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 35


% 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 36


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 37


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 kompleks,

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 38


Aliran logika pada kendali pencabangan bersyarat digambarkan dengan

flowchart berikut :

Tidak
Ya Syarat
terpenuhi ?

Pernyataan X Pernyataan Y

Pelaksanaan eksekusi pada pernyataan X atau Y tergantung pada hasil pengujian syarat.

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. Berikut

ini beberapa operator relasi :

Praktikum Dasar Pemrograman Komputer 39


Operator relasi Keterangan

< Kurang dari

<= Kurang dari atau sama dengan

> 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 yang

Praktikum Dasar Pemrograman Komputer 40


dievaluasi menggunakan operator logika. Contoh syarat yang tersusun dari beberapa

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 if syarat if syarat1

Pernyataan X; pernyataan X; pernyataan X;

end; else elseif syarat 2

pernyataan Y; pernyataan Y;

end; 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 41


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 berupa operasi

matematis, maka yang dievaluasi sebagai syarat adalah kesamaan hasil dengan

konstanta yang telah didefinisikan sebelumnya. Pada kasus ini, penggunaan pernyataan

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 42


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 43


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 <= ba1)

disp('logika 1');

elseif (s>=bb0) & (s<ba0)

disp('logika 0');

else

disp('tak terdefinisi');

fprintf('tegangan harus antara %.1f - %.1f',bb0,ba0);

fprintf('atau %.1f - %.1f\n',bb1,ba1);

end;

Uji untuk beberapa bilangan.

Apakah if dengan else if dapat diterapkan tanpa menggunakan else? Buat program untuk

mengujinya!

4.3.2 Pernyataan switch … case…otherwise

Praktikum Dasar Pemrograman Komputer 44


Program berikut menampilkan sisa bagi.

m = input('m=');

n = mod(m,5);

if(n==0)%konstanta 0

disp('tak bersisa');

elseif (n==1)%konstanta 1

disp('sisa satu');

elseif (n==2)%konstanta 2

disp('sisa dua');

elseif (n==3)%konstanta 3

disp('sisa tiga');

elseif (n==4)%konstanta 4

disp('sisa empat');

else

fprintf('m bilangan pecahan,sisa %f\n',n);

end;

Bandingkan program diatas dengan program berikut. Manakah yang dirasa lebih

efektif, dari sisi pembacaan dan penulisan program.

m=input('m=');

n=mod(m,5);

switch n

case 0

disp('tak bersisa');

case 1

disp('sisa satu');

Praktikum Dasar Pemrograman Komputer 45


case 2

disp('sisa dua');

case 3

disp('sisa tiga');

case 4

disp('sisa empat');

otherwise

fprintf('m bilangan pecahan,sisa %f\n',n);

end;

Apakah konstanta case dapat berupa bilangan pecahan ? Buat program untuk

mengujinya.

Praktikum Dasar Pemrograman Komputer 46


Unit 5

KENDALI PERULANGAN

5.1 Tujuan

Setelah mengikuti unit praktikum ini maka praktikan diharapkan dapat :

1. Mengetahui kegunaan perulangan sebagai kendali aliran program.

2. Mampu membuat program dengan perulangan.

5.2 Dasar Teori

Perulangan atau iterasi adalah bentuk kendali aliran untuk melakukan pekerjaan

berulang kali menggunakan suatu nilai yang berfungsi sebagai pencacah atau counter.

Nilai pencacah dinaikkan atau diturunkan setiap kali satu pekerjaan dilakukan. Pada

operasi yang melibatkan vektor atau matriks, pencacah biasanya juga berfungsi sebagai

indeks, yang menunjukkan posisi elemen vektor atau matriks yang dioperasikan.

Terdapat dua macam perulangan yaitu perulangan berbatas (for) dan perulangan

bersyarat (while).

5.2.1 Perulangan Berbatas ( for )

Perlangan berbatas menggunakan pernyataan for sebagai berikut :

Praktikum Dasar Pemrograman Komputer 47


for pencacah = awal : perubahan : akhir

Pernyataan operasi

end;

Perulangan akan dilakukan mulai dari pencacah sama dengan nilai awal. Setelah

satu operasi selesai dilakukan, nilai pencacah diubah sebesar nilai perubahan. Jika nilai

pencacah hasil pengubahan telah melebihi nilai akhir, maka perulangan dihentikan.

Nilai perubahan dapat positif (naik) aau negatif (turun). Pada perubahan positif,

akhir harus lebih besar dari awal, sedangkan pada perubahan negatif, nilai akhir harus

lebih kecil dari nilai awal. Nilai perubahan bisa tidak dinyatakan, yang berarti

perulangan adalah perulangan positif dengan kenaikan 1, sehingga pernyataan menjadi :

for pencacah = awal : akhir

pernyataan operasi;

end;

5.2.2 Perulangan Bersyarat ( while )

Kadangkala, syarat nilai akhir perulangan tidak bisa ditentukan dengan pasti.

Untuk itu, digunakan perulangan bersyarat. Jika nilai pencacah memenuhi syarat

perulangan, maka perulangan dilanjutkan. Jika nilai pencacah tidak memenuhi syarat

perulangan, maka perulangan dihentikan.

Perulangan bersyarat menggunakan while sebagai berikut :

Inisialisasi

Praktikum Dasar Pemrograman Komputer 48


While syarat_perulangan

Pernyataan operasi;

End;

Inisialisasi biasanya merupakan penetapan nilai awal dari pencacah. Nilai

tersebut akan diuji pada syarat perulangan. Syarat perulangan sama sebagaimana pada

pencabangan bersyarat ( unit 4 ). Padanya berlaku pula operator relasi dan logika.

Aliran logika prulangan sebagai berikut :

In is ia lis a s i

T id a k
S y a ra t te rp e n u h i ?

ya

P e rn y a ta a n o p e ra s i

Pada pernyataan for nilai pencacah diubah secara otomatis. Berbeda dari hal

tersebut pada pernyataan while, nilai pengubahan pencacah harus ditangani sendiri

dalam pernyataan operasi.

Praktikum Dasar Pemrograman Komputer 49


5.3 Langkah Praktikum

Buatlah program – program berikut, simpan sebagai m-file, kemudian jalankan. Catat

dan amati hasilnya.

5.3.1 Perulangan berbatas

Program berikut menunjukkan perulangan naik, tanpa menyebutkan nilai

perubahan

for i=1:10

fprintf('%d\n',i);

end;

Program berikut menunjukkan perulangan turun dengan penurunan sebesar 2.

for i = 20 : -2 : 0

fprintf ('%d \n', i);

end;

Apa yang terjadi jika nilai akhir lebih besar dari nilai awal, tetapi perubahan

negatif ( perulangan turun )?

Program berikut menampilkan perilaku rangkaian penyearah setengah gelombang

dengan beban R. Rangkaian akan meneruskan masukan jika masukan lebih besar dari 0

Volt. Masukan rangkaian berupa tegangan sinusoidal, akan dilihat besar arus pada

beban.

Praktikum Dasar Pemrograman Komputer 50


% beban

r_beban = input ('beban (ohm) = ');

% gelombang sinusoidal

amplitude = input ('amplitude(volt) = ');

frek = input ( 'frekuansi (hz) = ');

frek_radian = 2 * pi * frek;

t = (0 : 0.01 : 1);

v = amplitude * cos(frek_radian * t);

%rangkaian penyearah setengah gelombang

for i = 1 : length (v)

if (v(i) > 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 51


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 tiap

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 52


5.3.3 Perulangan bersyarat

Program berikut menunjukkan perulangan bersyarat untuk menampilkan

bilangan 1 hingga 10.

i = 1 % inisialisasi

while ( i <= 10) % syarat perulangan

fprintf ('%d \n', i);

i = i+1; %pertambahan positif

end;

Pada program di atas, syarat terhadap pencacah berlaku sebagaimana batas akhir

pada pernyataan for.

Program berikut menjumlahkan akar kuadrat dari bilangan genap, hingga

diperoleh jumlah total tertentu. Padanya, syarat perulangan tidak berkenaan dengan nilai

pencacah, tapi berkenaan dengan hasil operasi .

n=0; % inisialisasi

jumlah = 0;

while ( jumlah <= 100) % syarat perulangan

jumlah=jumlah + sqrt(n);

n = n+2; % pertambahan positif

end;

fprintf('total = %.3f dengan n = %d \n', jumlah, n);

Praktikum Dasar Pemrograman Komputer 53


Rangkaian komparator zero – crossing membandingkan tegangan masukan Vin

terhadap tegangan 0 volt. Pada rangkaian terdapat tegangan referensi keluaran Vr.

Apabila Vin lebih kecil dari pada 0 volt, maka keluaran rangkaian adalah –Vr. Apabila

Vin lebih besar dari pada 0 volt, maka keluaran rangkaian +Vr. Jika Vin = 0V, maka

keluaran adalah 0V.

Program berikut hendak meniru watak rangkaian komparator tersebut, dengan masukan

berupa tegangan sinusoidal.

% tegangsn referensi keluaran

vr = input ('referensi keluaran (volt) = ');

% gelombang sinusoidal

frek = input ('frekuensi (hz) = ');

frek_radian = 2 * pi * frek;

t = (0 : 0.01 : 1);

vin = cos(frek_radian * t);

% watak komparator zero-crossing

n = 1;

while (n <= length (vin))

if (vin(n) < 0)

vout (n) = -1 * vr;

elseif (vin(n) < 0)

vout (n) = vr;

else

vout (n) = 0;

end;

n = n + 1;

Praktikum Dasar Pemrograman Komputer 54


end;

plot ( t, [vin; vout]);

legend (‘vin’, ‘vout’);

Uji dengan masukan tegangan referensi keluaran bernilai 5 volt dan frekuensi 4

Hz. Bagaimana bentuk tegangan keluaran? Coba untuk nilai – nilai masukan yang lain.

Praktikum Dasar Pemrograman Komputer 55


Unit 6

TAMPILAN GRAFIK

6.1 Tujuan

Setelah mengikuti unit praktikum ini, maka praktikan diharapkan :

1. mampu menampilkan data dalam bentuk grafik,

2. mengetahui berbagai macam cara menampilkan grafik

6.2 Teori

Suatu runtun data yang banyak, sulit untuk diperiksa hanya dengan mengamati

angka – angka yang ditampilkan. Penampilan data dalam bentuk grafik dapat

memudahkan analisis.

Pada MATLAB grafik dibedakan menjadi dua macam , yaitu :

 Grafik kontinyu, baik linier ataupun logaritmis,

 Grafik diskrit.

6.2.1 Grafik Kontinyu Linier

Untuk menggambar grafik dua dimensi dapat menggunakan perintah plot.

Terdapat tiga bentuk penulisan fungsi ini, yaitu :

Praktikum Dasar Pemrograman Komputer 56


 plot(x,y), menampilkan vektor y (sumbu vertikal) terhAdap vektor x (sumbu

horizontal).

 plot(y) menampilkan vektor y terhAdap indeksnya.

 plot(x,y,s), menampilkan vektor y terhadap vektor x, dengan format menurut

string s.

String s menyatakan warna, bentuk penanda dan bentuk garis antarnilai. Berikut adalah

beberapa nilai yang dapat digunakan pada string s .

Simbol Warna Simbol Penandaan Simbol Style garis

b Biru . Titik - Garis lurus

g Hijau o Lingkaran : Garis titik-titik

r Merah x Tanda silang -. Garis terpotong dan titik

c Cyan + Tanda plus -- Garis terpotong-potong

m Magenta * Bintang

y Kuning s Bujursangkar

k Hitam d Diamond

w Putih ^ Segitiga ke atas

v Segitiga ke bawah

< Segitiga ke kiri

> Segitiga ke kanan

p Pentagram

h Heksagram

Praktikum Dasar Pemrograman Komputer 57


Jika anda tidak memilih warna dan anda menggunakan skema standar,

MATLAB akan memulainya dengan warna biru dan berputar berurutan ke tujuh warna

pertama dalam tabel untuk setiap penambahan garis. Standar style garis adalah garis

lurus kecuali jika anda memberikan style garis yang lain.

6.2.2 Menggambar Grid, Kotak Keterangan, Label dan Legenda

Beberapa fungsi untuk memberikan keterangan pada grafik, yaitu :

Fungsi Keterangan

box off Menghilangkan kotak pada grafik

box on Menampilkan kotak pada grafik

box Men-toggle kotak pada grafik

xlabel(string) Menambahkan teks di samping sumbu

x pada grafik yang aktif

ylabel(string) Menambahkan teks di samping sumbu

y pada grafik yang aktif

title(string) Menambahkan teks pada bagian atas

grafik yang aktif

grid on Menambahkan grid pada grafik

grid off Menghilangkan grid pada grafik

grid Men-toggle kotak pada grafik

text(x,y,string) Menambahkan teks pada lokasi (x,y) di

grafik yang aktif

Praktikum Dasar Pemrograman Komputer 58


gtext(string) Menempatkan teks dengan mouse

legend(string,string,…) Menambahkan keterangan pada grafik

dengan string-string sebagai label

legend off Menghilangkan keterangan dari grafik

yang aktif

Legend(...,pos) Memberikan keterangan dan

meletakannya pada posisi tetentu

sesuai pos :

0 : diletakan pada posisi terbaik

1 : kanan atas (default)

2 : kiri atas

3 : kiri bawah

4 : kanan bawah

1 : kanan atas di luar grafik

6.2.3 Figure dan Subplot

Figure adalah jendela untuk menampilkan gambar grafik yang anda buat seperti

perintah plot dan sejenisnya. Gambar pada jendela figure ini dapat disimpan ke dalam

sebuah file yang sewaktu-waktu dapat dipanggil kembali.

Suatu figure dapat terdiri lebih dari satu grafik. Penempatan grafik dinyatakan

dengan subplot(m, n, nomor) diikuti fungsi penggambaran grafik, dengan

 m cacah grafik dalam satu baris

Praktikum Dasar Pemrograman Komputer 59


 n cacah grafik dalam satu kolom

 nomor nomor grafik, mulai dari baris pertama kolom pertama.

Misal, dalam figure terdapat 6 grafik, yang tersusun sebagai 2 baris dan 3 kolom.

sublot (2, 3, 1) sublot (2, 3, 2) sublot (2, 3, 3)

sublot (2, 3, 4) sublot (2, 3, 5) sublot (2, 3, 6)

6.3 Langkah Praktikum

Ketikan pernyataan – pernyataan dibawah ini pada command window. Pada masing –

masing pernyataan akhiri dengan menekan tombol enter. Catat dan amati hasilnya.

6.3.1 Grafik Kontinyu Linier

Berikut adalah penampilan sinyal acak y bernilai antara 0 hingga 10. Diasumsikan

bahwa sinyal mulai dari t = 0 detik hingga t = 1 detik, dengan 20 cuplikan pengukuran.

t = linspace (0, 1, 20);

y = 10 * rand(1, 20);

plot (t, y)

Berikut akan ditampilkan sinyal tegangan sinusoidal y dengan amplitudo 5 volt

dan frekuensi 10 Hz. Frekuensi radian dari sinyal adalah  = 210 = 20 rad/ detik.

Praktikum Dasar Pemrograman Komputer 60


Sinyal akan diukur selama 1 detik. Frekuensi pengukuran minimal adalah 2 x 10 Hz =

20 Hz. Berarti periode pengukuran minimal adalah 1/ 20 = 0.05 detik.

amplitudo = 5;

frek_radian = 2 * pi * 10;

y = amplitudo * cos( frek_radian * t);

plot (t, y)

Kemudian ketikan perintah fungsi berikut dan amati grafik. Apa saja perubahan –

perubahan yang terjadi pada grafik ?

plot (t, y, ’ro-’)

plot (t, y, ‘b^-‘)

plot (t, y, ‘b:’)

Lakukan fungsi berikut dan amati sumbu x (horizontal).

plot (t, y)

plot (y)

6.3.2 Menggambar Grid, Kotak Keterangan, Label dan Legenda

Ketikan program berikut, amati perubahan yang terjadi pada grafik.

x = linspace(0,2*pi,30);

z = cos(x)

Praktikum Dasar Pemrograman Komputer 61


y = sin(x);

plot(x,y,x,z)

box off

xlabel(‘Variabel bebas x’)

ylabel(‘Variabel tak bebas y dan z’)

title(‘Kurva sinus dan cosinus’)

grid on, box on

text(2.5,0.7,’Sin(x)’)

gtext(‘Cos(x)’)

legend(‘Sin(x)’,’Cos(x)’)

legend off

6.3.3 Figure dan Subplot

Berikut menampilkan tiga grafik yang berbeda dalam satu figure.

t_deg = (0 : 10 : 360);

t_rad = t_deg * pi / 180;

subplot (3, 1, 1); plot (t_deg, sin (t_rad));

subplot (3, 1, 2); plot (t_deg, cos (t_rad));

subplot (3, 1, 3); plot (t_deg, cos (t_rad).* sin (t_rad));

Pemberian keterangan diberikan per subplot.

subplot (3, 1, 1); title (‘sin’);

Praktikum Dasar Pemrograman Komputer 62


subplot (3, 1, 2); title (‘cos’);

subplot (3, 1, 3); title (‘cos * sin’);

Praktikum Dasar Pemrograman Komputer 63


UNIT 7

GRAPHICAL USER INTERFACE (GUI)

7.1 Tujuan

Setelah mengikuti unit praktikum ini, maka praktikan diharapkan :

1. mengenal pemrograman grafis di dalam MATLAB

2. dapat membuat program sederhana dengan GUI

7.2 Dasar Teori

MATLAB menyediakan tool untuk pembuatan GUI (Graphical User Interface).

Fasilitas ini dinamakan GUIDE (GUI Development Environment). Untuk pembuatan

GUI, ketikkan perintah guide di command window. Kemudian keluar tampilan berikut :

Praktikum Dasar Pemrograman Komputer 64


GUIDE Toolset :

 Layout Editor : tempat untuk menambah dan menyusun objek di jendela GUI

 Alignment Tools : untuk mengatur posisi masing-masing objek

 Property Inspector : memeriksa dan mengeset nilai-nilai (sifat) objek

 Object Browser : memantau hirarki objek-objek yang telah ada do layout

 Menu Editor : membuat menu dan submenu dari GUI

Dalam membuat GUI, proses yang dilakukan adalah :

 perancangan tampilan GUI : akan lebih baik jika tampilan GUI digambar

terlebih dahulu dalam kertas

 penempatan dan pengaturan objek seperti pushbutton, axis dll

Praktikum Dasar Pemrograman Komputer 65


 pemrograman GUI : membuat program bagi objek-objek GUI di M-File

Ketika kita membuat layout GUI kemudian menyimpannya, maka MATLAB akan

membuat M-File secara otomatis yang nantinya akan digunakan untuk pemrograman.

Nama M-File harus sama dengan nama figure dari GUI tersebut.

7.3 Langkah Praktikum

7.3.1 Perancangan GUI

Untuk memudahkan pemahaman, buatlah GUI sederhana berikut. Pembuatan GUI

ini di bagi dalam 3 tahap yakni :

1. Perancangan GUI

2. Penempatan dan pengaturan objek

3. Pemrograman GUI

Perancangan GUI

Praktikum Dasar Pemrograman Komputer 66


GUI terdiri atas :

 1 axes untuk menampilkan grafik 3 dimensi dari fungsi mesh, contour, dan

surface

 3 pushbutton untuk memilih fungsi yang akan dieksekusi

 1 popupmenu yang digunakan untuk memilih data yang akan diplot di axes,

yakni ‘peaks’, ‘membrane’ dan ‘sinc’.

 1 static text untuk menampilkan tulisan “Select Data”

7.3.2 Penempatan dan Pengaturan Objek

Pada tahap ini akan dilakukan penempatan dan pengaturan komponen GUI berupa

pushbutton, popupmenu, axes, dan static text. Pertama-tama bukalah layout editor

dengan mengetik guide di command window. Kemudian lakukan langkah-langkah

berikut :

1. Pengaturan ukuran GUI

Klik pada bagian kanan bawah layout area kemudian atur ukurannya sesuai

kehendak kita. Jika ingin membuat ukuran GUI pada nilai pasti, lakukan pengesetan

Position property pada property inspector. Ubah satuan pada Unit property menjadi

inches untuk mengatur ukuran GUI, kemudian kita masukan nilai lebar dan tinggi

tampilan GUI pada Position property. Setelah ukuran yang kita inginkan terbentuk

kemudian kembalikan Unit property menjadi characters.

Praktikum Dasar Pemrograman Komputer 67


2. Menambahkan komponen (pushbutton, popupmenu, axes, dan static text)

Klik komponen yang diperlukan dari komponen palette, kemudian drag dan

taruh pada layout area. Komponen yang ditambahkan adalah 3 buah pushbutton,

sebuah pupupmenu, sebuah static text, dan sebuah axes. Susun komponen-

komponen tersebut seperti gambar berikut :

Praktikum Dasar Pemrograman Komputer 68


3. Setting property dari tiap-tiap komponen

Untuk mengeset property dari tiap komponen, pilih Property Inspector dari

menu View.

Popupmenu

Praktikum Dasar Pemrograman Komputer 69


Pushbutton dan static text

Tuliskan teks (surf, mesh, membrane, select data) pada string property dari

komponen yang bersesuaian. Surf pada string property pushbutton1, mesh pada

string property pushbutton2, membrane pada string property pushbutton3, dan

select data pada string property static text

Tag dan callback property

Ketika kita menaruh komponen ke layout, maka callback property berada

pada setting automatic. Tag property berguna untuk mendiskripsikan nama

fungsi yang akan dipanggil.

Praktikum Dasar Pemrograman Komputer 70


Gambar di atas menunjukkan tag popupmenu diberi nama data_popup,

sehingga diperoleh data_popup_callback pada callback property. Lakukan

hal yang sama untuk pushbutton, sehingga diperoleh tag surf_pushbutton,

mesh_pushbutton, dan contour_pushbutton.

4. Mengaktifkan GUI

Mengaktifkan GUI dengan memilih Activate Figure dari menu Tools. Bila GUI

belum disimpan, maka saat mengaktifkan GUI sekaligus dilakukan penyimpanan.

Misal simpan dengan nama guiku. Saat penyimpanan file, MATLAB

menghasilkan dua file, yaitu file *.fig (file gambar) serta file *.m (untuk

pemrograman GUI). Aktivasi GUI akan menghasilkan gambar sebagai berikut :

Praktikum Dasar Pemrograman Komputer 71


7.3.3 Pemrograman GUI

Saat penyimpanan file, MATLAB menghasilkan dua file, yaitu file *.fig (file

gambar) serta file *.m (untuk pemrograman GUI). Pemrograman dilakukan untuk

komponen pushbutton dan popupmenu.

Popupmenu callback

Popupmenu digunakan untuk memilih data yang akan digambarkan. Callback ini

membaca value property dari popupmenu. Value sendiri menunjukkan data apa yang

dipilih oleh user melalui popupmenu untuk ditampilkan.

function data_popup_Callback(hObject,eventdata,handles)

val = get(hObject,'Value');

switch val

Praktikum Dasar Pemrograman Komputer 72


case 1 % User selected peaks

handles.data = peaks(35);

case 2 % User selected membrane

handles.data = membrane;

case 3 % User selected sinc

[x,y] = meshgrid(-8:.5:8);

r = sqrt(x.^2+y.^2) + eps;

z = sin(r)./r;

handles.data = z;

end

guidata(hObject,handles)%Save the handles structure after adding

data

Pushbutton Callback

Surf push button callback :

Function

surf_pushbutton_Callback(hObject,eventdata,handles)

z = handles.data; % Load data from handles structure

axes(handles.axes1)

surf(z);

 Mesh push button callback:

function

mesh_pushbutton_Callback(hObject,eventdata,handles)

Praktikum Dasar Pemrograman Komputer 73


z = handles.data; % Load data from handles structure

axes(handles.axes1)

mesh(z)

 Contour push button callback:

function

contour_pushbutton_Callback(hObject,eventdata,handles)

z = handles.data; % Load data from handles structure

axes(handles.axes1)

contour(z)

Setelah selesai pemrograman kita lakukan pengujian GUI dengan cara mengaktifkan

GUI. Bila data yang kita pilih membrane dan tombol yang kita tekan contour akan

dihasilkan tampilan sebagai berikut :

Praktikum Dasar Pemrograman Komputer 74


PERHATIAN !!

DILARANG KERAS MENGCOPY


DAN MENYEBARKAN MODUL INI

TANPA SEIZIN LABORATORIUM


PEMROGRAMAN KOMPUTER
JURUSAN TEKNIK ELEKTRO.

Praktikum Dasar Pemrograman Komputer 75

Вам также может понравиться