You are on page 1of 34

PROJEK METODE NUMERIK

“ANALISIS BEBERAPA MASALAH KELISTRIKAN


DENGAN METODE NUMERIK”

OLEH

Muhammad Aufaristama (140310090013)


Naufal Muthahhari (140310090015)

LABORATORIUM PEMROGRAMAN
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS PADJADJARAN
2010
PRAKTIKUM FISIKA DASAR II

DIFRAKSI DAN INTERFERENSI CAHAYA (O - 4)

Nama : - Muhammad Aufaristama (140310090013)

- Naufal Muthahhari (140310090015)

Hari / Tanggal Projek : Jumat / 24 September 2010

Waktu : Pkl. 10.00 – 10.30

Jatinangor, 24 Desember 2010

Asisten,

PRAKTIKUM PERSENTASI LAPORAN AKHIR

( ……………….............. )
I. Pendahuluan

Latar Belakang

Dalam berbagai disiplin ilmu yang setiap hari kita para mahasiswa, khususnya
mahasiswa jurusan fisika, temui baik ketika praktikum ataupun ketika kuliah di kelas, kita
sedikit-sedikit menyadari bahwa ilmu yang kita pelajari tidak akan sepenuhnya dipakai
dalam kehidupan di masa depan nanti. Ilmu yang kita pelajari ketika kuliah di kelas atau
ketika praktikum ini kebanyakan menggunakan metode analitik yang sering
membingungkan dalam mencari solusinya sehingga bisa memakan waktu yang lama dalam
pengerjaannya, padahal (sebagai contohnya) pencarian nilai at dan bt pada praktikum
fisika dasar I yang sebenarnya sederhana karena hanya berkutat di masalah hukum ohm
saja, bisa menjadi sangat ribet jika kita mengerjakannya secara analitis dengan jumlah data
yang cukup banyak.
Pada proyek metode numerik kali ini kami membuat suatu program yang dapat
digunakan sebagai alternatif dalam pengerjaan regresi linier secara numerik sehingga data
yang diperoleh bisa lebih variatif. Selain itu juga ada beberapa lagi tentang masalah
kelistrikan yang kami kerjakan dengan berbagai metode yang sudah di pelajari sebelumnya.
II. Studi Pustaka

dalam bahasan kali ini akan di berikan dua bahasan langsung yaitu tentang hukum yang di
ungkapkan oleh Kirchoff dan oleh Ohm, keduanya sama membahas tentang arus, hanya
bedanya ohm lebih pada arus yang mengalir pada konduktor yang memiliki beda potensial,
sedangkan kirchoff menelaah kuat arus pada rangkaian, baik tertutup atau pada percabangan

HUKUM KIRCHOFF 1

Di pertengahan abad 19 Gustav Robert Kirchoff (1824 – 1887) menemukan cara untuk menentukan
arus listrik pada rangkaian bercabang yang kemudian di kenal dengan Hukum Kirchoff. Hukum ini
berbunyi “ Jumlah kuat arus yang masuk dalam titik percabangan sama dengan jumlah kuat arus
yang keluar dari titik percabangan”. Yang kemudian di kenal sebagai hukum Kirchoff I. Secara

matematis dinyatakan

Bila digambarkan dalam bentuk rangkaian bercabang maka akan diperoleh sebagai berikut::

Hukum Kirchoff secara keseluruhan ada 2, setelah yang diatas dijelaskan tentang hukum yang ke 1.
Hukum Kirchoff 2 dipakai untuk menentukan kuat arus yang mengalir pada rangkaian bercabang
dalam keadaan tertutup (saklar dalam keadaan tertutup).

Hukum Kirchoff 2 berbunyi : " Dalam rangkaian tertutup, Jumlah aljabbar GGL (E) dan jumlah
penurunan potensial sama dengan nol". Maksud dari jumlah penurunan potensial sama dengan nol
adalah tidak ada energi listrik yang hilang dalam rangkaian tersebut, atau dalam arti semua energi
listrik bisa digunakan atau diserap.

Dari gambar diatas kuat arus yang mengalir dapat ditentukan dengan menggunakan beberapa
aturan sebagai berikut :
 Tentukan arah putaran arusnya untuk masing-masing loop.
 Arus yang searah dengan arah perumpamaan dianggap positif.
 Arus yang mengalir dari kutub negatif ke kutup positif di dalam elemen dianggap positif.
 Pada loop dari satu titik cabang ke titik cabang berikutnya kuat arusnya sama.
 Jika hasil perhitungan kuat arus positif maka arah perumpamaannya benar, bila negatif
berarti arah arus berlawanan dengan arah pada perumpamaan .

Hukum Ohm
Hukum Ohm menyatakan bahwa besar arus yang mengalir pada suatu konduktor pada suhu tetap
sebanding dengan beda potensial antara kedua ujung-ujung konduktor

I=V/R

HUKUM OHM UNTUK RANGKAIAN TERTUTUP

nE n
I= I=
R +n rd R +rd / p
n = banyak elemen yang disusun
seri
E = ggl (volt)
rd = hambatan dalam elemen
R = hambatan luar
p = banyaknya elemen yang disusun paralel

RANGKAIAN HAMBATAN DISUSUN SERI DAN PARALEL

SERI PARALEL

R = R1 + R2 + R3 + ... 1=1+1+1
V = V1 + V2 + V3 + ... R R1 R2 R3
I = I1 = I2 = I3 = ...
V = V1 = V2 = V3 = ...
I = I1 + I2 + I3 + ...

ENERGI DAN DAYA LISTRIK

ENERGI LISTRIK (W)


adalah energi yang dipakai (terserap) oleh hambatan R.

W = V I t = V²t/R = I²Rt
Joule = Watt.detik
KWH = Kilo.Watt.jam

DAYA LISTRIK (P) adalah energi listrik yang terpakai setiap detik.

P = W/t = V I = V²/R = I²R


III. Materi

Permasalahan yang banyak berhubungan dengan pola suatu data adalah fungsi
yang melibatkan data. Persoalannya adalah bagaimana menyajikan fungsi tersebut. Untuk dapat
menyajikan fungsi, yang dapat dilakukan adalah mengunakan fungsi pendekatan yaitu fungsi
yang paling sesuai untuk menyatakan data berdasarkan model fungsi tertentu.

Cara pendekatan yang lain bukan untuk menyatakan fungsi tetapi untuk mencari
nilai – nilai antara titik – titik yang sudah diketahui. Sehingga, pola fungsinya semakin jelas
terlihat atau membentuk suatu kurva. Cara pendekatan ini dinamakan dengan interpolasi.
Interpoasi digunakan untuk menentukan titik – titik lain berdasarkan fungsi pendekatan yang
ditentukan sebelumny berdasarkan fungsi pendekatan yang digunakan sebelumnya.
Berdasarkan fungsi pendekatan yang digunakan terdapat beberapa macam interpolasi, yaitu
interpolasi linier, polinom, lagrange.

Bila data diketahui mempunyai ketelitian yang sangat tinggi, maka kurva
cocokannya dibuat melalui setiap titik. Persis sama kalau kurva fungsi yang sebenarnya dirajah
melalui tiap titik itu. Kita katakan di sini bahwa kita menginterpolasi titik – titk data dengan
sebuah fungsi. Bila fungsi cocokan yang digunakan berbentuk polinom, polinom tersebut
dinamakan interpolasi. Pekerjaan menginterpolasi sebuah polinom disebut dengan interpolasi
polinom.

interpolasi polimomial

Salah satu teknik interpolasi yang sering digunakan dalam menghampiri suatu fungsi yang kontinu
adalah dengan interpolasi polnomial yang dirumuskan sebagai berikut:

Pn ( x)  a 0  a1 x  ..  an  1x n 1  anx n

Dengan n merupakan bilangan integer nonnegaif dan a0,a1,..an merupakan konstanta rill.
Interpolasi polynomial digunakan untuk mencari titik-titik antara dari n buah titik P1(x1,y1),
P2(x2,y2), P3(x3,y3), …, PN(xN,yN) dengan menggunakan pendekatan fungs polynomial pangkat n-1:
pada persamaan diatas kita dapat mencari n

Masukkan nilai dari setiap titik ke dalam persamaan polynomial di atas dan diperoleh persamaan
simultan dengan n persamaan dan n variable bebas:
y1  a 0  a1x1  a 2 x12  ..  an  1 x n 1  anx1n
y 2  a 0  a1 x 2  a 2 x 2 2  ..  an  1 x n 1  anx 2 n
y 2  a 0  a1 x 2  a 2 x 2 2  ..  an  1 x n 1  anx 2 n
..................................................................
yn  a 0  a1xn  a 2 xn 2  a 3 xn  13  ..  an  1 x n 1................................(4.1)

Penyelesaian persamaan simultan di atas adalah nilai-nilai a0, a1, a2, a3, …, an yang

merupakan nilai-nilai koefisien dari fungsi pendekatan polynomial yang akan digunakan.

Dengan memasukkan nilai x dari titik yang dicari pada fungsi polinomialnya, akan

diperoleh nilai y dari titik tersebut.

Teorema weiestrass

Jika ada suatu fungsi f yang kontinu dalam interval


 a, b ,maka untuk setiap   0 terdapat
suatu polinom P(x),dengan sifat sebaai berikut

f ( x)  P( x)  
,untuk semua x dalam
 a, b 

Teorema diatas menjamin kepada kita bahwa untuk semua fungsi yang kontinu dalam selang
tertentu,. Maka fungsi tersebut dapat diaproksimasikan oleh suatu polinom.

Teorema taylor

f  C n  a, b 
Jika dengan kata lain f merupakan suatu fungsi yang dapat diturunkan secara

kontinu sebanyak n kali dalam interval


 a, b  dan terdapat f
( n 1)
dalam interval
 a, b  dan

x 0   a, b  x 0   a, b 
. Untuk setiap terdapat sejumlah  ( x ) antara xo dan x dengan f(x)=

Pn ( x)  Rn( x) dimana

n
f ( k ) ( x 0)
Pn   ( x  x 0) k .......................(4.2)
k 0 k!

n
f ( n 1) ( ( x))
Pn   ( x  x 0) n1 .......................(4.3)
k 0 (n  1)!
Interpolasi Lagrange

Interpolasi lagrange adalah suatu bentuk interpoalasi dengan fungsi pendekatan


berupa fungsi polinomial langrange.pada transformasi Lagrange, fungsi polinomial pangkat n
memerlukan n 1 titik. Bila jumlah titik 2 buah maka interpolasi lagrange akan menjadi
interpolasi linier. Untuk mencari (x,y) pada nilai x yang ditentukan dengan dikertahui n buah

titik yaitu (x 1 ,y 1 ),(x 2 ,y 2 ),...(x n y n ) menggunakan interpolasi lagrange dapat dihitung


dengan:

 
  ( x  x1
n

y
i 1
i  1 jn,i  j ( x  x
 i j


Y=

Dalam interpolasi kita berangapan bahwa:

-spasi variabel x uniform

-data disusun dalam urutan x dari kecil ke besar

Jika syarat diatas tidak terpenuhi,maka intepolasinya gagal. Dalam hal spasi x tidak uniform
terdapat beberapa cara penanggulangannya. Dalam paragraf ini kita bahas polinom
langrange sebagai salah satu cara menanggulangi masalah di atas.

Sekarang kita bangun suatu polinom deraja n;

Pn( x)  anx n  an  1x n 1  ...  a 0

Yang melewati semua titik-titik table.

Dengan penjabaran yang agak panjang diperoleh:

n n
Pn ( x)  Ln( x)   fi( x  xj ) / ( xi  xj )
j 0 j 0
j 1 j 1
n
x  xj
 fi( )
j 0 xi  xj
j i

Persamaan ini memperlihatkan bahwa jika;

n=1,diperoleh interpolasi linear

n=2,diperoleh interpolasi kuadrat

n=3,diperoleh interpolasi kubik


perhatian lambang  ,lambing ini bermakna
5

 yk  y1* y 2* y3* y 4* y5
k 1

Pn ( x)  a0 ( x  x1 )( x  x2 )...( x  xn ) 
 a1 ( x  x0 )( x  x2 )...( x  xn )  ... 
 an ( x  x0 )( x  x1 )( x  x2 )...( x  xn 1 )

Dimana syarat interpolasi harus dipenuhi

Pn ( x0 )  y0
Pn ( x1 )  y1
...................
Pn ( xn )  yn

Dengan mensubstitusi x = xi dan P(xi) = yi maka

yi
ai 
( xi  x0 )( xi  x1 )...( xi  xi 1 )...( xi  xi 1 )...( x0  xn )

Dengan memakai fungsi Lagrange

n (x  x j ) ( x  x0 )( x  x1 )...( x  xi 1 )...( x  xi 1 )...( x  xn )


Li   
j 0 ( xi  x j ) ( xi  x0 )( xi  x1 )...( xi  xi 1 )...( xi  xi 1 )...( x0  xn )
j i

maka

n
Pn ( x)   Li yi  L0 y0  L1 y1    Ln yn
i 0
Least Square methode

Tabel yang diperoleh dari percobaan fisika biasanya besaran tabel mengandung kesalahan
inherent. Terlebih lagi, kesalahan inherent ini biasanya tidak akan dapat dinyatakan dengan
derajat ketidaktentuan; yaitu dikatakan bahwa kesalahan inherent didistribusikan menurut pola
statistik tertentu, dan ada kemungkinan yang wajar bila beberapa kesalahan akan cukup besar.

Pertimbangan inilah yang mendasari kita untuk mencari metode pengolahan data bagi tabel
data percobaan untuk memperoleh formula yang menghubungkan y dan x. Diharapkan bahwa
formula ini cukup sederhana. Hal pertama yang harus diperhatikan adalah bagaimana dapat
disimpulkan bahwa suatu formula merupakan pendekatan yang baik dari tabel data. Dalam hal
grafis, pertanyaan diterjemahkan sebagai: Bagaimana dapat diputuskan bahwa kurva tersebut
merupakan kurva yang paling “tepat” pada titik-titik data.

Salah satu metode yang digunakan untuk dapat menanggulangi terjadi adanya kesalahan yaitu
dengan penerapan Metode Kuadrat Terkecil (Least Squares). Sebagai contoh, misalkan dari
pengamatan kecenderungan umum data, dapat kita pilih y merupakan fungsi linier :

y = ax + b

dengan x dan y merupakan variabel bebas, sedangkan a dan b merupakan parameter. Jika kita
mempunyai sekumpulan data pasangan (x,y), dan data tersebut digambarkan dalam bentuk
grafik linear, maka akan diperoleh suatu garis lurus.

Dengan menganggap bahwa x memiliki sesatan yang lebih kecil dari pada sesatan pada y, maka
garis lurus terbaik dapat diperoleh berdasarkan metode kuadrat terkecil (regresi terhadap y).
Nilai a terbaik dituliskan dengan notasi a t sedangkan nilai b terbaik dituliskan dengan notasi b t
dengan:

N N N
∑( ∑x ∑y
N i=1 x yi )- i=1 i i=1 i
at =

N N
∑x 2
∑x 2
N i=1 i - i=1 i

Dan

N N N N
∑x 2
∑y ∑x ∑ (x
i=1 i i=1 i - i=1 i i=1 i yi )

bt =

N N
∑x 2
∑x 2
N i=1 i - i=1 i

Sesatan pada nilai statistik a dan b bersifat statistik dan diperoleh:

Δa t = N

N N
∑x 2
∑x 2
N i=1 i - i=1 i

Δb t=
∑x 2
i=1 i

N N
∑x 2
∑x 2
N i=1 i - i=1 i
Dengan:

N
1
N −1
∑ {y } 2
Sy = i=1 i – (atxibt )

Sebaran titik-titik data dari garis lurus dapat diukur berdasarkan nilai koefisien korelasinya (r)
berdasarkan rumus :

N N N
∑ (x ∑x ∑y
N i=1 i yi ) - i=1 i i=1 i

N N N


N
[N ∑ x
i=1 i
2
-
(∑ )
i=1
x
2
[∑ y
i=1 i
2
-
(∑ y
i=1 i
2

dengan nilai -1 ¿ r≤1 . Jika |r| ¿1 berarti titik-titik datanya dekat dengan garis terbaik.

Sedangkan jika |r| ¿ 0 titik-titik datanya berjauhan dari garis lurus terbaik.

Beberapa fungsi yang tidak linier, dalam batas-batas tertentu da[at dilinierkan. Setelah
diperoleh fungsi linier dapat digunakan metode kuadrat terkecil untuk menentukan parameter
terbaiknya.
IV. Hasil dan Pembahasan

Tampilan program
Analisa Program

Program di atas merupakan program yang isinya meliputi permasalahan-


permasalahan listrik dalam ilmu fisika. Program tersebut menggunakan beberapa metode
secara numerik untuk setiap permasalahan yang berbeda-beda diantaranya yaitu:
1. Program grafik pengaruh arus terhadap tegangan yang menggunakan metode
pencocokan kurva merupakan program yang tujuannya mencari nilai at dan bt
pada suatu kurva linear, terlihat dalam tampilan program bahwa setiap error
yang dihasilkan cukup kecil karena data yang dimasukkan memang nyaris
membentuk kurva linier.
2. Program mencari nilai tegangan menggunakan interpolasi newton Backward
merupakan program yang bertujuan mencari nilai tegangan (v) diluar dari data
arus(I) dan (v) yang di dapat dalam percobaan. Karena ini merupakan
perhitungan yang tidak ada bilangan pecahan maka errornya akan sama dengan
nol. Seandainya data yang dimasukkan bilangan pecahan error yang akan
muncul pun akan relatif sedikit karena error yang terjadi hanya disebabkan
karena pembulatan angka saja.
3. Program menentukan arus untuk 10<=t detik menggunakan metoda RK-4
merupakan program yang bertujuan mencari besar nilai arus (I) yang ada pada
rangkaian RLC yang berubah-ubah terhadap waktu. Error yang ditampilkan
program tidak seharusnya tidak memiliki nilai, ini mungkin disebabkan adanya
kesalahan membuat program.
4. Program menentukan besar muatan dengan metode trapesium merupakan
program yang bertujuan untuk mencari nilai muatan (q) yang berubah-ubah
terhadap waktu. Dengan menggunakan metode integrasi numerik perubahan
muatan dalam setiap 1 detik dari muatan (q) bisa dengan mudah ditemukan.
Muatan (q) yang berubah-ubah terhadap waktu ini sendiri memiliki persamaan
t
dasar q=∫ I dt .
0
5. Program Menghitung arus dengan Metode Forward dan central Difference
dq
tujuannya adalah menghitung arus(i) pada persamaan I = =3 t 4 + 4 t , serta
dt
membandingkan kedua metode tersebut. Dan setelah dilihat di tampilan terlihat
bahwa baik untuk nilai h yang 0.001 dan 0.1 metode central Difference lebih
akurat karena error yang dihasilkan lebih kecil ini disebabkan karena metode
tersebut dalam menghitung errornya melibatkan turunan kedua dari fungsi yang
digunakan.
V. Kesimpulan

Banyak dari permasalahan-permasalahan dalam fisika yang dapat dikerjakan


menggunakan metode numerik. Di samping lebih mudah dalam mengerjakannya,
menyelesaikan permasalahan fisika ini pun sangat cepat penyelesainnya untuk data
yang jumlahnya banyak. Sebagai contoh adalah program grafik pengaruh arus
terhadap tegangan yang diambil dari modul-2 praktikum fisika dasar I. Jika kita
mengerjakannya secara analitik tentunya akan menjadi sangat panjang sekali dalam
pengerjaannya dikarenakan jumlah data yang di dapat tergolong cukup banyak akan
tetapi jika dikerjakan secara numerik dapat kita lihat bahwa program yang dibuat
tidak terlalu panjang dan cukup mudah dalam pengerjaannya. Selain itu pada
program lainnya yang juga ada dalam proyek kami ini seperti mencari arus, muatan,
dan tegangan dapat di lakukan dengan beberapa metode yang berbeda. Seperti
program no.3 dan 5 kita dapat mencari arus berturut-turut menggunakan metode
Runge-Kutta orde 4 dan forward central difference. Dan untuk mencari tegangan
disini kita menggunakan metode interpolasi newton backward.

Metode pencocokan kurva berfungsi untuk mencari nilai at dan bt yang ada
pada suatu kurva linier dimana tegangan V=V₀+RI. Kemudian kita dapat menentukan
nilai tegangan yang tidak kita amati pada percobaan menggunakan metode
interpolasi newton backward. Dan metode Runge-Kutta orde 4 berfungsi untuk
menentukan perubahan arus terhadap selang waktu tertentu. Sedangkan metode
forward central difference digunakan untuk mencari arus dari suatu persamaan
matematika yang merupakan suatu fungsi muatan yang diturunkan terhadap waktu.
VI. Lampiran

FLOW CHART PROGRAM(UTAMA)

Start

Identitas kelompok

Pilihan 1,2,3,4,5,6

If pil 1
Mekucil
grafik

end
Newton If pil 2
Backward

Rk 4 If pil 3

Forward,c
keluar entral

If pil 6
If pil 5 If pil 4

trapesium
Listing Program

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <math.h>

#define order 4

//deklarasi

int pil;

float f(float I,float t,float R,float L,float V){

float H;

H=V/L-I*R/L;

return H;}

float f_aksen(float I,float t,float R,float L,float V){

float H;

H=0;

return H;}

float f(float t)

float Q;

Q=2*t+6;

return (Q);

float go(float s)

{
float a;

a = 3*s*s*s*s + 4*s;

return a;

float d2f(float s)

float b;

b = 12*s*s*s+4;

return b;

float d3f(float s)

float c;

c = 36*s*s;

return c;

void identitas();

void regresi();

void newtonbackward();

void runge();

void riemann();

void fwd();

//fungsi utama
main()

while(pil != 6)

system("cls");

//procedure indentitas

identitas();

printf("pilihan menu :\n");

printf("|| 1. Program Grafik Pengaruh Arus terhadap Tegangan


||\n");

printf("|| 2. Mencari nilai tegangan menggunakan interpolasi newton


Backward ||\n");

printf("|| 3. Menentukan arus untuk 10<=t detik menggunakan metoda


RK-4 ||\n");

printf("|| 4. Menentukan besar muatan dengan metode trapesium


||\n");

printf("|| 5. Program Menghitung arus dengan Metode Fwd,central


Difference ||\n");

printf("|| 6. Keluar
||\n");

printf("pilihan : "); scanf("%d", &pil);

switch(pil)

case 1 :

//regresi

regresi(); break;

case 2:

//newtonbackward
newtonbackward(); break;

case 3 :

//runge

runge(); break;

case 4 :

//trapesium

riemann(); break;

case 5 :

//fwd

fwd();break;

case 6 :

printf("\n==** disusun oleh M.Aufaristama & Naufal Muthahhari **==


");

if(pil == 1 || pil == 2 || pil == 3 || pil == 4 || pil ==5 ||pil == 6)


printf("\ntekan enter untuk keluar \n\n");

getch();

return 0;

}
//identitas

void identitas()

printf("NAMA : M.AUFARISTAMA & NAUFAL MUTHAHHARI\n");

printf("NPM : 140310090013 & 140310090015\n");

printf("NAMA PROGRAM : ANALISIS BEBERAPA MASALAH KELISTRIKAN


DALAM METNUM\n");

printf("BULAN NGEBUAT : SEPTEMBER 2010\n\n\n");

//procedure jumlah

void regresi()

float I[100], v0[100], v1[100], error[100],R[100];

float sum_x, sum_y, sum_x2, sum_xy,sum_y2, xa, ya, a1, a0,r;

int i, n;

printf("\nMasukkan Banyak data yang anda dapat :");

scanf("%d",&n);

for(i=0;i<n;i++)

printf("\narus[%d] (dalam Ampere) : ",i+1);

scanf("%f",&I[i]);

printf("tegangan[%d] (dalam Volt) : ",i+1);

scanf("%f",&v0[i]);
}

sum_x=0;

sum_y=0;

sum_x2=0;

sum_xy=0;

sum_y2=0;

for(i=0;i<n;i++)

sum_x=sum_x+I[i];

sum_y=sum_y+v0[i];

sum_x2=sum_x2+I[i]*I[i];

sum_y2=sum_y2+v0[i]*v0[i];

sum_xy=sum_xy+I[i]*v0[i];

xa=sum_x/n;

ya=sum_y/n;

a1=(n*sum_xy-sum_x*sum_y)/(n*sum_x2-sum_x*sum_x);

a0=ya-a1*xa;

for(i=0;i<n;i++)

{ R[i]=v0[i]/I[i];

v1[i]=a0+a1*I[i];

error[i]=fabs(v1[i]-v0[i]);

printf("\tI\t\tV0\t\tR\t\tV\t\terror\t\n");

for(i=0;i<n;i++)

printf("\t%.2f\t\t%.2f\t\t%.2f\t\t%.2f\t\t%.3f\t\n",I[i],v0[i], R[i],
v1[i],error[i]);

printf("\nV=V0+RI\n",a0,a1);

printf("\nV=%.4f+%.4fI\n",a0,a1);

getch();
}

void newtonbackward()

float ax[20],ay[20],diff[20]

[order+1],nr=1,dr=1,x,p,h,yp;

int n,i,j,k;

printf("Program mencari nilai tegangan menggunakan interpolasi newton


Backward\n\n");

printf("masukkan banyak data : \n");

scanf("%d",&n);

printf("masukiin nilai dalam bentuk I (arus),V (tegangan)\n");

for(i=1;i<=n;i++)

{scanf("%f%f",&ax[i],&ay[i]);}

printf("masukin nilai arus dimana nilai tegangan yang ditanyakann\n");

scanf("%f",&x);

h=ax[2]-ax[1];

for(i=n;i>=1;i--)
{diff[i][1]=ay[i]-ay[i-1];}

for(j=2;j<=order;j++)

for(i=n;i>j;i--)

{diff[i][j]=diff[i][j-1]-diff[i-1][j-1];}

i=n;

p=(x-ax[i])/h;

yp=ay[i];

for(k=1;k<=order;k++)

nr*=p+k-1;

dr*=k;

yp+=(nr/dr)*diff[i][k];

}
printf("saat arus =%f Ampere\t Tegangan= %f Volt",x,yp);

printf("\ntekan enter untuk kembali ke menu \n\n");

getch();

void runge()

int i;

float ta,t,temp,h,er,eps;

float k1,k2,k3,k4,R,L,V,I;

printf("\t-----Metode Runge Kutta-----\n");

printf("\n\n");

printf("Masukkan Resistansi(ohm):");

scanf("%f",&R);

printf("Masukkan Induktansi(Henry):");

scanf("%f",&L);

printf("Masukkan Sumber Tegangan(Volt):");

scanf("%f",&V);

printf("Masukkan h:");

scanf("%f",&h);

printf("Masukkan t akhir:");

scanf("%f",&ta);

printf("Masukkan I[0]=");

scanf("%f",&I);

printf("\titerasi\t t\t solusi I\t error\n");

printf("\t-----------------------------------------\n");

t=0;

i=1;
do{

k1=h*f(I,t,R,L,V);

k2=h*f(I+k1/2,t+h/2,R,L,V);

k3=h*f(I+k2/2,t+h/2,R,L,V);

k4=h*f(I+k3,t+h,R,L,V);

I=I+(k1+2*k2+2*k3+k4)/6;

eps=I;

eps=eps+h*f(eps,h,R,L,V);

er=h*h*f_aksen(h,eps,R,L,V)/2;

printf("\t%d\t%f\t%f\t%f\n",i,t,I,er);

t=t+h;

i++;

while(t<=ta);

end:

printf("\ntekan enter untuk kembali ke menu \n\n");

getch();

void riemann ()

int i;

float a,b,h,n,x;

float L;

printf("INTEGRAL Riemann\n");

printf("Metode Trapesium\n");

a=0;

printf("masukkan nilai t :");


scanf("%f",&b);

h=1;

n=(b-a)/h;

printf("|t|\t|Q|\n");

x=a;

L=0;

for(i=1;i<=n;i++)

L=L+ h*(f(x)+f(x+h))/2;

printf("%d\t%.2f\n",i,L);

x=x+h;}

getch();

void fwd()

int i,n,menu;

float fwd[8], back[8], cntr[8], erf[8], erb[8], erc[8], h[8],x;

int g;

printf("Program Menghitung arus dengan Metode Forward Difference\n\n


");
printf("-------------------------------------------------------\n");

printf("** Mencari arus dari persamaan dq/dt=3t*t*t*t+4t **\n");

printf("--------------------------------------------------------\n");

printf("Masukkan waktu\t= ");scanf("%f",&x);

printf("\nMasukkan banyaknya h\t= "); scanf("%d",&n);

for(i=1; i<=n; i++)

printf("Masukkan nilai h[%d]: ", i); scanf("%f", &h[i]);

printf("\n");

for(i=1; i<=n; i++)

fwd[i] = ((go(x+h[i])-go(x))/h[i])-((h[i]/2)*d2f(x));

erf[i] = fabs((h[i]/2)*d2f(x));

cntr[i] = ((go(x+h[i])-go(x-h[i]))/(2*h[i]))-
((h[i]*h[i]/6)*d3f(x));

erc[i]= fabs(-(h[i]*h[i]/6)*d3f(x));

for(i=1; i<=n; i++)

printf("-------------------------------------------\n");
printf("**\t Pada saat h = %f\t **\n",h[i]);

printf("-------------------------------------------\n");

printf("*> Hasil dengan metode forward\t= %f\n",fwd[i]);

printf(" Dengan error sebesar\t\t= %f\n",erf[i]);

printf("*> Hasil dengan metode central\t= %f\n",cntr[i]);

printf(" Dengan error sebesar\t\t= %f\n\n\n",erc[i]);

printf("\n\n");

getch();

}
VII. Daftar Pustaka

- Tooley,Michael. 2002. Rangkaian Elektronik Prinsip dan Aplikasi. Jakarta : Erlangga


- Marlan. 2004. Diktat Kuliah Fisika Komputasi I. Jurusan fisika UNPAD
- Marlan. 2004. Diktat Kuliah Fisika Komputasi II. Jurusan fisika UNPAD
- Munir , Rinaldi. 2006. Metode Numerik Edisi Revisi. ITB Bandung

You might also like