0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan53 halaman

Modul Aplikom

Diunggah oleh

vey
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan53 halaman

Modul Aplikom

Diunggah oleh

vey
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 53

MODUL

APLIKASI KOMPUTER
MATEMATIKA 2021
OLEH:
UKE RALMUGIZ, S.SI., M.PD.
DAFTAR ISI

PENDAHULUAN: PENGANTAR MATLAB ................................................................................................. 3


MATRIKS..................................................................................................................................................... 7
FUNGSI MATEMATIKA, RELASI & LOGIKA ............................................................................................ 10
PENYELESAIAN SISTEM PERSAMAAN LINEAR .................................................................................... 12
TIPE DATA CHAR ..................................................................................................................................... 14
POLYNOMIAL ........................................................................................................................................... 17
GRAFIK 2 DIMENSI .................................................................................................................................. 19
GRAFIK 3D ................................................................................................................................................ 25
PENCOCOKAN KURVA ............................................................................................................................. 28
MINIMUM DAN MAKSIMUM FUNGSI ..................................................................................................... 29
ANALISIS DATA ........................................................................................................................................ 34
FUNGSI DAN INTEGRAL .......................................................................................................................... 37
EKSPRESI SIMBOLIK................................................................................................................................ 42
PENYELESAIAN PERSAMAAN ALJABAR ................................................................................................ 46
SCRIPT M-FILE ......................................................................................................................................... 48
PEMROGRAMAN: FOR-END & IF-END ................................................................................................... 50
IF –ELSEIF-END & SWITCH CASE ........................................................................................................... 52
WHILE-END .............................................................................................................................................. 54

Modul Aplikasi Komputer Prodi Pendidikan Matematika FKIP UMK | 2


MATERI 1
PENDAHULUAN: PENGANTAR MATLAB

KOMPETENSI
Mahasiswa dapat menggunakan program komputer yang sesuai untuk menyelesaikan
masalah-masalah matematika
Titik berat program komputer yang digunakan :
• MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi
numerik yang merupakan bahasa pemrograman matematika lanjutan dengan dasar
pemikiran menggunakan sifat dan bentuk matrik
• dapat mengerjakan matematika sederhana, menggambar grafik fungsi kompleks
sampai dengan penyusunan program

1. Command window (layar kendali)


2. Workspace (rak data)
3. Command history (layar pengingat)
4. Script/ M-file (editor )

Command windows juga digunakan untuk memanggil tool Matlab seperti editor,
debugger atau fungsi. Ciri dari window ini adalah adanya prompt (>>) yang menyatakan
matlab siap menerima perintah. Perintah dapat berupa fungsi-fungsi pengaturan file (seperti
perintah DOS/UNIX) maupun fungsi bawaan/toolbox MATLAB sendiri. Beberapa fungsi
pengaturan file dalam MATLAB :

Command Fungsi
dir / ls melihat isi dari sebuah direktori aktif.
cd melakukan perpindahan dari direktori aktif
pwd melihat direktori yang sedang aktif
mkdir membuat sebuah direktori
what melihat nama file m dalam direktori aktif
who melihat variabel yang sedang aktif
whos menampilkan nama setiap variabel
delete menghapus file
clear menghapus variabel
clc membersihkan layar
doc melihat dokumentasi The MathWorks, Inc. dalam format html
secara online
demo mencoba beberapa tampilan demo yang disediakan oleh Matlab

Modul Aplikasi Komputer Prodi Pendidikan Matematika FKIP UMK | 3


Contoh pemakaian Matlab

MATLAB Editor/Debugger (Editor M-File/Pencarian Kesalahan), berfungsi sebagai editor script


Matlab (M-file). Untuk mengakses window m-file ini dapat dilakukan dengan cara :
1. Memilih File kemudian pilih New
2. Pilih Script, maka MATLAB akan menampilkan editor window :

selain dengan cara di atas untuk menampilkan editor M-file ini dapat juga dilakukan dengan :
>> edit

VARIABEL
Sifat-sifat variabel dalam MATLAB, yaitu:
• Bersifat Case sensitive, membedakan huruf besar dan huruf kecil. Misal : Item ≠ item, f
≠ F.
• Maksimum 19 karakter
• Harus diawali dengan huruf, boleh diikuti angka, tetapi tidak sebaliknya. Misal a12,
tetapi tidak boleh 12a.
• Dua kata dihubungkan dengan underscore. Misal : buku_tulis
• Bukan konstanta khusus yang sudah ditentukan dalam MATLAB. Misal: ans, pi, eps,
flops, inf, NaN, i (dan) j, nargin, nargout, realmin, realmax

Modul Aplikasi Komputer Prodi Pendidikan Matematika FKIP UMK | 4


Konstanta Arti
NaN Not-a-Number
inf Bilangan tak hingga
realmin Bilangan floating-point terkecil
realmax Bilangan floating-point terbesar
eps Ketelitian relatif floating-point
pi 3.14159265...
i Unit imajiner
j Sama dengan i
nargin bilangan argumen input
nargout bilangan argumrn output

BILANGAN DAN OPERATOR MATEMATIKA DI MATLAB


Ada tiga tipe bilangan di dalam Matlab yaitu :
1. Bilangan bulat ( integer )
Contoh
>>x=12
x =
12
2. Bilangan real
Contoh
>>x=12.09
x =
12.0900
3. Bilangan kompleks
bentuk umumnya adalah z= a+bi , penulisannya diberi tanda i atau j

OPERASI ARITMATIKA DASAR


Operasi Simbol Contoh
Penjumlahan + 5+3
Pengurangan - 13-12
Perkalian * 3.14*0.85
Pembagian / atau \ 56/8=8\56
Pangkat ^ 5^2

KOMENTAR DAN TANDA BACA


Semua teks sesudah tanda % dianggap sebagai statemen komentar ,
Contoh:
buku=8 % banyaknya buku yang dibeli
buku =
8
Variabel buku diisi dengan nilai 8 dan statemen sesudah tanda % di anggap sebuah komentar .
Statemen ini berguna untuk mendokumentasikan apa yang sudah anda kerjakan. Tanda titik
koma ( ; ) dalam Matlab berguna untuk mencegah menampilkan hasil, contoh :
buku=8;

MENYIMPAN DAN MEMANGGIL DATA


1. Untuk Menyimpan dan memanggil data dari file pilih File Save Workspace As … .
2. Untuk memanggil data digunakan pilihan Load WorkSpace As atau Open pada menu file.
3. Untuk mengimport data, pilih file Import Data

5
TIPS

Tip1: Untuk memunculkan kembali perintah-perintah yang sudah diketik dalam MATLAB,
tekan tombol panah atas  pada keyboard.

Tip2: Jika perintah yang dimasukkan salah, edit kembali perintah tersebut dengan cara tekan
tombol panah atas  pada keyboard, kemudian gunakan panah kiri
 atau panah kanan → untuk menuju bagian yang salah, lalu betulkan
bagian tersebut.
MATERI 2
MATRIKS
PENULISAN MATRIK DI MATLAB
Tanda pisah antar elemen matrik Tanda koma (,) atau spasi digunakan untuk memisahkan
elemen-elemen satu baris. Tanda titik koma(;) digunakan untuk memisahkan elemen-elemen
satu kolom.
>> a=[1,2,3]
a = 1 2 3
>> b=[1;2;3]
b = 1
2
3
>> A=[1 2 3;4 5 6;7 8 9]
A = 1 2 3
4 5 6
7 8 9
MATRIK TRANSPOSISI
>> A'
ans = 1 4 7
2 5 8
3 6 9

MENENTUKAN UKURAN MATRIKS


>>S=size(A)

Menentukan ukuran baris dan kolom matriks A


>>[b,k] = size(A)
b = baris
k = kolom
>>b=size(A,1) % banyaknya baris matriks A
>>c=size(A,2) % banyaknya kolom matriks A

MENENTUKAN DETERMINAN MATRIK


>> det(A)

MENENTUKAN INVERS MATRIK


>> inv(A)
Vektor baris adalah matrik yang terdiri atas satu baris saja.
>> B=[2:6]
B = 2 3 4 5 6
Penulisan seperti di atas akan menghasilkan vektor baris dengan selisih 1
>> C=[2:2:6]
C = 2 4 6
Penulisan seperti di atas akan menghasilkan vektor baris dengan selisih 2

Vektor kolom adalah matrik yang terdiri atas satu kolom saja
>> V=[2:0.5:4]'
V = 2.0000
2.5000
3.0000
3.5000
4.0000
Penulisan seperti di atas akan menghasilkan vektor kolom dengan selisih 0.5

MENENTUKAN UKURAN VEKTOR


>> length(V)
ans = 5

7
ALJABAR MATRIK

Operasi aljabar matrik maupun skalar menggunakan simbol yang tidak jauh berbeda. Berikut
ini hirarki operasi aljabar dalam MATLAB.
Pertama ^ (pangkat), kedua *(perkalian) , ketiga / (pembagian kanan) atau \ (pembagian kiri) ,
dan terakhir + (penjumlahan) dan - (pengurangan).
Penjumlahan dan pengurangan
Hanya dapat dilakukan jika matrik-matrik yang akan dijumlahkan dan dikurangkan memiliki
orde sama.
>> A =[2 3 1 6;1 4 5 2]
>> A + A
ans = 4 6 2 12
2 8 10 4
>> A-A
ans = 0 0 0 0 0 0 0
Perkalian matrik
Syarat : jumlah kolom A = jumlah kolom baris B
Operasi perkalian matrik dalam MATLAB dilakukan dengan simbol *
>> A=[1,2,3]
A = 1 2 3
>> B=[1;2;3]
B = 1 2 3
>> A*B
ans = 14
>> B*A
ans = 1 2 3 2 4 6 3 6 9
Pembagian matrik kanan
Misalkan:
>> A=[1 2 3;2 5 4;4 3 1]
A = 1 2 3 2 5 4 4 3 1
>> c=[20 15 -8]
c = 20 15 -8
>> x=c/A
x = -8.6667 3.0952 5.6190

Pembagian matrik kiri


Ax=c
x=A-1c
x=A\c
Contoh
>> A=[1 2 3;2 5 4;4 3 1]
A = 1 2 3 2 5 4 4 3 1
>> c=[20;15;-8]
c = 20 15 -8
>> x=A\c
x = -1.0000 -4.7143 10.1429
>> A=[1 2;3 4]
A = 1 2 3 4
>> A.*A
ans = 1 4 9 16
>> A./A'
ans = 1.0000 0.6667 1.5000 1.0000
>> A.\A'
ans = 1.0000 1.5000 0.6667 1.0000
>> A.^A
ans = 1 4 27 256

MATRIKS KHUSUS
>> zeros(3) % 3-by-3 matrix of zero
>> ones(2,4)
>>ones(3)*pi
>>rand(3,1)

8
>>randn(3,1)
>>magic(4)
>>eye(3)
>>pascal(4)

MANIPULASI MATRIKS
>>A = (1:10)
>>B = (1:2:10)
>>D = (10:-2:1)
>>E = linspace(1,10)
>>F = linspace(1,10,20)
>>G = logspace(0,3)
>>H = logspace(0,3,10)
MERUJUK ELEMEN TERTENTU
>> A(2,3) % merujuk baris ke 2 kolom ke 3
>> A(:,3) % merujuk kolom ke 3
>> A(2,:) % merujuk baris ke 2
>> A(2,1:3)% merujuk baris ke 2 kolom 1 sd 3
>> A(2) % menunjuk elemen ke 2 dari A
>> A(5) % elemen ke 5 dari A
>> A(2,3)=2 % Mengubah elemen matriks baris ke 2 kolom 3 dengan 2
>> A(2,6)=1 % Mengubah elemen matriks baris ke 2 kolom 6 dengan 1
>> B = A(1:2,2:3) % Membentuk matriks B dari baris 1 sd 2 dan kolom 2
sd 3 matriks A

9
MATERI 3
FUNGSI MATEMATIKA, RELASI & LOGIKA

FORMAT PENULISAN ANGKA

Dibawah ini diberikan format penulisan angka untuk berbagai keperluan.


Format penulisan angka tersebut dapat diaktifkan melalui setting preference
atau dituliskan langsung.

Perintah Keluaran
>> format short 3.1429 ( 4 angka di belakang koma)
>> format long 3.14285714285714
>> format short e 3 3.1429e+000
>> format long e 3.142857142857143e+000
>> format rational 22/7
>> format short g 3.14286
>> format long g 3.14285714285714
>> format bank 3.14

PERINTAH PEMBULATAN ANGKA

Perintah Keluaran
ceil(x) perintah untuk membulatkan angka ke bil integer di atasnya
floor(x) perintah untuk membulatkan angka ke bil integer di bawahnya
fix(x) perintah untuk membulatkan angka ke bil integer ke atas atau ke
bawah menuju arah nol
round(x) perintah untuk membulatkan angka ke bil integer terdekat
mod(x,y) sisa yang ditinggalkan setelah operasi pembagian dengan definisi
x-n*y dimana n=floor(x./y)
abs(x) harga mutlak dari x
sign(x) tanda dari x
factor(x) faktor utama dari x

FUNGSI MATEMATIKA
1. Fungsi Trigonometri
Fungsi-fungsi trigonometri antara lain: sin(), cos(), tan(), sinh(), cosh(), tanh(), asin(), acos(),
atan(), asinh(), acosh()dan atanh().
Catatan : argumen untuk fungsi trigonometri ini adalah mode radian.

2. Fungsi Eksponensial dan Logaritma


Fungsi-fungsi Trigonometri Eksponensial dan Logaritma terdiri atas: exp, log (logaritma
natural), log10 (logaritma basis 10), log2 (logaritma basis 2), sqrt (akar pangkat), exp(harga
eksponensial).

OPERASI RELASI DAN LOGIKA

MATLAB menyediakan operasi logika dan relasional, yang digunakan untuk menjawab
pertanyaan benar atau salah dan untuk mengontrol urutan eksekusi sederetan perintah
MATLAB (biasanya dalam M-File) berdasarkan pada hasil pertanyaan benar/salah. Sebagai
masukan pada semua ekpresi relasi dan logika , MATLAB menganggap semua angka tidak nol
sebagai benar, nol sebagai salah.

10
Operator Relasi Deskripsi
< Kurang dari
> Lebih dari
<= Kurang dari atau sama dengan
>= Lebih dari atau sama dengan
= Sama dengan
~= Tidak sama dengan

Operator Logika Relasi Deskripsi


and(A,B) atau A & B operasi logika AND antara A dan B
or(A,B) atau A|B operasi logika OR
xor operasi logika XOR
~A operasi logika NOT pada A

11
MATERI 4
PENYELESAIAN SISTEM PERSAMAAN LINEAR

Jika diketahui sebuah SPL berikut:


x1 + x2 - x3 = 1
-2x1 - 6x2 + 4x3 = -2
-x1 - 3x2 + 3x3 =1
SPL di atas dapat dinyatakan dalam bentuk persamaan matriks Ax=b dengan

A= B= dan vektor x =

• Matriks memiliki solusi bila determinan-nya tidak sama


nol: >>det(A)≠0
• Dua cara penyelesaian:
– Lebih disukai: x=A\b
– Kurang diminati tapi langsung menuju sasaran: x=inv(A)*b
• Metode 1 menggunakan pendekatan faktorisasi LU dan melambangkan solusi sebagai
pembagian kiri A ke b
Lebih disukai karena memerlukan sedikit perkalian dan pembagian, sehingga lebih
cepat dan solusinya lebih akurat untuk masalah yang besar

Ada tiga macam SPL :


1. Jumlah persamaan sama dengan jumlah variabel (Matriks bujur sangkar)
Ada dua cara penyelesaian:
– x=inv(A) * b
– x=A\b (pembagian kiri matriks)
Contoh :
x1 + x2 - x3 = 1
-2x1 - 6x2 + 4x3 = -2
-x1 - 3x2 + 3x3 =1

2. Terdapat lebih BANYAK persamaan dari pada variabel (kasus berlebihan) disebut penyelesaian
kuadrat terkecil
x=A\b
contoh :
x1 + x2 - x3 =1
-2x1 - 6x2 + 4x3 = -2
-x1 - 3x2 + 3x3 =1
x1 + 4x2 + 5x3 =4

3. Terdapat lebih SEDIKIT persamaan dari pada variabel (kasus kekurangan) disebut penyelesaian normal
minimum
• Terdapat penyelesaian yang tak terbatas
• Matlab menghitung dua di antaranya
>>x=A\b % solusi dengan jumlah nol terbanyak
>>xn=pinv(A)*b % solusi normal minimum
contoh :
x1 + x 2 - x3 =1
-2x1 - 6x2 + 4x3 = -2

12
PRAKTIKUM
SELESAIKANLAH SPL-SPL BERIKUT:
1. 3x1 - x2 +2x3 = 10 2. –1x + 7y + 5z=12
3x2 - x3 = 15 6x + 3y - 2z=3
2x1 + x2 - 2x3 =0 8x + z= 10
4x - 4y + 2z=-9
3. -2x1 + x2 +5 x3 = 1
3x2 - x3 = 4
8x1 + 2x2 =5

13
MATERI 5
TIPE DATA CHAR

Tipe data char di MATLAB merupakan sebuah tipe data yang melibatkan karakter.
Sebenarnya representasi string pada MATLAB adalah (kumpulan karakter) merupakan array
dari sekumpulan karakter yang berukuran 1 x n.
Dalam matlab, string diibaratkan sebuah array dari kumpulan karakter. Setiap karakter
direpresentasikan sebagai sebuah nilai ASCII.
Contoh :
>> string ='Aplikasi
Komputer' string =
Aplikasi Komputer
Untuk melihat penyajian string di atas yang menggunakan kode ASCII, kita menggunakan
sebuah fungsi double.
>> teststring = double(string)
teststring =

65 112 108 105 107 97 115 105 32 75 111


109
112 117 116 101 114
Untuk mengembalikan array teststring ke karakter dengan menggunakan fungsi konversi
char.
>> konversichar =
char(teststring) konversichar =
Aplikasi Komputer

Beberapa fungsi yang digunakan dalam string adalah :


1. Strcmp, fungsi ini dipakai untuk memeriksa apakah dua string memiliki kesamaan.
Contoh:
>> testequals =
strcmp(string,konversichar) testequals =
1
2. Strcat, fungsi ini dipakai untuk menggabungkan dua buah string.
Contoh:
>> string1 = 'saya mahasiswa'
string1 =
saya mahasiswa
>> string2 = 'jurusan pendidikan matematika'
string2 =
jurusan pendidikan matematika
>> strcat(string1,string2)
ans =
saya mahasiswa jurusan pendidikan matematika
3. Isletter, fungsi ini dipakai untuk memeriksa apakah dalam suatu string terdapat huruf atau
tidak, dengan fungsi ini pada MATLAB maka apabila dalam string tersebut terdapat huruf
maka akan ditunjukkan dengan angka 1 dan apabila dalam string tersebut ada karakter
selain hurufmaka akan ditunjukkan dengan angka 0.
Contoh:
>> isletter(string1
) ans =
1 1 1 1 0 1 1 1 1 1 1 1 1 1
4. Isspace, fungsi ini dipakai untuk memeriksa apakah terdapat spasi, enter, tabulasi di dalam
satu string, dan apabila ditemukan salah satu dari ketiganya (spasi,enter,tabulasi) maka
akan ditunjukkan dengan angka 1, selain itu akan ditunjukkan dengan angka 0.
Contoh:
>> isspace (string1)
ans =

14
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
5. int2str, fungsi ini dipakai untuk mengkonversi dari integer ke dalam string. Fungsi ini akan
membulatkan argument (matriks) ke dalam sebuah bilangan integer dan mengkonversi
hasilnya menjadi sebuah matriks string.
Contoh:
>> testinteger = randn(4)
testinteger =
-0.4326 -1.1465 0.3273 -0.5883
-1.6656 1.1909 0.1746 2.1832
0.1253 1.1892 -0.1867 -0.1364
0.2877 -0.0376 0.7258 0.1139
>> testinteger2 = int2str(testinteger)
testinteger2 =
0 -1 0 -1
-2 1 0 2
0 1 0 0
0 0 1 0
6. num2str
num2str : mengkonversi bilangan ke string
Contoh
Jari2=2;
Luas=pi*Jari2^2;
Y=[‘Lingkaran dengan jari-jari’ num2str(Jari2) ‘mempunyai luas’
num2str(Luas) ‘.’]
Y=[‘Lingkaran dengan jari-jari’ ,(Jari2), ‘mempunyai luas’ , (Luas)
,‘.’]
Y=[‘Lingkaran dengan jari-jari’ ,2, ‘mempunyai luas’ , 12.5664 ,‘.’]

MANIPULASI TEKS
Contoh :
t='Aplikasi Komputer'
U=t(10:17)
V=t(17:-1:10)
W=t(10:17)’
A=‘matematika’
B=‘fisika’
C=[A B]
C=[A ‘ ‘ B ‘atau Biologi.’]
D=char(A,B)
size(D)

KONVERSI STRING
1. bin2dec : mengkonversi string biner ke bilangan bulat desimal
Contoh :
bin2dec(‘110011’)
2. dec2bin :mengkonversi bilangan bulat desimal ke string biner
Contoh :
dec2bin(45)
3. hex2dec :mengkonversi string heksadesimal ke bilangan bulat desimal
Contoh :
hex2dec(‘A1F’)
4. dec2hex :mengkonversi bilangan bulat desimal ke string heksadesimal
Contoh :
dec2hex(31)
5. base2dec : mengkonversi string berbasis x ke bilangan bulat desimal
Sintaks
d = base2dec('strn',base)
Contoh :
base2dec('212',3) mengkonversi 2123 ke bentuk desimal
6. dec2base :mengkonversi desimal ke bilangan basis n

15
Sintaks :
p = dec2base(d,base)
Contoh :
dec2base(23,2) mengkonversi 2310 ke basis 2
dec2base(23,8) mengkonversi 2310 ke basis 8

MENAMPILKAN PERINTAH (OUTPUT) PADA MATLAB

Perintah yang ditulis pada Matlab akan ditampilkan bersama dengan nama variabel,
jika tidak diakhiri dengan tanda titik koma (; atau semicolon). Untuk menampilkan perintah
atau output pada Matlab, bisa digunakan fungsi disp(x). Fungsi disp(x) dapat digunakan untuk
perintah skalar, vektor, atau matrik, tanpa menampilkan nama variabel dari perintah tersebut.
Contoh :
>> x=17; y=1:10; z=[y;2:2:20];
>> disp(x)
17
>> disp(y)
1 2 3 4 5 6 7 8 9 10
>> disp(z)
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20

Fungsi disp dapat digunakan untuk menampilkan sebuah teks. Dibawah ini contoh teks yang
diletakkan pada bagian tunggal

>> disp('Apa kabar Anda?')


Apa kabar Anda?

Sedangkan teks yang majemuk atau mempunyai lebih dari satu string dapat ditampilkan
dengan menggunakan kurung kotak [ ], seperti berikut

>> disp(['Apa kabar',' Anda


','?']) Apa kabar Anda ?

Nilai numerik dapat diletakkan pada string teks jika nilai numerik tersebut dipindahkan
menjadi string. Jumlah konversi string dibentuk dengan fungsi num2str(x), seperti berikut ini
>> disp([num2str(x),' dan ',num2str(y), ' merupakan nilai x dan y.'])
17 dan 1 2 3 4 5 6 7 8 9 10 merupakan nilai x dan y.

16
MATERI 6
POLYNOMIAL

Suatu polinomial, p(x), berderajat n dinyatakan sebagai sebuah vektor baris p


berukuran n+1. Elemen vektor menunjukkan koefisien dari polinomial yang diurutkan dari
orde tertinggi ke terendah.

dinyatakan sebagai:
p = ( an an-1 ... a1 a0 )
Command berikut digunakan untuk menangani polinomial:
polyval(p,x) mengevaluasi polinonial p pada nilai x. x bisa berupa skalar maupun
vektor
poly(x) menghitung vektor sepanjang n+1 yang mewakili suatu polinomial
orde-n. Vektor x sepanjang n berisi akar-akar dari polinom tersebut
roots(p) menghitung vektor berisi akar-akar dari polinomial p
conv(p,q) menghitung produk (hasil perkalian) dari polinomial p dan q. Bisa juga
dianggap sebagai konvolusi antara p dan q
[k,r] = deconv(p,q) membagi polinomial p dengan q. Hasil pembagian disimpan dalam
polinom k dan sisa pembagian dalam polinom r. Bisa juga dianggap
sebagai dekonvolusi antara p dan q
polyder(p) menghitung vektor sepanjang n berisi turunan pertama dari polinom p

Misalkan kita memiliki dua polinomial sebagai berikut:


g( x) = 2x3 + 5x −1 h(x) = 6x2 − 7
Dalam MATLAB kedua polinomial ini dinyatakan dengan:
>> g = [2 0 5 –1];
>> h = [6 0 –7];

MENGEVALUASI NILAI
Untuk mengevaluasi polinomial pada x = 10 kita tuliskan:
>> nilai1 = polyval(g,10), nilai2 =
polyval(h,10) nilai1 =
2049
nilai2 =
593
Namun bisa pula x berbentuk vektor:
>> x = -3:3
x =
-3 -2 -1 0 1 2 3
>> nilai1 = polyval(g,x), nilai2 = polyval(h,x)
nilai1 =
-70 -27 -8 -1 6 25 68

nilai2 =
47 17 -1 -7 -1 17 47

PENJUMLAHAN & PENGURANGAN


>> g = [2 0 5 –1];
>> h = [0 6 0 –7];
>> g+h % mencari a(x) + b(x),
>> g-h % mencari a(x) - b(x)

17
PERKALIAN & PEMBAGIAN
Jika kita kalikan kedua polinomial tersebut, akan diperoleh sebuah polinomial baru:
>> p = conv(g,h)
p =
12 0 16 -6 -35 7
5 3 2
yang mewakili p(x) = 12x +16x − 6x − 35x + 7
>> q = deconv(g,h)
q =
0.3333 0
yang mewakili q(x) = 0,3333x

MENCARI AKAR

Akar-akar dari polinomial g(x) dan h(x) bisa kita hitung:


>> akar_g = roots(g), akar_h =
roots(h) akar_g =
-0.0985 + 1.5903i
-0.0985 - 1.5903i
0.1969
akar_h =
1.0801
-1.0801

TURUNAN & INTEGRAL


a(x) = x2 + 2x + 3
>>a=[1 2 3]
>> polyder(a) % Turunan dari a(x)
>> polyint(a) % Integral dari a(x)

POLYNOMIAL RASIONAL
m m−1
a(x) = a x + a x +... + a
1 2 m+1

n n− 1
b(x) b1x + b2 x +... + bn+1
Contoh 2
a(x) = 2x + x + 4
3
b(x) x − 3x −1
Turunan dari polynomial tersebut dicari dengan cara
>> a=[2 1 4]
>> b=[1 0 -3 -1]
>> [p,q]=polyder(a,b)
p adalah pembilang & q penyebut dari turunan

18
MATERI 7
GRAFIK 2 DIMENSI
PLOT
• plot(Y) → menggambar garis yang didefinisikan oleh titik Y vs indeksnya (Y bil real)
Contoh :
>>Y = [1 3 5 4 7 0 9 8 2];
>>plot(Y)
• plot(X,Y) → menggambar garis yang didefinisikan oleh pasangan X vs Y
Contoh :
>> x = -pi:pi/10:pi;
>> y = tan(sin(x)) - sin(tan(x));
>> plot(x,y)

MENGGAMBAR BEBERAPA GRAFIK DALAM 1 LAYAR (FIGURE)


Contoh :
>> t = 0:pi/100:2*pi;
>> y = sin(t);
>> y2 = sin(t-0.25);
>> y3 = sin(t-0.5);
>> plot(t,y,t,y2,t,y3)

MENGATUR GRAFIK
Grafik dapat diatur warna garis, jenis garis, dan bentuk penandaan
• Contoh:
>>plot(t,y,’r-.)
Mengatur bentuk garis (linestyle)
• LineStyle(bentuk garis) pada grafik, dapat diatur dengan memilih bentuk :

Mengatur tebal garis (LineWidth)


Default LineWidth adalah 0.5 points (1 point = 1/72 inch).
Contoh;
>> x = -pi:pi/10:pi;
>> y = tan(sin(x)) - sin(tan(x));
>> plot(x,y,'-.','LineWidth',2)

Mengatur bentuk(mark) titik data


Pasangan titik data (x,y) dapat ditandai dengan bentuk-bentuk khusus, seperti dalam tabel
sbb:

19
Contoh :
>> t = 0:pi/10:2*pi;
>> y = sin(t);
>> y2 = sin(t-0.25);
y3 = sin(t-0.5);
>> plot(t,y,'<-',t,y2,'-',t,y3,':')
>> plot(t,y,'p-',t,y2,'-',t,y3,':')
>> plot(t,y,'p',t,y2,'-',t,y3,':')

WARNA GARIS
Warna garis dapat diatur dengan menambahkan pilihan warna, yaitu :
r : merah k : hitam
g : hijau w : putih
b : biru c : cyan
y : kuning m : magenta

Contoh :
>> plot(t,y,‘r-',t,y2,‘g-*',t,y3,‘c:')
>> x = -pi:pi/10:pi;
>> y = tan(sin(x)) - sin(tan(x));
>> plot(x,y,'--rp','LineWidth',2,'MarkerEdgeColor','k',...
'MarkerFaceColor','g','MarkerSize',10)

Mengatur Nilai pada sumbu


>> x = -pi:.1:pi;
>> y = sin(x);
>> plot(x,y)
>> set(gca,'XTick',-pi:pi/2:pi)
>> set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})

Menambahkan Label & Judul grafik


• xlabel →menambahkan label untuk sumbu x
• ylabel →menambahkan label untuk sumbu y
• title → menambahkan judul
Contoh :
>> xlabel(‘Sudut’)
>> ylabel(‘Nilai’)
>> title(‘Grafik Fungsi Sinus’)

20
Menambahkan legend pada grafik
Contoh :
>> x = -pi:pi/20:pi;
>> plot(x,cos(x),'-ro',x,sin(x),'-.b‘,x,tan(x))
>> h = legend('cos','sin‘,’tangen’);

Menggambar beberapa grafik dalam windows yang berbeda


Contoh :
>> x = -pi:pi/20:pi;
>> plot(x,cos(x),'-ro’)
>> title(‘Grafik Cosinus’)
>> figure
>> plot(x,sin(x),'-.b')
>> title(‘Grafik Sinus’)

Menggambar beberapa grafik dalam windows yang sama


>> x = -pi:pi/20:pi;
>>subplot(2,2,1);
>> plot(x,cos(x),'-ro')
>> title('Grafik Cosinus')
>> subplot(2,2,2);
>> plot(x,sin(x),'-.b')
>> title('Grafik Sinus')
>> subplot(2,2,3);
>> plot(x,tan(x),':g')
>> title('Grafik Tangen')
>> subplot(2,2,4);
>> plot(x,atan(x),'-*m')
>> title('Grafik Arc Tangen')

• grid→memunculkan grid line pada gambar (on dan off)


• grid on→memunculkan grid line pada gambar
• grid off→menghilangkan grid line pada gambar

Menambahkan teks pada grafik
Sintaks : text(x,y,’string’)
Contoh :
>> plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))
>> text(0,0,' sin(\pi)','FontSize',10)
>> text(pi,0,' \leftarrow sin(\pi)','FontSize',18)

Penulisan karakter simbol di matlab

21
Contoh :
text(0.4,.5,'e^{i\omega\tau} = cos(\omega\tau) + i sin(\omega\tau)')

Mengatur teks dengan mouse


• Sintaks : gtext(‘string1’,’string2’,...)
Contoh :
x = -pi:.1:pi;
y = sin(x);
plot(x,y)
gtext(‘sin(\pi)’)
fill → memberi isian warna (fill warna) pada grafik
fill(x,y,’c’)

STAIRS
Untuk menggambar grafik tangga
Contoh :
>> x = linspace(-2*pi,2*pi,40);
>> stairs(x,sin(x))

BAR, BARH
Untuk menggambar grafik batang
Sintaks :
– bar(Y)
– bar(x,Y)
– bar(...,width)
– bar(...,'style') → ‘stack’,’group’
– bar(...,'bar_color') → ‘r’,g’, …
contoh
>> Y = round(rand(5,3)*10);
>> subplot(2,2,1)
>> bar(Y,'group')
>> title ('Group‘)
>> subplot(2,2,2)
>> bar(Y,'stack')
>> title('Stack‘)

22
>> subplot(2,2,3)
>> barh(Y,'stack')
>> title ('Stack‘)
>> subplot(2,2,4)
>> bar(Y,1.5)
>> title ('Width = 1.5‘)

PIE
Menggambar pie chart
Sintaks :
pie(X)
pie(X,explode)
pie(...,labels)
Contoh
>> x = [1 3 0.5 2.5 2]; pie(x)
>> x = [1 3 0.5 2.5 2];
>> explode=[0 1 0 0 0];
>> pie(x, explode)
>> x = [1 3 0.5 2.5 2];
>> explode=[0 1 0 0 0];
>> pie(x, explode, {‘baju’,’makanan’,’minuman’,’buku’,’pensil’})

EZPLOT
1. FUNGSI EKSPLISIT F=F(X)
Contoh fungsi eksplisit :
y=cos(x)
f (x) = sin(x)
2
1+ x
A. ezplot(f) : menggambar fungsi f = f(x) dalam domain –2*pi < x < 2*pi

contoh:
>>ezplot('cos(x)')
>>ezplot(‘sin(x)/(1+x^2)')

B. ezplot(f, [a,b]): menggambar f = f(x) dalam interval a < x < b


contoh:
>> ezplot('cos(x)', [0, pi])

C. ezplot(f, [xmin, xmax,ymin,ymax]): menggambar f = f(x) dalam interval xmin < x <
xmax dan ymin<y<ymax
contoh:
>> ezplot(‘sin(x)/(1+x^2)', [-4, 4,-0.5,0.5])

2. FUNGSI IMPLISIT F=F(X,Y)


Contoh fungsi implisit:
2 2
x − y =1 1 − log( y) + log( −1+ y) + x =1
y
A. ezplot(f):

menggambar f(x,y) = 0 dalam domain -2*pi < x < 2*pi dan -2*pi < y < 2*pi
contoh:

23
>> ezplot(‘x^2-y^2-1')

B. ezplot(f, [a,b]): menggambar f(x,y) = 0 dalam interval a < x < b and a < y < b

contoh:
>> ezplot('x^3 + y^3 - 5*x*y + 1/5',[-3,3])

C. ezplot(f, [xmin, xmax,ymin,ymax]): menggambar f(x,y)=0 dalam interval xmin < x <
xmax dan ymin<y<ymax
contoh:
>> ezplot('x^3 + y^3 - 5*x*y + 1/5',[-3,3,-5,5])

3. FUNGSI PARAMETRIK
Contoh fungsi parametrik
x = sin(t)
y = cos(t)
2 2 2 2
x + y = sin t + cos t =1
A. ezplot(x,y): menggambar kurva parametric x = x(t) dan y = y(t) dalam domain 0 < t < 2*pi
contoh:
>> ezplot(‘sin(t)‘,’cos(t)’)

B. ezplot(x,y): menggambar kurva parametric x = x(t) dan y = y(t) dalam domain 0 < t < 2*pi
contoh:
>> ezplot(‘sin(t)‘,’cos(t)’)

FPLOT
1. FPLOT(F,[A,B]) :
menggambar grafik f dalam selang interval a <x<b
Contoh:
>> fplot('sin(1 ./ x)', [0.01 0.1])

2. FPLOT(F,[XMIN,XMAX,YMIN,YMAX]) :
menggambar grafik f dalam selang interval xmin <x<xmax dan ymin <y<ymax
Contoh:
>> fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1])
Contoh di atas juga untuk menggambar lebih dari 1 grafik fungsi dalam 1 perintah

24
MATERI 8
GRAFIK 3D
plot3

Plot3 berfungsi untuk menggambar grafik garis 3


Dimensi Sintak umum
plot3(x1,y1,z1,S1,x2,y2,z2,S2,…)

Keterangan:
xn,yn,zn : vector atau matriks
Sn : karakter string, bersifat opsional, untu mengatur warna,
k
symbol, style garis
Contoh :
»t=0:pi/50:10*pi;
» plot3(sin(t),cos(t),t,'-o')
» title('Helix'),xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t')
» text(0,0,0,'titik asal')

MENAMBAHKAN TEXT
text(x,y,z,’string’)

MENGATUR AXIS
axis(xmin,xmax,ymin,ymax,zmin,zmax).
MERUBAH SUDUT PANDANG:
Grafik 3D mempunyai sudut pandang, yang disebut dgn azimuth dan elevasi. Nilai
default azimuth=-37.5o dan elevasi= 30o.
Perintah untuk merubah sudut pandang adalah view(az,el)
Contoh :
menggambar 3 buah grafik garis 3D dalam satu figure
» x=linspace(0,3*pi);
» z1=sin(x);
» z2=sin(2*x);
» z3=sin(3*x);
» y1=zeros(size(x));
» y2=ones(size(x));
» y3=y2/2;
» plot3(x,y1,z1,x,y2,z2,x,y3,z3)
Contoh perubahan sudut pandang:
» subplot(2,2,1);
» plot3(x,y1,z1,x,y2,z2,x,y3,z3)
» title('default, Az=-37.5 El=30')
» view(-37.5,30)
» subplot(2,2,2);
» plot3(x,y1,z1,x,y2,z2,x,y3,z3)
» title('dirotasi ke 52.5')
» view(-37.5+90,30)
» subplot(2,2,3);
» plot3(x,y1,z1,x,y2,z2,x,y3,z3)
» title('elevasi menjadi 60')
» view(-37.5,60)
» subplot(2,2,4)
» plot3(x,y1,z1,x,y2,z2,x,y3,z3)
» title('Az=0 El=90')
» view(0,90)
» grid

25
Beberapa fungsi view:
• view(2)mengeset sudut pandang ke default 2 dimensi, az=0, el=90
• view(3)mengeset sudut pandang ke default 3 dimensi, az=-37.5, el=30
• [az,el]=view Memperoleh nilai azimuth dan elevasi dari grafik yang ada

MESH
Perintah Mesh berfungsi untuk membuat grafik dari fungsi dengan dua variabel
z=f(x,y). Hasilnya berupa grafik yang tampilannya seperti jala. Contoh:
» x=-7.5:0.5:7.5;
» y=x;
» [X,Y]=meshgrid(x,y);
» R=sqrt(X.^2+Y.^2)+eps;
» Z=sin(R)./R;
» mesh(X,Y,Z)

Melihat bagian grafik yang tersembunyi:


• Perintah hidden off akan membuat bagian grafik yang tersembunyi menjadi terlihat.
Cobalah perintah hidden off di bawah perintah mesh(X,Y,Z). Untuk menyembunyikan lagi,
ketikkan hidden on
• meshgrid berfungsi untuk membuat matriks X yang baris-barisnya duplikat dari matriks
x, dan Y yang kolom-kolomnya duplikat matriks y. Lebih jelasnya, perhatikan hasil dari
contoh berikut:
» x=2:0.5:5
» y=x*2
» [X,Y]=meshgrid(x,y)
Variasi perintah mesh adalah meshc dan meshz, sintaknya sama dengan sintak mesh

WATERFALL
Perintah waterfall menghasilkan grafik yang sama dengan perintah mesh, tetapi garis-garis jala
hanya tampak dari arah sumbu x.

Contoh
» waterfall(X,Y,Z)

SURF
Perintah surf berfungsi untuk menggambar grafik bidang permukaan. Sintaknya sama dengan
perintah mesh.

Contoh :
>> surf(X,Y,Z)
Ada dua variasi perintah surf, yaitu surfc dan surfl

CONTOUR, PCOLOR DAN QUIVER


Pcolor :merupakan ekuivalensi 2 dimensi dari surf.
Contour:menggambar grafik garis yang sesuai dengan ketinggian bidang
Quiver : memberi arah panah, banyak digunakan untuk menggambar medan magnet.
Shading interp : mengubah bayangan/warna menjadi interpolasi

Contoh :
» [X,Y,Z]=peaks(30);
» [X,Y,Z]=peaks(30);

26
» surf(X,Y,Z)
» pcolor(X,Y,Z)
» shading interp
» hold on
» contour(X,Y,Z,19,’k’) % gambar 19 garis contour warna ‘k’ (hitam)
» [dy,dx]=gradient(Z,0.5,0.5);
» quiver(X,Y,dx,dy)
» cs=contour(X,Y,Z); %mengambil angka sesuai contour/ketinggian
» clabel(cs) % memberi label angka sesuai ketinggian

Grafik 2D dan 3D
plot plot grafik 2-dimensi
plot3 plot garis dalam 3-dimensi
fplot plot fungsi
subplot membagi figure yang ada menjadi subplot
errorbar plot grafik dengan error-bar
comet, comet3 plot beranimasi, 2-D, 3-D
polar plot dalam koordinat polar
Semilogx, semilogy, Loglog plot logaritmik
quiver, feather, compass, rose grafik bilangan kompleks
stem plot data diskrit
hist, bar, stairs plot histogram, diagram batang dan tangga

PENGATURAN GRAFIK:
figure menciptakan atau memunculkan suatu figure
clf membersihkan figure
hold menahan plot yang ada agar tidak hilang tertimpa
plot baru
subplot membagi figure yang ada menjadi subplot
clc membersihkan tampilan command window
home mengembalikan kursor ke pojok kiri-atas
axis mengatur sumbu plot
zoom memperbesar / memperkecil (untuk grafik 2-D)
grid memunculkan / menghilangkan grid
title, xlabel, ylabel, menuliskan berbagai teks di dalam plot
zlabel
text menuliskan teks di manapun di dalam plot
gtext menempatkan teks dengan mouse
ginput membaca koordinat di dalam plot
rbbox memindahkan suatu area segi empat
hidden memperlihatkan / menyembunyikan permukaan
view mengatur posisi dan sudut penglihatan

PLOT PERMUKAAN DAN KONTUR


contour plot kontur
contour3 plot kontur dalam ruang 3-D
clabel memberi tanda pada garis kontur
meshgrid membuat jalinan titik untuk plot 3-D
cylinder, sphere grid untuk geometri silinder dan bola
surf plot permukaan (surface)
mesh plot mesh
meshc, meshz, waterfall plot mesh dengan garis referensi
surfl, surfc, surfnorm plot permukaan dengan pencahayaan khusus, kontur, dan
garis normal
pcolor plot permukaan dilihat dari atas
fill, fill3 mengisi poligon
slice plot fungsi tiga variabel

27
MATERI 9
PENCOCOKAN KURVA
Pencocokkan kurva (curve-fitting) yang akan dibahas di sini ialah pencocokkan titik-
titik data dengan suatu fungsi polinomial dengan metode pendekatan kuadrat terkecil (least
squares approximation). Tujuannya adalah menemukan suatu kurva halus yang paling
mendekati data tetapi tidak harus melewati setiap point data.

Dalam matlab, menggunakan perintah


• polyfit(x,y,n), untuk menghitung vektor berisi koefisien polinomial orde-n yang
mendekati titik-titik data di ( xi , yi )
• [p,E] = polyfit(x,y,n), menghitung vektor polinomial p dan matriks E yang bisa
digunakan oleh command polyval untuk mengestimasi error.

Contoh:
Diketahui pasangan data x dan y sbb:
>>x=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]
>>y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]
>>p=polyfit(x,y,n)

• Jika dipilih n=1 → dinamakan regresi linear (pendekatan garis lurus terbaik)
• Jika dipilih n=2 → dinamakan polynomial kuadratis (pencocokan kurva kuadrat
terkecil)
• Jika dipilih n=3 → pencocokan kurva derajat 3
• Dst
Misal n =2, maka diperoleh
P2=
-9.8108 20.1293 -0.0317

Artinya kurva pencocokan yang diperoleh adalah

P2= -9.8108x2 +20.1293x -0.0317


Misal n =3, maka diperoleh
p3 =

16.0758 -33.9245 29.3246 -0.6104

Artinya kurva pencocokan yang diperoleh adalah

y= 16.0758x3 -33.9245x2+29.3246x -0.6104


Misal n =7, maka diperoleh
p7 =
1.0e+004 *
0.4166 -1.3883 1.7995 -1.1393 0.3619 -0.0543 0.0050 -0.0000

Artinya kurva pencocokan yang diperoleh adalah

y= 4166x7 -13883x6 + 17995x5 -11393x4+3619x3-543x2+50x

Selanjutnya digambar ketiga persamaan yang diperoleh untuk membandingkan


persamaan manakah yang paling mendekati titik-titik datanya.
>> X1=linspace(0,1);
>> Z2=polyval(P2,X1);
>> Z3=polyval(P3,X1);
>> Z7=polyval(P7,X1);
>> plot(x,y,'-o',X1,Z2, X1,Z3, X1,Z7,)
>> legend('data','derajat 2','derajat 3','derajat 7')

28
MATERI 10
MINIMUM DAN MAKSIMUM FUNGSI

MINIMUM DAN MAKSIMUM DARI FUNGSI


Untuk melakukan optimisasi, yaitu mendapatkan solusi optimal, kita harus
mendapatkan maksimum atau minimum dari fungsi pada suatu interval. Dalam hal ini MATLAB
menggunakan metode numerik untuk menemukan minimum dari suatu fungsi. Algoritma yang
digunakannya iteratif, yaitu suatu proses berulang. Misalkan kita ingin mencari minimum xmin
dari fungsi f(x).

Metode iteratif ini membutuhkan tebakan awal x0. Dari nilai awal ini akan diperoleh nilai
berikutnya, x1, yang diharapkan semakin mendekati xmin. Seberapa dekat x1 ke xmin
tergantung pada metode numerik yang digunakan. Proses iterasi ini berlanjut hingga nilai xi
yang mendekati dengan akurasi tertentu diperoleh, di mana |xmin − xi| cukup kecil.
Dalam MATLAB tidak ada command untuk menentukan maksimum suatu fungsi f(x), namun
dalam hal ini bisa digunakan fungsi g(x) = − f(x) untuk dicari minimumnya.

fminbnd(‘fcn’,x1,x2) menghitung minimum dari fungsi satu variabel fcn pada interval x1 <
x < x2. Jika minimum-lokal tidak ditemukan, hasilnya ialah nilai x
terkecil pada interval tadi.
fminsearch(‘fcn’,x0) menghitung minimum dari fungsi multi variabel fcn dengan tebakan
awal berupa vektor x0.

Langkah-langkah untuk mencari titik balik minimum dari sebuah fungsi suku banyak.

Contoh:
1 3 2
Tentukan titik balik minimum dari fungsi f (x) = 3 x − 2x + 3x + 4
Langkah 1: mendefinisikan fungsi
Tanpa menggunakan ekspresi simbolik, sebuah fungsi dapat didefinisikan dengan
menggunakan perintah inline.

>>f= inline('1/3*x^3-2*x^2+3*x+4')

Langkah 2: menentukan interval letak titik balik minimum


Untuk menentukan interval titik balik minimum, terlebih dahulu perlu digambar grafiknya.

>>ezplot(f),grid

Jika grafik kurang jelas, intervalnya dapat diatur sbb

>>ezplot(f,[-1,5,-1,6])

29
Titik balik
minimum

Dari grafik tersebut tampak bahwa interval titik balik minimum berada pada
interval (2 ,4 ).

Langkah 3: menentukan absis titik balik minimum dengan perintah fminbnd


Sintaks perintah: fminbnd(f,x1,x2)
dengan :
f adalah nama fungsi yang didefinisikan dengan perintah inline di langkah 1
x1,x2 adalah nilai pada interval (x1,x2), letak titik balik minimum terjadi.
Maka perintahnya adalah:

>> xmin
=fminbnd(f,2,4) xmin =
3.0000

Langkah 4: menentukan ordinat titik balik minimum


Ordinat titik balik minimum ditentukan dengan cara memasukkan nilai absis
pada langkah 3 (xmin) ke dalam fungsi.

>> ymin
=f(xmin) ymin =
4.0000

Berdasarkan hasil pada langkah 3 dan 4, maka diperoleh titik balik minimum fungsi
1 3 2
f (x) = 3 x − 2x + 3x + 4 adalah di (3,4).

MAKSIMUM FUNGSI

Perintah fminbnd juga dapat dimanfaatkan untuk mencari titik balik maksimum.
Berikut ini contoh langkah-langkah mencari titik balik maksimum suatu fungsi.

Contoh:
Tentukan titik balik maksimum dari fungsi f (x) = 1 x3 − 2x2 + 3x + 4
3
Langkah 1: mendefinisikan fungsi cerminan dari fungsi yang diketahui
Karena perintah fminbnd hanya berfungsi untuk mencari titik minimum, maka fungsi
yang ada harus dicerminkan terhadap sumbu x (dibalik), sehingga titik balik
maksimum akan menjadi titik balik minimum.

30
Fungsi cerminan didefinisikan dengan cara memberi tanda – (minus) di depan fungsi
asal.

>>f1= inline('-(1/3*x^3-2*x^2+3*x+4)')

Langkah 2: menentukan interval titik balik maksimum


>>ezplot(f1,[-1,5])

Titik balik maksimum


yang dicerminkan
sehingga menjadi titik
balik minimum

Titik balik maksimum pada grafik tersebut berada pada interval (0,2).

Langkah 3: menentukan absis titik balik maksimum dengan perintah fminbnd


>> xmax
=fminbnd(f1,0,2) xmax =
1.0000

Langkah 4: menentukan ordinat titik balik maksimum


Ordinat titik balik minimum ditentukan dengan cara memasukkan nilai xmax
ke dalam fungsi semula (f), bukan ke dalam fungsi cerminan (f1).
>> ymax=f(xmax
) ymax =
5.3333

Berdasarkan hasil pada langkah 3 dan 4, maka diperoleh titik balik maksimum fungsi
1 3 2
f (x) = 3 x − 2x + 3x + 4 adalah di (1, 5.33).

Latihan:
Carilah titik balik minimum dan maksimum dari fungsi
3
f (x) = 4x − x

TITIK NOL
>>f= inline(‘x^3-2*x+5’)
>>ezplot(f)

31
Dengan melihat figure diketahui grafik memotong sumbu x di sekitar x=-2, maka:
>> tnol=fzero(f,-2)
>> ynol = f(tnol) % mengecek nilai tnol

MINIMUM DARI FUNGSI MULTI VARIABEL

Misalkan didefinisikan suatu fungsi dua variabel:

Definisikan dulu fungsinya

g = inline('x(1).^2 + x(2).^2 – 0.25.*x(1).*x(2) – sin(x(1))');

Gambar Grafiknya
>> x=-20:20;y=x;
>> [X,Y]=meshgrid(x,y);
>> Z=X.^2 + Y.^2 - 0.25.*X.*Y - sin(X);
>> meshc(X,Y,Z)

1000

800

600

400

200

0
20
10 20
0 10
0
-10 -10
-20 -20

32
Dari gambar tersebut, dicoba tebakan awal pada titik (1,0):

MINIMUM LOKAL
Minimum lokal dari f(x) di dekat x= 1 dan y=0 (x dan y dilihat dari grafiknya)
g = inline('x(1).^2 + x(2).^2 – 0.25.*x(1).*x(2) – sin(x(1))');

Inline function:
g(x) = x(1).^2 + x(2).^2 - 0.25.*x(1).*x(2) - sin(x(1))

>> [x12min,gval] = fminsearch(g,[1,


0]) X12min =
0.45600.0570

fval =

-0.2357

Sehingga diperoleh koordinat titik minimumnya (0.4560, 0.0570, -0.2357)

MAKSIMUM LOKAL
Untuk mencari Nilai maksimum jika dilihat dari gambar, tidak terdapat titik yang merupakan
maksimumnya, sehingga disini tidak dicari koordinat maksimumnya. Untuk mecari nilai
maksimum dari fungsi beberapa variabel, sama halnya dengan fungsi satu variabel, yaitu
menggunakan negatif dari fungsinya

33
MATERI 11
ANALISIS DATA
Beberapa fungsi untuk perhitungan statistik: rentang data, maksimum/minimum, rata-
rata, deviasi, jumlah kumulatif, dan sebagainya. Di MATLAB fungsi fungsi statistik semacam ini
telah ada dan bisa digunakan secara fleksibel.Misal x dan y adalah vektor (baris ataupun
kolom), dan A dan B sebagai matriks m×n.

MAKSIMUM DAN MINIMUM


Nilai maksimum dan minimum diperoleh dengan command berikut ini:

max(x) menghitung nilai maksimum dari elemen vektor x. Jika x bernilai kompleks
maka dihitung max(abs(x))
max(A) menghitung nilai maksimum dari setiap kolom di matriks A; hasilnya berupa
vektor 1×n
max(max(A)) menghitung nilai maksimum dari elemen matriks A
max(A,B) menghitung matriks berukuran sama dengan A dan B dengan elemen berisi nilai
terbesar di antara elemen A dan B pada posisi yang sama
min( ... ) sama dengan sintaks max( ... ) di atas, tetapi untuk mencari minimum

JUMLAH DAN PRODUK


Beberapa jenis operasi penjumlahan bisa dilakukan dengan command sum dan cumsum.
sum(x) menjumlahkan nilai elemen vektor x
sum(A) menjumlahkan nilai elemen dari setiap kolom
di matriks A; hasilnya berupa vektor 1×n
sum(sum(A)) menjumlahkan nilai semua elemen matriks A
cumsum(x) menghitung vektor berukuran sama dengan x berisi jumlah kumulatif elemen x;
yaitu elemen kedua ialah jumlah dari elemen pertama dan kedua dari x, dan
seterusnya
cumsum(A) menghitung matriks berukuran sama dengan A di mana kolom-kolomnya
merupakan jumlah kumulatif dari kolom di A

Sebagai contoh, kita akan definisikan vektor y dan matriks B sebagai berikut:
y =[1 4 9 16 25]
B= [7 8 9;4 5 6;1 2 3]
B= 7 8 9
4 5 6
1 2 3
>> y=[1:5].^2;
>> B=[1:3 ; 4:6 ; 7:9];
>> jml_y = sum(y)
jml_y =
55
>> jml_B = sum(B)
jml_B =
12 15 18
>> total_B = sum(sum(B))
total_B =
45
>> kumulasi_y = cumsum(y)
kumulasi_y =
1 5 14 30 55
>> kumulasi_B = cumsum(B)

34
kumulasi_B =
1 2 3
5 7 9
12 15 18
Sementara itu, produk (perkalian elemen-elemen) vektor dan matriks bisa diperoleh dengan
cara yang mirip.
prod(x) mengalikan nilai elemen vektor x mengalikan nilai elemen dari
setiap kolom di matriks A; hasilnya berupa vektor 1×n
prod(A) mengalikan nilai semua elemen matriks A
prod(prod(A)) menghitung vektor berukuran sama dengan x
cumprod(x) berisi produk kumulatif elemen x; yaitu elemen kedua ialah
perkalian dari elemen pertama dan kedua dari x, dan seterusnya
cumprod(A) menghitung matriks berukuran sama dengan A di mana kolom-
kolomnya merupakan produk kumulatif dari kolom di A Sebagai
contoh kita gunakan vektor y dan matriks B seperti sebelumnya

>> pdk_y = prod(y)


pdk_y =
14400
>> pdk_B = prod(B)
pdk_B =
28 80 162
>> tot_pdk_B = prod(prod(B))
tot_pdk_B =
362880
>> kumulasi_pdk_y = cumprod(y)
kumulasi_pdk_y =
1 4 36 576 14400
>> kumulasi_pdk_B = cumprod(B)
kumulasi_pdk_B =
1 2 3
4 10 18
28 80 162
STATISTIKA
Command untuk analisis data statistik.
mean(x) menghitung rata-rata aritmatik dari elemen vektor x
mean(A) menghitung rata-rata aritmatik dari elemen setiap kolom di matriks A;
hasilnya berupa vektor 1×n
median( ... ) menghitung median (nilai tengah)
std( ... ) menghitung deviasi standar (simpangan baku)
var( ... ) menghitung variansi

Contoh :
>> x=[175 177 173 165 160 170 174 177 168 170];
>> A=[3.3 2.8 3.3; 3.9 4.0 3.8; 3.8 3.5 2.9; 2.9 3.2 3.1];
>> rataan_IP_sem = mean(A)
rataan_IP_sem =
3.4750 3.3750 3.2750
>> rataan_IP_mhs = mean(A')
rataan_IP_mhs =
3.1333 3.9000 3.4000 3.0667
>> rataan_IP_total = mean(mean(A))
rataan_IP_total =
3.3750
>> nilai_tengah = median(x), deviasi = std(x),variansi =
var(x) nilai_tengah =
171.5000
deviasi =

35
5.4661
variansi =
29.8778
SORTIR
Unutk mengurutkan data (sortir) di MATLAB dengan command berikut ini:

sort(x) menghitung vektor dengan elemen x telah tersortir secara ascending


(dari kecil ke besar). Jika x bernilai kompleks maka dihitung sort(abs(x))
[y,ind] = sort(x) menghitung vektor y berisi sortiran elemen x, dan vektor ind berisi
indeks sehingga y = x(ind)
[B,Ind] = sort(A) menghitung matriks B berisi sortiran kolom kolom matriks A.

Contoh dengan menggunakan data sebelumnya, diurutkan data tinggi badan dari kecil ke
besar (ascending).

>> sort(x)
ans =
160 165 168 170 170 173 174 175 177 177
Atau diurutkan disertai indeks yang menunjukkan nomor urut elemen pada vektor x sebelum
disortir.
>> [y,ind]=sort(x)
y =
160 165 168 170 170 173 174 175 177
177 ind =
5 4 9 6 10 3 7 1 2 8
Untuk mengurutkan dari besar ke kecil (descending).
>> fliplr(sort(x))
ans =
177 177 175 174 173 170 170 168 165 160
Demikian pula untuk mengurutkan elemen matriks: secara ascending pada kolom per kolom:
>> sort(A)
ans =
2.9000 2.8000 2.9000
3.3000 3.2000 3.1000
3.8000 3.5000 3.3000
3.9000 4.0000 3.8000
Atau secara descending pada kolom per kolom:
>> flipud(sort(A))
ans =
3.9000 4.0000 3.8000
3.8000 3.5000 3.3000
3.3000 3.2000 3.1000
2.9000 2.8000 2.9000
Ataupun melakukan sortir dengan indeks. Perhatikan bahwa kolom-kolom dalam IND berisi
nomor urut elemen pada matriks A sebelum disortir.
>> [Y,IND]=sort(A)
Y =
2.9000 2.8000 2.9000
3.3000 3.2000 3.1000
3.8000 3.5000 3.3000
3.9000 4.0000
3.8000 IND =
4 1 3
1 4 4
3 3 1
2 2 2

36
MATERI 12
FUNGSI DAN INTEGRAL

Beberapa fungsi ’Fungsi’ dalam MATLAB disajikan dalam tabel berikut:


Category Function Description
Plotting fplot Untuk membuat plot fungsi
Optimization and zero fminbnd Mencari nilai minimum fungsi satu variabel.
finding fminsearch Mencari nilai minimum fungsi beberapa variabel
fzero Mencari nilai nol dari fungsi satu variabel
Numerical Integration quad Menghitung integral numerik, adaptive Simpson quadrature.
quadl Menghitung integral numerik, adaptive Lobatto quadrature.
dblquad Menghitung integral ganda

PENYAJIAN FUNGSI (FUNCTIONS) DALAM MATLAB


MATLAB dapat menyajikan fungsi matematika dengan menggunakan inline dan M-files.
a. Sebagai obyek inline
Sebagai obyek inline, sudah kita lakukan beberapa waktu yang lalu.
Contoh:
1 1
f (x) = (x − 0.3)2 + 0.01 + (x − 0.9)2 + 0.04 − 6

Dengan menggunakan inline, fungsi tersebut didefinisikan sbb:


f = inline(`1./((x-0.3).^2 + 0.01) + 1./((x-0.9).^2 + 0.04)-6');
Mengevaluasi f di 2.0
>>f(2.0)
ans =
-4.8552
Dengan inline, anda juga dapat membuat fungsi yang lebih dari 1 argumen dengan
menpesifikasikan nama-nama argumennya. Contoh, fungsi berikut mempunyai 2 buah
argument input, yaitu x dan y:
>> f= inline('y*sin(x)+x*cos(y)','x','y')
>> f(pi,2*pi)
ans =
3.1416
b. Sebagai Fungsi MATLAB

Fungsi ini dibuat melalui menu File → New → Script.


Kemudian tulis fungsi di bawah ini di layer MATLAB editor.

function y = fsi(x) %nama fungsinya fsi


y = 1./((x – 0.3).^2 + 0.01) + 1./((x – 0.9).^2 + 0.04) – 6;

Simpan dengan nama fsi.m, caranya pilih menú File→save As→beri nama fsi.m→save
Catatan penting:
  Nama file harus sama dengan nama fungsi
 Jangan menggunakan nama fungsi dengan nama-nama fungsi bawaan yang sudah ada
dalam MATLAB, misal sin, log, exp, polyfit, fzero, fmin, dll.

37
Hal tersebut akan merusak fungsi bawaan MATLAB, dan akan merugikan anda
sendiri! (pada saat dipanggil, akan muncul pesan ‘Attempt to execute SCRIPT as a
function’)
 Gunakan operasi elemen (menggunakan titik untuk perkalian dan pembagian,
 pangkat)
 Sebaiknya akhiri definisi rumus dengan tanda ; (titik koma) agar hasilnya tidak
ditampilkan.

Mengevaluasi fungsi fsi.m pada 2.0


Cara 1 Cara 2
fh = @fsi; feval(‘fsi’,2.0)
feval(fh,2.0) ans =
ans = -4.8552
-4.8552
Catatan:
untuk menggunakan fungsi yang didefinisikan dengan menggunakan M-File, maka nama
fungsi harus diapit dengan tanda petik ’ ’. Lihat cara 2 di atas. Sedangkan yang didefinisikan
dengan inline, langsung dipanggil nama fungsinya tanpa diapit tanda ’.

INTEGRASI NUMERIK
Integral fungsi f (x) dalam ranah a≤x≤b dapat diintepretasikan sebagai luas daerah dibawah
kurva f (x) yang membentang dari x=a hingga x=b .

Dalam hal ini f x x=a disebut batas bawah integral dan x=b disebut batas atas integral
sedangkan x adalah variabel integral.

MENGHITUNG INTEGRAL DENGAN METODE NUMERIK


Integral terbatas bisa diselesaikan secara numerik dengan MATLAB, yaitu:

Terdapat sejumlah metode perhitungan integral secara numerik, misalkan: trapezoid,


kuadratur, dll.

38
trapz(x,y) menghitung integral dari y sebagai fungsi dari x. Vektor x dan y
panjangnya harus sama. Nilai elemen dalam x sebaiknya disortir
trapz(x,A) menghitung integral dari setiap kolom di A sebagai fungsi dari x;
hasilnya berupa vektor baris berisi hasil integrasi. Jumlah kolom
A harus sama dengan panjang x.
quad(‘fcn’,a,b) menghitung aproksimasi dari integral fungsi fcn pada interval a ≤
x ≤ b. Fungsi fcn harus didefinisikan terlebih dahulu dalam M-
file.
quad(‘fcn’,a,b,tol) menghitung aproksimasi integral dari fcn dengan toleransi
kesalahan sebesar tol.
quad(‘fcn’,a,b,tol,trace,pic) menghitung aproksimasi integral dari fcn dengan toleransi tol.
Jika trace tidak nol, maka grafik yang mengilustrasikan integral
akan diplot. Hasil integrasi dievaluasi pada pic. bisa diberi nilai
nol pada tol dan trace dengan matriks kosong [ ].
quadl( ... ) sama dengan command quad, tetapi menghitung dengan
akurasi yang lebih tinggi.

Sebagai contoh, kita hitung integral berikut ini dengan metode numerik:

>> x = linspace(0,2,50); % definisikan vektor x


>> y = exp(-x.^3); % hitung nilai y
>> integral = trapz(x,y) % integralkan
! integral =
0.8821

Dengan command quad,


CARA 1 :
terlebih dahulu harus mendefinisikan fungsi dalam M-file:
function y = myfun(x)
y = exp(-x.^3);

Kita hitung integral tersebut dengan toleransi yang berbeda:


>> format long; % format bilangan “long”
>> int_1 = quad(‘myfun’,0,2,0.001), ...
int_2 = quad(‘myfun’,0,2,0.00001)
int_1 =
0.89309707589214
int_2 =
0.89295225387894
Kita bandingkan akurasinya dengan quadl:
>> int_3 = quadl(‘myfun’,0,2)
int_3 =
0.89295351461757
>> format short; % mengembalikan format ke “short”
Ini adalah hasil paling akurat yang bisa diperoleh MATLAB.

Jika tidak menggunakan fungsi dalam M-File, integral diatas dapat diselesaikan dengan cara :

39
CARA 2 :
Dengan menuliskan langsung fungsinya diantara tanda petik ('), Tanpa pendefinisian
fungsi dalam M-File

>> int_y=quad(' exp(-


x.^3)',0,2,00001) int_y =
0.8931

CARA 3 :
Dengan pendefinisian fungsi memakai inline
>>Y=inline(' exp(-x.^3)')
>> int_y=quad(Y,0,2,00001)

INTEGRAL LIPAT-2
Kita bisa menghitung integral terbatas lipat-2 dengan menyelesaikan integralnya satu per satu
menggunakan command quad.
Misalkan kita ingin menghitung integral berikut ini:

Pertama, kita buat M-file untuk fungsi ini:


function z = fungsiku(x,y)
z = exp(-x.^3-y);

dblquad(‘fcn’,xmin,xmax,ymin,ymax,tol) : menghitung integral lipat-2 untuk fungsi dua


variabel fcn pada area segiempat xmin ≤ x ≤ xmax, ymin ≤ y ≤ ymax.

Untuk contoh integral di atas:


>> Integral_dobel = dblquad(‘fungsiku’,0,1,0,1)
Integral_dobel
= 0.5104
Untuk mendapatkan gambaran dari fungsi tersebut, kita ketikkan:
>> [X,Y] = meshgrid(x,x);
>> Z = fungsiku(X,Y);
>> mesh(X,Y,Z)

40
INTEGRAL LIPAT-3
Integral lipat-3 bisa diselesaikan setahap demi setahap. Misalkan untuk integral berikut ini
disimpan dalam M-file:

Untuk mendapatkan nilai integral dari fungsi diatas, buat fungsi


function w = funxyz(x,y,z)
w = sqrt(x.^2 + y.^2 + z.^2);

triplequad(‘fcn’,xmin,xmax,ymin,ymax,zmin,zmax,tol) , menghitung integral lipat-3 untuk


fungsi tiga variabel fcn pada area balok xmin ≤ x ≤ xmax, ymin ≤ y ≤ ymax, zmin ≤ z ≤ zmax,
dengan toleransi kesalahan sebesar tol.
Untuk contoh integral di atas, kita hitung dengan toleransi 0,001:
>> Integral_tripel = triplequad(‘funxyz’, -2,2,-2,2,-
2,2,0.001) Integral_tripel =
122.9577

MENGHITUNG PANJANG KURVA


Anda dapat menggunakan quad atau quadl untuk menghitung panjang kurva. Misal diketahui
kurva parameter sbb:
x(t) = sin(2t), y(t) = cos(t) z(t) = t
where t 0,3 
Grafik plot 3 kurva tsb adalah sbb:
t = 0:0.1:3*pi;
plot3(sin(2*t),cos(t),t)
Rumus panjang busur menyebutkan bahwa panjang kurva adalah integral dari akar kuadrat
turunan persamaan paramaternya:
Fungsi dengan nama hcurve.m

function f = hcurve(t)
f = sqrt(4*cos(2*t).^2 + sin(t).^2 + 1);

Integral fungsi tsb dicari dengan cara:


len = quad(@hcurve,0,3*pi)
len =
1.7222e+01
Maka panjang kurva tsb adalah 17.2.

41
MATERI 14
PENYELESAIAN PERSAMAAN ALJABAR

Dimulai dengan persamaan sederhana yang diketahui jawabannya dengan


mudah. x−2=0

Jawaban yang memenuhi persamaan tersebut adalah x=2 . Apabila persamaan tersebut
diselesaikan dengan Matlab
>> x=solve('x-2=0')
x =
2
Matlab juga dapat menyelesaikan persamaan yang melipatkan beberapa simbol. Sebagai
contoh, dapat diperoleh harga variabel untuk persamaan yang melibatkan konstanta a
ax+3=0
yaitu
>> x=solve('a*x+3')
x =
-3/a
Tetapi ada cara lain untuk menyatakan simbol mana yang akan dipecahkan. Cara ini dapat
dilakukan dengan sintaks

solve(persamaan,variabel)

Sebagai contoh, apabila ingin menyelesaikan persamaan ax+3=0 dimana variabel yang akan
diketahui adalah a maka dapat dituliskan

>> x=solve('a*x+3','a')
x =
-3/x

PENYELESAIAN PERSAMAAN KUADRATIK


Matlab dapat pula menyelesaikan persamaan kudratik maupun persamaan dengan orde lebih
tinggi.
Contoh : untuk menyelesaikan persmaan

x2−4 x−8=0 ,

maka dapat dilakukan dengan


>> s= solve('x^2-4*x-
8') ans =
[ 2+2*3^(1/2)]
[ 2-2*3^(1/2)]

Setiap akar dari persamaan yang telah dipecahkan disimpan oleh Matlab sebagai s(1), s(2), s(3)
... s(n) sesuai dengan jumlah akar persamaannya.
Dimungkinkan pula untuk menyimpan sebuah persamaan ke dalam sebuah variabel, kemudian
kita gunakan variabel tersebut untuk dipecahkan.
>> d='x^4-4*x^2-8=0';
>> solve(d)
ans =
[ (2+2*3^(1/2))^(1/2)]
[ -(2+2*3^(1/2))^(1/2)]
[ (2-2*3^(1/2))^(1/2)]
[ -(2-2*3^(1/2))^(1/2)]

46
MENGEPLOT PERSAMAAN SIMBOLIK
Matlab dapat membangkitkan grafik persamaan simbolik yang dimasukkan dengan perintah
ezplot. Sebagai contoh jika kita ingin mengeplot grafik dari fungsi

x2−4 x−8
maka dengan mudah, yaitu
>> d=('x^2-4*x-8');
>> ezplot(d)

SISTEM PERSAMAAN
Apabila kita memiliki beberapa persamaan simultan linier, misalnya
2 x−5 y=10
5 x+2 y=5

Untuk menyelesaikan dua persamaan linier tersebut kita gunakan perintah


solve dengan cara
>> [x ,y]=solve('2*x-5*y=10','5*x+2*y=5')
x =
45/29
y =
-40/29

PENYELESAIAN FUNGSI EKSPONENSIAL DAN LOGARITMA


Matlab juga dapat menangani fungsi yang melibatkan eksponensial maupun logaritma.
Contoh Dapatkan x yang memenuhi persamaan
ln x−ln( x−5)=4

Penyelesaian
Pernyataan logaritma yang kita gunakan dalam persamaan diatas berarti logaritma basis 2,
sehingga dapat diselesaikan dengan Matlab
>> d='log(x)-log(x-5)=4';
>> s=solve(d)
>> s(1)
ans =
5*exp(4)/(-1+exp(4))
Matlab juga dapat menyelesaikan persamaan yang melibatkan bentuk eksponensial, misalnya
y=e2x + x

Jika diselesaikan dengan Matlab, maka dengan mudah hasilnya akan diperoleh
>> d='exp(2*x)+x=0';
>> s=solve(d)
s =
-1/2*lambertw(2)
>> double(s)
ans = -
0.4263

47
MATERI 15
SCRIPT M-FILE

Script berupa sederetan perintah dalam suatu teks file, yang ditulis dalam editor m file,
sehingga nama Script akan diakhiri dengan ekstensi ’ .m’.

Contoh:
Untuk mencari luas persegipanjang, urutan perintah yang diketikkan lewat command window
adalah sbb:
» p=16;
» l=11;
» luas=p*l
Sederetan perintah tersebut dapat dituliskan dalam editor m-file, dengan cara sbb:
1. klik menu File – New – Script
2. Dalam editor m-file ketikkan
sbb: p=16;
l=11;
luas=p*l
3. Klik menu File – save as. Beri nama contoh1
Untuk menjalankannya, kembali ke command window, lalu panggil nama file
contoh1. » contoh1

Latihan :
Buatlah script m-file untuk menghitung tinggi menara, jika diketahui jarak orang ke
menara adalah 500 m, tinggi orang 170cm, dan sudut elevasi = 75o. Simpan dengan nama
Menara.m

MEMBERI KOMENTAR
Komentar dalam program diawali dengan tanda %. Buka kembali contoh1.m dan edit sehingga
menjadi spt berikut:
Contoh:
% contoh script untuk mencari luas persegi
panjang p=16; % panjang
l=11; % lebar
luas=p*l

MENGGUNAKAN PERINTAH INPUT


Pada contoh di atas, untuk memasukkan nilai p dan l yang bervariasi kita dapat menggunakan
perintah input.
o Bukalah file contoh1.m
o Edit perintah-perintahnya sehingga menjadi:
% contoh script untuk mencari luas persegi
panjang p=input(‘ Berapa panjangnya = ‘)
l=input(‘ Berapa lebarnya=
‘) luas=p*l
o Simpan kembali dengan memilih menu File-save. o
Jalankan kembali lewat command window.

48
Latihan:
1. Edit file Menara.m, dan beri perintah input untuk memasukkan nilai-nilai yang
diperlukan.
2. Buat script m-file untuk mencari akar-akar persamaan kuadrat, dengan masukkan nilai
a,b,dan c. Gunakan perintah input dan beri komentar agar program menjadi jelas
dibaca.

MENGGUNAKAN PERINTAH ECHO


Perintah echo digunakan untuk menampilkan baris perintah yang sedang dikerjakan.
Contoh :
% contoh penggunaan perintah
echo echo on
p=input(‘ Berapa panjangnya = ‘)
l=input(‘ Berapa lebarnya= ‘)
luas=p*l
echo off
Dalam beberapa hal, perintah echo bermanfaat untuk mengetahui baris perintah beserta
hasilnya, sehingga mudah melakukan pelacakan jika terjadi kesalahan.

MENGGUNAKAN PERINTAH DISPLAY


Perintah display atau disp berguna untuk mencetak tulisan di layar

Contoh :
p=input(‘ Berapa panjangnya = ‘)
l=input(‘ Berapa lebarnya= ‘)
luas=p*l;
disp(‘luas persegi panjang ‘)
disp(luas)

49
MATERI 16
PEMROGRAMAN: FOR-END & IF-END

DASAR MEMBUAT PROGRAM


Contoh: program mencari luas segitiga
Sebuah program ada 3 hal penting:
1. harus ada
input contoh
input: alas dan tinggi
2. proses
rumus luas dihitung : luas=(alas*tinggi)/2
3. output
hasil perhitungan ditampilkan dgn perintah disp

FOR-END
Sintaknya :
for nama variabel = nilawal:step:nilakhir
deret_perintah
End
Jika step tdk disebutkan, maka step =1.
Contoh:
for n=1:10
disp(n+1)
end;

LATIHAN:
Buatlah perintah yang hasilnya sbb:
luas lingkaran dgn jari-jari 1 = 3.1416
luas lingkaran dgn jari-jari 4 = 50.2655
luas lingkaran dgn jari-jari 7 = 153.938
luas lingkaran dgn jari-jari 10 = 314.1593

for end bisa berada di dalam for –end yang lain.


Contoh
for n=1:5
for m=1:4
A(n,m)=n+m;
end;
end;
disp(A)

IF- END
Sintaknya :
if ekspresi_logika
Perintah
end

50
Perintah di atas akan mengecek nilai ekspresi logika, jika benar perintah akan dikerjakan, jika
tidak, maka program akan berhenti

Contoh ekspresi logika
a>0 ; b>=c; luas ==100; c~=0;

Operator perbandingan:
>,<,>=,<=, ~=, ==
Kadang juga digunakan or (|), and (&), not (~)
Contoh:
if (a>0) | (b>0)

Contoh :
% contoh script untuk mencari luas
segitiga a= input(‘ Berapa alasnya = ‘)
if a<0
disp(‘nilai a tidak boleh negatif’)
break % keluar dari program
end
t= input(‘ Berapa tingginya=
‘) luas=(a*t)/2

51
MATERI 16
PEMROGRAMAN: FOR-END & IF-END

DASAR MEMBUAT PROGRAM


Contoh: program mencari luas segitiga
Sebuah program ada 3 hal penting:
1. harus ada
input contoh
input: alas dan tinggi
2. proses
rumus luas dihitung : luas=(alas*tinggi)/2
3. output
hasil perhitungan ditampilkan dgn perintah disp

FOR-END
Sintaknya :
for nama variabel = nilawal:step:nilakhir
deret_perintah
End
Jika step tdk disebutkan, maka step =1.
Contoh:
for n=1:10
disp(n+1)
end;

LATIHAN:
Buatlah perintah yang hasilnya sbb:
luas lingkaran dgn jari-jari 1 = 3.1416
luas lingkaran dgn jari-jari 4 = 50.2655
luas lingkaran dgn jari-jari 7 = 153.938
luas lingkaran dgn jari-jari 10 = 314.1593

for end bisa berada di dalam for –end yang lain.


Contoh
for n=1:5
for m=1:4
A(n,m)=n+m;
end;
end;
disp(A)

IF- END
Sintaknya :
if ekspresi_logika
Perintah
end

| 50
Perintah di atas akan mengecek nilai ekspresi logika, jika benar perintah akan dikerjakan, jika
tidak, maka program akan berhenti

Contoh ekspresi logika
a>0 ; b>=c; luas ==100; c~=0;

Operator perbandingan:
>,<,>=,<=, ~=, ==
Kadang juga digunakan or (|), and (&), not (~)
Contoh:
if (a>0) | (b>0)

Contoh :
% contoh script untuk mencari luas
segitiga a= input(‘ Berapa alasnya = ‘)
if a<0
disp(‘nilai a tidak boleh negatif’)
break % keluar dari program
end
t= input(‘ Berapa tingginya=
‘) luas=(a*t)/2

51
MATERI 17
IF –ELSEIF-END & SWITCH CASE

IF –ELSEIF-END
Sintaksnya:
if ekspresi_ logika
Perintah1 % Jika benar akan mengerjakan perintah1
elseif ekspresi_logik % Jika salah akan mengecek elseif berikutnya
a
perintah2
……
elseif
perintah ke-n
end

Contoh
%script untuk menentukan kelulusan
Nilai=input(‘Berapa nilainya :’)
if Nilai >= 60
disp(‘Selamat Anda Lulus’)
elseif Nilai<60
disp(‘Maaf Anda Gagal’)
end

LATIHAN :
Buat Script m-file untuk menentukan Nilai mahasiswa dengan ketentuan sbb:
Nilai A : ≥85
Nilai B : 70≤nilai<85
Nilai C : 60≤nilai<70
Nilai D : <60

SWITCH CASE
Sintaknya:
switch ekspresi
case{tes_ekspresi1}
deret_perintah1
case { tes_ekspresi2}
deret_perintah2
otherwise
deret_perintah3
end

Contoh:
disp(‘Masukkan pilihan anda (1-tak terhingga)’)
x=input('pilihan ');
switch x
case{1}
disp('pilihan no 1')
case {2}
disp('pilihan no 2')
otherwise
disp('pilihan anda ')
disp(x)
end

52
Latihan :
Buatlah program untuk mencari volume dari silinder, kubus, kerucut.
Tampilan:
Menu volume:
=========
1.Silinder
2.Kubus
3.kerucut
Pilihan anda?

53
MATERI 18
WHILE-END

Sintaknya:
while ekspresi
perintah_ke_1


perintah_ke_n
end
• Perintah ke 1 s/d ke n akan terus dikerjakan selama kondisi dalam ekspresi masih dipenuhi
(bernilai benar).
• Perintah dalam while end harus memuat penambahan atau pembaharuan counter
(pengendali), sehingga kondisi dalam ekspresi selalu berganti.

Contoh penggunaan while end :


n=0;
while n < 5
disp(n)
n=n+1;
end

• Selama n < 5 maka disp(n) dan n=n+1 akan terus dikerjakan.


• Pembaharuan conter dalam perintah di atas adalah : n=n+1

Contoh :Menghitung rata-rata 5 bilangan


n=1;jumlah=0;
while n <= 5
a=input(['masukkan data ke ' num2str(n)]);
jumlah =jumlah+a;
n=n+1;
end
rata=jumlah/5;
disp (' ')
disp('Rata-ratanya = ')
disp(rata)

Hal-hal yg harus diperiksa:


1. apakah ekspresi dlm contoh while-end di atas?
2. sudah adakah nilai awal dari variabel pengendali dlm ekspresi tsb?
3. perintah apakah yg diulang?
4. sudah adakah perubahan/pembaharuan variabel pengendali?

LATIHAN
Cetaklah kalimat “latihan aplikom” selama sebuah bilangan yg dimasukkan tidak = 0 ; dengan
banyaknya kalimat sebanyak bilangan yang dimasukkan

CONTOH :
syms y t;
jawab ='y';
while jawab =='y'
a=input('masukkan sebuah bilangan ');
t=[num2str(a) ' pangkat 3 = '];
disp(t)

54
b=a^3;
disp(b)
jawab=input('mau mengulang lagi? (y/t) ');
end

55

Anda mungkin juga menyukai