modul1 metode bagi dua praktikum metode numerik

15
Praktikum Metode Numerik Laboratorium Teknologi Informasi & Komunikasi James Philip Montolalu | 13021106048 MODUL 1 METODE BAGI DUA Nama Asisten : Allan Riedel Mandagi NRI : 120216016 Nama Praktikan : James Philip Montolalu NRI : 13021106048 Kelompok 3 Rekan Kerja : 1. Tania Yunita Suriton (13021106021) 2. Andy Setiawan (13021106091)

Upload: james-montolalu

Post on 19-Jul-2015

227 views

Category:

Education


10 download

TRANSCRIPT

Page 1: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

MODUL 1

METODE BAGI DUA

Nama Asisten : Allan Riedel Mandagi

NRI : 120216016

Nama Praktikan : James Philip Montolalu

NRI : 13021106048

Kelompok 3 Rekan Kerja :

1. Tania Yunita Suriton (13021106021)

2. Andy Setiawan (13021106091)

Page 2: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB I

PENDAHULUAN

I.1 TUJUAN :

1. Menguasai metode bagi dua yang digunakan dalam komputasi numerik.

2. Memahami algoritma pemrograman untuk merancang program metode bagi

dua yang ada dalam komputasi numerik.

3. Menerapkan algoritma untuk perancangan dan pembuatan program metode

bagi dua.

4. Melakukan pengujian algoritma dan kode program.

5. Membuat dokumentasi.

I.2 DASAR TEORI

Metode bagi-dua membagi area (atau range) menjadi dua bagian, yakni bagian

yang mengandung akar yang akan digunakan, dan bagian yang tidak mengandung

akar, yang akan dibuang. Bagian yang mengandung akar kemudian dibagi

berulang-ulang, sehingga dapat diperoleh akar-akar dari persamaan. *)

Langkah:

1) Mengetahui batas bawah dan atas: a dan b

Page 3: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

2)

3) Jika z merupakan akar fungsi, maka f(x<z) dan f(x>z) saling berbeda

tanda.

4) f(a) x f(c) negatif, berarti diantara a dan c ada akar fungsi.

5) f(b) x f(c) positif, berarti diantara b dan c tidak ada akar fungsi.

Pseudocode fungsi bagi-dua **)

FUNCTION Bisect (x1, xu, es, imax, xr, iter, ea)

iter = 0

DO

xrold = xr

xr = (x1 + xu ) / 2

iter = iter + 1 IF xr ≠ 0

then ea =

ABS((xr - xrold) / xr) * 100

END IF

test = f(x1) *

f(xr) IF

test < 0 THEN

xu = xr

ELSE IF test > 0 THEN

xl = xr

ELSE

ea

= 0

END IF

IF ea < es OR iter ≥ imax EXIT

END DO

bisect = xr

END bisect

Page 4: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB II

ALAT & BAHAN

II.1 Buku Teks

II.2 Unit Pemroses

II.3 Aplikasi Pembuatan Program

1) Aplikasi IDE C++ (Bloodshed Dev-C++)

2) Mathematica

3) MatLab

Page 5: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

4) IDE VisualStudio 2010

5) Netbeans atau Eclipse

Page 6: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB III

PROSEDUR PERCOBAAN

III.1. Prosedur Umum

1. Memahami formulasi matematis Metode Bagi Dua.

2. Menulis algoritma penyelesaian masalah (dengan menggunakan teks dan/atau

flow chart)

3. Menulis pseudocode algoritma

4. Menguji pseudocode algoritma penyelesaian masalah (misalnya dengan

menggunakan prosedur Desk Check)

5. Menulis Program

6. Menguji Program (misalnya dengan menggunakan prosedur Joel Test

dan/atau

tools seperti NUnit, NCover, NCoverExplorer dan TestDriven.NET)

7. Membuat Dokumentasi Praktikum (misalnya dengan menggunakan Version

Control Subversion, Mercurial, Git atau Veracity)

III.2 Prosedur Khusus

III.2.1 Contoh Menulis Program menggunakan IDE Bloodshed Dev C++

1. Untuk menulis program baru caranya tekan CTRL+N atau pilih NEW lalu

klik

2. Source File terlebih dahulu sebelum mengetik program.

3. Ketikkan program anda.

4. Simpan program dengan menekan tombol CTRL+F12, pilih Save kemudian

pada kotak dialog yang muncul ketikkan nama program pada tempat yang

tersedia misalnya Contoh1.cpp, kemudian klik Save atau tekan <ENTER>

5. Jalankan program dengan terlebih dahulu melakukan kompilasi. Hal ini dapat

dilakukan sekaligus dengan mengklik Compile & Run (F9) pada menu bar

atau langsung menekan F9 pada keyboard.

6. Bila kompilasi tidak berhasil dan memunculkan pesan error, periksa kembali

kode program yang ada kemudian perbaiki kesalahan dan lakukan kembali

langkah 3 dan 4.

7. Untuk membuka arsip yang ada, gunakan OPEN atau tekan CTRL+O pada

keyboard.

III.2.2 Prosedur Uji Coba

Perhatikan penggalan program berikut:

Page 7: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

#include <iostream>

#include <math.h>

using namespace std;

int main(){

float error, A, B, C, a, b, c, d, e;

A=1;

B=-10;

C=23;

e=2;

a=6;

b=6.8;

int i=1;

do{

c=(a+b)/2;

error=((A)*pow(c,e)))+(c*B)+(C);

cout<<"\nerror"<<i<<":"<<error<<endl<<endl;

if(error<0)

a=c;

else

b=c;

i++;

}

while ((error>0.000001||error<-0.000001);

system("pause");

return 0;

}

Lakukan langkah-langkah berikut:

1. Terdapat fungsi f(x) = x2 - 10x + 23; dengan titik batas A0 = 6 dan B0 = 6.8,

2. Pahami algoritma penyelesaian masalah pada program diatas!

3. Tuliskan program berdasarkan langkah-langkah algoritma penyelesaian

masalah!

4. Jalankan Program!

5. Temukan kesalahan program

6. Membuat dokumentasi

7. Lakukan kembali langkah 4 hingga langkah 6

8. Tuliskan program yang sudah benar!

9. Membuat laporan dokumentasi lengkap.

Page 8: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

III.2.3 Saran

1. Pelajari buku teks dan sumber lainnya.

2. Mintalah Petunjuk dari dosen pengasuh, asisten laboratorium dan lainnya.

3. Lakukan dokumentasi dengan baik.

4. Belajarlah bekerja dalam kelompok.

5. Ikuti setiap langkah dari prosedur yang ada.

Page 9: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB IV

ANALISA PERCOBAAN

IV.1. Program Metode bagi dua menggunakan bahasa pemrogramana C

Source Code bahasa C:

Page 10: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Keluaran program:

Flowchart:

Float : error, A, B,

C, a, b, c, d, e

START

A=1; B=-10;

C=23; e=2;

Masukan batas a0 :

Masukan batas b0 :

(output)

K a c b f(x)

A

Page 11: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Error=((A)*pow(c,e))+(c*B)+(C);

Int i=0;

c=(a+b)/2

Hasil dari : i,a,c,b,error

Error<0

a=c b=c

i++

Error>0.000001||error<-0.000001

A

END

f<nilai c>hasil error

Page 12: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

IV.2 Program metode bagi dua dengan bahasa java:

Source code bahasa Java:

Keluaran Program:

Page 13: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Analisa Percobaan:

Pada praktikum metode bagi dua ini praktikan menggunakan 2 bahasa

pemrograman, yaitu bahasa pemrograman C dan bahasa pemrograman Java. Pada

kedua bahasa pemrograman ini sama-sama menggunakan struktur perulangan

DO-WHILE. Rumus yang digunakan untuk mencari error adalah error = ((A)

*pow(c,e) + (c*B) + (C). Kemudian terdapat rumus IF-ELSE untuk mengganti

nilai a dengan nilai c jika error<0 atau mengganti nilai b dengan c jika error>0.

Kemudian nilai a dan b yang baru akan diulang lagi dan dimasukkan ke dalam

rumus sampai prosesnya berhenti jika syarat pada pernyataan While() terpenuhi.

Setelah pernyataan While() terpenuhi maka didapatlah hasil F(x) dan x sebagai

akarnya.

Output pada bahasa pemrograman C berbeda dengan output pada bahasa

pemrograman Java. Output pemrograman C pada iterasi yang pertama memiliki

nilai F(x) = -0,04. Sedangkan output pemrograman Java pada iterasi pertama

memiliki nilai F(x) = -0,039. Kemudian pada pemrograman C memiliki proses

sampai iterasi ke 21 dengan nilai F(x) = 0,000000. Sedangkan pada pemrograman

Java memiliki proses sampai iterasi ke 19 dengan nilai F(x) = -1,022122

Page 14: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB V

KESIMPULAN

Kesimpulan

Metode bagi-dua membagi area (atau range) menjadi dua bagian, yakni

bagian yang mengandung akar yang akan digunakan dan bagian yang tidak

mengandung akar yang akan dibuang. Bagian yang mengandung akar kemudian

dibagi berulang-ulang, sehingga dapat diperoleh akar-akar dari persamaan.

Pada pemrograman ini praktikan menggunakan 2 bahasa pemrograman

yaitu bahasa pemrograman C dan bahasa pemrograman Java, sebagai pembanding

hasil output antara 2 bahasa pemrograman. Dan didapati output antara 2 bahasa

pemrograman memiliki output yang berbeda.

Page 15: Modul1 metode bagi dua Praktikum Metode Numerik

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

DAFTAR PUSTAKA

[1] E-Book : Tim Asisten 2012. Modul 1 Praktikum Metode Numerik “Metode

Bagi Dua”. Laboratorium Teknologi Informasi dan Komunikasi, Program

Studi Informatika, Jurusan Elektro, Fakultas Teknik, Universitas Sam

Ratulangi, Manado : 2015.