You are on page 1of 48

Pemrograman Komputer dengan Matlab

1




1.1 Konsep Pemrograman
Sebuah komputer tidak dapat mengerjakan apapun tanpa adanya perintah dari
manusia. Perintah perintah yang terstruktur dan sistematis untuk membuat agar
komputer dapat bekerja sesuai dengan apa yang diinginkan disebut program. Komputer
dapat diprogram untuk berbagai hal misalnya untuk melakukan perhitungan matematika,
memainkan lagu, mengurutkan data, memainkan games, menggambar dan lain-lain.
Program-program semacam itu dibuat oleh manusia, syarat utama dalam membuat
program komputer adalah perintah-perintah yang diberikan dalam program tersebut harus
dimengerti oleh komputer. Agar komputer dapat berkomunikasi dengan manusia sebagai
pembuat program maka diperlukan bahasa yang dapat dimengerti oleh komputer.
Komputer hanya dapat mengerti sebuah bahasa yang disebut bahasa mesin.
Bahasa yang sangat berbeda dengan bahasa manusia dan terlebih lagi akan amat
menyulitkan untuk membuat sebuah program dalam bahasa mesin ini. Manusia
menginginkan sebuah bahasa komputer yang sederhana yang dapat dimengerti dan mudah
dipelajari oleh manusia sekaligus dapat dimengerti oleh komputer. Bahasa komputer
tersebut disebut bahasa pemrograman (programming language). Yang perlu diingat,
konsep bahasa pemrograman adalah mengubah atau menerjemahkan perintah-perintah
(program) yang diberikan oleh manusia ke dalam bahasa mesin yang dapat dimengerti
oleh komputer. Jadi bahasa pemrograman merupakan sarana interaksi antara manusia dan
komputer. Penerjemah bahasa pemrograman dibedakan menjadi 3 macam yaitu :
1.Asembler adalah program yang digunakan utnuk menerjemahkan kode sumber (source
code) dalam bahasa rakitan (assembly) ke dalam bahasa mesin
2.Kompiler adalah program penerjemah yang mengonversi kode sumber selain dalam
bahasa rakitan menjadi kode objek (object code). Hasil berupa kode objek inilah yang
bisa dijalankan oleh komputer. Proses untuk melakukan penerjemahan ini disebut
kompilasi. Bahasa yang menggunakan proses kompilasi adalah : bahasa COBOL,
Pascal, C, C++, BASIC, Java, MatLab, dan lain-lain.
3.Intepreter adalah program yang menerjemahkan satu persatu instruksi dalam kode
sumber dan kemudian segera menjalankan instruksi yang telah diterjemahkan tersebut.
Bahasa seperti BASIC pada awalnya menggunakan konsep intepreter ini.
Pendahuluan
Bab
I
Pemrograman Komputer dengan Matlab


2
Bahasa pemrograman digunakan untuk mempermudah manusia dalam berinteraksi
dengan komputer. Syarat utama untuk membuat program komputer adalah dengan
menggunakannya sesuai dengan kaidah-kaidah yang berlaku dalam bahasa pemrograman
tersebut. Masing masing bahasa pemrograman mempunyai ciri khas atau kaidah
tersendiri. Oleh karena itu sebelum membuat sebuah program maka kita harus mengerti
tentang aturan penulisan (sintax) dalam bahasa pemrograman tersebut.
1.2 Bahasa Pemrograman MATLAB
MATLAB adalah bahasa pemrograman yang dirancang untuk perhitungan
matematika dan teknik. MATLAB adalah singkatan dari Matrix Laboratory, hal ini
disebabkan Matlab memiliki kemampuan yang sangat kuat untuk menyelesaikan masalah
perhitungan dalam bentuk matrik. Disamping kemampuan dalam perhitungan numerik
maka Matlab juga memiliki kemampuan untuk menampilkan grafik yang sangat bagus.
Matlab juga menyediakan fungsi atau sub-rutin (built-in function) matematika maupun
grafik untuk mempercepat penyelesaian masalah. Pemrograman dalam Matlab dapat
dilakukan dengan 2 cara yaitu : pemrograman dengan command window dan
pemrograman dengan script M-File
1.3 Pemograman dengan Command Window
Dalam command window maka baris perintah atau program diketikkan langsung
dalam editor command window. Adapun tampilan command window adalah seperti
gambar 1.1 .



Gambar 1. 1 Tampilan Command Window
Editor
Command Window
Pemrograman Komputer dengan Matlab


3
Dalam pemrograman command window maka baris perintah diketikkan dalam editor
command window setelah lambang >> , dan diikuti menekan enter.
>> instruksi
Contoh 1 :
>> data = 5 [enter]

Hasilnya adalah :

data =
5
Contoh 2 :
>> a=10
a =
10
>> b=20
b =
20
>> c=a+b
c =
30
Contoh 3 :
>> cos(60)
ans =
-0.9524
Contoh 4 :
>> 2^3
ans =
8
Contoh 5 :
>>x=0:pi/100:2*pi;
>> y=cos(x);
>> plot(x,y)





1.4 Pemograman dengan script M-File
Gambar 1. 2 Tampilan grafik dari program contoh 5
Pemrograman Komputer dengan Matlab


4
Dalam pemrograman dengan script M-File ini maka baris perintah atau program
diketikkan dalam editor M-File. Setelah itu program akan disimpan dengan eksetensi .m
Untuk menampilkan editor tersebut adalah dari menu utama Matlab. Pada menu utama
Matlab pilih menu File-new-M-File maka akan tampil editor seperti diperlihatkan dalam
gambar 1.3.



Sebagai contoh cobalah ketikkan program atau script di bawah ini.
Contoh 1 :
disp('Hello Matlab');
disp('Welcome!');

simpan file tersebut dengan nama,misal : latih1.m. Untuk melihat hasil dari program
tersebut maka eksekusi program tersebut di dalam editor command window, yaitu dengan
jalan mengetikkan nama filenya, latih1, diikuti enter :
>>latih1 [enter]
Hasilnya adalah :
Hello Matlab
Welcome!

Contoh 2 :
x=-100:0.1:100;
y=x.^2;
plot(x,y);
xlabel('x');
ylabel('y=x^2');

Gambar 1. 3 Tampilan editor M-File
Pemrograman Komputer dengan Matlab


5
selanjutnya simpan (save) file tersebut dengan nama, misalnya : latih2.m. Untuk melihat
hasil eksekusi program tersebut maka kembalilah ke editor command window dan
ketikkan :
>>latih2 [enter]

Hasilnya adalah :



































Gambar 1. 4 Hasil Eksekusi latih2.m
Pemrograman Komputer dengan Matlab


6




2.1 Ti pe Da t a
Tipe data menentukan jenis nilai yang dapat disimpan pada suatu variabel dan
jenis operator yang dapat dikenakan pada variabel tersebut. Misalnya tipe data real hanya
dapat menyimpan bilangan real dan operator yang dapat dikenakan padanya antara lain
operator penjumlahan, pengurangan, perkalian, dll.
Tipe data dasar (primitive) dalam pemrograman komputer (misal : Java) seperti
tercantum dalam tabel 2.1 berikut ini :

Tipe Ukuran
int 4 byte
short 2 byte
long 8 byte
byte 1 byte
float 4 byte
double 8 byte
char 2 byte
boolean true or false


Matlab mempunyai beberapa tipe data yang dinyatakan dengan class. Adapun tipe data
tersebut seperti diperlihatkan dalam tabel 2.2.

Tipe Ukuran
int8 1 byte
int16 2 byte
int32 4 byte
int64 8 byte
single 4 byte
double 8 byte
char 2 byte
boolean true or false


Tipe data yang menyatakan bilangan bulat (integer) adalah : int8, int16, int32, dan int64.
Tipe data yang menyatakan bilangan pecahan adalah : single dan double. Tipe data char
Tipe Data dan Variabel

Bab
II
Tabel 2.1 Tipe data dasar
Tabel 2.2 Tipe data dalam Matlab
Pemrograman Komputer dengan Matlab


7
dipakai untuk menyimpan karakter tunggal atau sekumpulan karakter (string). Tipe data
boolean dipakai untuk menyimpan nilai true atau false.

2. 2 Vari abel
Variabel merupakan komponen penting dalam pemrograman. Variabel digunakan
dalam pemrograman untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat
diubah selama eksekusi program berlangsung. Adapun ketentuan atau aturan dalam
penulisan nama variabel adalah :
1. variabel bisa terdiri dari huruf, angka, atau under score ( _ )
2. variabel harus diawali oleh huruf
contoh yang benar :
nama_siswa
Latihan1
nilai1
contoh yang salah :
nama siswa (mengandung spasi)
1Latihan (diawali oleh angka)
3. Tidak boleh memakai kata kunci (key word) seperti diperlihatkan tabel 2.3 :

break case catch continue else elseif
for function global if otherwise persistant
return switch try while


2. 3 Mendeklarasi kan Variabel
Untuk menyimpan sebuah nilai dalam program maka kita memerlukan sebuah
variabel. Variabel yang akan digunakan dalam program harus dideklarasikan terlebih
dahulu. Format atau sintax pendeklarasian variabel adalah:

nama_variabel = ekspresi/nilai;

contoh :
jumlah = 10+5;
harga_satuan = 1500 ;
Tabel 2.3 Kata kunci (key words)
Pemrograman Komputer dengan Matlab


8
Pada deklarasi variabel jumlah menyatakan bahwa jumlah adalah variabel yang
menyimpan nilai hasil ekspresi 10+5 yaitu 15. Sementara variabel harga_satuan
menyimpan nilai yaitu 1500.

2. 4 Konstanta
konstanta hampir sama fungsinya dengan variabel yaitu untuk menyimpan suatu
nilai. Jika dalam variabel nilai yang disimpan dapat diubah selama eksekusi program
berlangsung maka dalam konstanta nilai yang disimpan bersifat tetap (tidak berubah)
selama eksekusi program. Di dalam Matlab terdapat beberapa konstanta yaitu :

Konstanta Nilai
pi 3,14159
i
1
j
1
inf Tak berhingga ,
NaN
Not-a-Number, misal hasil dari :
0
0



2. 5 Masukan dan Keluaran
Pernyataan masukan (input) adalah pernyataan yang dipakai untuk membaca
masukan dari peralatan masukan standar seperti : keyboard. Sedangkan pernyataan
keluaran adalah untuk menampilkan keluaran (output) pada peralatan keluaran standar
yaitu : layar (screen)
2.5.1 Pernyataan Keluaran (Output) :
Pernyataan Keluaran berfungsi untuk menampilkan text ke layar. Format
pernyataan keluaran adalah :

disp(Text anda );

atau

fprintf(Text anda);

Pernyataan yang pertama akan menampilkan Text dalam tanda petik ke layar
tanpa diikuti pindah baris baru sedangkan pernyataan yang kedua akan menampilkan text
dalam format tertentu. Penulisan format didahului oleh : %. Adapun format tersebut
adalah :
Tabel 2.4 Konstanta dalam Matlab
Pemrograman Komputer dengan Matlab


9
Format Keterangan
%d Bulat (integer)
%f Pecahan (float)
%c Karakter tunggal
%s String (kumpulan karakter)


Contoh 1 :
disp(Hello);
disp(Java);
disp(Welcome );

Hasil eksekusi program tersebut adalah :
Hello
Java
Welcome

Contoh 2 :

A=10;
B=5;
hasil = A+B;
fprintf('Hasil penjumlahan adalah : %d\n',hasil);

Jika program tersebut dieksekusi maka hasilnya adalah :
Hasil penjumlahan adalah : 15


2.5.2 Pernyataan Masukan (Input) :
Pernyataan masukan berfungsi untuk memasukkan data lewat keyboard. Format
pernyataan masukan adalah :
nama_variabel = input (Text anda);

Pernyataan tersebut akan meminta masukan dari keyboard dan diikuti pindah baris baru.
Contoh program :
Contoh 1.
jari = input('Masukkan jari-jari : ');
fprintf('jari-jari : %d\n',jari);
Jika program tersebut dieksekusi maka hasilnya adalah :

Masukkan jari-jari : 10
Tabel 2.5 Format tampilan keluaran
Pemrograman Komputer dengan Matlab


10
Jari-jari :10

Contoh 2 (Menghitung Luas Lingkaran) :
r = input('Masukkan jari-jari : ');
luas = pi * (r^2);
fprintf('Lingkaran dengan jari-jari : %.2f,',r);
fprintf('luasnya adalah %.2f\n',luas);

Jika program tersebut dieksekusi maka hasilnya adalah :
Masukkan jari-jari : 3
Lingkaran dengan jari-jari : 3.00, luasnya adalah 28.27



Soal Latihan :
1. Buatlah program komputer untuk menghitung gaji total karyawan dimana rinciannya
adalah :
gaji total = gaji pokok + tunjangan + upah lembur
2. Buatlah program untuk menghitung panjang sisi miring sebuah segitiga siku-siku.
Dimana rumusnya adalah :
c
2
= a
2
+ b
2

3. Buatlah program untuk menghitung akar dari persamaan kuadrat :
Ax
2
+ Bx + C
dengan memakai rumus ABC :

A
C A B B
x
. 2
. . 4
2
1
+
=

A
C A B B
x
. 2
. . 4
2
2

=















Pemrograman Komputer dengan Matlab


11




Dalam bahasa pemrograman dikenal beberapa tipe operator yaitu : Operator
Aritmatika, Operator Logika, dan Operator Relasi.
3.1 Operator Aritmatika
Operator aritmatika atau operator numerik biasanya dipakai untuk mengoperasikan
2 buah bilangan. Adapun yang tergolong dalam operator aritmatika adalah :

Operator Fungsi
+ Penjumlahan
- Pengurangan
* Perkalian
/ pembagian
^ pemangkatan


Contoh :
a=5;
b=10;
c=a+b;
fprintf('c = %d\n',c);

Jika program ini dieksekusi maka hasilnya adalah :

c = 15

Prioritas dalam operator Aritmatika
Adapun prioritas pemakaian operator aritmatika dalam bahasa pemrograman
adalah :
- operator perkalian dan pembagian mempunyai prioritas yang sama
- operator penjumlahan dan pengurangan mempunyai prioritas yang sama
- operator perkalian atau pembagian mempunyai prioritas yang lebih tinggi daripada
operator penjumlahan atau pengurangan
Contoh :
a=20;
b=5;
c=8;
Operator
Bab
III
Tabel 3.1. Operator Aritmatika
Pemrograman Komputer dengan Matlab


12
d=4;
f=a*b/c;
fprintf('f = %4.2f\n',f);
g=a+b*c;
fprintf('g= %4.2f\n',g);
h=a*b+d;
fprintf('h = %4.2f\n',h);

Jika program ini dieksekusi maka hasilnya adalah :
f = 12.50
g= 60.00
h = 104.00

3.2 Operator Logika
Operator logika biasanya dipakai untuk membandingkan 2 pernyataan yang
mengandung nilai logika benar (TRUE) atau salah (FALSE). Ada 3 operator logika yang
umumnya dipakai dalam bahasa pemrograman komputer.

Operator keterangan
&& AND
| | OR
~ NOT


A B A && B
0 (FALSE 0 (FALSE) 0 (FALSE)
1 (TRUE) 0 (FALSE) 0 (FALSE)
0 (FALSE 1 (TRUE) 0 (FALSE)
1 (TRUE) 1 (TRUE) 1 (TRUE)


A B A | | B
0 (FALSE) 0 (FALSE) 0 (FALSE)
1 (TRUE) 0 (FALSE) 1 (TRUE)
0 (FALSE 1 (TRUE) 1 (TRUE)
1 (TRUE) 1 (TRUE) 1 (TRUE)


Contoh :
a = true;
b = false;
Tabel 3.2 Operator logika
Tabel 3.3 Tabel kebenaran operator AND ( &&)

Tabel 3.4 Tabel kebenaran operator OR ( || )

Pemrograman Komputer dengan Matlab


13
c = a || b;
d = a && b;
e = ~a;
fprintf('c = %d\n', c);
fprintf('d = %d\n',d);
fprintf('e = %d\n',e);

Jika program ini dieksekusi maka hasilnya adalah :
c = 1
d = 0
e = 0

3.3 Operator Relasi
Operator relasi biasanya dipakai untuk membandingkan kuantitas dari 2 buah
bilangan. Hasil dari perbandingan ini akan menghasilkan nilai logika : benar (TRUE) atau
salah (FALSE).

Operator keterangan
== sama dengan
~= Tidak sama dengan
< Lebih kecil
<= Lebih kecil atau sama dengan
> Lebih besar
>= Lebih besar atau sama dengan


Misalkan : A = 2, B = 3, C = 4 maka hasil operasi dari operator relasi ditunjukkan pada
tabel 3.6 berikut ini :
Operasi Hasil operasi
A< B TRUE
A ~= C/B FALSE
C >= B TRUE
B < C-A FALSE
C >= B*A FALSE
A == C FALSE


Contoh :
a = 4;
b = 5;
c = a > b;
Tabel 3.5. Operator Relasi
Tabel 3.6 Contoh operasi dengan operator relasi

Pemrograman Komputer dengan Matlab


14
d = a ~= b;
e = c && d;
f = c || d;
fprintf('c = %d\n', c);
fprintf('d = %d\n',d);
fprintf('e = %d\n',e);
fprintf('f = %d\n',f);

Jika program ini dieksekusi maka hasilnya adalah :
c = 0
d = 1
e = 0
f = 1

3.4 KOMENTAR (Comment)
Komentar merupakan pernyataan yang tidak akan ikut dieksekusi saat program
dieksekusi. Komentar biasanya dipakai untuk memberikan keterangan atau penjelasan
terhadap suatu kode dalam program. Dalam Matlab komentar biasanya ditulis dengan :

% komentar anda

Contoh :
%Program menghitung luas lingkaran
%dengan jari-jari r
r = input('Masukkan jari-jari : ');
luas = pi * (r^2);
fprintf('Lingkaran dengan jari-jari : %.2f,',r);
fprintf('luasnya adalah %.2f\n',luas);




















Pemrograman Komputer dengan Matlab


15




4.1 Pernyataan if
Pernyataan yang biasanya dipakai untuk mengambil keputusan dari suatu kondisi
adalah statemen if. Adapun format atau sintax dari statemen if adalah sebagai berikut :

if kondisi
aksi
end


Dalam hal ini jika kondisi bernilai TRUE (atau 1) maka aksi akan dikerjakan sedangkan
jika kondisi bernilai FALSE (atau 0) maka aksi tidak akan dikerjakan.
Contoh 1 :
%Program untuk menguji pernyataan if
a=5;
if a==5
disp('a adalah 5');
end

Jika program diatas dieksekusi maka hasilnya adalah :
a adalah 5

Contoh 2 :
%Program untuk menguji pernyataan if
nilai_ujian=input('Masukkan nilai ujian : ');
absen= input('Masukkan prosentase absen : ');
if nilai_ujian>50 && absen>=75
disp('Anda Lulus');
end
disp('Terima Kasih');

Jika program diatas dieksekusi maka hasilnya adalah :
Masukkan nilai ujian : 70
Masukkan prosentase absen : 80
Anda Lulus
Terima Kasih

Masukkan nilai ujian : 70
Masukkan prosentase absen : 60
Terima Kasih

4.2 Pernyataan if- else

Pernyataan Pengambilan Keputusan

Bab
IV
Pemrograman Komputer dengan Matlab


16
Format dari pernyataan pengambilan keputusan i f el se adalah sebagai berikut :

If kondisi
aksi_1
else
aksi_2
end

Di sini diperlihatkan bahwa jika kondisi terpenuhi atau bernilai TRUE (1) maka aksi_1
yang dikerjakan. Sedangkan jika kondisi bernilai FALSE (0) maka yang akan dikerjakan
adalah aksi_2.
Contoh 1 :
%Program untuk menguji pernyataan if-else
nilai_ujian=input('Masukkan nilai ujian : ');
absen= input('Masukkan prosentasi absen : ');
if nilai_ujian>50 && absen>=75
disp('Anda Lulus');
else
disp('Anda Tidak Lulus');
end

Jika program diatas dieksekusi maka hasilnya adalah :
Masukkan nilai ujian : 70
Masukkan prosentase absen : 70
Anda Tidak Lulus

Contoh 2 :
% Program menghitung luas lingkaran
% program mengecek error jika jari-jari< 0 (negatif)
radius = input('Masukkan jari-jari : ');
if radius <= 0
fprintf('Maaf; %.2f adalah jari-jari tidak valid\n',radius);
else
area = pi* (radius^2);
fprintf('Lingkaran dengan jari-jari %.2f,',radius);
fprintf('luasnya adalah %.2f\n',area);
end

Jika program diatas dieksekusi maka hasilnya adalah :
Masukkan jari-jari : 3
Lingkaran dengan jari-jari 3.00,luasnya adalah 28.27

Masukkan jari-jari : -5
Maaf;-5.00 adalah jari-jari tidak valid


Latihan :
Pemrograman Komputer dengan Matlab


17
1. Buatlah program komputer yang dapat memilih nomer channel TV dan menampilkan
stasiun TV yang bersangkutan. Andaikan nomer channel TV tersebut adalah bilangan
integer dari 1 9 seperti berikut ini :
1. RCTI 5. ANTV 9. Bali TV
2. SCTV 6. TPI
3. Indosiar 7. MetroTV
4. Lativi 8. TVRI
Petunjuk :
- Masukkan nomer chanel TV ( angka 1 9 )
- Tampilkan nama stasiun TV (pakai statemen if )
2. Andaikan kita diminta untuk mengubah nilai angka menjadi nilai huruf dari suatu data
nilai ujian mahasiswa dengan ketentuan sebagai berikut :
jika nilai_angka >=80 dan nilai_angka <=100 maka nilai_huruf = A
jika nilai_angka >=60 dan nilai_angka <80 maka nilai_huruf = B
jika nilai_angka >=40 dan nilai_angka <60 maka nilai_huruf = C
jika nilai_angka >=20 dan nilai_angka <40 maka nilai_huruf = D
jika nilai_angka >=0 dan nilai_angka <20 maka nilai_huruf = E
Petunjuk :
- masukkan nilai_angka
- gunakan statemen if dan untuk kondisi gunakan operator logika AND (&&)
4.3 Pernyataan if-elsebersarang (nested if-else)
Pernyataan if-else dipakai untuk memilih diantara dua buah pernyataan. Untuk
memilih lebih dari dua pernyataan maka dipakai if-else bersarang. Pernyataan if-else dapat
disarangkan dalam if-else yang lain. Format dari pernyataan i f-el se bersarang adalah
sebagai berikut :
If kondisi_1
aksi_1
else
if kondisi_2
aksi_2
else

...

if kondisi_n
aksi_n
else
aksi_m
end
end
end
Pemrograman Komputer dengan Matlab


18
Contoh kasus dari pemakaian if-else bersarang adalah pada fungsi matematika y = f(x)
yang memenuhi persamaan berikut ini :
1 , 1 < = x untuk y
2 1 ,
2
s s = x untuk x y
2 , 4 > = x untuk y
Program untuk menyelesaikan fungsi tersebut dapat dilihat dalam contoh 1 dan 2 berikut ini :
Contoh 1 (Tanpa nested if-else):
%Program hitung fungsi f(x) tanpa nested if-else
x=input('masukkan nilai x : ');
if x<-1
y = 1;
end
if x>=-1 && x <= 2
y = x^2;
end
if x>2
y = 4;
end
fprintf('y = %.2f\n',y);

Jika program diatas dieksekusi maka hasilnya adalah :
masukkan nilai x : 2
y = 4.00

masukkan nilai x : 1
y = 1.00

Contoh 2 (Dengan nested if-else):
%Program hitung fungsi f(x) dengan nested if-else
x=input('masukkan nilai x : ');
if x<-1
y = 1;
else
if x>=-1 && x <= 2
y = x^2;
else
y = 4;
end
end
fprintf('y = %.2f\n',y);

Jika program diatas dieksekusi maka hasilnya adalah :
masukkan nilai x : 1
y = 1.00

masukkan nilai x : 2
y = 4.00

masukkan nilai x : 0
Pemrograman Komputer dengan Matlab


19
y = 0.00

masukkan nilai x : -2
y = 1.00

masukkan nilai x : 4
y = 4.00

4.4 Pernyataan dengan klausa elseif
Pernyataan elseif adalah bentuk lain dari if-else bersarang. Format atau bentuk
umum dari pernyataan el sei f adalah sebagai berikut :
If kondisi_1
aksi_1
elseif kondisi_2
aksi_2
elseif kondisi_3
aksi_3
....
else
aksi_n
end
Contoh kasus dari pemakaian elseif adalah pada fungsi matematika y = f(x) yang
memenuhi persamaan berikut ini :
1 , 1 < = x untuk y
2 1 ,
2
s s = x untuk x y
2 , 4 > = x untuk y
Program untuk menyelesaikan fungsi tersebut dapat dilihat dalam contoh berikut ini :
Contoh :
%Program hitung fungsi f(x) tanpa nested if-else
x=input('masukkan nilai x : ');
if x<-1
y = 1;
elseif x>=-1 && x <= 2
y = x^2;
else
y = 4;
end
fprintf('y = %.2f\n',y);

Jika program diatas dieksekusi maka hasilnya adalah :
masukkan nilai x : 1
y = 1.00

masukkan nilai x : 2
y = 4.00

masukkan nilai x : 0
y = 0.00

masukkan nilai x : -2
y = 1.00
Pemrograman Komputer dengan Matlab


20

masukkan nilai x : 4
y = 4.00

4.5 Pernyataan switch-case
Pernyataan switch biasanya dipakai untuk mengambil keputusan diantara banyak
pilihan (kondisi). Adapun bentuk umum dari pernyataan ini adalah :

switch ekspresi
case value_1
aksi_1
case value_2
aksi_2
.
.
.
case value_n :
aksi_n

otherwise
aksi_m
end

Contoh :
% Example of otherwise for error message
choice = input('Masukkan 1, 3, atau 5 : ');
switch choice
case 1
disp('Ini adalah satu!!')
case 3
disp('Ini adalah tiga!!')
case 5
disp('Ini adalah lima!!')
otherwise
disp('Ikuti petunjuk!!')
end

Jika program diatas dieksekusi maka hasilnya adalah :
Masukkan 1,3, atau 5 : 3
Ini adalah tiga!!

Masukkan 1,3, atau 5 : 7
Ikuti petunjuk!!



Latihan :
1. Ulangi soal latihan no.1 diatas dengan menggunakan pernyataan switch.
2. Andaikan kita mempunyai 2 buah bilangan yaitu bil1 dan bil2. Kita akan
mengoperasikan
Pemrograman Komputer dengan Matlab


21
kedua bilangan tersebut dengan pilihan sebagai berikut :
1. Penjumlahan
2. Pengurangan
3. Pekalian
4. Pembagian
misal jika kita pilih 1 maka program akan menjumlahkan bil1 dan bil2. Dan jika kita
pilih 3 maka program komputer akan melakukan perkalian antara bil1 dan bil2. Dalam
hal ini gunakanlah pernyataan switch.







































Pemrograman Komputer dengan Matlab


22




Pernyataan pengulangan (looping) sering disebut kalang. Dalam pemrograman
computer Matlab ada dua buah kalang yang biasanya dipakai yaitu :
- for
- while
Statemen pengulangan biasanya dipakai untuk mengulang instruksi yang sama. Seperti
contoh sederhana misalnya kita diminta untuk menampilkan kalimat : Hello Matlab
secara berulang ulang sebanyak 5 kali. Jika kita tidak memakai kalang maka kode
programnya adalah :

%program looping tanpa for
disp('Hello Matlab');
disp('Hello Matlab');
disp('Hello Matlab');
disp('Hello Matlab');
disp('Hello Matlab');

Jika kita menggunakan kalang for maka kode program diatas akan dapat diringkas
menjadi :

%Program looping dengan for
for i=1:1:5
disp('Hello Matlab');
end

5.1 Pengulangan for
Seperti diperlihatkan dalam contoh diatas maka format dari kalang for adalah :
for var_loop = nilai_awal:step:nilai_akhir
aksi
end
keterangan :
var_loop = variabel untuk melakukan pengulangan
nilai_awal = nilai awal dari variabel pengulangan var_loop
nilai_akhir = nilai akhir dari variabel pengulangan var_loop
step = nilai penambahan var_loop
aksi = pernyataan yang diulang dalam rentang pengulangan

Jika nilai step = 1 maka nilai step bisa dihilangkan dari format menjadi :
for var_loop = nilai_awal:nilai_akhir
aksi
PERNYATAAN PENGULANGAN (LOOPING)

Bab
V
Pemrograman Komputer dengan Matlab


23
end
Pernyataa aksi akan terus dikerjakan selama var_loop berada dalam rentang pengulangan
yaitu dari nilai_awal sampai nilai_akhir. Dalam setiap pengulangan maka var_loop akan
dinaikkan nilainya sebesar nilai step. Misalkan kita ingin membuat kode program yang
dapat mencetak 5 buah bilangan dari 1 sampai 5 maka kode programnya adalah sebagai
berikut :

%Program pemakaian for
%mencetak bilangan 1 sampai 5
for i=1:1:5
disp(i);
end

Dari program diatas maka dalam kalang for mengandung pernyataan yaitu :

for i = 1:1:5

yang berarti variabel i mempunyai rentang atau range dari 1 sampai 5. Nilai awal i adalah
1 (i =1) dan nilai i ini akan ditingkatkan sebesar 1 setiap mengerjakan pernyataan aksi
dalam kalang for.

%Program pemakaian for
%mencetak bilangan 1 sampai 20 dengan interval 2
for i=1:2:20
fprintf('%d\t',i);
end

Jika program ini dieksekusi maka hasilnya adalah :

1 3 5 7 9 11 13 15 17 19

5.2 Pengulangan for bersarang (nested for)
Dalam pemrograman ada kalanya kita memerlukan for bersarang yaitu
pengulangan for yang disarangkan pada for yang lain. Adapun bentuk umum dari for
bersarang adalah :
for var_loop_1 = nilai_awal_1:step_1:nilai_akhir_1
for var_loop_2 = nilai_awal_2:step_2:nilai_akhir_2
....
....
for var_loop_n = nilai_awal_n:step_n:nilai_akhir_n
aksi_n
end
end
end

Pemrograman Komputer dengan Matlab


24
Contoh 1 :

%Program looping nested for
for i=1:5
for j=1:5
fprintf('%d\t',j);
end
fprintf('\n');
end

Jika program ini dieksekusi maka hasilnya adalah :

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

Contoh 2 :

%Program looping nested for
for i=1:5
for j=1:5
fprintf('*\t');
end
fprintf('\n');
end

Jika program ini dieksekusi maka hasilnya adalah :

* * * * *
* * * * *
* * * * *
* * * * *
* * * * *

Latihan :
1. Buatlah kode program yang dapat mencetak bilangan dari 10 sampai 1.
2. Andaikan kita mempunyai kode program seperti dibawah ini. Maka tentukanlah hasil
eksekusi dari kode tersebut.

for i=20:-2:1
disp(i);
end

3. Buatlah kode program yang dapat mencetak bilangan genap yang lebih kecil dari 50
dimulai dari 0.
4. Buatlah program yang dapat menghitung :
Pemrograman Komputer dengan Matlab


25

=
n
i
i
1

atau
1 + 2 + 3 + ...+ n
5. Buatlah program yang dapat menghitung faktorial dari sebuah bilangan n
n! = 1*2* ...*n
6. Buatlah program yang dapat menampilkan pola berikut ini
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
7. Buatlah program yang dapat menampilkan pola berikut ini
* * * * *
* * * *
* * *
* *
*

5.2 Pengulangan while
Pengulangan while hampir sama dengan kalang for yaitu sama-sama dipakai untuk
mengulangi pernyataan yang sama berkali-kali selama kondisi terpenuhi. Adapun format
atau sintax dari kalang while adalah :
while kondisi
aksi
end
kondisi merupakan operasi relasi yang melibatkan operator-operator relasi . Hasil dari
operasi relasi ini adalah TRUE (1) atau FALSE (0). Pernyataan aksi akan diulangi selama
hasil operasi relasi dalam kondisi bernilai TRUE (1). Program berikut adalah contoh
pemakaian kalang while.

Contoh 1 :
%Program looping while
%mencetak bilangan dari 1-5
i=1;
while i<=5
disp(i);
i=i+1;
end

Hasil eksekusi dari program tersebut di atas adalah :
1
Pemrograman Komputer dengan Matlab


26
2
3
4
5


Contoh 2 :

%Program looping while
limit = 20;
sum = 0;
i = 1;
while i <= limit
sum = sum+i ;
i=i+1;
end
fprintf('sum = %d\n',sum);
Hasil eksekusi dari program tersebut di atas adalah :
sum = 120

Latihan :
1. Buatlah program komputer yang dapat menampilkan bilangan 1 sampai 10 dengan
urutan terbalik (gunakan kalang while).
2. Implementasikan kode program yang dapat menampilkan bilangan ganjil antara 0 50
dengan memakai kalang while
Petunjuk :
-gunakan kalang while yaitu :
3. Buatlah kode program yang dapat menampilkan dan menghitung hasil penjumlahan
bilangan genap dari 0 sampai 50.
Petunjuk :
-tampilkan bilangan genap dari 0 - 50
-hitung hasil penjumlahan dari bilangan genap tersebut misal :
total_jumlah = 0 + 2 + 4 ++50
-gunakan kalang while











Pemrograman Komputer dengan Matlab


27




Di dalam pemrograman Matlab array ekivalen dengan vektor dan matrik. Vektor
merupakan array 1 dimensi sedangkan matrik adalah array 2 dimensi. Vektor biasanya
dapat dinyatakan dengan vektor baris atau vektor kolom. Matrik dapat dinyatakan dengan
dimensi baris dan kolom. Sebuah matrik A
mxn
menyatakan matrik yang memiliki jumlah
baris m dan jumlah kolom n. Jadi vektor baris adalah matrik yang berdimensi 1xn yaitu
memiliki 1 baris dan n kolom. Sedangkan vektor kolom merupakan matrik berdimensi
nx1, yaitu n baris dan 1 kolom.
5. 1 Array 1 Di mensi (vektor)
Adapun sintax atau format penulisan dari Array 1 dimensi (vektor) dalam Matlab
adalah :
NamaVar = [ e
1
e
2
... e
n
] ; untuk vektor baris
Atau
NamaVar = [e
1
; e
2
; ...e
n
]; untuk vektor kolom
Keterangan :
NamaVar = Nama vektor
e
1
,e
2
,...e
n
= elemen vektor
Contoh :
A = [1 2 3 4];
B = [1;2;3;4];

A adalah vektor baris berdimensi 1x4 dengan 4 elemen. Sedangkan B adalah vektor
kolom berdimensi 4x1 dengan 4 elemen. Untuk memberikan nilai pada elemen vektor
dilakukan dengan cara :
NamaVar(i) = nilai;
Dimana i menunjukkan indeks dari elemen vektor. Sedangkan nilai adalah nilai yang akan
diberikan (assign) pada elemen vektor.
Contoh :
A(2) = 5;
Ini menunjukkan memberikan nilai 5 kepada elemen ke-2 dari vektor A.
Berikut ini adalah program Matlab yang memperlihatkan tentang pemakaian variabel
array.
Contoh 1 :
%Program array 1 dimensi (vektor)
ARRAY

Bab
VI
Pemrograman Komputer dengan Matlab


28
A=[1 2 3 4 5];
for i = 1:5
disp(A(i));
end

Jika program tersebut dieksekusi maka hasilnya adalah :

1
2
3
4
5

Contoh 2 :

%Program array 1 dimensi (vektor)
%Memasukkan elemen vektor
for i = 1:5
A(i)= input(strcat('A[',int2str(i),']= '));
end
%menampilkan elemen vektor
disp('Elemen vektor adalah : ');
for i = 1:5
disp(strcat('A[',int2str(i),']=',int2str(A(i))));
end

Jika program tersebut dieksekusi maka hasilnya adalah :

A[1]=5
A[2]=2
A[3]=3
A[4]=4
A[5]=6
Elemen vektor adalah :
A[1]=5
A[2]=2
A[3]=3
A[4]=4
A[5]=6

Latihan :
1.Buatlah program yang menghitung nilai rata-rata dari 5 buah bilangan.
Petunjuk :
-masukkan nilai dari 5 buah bilangan tersebut (gunakan vektor)
-hitung jumlahnya
-hitung rata-rata
-tampilkan nilai rata-rata

5.2. Array 2 dimensi (Matrik)
Pemrograman Komputer dengan Matlab


29
Array 2 dimensi adalah array yang memiliki dua dimensi yang dinyatakan dengan
baris dan kolom
Misal :
A =
(

22 21
12 11
a a
a a

Matrik A adalah matrik dua dimensi dengan 2 baris dan 2 kolom. Sintax untuk
menyatakan variabel array 2 dimensi dalam Matlab adalah :
NamaVar[e
11
e
12
...e
1n
; e
21
e
22
...e
2n
; ...e
m1
e
m2
...e
mn
] ;

Untuk memberikan nilai pada elemen Matrik dilakukan dengan cara :
NamaVar(i,j) = nilai;
Dimana i dan j menunjukkan indeks baris dan kolom dari elemen matrik. Sedangkan nilai
adalah nilai yang akan diberikan (assign) pada elemen matrik.
Contoh :
A(1,3) = 5;
Ini menunjukkan memberikan nilai 5 kepada elemen pada baris 1 kolom 3 dari matrik A.
Misalkan kita ingin membuat sebuah matrik 2 dimensi dengan 2 baris dan 2 kolom yang
bernama A dengan elemen seperti berikut :
A =
(

8 3
6 4

Contoh program yang berisi pembuatan matrik tersebut diperlihatkan dalam contoh 1
program berikut ini :
Contoh 1 :
%Program array 2 dimensi (Matrik)
%Memasukkan elemen matrik
for i = 1:2
for j=1:2
A(i,j)= input(strcat('A[',int2str(i),int2str(j),']= '));
end
end
%menampilkan elemen vektor
disp('Elemen vektor adalah : ');
for i = 1:2
for j=1:2
disp(strcat('A[',int2str(i),int2str(j),']=',int2str(A(i,j))));
end
end

Hasil Eksekusi dari program tersebut adalah :

A[11]=4
A[12]=6
A[21]=3
Pemrograman Komputer dengan Matlab


30
A[22]=8
Elemen vektor adalah :
A[11]=4
A[12]=6
A[21]=3
A[22]=8
Latihan :
1.Buatlah sebuah program yang dapat dipakai untuk memasukkan array 2 dimensi dengan
jumlah baris 3 dan jumlah kolom 3 (matrik 3 X 3). Kemudian tampilkan elemen-
elemennya
Petunjuk :
- masukkan nilai masing-masing elemen matrik
- tampilkan masing-masing elemennya
2.Tulislah program komputer untuk menghitung hasil penjumlahan 2 buah matrik 2
dimensi. Misal hasil penjumlahan matrik A dan matrik B disimpan dalam matrik C
seperti persamaan berikut ini :
C = A + B
Petunjuk :
-masukkan nilai elemen-elemen matrik A
-masukkan nilai elemen-elemen matrik B
-jumlahkan nilai elemen-elemen matrik A dengan B yang bersesuaian
-simpan hasil penjumlahan tiap-tiap elemen dalam matrik C

C[1][1] = A[1][1] + B[1][1];
C[1][2] = A[1][2] + B[1][2]; dan seterusnya

-tampilkan matrik C.
3.Rancang program komputer untuk menampilkan transpose dari suatu matrik.
Petunjuk :
-masukkan nilai elemen-elemen matrik A
-tentukan traspose dari A.misal transpose dari A adalah matrik B. Sehingga nilai elemen
elemen dari B :
B[1,1] = A[1,1]
B[1,2] = A[2,1]
B[2,1] = A[1,2]
B[2,2] = A[2,2]

Pemrograman Komputer dengan Matlab


31





7.1 Fungsi
Fungsi adalah suatu cara untuk membagi program yang besar menjadi sub-sub
program, dimana masing-masing sub program mempunyai tugas atau fungsi tertentu. Di
bab-bab sebelumnya kita sudah mempergunakan fungsi bawaan Matlab (built-in function)
seperti : disp(), fprintf(), input(), dan lain-lain. Fungsi-fungsi tersebut sudah disediakan
langsung oleh Matlab dan dapat dipergunakan langsung tanpa harus didefinisikan terlebih
dahulu. Disamping fungsi built-in, di dalam Matlab kita bisa membuat fungsi buatan
sendiri yang disesuaikan dengan keperluan kita (user-defined function).
7.2 Pendefinisian dan Pemanggilan Fungsi
Fungsi buatan sendiri selanjutnya disingkat dengan fungsi. Bentuk umum fungsi
adalah :
nama_fungsi.m




Secara umum fungsi buatan sendiri terdiri dari 3 bagian yaitu :
1. Fungsi header,
- diawali oleh kata function
- nama fungsi harus sama dengan nama M-File, simpanlah fungsi tersebut dengan
nama nama_fungsi.m
- output_argumen = nilai balik fungsi
- input_argumen ditulis di dalam tanda kurung
2. Komentar, untuk menjelaskan tentang fungsi
3. Tubuh fungsi (body), berisi statemen dari fungsi termasuk di bagian akhir yaitu
memberikan nilai balik pada output_argumen
Setelah kita membuat fungsi maka selanjutnya fungsi tersebut dapat dipanggil dari dalam
program atau skrip Matlab. Cara pemanggilan fungsi di dalam Matlab adalah :

nama_variabel = nama_fungsi( argumen);

F
FFu
uun
nng
ggs
ssi
ii (
((f
ffu
uun
nnc
cct
tti
iio
oon
nn)
))

Bab
VII

function output_argumen = nama_fungsi(input_argumen)
% komentar tentang fungsi
Statemen fungsi, termasuk memberi nilai output_argumen

Pemrograman Komputer dengan Matlab


32
fungsi nama_fungsi dipanggil dan hasil dari pemanggilan fungsi tersebut akan disimpan
dalam variabel nama_variabel.
Contoh 1 ( Luas Lingkaran) :
calcarea.m
function area = calcarea(rad)
% Fungsi untuk menghitung luas lingkaran
area = pi * rad * rad;

script1.m
% Skrip untuk menghitung luas lingkaran
% Skrip akan meminta user untuk memasukkan jari-jari
radius = input('Masukkan jari-jari :');
% panggil fungsi calcarea()
area = calcarea(radius);
%cetak luas
fprintf('Lingkaran dengan jari-jari %.2f,',radius)
fprintf('Luasnya adalah : %.2f\n',area)

contoh 2 (Volume Kerucut) :
vol_kerucut.m




script2.m








7.2 Fungsi tanpa Nilai Balik
Pada umumnya fungsi mempunyai nilai balik. Namun ada kalanya fungsi tidak
memiliki nilai balik. Bentuk umum dari fungsi yang tidak memiliki nilai balik adalah :
nama_fungsi.m



function vol = vol_kerucut(radius, height)
% Calculates the volume of a cone
vol = (pi/3) * radius * radius * height;

function nama_fungsi(input_argumen)
% komentar tentang fungsi
Statemen fungsi



% Skrip untuk menghitung volume kerucut
% Skrip akan meminta user untuk memasukkan jari-jari alas
% dan tinggi kerucut
radius = input('Masukkan jari-jari alas : ');
height = input('Masukkan tinggi : ');
% panggil fungsi vol_kerucut()
v = vol_kerucut(radius,height);
%cetak volume kerucut
fprintf('Volume Kerucut adalah : %.2f\n',v)
Pemrograman Komputer dengan Matlab


33
Fungsi ini tidak memiliki argumen output, karena fungsi ini tidak memiliki nilai balik.
Pemanggilan fungsi ini dalam program adalah :
nama_fungsi (argumen);

Program berikut ini adalah contoh fungsi yang tidak memiliki nilai balik serta cara
pemanggilan fungsi tersebut dalam program.

Contoh 1 :
cetak_hasil.m





script3.m








Contoh 2 :
input_data.m





cetak_volume.m






function cetak_hasil(v);
% fungsi mencetak volume di layar
fprintf('Volume Kerucut adalah : %.2f\n',v)
% Skrip untuk menghitung volume kerucut
% Skrip akan meminta user untuk memasukkan jari-jari alas
% dan tinggi kerucut
radius = input('Masukkan jari-jari alas : ');
height = input('Masukkan tinggi : ');
% panggil fungsi vol_kerucut()
v = (pi/3) * radius * radius * height;
cetak_hasil(v);
function [radius,height] = input_data()
%fungsi memasukkan radius dan tinggi
radius = input('Masukkan jari-jari alas : ');
height = input('Masukkan tinggi : ');
function cetak_volume(v);
% fungsi mencetak volume di layar
fprintf('Volume Kerucut adalah : %.2f\n',v)
Pemrograman Komputer dengan Matlab


34

script4.m













7.3 Fungsi Rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Proses pemanggilan
akan berhenti sampai tercapai titik tertentu yang disebut dengan sentinal point. Contoh
dari fungsi yang bersifat rekursif ditemui dalam perhitungan nilai faktorial dari sebuah
bilangan bulat.
-Faktorial(3) = 3. 2. 1 = 6
-Faktorial(4) = 4 . 3 . 2 . 1 = 24
atau
Faktorial(4) = 4 . Faktorial (3) = 4. 6 = 24
Atau secara umum bisa dinyatakan dengan
Faktorial (n) = n . Faktorial (n-1) ; untuk n > 1
= 1 ; untuk n <= 1

Contoh :
faktorial.m

function f=faktorial(n)
if n>1
f=n*faktorial(n-1);
else
f=1;
end


hitung_faktorial.m

hasil=faktorial(5);
disp(num2str(hasil));

% Skrip untuk menghitung volume kerucut
% Skrip akan meminta user untuk memasukkan jari-jari alas
% dan tinggi kerucut
% *******************************************************

[radius height] = input_data(); %panggil fungsi input_data

v = vol_kerucut(radius,height); % panggil fungsi vol_kerucut()

cetak_volume(v); %panggil fungsi cetak_volume



Pemrograman Komputer dengan Matlab


35





MATLAB menyediakan beberapa fungsi built-in untuk menampilkan grafik baik
grafik 2 dimensi maupun grafik 3 dimensi.
8.1 Grafik 2 Dimensi
Fungsi dasar yang dipakai untuk menampilkan grafik 2 dimensi adalah fungsi plot.
Sebagai contoh kita akan membuat grafik dari fungsi :
2 2 ;
1
2
< <
+
= x
x
x
y
Program dari fungsi tersebut dinyatakan dalam contoh 1.
Contoh 1 :

% Grafik dari fungsi y = x/(1+x^2)
%---------------------------------
x = -2:.1:2;
y = x./(1+x.^2);
plot(x,y,'r')
title('Grafik y = x/(1+x^2)')
xlabel('x')
ylabel('y')
grid

Jika program tersebut dieksekusi maka hasilnya adalah seperti gambar 8.1:


G
GGr
rra
aaf
ffi
iik
kk

Bab
VIII
Gambar 8.1 Hasil Eksekusi program contoh 1
Pemrograman Komputer dengan Matlab


36
8.1.1 Label grafik
MATLAB menyediakan beberapa fungsi untuk melengkapi label pada grafik
seperti tampak dalam tabel 8.1.
Fungsi Keterangan
title (s) Judul grafik
xlabel(s) Label sumbu x
ylabel(s) Label sumbu y
text(x,y,s) Menampilkan text s pada koordinat x,y
gtext(s) Menempatkan text s pada tempat tertentu, sambil menunggu
user menekan tombol keyboard atau mouse

8.1.2 Pengaturan Sumbu
Untuk mengatur tampilan sumbu koordinat maka MATLAB menyediakan
beberapa fungsi seperti tabel 8.2 :

Fungsi Keterangan
axis([xmin xmax ymin ymax]) Mengatur panjang sumbu x dan sumbu y
axis auto Mengatur sumbu ke skala otomatis
axis tight Mengatur sumbu menyesuaikan dengan data
axis ij Sumbu dalam mode matrix, sumbu y dibalik
axis xy Sumbu dalam keadaan default yaitu Cartesius
axis square Sumbu persegi
axis normal Sumbu pas dengan window
axis off Sumbu dinonaktifkan
axis on Sumbu diaktifkan
Grid Menampilkan atau menghilangkan grid grafik
xlim([xmin xmax]) Mengatur panjang sumbu x
ylim([ymin ymax]) Mengatur panjang sumbu y


8.1.3 Pengaturan bentuk garis, simbol plot, dan warna
Untuk mengatur bentuk garis, simbol plot, dan warna dari kurva pada grafik,
MATLAB menyediakan beberapa fungsi seperti tabel 8.3:
Tabel 8.1 Label grafik
Tabel 8.2 Fungsi Pengaturan sumbu
Pemrograman Komputer dengan Matlab


37

Warna Simbol plot Bentuk Garis
Lambang Warna Lambang Keterangan Lambang Keterangan
b blue . point - solid
g green o circle : dotted
r red x x-mark -. dashdot
c cyan + plus -- dashed
m magenta * star
y yellow s square
k black d diamond
w white v triangle(down)
^ triangle(up)
< triangle(left)
> triangle(right)
p pentagram
h hexagram



8.1.4 Multi Plot : Multi Figure Window
Untuk menampilkan beberapa kurva dalam figure window yang berbeda-beda
MATLAB menyediakan sebuah fungsi yaitu : figure. Dengan fungsi ini kita bisa
menampilkan banyak grafik dan masing-masing grafik ditampilkan dalam figure window
yang berbeda-beda. Program dalam contoh 2 berikut ini akan menghasilkan 2 figure
window yang berisi grafik masing-masing.
Contoh 2 :
x = 0: pi/100: pi;
y = cos(x);
z = sin(x);
figure(1); % create figure window 1
plot(x,y); % plot (x,y) in window 1
figure(2); % create figure window 2
plot(x,z); % plot (x,z) in window 2
figure(1); % swap back to window 1
ylabel('y'); % set the y-axis label on window 1
figure(2); % swap back to window 2
ylabel('z'); % set the y-axis label on window 2

Tabel 8.3 Fungsi Pengaturan warna, bentuk garis, dan simbol plot
Pemrograman Komputer dengan Matlab


38
Jika program tersebut dieksekusi maka hasilnya adalah seperti tampak dalam gambar 8. 2.
Tampak bahwa hasilnya adalah berupa 2 figure window yaitu figure 1 dan figure 2.



8.1.4 Multi Plot : subplot
Untuk menampilkan beberapa kurva akan tetapi masih dalam satu figure window
maka MATLAB menyediakan fungsi yaitu : subplot. Dengan fungsi ini kita bisa
menampilkan banyak grafik dalam figure window yang sama. Adapun bentuk umum dari
fungsi subplot adalah :
subplot(m,n,p)
Dimana, fungsi ini berarti kita membagi figure window menjadi m buah baris dan n buah
kolom. Sementara p menyatakan nomer urut indeks dari grafik yang akan ditampilkan.
Program contoh 3 dan 4 berikut ini akan memperlihatkan tentang pemakaian subplot.
Contoh 3 :

%Program grafik dengan subplot
%------------------------------------------------
%sb x dari -2 sampai 2, dibagi menjadi 10 titik
x = linspace(-2,2,10);
y = x./(1+x.^2);
subplot(2,1,1)
plot(x,y,'red') %warna kurva merah
title('Grafik 1, sumbu x dibagi menjadi 10 titik');
xlabel('x')
ylabel('y')
%sb y dari -2 sampai 2, dibagi menjadi 100 titik
x = linspace(-2,2,100);
y = x./(1+x.^2);
subplot(2,1,2)
plot(x,y,'blue') %warna kurva biru
title('Grafik 2, sumbu x dibagi menjadi 100 titik');
xlabel('x')
Gambar 8.2 Hasil eksekusi program contoh 2: multi figure window
Pemrograman Komputer dengan Matlab


39
ylabel('y')

Jika program tersebut dieksekusi maka hasilnya adalah seperti gambar 8.3:


Contoh 4 :
k = 0;
for n=1:3:10
n10 = 10*n;
x = linspace(-2,2,n10);
y = x./(1+x.^2);
k = k+1;
subplot(2,2,k)
plot(x,y,'r')
title(sprintf('Graph %g. Plot based upon n = %g points.' ...
, k, n10))
xlabel('x')
ylabel('y')
axis([-2,2,-.8,.8])
grid
pause(5); %jeda 5 detik
end

Jika program tersebut dieksekusi maka hasilnya adalah seperti gambar 8.4:
Gambar 8.3 Hasil Eksekusi program contoh 3 : subplot
Pemrograman Komputer dengan Matlab


40


8.1.4 Multi Plot dalam satu grafik yang sama
Untuk menampilkan beberapa kurva akan tetapi masih dalam satu grafik dan satu
figure window yang sama maka MATLAB menyediakan sebuah perintah (command)
yaitu : hold on. Dengan memberikan perintah ini kita bisa menampilkan banyak kurva
dalam sebuah grafik yang sama. Program contoh 5 berikut ini akan memperlihatkan
tentang pemakaian hold on.
Contoh 5 :
x=0:pi/100:pi;
y = cos(x);
z = sin(x);
figure(1); % buat figure window 1
hold off % hapus plot lama dalam figure window 1
plot(x,y, '-'); % buat plot pertama
hold on % perintah plot tambahan
plot(x,z, '--'); % tambahkan plot ke-dua, dengan bentuk kurva berbeda
legend('cos', 'sin');

Jika program tersebut dieksekusi maka hasilnya adalah seperti gambar 8.5:
Gambar 8.4 Hasil Eksekusi program contoh 4 : subplot
Pemrograman Komputer dengan Matlab


41



8.2 Grafik 3 Dimensi
Fungsi dasar yang dipakai untuk menampilkan grafik 3 dimensi adalah fungsi
plot3. Bentuk umum dari fungsi plot3 adalah :
plot3(x,y,z)
dimana, x,y,dan z adalah vektor dari koordinat x, y, dan z. Sebagai contoh kita akan
membuat grafik dari fungsi :
pi z z e x
z
10 0 ; ) sin(
02 . 0
s s =


pi z z e y
z
10 0 ; ) cos(
02 . 0
s s =


Program dari fungsi tersebut dinyatakan dalam contoh 6 berikut ini :

z = 0 : pi/50 : 10*pi;
x = exp(-0.02*z) .* sin(z);
y = exp(-0.02*z) .* cos(z);
plot3( x, y, z);
xlabel('x-axis');
ylabel('y-axis');
zlabel('z-axis');

Hasil eksekusi dari program contoh 6 dapat dilihat dalam gambar 8.6.

Gambar 8.5 Hasil Eksekusi program contoh 5 : hold on
Pemrograman Komputer dengan Matlab


42




8.2.1 Plot Permukaan Mesh : mesh (x,y,z)
Untuk membuat plot grafik dari fungsi f(x,y) yang menyatakan sebuah bidang atau
permukaan maka MATLAB menyediakan fungsi yaitu : mesh. Adapun bentuk umum dari
fungsi mesh adalah :
mesh(x,y,z)
Andaikan kita ingin membuat plot grafik dari sebuah fungsi :

2
5 ) , ( x y y x f =
pada range : 5 0 4 4 s s s s y dan x maka program komputer untuk menampilkan plot
grafik dari fungsi tersebut dapat dilihat dalam contoh 7.
Contoh 7 :
step = 1;
x = -3:step:3;
y = 0:step:5;
[X,Y] = meshgrid(x,y);
Z = 5*Y - X .^ 2;
mesh(X, Y, Z);
%set(gca,'fontsize', 24);
xlabel('x');
ylabel('y');

Hasil eksekusi dari program contoh 7 dapat dilihat dalam gambar 8.7.

Gambar 8.6 Hasil Eksekusi program contoh 6 : plot3(x,y,z)
Pemrograman Komputer dengan Matlab


43




Dari gambar 8.7 tampak bahwa didapatkan plot permukaan dari fungsi menyerupai jaring-
jaring atau rangka kawat.
8.2.2 Plot Permukaan Mesh : surf (x,y,z)
Untuk mem-plot grafik dari fungsi f(x,y) yang menyatakan sebuah bidang atau
permukaan maka MATLAB juga menyediakan fungsi lain yaitu : surf. Adapun bentuk
umum dari fungsi mesh adalah :
surf(x,y,z)
Sebagai contoh andaikan kita ingin membuat plot grafik dari fungsi :

2
5 ) , ( x y y x f =
pada range : 5 0 4 4 s s s s y dan x maka program komputer untuk menampilkan plot
grafik dari fungsi tersebut dapat dilihat dalam contoh 8.
Contoh 8 :
step = 1;
x = -3:step:3;
y = 0:step:5;
[X,Y] = meshgrid(x,y);
Z = 5*Y - X .^ 2;
surf(X, Y, Z);
%set(gca,'fontsize', 24);
xlabel('x');
ylabel('y');

Hasil eksekusi dari program contoh 8 dapat dilihat dalam gambar 8.8.

Gambar 8.7 Hasil Eksekusi program contoh 7 : mesh(x,y,z)
Pemrograman Komputer dengan Matlab


44




Dari gambar 8.7 kita bisa melihat bahwa plot permukaan yang dihasilkan sudah tertutup
dengan selimut. Coba bandingkan dengan gambar 8.6 dimana permukaan yang
dihasilkan hanya berupa rangka yang masih bolong-bolong. Sebenarnya kita bisa
memperhalus permukaan (selimut) yang dihasilkan dari fungsi surf yaitu dengan jalan
menambahkan shading mode yaitu : shading plat atau shading interp. Cobalah tambahkan
mode tersebut pada program contoh 7 dan lihat hasilnya di gambar 8.8 dan 8.9
surf(x,y,z); atau surf(x,y,z)
shading flat; shading interp;






Gambar 8.7 Hasil Eksekusi program contoh 7 : mesh(x,y,z)
Gambar 8.8 Hasil Eksekusi program : shading flat
Pemrograman Komputer dengan Matlab


45



































Gambar 8.9 Hasil Eksekusi program : shading interp
Pemrograman Komputer dengan Matlab


46
L
LLa
aam
mmp
ppi
iir
rra
aan
nn
1.Fungsi Matematika
Fungsi Keterangan
abs(x) nilai absolut dari x atau |x|
sign(x) fungsi signum,bernilai +1 jika x positif, -1 jika x negati, 0 jika x nol
sqrt(x) akar kuadrat dari x
exp(x) pangkat natural dari x, yaitu e
x
log(x) logaritma natural dari x, yaitu ln x
log10(x) logaritma basis 10 dari x, yaitu log10 x
log2(x) logaritma basis 2 dari x, yaitu log2 x
sin(x) sinus dari x (x dalam satuan radian)
cos(x) cosinus dari x (x dalam satuan radian)
tan(x) tangent dari x (x dalam satuan radian)
cot(x) cotangent dari x (x dalam satuan radian)
sec(x) secant dari x (x dalam satuan radian)
csc(x) cosecant dari x (x dalam satuan radian)
asin(x) arcus sinus dari x (x dalam satuan radian)
acos(x) arcus cosinus dari x (x dalam satuan radian)
atan(x) arcus tangent dari x (x dalam satuan radian)
acot(x) arcus cotangent dari x (x dalam satuan radian)
asec(x) arcus secant dari x (x dalam satuan radian)
acsc(x) arcus cosecant dari x (x dalam satuan radian)
sinh(x) sinus hiperbolic dari x (x dalam satuan radian)
cos(hx) cosinus hiperbolic dari x (x dalam satuan radian)
tanh(x) tangent hiperbolic dari x (x dalam satuan radian)
coth(x) cotangent hiperbolic dari x (x dalam satuan radian)
sech(x) secant hiperbolic dari x (x dalam satuan radian)
csch(x) cosecant hiperbolic dari x (x dalam satuan radian)
asinh(x) arcus sinus hiperbolic dari x (x dalam satuan radian)
acos(hx) arcus cosinus hiperbolic dari x (x dalam satuan radian)
atanh(x) arcus tangent hiperbolic dari x (x dalam satuan radian)
acoth(x) arcus cotangent hiperbolic dari x (x dalam satuan radian)
asech(x) arcus secant hiperbolic dari x (x dalam satuan radian)
acsch(x) arcus cosecant hiperbolic dari x (x dalam satuan radian)
round(x) pembulatan x ke bilangan bulat terdekat
Pemrograman Komputer dengan Matlab


47
floor(x) pembulatan ke bawah dari x ke bilangan bulat terdekat
ceil(x) pembulatan ke atas dari x ke bilangan bulat terdekat
fix(x) pembulatan ke bawah untuk x positif, dan ke atas untuk x negatif
rem(x,y) sisa pembagian dari x/y
real(z) komponen riil dari bilangan kompleks z
imag(z) komponen imajiner dari bilangan kompleks z
abs(z) magnitude dari bilangan kompleks z
angle(z) argumen dari bilangan kompleks z
conj(z) konjugasi dari bilangan kompleks z

2.Fungsi Matrix / Vektor
Fungsi Keterangan
det(A) Menentukan determinan dari matrik A
diag(A) Menentukan elemen-elemen diagonal dari matrik A
diag(x) Buat matrik diagonal dengan x sebagai diagonal utama
diff(x) Selisih dari x, x
i+1
-x
i

eig(A) Menentukan nilai eigen dari matrik A
eye(N) Membuat matrik identitas dengan ukuran NxN
find(x) Mencari index dimana elemen dari vektor x bernilai true
isempty(x) Menghasilkan true jika matrik/vektor kosong
length(x) Menentukan jumlah elemen dari vektor x
max(x) Menentukan nilai maksimum dari elemen-elemen vektor x
mean(x) Menentukan nilai mean dari elemen-elemen dalam vektor x
min(x) Menentukan nilai minimum dari elemen-elemen vektor x
norm(A) Norm matrix dari A
ones(n,m) Membuat matrix nxm dimana semua elemennya bernilai 1
prod(x) Hasil kali dari elemen-elemen vektor x
rand(n,m) Membuat matrik nxm dimana semua elemennya bilangan acak
repmat(A,n,m) Membuat matrik baru berukuran nxm dari matrik A
size(A) Menentukan jumlah baris dan kolom dari matrik A
std(x) Menentukan deviasi standar dari elemen-elemen vektor x
sort(x) Mengurutkan elemen-elemen dari vektor x dari kecil ke besar
sum(x) Menjumlahkan elemen-elemen dari vektor x
trace(A) Merunut matrik A
zeros(n,m) Membuat matrik berukuran nxm dimana semua elemenya bernilai 0

Pemrograman Komputer dengan Matlab


48
3.Fungsi String
Fungsi Keterangan
char(x) Mengubah bilangan bulat x menjadi string
double(s) Mengubah string s menjadi array bilangan bulat
findstr(s1,s2) Menentukan string yang lebih pendek diantara s1 dan s2
lower(s) Mengubah string s menjadi huruf kecil
strcat(s1,s2) Menggabungkan string s1 dan s2
strcmp(s1,s2) Menghasilkan true jika string s1 dan s2 identik atau sama
strtrim(s) Menghapus spasi pada string s
sprintf(...) Sama dengan fprintf tapi hasilnya berupa string
upper(s) Mengubah string s menjadi huruf besas

You might also like