View
86
Download
3
Category
Preview:
Citation preview
MODUL PRAKTIKUM
PEMROGRAMAN KOMPUTER
DASAR PEMROGRAMAN DALAM MATLAB
Laboratorium Simulasi dan Komputasi
Jurusan Teknik Fisika
Fakultas Teknologi Industri
Institut Teknologi Sepuluh Nopember
Surabaya
2014
1. Logical Statements
Matlab bisa digunakan untuk pemrograman yang bersifat logical dengan
mengaplikasikan salah satu dari pemrograman logic atau bisa juga dengan cara menggabungkan
atau mengombinasi dari duaatau lebih pemrograman logika tersebut. Umumnya Logical
Statements dibagi menjadi dua berdasarkan kendali aliran program,yaitu percabangan bersyarat
dan kendali perulangan. If statements dan Switch Statements termasuk percabangan bersyarat,
sedangkan For Loop dan While Statements termasuk kendali perulangan.
If Statements
Pemrograman ini merupakan statement untuk percabangan program berdasarkan
satu/beberapa kondisi/syarat tertentu. Sintaks yang digunakan dalam MATLAB terdapat pada
Tabel di bawah ini :
Sebagai contoh, ketikkan code berikut pada m-file
Toefl=558
If (Toefl >= 601) & (Toefl <= 670)
display('Excellent')
elseif Toefl >= 501) & (Toefl <= 600)
display('Good')
elseif (Toefl >= 401) & (Toefl <= 500)
display('Average')
else Toefl<=400
display('bad')
end
Sekarang kita coba contoh kedua menggunakan masukan ‘input’
a=input('masukan nilai a=')
if a > 0
y = a+0
disp ('a=positif')
elseif a == 0
y = a+0
disp('a = nol')
else a < 0
y = a+0
disp('a =negatif')
end
Switch Statements
Selain menggunakan pemrograman bercabang dengan if statement, kita dapat
melakukkannya menggunakan switch statement yang mempunyai syntax hampir sama dengan if
statement, seperti berikut ini.
Sebagai contoh, ketikkan code berikut pada m-file
g = sprintf('==== Menu ====' ) ;
disp (g)
a = input (' Masukan data : ');
switch (a)
case 1
disp ('Nama')
case 2
disp ('NRP')
otherwise
disp ('Belum Ada')
end
For Loop
Terdapat dua macam perulangan, yaitu perulangan berbatas for dan perulangan bersyarat
while. For loop digunakan jika syarat nilai akhir dari perulangan dapat ditentukan dengan pasti.
Di bawah ini adalah format pemrograman menggunakan for.
Sebagai contoh, ketikkan code berikut pada m-file
for x= [1:5]
disp (num2str(2*x))
end
While Statements
Syarat nilai akhir dari perulangan tidak bisa ditentukan dengan pasti. Untuk itu,
digunakan perulangan bersyarat menggunakan while statement. Jika nilai pencacah memenuhi
syarat perulangan, maka perulangan dilanjutkan. Jika nilai pencacah tidak memenuhi syarat
perulangan, maka perulangan dihentikan.
Sebagai contoh, ketikkan code berikut pada m-file
x=1;
while (x<10)
disp ( ['Nilainya adalah ' ,num2str(x)] );
x=x+1;
end
disp ( ['Nilai terakhir yang keluar adalah ', num2str(x)] )
2. FUNCTION DALAM MATLAB
Selain menggunakan fungsi-fungsi yang telah disediakan Matlab seperti sin atau cos,
pengguna dapat juga mendeklarasikan sendiri fungsi yang dibutuhkan. Pada prinsipnya,
pendefinisian fungsi oleh pengguna pada semua Bahasa pemrograman adalah sama, hanya
sintaksnya saja yang berbeda. Secara garis besar dapat dibagi menjadi fungsi yang
mengembalikan nilai dan fungsi yang tidak mengembalikan nilai.
Setiap fungsi yang akan dibahas di sini semuanya akan disimpan dalam M-file yang berbeda,
sehingga biasa disebut dengan M-file Function.
Fungsi tanpa mengembalikan nilai
Fungsi jenis ini hanya akan menjalankan tugas yang ada dalam tubuh fungsi
tersebut saja. Oleh karena itu tidak di butuhkan pendefinisian output argument atau
varibel nilai kembali pada awal fungsi atau function header.
Secara umum struktur penulisan fungsi jenis ini adalah sebagai berikut :
Contoh Penggunaannya adalah sebagai berikut :
Program diatas memiliki dua nilai input yaitu a dan b dimana keduanya akan
ditampilkan dengan perintah fprintf() . Input argument pada dasarnya tidak wajib ada
pada saat pendefinisian fungsi, namun dengan mendeklarasikan masukan akan
mempermudah dalam mengolah sebuah masukan daripada harus mendeklarasikan
variable baru. Selain itu, variable masukan tersebut menjadi lebih aman dari gangguan
yang mungkin disebabkan oleh fungsi lain karena deklarasinya dilakukan secara lokal
hanya pada fungsi tersebut saja.
Cara pemanggilannya adalah sebagai berikut :
Fungsi yang mengembalikan nilai
Fungsi jenis akan mengembalikan nilai dari hasil prosesnya kepada si pemanggil
fungsi. Pendefinisian output argument atau nilai kembali sangat penting, karena pada
akhir dari operasi fungsi harus menghasilkan nilai yang akan dikembalikan.
Pengembalian nilai dilakukan saat nilai dari variabel keluaran diubah.
Secara umum fungsi yang mengembalikan nilai dalam Matlab terdiri dari:
1. Kepala Fungsi (Function Header) pada baris pertama :
- Kata function
- Karena fungsi mengembalikan nilai, maka selanjutnya adalah pemberian nama
untuk output argument yang diikuti oleh =
- Nama fungsi (Nama fungsi harus sama dengan nama M-file)
- Input Argument berada dalam tanda kurung, bila memang didefinisikan maka saat
pemanggilan fungsi, nilai dari masukan harus diikutsertakan.
2. Kalimat yang mendeskripsikan fungsi (tidak wajib, diawalai anda ‘%’)
3. Isi dari fungsi yang terdiri dari perintah-perintah dan wajib memberikan nilai pada
Output Argument.
4. Akhir dari fungsi ditutup dengan End.
Secara umum, bentuk dari fungsi yang mengembalikan nilai adalah sebagai berikut :
Berikut adalah contoh program :
Sedangkan untuk proses pemanggilannya adalah sebagai berikut :
Karena fungsi diatas mengembalikan nilai, maka nilai kembalinya dapat pula
dimasukan kedalam sebuah variabel seperti pada contoh dibawah ini :
Selain itu fungsi tersebut dapat juga dipanggil sebagai Input Argument dari
fungsi lain :
Fungsi dalam Matlab tidak hanya dapat mengembalikan satu nilai saja,
namun juga dapat mengembalikan lebih dari satu nilai seperti layaknya vector.
Contoh pendefinisiannya adalah sebagai berikut :
Cara memanggilnya adalah sebagai berikut :
Fungsi Anonim
Fungsi anonim adalah fungsi sederhana yang hanya terdiri dari satu baris perintah.
Fungsi anonim dapat didefinisikan dalam editor maupun command window. Keuntungan
fungsi ini adalah tidak perlunya fungsi untuk disimpan dalam M-file yang berbeda sehingga
satu M-file dapat menyimpan lebih dari satu fungsi anonim. Secara umum bentuk
pendeklarasian dari fungsi anonim adalah sebagai berikut :
Dimana fnhandle adalah nama dari fungsi yang bersangkutan, @ adalah operator
untuk variabel, arguments berisi Input Argument dan functionbody adalah isi perintah
dari fungsi yang didefinisikan. Contoh :
Fungsi Rekursi
Fungsi rekursi adalah fungsi yang memanggil dirinya sendiri. Fungsi rekursi sendiri
sebenarnya dapat digantikan oleh proses perulangan, namun adakalanya proses rekursi
dibutuhkan untuk menghindari proses perulangan bersarang. Sebagai contoh untuk mencari
nilai dari faktorial, dapat menggunakan rekursi ataupun perulangan. Berikut adalah contoh
programnya :
Mencari Faktorial dengan Perulangan
Mencari Faktorial dengan Rekursi
3. BASIC STATISTICS, SET OPERATIONS, SORTING, AND
INDEXING
Ada banyak analisis statistik yang dapat ditampilkan pada sebuah set data. Dalam software
MATLAB®, fungsi statistik dalam topik bantuan analisis data disebut datafun.
Secara umum kita akan menulis satu set data nilai n sebagai
𝑥 = {𝑥1, 𝑥2, 𝑥3, 𝑥4, … , 𝑥𝑛}
Dalam MATLAB®, ini umumnya akan direpresentasikan sebagai vector baris x.
Statistik dapat digunakan untuk mengkarakterisasi sifat dari suatu kumpulan data . Sebagai
contoh, perhatikan satu set nilai ujian { 33 , 75 , 77 , 82 , 83 , 85 , 85 , 91 , 100 } . Mungkin
fungsi statistik yang paling umum digunakan adalah rata-rata , yang dapat dicari dengan
menjumlahkan nilai dan membaginya dengan jumlah data ( hasilnya adalah 79 ) . Selain itu bisa
juga dengan menentukan data nilai yang paling sering muncul (modus), yaitu 85 dan fungsi
lainnya yang berguna untuk mengetahui bagaimana menyebar nilai-nilai data dalam kumpulan
data .
Bagian ini akan membahas beberapa statistik sederhana, serta operasi set yang dapat dilakukan
pada set data. Beberapa fungsi statistik mengharuskan kumpulan data dalam keadaan sorted,
sehingga sorting juga akan dibahas. Menggunakan vektor indeks adalah salah satu cara untuk
merepresentasikan data, tanpa men-sorting sekumpulan data secara fisik. Akhirnya, mencari
nilai-nilai dalam satu set data atau database akan sangat berguna, sehingga beberapa teknik
pencarian dasar akan dijelaskan.
1. Statistical Functions
MATLAB® memiliki banyak sekali fungsi statistik yang bersifat built-in, contoh yang paling
sederhana yang paling sering kita gunakan misalnya, min dan max untuk menemukan nilai
minimum atau maksimum dalam satu set data.
Kedua fungsi ini juga mengembalikan indeks dari nilai terkecil atau terbesar, jika ada lebih dari
satu kejadian, ia mengembalikan kejadian yang pertama. Misalnya, dalam hal berikut 10 adalah
nilai terbesar, ada tiga elemen dalam vektor tetapi indeks kembali adalah elemen pertama yang
ditemukan (yaitu 2):
Untuk matriks, fungsi min dan max beroperasi columnwise secara default:
Untuk menemukan nilai minimum (atau maksimum) untuk setiap baris, dimensi 2 (yang adalah
bagaimana MATLAB® mengacu pada baris) dapat dispesifikasikan sebagai argumen ketiga
untuk fungsi min (atau max). Argumen kedua harus menjadi vektor kosong:
Mean
Untuk matriks, fungsi mean beroperasi columnwise. Untuk menemukan rata-rata setiap baris,
dimensi 2 dilewatkan sebagai argumen kedua ke fungsi, seperti halnya dengan fungsi sum,
prod, cumsum, dan cumprod(tombol [] sebagai argumen tengah tidak diperlukan untuk fungsi-
fungsi ini seperti itu untuk min dan max).
Variance and Standard Deviation
Standar deviasi dan varians adalah cara untuk menentukan penyebaran data. Varians biasanya
didefinisikan dalam hal mean aritmatik sebagai:
Fungsi built-in untuk menghitung varian disebut var.
Standar deviasi sendiri merupakan akar kuadrat dari varian. Fungsi built-in pada MATLAB®
untuk standar deviasi adalah std, namun dapat juga dicari dengan menggunakan fungsi sqrt dari
var.
Mode
Modus merupakan nilai yang paling sering muncul pada sebuah kumpulan data. Fungsi built-in
untuk modus adalah mode.
Jika terdapat dua nilai yang memiliki frekuensi kemunculan yang sama, maka nilai yang akan
dihasilkan pada fungsi ini adalah nilai terkecil.
Median
Median atau nilai tengah hanya akan bisa dicari apabila kumpulan data telah diurutkan, di mana
nilai tersebut akan berada di tengah-tengah kumpulan data apabila kumpulan data berjumlah
ganjil, atau rata-rata dari dua nilai di tengah apabila kumpulan data berjumlah genap.
Namun, pada software MATLAB®, kumpulan data yang belum diurutkan akan secara otomatis
diurutkan apabila pengguna menggunakan fungsi median.
2. Set Operations
MATLAB® memiliki beberapa fungsi built-inset operasi terhadap vektor. Fungsi tersebut antara
lain, union, intersect, unique, setdiff dan setxor. Semua fungsi tersebut baru dapat digunakan
apabila set data yang akan diolah telah diurutkan dari nilai yang terkecil ke nilai yang terbesar
(ascending). Sebagai tambahan, ada dua fungsi is-yang akan dipakai pada set operasi, yaitu
ismember dan issorted.
Sebagai contoh, diketahui vektor sebagai berikut :
Fungsi union digunakan untuk menggabungkan kedua input argumen yang diberikan, tanpa
adanya perulangan nilai yang sama.
Fungsi intersect digunakan untuk menemukan nilai yang sama pada kedua input argumen yang
digunakan.
Fungsi setdiff digunakan untuk menemukan nilai yang tidak ada pada salah satu input argumen
yang diberikan, tergantung posisi input argumen dalam penggunaan fungsi tersebut.
Fungsi setxor merupakan fungsi union dari kedua jenis fungsi setdiff dengan dua input
argumen yang berbeda.
Fungsi unique digunakan untuk mengurutkan sebuah set data tanpa adanya nilai yang
mengalami perulangan.
Fungsi ismember digunakan untuk mengecek nilai yang sama pada beberapa input argumen.
Fungsi ismember hanya memiliki dua nilai, yaitu 1 dan 0.
Fungsi issorted digunakan untuk mengecek apakah set data yang akan diolah sudah dalam
keadaan sorted atau tidak, sama dengan fungsi ismember, fungsi issorted juga hanya memiliki
dua nilai, yaitu 1 dan 0.
Recommended