modul praktikum p2

14
MODUL PRAKTIKUM PEMROGRAMAN KOMPUTER DASAR PEMROGRAMAN DALAM MATLAB Laboratorium Simulasi dan Komputasi Jurusan Teknik Fisika Fakultas Teknologi Industri Institut Teknologi Sepuluh Nopember Surabaya 2014

Upload: rahmadyanti-yusnita

Post on 29-Dec-2015

91 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Modul Praktikum p2

MODUL PRAKTIKUM

PEMROGRAMAN KOMPUTER

DASAR PEMROGRAMAN DALAM MATLAB

Laboratorium Simulasi dan Komputasi

Jurusan Teknik Fisika

Fakultas Teknologi Industri

Institut Teknologi Sepuluh Nopember

Surabaya

2014

Page 2: Modul Praktikum p2

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

Page 3: Modul Praktikum p2

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.

Page 4: Modul Praktikum p2

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 :

Page 5: Modul Praktikum p2

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 :

Page 6: Modul Praktikum p2

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 :

Page 7: Modul Praktikum p2

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

Page 8: Modul Praktikum p2

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.

Page 9: Modul Praktikum p2

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:

Page 10: Modul Praktikum p2

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.

Page 11: Modul Praktikum p2

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.

Page 12: Modul Praktikum p2

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.

Page 13: Modul Praktikum p2

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.

Page 14: Modul Praktikum p2