Jumat, 04 November 2011

Sdikit Pembahasan UTS DDM 2 Matematika

Ketemu lagi gan,,semuanya yang saya hormati
Dan yang paling khusus,,,Request dari empunya nama yang biasa ane sebut
Sdri Nuri Fashichah,S.Si yang sangat saya sayangi
#Negesi(Menegaskan)

Ane pingin tertawa gan,,ketika dosen ane meminta maaf karena soal UTS DDM 2 terlalu gampang katanya
"Saya mohon maaf ya,,soalnya terlalu mudah,,Saya (Bu Liliek Susilowati) dan Bu Inna (Kuswandari) tidak menemukan soal DDM tahun lalu
Soal ini terlalu gampang,,ya rugilah kalau dapat nilai buruk" Kata beliau.

Yang ane suka,,belum ujian,,omongannya sudah mengarah ke penarikan kesimpulan
"Tapi tetap,,kejujuran bernilai sangat tinggi disini,,yang tidak jujur / berbuat pelanggaran akan diberi sanksi tidak dikoreksi dgn nilai akhir nol
Jadi kalau anda ingin memudahkan pekerjaan saya dan Bu Inna,,ya,,,,,",tambahnya.
Langsung ane jawab : "Berbuatlah pelanggaran" ^_^

Sayangnya,,soalnya dikumpulkan gan,,jadi ane tidak membahas semua soal,,tapi soal soal yang ane ingat aja
(Ngeles,,padahal bnyk yg gk bisa :D )

Bu Inna tiba tiba melihat pekerjaan ane dan tanya,,"Gampang kan ndrA7X",tanya beliau
Ane jawab "Wah soal no 9 ini,,sangar bu logikanya,,saya salut dengan yang membuat soal"
Tapi setelah melihat pekerjaan saya,,beliau berkata "Nyatanya kamu bisa gitu lho"
Ke Ge'eRan ane,,,kesimpulan ane sich,,jawaban ane benar ,,,hehe

Cekidot langsung ke TKP
Gini soalnya gan

9. Tentukan kesimpulan dari pernyataan berikut
Jika Hari ini buruh melakukan demo,,maka lalu lintas macet
Hari ini ada buruh melakukan demo,,atau rambu lalu lintas berfungsi dengan baik

Jawab : dinotasikan p : Hari ini demo buruh
q: Lalu lintas macet
r : Rambu lalu lintas berfungsi dengan baik
Jadi : p => q
p V r
Ane berpikiran bahwa ~p V q ekuivalen dengan p => q
Jadi pernyataan 2 dapat ane tuliskan ~(~p) V r
Jelas bahwa ~(~p) V r ekuivalen dengan ~p => r
Masih belum jelas gan?
Gini ja,,Negasi dari negasi suatu pernyataan adalah pernyataan itu sendiri
Sehingga ~[~(~p => r)] = ~[~p /\ ~r ] = p V r
Maka Terbukti bahwa p V r ekuivalen dengan ~p => r
Masih belum jelas lagi gan??! Buat tabel kebenaran,,dan buktikan bahwa p V r ekuivalen dengan ~p => r

Nah,,Jadi kita dapat
p => q
~p => r
Semakin bingung ane gan,,Tapi akhirnya dapat petunjuk dari sifat kontraposisi
Jadi p => q ekuivalen dengan ~q => ~p

Sedemikian rupa sehingga dengan Metode Silogisme
~q => ~p
~p => r
"""""""""""""""""
.'. : ~q => r
Kesimpulan : Jika lalu lintas tidak macet, maka rambu lalu lintas berfungsi dengan baik

Sedikit ane amati,,soal yang kelihatan sangat sulit,,eh kesimpulannya sangat simpel
Anak kecil aja tahu kalau lalu lintas tidak macet, maka rambu lalu lintas berfungsi dengan baik

Huft --"

Senin, 31 Oktober 2011

Dasar Dasar Matematika (DDM 2), Logika Matematika

Hai Agan agan sekalian yang saya hormati
Dan yang paling khusus,,Akhwat Icha yang sangat saya sayangi

Kali ini ane akan membahas materi Implikasi serta silogisme
Secara gan,,ane dulu mahir bngt pelajaran Logika Matematika di SMA
Tapi sayang banget,,Matkul DDM ane harus berakhir dgn nilai C
Apalagi baru kemarin sore dapat jelek,,nilai apa itu 20
Sbnarnya sudah ane prediksi
Tipuan di materi Implikasi itu hanyalah
~ p ˅ q = p => q ,dan
~ q => ~p ekuivalen dgn p => q
Tapi nyatanya tman2 ane bnyak yang masih newbie
Shg masih bngung kalau ~p ˅ ~q itu ekuivalen dgn p => ~q

Cekidot aja gan,,langsung ke TKP



Buatlah Kesimpulan dari Pernyataan pernyataan berikut :
2. Jika lalu lintas padat, maka jalanan macet
Hari ini jalanan tidak macet atau pemakai jalan tidak senang
3. Jika hewan bernapas dengan insang, maka ia hidup di air
Jika hewan memamah biak, maka ia tidak hidup di air

Jawaban :



Untuk lebih aman nya ,, yang log itu benar pada interval -2 q benar pada 3 keadaan
dan salah ketika antiseden p benar dan q salah
Sehingga buatlah garis bilangan dengan nilai kebenaran
Anda akan menemukan HP seperti yang saya sebutkan diatas

2. p : Lalu lintas padat
q : Jalanan Macet
r : Pemakai Jalan tidak senang

Sudah ane jelaskan di awal kalau ~ p ˅ q = p => q
Kalau gak percaya, silahkan buat tabel kebenaran
Perlu agan ketahui bahwa negasi dari negasi suatu pernyataan adalah kembali
ke pernyataan itu sendiri
Sehingga : ~[~( p => q)] = ~[p ˄ ~q] = ~ p ˅ q
Terbukti bahwa ~ p ˅ q = p => q
Dinotasikan : “Jika lalu lintas padat, maka jalanan macet” sebagai : p => q
“Hari ini jalanan tidak macet atau pemakai jalan tidak senang” sebagai ~ q ˅ r
~ q ˅ r = q => r

Dengan metode Silogisme :
p => q
q => r
.’. p => r
Kesimpulan : Jika lalu lintas padat, maka pemakai jalan tidak senang

3. p : Hewan bernapas dengan insang
q : Hewan hidup di air
r : Hewan memamah biak

Pernyataan pertama : p => q
Pernyataan kedua : r => ~q
Suatu pernyataan Implikasi ekuivalen dengan kontraposisinya
Sehingga r => ~q = q => ~r
Kalo agan masih gk percaya,,silahkan buat tabel kebenaran sendiri

Dengan Metode Silogisme :
p => q
q => ~ r
.’. p => ~ r
Kesimpulan : Jika hewan bernapas dengan insang, maka ia bukan pemamah biak
(atau versi ane) : Jika hewan bernapas dengan insang, maka hewan tersebut tidak memamah biak





Huft
Selesai gan
Cerita lugu tentang Silogisme :
Guru B.Indo ane dulu saat SMA,,mngajarkan rumus silogisme untuk bhsa Indonesia
Unas B.Indo dulu kan ada soal soal silogisme B.Indo,,tapi gk rumit rumit pake negasi segala macem
Yg ane bngung,,Rumus Silogisme bahasa Indonesia,,,agakx beda dgn rumus silogisme matematika
Ane tanyakan gan
Bu,,di Math itu rumus silogisme nya
p => q
q => r
.’. p => r
Tapi kalau di bahasa Indonesi koq
a => b
c => a
.’. c => b
Tapi apa jawabnya : Keduanya memang beda karena beda pelajaran
Ealah,,I’m dissapointed with your answer,,my teacher
Coba bertanya pada manusia,,Jawabx,,itu dicoret a nya shg jadi c => b ,,,sprti pada Math,,dicoret q nya,,shg mnjadi p => q
Aq bertanya pada Langit tua,,Jawabnya,,Pernyaataan trsebut bisa dibalik posisi menjadi
c => a
a => b
.’. c => b
Tapi ngapain tanya tanya gak jelas gitu,,nyatanya Ariel Peterpan bisa menjelaskn smua itu dgn metode kontraposisi
a => b ekuivalen dgn ~b => ~a
c => a ekuivalen dgn ~a => ~c
Sehingga pernyataan menjadi :

~b => ~a
~a => ~c
.’. ~b => ~c
Dan kita tahu bahwa ~b => ~c ekuivalen dgn c => b
Sehingga terbukti benar bahwa Ksimpulanx adalah c => b

Nah,,Ini gan,,Jawaban yang ane cari
Sudah dulu ya gan
Monggo dipahami atau di comment



Kamis, 20 Oktober 2011

Contoh Source Code Listing Program C++ Regula Falsi, Newton-Rhapson, dan Iterasi

Hai Agan agan,,mas bro,,mbak sist yang saya Hormati
and tman2 cwekq yang sangat saya sayangi,,terutama luna,and icha

Kali Ini CandrA7x akan membahas tentang Listing Program C++ untuk menyelesaikan persamaan tak linear
Persamaan yang di dalamnya ada e^x atau ln x,,gak mungkin kan kalau agan faktorkan and agan temukan jawabannya
Nah,,disitulah metode numerik hadir untuk "menebak-nebak" pendekatan jawaban akar dari x nya


Metode yang umum dipakai untuk penyelesaian persamaan tak linear
1. Metode Biseksi
2. Metode Regula Falsi
3. Metode Newton Rapshon
4. Metode Secant
5. Metode Iterasi

Tapi gak gue bahas semua gan
Ilmu gue masih blum nyampek

Langsung saja ke TKP gan

A. Contoh Program C++ Metode Regula Falsi

/* Nama Program : regula-falsi.cpp */
#include iostream.h
#include stdlib.h
#include conio.h
#include stdio.h
#include math.h
#define e 2.718281828
#define error_limit 0.00000000000001 //flexible sesuai kebutuhan
main()
{
FILE *regula_falsi, *regula_x;
double fx1, fx2, fx3,x1, x2, x3,x10, x20, f1f2,x, dx, y1, y2, dy;
int i, j, k;
char lagi, belum;
do
{
clrscr();
j = 0;
regula_falsi = fopen("regula_falsi.txt", "w+");
regula_x = fopen("cross_regula.txt", "w+");
do
{
clrscr();
cout << "Metode Regula-Falsi\n"; cout << "===================\n\n"; //Persamaan utama dan persamaan untuk mencari titik potongnya cout << "f(x) = 2*e^x - x - 3\n\n"; cout << "y1 = 2e^x dan y2 = x+3\n\n"; cout << "Mencari Titik Potong terdekat\n"; cout << "-----------------------------\n\n"; cout << "Berapa Nilai awal x = "; cin >> x;
cout << "\nBerapa Nilai Interval x = "; cin >> dx;
cout << "\nBerapa kali Iterasi = "; cin >> k;
printf("\n\t-------------------------------------------------\n");
printf("\tIterasi ke-\tx\ty1\ty2\tselisih\n");
printf("\t-------------------------------------------------\n\n");
fprintf(regula_x,"\n\t-------------------------------------------------\n");
fprintf(regula_x,"\tIterasi ke-\tx\ty1\ty2\tselisih\n");
fprintf(regula_x,"\t-------------------------------------------------\n\n");
for (i = 0; i < k; i++) { y1 = 2*pow(e,x); y2 = x + 3; dy = y1 - y2; printf("\t\t%d\t%.1f\t%.2f\t%.2f\t%.2f\n", i+1, x, y1, y2, dy); fprintf(regula_x, "\t\t%d\t%.1f\t%.2f\t%.2f\t%.2f\n", i+1, x, y1,y2,dy); x += dx; } printf("\n\t-------------------------------------------------\n\n"); fprintf(regula_x, "\t-------------------------------------------------\n\n"); fclose(regula_x); cout << "\nApakah Titik Potong telah ditemukan ? "; cin >> belum;
}while(belum != 'y');
cout << "\nMencari Titik Potong sebenarnya\n"; cout << "===============================\n\n"; cout << "Masukkan Nilai x1 = "; cin >> x1;
x10 = x1;
fx1 = 2*pow(e,x1) - x1 - 3;
do
{
cout << "\nMasukkan Nilai x2 = "; cin >> x2;
fx2 = 2*pow(e,x2) - x2 - 3;
x20 = x2;
f1f2 = fx1*fx2;
}while(f1f2 >= 0.0);
printf("\n----------------------------------------------------------------------------\n");
printf("Iterasi ke-\tx3\tfx3\t\tfx3 (16 digit) Error Aproksimasi\n");
printf("----------------------------------------------------------------------------\n\n");
fprintf(regula_falsi,"\n----------------------------------------------------------------------------\n");
fprintf(regula_falsi,"Iterasi ke-\tx3\tfx3\t\tfx3 (16 digit) ErrorAproksimasi\n");
fprintf(regula_falsi, "----------------------------------------------------------------------------\n\n");
do
{
j++;
x3 = (x1*fx2 - x2*fx1)/(fx2 - fx1);
fx3 = 2*pow(e,x3) - x3 - 3;
printf("\t%d\t%.3f\t%.6f\t%.16f\n", j, x3, fx3, fabs(fx3));
fprintf(regula_falsi,"\t%d\t%.3f\t%.6f\t%.16f\n", j, x3, fx3,
fabs(fx3));
if(fx1*fx3 < 0) { x2 = x3; fx2 = fx3; } else { x1 = x3; fx1 = fx3; } }while(fabs(fx3) > error_limit);
printf("\n----------------------------------------------------------------------------\n");
fprintf(regula_falsi,"\n----------------------------------------------------------------------------");
printf("\n\nDengan Nilai awal x1 = %.2f dan x2 = %.2f", x10, x20);
printf("\n\nDiperoleh Akar Persamaan x = %.3f", x3);
printf("\n\nDengan Error sebesar = %.16f", fabs(fx3));
fprintf(regula_falsi,"\n\nDengan Nilai awal x1 = %.2f dan x2 = %.2f", x10,x20);
fprintf(regula_falsi,"\n\nDiperoleh Akar Persamaan x = %.3f", x3);
fprintf(regula_falsi,"\n\nDengan Error sebesar = %.16f", fabs(fx3));
fclose(regula_falsi);
cout << "\n\nTekan Enter untuk melanjutkan ........."; getch(); clrscr(); cout << "\n\nCoba lagi dengan x dan y berbeda (y/t) ? "; cin >> lagi;
}while(lagi != 't');
return 0;
}

/* Nama Program : regula-falsi_1c.cpp */
#include iostream.h
#include stdlib.h
#include conio.h
#include stdio.h
#include math.h
#define e 2.718281828
#define error_limit 0.000000000000001 //flexible sesuai kebutuhan
main()
{
FILE *regula_falsi, *regula_x;
double fx1, fx2, fx3,x1, x2, x3,x10, x20, f1f2,x, dx, y1, y2, dy;
int i, j, k;
char lagi, belum;
do
{
clrscr();
j = 0;
regula_falsi = fopen("regula_falsi_3c.txt", "w+");
regula_x = fopen("cross_regula_3c.txt", "w+");
do
{
clrscr();
cout << "Metode Regula-Falsi\n"; cout << "Soal No. 3.c.\n"; cout << "===================\n\n"; //Persamaan utama dan persamaan untuk mencari titik potongnya cout << "f(x) = 3*x - cos(x) = 0\n\n"; cout << "y1 = 3*x dan y2 = cos(x)\n\n"; cout << "Mencari Titik Potong terdekat\n"; cout << "-----------------------------\n\n"; cout << "Berapa Nilai awal x = "; cin >> x;
cout << "\nBerapa Nilai Interval x = "; cin >> dx;
cout << "\nMaksimum Iterasi = "; cin >> k;
printf("\n\t-------------------------------------------------\n");
printf("\tIterasi ke-\tx\ty1\ty2\tselisih\n");
printf("\t-------------------------------------------------\n\n");
fprintf(regula_x, "\n\t-------------------------------------------------\n");
fprintf(regula_x, "\tIterasi ke-\tx\ty1\ty2\tselisih\n");
fprintf(regula_x, "\t-------------------------------------------------\n\n");
for (i = 0; i < k; i++) { y1 = 3*x; y2 = cos(x); dy = y1 - y2; printf("\t\t%d\t%.1f\t%.2f\t%.2f\t%.2f\n", i+1, x, y1, y2, dy); fprintf(regula_x, "\t\t%d\t%.1f\t%.2f\t%.2f\t%.2f\n", i+1, x, y1,y2, dy); x += dx; } printf("\n\t-------------------------------------------------\n\n"); fprintf(regula_x, "\t-------------------------------------------------\n\n"); fclose(regula_x); cout << "Apakah Titik Potong telah ditemukan ? "; cin >> belum;
}while(belum != 'y');
cout << "\n\nMencari Titik Potong sebenarnya\n"; cout << "===============================\n\n"; cout << "Masukkan Nilai x1 = "; cin >> x1;
x10 = x1;
fx1 = 3*x1 - cos(x1);
do
{
cout << "\nMasukkan Nilai x2 = "; cin >> x2;
fx2 = 3*x2 - cos(x2);
x20 = x2;
f1f2 = fx1*fx2;
}while(f1f2 >= 0.0);
printf("\n----------------------------------------------------------------------------\n");
printf("Iterasi ke-\tx3\tfx3\t\tfx3 (16 digit) Error Aproksimasi\n");
printf("----------------------------------------------------------------------------\n\n");
fprintf(regula_falsi, "\n----------------------------------------------------------------------------\n");
fprintf(regula_falsi, "Iterasi ke-\tx3\tfx3\t\tfx3 (16 digit) ErrorAproksimasi\n");
fprintf(regula_falsi, "----------------------------------------------------------------------------\n\n");
do
{
j++;
x3 = (x1*fx2 - x2*fx1)/(fx2 - fx1);
fx3 = 3*x3 - cos(x3);
printf("\t%d\t%.3f\t%.6f\t%.16f\n", j, x3, fx3, fx3);
fprintf(regula_falsi,"\t%d\t%.3f\t%.6f\t%.16f\n", j, x3, fx3, fx3);
if(fx1*fx3 < 0) { x2 = x3; fx2 = fx3; } { x1 = x3; fx1 = fx3; } }while(fabs(fx3) > error_limit);
printf("\n----------------------------------------------------------------------------\n");
fprintf(regula_falsi,"\n----------------------------------------------------------------------------");
printf("\n\nDengan Nilai awal x1 = %.2f dan x2 = %.2f", x10, x20);
printf("\n\nDiperoleh Akar Persamaan x = %.3f", x3);
printf("\n\nDengan Error sebesar = %.16f", fabs(fx3));
fprintf(regula_falsi,"\n\nDengan Nilai awal x1 = %.2f dan x2 = %.2f", x10,x20);
fprintf(regula_falsi,"\n\nDiperoleh Akar Persamaan x = %.3f", x3);
fprintf(regula_falsi,"\n\nDengan Error sebesar = %.16f", fabs(fx3));
fclose(regula_falsi);
cout << "\n\nTekan Enter untuk melanjutkan ........."; getch(); clrscr(); cout << "\n\nCoba lagi dengan x dan y berbeda (y/t) ? "; cin >> lagi;
clrscr();
}while(lagi != 't');
return 0;
}

B. Contoh Program C++ Metode Newton Rapshon

/* Nama Program : newton-rhapson.cpp */
#include iostream.h
#include stdlib.h
#include conio.h
#include stdio.h
#include math.h
#define error_limit 1E-13 /* flexible sesuai kebutuhan */
main()
{
FILE *newton;
int i, j;
double x, x0, xuji, dx, y,
dif1, dif2, dif,
syarat;
char lagi;
do
{
clrscr();
newton = fopen("newton.txt", "w+");
cout << "Metode Newton-Rhapson\n"; cout << "=====================\n\n"; /* Persamaan dan turunannya */ cout << "y = 4 + 5*x^2 - x^3\n\n"; cout << "y' = 10*x - 3*x^2\n\n"; cout << "y'' = 10 - 6x\n\n"; /* Mencari Nilai x -> 0 */
cout << "\n\nMencari Nilai x -> 0";
cout << "\n\nBerapa Nilai x ? "; cin >> xuji;
cout << "\nBerapa Nilai Interval x ? "; cin >> dx;
cout << "\nMaksimum Iterasi ? "; cin >> j;
printf("\n\t------------------------------------\n");
printf("\tIterasi ke-\tx\ty\n");
printf("\t------------------------------------\n\n");
fprintf(newton,"\n\t------------------------------------\n");
fprintf(newton,"\tIterasi ke-\tx\ty\n");
fprintf(newton,"\t------------------------------------\n\n");
for(i = 1; i <= j; i++) { y = 4 + 5*pow(xuji,2) - pow(xuji,3); printf("\t\t%.d\t%.3f\t%.3f\n", i, xuji, y); fprintf(newton,"\t\t%.d\t%.3f\t%.3f\n", i, xuji, y); xuji += dx; } printf("\t------------------------------------\n\n"); fprintf(newton,"\t------------------------------------\n\n"); do { /* uji nilai x */ cout << "\n\nUji Nilai x yang dipilih"; cout << "\n\nBerapa Nilai x -> 0 ? ";
cin >> x;
y = 4 + 5*pow(x,2) - pow(x,3);
dif1 = 10*x - 3*pow(x,2);
dif2 = 10 - 6*x;
/* Syarat agar x awal terpenuhi */
syarat = abs((y*dif2)/(dif1*dif1));
}while(syarat >= 1.00);
x0 = x;
printf("\n\t-----------------------------------------------------------\n");
printf("\tIterasi ke-\tx\ty\tdy\t\ty/dy\n");
printf("\t-----------------------------------------------------------\n\n");
fprintf(newton, "\n\t-----------------------------------------------------------\n");
fprintf(newton, "\tIterasi ke-\tx\ty\tdy\t\ty/dy\n");
fprintf(newton, "\t-----------------------------------------------------------\n\n");
/* Perhitungan Newton-Rhapson */
i = 1;
do
{
/* rumus x(i+1)=x-(y/y') */
y = 4 + 5*pow(x,2) - pow(x,3);
dif1 = (10*x) - 3*pow(x,2);
dif = y/dif1;
x = x - dif;
printf("\t\t%.d\t%.3f\t%.3f\t%.3f\t\t%.4f\n", i, x, y, dif2, dif);
fprintf(newton,"\t\t%.d\t%.3f\t%.3f\t%.3f\t\t%.4f\n", i, x, y, dif2,
dif);
i++;
}while(fabs(y) > error_limit);
printf("\t-----------------------------------------------------------\n\n");
fprintf(newton,"\t-----------------------------------------------------------\n\n");
printf("\nDengan tebakan awal x = %.3f", x0);
printf("\n\nDiperoleh Akar Persamaan x = %.8f", x);
printf("\n\nDengan Error sebesar = %.8f", y);
fprintf(newton,"\nDengan tebakan awal x = %.3f", x0);
fprintf(newton,"\n\nDiperoleh Akar Persamaan x = %.8f", x);
fprintf(newton,"\n\nDengan Error sebesar = %.8f", y);
fclose(newton);
cout << "\n\nCoba dengan x awal yang berbeda (y/t) ? "; cin >> lagi;
}while(lagi != 't');
return 0;
}


/* Nama Program : newton-rhapson_2.cpp */
#include iostream.h
#include stdlib.h
#include conio.h
#include stdio.h
#include math.h
main()
{
FILE *newton;
int i, j;
double x0, x, dx, y,
dif1, dif2, dif,
syarat;
char ya, lagi;
do
{
newton = fopen("newton_4a.txt", "w+");
do
{
clrscr();
cout << "Metode Newton-Rhapson\n"; cout << "Jawaban Soal No. 4.a.\n"; cout << "=====================\n\n"; //Persamaan dan turunannya cout << "y = 3*x - cos(x)\n\n"; cout << "y' = 3 + sin(x)\n\n"; cout << "y'' = cos(x)\n\n"; //Mencari Nilai x -> 0
cout << "Berapa Nilai x awal = "; cin >> x;
y = 3*x - cos(x);
dif1 = 3 + sin(x);
dif2 = cos(x);
//Syarat agar x awal terpenuhi
syarat = abs((y*dif2)/(dif1*dif1));
cout << "\nNilai " << x << " menghasilkan " << syarat; cout << "\n\nApakah x memenuhi syarat ? "; cin >> ya;
}while(ya != 'y');
x0 = x;
cout << "\nBerapa Nilai Interval x = "; cin >> dx;
cout << "\nMaksimum Iterasi = "; cin >> j;
printf("\n\t------------------------------------\n");
printf("\tIterasi ke-\tx\ty\n");
printf("\t------------------------------------\n\n");
fprintf(newton, "\n\t------------------------------------\n");
fprintf(newton, "\tIterasi ke-\tx\ty\n");
fprintf(newton, "\t------------------------------------\n\n");
for(i = 1; i <= j; i++) { y = 3*x - cos(x); printf("\t\t%.d\t%.3f\t%.3f\n", i, x, y); fprintf(newton,"\t\t%.d\t%.3f\t%.3f\n", i, x, y); x += dx; } printf("\t------------------------------------\n\n"); fprintf(newton,"\t------------------------------------\n\n"); //Perhitungan Newton-Rhapson cout << "Perhatikan Nilai x yang menghasilkan fungsi y paling mendekati 0\n"; cout << "Pilih Nilai x tersebut untuk perhitungan berikutnya\n\n"; cout << "\nBerapa Nilai x (y -> 0) = ";
cin >> x;
cout << "\nMaksimum Iterasi = "; cin >> j;
printf("\n\t-----------------------------------------------------------\n");
printf("\tIterasi ke-\tx\ty\tdy\t\ty/dy\n");
printf("\t-----------------------------------------------------------\n\n");
fprintf(newton, "\n\t----------------------------------------------------------\n");
fprintf(newton, "\tIterasi ke-\tx\ty\tdy\t\ty/dy\n");
fprintf(newton, "\t-----------------------------------------------------------\n\n");
for(i = 1; i <= j; i++) { //rumus x(i+1)=x-(y/y') y = 3*x - cos(x); dif1 = 3 + sin(x); dif = y/dif1; x = x - dif; printf("\t\t%.d\t%.3f\t%.3f\t%.3f\t\t%.4f\n", i, x, y, dif1, dif); fprintf(newton,"\t\t%.d\t%.3f\t%.3f\t%.3f\t\t%.4f\n", i, x, y, dif1, dif); } printf("\t-----------------------------------------------------------\n\n"); fprintf(newton,"\t-----------------------------------------------------------\n\n"); printf("\nDengan tebakan awal x = %.3f", x0); printf("\n\nDiperoleh Akar Persamaan x = %.3f", x); printf("\n\nDengan Error sebesar = %.8f", y); fprintf(newton,"\nDengan tebakan awal x = %.3f", x0); fprintf(newton,"\n\nDiperoleh Akar Persamaan x = %.3f", x); fprintf(newton,"\n\nDengan Error sebesar = %.8f", y); fclose(newton); cout << "\n\nCoba dengan x awal yang berbeda (y/t) ? "; cin >> lagi;
}while(lagi != 't');
return 0;

C. Contoh Program C++ Metode Iterasi

/* Nama Program : Iterasi Bentuk x = g(x).cpp */
#include iostream.h
#include stdlib.h
#include conio.h
#include stdio.h
#include math.h
#define error_limit 0.00000001
main()
{
FILE *x_gx;
int i;
double fx, g1x, x, xi, x0;
char lagi;
do
{
clrscr();
x_gx = fopen("x_gx.txt", "w+");
do
{
clrscr();
cout << "Metode Iterasi x = g(x)\n"; cout << "=======================\n\n"; //Persamaan, konversinya dan turunannya cout << "f(x) = x^3 - 9*x^2 + 18x - 6 = 0\n\n"; cout << "g(x) = -(x^3/18) + x^2/2 + 1/3\n\n"; cout << "g'(x) = -(x^2/6) + x\n\n"; cout << "Bila berulang berarti Nilai g'(x) > 1\n\n";
cout << "Masukkan Nilai x Asumsi = "; cin >> x;
g1x = (-pow(x,2)/6)+ x;
printf("\nx = %.3f\tg'(x) = %.6f\n\n", x, abs(g1x));
cout << "\nTekan Enter ........."; getch(); } while(abs(g1x) >= 1);
x0 = x;
i = 0;
printf("\n\t--------------------------------------------\n");
printf("\tIterasi ke-\tx = g(x)\tf(x)\n");
printf("\t--------------------------------------------\n\n");
fprintf(x_gx, "\n\t--------------------------------------------\n");
fprintf(x_gx, "\tIterasi ke-\tx = g(x)\tf(x)\n");
fprintf(x_gx, "\t--------------------------------------------\n\n");
do
{
/* rumus xi = g(x) = -(x^3)/18 + x^2/2 +(1/3) */
xi = -pow(x,3)/18 + pow(x,2)/2 + 0.3333333333;
fx = pow(xi,3) - 9*pow(xi,2) + 18*xi - 6;
printf("\t\t%d\t%.8f\t%.8f\n", i+1, xi, fx);
fprintf(x_gx,"\t\t%d\t%.8f\t%.8f\n", i+1, xi, fx);
x = xi;
i++;
}while(fabs(fx) > error_limit);
printf("\n\t--------------------------------------------\n\n");
fprintf(x_gx, "\n\t--------------------------------------------\n\n");
printf("\nDengan tebakan awal x = %.3f", x0);
printf(" diperoleh\n");
printf("\nAproksimasi Akar Persamaan adalah x = %.10f\n", x);
printf("\nError Hasil Aproksimasi adalah f(x) = %.14f\n", fabs(fx));
fprintf(x_gx,"\nDengan tebakan awal x = %.3f", x0);
fprintf(x_gx," diperoleh\n");
fprintf(x_gx,"\nAproksimasi Akar Persamaan adalah x = %.10f\n", x);
fprintf(x_gx,"\nError Hasil Aproksimasi adalah f(x) = %.10f\n", fabs(fx));
fclose(x_gx);
cout << "\n\nCoba lagi dengan x awal yang berbeda (y/t) ? "; cin >> lagi;
}while(lagi != 't');
return 0;
}



/* Nama Program : Iterasi_2.cpp */
#include iostream.h
#include stdlib.h
#include conio.h
#include stdio.h
#include math.h
#define e 2.718281828
main()
{
FILE *x_gx;
int i, j;
double fx, g1x, x, xi, x0;
char lagi;
do
{
clrscr();
x_gx = fopen("x_gx_5d.txt", "w+");
do
{
clrscr();
cout << "Metode Iterasi x = g(x)\n"; cout << "Jawaban Soal No. 5.d. \n"; cout << "=======================\n\n"; //Persamaan, konversinya dan turunannya cout << "f(x) = e^x - 3*x = 0\n\n"; cout << "g(x) = e^x/3\n\n"; cout << "g'(x) = e^x/3\n\n"; cout << "Bila berulang berarti Nilai g'(x) > 1\n\n";
cout << "Masukkan Nilai x Asumsi = "; cin >> x;
g1x = pow(e,x)/3;
printf("\nx = %.3f\tg'(x) = %.6f\n\n", x, fabs(g1x));
cout << "\nTekan Enter ........."; getch(); } while(abs(g1x) >= 1);
x0 = x;
cout << "\n\nBerapa Kali Iterasi (min. 20) = "; cin >> j;
clrscr();
printf("\n\t--------------------------------------------\n");
printf("\tIterasi ke-\tx = g(x)\tf(x)\n");
printf("\t--------------------------------------------\n\n");
fprintf(x_gx, "\n\t--------------------------------------------\n");
fprintf(x_gx, "\tIterasi ke-\tx = g(x)\tf(x)\n");
fprintf(x_gx, "\t--------------------------------------------\n\n");

for(i = 0; i < j; i++) { //rumus xi = g(x) = e^x/3 xi = pow(e,x)/3; fx = pow(e,x) - 3*x; printf("\t\t%d\t%.6f\t%.8f\n", i+1, xi, fx); fprintf(x_gx,"\t\t%d\t%.6f\t%.8f\n", i+1, xi, fx); x = xi; } printf("\n\t--------------------------------------------\n\n"); fprintf(x_gx, "\n\t--------------------------------------------\n\n"); printf("\nDengan tebakan awal x = %.3f", x0); printf(" diperoleh\n"); printf("\nAproksimasi Akar Persamaan adalah x = %.6f\n", x); printf("\nError Hasil Aproksimasi adalah f(x) = %.8f\n", fabs(fx)); fprintf(x_gx,"\nDengan tebakan awal x = %.3f", x0); fprintf(x_gx," diperoleh\n"); fprintf(x_gx,"\nAproksimasi Akar Persamaan adalah x = %.6f\n", x); fprintf(x_gx,"\nError Hasil Aproksimasi adalah f(x) = %.8f\n", fabs(fx)); fclose(x_gx); cout << "\n\nCoba lagi dengan x awal yang berbeda ? "; cin >> lagi;
}while(lagi != 'n');
return 0;
}


Uda gue coba dan Alhamdulillah ya,,bisa di running
Yang penting bukan masalah bisa atau tidaknya program tersebut di running
Tp adalah mengerti tidaknya agan atas campuran dari bahasa C dan C++
Dan terlebih lagi,,mengerti algoritma program tersebut

Wookeeey gan
Bantu Sundul gan