matlab - Logika Pemrograman Komputer

Download Report

Transcript matlab - Logika Pemrograman Komputer

LOGIKA DAN PEMROGRAMAN KOMPUTER
MATLAB
Wayan Nata Septiadi, ST
[email protected]
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
2
RUANG KERJA MATLAB
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
3
RUANG KERJA MATLAB
 MATLAB membuat beberapa jendela pada monitor
 Jendela Commad merupakan tempat interaksi
utama MATLAB
 MATLAB mengingat perintah-perintah yang
diberikan dan nilai-nilai dari variabel yang dibuat
 Perintah dan variabel itu dikatakan tinggal dalam
Ruang Kerja MATLAB, dan dapat dipanggil
kapanpun dikehendaki
 Contoh: untuk mencek nilai tape, satu-satunya
yang dikerjakan adalah dengan mengetih kata itu
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
4
RUANG KERJA MATLAB
 Perintah who akan menampilkan daftar variabelvariabel yang telah digunakan
 Untuk menampilkan perintah sebelumnya gunakan
panah atas () atau bawah ()
>> tape
>> who
tape =
Your variables are:
2
ans
cost
erasers pads
items tape
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
5
KONSTANTA DAN VARIABEL
Aturan Penamaan Variabel
Catatan dan Contoh
Nama variabel dibedakan antara
huruf kecil dan huruf kapital
Items, items, itEms dan ITEMS
semuanya adalah variabel yang
berbeda
Panjang maksimal nama variabel
adalah 31 karakter dan karakter
setelah karakter ke-31 diabaikan
konstantakesetimbanganuapdanc
air
Nama variabel harus diawali
dengan huruf, diikuti dengan
sembarang bilangan, huruf, atau
garis bawah. Karakter-karakter
tanda baca tidak diperbolehkan
karena banyak di antaranya
mempunyai arti tersendiri dalam
MATLAB
Konstanta_kesetimbangan_uap_c
air_233
A_1 _ba_ta_tsa
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
6
VARIABEL KHUSUS
Variabel Khusus
Nilai
ans
Untuk hasil apapun
pi
Perbandingan antara keliling lingkaran dengan garis tengahnya
eps
Bilangan terkecil sedemikian rupa sehingga bila ditambahkan
pada satu, menghasilkan bilangan lebih besar dari satu pada
suatu komputer
flops
Jumlah operasi floating point
inf
Tak berhingga, misalnya 1/0
Nan atau nan
Bukan suatu bilangan, misalnya 0/0
i dan j
i=j=-1
nargin
Jumlah argumen input suatu fungsi
nargout
Jumlah argumen output suatu fungsi
realmin
Bilangan real positif terkecil yang dapat digunakan
realmax
Bilangan real positif terbesar yang dapat digunakan
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
7
PERUBAHAN NIALI VARIABEL
 Jika telah membuat beberapa
variabel, mungkin ingin mengubah
nilai dari suatu variabel, misal:
erasers=4 menjadi =6
>> erasers=4;
>> pads=6;
>> tape=2;
>> items=erasers+pads+tape
 Nilai items jika dipanggil kembali
tidak berubah, tapi jika dilakukan
perhitungan kembali, akan berubah
items =
 Saat MATLAB melakukan
perhitungan, ia mengerjakannya
dengan nilai-nilai yang diketahuinya
pada saat suatu perhitungan
dikerjakan.
>> erasers=6;
>> items
 Harus dihindari pendefinisian kembali
variabel-variabel kecuali jika benarbenar perlu
 Untuk menghapus variabel gunakan
perintah clear
12
items =
12
>> items=erasers+pads+tape
items =
14
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
8
Komentar dan Tanda Baca
 Semua teks sesudah tanda persen (%) dianggap
sebagai pernyataan komentar dan tidak dilakukan
perhitungan apapun
>> erasers=6 % Jumlah penghapus
erasers =
6
 Komentar diperlukan untuk memudahkan kita
berkomunikasi dengan apa yang kita tulis
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
9
Ragam Cara Penulisan
 Beberapa perintah dapat diletakkan
pada baris yang sama dengan
dipisahkan oleh koma atau titik
koma
 Tanda koma memberitahu MATLAB
untuk menampilkan hasil, titik koma
mencegah penampilan hasil
 Deretan tiga titik (…) memberitahu
MATLAB bahwa lanjutan
pernyataan terdapat di baris
berikutnya
 Pelanjutan pernyataan tersebut
terjadi jika deretan tiga titik terdapat
di antara nama variabel atau
operator, artinya, nama variabel
tidak dapat dipisah menjadi dua
baris
 Untuk menginterupsi MATLAB
setiap saat dengan menekan Ctrl-C
>> erasers=4, pads=6; tape=2
erasers =
4
tape =
2
>> average_cost=cost/...
items
average_cost =
1.9367e+003
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
10
Bilangan Kompleks
 Salah satu kehebatan
MATLAB adalah bahwa ia
tidak memerlukan
penanganan khusus untuk
bilangan kompleks
>> c1=1-2i % huruf i menunjukkan bagian imajiner
 Bilangan kompleks
disimpan dalam beberapa
cara
ans =
 Penghentian dengan i atau j
hanya berlaku bagi
konstanta numerik (2i atau
2j), bukan untuk ekspresi
(sin(.5)i tidak dikenal, harus
ditulis sin(.5)*i)
c1 =
1.0000 - 2.0000i
>> c1-2j % j menunjukkan hal yang sama
1.0000 - 4.0000i
>> c2=3*(2-sqrt(-1)*3)
c2 =
6.0000 - 9.0000i
>> c4=+sin(.5)*i
c4 =
0 + 0.4794i
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
11
Operasi Matematika pada
Bilangan Kompleks >> c6=(c3+c4)/c5
 Ditulis dengan cara yang sama
seperti menulis operasi pada
bilangan real
 Operasi pada bilangan
kompleks akan menghasilkan
bilangan kompleks
 Perintah real dan imag
digunakan untuk mengambil
bagian real saja atau imajiner
saja
c6 =
0 + 5.6641i
>> c7=i^3
c7 =
0 - 1.0000i
>> realc6=real(c6)
realc6 =
0
>> imagc6=imag(c6)
imagc6 =
5.6641
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
12
Bentuk Polar dan Reactangular
 Perhatikan identitas Euler (dibaca Oiler) yang
menghubungkan bentuk polar bilangan
kompleks ke bentuk reactangular-nya:
M  M . ej = a + bi
dengan bentuk polar diberikan oleh besarnya
M dan sudut , sedangkan pada bentuk
rectangular diberikan dengan
a + bi.
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
13
Bentuk Polar dan Reactangular
 Hubungan antara bentuk-bentuk itu adalah
M =  (a2 + b2)
>> c1=1-2i
 = tan-1 (b/a)
c1 =
1.0000 - 2.0000i
a = M.cos 
b = M. sin 
>> mag_c1=abs(c1)
mag_c1 =
2.2361
>> deg_c1=angle(c1)*180/pi
deg_c1 =
-63.4349
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
14
Bidang S
imajiner
 Bilangan kompleks:
s = a ± bi
s1
s1 = a + bi
M
s2 = a - bi

real
s2
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
15
Funsi Umum Matematika
Fungsi-fungsi Umum
abs(x)
acos(x)
Harga mutlak atau besarnya bilangan kompleks
Invers cosinus
acosh(x) Invers cosinus hiperbolik
angle(x) Sudut suatu bilangan kompleks pada empat
kuadran
ceil(x)
Pembulatan ke arah plus tak berhingga
conj(x)
exp(x)
Konjugat bilangan kompleks
Eksponensial: ex
fix(x)
Pembulatan ke arah nol
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
16
Fungsi Umum Matematika
floor(x)
Pembulatan ke arah minus tak berhingga
gcd(x)
Faktor persekutuan terbesar bilangan bulat x dan y
lcm(x)
Faktor persekutuan terkecil bilangan bulat x dan y
log(x)
Logaritma natural (ln)
log10(x)
Logaritma biasa
rem(x)
Sisa pembagian; rem(x,y) menghasilkan sisa pembagian
x/y
round(x)
Pembulatan ke arah bilangan bulat terdekat
sign(x)
Menghasilkan tanda dari argumen: sign(1.2)=1, sign(23.1)=-1, sign(0)=0
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
17
>> 4*atan(1) % suatu cara untuk mendekati pi
ans =
3.1416
Contoh
>> help atan2 % untuk menampilkan help fungsi atan2
ATAN2 Four quadrant inverse tangent.
ATAN2(Y,X) is the four quadrant arctangent of the real parts of the
elements of X and Y. -pi <= ATAN2(Y,X) <= pi.
See also ATAN.
>> 180/pi*atan(-2/3) % atan2 menggunakan informasi tanda vektor
ans =
-33.6901
>> 180/pi*atan2(-2,-3) % 180/pi mengkonversi sudut ke derajat
ans =
-146.3099
>> y=rem(25,6) % 25/6 memiliki sisa pembagian 1
y=
1
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
18
Contoh :
H

h
D
 Berapa tinggi gedung?
 Tinggi bangunan adalah h+H, dengan H adalah tinggi sisi segitiga di
hadapan pengamat
Tangen dari sudut :
tan () = H/D  H = D.tan ()
 Tinggi bangunan = h + D.tan()
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
19
MATLAB untuk Estimasi Tinggi
Bangunan
 Jika h = 2 m, D = 50 m, dan  = 60o
>> h = 2; D = 50; thetha = 60;
>> Tinggi_bangunan = h+D*tan(thetha*pi/180) ???
Tinggi_bangunan =
88.6025
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
20
MATLAB untuk Peluruhan Radioaktif
 Setelah satu kali waktu paruh atau 140 hari,
tertinggallah 10*.5 = 5 gr. Setelah 2 kali waktu paruh
atau 280 hari, tertinggal 5*.5 = 10*.5*.5 = 10*(.5)2
 250 hari berapa kali waktu paruh? 250/140
 Rumus untuk jumlah yang tertinggal
= jumlah semula*(0.5)waktu/waktu paruh
Contoh :
>> semula=10; waktu_paruh=140; waktu=250;
>> Jumlah_tertinggal=semula*0.5^(waktu/waktu_paruh)
Jumlah_tertinggal =
2.9003
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
21
Perhitungan kecepatan aliran
 Air pendingin mengalir sebanyak 72 m3 per jam
melalui pipa berdiameter 0.1m. Berapa kecepatan
aliran (dalam m/s) air pendingin itu?
Contoh :
volum etricrate _ s 
volum etricrate _ h
3600
D 2
area 
4
volum etricrate _ s
velocity 
area
>> volumetricrate_h=72; D=0.1;
>> volumetricrate_s=volumetricrate_h/3600;
>> area=pi*D^2/4;
>> velocity=volumetricrate_s/area
velocity =
2.55
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
22
Perhitungan Tekanan
 Sebatang balok besi mempunyai ukuran a = 5 cm, b =
6 cm, c = 10 cm dan berat jenis 7.8 g/cm3 serta gaya
tarik bumi 9.81 m/s2. Berapa besar tekanan yang
bekerja pada dasarnya?
Tugas :
c
a
b
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
23
Mengatur Ruang Kerja MATLAB
 Data dan variabel yang dibuat dalam jendela
Command tersimpan dalam ruang kerja
MATLAB
 Untuk menampilkan nama-nama variabel
yang ada di ruang kerja MATLAB, digunakan
perintah who
>> who
Your variables are:
A
FR
M
P
T1
R
T2
Selisih
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
24
Whos: Informasi Detail Variabel
 Perintah whos akan sangat berguna terutama setelah
pembahasan array dan tipe data yang lain
>> whos
Name
A
FR
M
P
R
Selisih
T1
T2
Size
1x1
1x1
1x1
1x1
1x1
1x1
1x1
1x1
Bytes Class
8 double array
8 double array
8 double array
8 double array
8 double array
8 double array
8 double array
8 double array
Grand total is 8 elements using 64 bytes
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
25
Menyimpan dan Memanggil Data
 MATLAB dapat menyimpan dan memanggil data dari file
 Pilihan Save Workspace as… dalam menu File akan membuka
kotak dialog untuk menyimpan semua variabel yang ada
 Bisa juga dilakukan dengan dua perintah save dan load yang jauh
lebih fleksibel
 Perintah save membuat Anda dapat menyimpan satu atau lebih
variabel dalam file format yang sesuai dengan pilihan Anda
>> save
>> save data Tinggi_bangunan T1 T2 Selisih
Saving to: matlab.mat
Menyimpan variabel Tinggi_bangunan, T1, T2
dan Selisih dalam format biner di file data.mat
Copyright  1984 - 1998 by The MathWorks, Inc.
LOGIKA & PEMROGRAMAN KOMPUTER
MATLAB
and HDF-EOS
26
Format Numerik
MATLAB
Command
average_cost
Komentar
format short
50.833
5 digit
format long
50.83333333333334
16 digit
format short e
format long e
5.0833e+01
5 digit plus eksponen
5.083333333333334e+01
16 digit plus eksponen
format short g
50.833
Lebih baik format short
atau short e
format long g
50.83333333333333
Heksadesimal
format hex
40496aaaaaaaaaab
Heksadesimal
format bank
50.83
2 desimal
format +
+
Positif, negatif atau nol
format rat
305/6
Aproksimasi rasional
Copyright  1984 - 1998 by The MathWorks, Inc.