Modul Praktikum Metode Numerik Esti

14
Modul Praktikum Metode Numerik Pengenalan Matlab PENDAHULUAN Variabel Nama yang diberikan untuk mewakili suatu data, baik berupa masukan data atau merupakan hasil perhitungan aturan penulisan variabel: 1. harus diawali dengan huruf 2. tidak boleh mengandung spasi dan tanda baca (karakter khusus) 3. tidak boleh menggunakan key words 4. dibedakan antara huruf besar dan huruf kecil, misalnya: Nama, NAMA, NamA, NaMa, dsb. merupakan variabel yang berbeda. Input Data Terdapat dua cara untuk memasukkan data yaitu: a. inisialisasi data, dimana data diberikan secara langsung pada saat pembuatan program Bentuk umum: variabel = ekspresi b. menggunakan perintah input, dimana data diberikan pada saat program di-running. Bentuk umum: variabel = input(‘text’) numerik dan string atau variabel = input(‘text’, ‘s’) string pada layar akan tampil apa yang tertulis di antara tanda petik (text), menanti masukan data yang diikuti dengan menekan enter melalui keyboard. Contoh berikut ini menampilkan program perhitungan sederhana dimana langkah memasukkan data dilakukan dengan menggunakan kedua cara: tersebut. Kedua contoh tersebut dijalankan pada layar utama Matlab yang disebut command window.

Transcript of Modul Praktikum Metode Numerik Esti

Page 1: Modul Praktikum Metode Numerik Esti

Modul Praktikum Metode Numerik Pengenalan Matlab PENDAHULUAN Variabel Nama yang diberikan untuk mewakili suatu data, baik berupa masukan data atau merupakan hasil perhitungan aturan penulisan variabel: 1. harus diawali dengan huruf 2. tidak boleh mengandung spasi dan tanda baca (karakter khusus)

3. tidak boleh menggunakan key words 4. dibedakan antara huruf besar dan huruf kecil, misalnya: Nama, NAMA,

NamA, NaMa, dsb. merupakan variabel yang berbeda.

Input Data Terdapat dua cara untuk memasukkan data yaitu: a. inisialisasi data, dimana data diberikan secara langsung pada saat

pembuatan program

Bentuk umum:

variabel = ekspresi

b. menggunakan perintah input, dimana data diberikan pada saat program

di-running.

Bentuk umum:

variabel = input(‘text’) numerik dan string

atau

variabel = input(‘text’, ‘s’) string

pada layar akan tampil apa yang tertulis di antara tanda petik (text),

menanti masukan data yang diikuti dengan menekan enter melalui keyboard. Contoh berikut ini menampilkan program perhitungan sederhana dimana

langkah memasukkan data dilakukan dengan menggunakan kedua cara: tersebut. Kedua contoh tersebut dijalankan pada layar utama Matlab yang disebut command window.

Page 2: Modul Praktikum Metode Numerik Esti

Contoh : Perhitungan luas segitiga L = 0.5 x a x t dengan cara inisialisasi data

Contoh Perhitungan luas Segi Tiga A = 0.5 x a x t dengan cara input data.

>> topik='segi tiga'

topik =

segi tiga

>> alas = 5

alas =

5

>> tinggi=10

tinggi =

10

>> luas_segitiga = 0.5 * alas * tinggi

luas_segitiga =

25

>> topik = input('masukkan bangun geometri yang akan dicari

luasnya: ')

masukkan bangun geometri yang akan dicari luasnya: 'segi tiga'

topik =

segi tiga

>> alas = input(' masukkan alas segi tiga: ')

masukkan alas segi tiga: 5

alas =

5

>> tinggi = input('masukkan tinggi segi tiga : ')

masukkan tinggi segi tiga : 10

tinggi =

10

>> luas_segitiga = 0.5 * alas * tinggi

luas_segitiga =

25

Page 3: Modul Praktikum Metode Numerik Esti

Bila ingin menampilkan nilai dari suatu variable disp(A) dimana A

adalah variabel; hasil yang ditampilkan adalah nilai yang tersimpan

dalam variabel A tersebut.

Contoh :

Bila ingin menampilkan teks atau string4hasil yang ditampilkan adalah

apa yang tertulis di antara tanda petik.

Contoh :

Bila ingin menampilkan gabungan teks dan nilai dari suatu variabel,

gunakan tanda kurung siku dimana nilai numerik harus dikonversi ke

bentuk string terlebih dahulu dengan menggunakan fungsi num2str (number to string).

Contoh :

>> A = 30

A =

30

>> disp(A)

30

>> disp('angkatan 45')

angkatan 45

>> x = 45

x =

45

>> disp ([ 'Nilai sudut salah satu segitiga adalah =',num2str(x)

,'disebut segitiga siku-siku'])

Nilai sudut salah satu segitiga adalah = 45 disebut segitiga siku-

siku

Page 4: Modul Praktikum Metode Numerik Esti

Penggabungan Input Data

Beberapa data yang dimasukkan yang ditulis dalam beberapa baris program dapat digabungkan dengan memberikan tanda koma (,) atau

titik koma (;) sebagai pemisah, tanda ; membuat data menjadi

tersembunyi. Contoh : Input data x, y, dan z pada contoh di atas yang ditulis dalam 3

baris program dapat digabungkan menjadi 1 baris program dengan salah

satu cara berikut:

Pemberian Komentar

Pemberian komentar diawali dengan tanda persen ‘%’ merupakan

pernyataan atau komentar atau keterangan atau catatan.

Tujuannya adalah untuk memberi keterangan agar lebih mudah memahami maksud suatu bagian program.

Sejauh ini, semua pekerjaan dilakukan melalui sebuah layar yang disebut command window dimana perintah dapat dieksekusi secara

langsung satu per satu. Ada pula layar lain yang dapat menyimpan

semua perintah yang dibuat untuk kemudian dieksekusi secara keseluruhan. Layar tersebut adalah layar M-File.

>> x = 1, y = 2, z = 3

x =

1

y =

2

z =

3

>> x = 1; y = 2; z = 3

z =

3

>> x = 1; y = 2; z = 3;

>>

Page 5: Modul Praktikum Metode Numerik Esti

Contoh :

Perhitungan Luas persegi panjang : L = p x l, L = Luas persegi panjang, l = lebar , p = panjang

Fungsi di atas diketik dalam layer m.file, harus disimpan sesuai nama

fungsinya yaitu “luassegitigasiku” dalam direktori.

Bila akan menjalankan fungsi tersebut m.file buka nama fungsi

“luassegitigasiku” kemudian klik menu debug > run, kemudian dalam command windows kita masukkan nilai alas dan tingginya. Misalnya

palas a = 10 dan tinggi t = 20, maka penulisan & hasil dalam command

windows adalah :

VEKTOR DAN MATRIKS VEKTOR MATRIKS

Vektor dan matriks merupakan konsep dasar perhitungan dalam Matlab. Berbagai perhitungan dapat diselesaikan dengan lebih mudah,

ringkas, dan cepat bila bentuknya dikonversi ke dalam bentuk

vektor/matriks. Untuk itu, harus dipahami benar dasar operasi dengan

menggunakan vektor/matriks.

1. Skalar

Di dalam Matlab, skalar adalah sebuah data dengan satu baris dan satu

kolom. Variabel-variabel yang memuat data skalar tersebut dapat

mengalami operasi penjumlahan, pengurangan, perkalian, dan pembagian.

2. Vektor Di dalam Matlab, vektor adalah sekumpulan data yang

membentuk hanya satu baris atau satu kolom.

% menghitung luas segi tiga siku-siku

% masukkan a = alas dan t = tinggi

% Luas = L = 0.5 * a * t

function L=luassegitigasiku(a,t);

L=0.5*a*t;

>> luassegitigasiku(10,20)

ans =

100

Page 6: Modul Praktikum Metode Numerik Esti

Penulisan elemen dilakukan di dalam kurung siku [ ] yang diantarai

dengan spasi atau titik koma. Pengecualian berlaku hanya untuk penulisan data yang berbentuk deret dengan pola tertentu.

Vektor dapat mengalami operasi dengan skalar atau dengan vektor lain

asalkan mempunyai dimensi yang sama.

Contoh : Vektor dan Operasinya

(i) Bentuk deret sederhana Bentuk umum penulisan data dengan pola tertentu atau deret yang

sederhana:

variabel = n : m dimana n = nilai awal, m = nilai akhir

(ii) Penggunaan increment

Bentuk umum penulisan data dengan pola tertentu atau deret:

variabel = n : i : m dimana n = nilai awal, m = nilai akhir, dan i = increment/langkah; bila I tidak didefinisikan, maka Matlab akan

menggunakan default-nya yaitu 1.

>> a = 1:5

a =

1 2 3 4 5

>> a = [1:5]

a =

1 2 3 4 5

>> a = [1 2 3 4 5]

a =

1 2 3 4 5

>> 1:10

ans =

1 2 3 4 5 6 7 8 9 10

>> 1:2:10

ans =

1 3 5 7 9

>> 0:2:10

ans =

0 2 4 6 8 10

Page 7: Modul Praktikum Metode Numerik Esti

Vektor dapat mengalami operasi penjumlahan, pengurangan, perkalian,

dan pembagian. Operasi penjumlahan dan pengurangan dapat dilakukan bila vektor-vektor yang akan dijumlahkan atau dikurangkan

mempunyai orde (dimensi) yang sama. Perkalian 2 buah vektor x dan y

mempunyai bentuk: Σ xi * yi dimana kedua vektor juga harus berde sama, tetapi 1 vektor

kolom dan yang lainnya vektor baris.

>> a = [1 2 3] % vector baris a

a =

1 2 3

>> b = [2 1 0] % vector baris b

b =

2 1 0

>> a + b % penjumlahan vector baris a dan vector baris b

ans =

3 3 3

>> a – b % pengurangan vector baris a dengan vector

baris b

ans =

-1 1 3

>> a * b % perkalian vector baris dengan vector baris

tidak bisa

??? Error using ==> *

Inner matrix dimensions must agree.

>> b=[2; 1; 0] % vector kolom b

b =

2

1

0

>> a * b % perkalian vector baris a denga vector kolom b

ans =

4

Page 8: Modul Praktikum Metode Numerik Esti

3. Matriks

Matriks merupakan himpunan data yang membentuk beberapa

baris dan kolom. Aturan operasi penjumlahan dan pengurangan yang

berlaku pada vektor juga berlaku untuk matriks apabila matriks mempunyai dimensi yang sama.

Perkalian antara 2 buah matriks misalkan matriks A dan matriks

B. Perkalian matriks A x B, harus memenuhi aturan bahwa banyaknya

kolom pada matriks A harus sama dengan benyaknya baris pada matriks B.

Contoh : Matriks dan Operasinya

>> A=[1 2 3;2 1 3] % Operasi penambahan dan pengurangan

matriks. Dimensi matriks harus sama

A =

1 2 3

2 1 3

>> B=[3 3 3;2 2 2]

B =

3 3 3

2 2 2

>> C=A+B

C =

4 5 6

4 3 5

>> D=A-B

D =

-2 -1 0

0 -1 1

>> E=A*B % perkalian matriks ukuran baris matriks A tidak

sama dengan ukuran kolom matriks B jadi error...

??? Error using ==> *

Inner matrix dimensions must agree.

>> B'

ans =

3 2

3 2

3 2

>> A*B' %perkalian dapat dilakukan

ans =

18 12

18 12

Page 9: Modul Praktikum Metode Numerik Esti

4. Pengalamatan

Merupakan cara penulisan yang digunakan untuk menampilkan atau mendefinisikan ulang suatu data atau sekumpulan data pada vector

atau matriks, ditulis dalam bentuk umum: variabel(i,j), dimana i

menunjukkan baris dan j menunjukkan kolom Vektor dan Matriks Contoh : Pengalamatan Vektor atau Matriks

x(2) menunjukkan elemen kedua vektor x

z(3) menunjukkan elemen ketiga vektor y12

r(2,1) menunjukkan elemen matriks r pada baris kedua kolom pertama

t(3,2) menunjukkan elemen matriks t pada baris ketiga kolom

kedua s(:,2) menunjukkan semua elemen matriks s pada kolom kedua

u(1,:) menunjukkan semua elemen matriks u pada baris pertama

PENGATURAN ALUR PROGRAM

Pengaturan alur program memungkinkan pengguna untuk mengulangi

perhitungan secara berulang-ulang ataupun memilih serta memutuskan kondisi-kondisi yang sesuai/diinginkan. Matlab menyediakan empat

bentuk pengaturan alur program yang akan dibahas berikut ini.

1. Loop for Loop for memungkinkan sekelompok perintah diulang sebanyak suatu

jumlah yang tetap. Bentuk umum: for loopvariable = loopexpression

perintah-perintah

end

Loopvariable merpakan nama variabel yang diberikan, sedangkan

loopexpression biasanya memiliki bentuk n:m atau n:i:m.

Perintah perintah di antara baris for dan end dikerjakan berulang-ulang dari nilai awal n sampai nilai akhir m, dengan increment (langkah)

sebesar i.

Contoh : Perhitungan pangkat 3 dari himpunan bilangan bulat dari 1

sampai 4

Page 10: Modul Praktikum Metode Numerik Esti

Contoh : Operasi perkalian 2 buah vector

2. Loop while

Bentuk umum: while while_expression

perintah-perintah

end

Operator relasi yang didefinisikan sebagai berikut: > lebih besar >= lebih besar atau sama dengan

< lebih kecil <= lebih kecil atau sama dengan

== sama -= tidak sama

>> for n = 1:4

x(n) = n^3

end

x =

1

x =

1 8

x =

1 8 27

x =

1 8 27 64

>> x = [1 2 3];

y = [4 5 6];

sum = 0;

for i = 1:3

sum = sum + x(i)*y(i)

end

sum =

4

sum =

14

sum =

32

Page 11: Modul Praktikum Metode Numerik Esti

contoh :

3. If-Statement

Bentuk umum: if if_ekspresi

perintah-perintah

end

Contoh :

Di sebuah toko kue, harga kue per toples adalah Rp. 25.000

Apabila membeli minimal 4 toples akan mendapatkan potongan 10%

Program ditulis dalam m.file, disimpan dengan nana kue.m

Apabila di_run hasilnya adalah:

n = 1;

x = 0;

while x <15

x(n) = n^2;

n = n+1;

end

>> x

x =

1 4 9 16

Harga = input('Harga 1 toples kue =');

Cacah_Kue = input('Berapa toples kue yang dibeli??? =');

if Cacah_Kue >= 4

bayar = ((Cacah_Kue*Harga)-(Cacah_Kue*Harga*0.01))

else

bayar =Cacah_Kue*Harga

end

Harga 1 toples kue =25000

Berapa toples kue yang dibeli??? =3

bayar =

75000

Page 12: Modul Praktikum Metode Numerik Esti

Jika terdapat 3 atau lebih pilihan, konstruksi if-else-end mengambil

bentuk: if if_ekspresi1

perintah dikerjakan jika if_ekspresi1 benar

elseif if_ekspresi2 perintah dikerjakan jika if_ekspresi2 benar

elseif if_ekspresi3

perintah dikerjakan jika if_ekspresi3 benar elseif if_ekspresi4

perintah dikerjakan jika if_ekspresi4 benar

elseif

else perintah dikerjakan jika tidak ada if_ekspresi yang benar

end

Contoh:

Untuk menentukan nilai akhir mahasiswa, untuk setiap mata kuliah

diadakan ujian kompetensi dasar (KD) sebanyak 4 kali.

4

4321_

DKKDKDAkhirNilai , Jika Nilai akhir >80 memperoleh A,

jika 80_70 AkhirNilai , nilai B, Jika 70_60 AkhirNilai nilai C, jika

Nilai_Akhir < 60 nilai D

Contoh Program adalah :

Harga 1 toples kue =25000

Berapa toples kue yang dibeli??? =4

bayar =

99000

Page 13: Modul Praktikum Metode Numerik Esti

Program di atas disimpan dalam format m.file dengan nama nilai.m. apabila di run hasilnya adalah:

4. Switch-case-otherwise

Bentuk umum: switch ekspresi

case ekspresi1

perintah-perintah case ekspresi2

perintah-perintah

case …… .

.

KD1 = input('Masukkan nilai KD 1 sekala 100, KD 1 =');

KD2 = input('Masukkan nilai KD 2 sekala 100, KD 2 =');

KD3 = input('Masukkan nilai KD 3 sekala 100, KD 3 =');

KD4 = input('Masukkan nilai KD 4 sekala 100, KD 4 =');

NA = (KD1+KD2+KD3+KD4)/4

if NA >= 80

ket = 'A'

else if 70 <= NA & NA < 80

ket = 'B'

else if 60 <= NA & NA < 70

ket = 'C'

else if 50 <= NA & NA < 60

ket = 'D'

else

ket = 'E'

end

end

end

end

end

Masukkan nilai KD 1 sekala 100, KD 1 =80

Masukkan nilai KD 2 sekala 100, KD 2 =78

Masukkan nilai KD 3 sekala 100, KD 3 =79

Masukkan nilai KD 4 sekala 100, KD 4 =79

NA =

79

ket =

B

Page 14: Modul Praktikum Metode Numerik Esti

otherwise

perintah-perintah end

Program tersebut ditulis dalam m.file dan diberi nama pilihan.m, apabila di run hasilnya adalah :

disp('1. Newton')

disp('2. Regula Falsi')

disp('3. Newton Raphson')

n = input('Metoda yang dipilih (masukkan nomor urutnya saja) =

');

switch n

case (1), disp('Metode Newton')

case (2), disp('Metode Regula Falsi')

case (3), disp('Metode Newton Raphson')

otherwise

disp('Metode tersebut belum dimasukkan dalam daftar')

end

>> 1. Newton

2. Regula Falsi

3. Newton Raphson

Metoda yang dipilih (masukkan nomor urutnya saja) = 2

Metode Regula Falsi