DASAR-DASAR PEMROGRAMAN BAHASA C++

January 20, 2009

Pada bab ini kita akan melihat beberapa contoh-contoh dasar atau pun contoh yang paling simpel dalam membuat program dengan menggunakan bahasa C++ seperti membuat tampilan dalam satu atau beberapa baris, membuat program matematika (penambahan, perkalian, pangkat, dll) dan program-program simpel lainnya.

1. Program mencetak kata dalam beberapa baris
#include
int main()
{
std::cout << “Fisika\nKomputasi\n\nDengan C++!\n”;
return 0;
}

9_14

2. Program mencetak kata dalam beberapa baris

#include
int main()
{
std::cout << “Welcome “;
std::cout << “to C++!\n”;
return 0;
}

2

3. program tambah

#include
int main()
{
int integer1;
int integer2;
int sum;
std::cout <> integer1;
std::cout <> integer2;
sum = integer1 + integer2;
std::cout << “Sum is ” << sum << std::endl;
return 0;
}

3

4. Program menggunakan if dan operator
#include
using std::cout;
using std::cin;
using std::endl;
int main()
{
int num1;
int num2;
cout << “Enter two integers, and I will tell you\n”
<> num1 >> num2;
if ( num1 == num2 )
cout << num1 << ” is equal to ” << num2 << endl;
if ( num1 != num2 )
cout << num1 << ” is not equal to ” << num2 << endl;
if ( num1 < num2 )
cout << num1 << ” is less than ” << num2 < num2 )
cout << num1 << ” is greater than ” << num2 << endl;
if ( num1 <= num2 )
cout << num1 << ” is less than or equal to ”
<< num2 <= num2 )
cout << num1 << ” is greater than or equal to ”
<< num2 << endl;

return 0;
}

4

5. Program menjumlahkan nilai dari 1 sampai dengan 10
#include
using std::cout;
using std::endl;
int main()
{
int sum;
int x;

x = 1;
sum = 0;

while ( x <= 10 ) {
sum += x;
++x;
}
cout << “The sum is: ” << sum << endl;

return 0;
}

5

6. Program x pangkat y

#include
using std::cout;
using std::cin;
using std::endl;
int main()
{
int x;
int y;
int i;
int power;
i = 1;
power = 1;
cout <> x;
cout <> y;
while ( i <= y ) {
power *= x;
++i;
}
cout << power << endl;
return 0;
}

6

7. Program Total Nilai
#include
using std::cout;
using std::endl;
int main()
{
int y;
int x = 1;
int total = 0;
while ( x <= 10 ) {
y = x * x;
cout << y << endl;
total += y;
++x;
}
cout << “Total is ” << total << endl;
return 0;
}

7

8. Program (Uji Coba)
#include
using std::cout;
using std::endl;
int main()
{
int count = 1;
while ( count <= 10 ) {
cout << ( count % 2 ? “Uji Coba” : “Hasil Uji Coba” )
<< endl;
++count;
}
return 0;
}

8

PROGRAM PERSAMAAN A, B, C

Berikut ini kita akan melihat contoh pemrograman dengan menggunakan bahasa C++ berupa program matematika untuk persamaan a, b, c. Atau dalam matematika kita mengetahui persamaan tersebut yaitu:

21

Pada persamaan diatas kita dapat menghitung nilai x secara manual, dengan catatan nilai a, b, dan c diketahui. Namun ketika a, b, dan c berubah akan membuat kita malas dalam menghitungnya, sehingga untuk memudahkan kita untuk menghitung nilai x walaupun nilai a, b, dan c berubah kita butuh pemrograman untuk menghitung nilai x tersebut. Mari kita lihat contoh program untuk menghitung nilai x tersebut dengan menggunakan bahasa C++.

1

PROGRAM HUKUM COULOMB

Berikut ini kita akan mempelajari bagaimana contoh program untuk menghitung gaya coulomb yang memilikimi dua buah muatan q1 dan q2 dengan konstanta k dan nilai jari-jari (r) tertentu. Secara matematika gaya coulomb dapat dihitung dengan persamaan berikut:

31

Sekarang mari kita contoh programnya dengan menggunakan bahasa C++:

#include <iostream>

#include <cmath>

using namespace std;

int main ()

{

int F;

int k= 9.1*(10^9);

int q1= 1*(10^3);

int q2= 2*(10^3);

int r;

cout <<“Nilai jari-jari r = “;

cin >>r;

F =(k*q1*q2)/(r*r);

cout <<“Maka Nilai (gaya) F = “;

cout <<F<<“\n”;

return 0;

}

11

PROGRAM SUHU DALAM C, F, K, dan R

Di dalam ilmu fisika kita sering mempelajari tentang suhu. Suhu bisa dihitung dalam bentuk c0, K, F dan R. Untuk mengubah nilai c0 ke K, dari c0 ke F, dan dari c0 ke R atau pun sebaliknya dari semua semua itu punya rumus masing-masing. perhatikan contoh program untuk mengubah nilai suhu c0 ke dalam K, F, dan R dengan menggunakan bahasa C++ berikut:

#include <iostream>

using namespace std;

int main(){

float c[1];

float r[1];

float k[1];

float f[1];

c[0]=100;

c[1]=130;

r[0]=c[0]*0,8;

r[1]=c[1]*0,8;

f[0]=c[0]*1,8+32;

f[1]=c[1]*1,8+32;

k[0]=c[0]+273;

k[1]=c[1]+273;

cout <<r[0];

cout <<r[1];

cout <<f[0];

cout <<f[1];

cout <<k[0];

cout <<k[1];

return 0;

}

13

PROGRAM PENJUMLAHAN MATRIK

Ilmu matriks sangat umum dipelajari terutama dikalangan ilmu fisika dan ilmu teknik. Berikut adalah contoh penjumlahan dua buah matrik secara manual:

untitled

Selanjutnya mari kita lihat contoh program penjumlahan dua buah matriks dengan menggunakan bahasa C++:

#include <iostream>

using namespace std;

int main(){

int x[1][1],y[1][1],z[1][1] ;

x[0][0]=1;

x[1][0]=2;

x[0][1]=3;

x[1][1]=4;

y[0][0]=3;

y[1][0]=7;

y[0][1]=4;

y[1][1]=8;

for (int i=0; i<2; i++){

for (int j=0; j<2; j++){

z[1][1]=x[i][j]+y[i][j];

cout <<z[i][j];

}

}

return 0;

}

14

PROGRAM PERKALIAN MATRIK

Pada bab ini kita akan melihat contoh perkalian matriks. Matriks dapat dikalikan satu terhadap yang lain. Dengan catatan banyak kolom dalam matrik yang pertama harus sama dengan banyaknya baris matriks pada yang kedua.

untitled1

Selanjutnya kita lihat contoh program perkalian matriks dengan menggunakan bahasa C++:

#include <iostream>

using namespace std;

int main(){

int A[1][2],B[2][1],C[1][1];

A[0][0]=2;

A[1][0]=-1;

A[0][1]=1;

A[1][1]=3;

A[2][0]=4;

A[1][2]=2;

B[0][0]=1;

B[1][0]=-1;

B[0][1]=2;

B[1][1]=3;

B[2][0]=4;

B[2][1]=-1;

for (int i=0; i<2; i++){

for (int j=0; j<3; j++){

cout <<A[i][j];}

for (int i=0;i<2; i++){

for (int j=0;j<3; j++){

C[i][j]=0;

for (int k=0; k<3; k++){

C[i][j]=C[i][j]+A[i][k]*B[k][j];

}}}

return 0;

}

}

15

PROGRAM RUMUS A, B, C UNTUK MEMPEROLEH GRAFIK X DAN Y DENGAN MENGGUNAKAN MICROSOFT EXCEL

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

float a;

float b;

float c;

float x1;

float x2;

float akar;

cout <<“Jika a= “;

cin >>a;

cout <<“Jika b= “;

cin >>b;

cout <<“Jika c= “;

cin >>c;

if(a==0 && b==0){

cout <<“Tidak ada akar”<<endl;

}else{

if(a==0){

x1=-c/b;

cout <<“x1 =”<<x1<<endl;

}else{

akar=pow(b,2)-(4*a*c);

if(akar<0){

cout<<“Imajiner” <<endl;

}else{

x1=(-b+sqrt(akar))/(2*a);

x2=(-b-sqrt(akar))/(2*a);

cout <<” x1 = “<<x1<<endl;

cout <<” x2 = “<<x2<<endl;

}}}

return 0;

}

Hasil:

Untuk a=3, b= 8 dan c=5, hasil program dan grafiknya adalah:

16

22

Untuk a=-6, b= 7 dan c=8, hasil program dan grafiknya adalah:

32

42

Untuk a=0, b= 9 dan c=-10, hasil program dan grafiknya adalah:

51

62

Untuk a=0, b= 9 dan c=-10, hasil program dan grafiknya adalah:

71

82

CARA MENAMPILKAN MATRIKS

Matriks merupakan sekumpulan bilangan real yang disusun menurut baris dan kolom sehingga membentuk jajaran (array) persegi panjang. Matrik mempunyai m baris dan n kolom.

untitled2

Berikut ini adalah cara menampilkan matriks dengan menggunakan bahasa C++:

#include <iostream>

using namespace std;

int main(){

int A[1][2];

A[0][0]=2;

A[1][0]=-1;

A[0][1]=1;

A[1][1]=3;

A[2][0]=-1;

A[1][2]=2;

for (int i=0; i<2; i++){

for (int j=0; j<3; j++){

cout <<A[i][j];}

for (int i=0;i<2; i++){

for (int j=0;j<3; j++){

}}}

return 0;

}

23

Metode Eliminasi Gauss

Gauss menyelesaikan persamaan linear simultan melalui proses menghilangkan atau mengganti secara beruntun beberapa besaran yang dicari sampai sistem menjadi satu persamaan dengan satu besaran.

Persamaan yang menyatakan satu variabel yang tidak diketahui disebut persamaan PIVOTAL atau persamaan POROS. Jika telah diketahui nilai satu variabel, maka variabel lainnya diperoleh melalui proses substitusi ke belakang dengan menggunakan persamaan pivotal.

Dalam penyelesaian numerik cara Gauss selalu ditentukan terlebih dahulu persamaan pivotal atau persamaan poros bagi variabel, yaitu persamaan yang mempunyai koefisien terbesar dari besaran yang akan dieliminasi.

Apabila besaran yang akan dieliminasi secara berturut-turut adalah x1,x2, maka persamaan pivotal pertama diperoleh dari koefisien x1 mutlak yang terbesar. Persamaan ini dipindahkan posisinya pada susunan baris pertama, sehingga koefisien yang terbesar berada pada lokasi diagonal a11. Persamaan pivotal kedua x2 dari hasil susunan persamaan pivotal pertama dipilih dari koefisien besaran x2 yang terbesar. Demikian seterusnya sehingga tersusun persamaan linear simultan dengan koefisien diagonal dapat ditulis sebagai berikut:

a11 x1 + a12 x2 + a13 x3 = b1

a21 x1 + a22 x2 + a23 x3 = b2 , hal mana ⏐aii⏐≥⏐ai1 + .. + ai,i-1 + ai,i+1 + ..+ain⏐ (5.3)

a31 x1 + a32 x2 + a33 x3 = b3

// Program 5.1.1.3.1

// Eliminasi Gauss

#include <stdio.h>

#include <math.h>

/* Daftar Variabel

A[],b[] : Matriks pembentuk persamaan simultan linear

G[] : Matriks Gabungan

x : Matriks hasil perhitungan */

float A[5][5]={{4,1,2},

{1,3,1},

{1,2,5}};

float G[5][6];

float b[5]={16,10,12};

float factor,dummy,x[5];

int i,j,k,n=3;

int main()

{

// bentuk matriks gabungan

for(i=0;i<n;i++) for(j=0;j<n;j++) G[i][j]=A[i][j];

for(j=0;j<n;j++) G[j][n]=b[j];

printf(“Matriks penggabungan\n”);

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

{

for(j=0;j<=n;j++) printf(” %10.3f”,G[i][j]);

printf(“\n”);

}

// proses eliminasi

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

{

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

{

factor = G[j][i]/G[i][i];

for(k=i;k<=n;k++) G[j][k]=G[j][k]-factor*G[i][k];

}

}

printf(“Matriks setelah eliminasi\n”);

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

{

for(j=0;j<=n;j++) printf(” %10.3f”,G[i][j]);

printf(“\n”);

}

// substitusi mundur

x[n-1]=G[n-1][n]/G[n-1][n-1];

for(i=n-2;i>=0;i–)

{

dummy = G[i][n];

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

dummy = dummy – G[i][j]*x[j];

x[i]=dummy/G[i][i];

}

printf(“Hasil akhir\n”);

for(i=0;i<n;i++) printf(“x[%2d] = %g\n”,i,x[i]);

}

19

PROGRAM METODE BISECTION

Metode bisection membagi range menjadi dua bagian. Dari dua bagian tersebut dipilih bagian yang mengandung akar, sedangkan yang tidaka mengandung akar dibuang. Hal ini dilakukan berulang-ulang sehingga akar persamaan.

Untuk menggunakan metode ini terlebih dahulu ditentukan batas awal (a) dan batas akhir (b) kemudian dihitung nilai tengah.

Contoh program bisection dengan bahasa C++ dari persamaan ye-y+1=0, dengan menggunakan range y=[2,-1].

#include <iostream>

#include <cmath>

using namespace std;

int main(){

int ymax,i;

int bisection;

float y,fa,fb,fy;

float a,b;

float e;

float newy,ymak;

a=2;

b=-1;

e=0.0001;

ymak=15;

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

{

fa=a*exp(-a)+1;

fb=b*exp(-b)+1;

if(fa*fb>0)

{

cout<<bisection;

}

else

{

newy=(a+b)/2;

fy=newy*exp(-newy)+1;

if(fy*fa<0)

{

b=newy;

}else{

a=newy;}}

cout <<fy<< fa<<endl;}

return 0;

}

110

DASAR-DASAR PEMROGRAMAN BAHASA C++

January 20, 2009

Pada bab ini kita akan melihat beberapa contoh-contoh dasar atau pun contoh yang paling simpel dalam membuat program dengan menggunakan bahasa C++ seperti membuat tampilan dalam satu atau beberapa baris, membuat program matematika (penambahan, perkalian, pangkat, dll) dan program-program simpel lainnya.

1. Program mencetak kata dalam beberapa baris
#include
int main()
{
std::cout << “Fisika\nKomputasi\n\nDengan C++!\n”;
return 0;
}

9_14

2. Program mencetak kata dalam beberapa baris

#include
int main()
{
std::cout << “Welcome “;
std::cout << “to C++!\n”;
return 0;
}

2

3. program tambah

#include
int main()
{
int integer1;
int integer2;
int sum;
std::cout <> integer1;
std::cout <> integer2;
sum = integer1 + integer2;
std::cout << “Sum is ” << sum << std::endl;
return 0;
}

3

4. Program menggunakan if dan operator
#include
using std::cout;
using std::cin;
using std::endl;
int main()
{
int num1;
int num2;
cout << “Enter two integers, and I will tell you\n”
<> num1 >> num2;
if ( num1 == num2 )
cout << num1 << ” is equal to ” << num2 << endl;
if ( num1 != num2 )
cout << num1 << ” is not equal to ” << num2 << endl;
if ( num1 < num2 )
cout << num1 << ” is less than ” << num2 < num2 )
cout << num1 << ” is greater than ” << num2 << endl;
if ( num1 <= num2 )
cout << num1 << ” is less than or equal to ”
<< num2 <= num2 )
cout << num1 << ” is greater than or equal to ”
<< num2 << endl;

return 0;
}

4

5. Program menjumlahkan nilai dari 1 sampai dengan 10
#include
using std::cout;
using std::endl;
int main()
{
int sum;
int x;

x = 1;
sum = 0;

while ( x <= 10 ) {
sum += x;
++x;
}
cout << “The sum is: ” << sum << endl;

return 0;
}

5

6. Program x pangkat y

#include
using std::cout;
using std::cin;
using std::endl;
int main()
{
int x;
int y;
int i;
int power;
i = 1;
power = 1;
cout <> x;
cout <> y;
while ( i <= y ) {
power *= x;
++i;
}
cout << power << endl;
return 0;
}

6

7. Program Total Nilai
#include
using std::cout;
using std::endl;
int main()
{
int y;
int x = 1;
int total = 0;
while ( x <= 10 ) {
y = x * x;
cout << y << endl;
total += y;
++x;
}
cout << “Total is ” << total << endl;
return 0;
}

7

8. Program (Uji Coba)
#include
using std::cout;
using std::endl;
int main()
{
int count = 1;
while ( count <= 10 ) {
cout << ( count % 2 ? “Uji Coba” : “Hasil Uji Coba” )
<< endl;
++count;
}
return 0;
}

8

PROGRAM PERSAMAAN A, B, C

Berikut ini kita akan melihat contoh pemrograman dengan menggunakan bahasa C++ berupa program matematika untuk persamaan a, b, c. Atau dalam matematika kita mengetahui persamaan tersebut yaitu:

21

Pada persamaan diatas kita dapat menghitung nilai x secara manual, dengan catatan nilai a, b, dan c diketahui. Namun ketika a, b, dan c berubah akan membuat kita malas dalam menghitungnya, sehingga untuk memudahkan kita untuk menghitung nilai x walaupun nilai a, b, dan c berubah kita butuh pemrograman untuk menghitung nilai x tersebut. Mari kita lihat contoh program untuk menghitung nilai x tersebut dengan menggunakan bahasa C++.

1

PROGRAM HUKUM COULOMB

Berikut ini kita akan mempelajari bagaimana contoh program untuk menghitung gaya coulomb yang memilikimi dua buah muatan q1 dan q2 dengan konstanta k dan nilai jari-jari (r) tertentu. Secara matematika gaya coulomb dapat dihitung dengan persamaan berikut:

31

Sekarang mari kita contoh programnya dengan menggunakan bahasa C++:

#include <iostream>

#include <cmath>

using namespace std;

int main ()

{

int F;

int k= 9.1*(10^9);

int q1= 1*(10^3);

int q2= 2*(10^3);

int r;

cout <<“Nilai jari-jari r = “;

cin >>r;

F =(k*q1*q2)/(r*r);

cout <<“Maka Nilai (gaya) F = “;

cout <<F<<“\n”;

return 0;

}

11

PROGRAM SUHU DALAM C, F, K, dan R

Di dalam ilmu fisika kita sering mempelajari tentang suhu. Suhu bisa dihitung dalam bentuk c0, K, F dan R. Untuk mengubah nilai c0 ke K, dari c0 ke F, dan dari c0 ke R atau pun sebaliknya dari semua semua itu punya rumus masing-masing. perhatikan contoh program untuk mengubah nilai suhu c0 ke dalam K, F, dan R dengan menggunakan bahasa C++ berikut:

#include <iostream>

using namespace std;

int main(){

float c[1];

float r[1];

float k[1];

float f[1];

c[0]=100;

c[1]=130;

r[0]=c[0]*0,8;

r[1]=c[1]*0,8;

f[0]=c[0]*1,8+32;

f[1]=c[1]*1,8+32;

k[0]=c[0]+273;

k[1]=c[1]+273;

cout <<r[0];

cout <<r[1];

cout <<f[0];

cout <<f[1];

cout <<k[0];

cout <<k[1];

return 0;

}

13

PROGRAM PENJUMLAHAN MATRIK

Ilmu matriks sangat umum dipelajari terutama dikalangan ilmu fisika dan ilmu teknik. Berikut adalah contoh penjumlahan dua buah matrik secara manual:

untitled

Selanjutnya mari kita lihat contoh program penjumlahan dua buah matriks dengan menggunakan bahasa C++:

#include <iostream>

using namespace std;

int main(){

int x[1][1],y[1][1],z[1][1] ;

x[0][0]=1;

x[1][0]=2;

x[0][1]=3;

x[1][1]=4;

y[0][0]=3;

y[1][0]=7;

y[0][1]=4;

y[1][1]=8;

for (int i=0; i<2; i++){

for (int j=0; j<2; j++){

z[1][1]=x[i][j]+y[i][j];

cout <<z[i][j];

}

}

return 0;

}

14

PROGRAM PERKALIAN MATRIK

Pada bab ini kita akan melihat contoh perkalian matriks. Matriks dapat dikalikan satu terhadap yang lain. Dengan catatan banyak kolom dalam matrik yang pertama harus sama dengan banyaknya baris matriks pada yang kedua.

untitled1

Selanjutnya kita lihat contoh program perkalian matriks dengan menggunakan bahasa C++:

#include <iostream>

using namespace std;

int main(){

int A[1][2],B[2][1],C[1][1];

A[0][0]=2;

A[1][0]=-1;

A[0][1]=1;

A[1][1]=3;

A[2][0]=4;

A[1][2]=2;

B[0][0]=1;

B[1][0]=-1;

B[0][1]=2;

B[1][1]=3;

B[2][0]=4;

B[2][1]=-1;

for (int i=0; i<2; i++){

for (int j=0; j<3; j++){

cout <<A[i][j];}

for (int i=0;i<2; i++){

for (int j=0;j<3; j++){

C[i][j]=0;

for (int k=0; k<3; k++){

C[i][j]=C[i][j]+A[i][k]*B[k][j];

}}}

return 0;

}

}

15

PROGRAM RUMUS A, B, C UNTUK MEMPEROLEH GRAFIK X DAN Y DENGAN MENGGUNAKAN MICROSOFT EXCEL

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

float a;

float b;

float c;

float x1;

float x2;

float akar;

cout <<“Jika a= “;

cin >>a;

cout <<“Jika b= “;

cin >>b;

cout <<“Jika c= “;

cin >>c;

if(a==0 && b==0){

cout <<“Tidak ada akar”<<endl;

}else{

if(a==0){

x1=-c/b;

cout <<“x1 =”<<x1<<endl;

}else{

akar=pow(b,2)-(4*a*c);

if(akar<0){

cout<<“Imajiner” <<endl;

}else{

x1=(-b+sqrt(akar))/(2*a);

x2=(-b-sqrt(akar))/(2*a);

cout <<” x1 = “<<x1<<endl;

cout <<” x2 = “<<x2<<endl;

}}}

return 0;

}

Hasil:

Untuk a=3, b= 8 dan c=5, hasil program dan grafiknya adalah:

16

22

Untuk a=-6, b= 7 dan c=8, hasil program dan grafiknya adalah:

32

42

Untuk a=0, b= 9 dan c=-10, hasil program dan grafiknya adalah:

51

62

Untuk a=0, b= 9 dan c=-10, hasil program dan grafiknya adalah:

71

82

CARA MENAMPILKAN MATRIKS

Matriks merupakan sekumpulan bilangan real yang disusun menurut baris dan kolom sehingga membentuk jajaran (array) persegi panjang. Matrik mempunyai m baris dan n kolom.

untitled2

Berikut ini adalah cara menampilkan matriks dengan menggunakan bahasa C++:

#include <iostream>

using namespace std;

int main(){

int A[1][2];

A[0][0]=2;

A[1][0]=-1;

A[0][1]=1;

A[1][1]=3;

A[2][0]=-1;

A[1][2]=2;

for (int i=0; i<2; i++){

for (int j=0; j<3; j++){

cout <<A[i][j];}

for (int i=0;i<2; i++){

for (int j=0;j<3; j++){

}}}

return 0;

}

23

Metode Eliminasi Gauss

Gauss menyelesaikan persamaan linear simultan melalui proses menghilangkan atau mengganti secara beruntun beberapa besaran yang dicari sampai sistem menjadi satu persamaan dengan satu besaran.

Persamaan yang menyatakan satu variabel yang tidak diketahui disebut persamaan PIVOTAL atau persamaan POROS. Jika telah diketahui nilai satu variabel, maka variabel lainnya diperoleh melalui proses substitusi ke belakang dengan menggunakan persamaan pivotal.

Dalam penyelesaian numerik cara Gauss selalu ditentukan terlebih dahulu persamaan pivotal atau persamaan poros bagi variabel, yaitu persamaan yang mempunyai koefisien terbesar dari besaran yang akan dieliminasi.

Apabila besaran yang akan dieliminasi secara berturut-turut adalah x1,x2, maka persamaan pivotal pertama diperoleh dari koefisien x1 mutlak yang terbesar. Persamaan ini dipindahkan posisinya pada susunan baris pertama, sehingga koefisien yang terbesar berada pada lokasi diagonal a11. Persamaan pivotal kedua x2 dari hasil susunan persamaan pivotal pertama dipilih dari koefisien besaran x2 yang terbesar. Demikian seterusnya sehingga tersusun persamaan linear simultan dengan koefisien diagonal dapat ditulis sebagai berikut:

a11 x1 + a12 x2 + a13 x3 = b1

a21 x1 + a22 x2 + a23 x3 = b2 , hal mana ⏐aii⏐≥⏐ai1 + .. + ai,i-1 + ai,i+1 + ..+ain⏐ (5.3)

a31 x1 + a32 x2 + a33 x3 = b3

// Program 5.1.1.3.1

// Eliminasi Gauss

#include <stdio.h>

#include <math.h>

/* Daftar Variabel

A[],b[] : Matriks pembentuk persamaan simultan linear

G[] : Matriks Gabungan

x : Matriks hasil perhitungan */

float A[5][5]={{4,1,2},

{1,3,1},

{1,2,5}};

float G[5][6];

float b[5]={16,10,12};

float factor,dummy,x[5];

int i,j,k,n=3;

int main()

{

// bentuk matriks gabungan

for(i=0;i<n;i++) for(j=0;j<n;j++) G[i][j]=A[i][j];

for(j=0;j<n;j++) G[j][n]=b[j];

printf(“Matriks penggabungan\n”);

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

{

for(j=0;j<=n;j++) printf(” %10.3f”,G[i][j]);

printf(“\n”);

}

// proses eliminasi

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

{

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

{

factor = G[j][i]/G[i][i];

for(k=i;k<=n;k++) G[j][k]=G[j][k]-factor*G[i][k];

}

}

printf(“Matriks setelah eliminasi\n”);

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

{

for(j=0;j<=n;j++) printf(” %10.3f”,G[i][j]);

printf(“\n”);

}

// substitusi mundur

x[n-1]=G[n-1][n]/G[n-1][n-1];

for(i=n-2;i>=0;i–)

{

dummy = G[i][n];

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

dummy = dummy – G[i][j]*x[j];

x[i]=dummy/G[i][i];

}

printf(“Hasil akhir\n”);

for(i=0;i<n;i++) printf(“x[%2d] = %g\n”,i,x[i]);

}

19

PROGRAM METODE BISECTION

Metode bisection membagi range menjadi dua bagian. Dari dua bagian tersebut dipilih bagian yang mengandung akar, sedangkan yang tidaka mengandung akar dibuang. Hal ini dilakukan berulang-ulang sehingga akar persamaan.

Untuk menggunakan metode ini terlebih dahulu ditentukan batas awal (a) dan batas akhir (b) kemudian dihitung nilai tengah.

Contoh program bisection dengan bahasa C++ dari persamaan ye-y+1=0, dengan menggunakan range y=[2,-1].

#include <iostream>

#include <cmath>

using namespace std;

int main(){

int ymax,i;

int bisection;

float y,fa,fb,fy;

float a,b;

float e;

float newy,ymak;

a=2;

b=-1;

e=0.0001;

ymak=15;

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

{

fa=a*exp(-a)+1;

fb=b*exp(-b)+1;

if(fa*fb>0)

{

cout<<bisection;

}

else

{

newy=(a+b)/2;

fy=newy*exp(-newy)+1;

if(fy*fa<0)

{

b=newy;

}else{

a=newy;}}

cout <<fy<< fa<<endl;}

return 0;

}

110

January 13, 2009

1. Program mencetak kata dalam beberapa baris
#include
int main()
{
std::cout << “Fisika\nKomputasi\n\nDengan C++!\n”;
return 0;
}

DASAR-DASAR PEMROGRAMAN BAHASA C++

January 13, 2009

Pada bab ini kita akan melihat beberapa contoh-contoh dasar atau pun contoh yang paling simpel dalam membuat program dengan menggunakan bahasa C++ seperti membuat tampilan dalam satu atau beberapa baris, membuat program matematika (penambahan, perkalian, pangkat, dll) dan program-program simpel lainnya.

DASAR-DASAR PEMROGRAMAN BAHASA C++

January 13, 2009

Pada bab ini kita akan melihat beberapa contoh-contoh dasar atau pun contoh yang paling simpel dalam membuat program dengan menggunakan bahasa C++ seperti membuat tampilan dalam satu atau beberapa baris, membuat program matematika (penambahan, perkalian, pangkat, dll) dan program-program simpel lainnya.

Hello world!

December 30, 2008

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!