Minggu, 07 Oktober 2012

Contoh Program Fungsi dalam C++


Mungik teman-teman semua sudah tidak asing lagi dengan  segala jenis bahasa pemograman dan termasuk juga untuk bahasa pemograman C++, di sini saya akan berbagi sedikit contoh dari program Fungsi yang berkaitan dengan Passing Actual parameter by Value, program ini saya dapat ketika saya praktikum pemograman komputer !

langsung aja disimak yuk !

#include <iostream>
using namespace std;
float A,B,y_rata2,y[7],x_kali_y[7],total_y=0,total_x_kali_y =0;
int i,m,x_rata2,x[7],x_kuadrat[7],total_x=0,total_x_kuadrat=0;
int sigma_x(int m);
float sigma_y(int m);
void Penjelasan_Program();
int main()
{
    m = 7;
    Penjelasan_Program();
    return 0;
    system("PAUSE");
}
void Penjelasan_Program()
{
cout<<"==========================================================================="<<endl;
     cout<<"Program Menghitung Solisi Regresi dari suatu Permasalahan Linier Y = AX + B"<<endl;
     cout<<"Dengan menggunaka Metode Numerik "<<endl; cout<<"==========================================================================="<<endl;
     cout<<endl<<endl;
     cout<<"Masukkan Nilai-nilai x :"<<endl;
     sigma_x(m);
     cout<<endl;
     cout<<"Masukkan Nilai-nilai y :"<<endl;
     sigma_y(m);
     cout<<endl;
     cout<<"Tabulansi Data : "<<endl;
     cout<<"|---------------------------------------|"<<endl;
     cout<<"|    x     |    y   |    x2   |   x,y   |"<<endl;
     cout<<"|---------------------------------------|"<<endl;
     for(int i =0; i<m;i++)
     {
             cout.setf(ios::left|ios::showpoint);
             cout<<"|";
             cout.width(9);
             cout<<x[i];
             cout.width(9);
             cout<<y[i];
             cout<<"|";
             cout.width(9);
             cout<<x_kuadrat[i];
             cout<<"|";
             cout.width(9);
             cout<<x_kali_y[i];
             cout<<"|";
             cout<<endl;
     }
      cout<<"|--------------------------------------|"<<endl;
      cout<<"|";
      cout.width(7);
      cout<<"sigma";
      cout<<total_x;
      cout<<"|";   
      cout.width(9);
      cout<<total_y;
      cout<<"|";   
      cout.width(9);
      cout<<total_x_kuadrat;
      cout<<"|";   
      cout.width(9);
      cout<<total_x_kali_y;
      cout<<"|";   
      cout<<endl;
      cout<<"|--------------------------------------|"<<endl;
      x_rata2 = total_x/m;
      y_rata2=total_y/m;
      A = ((m*total_x_kali_y) - (total_x*total_y))/((m*total_x_kuadrat)-(total_x*total_x));
      B = y_rata2-A*x_rata2;
      cout<<"Maka solusi persamaan liniernya adalah : "<<endl;
      cout<<" A :"<<A<<endl;
      cout<<" B :"<<B<<endl;
}
      int sigma_x(int m)
      {
          for (int i = 0; i<m; i++)
          {
              cin>>x[i];
              total_x = total_x + x[i];
              x_kuadrat[i] = x[i]*x[i];
              total_x_kuadrat = total_x_kuadrat + x_kuadrat[i];
          }
              return total_x;
              return total_x_kuadrat;
      }
             
      float sigma_y(int m)
      {
            for (int i =0; i<m; i++)
            {
              cin>>y[i];
              total_y = total_y + y[i];
              x_kali_y[i]=x[i]*y[i];
              total_x_kali_y = total_x_kali_y + x_kali_y[i];
            }
      return total_y;
      return total_x_kali_y;
      }

      B. Passing Actual Parameter by reference

#include<iostream>
#include<cmath>
using namespace std;
void X_baru(float&x)
{
     x = x-((x*x*x + x*x - 3*x-3)/(3*x*x+2*x-3));
}
int main ()
{
     float galat,e,a,as;
     cout<<"|----------------------------------------|"<<endl;
     cout<<"   Program Mencari Akar Persamaan dengan "<<endl;
     cout<<" Metodr Newton - Rhapson Y = X^3+X^2-3X-3"<<endl;
     cout<<"|----------------------------------------|"<<endl;
     cout<<endl<<endl;
     cout<<"Masukkan nilai awal (Xo) = 2"<<endl;
     cin>>a;
     cout<<endl;
     cout<<"Masukkan bataas toleransi e = 0,00000001"<<endl;
     cin>>e;
     cout<<endl;
     cout<<"|------------|"<<endl;
     cout<<"|  i  |  Xi  |"<<endl;
      cout<<"|------------|"<<endl;
    
     do
     {
           static i = 1;
           as = a;
           X_baru(a);
           galat = fabs(a-as);
           cout.setf(ios::left|ios::showpoint);
           cout<<"|";
           cout.width(3);
           cout<<i;
           cout<<"|";
           cout.width(9);
           cout<<a;
           cout<<"|";
           i=i+1;
           cout<<endl;
     }
     while (galat>e);
     cout<<"|------------|"<<endl<<endl;
     cout<<"Maka solusi akar persamaan adalah :"<<a<<endl;
     return 0;
}

Nah program ini akan menghasilkan tampilan seperti ini


Dan ketika kita jalankan program dan masukkan nilai x dan y masing-masing sebagai berikut :








x
1
2
3
4
5
6
7
y
0.5
2.5
2
4
3.5
6
5.5


Maka akan didapatkan nilai A dan B. Secara manual dengan rumus :


A = (m*∑(x.y) - ∑x. ∑y) / (m*∑(x^2) - ∑x. ∑x)
B = (∑ y)/m – A*(∑x/) / m

Nah itu tadi sedikit program yang telah saya coba, semoga bermanfaat bagi teman-teman skalian !
jika ingin download listing program ini silahkan klik link ini

pass :"dragoencobalagi.blogspot.com"

1 komentar:

  1. Gan...aplikasi C++ nya versi berapa ya, koq di Turbo C++ 4. pny saya ga bisa di run ya..script nya banyak yang errors.

    Terima kasih sebelumnya, saya mnt ijin copas buat tugas dan referensi.

    BalasHapus