Matlab metode titik tetap digunakan untuk mencari solusi persamaan nonlinier. berikut program matlab yang digunakan dalam matlab :
disp(' ');
disp('====================================================')
disp('- Program Untuk Mencari Solusi Persamaan NonLinear -')
disp('- dengan Metode Titik Tetap -')
disp('----------------------------------------------------')
disp(' ')
x0=0;
iter=1;
fungsi1=input('Silahkan menginput fungsi f(x)= ');
fungsi2=input('Silahkan menginput fungsi g(x)= ');
x=input('Silahkan menginput suku awal= ');
disp('Tabel Iterasinya sebagai berikut :');
disp('====================================================');
disp(' iter x fx error ');
disp('====================================================');
while abs((x-x0)/x)>0.000000001
gx=feval(fungsi2,x);
fx=feval(fungsi1,x);
x0=x;
x=gx;
e=abs((x-x0)/x);
fprintf('%3.0f %10.8f %10.8f %10.8f\n',iter, x, fx, e);
iter=iter+1;
end
disp(' ')
fprintf('Maka akar dari persamaan nonlinear tersebut adalah %10.8f\n', x)
disp(' ')
disp('===================Terima Kasih=====================')
Blog Matematika - Blog ini berisi tentang hal - hal yang berkaitan tentang matematika dan berguna bagi mahasiswa jurusan Pendidikan Matematika
Tuesday, 15 May 2012
Matlab Metode Newton
disp ('mencari akar dengan metode newton');
x=input ('masukan suku awal');
f=input('masukan input');
f1=input('masukan turunan f(x) ');
x0=0;
n=1;
disp('==========================================');
disp(' n fx e');
disp('==========================================');
while abs(x-x0)>0.00000001;
fx=feval(f,x);
f1x=feval(f1,x);
e=abs(x-x0);
fprintf('%3.0f %10.8f %10.8f\n',n ,fx ,e)
x0=x;
x=x0-fx/f1x;
n=n+1;
end
akar=x;
fprintf('akarnya adalah %10.8f\n',akar)
x=input ('masukan suku awal');
f=input('masukan input');
f1=input('masukan turunan f(x) ');
x0=0;
n=1;
disp('==========================================');
disp(' n fx e');
disp('==========================================');
while abs(x-x0)>0.00000001;
fx=feval(f,x);
f1x=feval(f1,x);
e=abs(x-x0);
fprintf('%3.0f %10.8f %10.8f\n',n ,fx ,e)
x0=x;
x=x0-fx/f1x;
n=n+1;
end
akar=x;
fprintf('akarnya adalah %10.8f\n',akar)
Matlab Metode Secant
%Program secant
function ashsecant (filename, xa, xb)
disp (' Program Metode Secant' )
disp ('==================================')
eps=0.00001;
x(1)=xa;
x(2)=xb;
y(1)=feval(filename, x(1));
y(2)=feval(filename,x(2));
max_iter=20;
iter=2;
fprintf ('iter x f\n' );
fprintf ('% 3.0f, %0.6f, %10.6f\n' , 1, x(1), y(1));
fprintf ('% 3.0f, %0.6f, %10.6f\n', 2, x(2), y(2));
while 1
x(iter+1) = x(iter) - y (iter) * (x(iter) - x(iter-1)) / (y(iter) - y(iter-1));
y(iter+1) = feval (filename, x(iter+1));
iter = iter + 1;
fprintf ('% 3.0f, %0.6f, %10.6f\n', iter, x(iter), y(iter));
if (abs (x(iter) - x(iter-1)) <= eps)
fprintf ('Toleransi error terpenuhi \ n'); break
end
if (iter>max_iter)
fprintf ('Maximum iterasi\n'); break
end
end
x(iter)
function ashsecant (filename, xa, xb)
disp (' Program Metode Secant' )
disp ('==================================')
eps=0.00001;
x(1)=xa;
x(2)=xb;
y(1)=feval(filename, x(1));
y(2)=feval(filename,x(2));
max_iter=20;
iter=2;
fprintf ('iter x f\n' );
fprintf ('% 3.0f, %0.6f, %10.6f\n' , 1, x(1), y(1));
fprintf ('% 3.0f, %0.6f, %10.6f\n', 2, x(2), y(2));
while 1
x(iter+1) = x(iter) - y (iter) * (x(iter) - x(iter-1)) / (y(iter) - y(iter-1));
y(iter+1) = feval (filename, x(iter+1));
iter = iter + 1;
fprintf ('% 3.0f, %0.6f, %10.6f\n', iter, x(iter), y(iter));
if (abs (x(iter) - x(iter-1)) <= eps)
fprintf ('Toleransi error terpenuhi \ n'); break
end
if (iter>max_iter)
fprintf ('Maximum iterasi\n'); break
end
end
x(iter)
Monday, 14 May 2012
Matlab Metode Jacobi
disp(' ');
disp('=====================================================')
disp('- Program Menentukan Solusi Sistem Persamaan Linear -')
disp('- dengan Metode Jacobi -')
disp('-----------------------------------------------------')
function [X,g,H]= jacobi(A,b,X0,T,N)
H = X0';
n = length(b);
X1 = X0;
for k=1:N,
for i = 1:n,
S = b(i)-A(i,[1:i-1,i+1:n])*X0([1:i-1,i+1:n]);
X1(i)=S/A(i,i);
end
g = abs(X1-X0)
err = norm(g);
relerr = err/(norm(X1)+ eps);
X0 = X1
H = [H;X0']
if (err<T)|(relerr<T),break,end
end
disp(' ')
disp('===================Terima Kasih======================')
disp('=====================================================')
disp('- Program Menentukan Solusi Sistem Persamaan Linear -')
disp('- dengan Metode Jacobi -')
disp('-----------------------------------------------------')
function [X,g,H]= jacobi(A,b,X0,T,N)
H = X0';
n = length(b);
X1 = X0;
for k=1:N,
for i = 1:n,
S = b(i)-A(i,[1:i-1,i+1:n])*X0([1:i-1,i+1:n]);
X1(i)=S/A(i,i);
end
g = abs(X1-X0)
err = norm(g);
relerr = err/(norm(X1)+ eps);
X0 = X1
H = [H;X0']
if (err<T)|(relerr<T),break,end
end
disp(' ')
disp('===================Terima Kasih======================')
Matlab Regula Falsi
%metode regula_falsi
function regula_falsi (fname,xa,xb)
eps=0.00001;
f_a=feval (fname,xa);
f_b=feval (fname,xb);
max_iter=14;
iter=0;
fprintf('iter a b tengah fa fb abs(fb-fa) \n ');
while 1
iter=iter+1;
xtengah=xb-(f_b*(xb-xa))/(f_b-f_a);
f_tengah=feval(fname,xtengah);
fprintf('%3.0f,%8.3f,%12.6f',iter,xa,xb);
fprintf('%13.6f,%13.7f,%13.8f',xtengah,f_a,f_b);
fprintf('%14.3e\n',abs((f_b-f_a)));
if(abs(xb-xa)<=eps)
fprintf('toleransi error terpenuhi.\n');break
end
if(iter>max_iter)
fprintf('maximum iterasi.\n');break
end
if(f_a*f_tengah<=0.0)
xb=xtengah;
f_b=f_tengah;
else
xa=xtengah;
f_a=f_tengah;
end
end
function regula_falsi (fname,xa,xb)
eps=0.00001;
f_a=feval (fname,xa);
f_b=feval (fname,xb);
max_iter=14;
iter=0;
fprintf('iter a b tengah fa fb abs(fb-fa) \n ');
while 1
iter=iter+1;
xtengah=xb-(f_b*(xb-xa))/(f_b-f_a);
f_tengah=feval(fname,xtengah);
fprintf('%3.0f,%8.3f,%12.6f',iter,xa,xb);
fprintf('%13.6f,%13.7f,%13.8f',xtengah,f_a,f_b);
fprintf('%14.3e\n',abs((f_b-f_a)));
if(abs(xb-xa)<=eps)
fprintf('toleransi error terpenuhi.\n');break
end
if(iter>max_iter)
fprintf('maximum iterasi.\n');break
end
if(f_a*f_tengah<=0.0)
xb=xtengah;
f_b=f_tengah;
else
xa=xtengah;
f_a=f_tengah;
end
end
Matlab Metode Bisection
%metode bisection
function bisection (fname,xa,xb)
eps=0.00001;
f_a=feval (fname,xa);
f_b=feval (fname,xb);
max_iter=14;
iter=0;
fprintf('iter a b tengah fa fb abs(fb-fa) \n ');
while 1
iter=iter+1;
xtengah=(xa+xb)/2;
f_tengah=feval(fname,xtengah);
fprintf('%3.0f,%8.3f,%12.6f',iter,xa,xb);
fprintf('%13.6f,%13.7f,%13.8f',xtengah,f_a,f_b);
fprintf('%14.3e\n',abs((f_b-f_a)));
if(abs(xb-xa)<=eps)
fprintf('toleransi error terpenuhi.\n');break
end
if(iter>max_iter)
fprintf('maximum iterasi.\n');break
end
if(f_a*f_tengah<=0.0)
xb=xtengah;
f_b=f_tengah;
else
xa=xtengah;
f_a=f_tengah;
end
end
function bisection (fname,xa,xb)
eps=0.00001;
f_a=feval (fname,xa);
f_b=feval (fname,xb);
max_iter=14;
iter=0;
fprintf('iter a b tengah fa fb abs(fb-fa) \n ');
while 1
iter=iter+1;
xtengah=(xa+xb)/2;
f_tengah=feval(fname,xtengah);
fprintf('%3.0f,%8.3f,%12.6f',iter,xa,xb);
fprintf('%13.6f,%13.7f,%13.8f',xtengah,f_a,f_b);
fprintf('%14.3e\n',abs((f_b-f_a)));
if(abs(xb-xa)<=eps)
fprintf('toleransi error terpenuhi.\n');break
end
if(iter>max_iter)
fprintf('maximum iterasi.\n');break
end
if(f_a*f_tengah<=0.0)
xb=xtengah;
f_b=f_tengah;
else
xa=xtengah;
f_a=f_tengah;
end
end
Matlab Invers Matriks
Dalam mencari solusi persamaan linier, selain menggunakan metode eleminasi gauss, dapat juga digunakan metode invers matriks. Berikut program Matlab untuk metode invers matriks :
disp('program solusi SPL dengan invers matriks');
m=input('banyaknya baris adalah ');
n=input('banyaknya kolom adalah ');
for i=1:m
for j=1:n
B(i,j)=input('entry matriks');
end
end
for k=1:n
c(k)=input('entry vektor');
end
B
c=c'
Binv=inv(B)
solusi=Binv*c
Setelah di run menggunakan Matlab, maka hasilnya akan seperti dibawah ini :
disp('program solusi SPL dengan invers matriks');
m=input('banyaknya baris adalah ');
n=input('banyaknya kolom adalah ');
for i=1:m
for j=1:n
B(i,j)=input('entry matriks');
end
end
for k=1:n
c(k)=input('entry vektor');
end
B
c=c'
Binv=inv(B)
solusi=Binv*c
Setelah di run menggunakan Matlab, maka hasilnya akan seperti dibawah ini :
Matlab Eleminasi Gaus
clc,clear all,close all
disp('==============================================')
disp(' Program Penyelesaian Persamaan Linear Ax=B ')
disp(' Metode eliminasi Gauss ')
disp('----------------------------------------------')
disp('==============================================')
disp(' ')
m=input('banyaknya baris adalah ');
n=input('banyaknya kolom adalah ');
for i=1:m
for j=1:n
A(i,j)=input('masukan matriks = ');
end
end
for k=1:n
B(k)=input('Masukan vektor = ');
end
A
B=B'
if m~=n
disp (['Baris - ',num2str(m),';Kolom - ',num2str(n)])
disp ('Bukan Matriks Persegi')
disp('Matrik [A] Tidak Mempunyai Invers..!')
return
end
detA=det(A);
if detA==0
disp('A adalah Matriks singular')
disp('Matrik (A)tidak mempunyai invers..1')
return
end
disp('langkah awal : Membuat Matrik M = A[B]')
disp('-----------------------------------------------------')
A=[A B ]
for i=1:m
disp(['Eliminasi Kolom' num2str(i)])
disp('-----------------------------------------------------')
disp(['B' num2str(i) '/a' num2str(i)])
A(i,:)=A(i,:)./A(i,i)
io=i-1;
in=m-i;
for ii=1:io
disp(['B' num2str(ii) '-a' num2str(ii) num2str(i) '*B' num2str(i)])
A(ii,:)=A(ii,:)-A(i,:).*A(ii,i)
end
for jj=1:in
disp(['B' num2str(i+jj) '-a' num2str(i+jj) num2str(i) '*B' num2str(i)])
A(i+jj,:)=A(i+jj,:)-A(i,:).*A(i+jj,i)
end
end
disp('SOLUSI PERSAMAAN LINEAR ADALAH ')
disp(' ')
for i=1:m
disp(['X' num2str(i) '=' num2str(A(i,m+1))])
end
Setelah dimasukkan ke dalam program MATLAB, maka berbentuk seperti gambar dibawah ini :
disp('==============================================')
disp(' Program Penyelesaian Persamaan Linear Ax=B ')
disp(' Metode eliminasi Gauss ')
disp('----------------------------------------------')
disp('==============================================')
disp(' ')
m=input('banyaknya baris adalah ');
n=input('banyaknya kolom adalah ');
for i=1:m
for j=1:n
A(i,j)=input('masukan matriks = ');
end
end
for k=1:n
B(k)=input('Masukan vektor = ');
end
A
B=B'
if m~=n
disp (['Baris - ',num2str(m),';Kolom - ',num2str(n)])
disp ('Bukan Matriks Persegi')
disp('Matrik [A] Tidak Mempunyai Invers..!')
return
end
detA=det(A);
if detA==0
disp('A adalah Matriks singular')
disp('Matrik (A)tidak mempunyai invers..1')
return
end
disp('langkah awal : Membuat Matrik M = A[B]')
disp('-----------------------------------------------------')
A=[A B ]
for i=1:m
disp(['Eliminasi Kolom' num2str(i)])
disp('-----------------------------------------------------')
disp(['B' num2str(i) '/a' num2str(i)])
A(i,:)=A(i,:)./A(i,i)
io=i-1;
in=m-i;
for ii=1:io
disp(['B' num2str(ii) '-a' num2str(ii) num2str(i) '*B' num2str(i)])
A(ii,:)=A(ii,:)-A(i,:).*A(ii,i)
end
for jj=1:in
disp(['B' num2str(i+jj) '-a' num2str(i+jj) num2str(i) '*B' num2str(i)])
A(i+jj,:)=A(i+jj,:)-A(i,:).*A(i+jj,i)
end
end
disp('SOLUSI PERSAMAAN LINEAR ADALAH ')
disp(' ')
for i=1:m
disp(['X' num2str(i) '=' num2str(A(i,m+1))])
end
Setelah dimasukkan ke dalam program MATLAB, maka berbentuk seperti gambar dibawah ini :
Buku Pengayaan Geometri
Dalam pembuatan buku pengayaan sebelumnya yang dibuat kami, selain buku itu, Assisten Laboratorium Matematika juga membuat buku pengayaan mengenai materi geometri bangun ruang. Keluarga Asisten Laboratorium Matematika 2009-2011 berjumlah 10 orang. Sebelumnya kami berlima membuat buku pengayaan tentang bilangan. Nah, untuk teman kami yang 5 lagi yaitu Asih, Ali, Muhtajin, Hayat dan Parin membuat karya yang lebih bagus dari kelompok kami, yaitu mengenai geometri bangun ruang, tentu saja ditujukan untuk siswa SD. Buku ini juga sangat menampilkan hal-hal yang sangat menarik. Karena materi mengenai bangun ruang maka dalam buku ini lebih menampilkan tentang gambar 3D.
Dibandingkan buku kami sebelumnya buku ini sangat menampilkan hal - hal yang bersifat petualangan tentang seseorang yang ingin belajar geometri. Menurut saya sendiri, buku ini sangat bagus dari segi menampilkan hal-hal 3D dan seperti membaca sebuah cerita petualangan yang didalamnya siswa dapat mendapatkan pelajaran mengenai bangun ruang.
Penasaran dengan bukunya, berikut saya tampilkan beberapa tampilan, sama seperti sebelumnya saya tidak tampilkan semua, tetapi kalo teman2 berminat dapat email ke saya di dimas070765@gmail.com :
Buku Pengayaan Bilangan
Dalam perkembangan buku sekolah yang kian berkembang. Dirasakan sangat perlu untuk mengembangkan sebuah buku pengayaan bagi siswa Sekolah Dasar yang belum memahami matematika dengan baik. Pemahaman matematika ini sangat penting di kuasai oleh siswa., Untuk memahami matematika dengan baik siswa harus paham konsepnya secara detail, sehingga siswa tidak kesusahan menjawab soal jika sudah memahami matematika. Oleh karena itu, kami, Ainur, Elin, Nike, Anggi dan Saya membuat sebuah buku pengayaan khusus untuk materi bilangan. Kenapa kami ambil materi "bilangan", dikarenakan siswa SD banyak yang tidak memahami materi bilangan dengan baik.
Contohnya seperti ini (-2)+3 = kalo kita yang sudah mengerti pasti jawabannya 1, tetapi dari hasil survey kami, siswa SD banyak yang belum mengerti hal ini. Padahal ini sangat penting bagi siswa ketika melanjutkan ke jenjang SMP atau SMA. Sehingga diperlukan sebuah buku pengayaan yang membantu siswa dengan baik.
Buku pengayaan yang kami berikan juga berbeda dengan buku pengayaan yang lain. Karena sasaran kami adalah siswa SD maka buku yang kami tampilkan lebih bertema anak-anak. Banyak warna dan ilustrasi yang menjadikan siswa lebih senang membaca buku kami(Amiiin).
Buku pengayaan ini merupakan hasil riset kami Tim Asisten Lab Komputer Matematika 2009-2011 yang dikembangkan oleh Pak Aan.
Untuk mengetahui sepeti apa sih, buku yang telah kami buat, kami hanya menampilkan sedikit dari buku kami, kalo temen2 berminat silahkan email saya:
Thursday, 10 May 2012
Uji Normalitas
Uji normalitas merupakan usaha yang dilakukan oleh seseorang untuk mendapatkan data yang normal. Dalam sebuah karya ilmiah kuantitatif, uji normalitas merupakan hal pokok yang harus dilakukan oleh seorang peneliti agar data yang diperoleh dapat digunakan untuk kepentingan hasil penelitian yang ingin dicapai. Dalam melakukan uji normalitas dapat dilakukan dengan 2 cara, yaitu dengan cara manual dan cara otomatis. Cara manual dengan menggunakan rumus yang ada tanpa menggunakan bantuan software. Uji normalitas dengan cara manual ini dapat dilakukan dengan menggunakan rumus chi-quadrat. Adapun langkah - langkahnya adalah sebagai berikut :
Langkah-langkah
:
1. Menentukan
persentase terbesar dan persentase terkecil
2. Menentukan
Rentang (R)
3. Menentukan
Banyak Kelas (BK)
4. Menentukan
panjang kelas (i)
5. Tabel
Distribusi Frekuensi
Batas
Interval
|
Frekuensi(f)
|
Nilai
Tengah
|
f
|
f
|
||
1
|
45-53
|
2
|
49
|
2401
|
98
|
4802
|
2
|
54-62
|
4
|
58
|
3364
|
232
|
13456
|
3
|
63-71
|
3
|
67
|
4489
|
201
|
13467
|
4
|
72-80
|
4
|
76
|
5776
|
304
|
23104
|
5
|
81-89
|
2
|
85
|
7225
|
170
|
14450
|
n
= 15
|
∑
|
1005
|
69279
|
6. Menentukan
Rata-rata atau mean (
)
7. Menentukan
Simpangan Baku (S)
8.
Tabel frekuensi yang
diharapkan (
) dari hasil pengamatan (
)
No
|
Batas Kelas
|
Z
|
Luas 0 - Z
|
Luas Tiap Kelas
Interval
|
|||
1
|
44,5
|
-1,91
|
0,472
|
0,097
|
1,455
|
2
|
0,204
|
2
|
53,5
|
-1,15
|
0,375
|
0,227
|
3,404
|
4
|
0,105
|
3
|
62,5
|
-0,38
|
0,148
|
0,296
|
4,440
|
3
|
0,467
|
4
|
71,5
|
0,38
|
0,148
|
0,227
|
3,404
|
4
|
0,105
|
5
|
80,5
|
1,15
|
0,375
|
0,097
|
1,455
|
2
|
0,204
|
89,5
|
1,91
|
0,472
|
1,084
|
9. Uji
Chi Kuadrat
untuk lebih jelasnya dapat anda download pada link berikut Download disini
Kembali Lagi
Maaf bagi temen-temen semua yang sering membuka dimassandi070765.wordpress.com tetapi sudah tidak ada. Itu dikarenakan blog saya yang di wordpress di blokir oleh pihak wordpress, karena memasukkan web iklan yang tidak diperbolehkan. Tentunya sebagai pengguna yang awam, saya juga kurang mengerti mengapa blog saya di blokir, tetapi saya tahu alasannya sekarang.
Jadi mungkin ini bisa disebut reinkarnasi dari blog saya yang lalu, mudah-mudahan dapat berguna dan dapat bernilai ibadah bagi saya dan terutama bagi anda yang membaca. Amiiin
Owner
Dimas Sandi Sasmito
Subscribe to:
Posts (Atom)