Anda di halaman 1dari 36

DASAR KOMPUTASI

PROSES
Oleh :
Dinii Lathiifah Pertiwi / 14-2012-014
Rifani Rahmawaty / 14-2011-007
Yona Octavia / 14-2012-032
Andini Dwisurya Utami /14-2012-034
Kartini Ratna Arum Sudiarto / 14-2012-037
Guntur Permana / 14-2012-038
Adhia Rieyanasari / 14-2012-039
KELAS A

PROGRAM PASCAL

PENGANTAR
Algoritma adalah uraian metoda penyelesaian masalah.
Penulisan algoritma biasanya dengan bagan & simbol

(flowchart).
Simbol dasar yang umum digunakan dalam pembuatan
Awal & akhir suatu
flowchart proses
:

Input & output


Proses
Kotak keputusan
Arah proses
Sambungan

POKOK BAHASAN
o NILAI RATAAN
o PERKALIAN MATRIKS
o METODE NEWTON-RAPHSON
o PERSAMAAN KEADAAN HEYEN
o METODE RUNGE-KUTTA 4
o METODE THOMAS

Nilai Rataan
Nilai rataan adalah nilai yang menunjukkan pusat dari data dan
dapat mewakili keputusan data
Cara memeperoleh dengan menjumlahkan semua nilai data
dan membaginya dengan jumlah data

Flow Chart Algoritma Nilai Rataan

Pemrograman Pascal dari Nilai Rataan


program nilai_rata(input,output);
type vektor=array[1..100] of real;
Var i,n:integer
rata_rata:real;
x:vektor;
function rataan(n:integer;x:vektor):real;
Var i:integer
sum:real;
Begin
i:=1;
sum:=0.00;
while i<=n do
begin
sum:=sum+x[i];
i:=i+1;
end;
rataan:=sum/n;
end;

{masukkan}
begin
write(masukkan jumlah data:);
readln(n);
i:=1;
while i<=n do
begin
write (masukkan data ke:,i,:);
readln(x[i]);
i:=i+1;
end;
rata_rata:=rataan(n,x);
write(nilai rata_rata adalah:,rata_rata);
end.

Contoh soal:
Hitung nilai rataan jika diketahui nilai dari data ke-1 adalah 1 , data ke-2 adalah 2 dan data ke-3 adalah 3 !
Hasil Run

Perkalian Matriks
Matriks adalah suatu jajaran bilangan/ unsur/elemen yang disusun dalam bentuk baris

dan kolom.
Pemodelan data dengan matriks sudah sangat umum dikenal di dalam dunia science
terutama yang berhubungan dengan matematika. Matrix dapat dioperasikan, seperti
dikurang, ditambah, dan dikalikan.
Pengoperasian perkalian matriks melibatkan penghitungan dari baris dan kolomnya tiap
cell . Kolom di matriks A akan dikalian dengan tiap baris pada matriks B kemudian
dijumlahkan.

Flowchart Algoritma Perkalian Matriks

Hitung hasil perkalian dari matriks


berikut !

Pemrograman Pascal dari Perkalian Matriks


program perkalian_matriks(input,output);
type matriks=array[1..50,1..50] of real;
var i,j,k,m,n,p:integer;
var A,B,C:matriks;
var sum:real;
begin
writeln(masukkan ukuran dari matriks A:);
writeln(masukkan jumlah baris A:);
read(m);
writeln(masukkan jumlah kolom A:);
writeln(masukkan jumlah baris B:);
read(n);
writeln(masukkan jumlah kolom B:);
read(p);
i:=1;
while i<=m do
begin
j:=1;
while j<=n do
begin
k:=1;
while k<=n do
begin
writeln(masukkan nilai A[,i,,,k,]);
read(A[i,j]);

writeln(masukkan nilai B[,i,,,j,]);


read(B[i,j]);
k:=k+1;
end;
j:=j+1;
end
i:=i+1;
end;
end;
procedure keluaran;
begin
i:=1;
while i<=n do
begin
j:=1;
while j<=p do
begin
write( ,c[i,j]);
j:=j+1;
end;
i:=i+1;
writeln;
end;
end;
procedure perkalian_matriks(A,B:matriks;m,n,p:integer);

var i,j,k:integer;

var sum:real;
begin
i:=1
while i<=m do
begin
j:=1;
while j<=p do
begin
sum:=0;
k:=1;
while k<=n do
begin
sum:=sum+A[i,k]*B[k,j];
k:=k+1
end;
C[i,j]:=sum;
j:=j+1;
end;
i:=i+1;
end;
end;
{masukkan output}
begin
masukkan;
perkalian_matriks(A,B,m,n,p);
keluaran;
end.

Hasil Run

Metode Runge-Kutta 4

Metode runga kutta merupakan alternatif yang tidak membutuhkan


perhitungan turunan.
Metode ini berusaha mendapat derajat ketelitian yang lebih tinggi, dan
sekaligus menghindarkan keperluan mencari turunan-turunan yang lebih
tinggi atau tingkat tinggi dengan jalan mengevaluasi fungsi pada titik terpilih
pada setiap langkah.
Runge kutta merupakan salah satu dari satu perangkat metode yang penting
untuk menyelesaikan persamaan differensial dengan syarat awal yang
diberikan.

Persamaan umum Runge-Kutte 4 :

Flowchart Algoritma Runge-Kutta 4

CONTOH SOAL
y = 3et - 2t + 5y + 1
0 t 0.5 , y(0) = 0.5
Jumlah Partisi = 20
Carilah solusi persamaan diferensial dengan metode Runga Kutta 4 !

Pemrograman Pascal Dari Runge-Kutta 4:


program rungekutta4(input,output);
type barisan=array[0..100] of real;
var n,i:integer;
t,y:barisan;
y0:real;
h,k1,k2,k3,k4,a,b:real;
function fungsi(t:real;y:real):real;
var n,i:integer;
begin
fungsi:=3*exp(t)-2*(t)+5*(y)+1;
y0:=0.5
end;
{masukkan}
begin
write(masukkan jumlah partisi:);
readln(n);
write(masukkan batas awal:);
readln(a);
write(masukkan batas akhir:);
readln(b);
write(masukkan nilai awal:);
readln(y0);

h:=(b-a)/n;
i:=1;
y[0]:=y0;
while i<=n do
begin
t[i]:=a+(i-1)*h;
k1:=h*fungsi(t[i],y[i]);
k2:=h*fungsi(t[i]+1/2*h,y[i]+1/2*k1);
k3:=h*fungsi(t[i]+1/2*h,y[i]+1/2*k2);
k4:=h*fungsi(t[i]+h,y[i]+k3);
y[i+1]:=y[i]+(k1+2*k2+2*k3+k4)/6;
i:=i+1;
end;
{hasil}
i:=0;
writeln(i t y);
whilei<=n do
begin
writeln(
,i,
,t[i],
,y[i]);
i:=i+1;
end;
end.

Hasil run

Metode Newton Raphson


Metode Newton-Rapshon merupakan salah satu metode terbuka untuk
menentukan solusi akar dari persamaan non linier, dengan prinsip utama
sebagai berikut:
1.

Metode ini melakukan pendekatan terhadap kurva f(x) dengan garis


singgung (gradien) pada suatu titik nilai awal.

2.

Nilai taksiran selanjutnya adalah titik potong antara garis singgung


(gradien) kurva dengan sumbu x

Algotirma Flowchart Newton-Raphson

Persamaan Keadaan Heyen


Heyen merupakan suatu persamaan keadaan hasil dari

modifikasi persamaan keadaan peng-robinson.


Pada

persamaan

keadaan

heyen

ditambahkan

parameter untuk mereproduksi faktor kompresibilitas


kritis.
Heyen memperkenalkan fungsi yang bergantung pada

temperatur ke dalam parameter a dan b agar cocok


dengan volume cairan jenuh.

Persamaan Heyen:

RT
a
P
2
V b V b c V bc
Dimana :

R 2Tc2
a a
exp k 1 Trn
Pc

1 exp Tr 1
RTc

b b
1 m
Pc
1 exp Tr 1

c c

RTc
Pc

Heyen mengidentifikasi parameter k, n, m, dan untuk setiap komponen dengan memaksakan


persamaan Heyen untuk cocok dengan tekanan eksperimental dan volume cairan jenuh. Hal ini
membawa kepada kolerasi berikut :
k = 0.49164 + 1.43882 0.08821 2
n = 1.637 + 1.389
m = 0.23333 0.06737 + 0,49110 2
= 7.2562 + 14.153 + 1.33137 2

Dengan memberlakukan kondisi titik kritis Van der Waals, maka :


c 1 3Z c
3b 2 3Z c b2 3Z c2 b Z c3 0

a 3Z c2 2 b c b c b2

Dimana b adalah akar real positif terkecil dari persamaan

3b 2 3Z c b2 3Z c2 b Z c3 0

Karena persamaan kubik ini siap diselesaikan dengan metoda Newton-Raphson


dengan nilai tebakan awal :
b 0.32429 Z c 0.022005

Hitung volume gas metana jika diketahui:


Tc = 190.546 K
Pc = 4.599 MPa
Vc= 0.0986 m3/kmol
Zc = 0.286
= 0.0115
R = 0.082 l.atm/mol.K

Pemrograman Pascal dari Newton-Raphson Untuk Mencari b


program newton_raphson(input,output);
type barisan=array[0..100] of real;
var i:integer;
ohm:barisan;
ohm0:real;
galat,tol:double;
hasil:real;
function fungsi(y:real):real;
var fungsi_1,turunan:real;
begin
fungsi_1:=sqr(y)*y+(2-3*0.286)*sqr(y)+3*0.081796*y0.0234;
turunan:=3*sqr(y)+2.284*y+0.2454;
fungsi:=fungsi_1/turunan;
end;
{masukkan}
begin
write(masukkan tebakan awal:);
readln(ohm0);

write(masukkan nilai toleransi:);


readln(tol);
{hitung}
i:=0;
ohm[i]:=ohm0;
galat:=0.01;
while galat>=tol do
begin
ohm[i+1]:=ohm[i[-fungsi(ohm[i]);
galat:=abs(ohm[i+1]-ohm[i]);
hasil:=ohm[i+1];
i:=i+1;
end;
{hasil}
writeln(akar persamaan tidak linear:,hasil);
end.

Hasil Run

Pemrograman Pascal Dari Newton-raphson Untuk Mencari Volume


program newton_raphson(input,output);
type barisan=array[0..100] of real;
var i:integer;
v:barisan;
v0:real;
galat,tol:double;
r, t,a,b,c,p:real;
hasil:real;
function fungsi(y:real):real;
var fungsi_1turunan:real;
Begin
fungsi_1:=((r*t)/(y-b))-(a/(sqr(y)+(b+c)*y+b*c))-P
turunan:=-(r*t)/(sqr(y-b))+(a/(sqr(sqr(y)+(b+c)*y+b*c))*(2*y+(b+c)))

fungsi:=fungsi_1/turunan;
end;
{masukkan}
begin
write(masukkan tebakan awal:);
readln(v0);
write(masukkan nilai toleransi:);
readln(tol);
write(masukkan nilai r:);
readln(r);

write(masukkan nilai t:);


readln(t);
write(masukkan nilai a:);
readln(a);
write(masukkan nilai b:);
readln(b);
write(masukkan nilai c:);
readln(c);
write(masukkan nilai p:);
readln(p);
{hitung}
i:=0;
v[i]:=v0;
galat:=0.01;
while galat>=tol do
begin
v[i+1]:=v[i]-fungsi(v[i]);
galat:=abs(v[i+1]-v[i]);
hasil:=v[v+1];
i:=i+1;
end;
{hasil}
writeln(akar persamaan tidak linear:),hasil);
end.

Hasil run

Metode Thomas
Metode Thomas adalah metode penyelesaian sistem
persamaan linier yang digunakan untuk mencari nilai
vektor x dari persamaan linier Tx=d dengan metode
dekomposisi LU, dimana matriks T merupakan matriks
tridiagonal .
Pemfaktoran dari matriks tridiagonal T adalah matriks L

Dimana :

Flowchart Algoritma Metode Thomas

Pemrograman Pascal Metode Thomas


program hitungan(input,output);
type vektor=array[1..100] of real;
var a,b,c,d,x:vektor;
n:integer
procedure thomas(a,b,c,d:vektor;n:integer);
var i:integer;
alfa,beta,y:vektor;
begin
alfa[1]:=a[1];
i:=2;
while i<=n do
begin
beta[i]:=b[i]/alfa[i-1];
alfa[i]:=a[i]-beta[i]*c[i-1];
writeln(beta[,i,],beta[i]);
writeln(alfa[,i,],alfa[i]);
i:=1+1;
end;
y[i]:=d[1];
i:=2;
while i<=n do
begin
y[i]:=d[i]-beta[i]*y[i-1];
writeln(beta[,i,],beta[i]);
writeln(y[,i,],y[i]);
i:=i+1;
end;

x[n]:=y[n]/beta[n];
i:=n-1;
while i<=1 do
begin
x[i]:=(y[i]-c[i]*x[i+1])/alfa[i];
writeln(x[,i,],x[i]);
i:=i+1;
end;
end;
procedure masukkan;
var i:integer;
Begin
writeln(masukkan ukuran vektor:);
Readln(n);
Writeln(masukkan vektor-vektor a,b,c,dan
d:);
i:=1;
While i<=n do
begin
write(masukkan vektor a[,i,]);
readln(a[i]);
write(masukkan vektor b[,i,]);
readln(b[i]);
write(masukkan vektor c[,i,]);
readln(c[i]);

write(masukkan vektor d[,i,]);


readln(d[i]);
ii:=i+1;
end;
end;
procedure keluaran;
var i:integer;
begin
i:=1;
while i<=n do
begin
writeln(akar-akar persamaan
adalah:);
writeln(x[i]);
i:-i+1;
end;
end;
{program utama}
begin
masukkan;
thomas(a,b,c,d,n);
keluaran;
end.

Hitunglah vektor jawaban x dari Tx = b dimana :


Tx = b

Hasil Run

Vektor x yang diperoleh


adalah

TERIMA KASIH

Anda mungkin juga menyukai