Anda di halaman 1dari 76
MODUL PRAKTIKUM PEMROGRAMAN KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM INDONESIA 2005

MODUL PRAKTIKUM

PEMROGRAMAN KOMPUTER

MODUL PRAKTIKUM PEMROGRAMAN KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM INDONESIA 2005

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS ISLAM INDONESIA

2005

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM INDONESIA 2005 Praktikum Dasar Pemrograman Komputer 0

Praktikum Dasar Pemrograman Komputer

0

Unit 1 PENGENALAN MATLAB 1.1 Tujuan Diharapkan setelah praktikum ini mahasiswa sebagai praktikan dapat :

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

setelah perintah operasi diberikan.

Bahasa pemrograman

memberikan hasil seketika

Perintah – perintah operasi dengan urutan dan logika tertentu, serta digunakan

berulang – berulang dapat dibuat sebagai suatu program yang akan dijelaskan pada

unit selanjutnya.

dapat dibuat sebagai suatu program yang akan dijelaskan pada unit selanjutnya. Praktikum Dasar Pemrograman Komputer 1

Praktikum Dasar Pemrograman Komputer

1

Adapun macam – macam operasi yang dapat dilakukan oleh MATLAB adalah :  Skalar 

Adapun macam – macam operasi yang dapat dilakukan oleh MATLAB adalah :

Skalar

Matriks dan vektor

Teks

1.2.1 Desktop Tools MATLAB

: berupa bilangan real atau kompleks.

: dengan elemen bilangan real atau kompleks.

: pengolahan kata.

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.

kali MATLAB dijalankan akan tampil desktop dengan ilustrasi sebagai berikut. Praktikum Dasar Pemrograman Komputer 2
kali MATLAB dijalankan akan tampil desktop dengan ilustrasi sebagai berikut. Praktikum Dasar Pemrograman Komputer 2

Praktikum Dasar Pemrograman Komputer

2

Jendela-jendela yang ada di MATLAB adalah sebagai berikut :  Command window Digunakan untuk menjalankan

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.

debug M-files, yakni program yang dibuat untuk menjalankan fungsi-fungsi MATLAB. Praktikum Dasar Pemrograman Komputer 3

Praktikum Dasar Pemrograman Komputer

3

 Figure Figure adalah jendela untuk menampilkan gambar grafik seperti perintah plot dan sejenisnya. Gambar

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, a b

a x b / atau \ Pembagian, a : b   ^ Pemangkatan, a b Praktikum

Praktikum Dasar Pemrograman Komputer

4

1.2.3 Bilangan kompleks. Bilangan kompleks adalah bilangan yang terdiri dari bagian imaginer dan bagian riil.

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

menyelesaikan permasalahan tertentu.

fungsi

yang

berguna

untuk

Beberapa fungsi matematis yang tersedia antara lain fungsi trigonometri, fungsi

eksponensial dan fungsi pembulatan.

antara lain fungsi trigonometri, fungsi eksponensial dan fungsi pembulatan. Praktikum Dasar Pemrograman Komputer 5

Praktikum Dasar Pemrograman Komputer

5

Fungsi matematika keterangan abs(x) Nilai mutlak atau magnitudo bilangan kompleks acos(x) Invers cosinus

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 : e x

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 :

tersimpan dalam workspace MATLAB. Ada beberapa aturan dalam penamaan variabel : Praktikum Dasar Pemrograman Komputer 6

Praktikum Dasar Pemrograman Komputer

6

- nama variabel harus terdiri atas satu kata tanpa spasi. - nama variabel dibedakan antara

- 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 atau garis bawah (under line).

huruf, diikuti dengan sembarang bilangan,

- 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

digunakan realmax Bilangan real positif terbesar yang dapat digunakan Praktikum Dasar Pemrograman Komputer 7

Praktikum Dasar Pemrograman Komputer

7

1.3 Langkah Percobaan Ikutilah langkah – langkah berikut untuk memulai MATLAB :  Jalankan MATLAB

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

kemudian amati hasilnya untuk dianalisis. 1. Operator komputasi. A = 10 B = 5 A+B Praktikum

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)

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)

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

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

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!

Panjang = 10 lebar = 5 Luas_persegi_panjang = Panjang * lebar SELAMAT MENCOBA! Praktikum Dasar Pemrograman

Praktikum Dasar Pemrograman Komputer

10

Unit 2
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.

nilai dipisahkan dengan koma atau spasi, dan diakhiri dengan kurung tutup siku. Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

11

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

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

dimensi

A

2 3

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 10 first , berakhir di 10 last ,

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.

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

jarum jam reshape(A,m,n) menghasilkan matriks ukuran mxn dengan elemen diambil Praktikum Dasar Pemrograman Komputer 1 3

Praktikum Dasar Pemrograman Komputer

13

  searah kolom dari A. A harus berisi mxn elemen diag(A) mengeluarkan diagonal matriks A
 

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 = [a 1 a 2 … a n ]’ b = [b 1 b 2 … b n ], c = suatu skalar

Penjumlahan skalar

 

a+c = [a 1 +c a 2 +c … a n +c]

 

Perkalian skalar

 

a*c = [a 1 *c a 2 *c … a n *c]

 

Penjumlahan array

 

a+b = [a 1 +b 1 a 2 +b 2 … a n +b n ]

 

Perkalian array

 

a .*b = [a 1 *b 1 a 2 *b 2 … a n *b n ]

 

Pembagian kanan array

a . /b = [a 1 /b 1 a 2 /b 2 … a n /b n ]

Praktikum Dasar Pemrograman Komputer

 

14

Pembagian kiri array a . \b = [a 1 \b 1 a 2 \b 2

Pembagian kiri array

a

. \b = [a 1 \b 1 a 2 \b 2 … a n \b n ]

Pemangkatan array

a

. ^c = [a 1 ^c a 2 ^c … a n ^c]

c

. ^a = [c^a 1 c^a 2

c^a n ]

a

. ^b = [a 1 ^b 1 a 2 ^b 2 … a n ^b n ]

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

diagonal blok real chol(A) faktorisasi Cholesky cond(A) matriks bilangan kondisi Praktikum Dasar Pemrograman Komputer 1 5

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)

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

F-norm null(A) spasi kosong orth(A) Ortogonalisasi Praktikum Dasar Pemrograman Komputer 1 6

Praktikum Dasar Pemrograman Komputer

16

pinv(A) Pseudoinvers poly(A) Variabeln karakteristik polyvalm(A) evaluasi polinomial matriks qr(A)

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

Matriks Spesial [] matriks kosong Company matriks gabungan Eye matirks identitas Praktikum Dasar Pemrograman Komputer 1

Praktikum Dasar Pemrograman Komputer

17

gallery beberapa matriks pengujian yang kecil hadamard matriks Hadamard hankel matriks Hankel hilb

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.

yang digunakan untuk mengetahui ukuran array diringkas dalam tabel berikut. Praktikum Dasar Pemrograman Komputer 1 8

Praktikum Dasar Pemrograman Komputer

18

  Ukuran Array Whos menampilkan variabel yang ada di workspace dan ukurannya s=size(A) menghasilkan
 

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)

pada command window !!! Lalu amati hasilnya! X=(0:0.1:1)*pi X=linspace(0,pi,11) Praktikum Dasar Pemrograman Komputer 1 9

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

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)

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

Praktikum Dasar Pemrograman Komputer

20

2.3.3. Matematika array Cobalah perintah-perintah dibawah ini pada command window !!! Lalu amati hasilnya! a

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)

m_eye = eye(4) m_rand = rand(3,4) m_ones = ones(4,4) m_zeros = zeros(3) Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

21

Diketahui persamaan linier sbagai berikut :  1 4   7   2

Diketahui persamaan linier sbagai berikut :

1

4

7

2

5

8

3

6

0     x

x

x   

 

1

2

3

A x

= b

366

   351  

804

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)

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

Praktikum Dasar Pemrograman Komputer

22

Unit 3
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

sedemikian

sehingga

mempunyai

pernyataan,

fungsi

atau

perintah

logika

tertentu.

Semua

pernyataan,

yang

diatur

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.

editor . Perbedaan antara script dan fungsi disajikan dalam tabel berikut. Praktikum Dasar Pemrograman Komputer 2

Praktikum Dasar Pemrograman Komputer

23

Script   Fungsi Tidak menerima argumen input maupun Menerima argumen input dan menghasilkan

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.

atau Basic. File-m tidak harus diawali atau diakhiri dengan kata kunci tertentu. Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

24

File ini cukup disusun dari pernyataan, fungsi atau perintah seperti halnya pada MATLAB Command Window,

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

double

int8, int16, int32

uint8, uint16,uint32

char

bilangan pecahan presisi tunggal

bilangan pecahan presisi ganda

bilangan bulat 8, 16 atau 32 bit bertanda

bilangan bulat 8, 16 atau 32 bit tak bertanda

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.

memanggil zeros, ones, rand, atau randn dengan argument lebih dari dua. Praktikum Dasar Pemrograman Komputer 2

Praktikum Dasar Pemrograman Komputer

25

Cell array merupakan multidimensional arrays yang elemen-elemennya dikopi dari array yang lain. Cell array kosong

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,

)

dari satu. Maka penulisannya adalah (parameter_masukan1, parameter_masukan2, ) Praktikum Dasar Pemrograman Komputer 2 6

Praktikum Dasar Pemrograman Komputer

26

Pada fungsi dengan beberapa parameter masukan, apabila cacah parameter saat pemanggilan tidak sama dengan cacah

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

fprintf

menampilkan nilai variabel atau string secara sederhana

menampilkan nilai variabel menggunakan string format

Beberapa simbol yang digunakan pada fungsi fprintf antara lain :

string format Beberapa simbol yang digunakan pada fungsi fprintf antara lain : Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

27

  Format tampilan bilangan     Karakter khusus     Simbol Arti Simbol   Arti
 

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 ax10 b

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.

untuk menampilkan hasil sedangkan tanda titik koma mencegah penampilan hasil. Praktikum Dasar Pemrograman Komputer 2 8

Praktikum Dasar Pemrograman Komputer

28

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

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

Debugger.

MATLAB Editor/

tekan enter. Maka akan keluar window baru sebagai Debugger . MATLAB Editor/ Praktikum Dasar Pemrograman Komputer
tekan enter. Maka akan keluar window baru sebagai Debugger . MATLAB Editor/ Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

29

3.3.1. Struktur dan Tipe Data Buat program berikut di MATLAB Editor/Debugger . Jangan akhiri masing

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.

berdasar ukuran byte yang digunakan mulai dari yang terkecil hingga besar. Praktikum Dasar Pemrograman Komputer 3

Praktikum Dasar Pemrograman Komputer

30

Stuktur data Multidimensional arrays dapat dibentuk dengan memanggil zeros, ones, rand, atau randn dengan argument

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 :

sama panjang, dan membentuk karakter array . Pada Editor/ Debugger ketikan : Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

31

teks = char(‘A’,’rolling’,’stone’,’gathers’,’momentum.’) karakter =

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

(r, p); p_rad = p* pi / 180; x = r * cos (p_rad); % x

Praktikum Dasar Pemrograman Komputer

32

Kemudian pada Command Window , perintah berikut : xpolar (5, 60) panggil SumbuX = xpolar

Kemudian pada Command Window,

perintah berikut :

xpolar (5, 60)

panggil

SumbuX = xpolar (5,30)

fungsi tersebut

dengan

mengetikkan

Fungsi berikut mempunyai parameter keluaran lebih dari satu

function [x, y] = xypolar (r, p);

p_rad = p * pi / 180

x = r * cos (p_rad);

y = r * sin (p_rad);

% x adalah parameter keluaran

% 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 saat definisi, apa yang terjadi?

masukan kurang dari cacah parameter

masukan saat definisi, apa yang terjadi? masukan kurang dari cacah parameter Praktikum Dasar Pemrograman Komputer 3

Praktikum Dasar Pemrograman Komputer

33

3.3.3. Masukan dan Keluaran (Input dan Output) Program berikut untuk menguji masukan dan keluaran. Setiap

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);

%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

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) = ');

'); t_int = input (' Masukan interval waktu pengukuran (detik) = '); Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

35

% pembuatan vektor waktu t = (0 : t_int : t_max); % Pembuatan Sinyal frek_x

%

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

hasilnya !

program berikut, lalu jalankan di command

window dan amati

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);

internal functions. n = length(u); avg = mean(u,n); med = median(u,n); Praktikum Dasar Pemrograman Komputer 3

Praktikum Dasar Pemrograman Komputer

36

function a = mean(v,n) % Calculate average. a = sum(v)/n; function m = median(v,n) %

function a = mean(v,n)

% Calculate average.

a = sum(v)/n;

function m = median(v,n)

%

Calculate median.

w

= sort(v);

if rem(n,2) == 1

% Subfunction

% Subfunction

 

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])

di Command Windows dengan perintah berikut : [a,m]= newstats([1 2 3 4 5]) Praktikum Dasar Pemrograman

Praktikum Dasar Pemrograman Komputer

37

Unit 4 PENCABANGAN BERSYARAT 4.1 Tujuan Setelah mengikuti unit praktikum ini, maka praktikan diharapkan :

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

kendali aliran, yaitu percabangan bersyarat dan perulangan. 4.2.1 Aliran Logika Praktikum Dasar Pemrograman Komputer 3 8

Praktikum Dasar Pemrograman Komputer

38

Aliran logika pada flowchart berikut : kendali pencabangan bersyarat digambarkan dengan Tidak Ya Syarat terpenuhi

Aliran

logika

pada

flowchart berikut :

kendali

pencabangan

bersyarat

digambarkan

dengan

Tidak Ya Syarat terpenuhi ? Pernyataan X Pernyataan Y
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 :

dengan menggunakan operator relasi. Berikut ini beberapa operator relasi : Praktikum Dasar Pemrograman Komputer 3 9

Praktikum Dasar Pemrograman Komputer

39

Operator relasi Keterangan < Kurang dari <= Kurang dari atau sama dengan > Lebih dari

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

“( ) “.Hal ini terutama apabila syarat tebentuk dari beberapa syarat yang Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

40

dievaluasi menggunakan operator logika. Contoh syarat yang tersusun dari beberapa syarat. Syarat = syarat1 &

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

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

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)

end;

disp(x);

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

if(abs(a)==a) disp('bilangan positif'); else Praktikum Dasar Pemrograman Komputer 4 3

Praktikum Dasar Pemrograman Komputer

43

disp('bilangan negatif'); end; Uji untuk bilangan positif dan negatif. Bagaimana dengan bilangan 0, positif atau

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

? Buat program untuk mengujinya! 4.3.2 Pernyataan switch … case…otherwise Praktikum Dasar Pemrograman Komputer 4 4

Praktikum Dasar Pemrograman Komputer

44

Program berikut menampilkan sisa bagi. m = input('m='); n = mod(m,5); if(n==0)%konstanta 0 disp('tak

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');

switch n case 0 disp('tak bersisa'); case 1 disp('sisa satu'); Praktikum Dasar Pemrograman Komputer 4 5

Praktikum Dasar Pemrograman Komputer

45

case 2 disp('sisa dua'); case 3 disp('sisa tiga'); case 4 disp('sisa empat'); otherwise

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.

konstanta case dapat berupa bilangan pecahan ? Buat program untuk mengujinya. Praktikum Dasar Pemrograman Komputer 4

Praktikum Dasar Pemrograman Komputer

46

Unit 5 KENDALI PERULANGAN 5.1 Tujuan Setelah mengikuti unit praktikum ini maka praktikan diharapkan dapat

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 :

Berbatas ( for ) Perlangan berbatas menggunakan pernyataan for sebagai berikut : Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

47

for pencacah = awal : perubahan : akhir Pernyataan operasi end; Perulangan akan dilakukan mulai

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

Perulangan bersyarat menggunakan while sebagai berikut : Inisialisasi Praktikum Dasar Pemrograman Komputer 4 8

Praktikum Dasar Pemrograman Komputer

48

While syarat_perulangan Pernyataan operasi; End; Inisialisasi biasanya merupakan penetapan nilai awal dari pencacah. Nilai

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 :

relasi dan logika. Aliran logika prulangan sebagai berikut : In is ia lis a s i

In is ia lis a s i

S y a r a t te r p e n u h i ?
S y a r a t
te r p e n u h i
?
y a
P e r n y a ta a n
o p e r a s i

T id a k

n u h i ? y a P e r n y a ta a n
n u h i ? y a P e r n y a ta a n

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

tersebut pada pernyataan while, nilai pengubahan pencacah harus ditangani sendiri

dalam pernyataan operasi.

nilai pengubahan pencacah harus ditangani sendiri dalam pernyataan operasi. Praktikum Dasar Pemrograman Komputer 4 9

Praktikum Dasar Pemrograman Komputer

49

5.3 Langkah Praktikum Buatlah program – program berikut, simpan sebagai m-file, kemudian jalankan. Catat dan

5.3 Langkah Praktikum

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

dan amati hasilnya.

5.3.1 Perulangan berbatas

Program

perubahan

berikut

menunjukkan

for i=1:10

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

end;

perulangan

naik,

tanpa

menyebutkan

nilai

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.

rangkaian berupa tegangan sinusoidal, akan dilihat besar arus pada beban. Praktikum Dasar Pemrograman Komputer 5 0

Praktikum Dasar Pemrograman Komputer

50

% beban r_beban = input ('beban (ohm) = '); % gelombang sinusoidal amplitude = input

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

adalah 10 Ohm, 12 Volt dan 4 Hz. Cobalah untuk variasi nilai masukan yang lain. Praktikum

Praktikum Dasar Pemrograman Komputer

51

5.3.2 Perulangan pada matriks Pada perulangan di atas, perulangan diterapkan pada vektor. Perulangan dapat diterapkan

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!

transpose matrik. Lakukan seperti program diatas, bukan menggunakan operator! Praktikum Dasar Pemrograman Komputer 5 2

Praktikum Dasar Pemrograman Komputer

52

5.3.3 Perulangan bersyarat Program berikut bilangan 1 hingga 10. menunjukkan perulangan bersyarat i = 1

5.3.3 Perulangan bersyarat

Program

berikut

bilangan 1 hingga 10.

menunjukkan

perulangan

bersyarat

i

= 1

while ( i <= 10)

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

i = i+1;

end;

% inisialisasi

% syarat perulangan

%pertambahan positif

untuk

menampilkan

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;

end;

% pertambahan positif

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

pertambahan positif fprintf('total = %.3f dengan n = %d \n', jumlah, n); Praktikum Dasar Pemrograman Komputer

Praktikum Dasar Pemrograman Komputer

53

Rangkaian komparator zero – crossing membandingkan tegangan masukan Vin terhadap tegangan 0 volt. Pada rangkaian

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;

elseif (vin(n) < 0) vout (n) = vr; else vout (n) = 0; end; n =

Praktikum Dasar Pemrograman Komputer

54

end; plot ( t, [vin; vout]); legend (‘vin’, ‘vout’); Uji dengan masukan tegangan referensi keluaran

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.

bentuk tegangan keluaran? Coba untuk nilai – nilai masukan yang lain. Praktikum Dasar Pemrograman Komputer 5

Praktikum Dasar Pemrograman Komputer

55

Unit 6 TAMPILAN GRAFIK 6.1 Tujuan   Setelah mengikuti unit praktikum ini, maka praktikan diharapkan

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