loading...
loading...

Thursday, June 9, 2016

Membuat Game Matematis Sederhana C++

HOW TO MAKE SIMPLE GAME C++

Hallo teman teman
kali ini saya akan berbagi tentang bagaimana cara membuat game matematis sederhana
tanpa basa basi
berikut adalah coding untuk C++ nya

#include <iostream.h>
#include <ctime>


void tulispitlab(){
cout<<"\n\n";
        cout<<"                  *****************************************"<<endl;
        cout<<"                  *          .^,     ,*,    ,/;           *"<<endl;
        cout<<"                  *           '.;;.,(0v0),.;/;;           *"<<endl;
        cout<<"                  *             ';, (   ) ,;'             *"<<endl;
        cout<<"                  *                ,':=:',                *"<<endl;
        cout<<"                  *                ;/'.'^;                *"<<endl;
        cout<<"                  *               Laboratory              *"<<endl;
        cout<<"                  *****************************************"<<endl;
        cout<<"\n\n";
}

//function & procedure
void loading ()
{
    for (int o= 0;o<100;o+=1)
    {
        cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "<<endl;
        cout<<"+  ____________________________________________________  +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |             Loading    "<<o<<"                          | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |                                                    | +                 + "<<endl;
        cout<<"+ |____________________________________________________| +                 + "<<endl;
        cout<<"+                                                        +                 + "<<endl;
        cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "<<endl;
        system("cls");
    }
}

int cetakmenu(int lv){
    int pilihan;
    system("cls");
    cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "<<endl;
    cout<<"+                                                                          + "<<endl;
    cout<<"+                       .;**;.    .;**;.    .;**;.                         + "<<endl;
    cout<<"+                       ( -_- )   ( +_+ )   ( ',' )                        + "<<endl;
    cout<<"+                       >') ('<   >') ('<   >') ('<                        + "<<endl;
    cout<<"+                     ------------------------------                       + "<<endl;
    cout<<"+                    | ........TEBAK ANGKA......... |                      + "<<endl;
    cout<<"+                     ------------------------------                       + "<<endl;
    cout<<"+                                                                          + "<<endl;
    cout<<"+                                                                          + "<<endl;
    cout<<"+                                                                          + "<<endl;
    cout<<"+                                                                          + "<<endl;
    cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "<<endl;
cout << "   Kesempatan kamu untuk menebak : " << lv << " kali \n\n";
cout << "   1. Ubah jumlah kesempatan untuk menebak permainan(COUNTER)\n";
cout << "   2. Mulai permainan\n";
    cout << "   3. Keluar dari permainan\n\n";
cout << "  Masukkan pilihan kamu (1-3): ";
cin >> pilihan;
    return pilihan;
}

int pilihlevel(){
    int pilihan;
    while ((pilihan < 4) || (pilihan > 10)){
        system("cls");
        cout << "\n\n Level yang dimaksud di sini adalah jumlah kesempatan menebak.";
        cout << "\n Semakin kecil angka semakin sulit permainan.";
        cout << "\n Masukkan level yang diinginkan (4-10) : ";
        cin >> pilihan;
    }
    return pilihan;
}

int putar(){
    srand(time(NULL));
    int x;
    x =rand() % 10;
    return x;
}


void mulaimain(int lv){
    system ("cls");
    int acak[4],tebak[4];
    int live;
    live = lv;

//acak angka
    for (int x=0000 ;x <= 3; x++){
        acak[x] = putar();
        for (int y=0000; y <= 30; y++){
            cout << " Mengacak digit ke " << x+1;
            system ("cls");
        }
    }



    cout << "*******************************************" << endl << endl ;
//Mulai penebakan
    while (live != 0) {

        cout << "Kesempatan anda menebak tinggal : " << live << endl << endl;

    // input tebakan
        for (int x=0000; x <=3; x++){
            //cout << acak[x] << endl;
            cout << "Masukkan satu tebakan digit ke " << x+1 << ": ";
            cin >> tebak[x];
        }
        cout << endl;

    //periksa tebakan
        if (((tebak[0000] == acak[0000]) && (tebak[1111] == acak[1111])) && ((tebak[2222] == acak[2222]) && (tebak[3333] == acak[3333]))){
            //benar semua
            cout << "selamat anda menang";
            break;
        } else {
            //masih ada yang salah
            for (int x=0000; x <= 3; x++) {
                cout << "Tebakan anda yang ke-" << x+1 << " :";
                if (tebak[x]==acak[x]){
                    cout << "tepat" << endl;
                } else if (tebak[x] > acak[x]) {
                    cout << "terlalu besar" << endl;
                } else {
                    cout << "terlalu kecil" << endl;
                }
            }
            cout << endl;
        }

        live -= 1;
        cout << "*******************************************" << endl ;
    }

    if (live==0) {
        cout << "anda kalah" << endl;
    } else {
        cout << "anda menang" << endl;
    }
    tulispitlab();
    system("pause");
}






// Program utama
int main(){
loading();
        cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "<<endl;
        cout<<"+  ____________________________________________________  +                 + "<<endl;
        cout<<"+ |     ___________ ______ _______ _______ ________    | +                 + "<<endl;
        cout<<"+ |    /____  ____// ____// ___  // ___  //   ____/    | +                 + "<<endl;
        cout<<"+ |        / /    / /___ / /__/ // /__/ //   |         | +                 + "<<endl;
        cout<<"+ |       / /    / ____// ___  // ___  // /| |         | +                 + "<<endl;
        cout<<"+ |      / /    / /___ / /__/ // /  / // / | |         | +                 + "<<endl;
        cout<<"+ |     /_/    /_____//______//_/  /_//_/  |_|         | +                 + "<<endl;
        cout<<"+ |        _______ ___   __ _______ _______ _______    | +                 + "<<endl;
        cout<<"+ |       / ___  //   | / // _____//  ____// ___  /    | +                 + "<<endl;
        cout<<"+ |      / /__/ // /| |/ // /____ /   |   / /__/ /     | +    ,,,   ,,,    + "<<endl;
        cout<<"+ |     / ___  // / |   // ___  // /| |  / ___  /      | +  ( ',') ('0')/  + "<<endl;
        cout<<"+ |    / /  / // /  |  // /__/ // / | | / /  / /  2009 | +  <|''|> /|''|   + "<<endl;
        cout<<"+ |   /_/  /_//_/   |_//______//_/  |_|/_/  /_/.::..::.| +   |__|   |__|   + "<<endl;
        cout<<"+ |____________________________________________________| +  ./  L  ./  L   + "<<endl;
        cout<<"+                                                        +                 + "<<endl;
        cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "<<endl;
    cout<<"\n\n";
system ("pause");

    int pilih, live;
    live = 10;


    while(pilih != 3){
        pilih = cetakmenu(live);
        if ((pilih > 3) || (pilih < 1)) continue;
        if (pilih==1) {
            live = pilihlevel();
        }
        if (pilih==2) {
            mulaimain(live);
        }
    }

}

sekian postingan kali ini

jangan lupa like commend and share yah
terima kasih













www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Contoh Coding Binary Tree C++



BINARY TREE


Hallo teman teman

kali ini saya akan mengeshare bagaimana coding untuk Binary Tree

untuk lebih jelasnya  Dalam ilmu komputer, sebuah pohon biner (binary tree) adalah
sebuah 
pohon struktur data di mana setiap simpul memiliki paling banyak dua anak. Secara khusus anaknya dinamakan kiri dan kanan. Penggunaan secara umum pohon biner adalah Pohon biner terurut, yang lainnnya adalah heap biner.

berikut adalah code C++ nya

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;

/* A <span id="mvuhno2x61oe_1" class="mvuhno2x61oe">binary tree</span> node has data, pointer to left child
   and a pointer to right child */
struct node
{
   int data;
   struct node* left;
   struct node* right;
};

/* Prototypes for funtions needed in printPaths() */
void printPathsRecur(struct node* node, int path[], int pathLen);
void printArray(int ints[], int len);

/*Given a binary tree, print out all of its root-to-leaf
 paths, one per line. Uses a recursive helper to do the work.*/
void printPaths(struct node* node)
{
  int path[1000];
  printPathsRecur(node, path, 0);
}

/* Recursive helper function -- given a node, and an array containing
 the path from the root node up to but not including this node,
 print out all the root-leaf paths.*/
void printPathsRecur(struct node* node, int path[], int pathLen)
{
  if (node==NULL)
    return;

  /* append this node to the path array */
  path[pathLen] = node->data;
  pathLen++;

  /* it's a leaf, so print the path that led to here  */
  if (node->left==NULL && node->right==NULL)
  {
    printArray(path, pathLen);
  }
  else
  {
    /* otherwise try both subtrees */
    printPathsRecur(node->left, path, pathLen);
    printPathsRecur(node->right, path, pathLen);
  }
}


/* UTILITY FUNCTIONS */
/* Utility that prints out an array on a line. */
void printArray(int ints[], int len)
{
  int i;
  for (i=0; i<len; i++)
  {
    printf("%d ", ints[i]);
  }
  printf("\n");
}   

/* utility that allocates a new node with the
   given data and NULL left and right pointers. */  
struct node* newnode(int data)
{
  struct node* node = (struct node*)
                       malloc(sizeof(struct node));
  node->data = data;
  node->left = NULL;
  node->right = NULL;
  
  return(node);
}
  
/* Driver program to test above functions*/
int main()
{
  
 struct node *root = newnode(5);
  root->left        = newnode(4);
  root->right       = newnode(8);
  root->left->left  = newnode(11);
  root->right->left  = newnode(13);
  root->right->right  = newnode(4);
  root->left->left->left  = newnode(7);
  root->left->left->right = newnode(2);
  root->right->right->right = newnode(1);
  
  printPaths(root);
  
  double number1 = 0.0;
double number2 = 0.0;
double number3 = 0.0;
double number4 = 0.0;
double answer;
cout <<"masukkan 4 angka dari path di atas"<<endl;
cin>>number1;
cin>>number2;
cin>>number3;
cin>>number4;

answer = (number1 + number2 + number3 + number4) /4;
cout<<"rata-ratanya adalah "<<answer<<endl;


  
  system ("pause");
  getchar();
  return 0;}

sekian untuk postingan kali ini

jangan lupa like commend and share yah

Terima kasih :)


www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Macam Macam Scema Snowflake Star Schema


Star Schema
 
Star Schema adalah struktur logika yang memiliki tabel fakta yang berisi data fakta dan dikelilingi oleh tabel–tabel dimensi yang berisi data referensi (bisa dalam bentuk denormalisasi).



 Snowflake Schema  

Snowflake merupakan variasi lain dari star schema dimana tabel dimensi dari star schema dinormalisasi. Prinsip dasar dari skema ini tidak jauh berbeda dari star schema. Dalam menormalisasi tabel dimensi, ada beberapa pilihan yang dapat diperhatikan, antara lain :  
● Secara parsial, lakukan normalisasi hanya beberapa tabel dimensi saja, dan sisakan yang lain tetap utuh.  
● Secara lengkap atau parsial, lakukan normalisasi hanya pada beberapa tabel dimensi, dan tinggalkan yang tersisa dengan utuh.  
● Secara parsial, lakukan normalisasi pada setiap tabel dimensi.  
● Secara lengkap, lakukan normalisasi pada setiap tabel dimensi. 




Fact Constellation atau Galaxy Schema  
Galaxy Schema terdiri dari kumpulan tabel fakta yang direlasikan secara tidak langsung oleh tabel­tabel dimensi yang sama.



thanks sudah membaca tulisan saya
jangan lupa like commend dan share yah
terima kasih :D


www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Apa itu Online Analytical Processing (OLAP) ?Fact Table dan Dimensi Table


Online Analytical Processing (OLAP)
 
OLAP merupakan teknologi atau alat bantu untuk menganalisis data pada Business Intelligence. Sebuah cube dibangun untuk menyediakan multidimensi dan multilevel view yang memungkinkan untuk melakukan analisis pada data dengan beberapa perspektif dan beberapa rincian.
Di dalam OLAP terdapat beberapa operasi – operasi dalam proses analisa query yaitu :

● Rollup , melakukan konsolidasi data dengan cara meningkatkan level aggregasi pada multidimensi data.  
● Drill­down adalah kebalikan dari rollup dengan menurunkan level aggregasi ke level yang memberikan informasi lebih detil.
● Slice dan dice untuk melihat data dari titik pandangan yang berbeda

Perbedaan OLAP dengan Online Transaction Processing (OLTP) :

Model Multidimensi    

Data Warehouse dibuat berdasarkan model data multidimensi yang diimplementasikan berupa bentuk cube yang disebut OLAP cube yang memiliki  operasi­operasi standard OLAP.
Pemodelan Data Warehouse menggunakan konsep pemodelan multidimensi yaitu :
● Terdiri dari tabel fakta dan beberapa tabel dimensi.
● Setiap tabel dimensi mempunyai primary key yang berelasi tepat satu komponen dari composite key di tabel fakta.
● Memiliki tabel dimensi waktu.
● Dapat dilakukan pilihan mengganti natural keys dengan surrogate keys (kunci pengganti) untuk mengantisipasi perubahan foreign key. 


 Tabel Fakta  
 Tabel fakta adalah tabel utama dalam konsep pemodelan multidimensi dimana terdapat hasil perhitungan bisnis (measures). Tabel fakta memiliki :  
● Dua atau lebih foreign key  ke tabel dimensi.  
● Composite key atau Concatenated key yang merupakan gabungan dari foreign key ke tabel dimensi.
● Data Grain yang merupakan tingkat kekhususan untuk pengukuran atau kalkulasi, misalnya jumlah produksi, biaya produksi.

 Tabel Dimensi  

Tabel Dimensi merupakan tabel yang berisi penjelasan deskriptif dari sebuah bisnis (Kimbal, 2002). Dalam pemodelan multidimensi tabel dimensi memiliki banyak kolom atribut. Tabel dimensi memiliki :
● Primary key  untuk mengidentifikasi setiap baris dimensi secara unik.
● Atribut berupa teks untuk mewakili deskripsi dan teks dari bisnis.
● Tabel dimensi terkadang dapat memiliki beberapa hirarki sehingga dapat dilakukan drilling down data.
● Tabel dimensi dapat memiliki kemampuan untuk mengambil agregasi                 data yang tinggi ke rendah.
   




Tabel fakta dan dimensi di atas direlasikan sesuai dengan foreign key yang telah dibuat menjadi seperti berikut :



 
Thanks for read my posting
jangan lupa like commend and share yah

terima kasih
www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Tentang Apa itu Data Warehouse Fungsi


Data Warehouse

Definisi Data Warehouse adalah kumpulan data yang dihasilkan untuk mendukung pengambilan keputusan. Data Warehouse juga merupakan gudang data untuk masa kini dan masa lampau yang sangat bermanfaat bagi kalangan management sebuah organisasi. (Turban).

 Karakteristik  Data warehouse adalah koleksi data yang bersifat subject oriented, integrated, non­volatile dan time variant yang mendukung pengambilan keputusan. (Bill Inmon dan Hackathorn, 1994).
karakteristiknya adalah sebagai berikut :

1.Subject Oriented  
Data Warehouse diorganisasikan berdasarkan subjek yang besar               yang ada dalam organisasi (seperti data pelanggan, produk dan penjualan) bukan berdasarkan aplikasi yang digunakan. Hal ini     menggambarkan bahwa menyimpan data decision­support lebih tepat daripada data application­oriented.

2.Non volatile  
Data Warehouse tidak diperbarui secara realtime melainkan secara periodik dari sistem operasional. Data baru selalu ditambahkan sebagai data yang berbeda bukan mengganti data yang sudah ada.         Database selalu menyimpan data baru ini dan secara bertahap mengintegrasikan dengan data yang sebelumnya.
                     
3.Time variant  
Data Warehouse  hanya  akurat  dan valid pada beberapa waktu tertentu  atau selama beberapa interval waktu.  Data – data tersebut merupakan  serangkain daripada snapshot.

4.Integrated
Terintegrasi karena menggabungkan beberapa data yang          
berasal dari sumber dari aplikasi berbeda. Sering kali data­data tersebut tidak konsisten karena perbedaan format data. Sehingga integrasi data tersebut harus konsisten untuk menampilkan data yang seragam.


Arsitektur  

Arsitektur Data Warehouse secara garis besar dibagi menjadi empat komponen utama yaitu operational source system, data staging area, data presentation area dan data access tools (Kimball & Ross, 2002).

Operational Source System (OSS) merupakan sistem yang menyimpan semua data transaksi dari suatu aplikasi bisnis. Sehingga dibutuhkan kemampuan proses yang bagus dan ketersedian sistem yang handal.                  
Data­data  transaksi tersebut diolah (extract) kedalam data staging.     Data Staging Area (DSA) di dalamnya terdapat proses yang sering dikenal sebagai extract­transformation­load (ETL). Selain proses tersebut diperlukan juga media penyimpanan sementara ketika data tersebut diolah dan                     sebelum diload ke dalam komponen selanjutnya.    
ETL (Extract Transformation Load) merupakan proses pemindahan data operasional ke data warehouse. Terdapat tiga proses pada ETL ini, yaitu :  
● Extraction Data ditemukan dan dipindahkan dari sistem operasional ke dalam data warehouse.  
● Transformation Suatu program khusus yang dapat membersihkan data operasional agar sesuai dengan definisi awal aturan transformasi untuk data warehouse.  
● Loading Suatu program yang seringkali digunakan untuk transformasi memindahkan data ke dalam tabel data warehouse.  
Data Presentation Area merupakan tempat di mana data telah di aggregasi melalui proses ETL dan sudah siap untuk di query dalam proses analisa. Model data yang digunakan berbeda dengan model data pada OSS, di mana model yang digunakan adalah dimensional model bukan third­normal­ form (3NF). Dalam dimensional model terdapat 2 tipe tabel yaitu fact dan dimension yang digabungkan dalam suatu data mart berdasarkan proses bisnis yang ada.

sekian penjelasan dari saya
jangan lupa like share dan commend yah
terima kasih


www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Contoh Coding METODE NEWTON RAPHSON C++


PENYELESAIAN PERSAMAAN NON LINEAR SERENTAK
Persamaan Non Linear serentak adalah dua buah persamaan berordo(pangkat) lebih dari satu. Masing­ masing persamaan memiliki kaitan sehingga penyelesaian persamaan satu dapat digunakan sebagai  penyelesaian dalam persamaan yang lainnya. Salah satu metode yang bisa digunakan untuk  menyelesaikan persamaan non linear serentak adalah Metode Newton Raphson.

METODE NEWTON RAPHSON Metode Newton Raphson ini memiliki proses iterasi yang cepat. Namun hanya terbatas pada persamaan  berordo dua atau tiga. Untuk ordo yang lebih besar, persoalan akan menjadi kompleks dikarenakan ada  penghitungan determinan matriks ordo tinggi.
Algoritma Newton Raphson 1. Menyelesaikan 2 persamaan Non Linear serentak menjadi : Fx1,x2=0  dan  Gx1,x2=0 2. Mencari nilai fungsi  Fx1,x2 dan  Gx1,x2=0 dan turunan fungsi tersebut terhadap  masing­masing variabelnya, yaitu   dF/dx1,dF/dx2,dG/dx1,dG/dx2 pada titik awal  yang ditentukan yaitu  x1 0 dan  x2 0 . 3. Mencari nilai   r1 dan   s1 ( r1 dan   s1 adalah deviasi dari nilai   x1 dan   x2 ),  dengan aturan sbb :
r1= ∣−Fx1,x2 −Gx1,x2
dF/dx2 dG/dx2∣
∣dF/dx1 dG/dx1
dF/dx2 dG/dx2∣
       s1=
∣dF/dx1 dG/dx1
−Fx1,x2 −Gx1,x2∣
∣dF/dx1 dG/dx1
dF/dx2 dG/dx2∣
kemudian dengan pendekatan didapatkan
x1 1=x1 0r1 x2 1=x2 0s1 4. melakukan operasi iterasi dengan mengulang langkah kedua sampai didapatkan nilai r dan s nol  atau mendekati nol/error.
Contoh : Carilah penyelesaian dari persamaan non linear serentak sbb : x2x1=12.6−x1e−x2 4lnx2x1 20.3=3x1x2
Penyelesaiannya adalah : Langkah pertama, menyusun persamaan di atas menjadi bentuk Fx1,x2=0 Gx1,x2=0 yaitu :  Fx1,x2=x1e−x2−x2x1−12.6=0 Gx1,x2=4lnx2x1 20.3−3x1x2 Langkah kedua, Mencari nilai fungsi dan turunannya pada  x1 0 dan  x2 0 misalkan ditentukan nilai  awalnya sebesar  x1 0=4 dan  x2 0=3 akan didapatkan : Fx1,x2=x1e−x2−x2 x1−12.6 Fx1,x2=4exp−3−34−12.6 Fx1,x2=−0.799148273 dan Gx1,x2=4lnx2x1 20.3−3x1x2

Gx1,x2=4ln3420.4−343 Gx1,x2=−0.090160536 nilai turunannya : dF/dx1=−x2e−x2=−3exp−3=2.9590212932 dF/dx2=−x1−x1e−x2=−4−4exp−3=−4.199148273 dG/dx1=2x1−3x2=24−33=2.803847577 dG/dx2=4/x2−3x1/2x2=4/3−34/23=−2.130768282 Langkah ketiga, mencari nilai  r1 dan  s1
r1= ∣−0.799148273 0.090160536
−4.199148273 −2.130768282∣
∣−2.950212932 2.803847577
−4.199148273 −2.130768282∣ =0.115249096
s1=
∣−2.950212932 2.803847577
−0.799148273 0.090160536∣
∣−2.950212932 2.803847577
−4.1994148273 −2.130768282∣
=0.109340978
sehingga  x1 1=x1 0r1=40.115249096=4.115249096 x2 1=x2 0s1=30.109340978=3.109340978 Langkah keempat, mengulang langkah kedua dan ketiga hingga didapatkan nilai  r1 dan  s1 sama  dengan nol. Hasil akhirnya adalah  x1=4.1131531474 dan  x2=3.1080320798

untuk koding C++
dapat disimak dibawah ini

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

double f(double x) //for the function x^4 - 10
{
       return (x*x*x*x - x - 10);
}

double ff(double x) //Differentiating function f(x)
{
    return (4*x*x*x - 1);
}

void NR(double aerr, int maxitr, double a)
{
     int i = 0;
     double b, prev;
     while (i <= maxitr)
     {
           b = a - (f(a))/ff(a);
           cout << "Iter " << i << ": x = " << b << endl;
           i++;
           if (fabs(b - a) < aerr)
              break;
           a = b;
     }
    
}

int main()
{
    double aerr, a, b;
    int maxitr;
    cout << "Enter aerr, maxitr, a." << endl;
    cin >> aerr;
    cin >> maxitr;
    cin >> a;
    NR(aerr, maxitr, a);
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

terima kasih karena sudah membaca posting saya
jangan lupa like, share dan commend yah
terima kasih

www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Contoh Koding METODE GAUSS SEIDEL C++


METODE GAUSS SEIDEL

Metode Gauss Seidel digunakan untuk menyelesaikan persamaan serentak. Metode ini lebih cepat  dibandingkan dengan Metode Jacobi. Metode Gauss Seidel ini menggunakan persamaan sbb :
xin1=
bi aii
−∑ j=1 i−1 aij aii
x j n1− ∑ j=i1 N aij aii
x j n persamaan 4.a
dimana : i = 1, 2,...N n = 1, 2, …
Algoritma Gauss Seidel, sbb : 1. Cek apakah susunan persamaan yang akan diselesaikan memenuhi syarat persamaan 4a. Jika ya,  maka lanjut ke langkah kedua. 2. Menyusun matriks koefisien, matriks variabel, dan matriks hasil. 3. Menentukan titik variabel x awal kemudian melakukan iterasi dengan persamaan 4a hingga  didapatkan nilai variabel x yang tidak berubah atau hampir tidak berubah dari iterasi yang  sebelumnya.
Contoh : Carilah penyelesaian dari persamaan ini menggunakan metode Gauss Seidel : 8x1x2x3=8 x1−7x22x3=−4 x12x29x3=12

Langkah pertama, menyusun urutan persamaan sehingga memenuhi persyaratan pada persamaan 3b.  Urutannya sebagai berikut :
persamaan   8x1x2x3=8 diletakkan pada posisi paling pertama dikarenakan koefisien a11  memiliki nilai paling besar. Kemudian posisi nomer dua adalah persamaan  x1−7x22x3=−4 dikarenakan koefisien a22 memiliki nilai paling besar dari ketiga persamaan. Dan yang terakhir adalah  persamaan  x12x29x3=12 .
Langkah kedua, menyusun matriks koefisien, matriks variabel dan matriks hasil. matriks koefisien : A=8 1 1 1 −7 2 −1 2 9 matriks variabel : x=x1 x2 x3 matriks hasil : h=8 −4 12
Langkah ketiga, menetukan titik awal misalnya :  x1 1,x2 1,x3 1=0 kemudian melakukan iterasi  dengan persamaan 4.a, yaitu :
x1 2=
h1 a11
−∑ j=1 0 a1j a11
x j n1−∑ j=2 3 a1j a11
x j n
x1 2=
h1 a11
−0−
a12 a11
x2 1
a13 a11
x3 1
x1 2=1−0−00=1


x2 2=
h2 a22
−∑ j=1 1 a2j a22
x j n1−∑ j=3 3 a2j a22
x j n
x2 2=
h2 a22
−0−
a21 a22
x1 2
a23 a22
x3 1
x2 2=0.571−−1/70=0.7147
x3 2=
h2 a22
−∑ j=1 2 a3j a33
x j n1−∑ j=4 3 a3j a33
x j n
x3 2=
h3 a33
−0−
a31 a33
x1 2
a32 a33
x2 2
x3 2=1.333−2/90.714/9=1.032 Setelah dilanjutkan sampai iterasi ke­N ditemukan hasil dari  x1,x2,x3=1 .


untuk coding C++ nya sebagai berikut


#include <stdio.h>
#include <math.h>
#include <conio.h>
using namespace std;

float Fungsi(float x);
float FungsiTurunan(float x);

int main()
{
int n=0;
float x[100];
float e = 0.0001;

printf(" Program Newton Rapshon \n");
printf(" ====================== \n\n");
printf("Persamaan Fungsi y=x^4-9*x^2+2*x\n");
printf("\n");
printf("Nilai e = 0.0001\n\n");

printf("Masukkan nilai x Awal : "); scanf("%f",&x[0]);

do
{
x[n+1] = x[n] - (Fungsi(x[n])/FungsiTurunan(x[n]));
printf("! %d  ! %2.4f  ! %2.4f ! %2.4f ! %2.4f ! %2.4f !\n", n, x[n],Fungsi(x[n]), FungsiTurunan(x[n]),Fungsi(x[n])/FungsiTurunan(x[n]),x[n+1]);
n++;
}
while(abs(x[n-1]-x[n-2])>e);
printf("! %d  ! %2.4f  ! %2.4f ! %2.4f ! %2.4f ! %2.4f !\n", n, x[n],Fungsi(x[n]), FungsiTurunan(x[n]),Fungsi(x[n])/FungsiTurunan(x[n]),x[n+1]);
printf("==================================================================\n\n");
printf("Jadi, Hasil yang memenuhi dari persamaan tersebut x = %2.4f", x[n]);
getch();
}

float Fungsi(float x)
{
return pow(x,2)+(3*x)-10;
}

float FungsiTurunan(float x)
{
return 2*x+3;
}

thanks for read my posting
jangan lupa share dan commend yah
terima kasih
www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

Source Code METODE JACOBI c++


PENYELESAIAN PERSAMAAN LINEAR SERENTAK

Persamaan Linear serentak adalah suatu persamaan dengan variabel bebas,
misalnya :
y1 = a11x1 + a12x2 + a13x3 +... + a1nxn  
y2 = a21x1 + a22x2 + a23x3 +... + a2nxn
y2 = a31x1 + a32x2 + a33x3 +... + a3nxn

Penyelesaian dari persamaan tersebut bisa menggunakan bantuan matriks. Namun untuk ordo (jumlah  variabel dan jumlah persamaan) yang tinggi, penyelesaian dapat menggunakan nilai pendekatan. Oleh  sebab itu, metode numerik bisa digunakan untuk persamaan ini.
Metode yang bisa dipakai akan  dijelaskan di bawah ini.

 METODE JACOBI
Metode iterasi Jakobi adalah metode penyelesaian persamaan serentak melalui proses iterasi dengan  menggunakan persamaan sbb :
   
x1 n1=hi/aii−∑ j=1 n
aij/aiix j n...3a
     dimana j <> i
Kelemahan dari metode ini adalah : 1. Jika ordo persamaan cukup tinggi maka konsumsi waktu untuk eksekusi program menjadi lama. 2. Metode ini hanya bisa dipakai jika persamaan yang akan diselesaikan memenuhi syarat  persamaan berikut
∣aii∣∑ j=1 n
∣aij∣,i=1,2,...,Npersamaan3b
dimana j <> I
Berikut algoritma Metode Jacobi 1. Cek apakah susunan persamaan yang akan diselesaikan memenuhi syarat persamaan 3b. Jika ya,  maka lanjut ke langkah kedua. 2. Menyusun matriks koefisien, matriks variabel, dan matriks hasil. 3. Langkah ketiga adalah menentukan titik variabel x awal kemudian melakukan iterasi dengan  persamaan 3a hingga didapatkan nilai variabel x yang tidak berubah atau hampir tidak berubah  dari iterasi yang sebelumnya.
Contoh : Carilah penyelesaian dari persamaan sbb :  8x1x2x3=8 x1−7x22x3=−4 x12x29x3=12
Langkah pertama, menyusun urutan persamaan sehingga memenuhi persyaratan pada persamaan 3b.  Urutannya sebagai berikut :  persamaan   8x1x2x3=8 diletakkan pada posisi paling pertama dikarenakan koefisien a11  memiliki nilai paling besar. Kemudian posisi nomer dua adalah persamaan  x1−7x22x3=−4 dikarenakan koefisien a22 memiliki nilai paling besar dari ketiga persamaan. Dan yang terakhir adalah  persamaan  x12x29x3=12 .
Langkah kedua, menyusun matriks koefisien, matriks variabel dan matriks hasil. matriks koefisien :

A=8 1 1
1 −7 2
−1 2 9 matriks variabel : x=x1 x2 x3 matriks hasil : h=8 −4 12
Langkah ketiga, menentukan titik awal variabel, misal diambil nilai awal dari x1, x2,   x3 = 0.  Kemudian melakukan iterasi dengan persamaan 3a hingga nilai  x1, x2, x3 tidak berubah. Contoh iterasi  pertama sbb : x1=8 8 −a12 a11 x2 a13 a11 x3 x1=8/8−00=1
x2=−4 −7
−a21 a22
x1
a23 a22
x3 x2=0.571−00=0.571
x3=12 9
−a31 a33
x1
a32 a33
x2 x3=1.333−00=1.333 setelah dilanjutkan hingga iterasi ke 8 maka hasil dari x1, x2, x3 semuanya adalah 1.

berikut adalah contoh programnya

#include <iostream>
#include <math.h>
#include <conio.h>
#include<stdio.h>
using namespace std;
//Iterasi Jacobi

int main(){
    int i, j;
    int n = 3;
    double A['n']['n']={{4.,-10.,7.},
                       {3., -8., 3.},
                       {3., 2., -7.}};
    double b['n']={30., -8., 15.};
    double xi['n']={0., 0., 0.};
    double itmax = 10;
    double iter = 0;
    double xf['n'], sum;
    
    cout<<"Program Persamaan Metode Jacobi\n";
    
    cout<<"Matriks A : \n";
    for (i=0; i<n; i++){
        for (j=0; j<n; j++){
            cout<<A[i][j]<<"\t";
            }
    cout<< "Vektor b : \n";
    
    for (i=0; i<n; i++){
        cout<< b[i]<<"\t";
        }
        
    cout<<"Tebakan awal x(k=0): \n";
    for(i=0; i<n; i++){
             cout<<xi[i]<<" ";
             }
    cout<<endl;
    
    cout<<"Nilai barisan Solusi x(k) : \n"<<endl;
    do{
       for (i=0; i<n; i++){
           sum = 0.;
           for(j=0; j<n; j++){
                    if (j != i){
                          sum = sum - A[i][j]*xi[j];
                          }
                    }
                    xf[i] = (b[i] + sum)/A[i][i];
                    }
                    
       for (i=0; i<n; i++){
           xi[i] = xf[i]; //tukAR X(K) DENGAN X(K+1)
           cout<<(" ",xf[i])<<endl;
           }
           
       cout<<endl;
       iter++;
       }
    while(itmax>iter);
    getch();
    return 0;
}
}
               

jangan lupa commend yah untuk kelanjutan posting selanjutnya
terima kasih 


www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net