-->

TUGAS METODE NUMERIK Terbaru 2018 - Pencarian Akar PNL menggunakan Metode Secant



PENCARIAN AKAR PNL
MENGGUNAKAN METODE SECANT
YANG DIAPLIKASIKAN
PADA NETBEANS JAVA
Tugas Metode Numerik


Disusun Oleh :
NAMA
: I PUTU NGURAH PRAYOGA

NIM
: 145410091

JURUSAN
: TEKNIK INFORMATIKA

JENJANG
: S1



STMIK AKAKOM
YOGYAKARTA
2018

A.     Teori , Fungsi dan Tujuan
Tujuan metode secant adalah untuk menyelesaikan masalah yang terdapat pada metode Newton-Raphson yang terkadang sulit mendapatkan turunan pertama yaitu f‘ (x).
Fungsi metode secant adalah untuk menaksirkan akar dengan menggunakan diferensi daripada turunan untuk memperkirakan kemiringan/slope.
Rumus metode secant adalah : x2 = x1 - f1 * (x1-x0) / (f1-f0).
Fungsi masing-masing variabel :
-          x2 : variabel penampung dari operasi rumus metode secant.
-          x1 : variabel penampung dari nilai awal x1.
-          x0 : variabel penampung dari nilai awal x2.
-          f0 : variabel penampung dari operasi perhitungan fungsi x0.
-          f1 : variabel penampung dari operasi perhitungan fungsi x1.
-          f2 : variabel penampung dari operasi perhitungan fungsi x2.
-          Func(x) : adalah sebuah method untuk menghitung nilai x berdasarkan fungsi yang telah dimasukkan f(x).
Iterasi akan berhenti jika :
-          Nilai tmp sama dengan 0, karena jika terjadi operasi dengan bilangan 0 hal ini tidak diperbolehkan.
-          Iterasi mencapai batas yang dimasukkan (i<=iMax).
-          Nilai galat lebih kecil dari toleransi error yang dimasukkan.


B.      Algoritma
1)      Mulai.
2)      Masukkan fungsi Func(x).
3)      Masukkan torelansi error (e) dan masukkan iterasi maksimal.
4)      Masukkan nilai x0 dan x1.
5)      Hitung func(x0) dan func(x1) sebagai f0 dan f1.
6)       Lakukan iterasi dengan nilai awal i = 1 :
a.       Hitung nilai f1-f0 yang ditampung di variabel tmp. Lalu lakukan seleksi bila nilai  tmp tidak sama dengan 0, lakukan langkah point 5.b , jika nilainya 0 lakukan langkah 5.e .
b.       Hitung galat dengan rumus : ((x1-x0)/x1)*100/100 dan lakukan seleksi bila nilai galat lebih besar dari toleransi error maka lakukan langkah point 5.c , jika sama atau lebih kecil lakukan langkah 5.e .
c.       Hitung nilai : x2 = x1 - f1 * (x1-x0) / (f1-f0)
Hitung nilai f2 = func(x2) dan lanjutkan ke langkah 5.d .
d.       Inisiasi nilai f0 = f1 , f1 = f2, x1 = x0, x1 = x2.
Tambah nilai i++ dan kembali ke langkah 6.a sampai nilai i sama dengan nilai iterasi maksimal , bila sudah terpenuhi lakukan langkah 6.e .
e.       Iterasi berhenti dan lakukan langkah 7.
7)      Cetak nilai i, result, dan galat.
8)      Selesai.


9)       
C.     Pembahasan
public Main() {
        initComponents();
        this.setLocationRelativeTo(null);
        txtF.setText("x*x*x+x*x-3*x-3");
    }
Skrip program akan dijalankan pertama kali ketika program dijalankan dan akan melakukan letak posisi program tepat ditengah layar dan menampikan fungsi yang sedang dipakai kedalam txtF (textfield untuk menampilkan fungsi).
public double func(double x) {
        return x*x*x+x*x-3*x-3;
    }
Skrip diatas adalah sebuah method func dimana ketika dipanggil akan melakukan perhitungan fungsi yang telah dimasukkan.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        double x0 = Double.parseDouble(txtX0.getText());
             double x1 = Double.parseDouble(txtX1.getText());
Skrip diatas akan bekerja ketika tombol hitung ditekan oleh user dan akan melakukan pengambilan nilai dari textfield x0 dan x1 yang disimpan pada variabel x0 dan x1.
Double e = Double.parseDouble(txtE.getText());
        int iMax = Integer.parseInt(txtI.getText());
             double result = 0;
Skrip program diatas untuk mengambil nilai toleransi error dan iterasi maksimal yang masing-masing disimpan dalam varibale e dan iMax, sedangkan variabel result digunakan untuk menyimpan hasil akar nantinya.
double f0 = func(x0);
double f1 = func(x1);
             double er=100;
Sedangkan skrip program diatas memanggil method func(x) yang berisi nilai x0 dan akan dilakukan perhitungan fungsi yang dimasukkan tadi, kemudian hasil perhitungan tersebut disimpan didalam variabel f0, begitupun dengan func(x1).
Variabel er diberi nilai awal 100, yang nantinya akan diinisiasi dengan nilai-nilai baru hasil perhitungan galat.
for (int i = 1; i <= iMax; i++) {
            double tmp = f1 - f0;
            System.out.println(tmp);
            if (tmp != 0) {
                if (er>e){
                double x2 = x1 - f1 * (x1 - x0) / tmp;
                double f2 = func(x2);
Sedangkan skrip diatas sampai pada tahap perulangan dimana akan menghitung fungsi, metode secant dan galat. For akan melakukan perulangan sampai batas iMax (nilai yang ditentukan user), karena didalamnya ada seleksi if yang digunakan untuk membuat kondisi seperti : bila nilai tmp (hasil pengurangan nilai f(x1) dan f(x0)) bernilai 0 maka program akan berhenti dikarenakan pembagian dengan bilangan 0 tidak diperbolehkan, selanjutnya adalah mengecek kondisi galat dengan toleransi error karena ketika galat lebih kecil dari toleransi error maka program akan berhenti sebelum menyentuh iterasi iMax yang ditentukan.
Selanjutnya adalah perhitungan metode secant dengan fungsi x1 - f1 * (x1 - x0) / tmp yang kemudian hasilnya ditampung divariabel x2 yang selanjutnya akan dicari lagi dengan fungsi f(x2) sebagai f2.
result = x2;
                f0 = f1;
                f1 = f2;
                x0 = x1;
                x1 = x2;
Skrip program diatas berisi inisiasi variabel seperti result (untuk menyimpan hasil perhitungan fungsi metode secant baru) dari nilai x2. Dan nilai-nilai seperti f1 yang diinisiasi kedalam variabel f0 yang bertujuan untuk nilai-nilai tersebut dapat dihitung menerus dengan perulangan sampai mencapai kondisi yang diinginkan.
double galat = ((x1-x0)/x1)*100/100;
                er= Math.abs(galat);
                System.out.println("Galat : "+er);
Script program diatas adalah untuk menghitung galat dan menginisiasi hasil galat kedalam variabel er.
txtArea.setText("Setelah perulangan ke-"+ i + " didapat akar : " + result
            +"\n"+"Dengan Galat : "+er);
Script program diatas untuk menampilkan perulangan ke berapa, akar yang didapat pada perulangan tersebut beserta galat yang didapat.



D.     Keseluruhan Program




 
E.      Ujicoba

1.       Dengan fungsi f(x) : x3 + x2 - 3x – 3 = 0, ketika diprogram menjadi : x*x*x+x*x-3*x-3 dengan nilai x0 = 1 dan x1 = 2. Iterasi maksimal yang dibolehkan 10 kali dan toleransi errornya adalah : 0.0001 %. Maka hasil pada program adalah seperti dibawah ini :


2.       Dengan fungsi f(x) : 2x2 + 5x – 12 = 0, ketika diprogram menjadi : 2*x*x+5*x-12 dengan nilai x0 = 1 dan x1 = 3. Iterasi maksimal yang diperbolehkan adalah 20 kali dan toleransi errornya adalah 0%. Maka ketika diprogram hasilnya seperti dibawah ini :


3.       Dengan fungsi f(x) : x (5x2 - 12x + 4) = 0, ketika diprogram menjadi : x*(5*x*x-12*x+4) dengan nilai x0 = -1 dan x1 = 2. Iterasi maksimal yang diperbolehkan adalah 30 kali dan toleransi errornya 0.00001 %. Maka ketika diprogram maka hasilnya adalah :


4.       Dengan fungsi f(x) : x2 – x – 2 = 0, ketika diprogram menjadi : x * x – x – 2 dengan nilai x0 = 0 dan x1 = 3. Iterasi maksimal yang diperbolehkan adalah 20 kali dan toleransi errornya adalah 0.05 %. Maka ketika diterapkan pada program maka hasilnya :


F.      Kesimpulan
Hasil yang didapat dari percobaan rata-rata sudah mendekati benar.

G.     Lampiran
-terlampir


tags: tugas metode numerik akakom, tugas aplikasi metode numerik stmik akakom, metode secant, aplikasi metode numerik, aplikasi metode secant, aplikasi metode numerik akakom, tugas metode numerik, projek akhir metode numerik,

tags : penerapan metode numerik dalam dunia nyata
aplikasi metode numerik dalam kehidupan sehari-hari
jurnal penerapan metode numerik dalam kehidupan sehari-hari
contoh aplikasi yang menggunakan metode numerik
aplikasi metode numerik dalam teknik sipil
modul metode numerik lengkap
materi metode numerik teknik informatika
tugas metode numerik stmik akakom

Berlangganan update artikel terbaru via email:

0 Response to "TUGAS METODE NUMERIK Terbaru 2018 - Pencarian Akar PNL menggunakan Metode Secant"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel