Sabtu, 29 Oktober 2016

PENJELASAN DAN CONTOH PENGGUNAAN ARRAY PADA C++



Ini adalah poin-poin yang harus dipahami

  1. Array  merupakan  struktur  data  yang sering            digunakan             dalam pemrograman      untuk      menyimpan data   yang   akan   diolah   kemudian (misalnya  pada  proses  sorting  atau searching).
  2. Array    adalah    struktur    data    yang terdiri  dari  kumpulan  variabel  yang bertipe sama.
  3.  Beberapa     bahasa     pemrograman mendukung  struktur  array  statis  dan dinamis.   Pada   C/C++,   array   yang didukung adalah array statis.
  4.  Pada     C/C++,     array     merupakan pointer    yang    mempunyai    alokasi memori tetap (pointer constant).
  5.  Nilai  (Isi)  dari  elemen-elemen  suatu array    ditempatkan    pada    memori yang berurutan.
  6. Akses   elemen   suatu   array   bersifat random,  artinya  dapat  dimulai  dari mana   saja   dan tidak   harus   dari elemen pertamanya. 
  7. Array : a finite ordered set of homogenous elements
  8. Elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori.
  9. Array memiliki alamat yang besebelahan/berdampingan tergantung lebar tipe datanya.
  10. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
  11. Elemen-elemen array bertipe data sama dan bisa berisi nilai yang sama atau berbeda-beda.
  12. Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu secara random ataupun berurutan
  13. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
  14. Dalam C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum.  Hal ini merupakan tanggung jawab programmer.  Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai.
  15. Tanda [] disebut juga “elemen yang ke- ...“. Misalnya kondisi[0] berarti array kondisi elemen yang ke nol.
  16. Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak.  Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.
  17. Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi!
  18. Deklarasi Array Multidimensi :
·         Multidimensi      array      merupakan superset   dari   single    dimensional array.
·         Setiap  penambahan  dimensi  akan diikuti penambahan attribut akses.
·         Array   dua   dimensi   memiliki   dua attribut yaitu: baris  dan kolom.
·         Array   tiga   dimensi   memiliki   tiga attribut   yaitu: baris, kolom    dan  tinggi.
  1. Syntax :
·         Dua Dimensi :
               tipe Nama_Array [indeks1] [indeks2] ;
               tipe Nama_Array [indeks1] [indeks2] = { Nila i };
·         Tiga Dimensi :
               tipe Nama_Array [indeks1] [indeks2] [indeks3];
                tipe Nama_Array [indeks1] [indeks2] [indeks3] ={ Nilai };
Berikut contoh penggunaan ARRAY pada bahasa C++ :
      Program Kasir untuk FriedChikend....

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

void main()
{
int n,i,harga,bayar=0,totalbayar,total[100],banyak[100]; //contoh ARRAY
float pajak;
char jenis[100];
cout << "Banyak Jenis  =  ";
cin>>n;
for (i=0;i<n;i++)
{
    cout<<"Jenis ke-"<<(i+1) << endl;
    cout<<"Jenis Potong [D/P/S] : ";
    cin>>jenis[i];
    cout<<"Banyak Potong        : ";
    cin>>banyak[i];
    cout<<endl;
}
clrscr();
cout<<"-------------------------------------------------------------------------------\n";
cout<<"No\tJenis Potong\tHarga Satuan\tBanyak Barang\tJumlah Harga\n";
cout<<"-------------------------------------------------------------------------------\n";
for(i=0;i<n;i++)
{
    cout<<setw(9)<<setiosflags(ios::left)<<(i+1);         //Merapihkan Tampilan
    cout<<setw(17)<< setiosflags(ios::left);
    if(jenis[i]=='D'||jenis[i]=='d')
    {
        cout<<"Dada";
        cout<<setw(17)<< setiosflags(ios::left);
        harga=2500;
        cout<<"2500";
}
else if (jenis[i]=='P'||jenis [i]=='p')
{
    cout<<"Paha";
    cout<<setw(17)<< setiosflags(ios::left);
    harga=2000;
    cout<<"2000";
}
else
{
        cout<<"Sayap";
        cout<<setw(17)<< setiosflags(ios::left);
        harga=1500;
        cout<<"1500";
    }
    cout<<setw(17)<< setiosflags(ios::left)<<banyak[i];
    total[i]=banyak[i]*harga;
    cout<<total[i];
    bayar+=total [i];
    cout<<endl ;
}
cout << endl ;
cout <<"--------------------------------------------------------------------------------\n";
cout<< "\t\t\t\t\tJumlah Bayar  =     "<<bayar<< endl ;
pajak = 0.1*bayar;
cout<< "\t\t\t\t\tPajak         =     "<<pajak<<endl;
totalbayar = bayar+pajak;
cout<< "\t\t\t\t\tToyal Bayar   =     "<<totalbayar<<endl<<endl ;
cout<<"----------------------------------Thank You--------------------------------------\n";
cout<<"WR Program";
}

0 komentar:

Posting Komentar