METODE NUMERIK
Disusun Oleh :
Alga Mahida – 08011181924012
Mira Sulistiana – 08011381924082
Dosen Pembimbing :
Anita Desiani, S.Si., M.Kom.
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN PENGETAHUAN ALAM
UNIVERSITAS SRIWIJAYA
INDRALAYA 2021
SISTEM PERSAMAAN NIRLANJAR
METODE NEWTON-RAPHSON
Ae x x B + sinz Cx S . sin x + Mx x Z
g ( x )= − +e
e Dx √ ex
Ae x x B +sin z Cx S . sin x + Mx x Z
f ( x )= − +e
e Dx √ ex
fx+ sin x cos x + f
g ( x )=e−dx ( ae x x b +abe x xb −1 +2 c sin cx cos cx )−de−dx ( ae x x b +sin 2 cx ) +
2
− +2 xe x
2 √e x
√e
2
x
f ( x )= − +e
e1∗x √ ex
cout<<" Masukkan Nilai A :"; cin>>a; \\nilai variabel A
cout<<" Masukkan Nilai B :"; cin>>b; \\nilai variabel B
cout<<" Masukkan Nilai C :"; cin>>c; \\nilai variabel C
cout<<" Masukkan Nilai D :"; cin>>d; \\ nilai variabel D
cout<<" Masukkan Nilai M :"; cin>>m; \\nilai variabel M
cout<<" Masukkan Nilai S :"; cin>>s; \\nilai variabel S
cout<<" Masukkan Nilai Z :"; cin>>z; \\nilai variabel Z
g ( x )=e
−1 x
( 1∗e x x 2+1∗2∗e x x 2−1+1∗1 sin1 x cos 1 x )−1 e−1 x ( 1∗e x x 2+ sin 2 1∗x ) + 2 x+ sinx x − cos xx+2 + 1∗x
1√ e √e
1
Selanjutnya, masuk pada fungsi switch yang berisi pilihan untuk mencari nilai galat atau nilai
iterasi.
Dalam fungsi switch, terbagi menjadi dua, yakni case 1 yang berfungsi untuk mencari nilai
iterasi dan case 2 untuk mencari nilai galat. Jika, mencari nilai iterasi, maka akan berlaku
perulangan pada fungsi do.
Iterasi 1
f ( 1) = − +e
e
1∗(1)
√ e(1)
¿−2.9355081859
2(1
g ( 1 )=e−1 (1) ( 1∗e(1) (1)2+1∗2∗e(1 )( 1)2−1 +1∗1 sin 1(1)cos 1(1) )−1 e−1(1) ( 1∗e(1) (1)2 +sin 2 1∗(1) ) +
¿ 1.6497520176
Setelah itu untuk menentukan x selanjutnya digunakan rumus berikut:
Iterasi 2:
f ( x n)
x n+1=x n −
f ' ( x n)
f (x 1 )
x 2=x 1−
f '(x 1 )
−2.9355081859
x 2=1−
1.6497520176
x 2=2.779363295
Setelah didapat tebakan selanjutnya (x2), lalu kita cari fungsi dengan memasukkan nilai
tebakan diatas kemudian didapatkan nilai berikut:
(2.779363295) 2 1
1∗e (2.779363295) +sin 1∗(2.779363295) 1. sin(2.779363295)+ 1(2.779363
f ( 2.779363295 ) = −
e 1∗(2.779363295) √e (2.779363295)
f ( 2.779363295 ) =−0.3361785282
g ( 2.779363295 )=e
−1 (2.779363295)
( 1∗e(2.779363295) (2.779363295)2 +1∗2∗e(2.7793632951) ( 2.779363295)2−1 +
¿ 3,494.5795618845
Setelah didapat tebakan (xi+1), kita akan mencari galat dengan menggunakan rumus berikut:
e= | |
x i+1−x i
xi +1
e=
| |
x 2−x 1
x2
Pada fungsi if, jika nilai iterasi kurang dari sama dengan jumlah maksimal iterasi maka, nilai
iterasi akan ditampilkan dan jika syarat tersebut tidak terpenuhi maka, akan masuk ke dalam
fungsi else. Sehingga, pada program akan ditampilkan kalimat bahwa iterasi belum terpenuhi.
Iterasi Xi f(x) g(x) E
1 1 −2.9355081859 1.6497520176
2 2.779363295 −0.3361785282 3,494.5795618845 0.9997138425
Selanjutnya, apabila memilih untuk mencari nilai galat, maka akan langsung masuk pada
case 2 dengan kmenginputkan nilai awal dan toleransi. Pada fungsi do, akan melakukan
perhitungan untuk mencari nilai f(x), f(x), dan galat.
Setelah didapat tebakan (xi+1), kita akan mencari galat dengan menggunakan rumus
berikut untuk mencari galat:
e=
| |
x i+1−x i
xi +1
e=
| |
x 2−x 1
x2
apabila nilai galat lebih kecil dari sama dengan nilai toleransi yang diinputkan, maka,
nilai hampiran akan muncul. Namun, jika sebaliknya, maka, program akan hanya
menampilkan kata “batas galat tidak terpenuhi”.
g ( x )= − +e
e
dx
√ ex
−dx
g ' ( x )=e ( ae x x b +abe x xb −1 +2 c sin cx cos cx )−de−dx ( ae x x b +sin 2 cx ) + gx+ sinx x − cos x+ g
+2 xe
x
2√e √e
2
x
g ( x )= − +e
e7∗x √ ex
−7∗x
g ' ( x )=e ( 1. e x 33 +2∗3∗e x ¿ x3−1 +2∗6∗sin6 x∗cos 6 x )−7∗e−7 x ( 2∗e x x 3 +sin2 6 x ) + 5 x +sinx x −
2 √e
Jika, diinputkan nilai A=82, B=12, C=7, D=34, M=77, S=2, Z=2.
Karena dalam metode Gauss-Seidel, nilai estimasi baru digunakan dalam perhitungan maka
penyelesaian persamaan ke-i diekspresikan sebagai :
1
x i= ¿
aii
Dengan demikian, algoritma metode Gauss-Seidel diekspresikan sebagai :
1
x(ki +1)= ¿
aii
Jika, memilih case 1 artinya, penyelesaian mencari nilai epsilon. Penyelesaian secara manual
menggunakan rumus
e= | x i+1−x i
xi +1 |
Maka, jika dihitung nilai iterasinya terlebih dahulu maka, nilai galat sebagai berikut :
| 4.66667−1
e x 1=
4.66667 |
=0.57143 e =|
0.95238 |
0.95238−1
y1 =¿0.05
e =|
4.57142 |
4.57142−1
z1 =¿ 0.78124
12−2 x +2 y r
z r +1=
3
Selanjutnya, digunakan fungsi perulangan for untuk melakukan perhitungan dari iterasi ke-1
hingga iterasi ke-n. Jika, dihitung secara manual maka, nilai yang dihasilkan sebagai berikut.
Iterasi 1
9+(7)−(2.1)
x 1= =4.66667
3
18−2 ( 4.66667 )−2 ( 1 )
y 1= =0.95238
7
12−2 ( 4.66667 ) +2(0.95238)
z 1= =4.57142
3
Iterasi 2
9+(0.95238)−2 ( 4.57142 )
x 2= =0.26985
3
18−2 ( 0.26985 ) −2(4.57142)
y 2= =1.18821
7
12−2 ( 0.26985 ) +2(1.18821)
z 2= = 4.61224
3
Iterasi 3
9+1.18821−2( 4.61224)
x 3= =0.32124
3
18−2 ( 0.32124 )−2( 4.61224)
y 3= =1.16186
7
12−2 ( 0.32124 ) +2(1.16186)
z 3= =4.56041
3
Iterasi 4
9+ 1.16186−2( 4.56041)
x4= =0.34701
3
18−2 ( 0.34701 )−2( 4.56041)
y4 = =1.16931
7
12−2 ( 0.34701 ) +2(1.16931)
z4 = =4.5482
3
Iterasi 5
9+1.16931−2( 4.5482)
x 5= =0.35764
3
18−2 ( 0.35764 )−2( 4.5482)
y 5= =1.16976
7
a. Matriks 3 x 3
Inputkan matriks 2x2, dengan entri baris 1 = 20, baris 2 = 25, dan baris 3 = 30
Dengan selisih dari program C++ dan aplikasi CodeSansar yang cukup tipis maka, artinya
program C++ telah berjalan dengan benar.
b. Matriks 8 x 8
Jika diinputkan matriks 8x8 maka, program akan menampilkan inputan baris dan
kolom.
Entri baris ke-1=30, baris ke-2=35, baris ke-3=40, baris ke-4=45, baris ke-5=50, baris ke-
6=55, baris ke-7=60, baris ke-8=65.
Dilihat dari selisih kedua nilai yang cukup tipis maka, program C++ ini sudah dapat
berjalan dengan benar.
INTERPOLASI LAGRANGE
r m d
qx +cos x sin x + gx x
− +e
√e x √ eb
Langkah pertama, menginputkan file header beserta type data. Langkah selanjutnya adalah
menginputkan jumlah derajat yang akan digunakan yang berfungsi untuk menentukan jumlah
( 15−0.9)(15−1.3)(15−1.7)(15−2.1) (15−0.5)(15−1.3)(15−1.7)(15−2.1
y ( 15 )= ×1.6691+
(0.5−0.9)(0.5−1.3)(0.5−1.7)(0.5−2.1) (0.9−0.5)(0.5−1.3)(0.5−1.7)(0.5−2
Fungsi matematika:
Jika diinputkan nilai q=3, r=4, m=1, d=2, g=2, b=5 dan derajat yang digunakan adalah derajat
3.
Setelah menginputkan jumlah derajat, yakni derajat 2 maka, nilai x yang akan diinputkan
adalah x 0=0.25 , x 1=0.5 , x2 =0.75 , dan x 3=1.0 dengan menginputkan nilai x sejati sebesar 9,
maka;
Maka, nilai y akan ditampilkan secara otomatis oleh program. Hasil dari interpolasi
lagrange derajat 3 dengan x sejati sebesar 15 adalah 1513.5.
Bersadarkan nilai X9 yang dihasilkan dari program C++ dan aplikasi maka, diketahui
selisih sebesar 0.4525. sehingga, dapat disimpulkan bahwa program C++ dapat berjalan
dengan cukup baik.