BAB I PENDAHULUAN 1.1. Latar Belakang. Dalam permasalahan non-linier, terutama permasalahan yang mempunyai hubungan fungsi eksponensial dalam pembentukan polanya dapat dianalisis secara eksperimental maupun teoritis. Salah satu bagian dari analisa teoritis adalah dengan melakukan komputasi dengan metode numerik. Metode numerik dalam komputasi akan sangat membatu dalam menyelesaikan permasalahan-permasalahan yang rumit diselesaikan secara aritmatika. Metode numerik akan sangat membantu setiap penyelesaian permasalahan apabila secara matematis dapat dibentuk suatu pola hubungan antar variabel/parameter. Hal ini akan menjadi lebih baik jika pola hubungan yang terbentuk dapat dijabarkan dalam bentuk fungsi. Ada sejumlah metode numerik yang dapat digunakan untuk menyelesaikan persamaan non-linear. Metode numerik digunakan untuk menyelesaikan persoalan dimana perhitungan secara analitik tidak dapat digunakan. Metode numerik ini berangkat dari pemikiran bahwa permasalahan dapat diselesaikan dengan menggunakan pendekatan-pendekatan yang dapat dipertanggung-jawabkan secara analitik. Metode numerik ini disajikan dalam bentuk algoritma-algoritma yang dapat dihitung secara cepat dan mudah. Pendekatan yang digunakan dalam metode numerik merupakan pendekatan analisis matematis. Sehingga dasar pemikirannya tidak keluar jauh dari dasar pemikiran analitis,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BAB I
PENDAHULUAN
1.1. Latar Belakang.
Dalam permasalahan non-linier, terutama permasalahan yang mempunyai hubungan
fungsi eksponensial dalam pembentukan polanya dapat dianalisis secara eksperimental
maupun teoritis. Salah satu bagian dari analisa teoritis adalah dengan melakukan komputasi
dengan metode numerik. Metode numerik dalam komputasi akan sangat membatu dalam
menyelesaikan permasalahan-permasalahan yang rumit diselesaikan secara aritmatika.
Metode numerik akan sangat membantu setiap penyelesaian permasalahan apabila secara
matematis dapat dibentuk suatu pola hubungan antar variabel/parameter. Hal ini akan
menjadi lebih baik jika pola hubungan yang terbentuk dapat dijabarkan dalam bentuk
fungsi. Ada sejumlah metode numerik yang dapat digunakan untuk menyelesaikan
persamaan non-linear.
Metode numerik digunakan untuk menyelesaikan persoalan dimana perhitungan
secara analitik tidak dapat digunakan. Metode numerik ini berangkat dari pemikiran bahwa
permasalahan dapat diselesaikan dengan menggunakan pendekatan-pendekatan yang dapat
dipertanggung-jawabkan secara analitik. Metode numerik ini disajikan dalam bentuk
algoritma-algoritma yang dapat dihitung secara cepat dan mudah. Pendekatan yang
digunakan dalam metode numerik merupakan pendekatan analisis matematis. Sehingga
dasar pemikirannya tidak keluar jauh dari dasar pemikiran analitis, hanya saja pemakaian
grafis dan teknik perhitungan yang mudah merupakan pertimbangan dalam pemakaian
metode numerik. Dan dalam laporan praktikum ini digunakan bahasa pemograman Min
GW. Dimana MinGW atau Minimalist GNU for Windows adalah paket program
pemrograman berbasis GNU yang dapat dijalankan di dalam sistem operasi Windows. Di
dalam paket ini sudah meliputi program GCC sendiri.
1.2. Tujuan Praktikum
Pembuatan laporan ini walau awalnya sebagai tugas mata kuliah Metode Numerik
sebenarnya juga sangat membantu penulis dan untuk memahami metode Iterasi, Deret
Taylor, Bisection, Regula Falsi, Newton Raphson, metode eliminasi Gauss - Jordan,
Cramer, Decomposisi LU, metode Eliminasi Gaus, Jacobi, Seidel, Trapesium, Titik Tengah
ini lebih baik
1.3. Manfaat Praktikum
Manfaat dari laporan serta program yang dibuat kelompok antara lain :
1. Membantu memahami lebih lanjut penyelesaian sistem persamaan linier dengan
metode eliminasi Gauss-Jordan.
2. Membantu pengguna yang ingin menyelesaikan sistem persamaan linier.
3. Membantu mempelajari langkah-langkah yang dilakukan untuk menyelesaikan
sistem persamaan linier.
BAB II
PEMBAHASAN
II.1 Deret Tailor
Pada umumnya fungsi-fungsi yang bentuknya kompleks dapat disederhanakan menjadi
fungsi hampiran dalam bentuk fungsi polinomial yang lebih sederhana. Fungsi polinomial
lebih mudah dipahami kelakuannya. Apabila kita melakukan pekerjaan hitungan dengan
menggunakan fungsi
yang sesungguhnya, maka akan kita dapatkan hasil solusi eksak (solusi sejati). Tetapi bila
kita melakukan pekerjaan hitungan dengan menggunakan fungsi hampiran, maka akan kita
dapatkan hasil solusi hampiran (solusi pendekatan). Perbedaan antara solusi eksak dan
solusi hampiran terletak pada adanya galat pada solusi hampiran. Galat pada solusi numerik
harus dihubungkan dengan seberapa teliti polinomial dalam menghampiri fungsi yang
sesungguhnya. Biasanya dalam menghampiri fungsi yang sesungguhnya, orang
menggunakan apa yang disebut dengan deret Taylor.
II.1.1 Definisi Deret Taylor
Andaikan suatu fungsi f (x) dan turunannya, yaitu f '(x), f "(x), f '''(x),..., f (n) (x)
kontinu dalam selang a,b], dan [ , ] 0 x ∈ a b , maka untuk nilai x disekitar 0 x
(Gambar 3.1) f (x) dapat diekspansikan diperluas) ke dalam deret Taylor sebagai,
II.1.2 Algoritma
algoritma global untuk penyelesaian semua masalah yang menggunakan deret Taylor
dengan input X.
1. n = 0 / menyatakan turunan ke – n
2. pembilang = 1 / X0 = 1
3. penyebut = 1 / 0! = 1
4. hasil = 0 / hasil keseluruhan
5. suku = turunan(n) * pembilang / penyebut/hitung nilai dari suku ke n
6. hasil = hasil + suku
7. Tambahkan nilai n dengan 1
8. pembilang = pembilang * X / untuk mendapatkan Xk+1 = Xk * X
9. penyebut = penyebut * n / untuk mendapatkan faktorial ke n
10. Ulangi terus langkah ke 4 – 8 sampai keadaan tertentu
Dalam perhitungan menggunakan deret Taylor dimana fungsi diturunkan terus
sampai tak hingga , maka diperlukan adanya sebuah pemotongan pada keadaan
tertentu yang menyatakan kapan perhitungan tersebut harus berhenti . Keadaan
tertentu yang dipakai biasanya ditentukan oleh nilai dari suku.
II.2 Metode Bisection ( Bagi Dua )
Misalkan suatu fungsi f (x) kontinu dalam interval tertutup [a,b], f (a) ∗ f (b) < 0 dan c
= 1/2( a + b ) , dimana c ∈[a,b] . Interval baru yang dipilih selalu [a,c] atau [c,b].
Interval yang diambil untuk iterasi berikutnya adalah subsinterval yang di dalamnya
dimungkinkan terdapat akar, namun hal ini bergantung pada apakah f (a) ∗ f (c) < 0
atau f (c) ∗ f (b) < 0. Perhatikanlah proses penentuan interval baru di bawah ini,
Interval baru dibagi dua lagi dengan cara yang sama. Begitu seterusnya sampai ukuran
interval yang baru sudah sangat kecil dan hal ini tentu saja sesuai dengan toleransi kesalahan
yang diberikan. Kriteria berhentinya iterasi dapat dipilih dari salah satu tiga kriteria di
bawah ini :
Lebar interval baru: − < ε r r a b , yang dalam hal ini ε adalah nilai toleransi lebar interval
yang mengapit akar eksak.
Nilai fungsi di akar hampiran: f (c) ≈ 0
Galat relatif hampiran akar : dalam hal ini δ adalah galat relatif
hampiran yang diinginkan.
II.2.1 Algoritma Metode Bisection
Asumsi awal yang harus diambil adalah: ‘menebak’ interval awal [a,b] dimana f(x)
adalah kontinu padanya, demikian pula harus terletak ‘mengapit’ (secara intuitif) nilai
1. Tebak harga interval [a,b]; tentukan e; dan itmax
2. Set f0 = f(a); iter = 0; flag = 0;
3. Tentukan atau hitung akar = c := (a + b)/2; iter = iter + 1;
4. Jika f(a)·f(c) £ 0 maka b = c jika tidak a = c dan f0 = f(a);
5. Jika (b – a) £ e maka flag = 1 jika iter > itmax maka flag = 2;
6. Jika flag = 0 ulangi ke nomor 3;
7. Akar persamaan adalah: akar = (a + b)/2, sebagai akar terbaru;
8. Selesai.
II.3 Metode Iterasi
Mengatur kembali fungsi f(x) = 0 sedemikian hingga x berada pada ruas kiri persamaan : x
= g(x). Trasformasi ini dapat dilakukan dengan manipulasi aljabar atau penambahan
sederhana x ke kedua ruas persamaan, misal :
x2 + 2x - 3 = 0 2x = x2 + 3
Sin x = 0 akan dimasukkan dalam bentuk persamaan x = g(x) dengan menambahkan pada
kedua ruas : x = sin x + x. dimana persamaan x = g(x) dapat memperkirakan sebuah harga x,
sebagai fungsi dari x. Jadi dengan adanya tebakan awal xi, maka dapat dihitung suatu
taksiran baru xi+1 yang dapat dinyatakan :
Xi+1 = g(x)
Seperti rumus iterasi lain, maka kesalahan aproksimasinya :
100 %
II.3.1 Algoritma Metode Iterasi
1. Masukkan matrik A, dan vektor B beserta ukurannya n2. Tentukan batas maksimum iterasi max_iter3. Tentukan toleransi error ε4. Tentukan nilai awal dari xi, untuk I = 1 s/d n5. Simpan xi dalam si, untuk I = 1 s/d n6. Untuk i = 1 s/d n hitung:
7. iterasi iterasi+1
8. Bila iterasi lebih dari max_iter atau tidak terdapat ei < ε untuk I = 1 s/d n maka proses dihentikan dari penyelesaiannya adalah xi untuk I = 1 s/d n Bila tidak maka ulangi langkah (5).
II.4 Metode Regula Falsi
Regula Falsi adalah algoritma pencarian akar yang menggabungkan ciri-ciri dari metode
bagi dua dan metode secand.
Seperti metode bagi-dua, metode regula falsi dimulai dengan dua titik awal a0 dan b0
sedemikian sehingga f(a0) dan f(b0) berlawanan tanda. Berdasarkan teorema nilai antara, ini
berarti fungsi f memiliki akar dalam selang [a0, b0]. Metode ini kemudian berlanjut dengan
menghasilkan berturut-turut selang [ak, bk] yang semuanya berisi akar f. Pada iterasi ke-k,
bilangan dihitung. Seperti yang diterangkan di bawah, ck adalah akar dari garis sekan
melalui (ak, f(ak)) dan (bk, f(bk)). Jika f(ak) dan f(ck) memiliki tanda yang sama, maka kita
menetapkan ak+1 = ck dan bk+1 = bk. Jika tidak, kita menetapkan ak+1 = ak dan bk+1 = ck. Proses
ini diteruskan hingga akar dihampiri dengan cukup baik.
Pendeklarasian fungsi-fungsi yang ada didalam program
Fungsi utama yang mendeklarasikan tipe-tipe variable dari fungsi yang akan digunakan.
Pointer stream menunjukkan tempat untuk menyimpan error komputasi.Membuat persamaan untuk fungsi. Dan inputan nilai awal. Yang inputan awal tersebut akan langsung diuji.
printf("\nNilai yang didekati adalah %.9f\n", exact);
cout << "\nTekan Enter untuk melanjutkan .........\n";
Nilai ex1 = nilai exact yaitu ex. Lalu akan tampil perintah dari printf ke layar, dan fprintf ke txt (stream).
Dan nilai j bertambah setingkat demi setingkat.
Menentukan nilai suku/orde dari deret tailor.
Dan fungsi untuk mencari nilai error dari 1 suku ke suku yang lain.
Maka jika nilai dari Ee sudah lebih besar dari nilai error limit yg telah ditentukan, maka pencarian akan berhenti. Tapi jika Ee < error limit yg ditentukan, maka akan terus mencari sampai Ee > error limit.
fprintf(stream,"\n\nDengan Nilai Approksimasi = %.9f", ex);