- Array merupakan struktur data yang sering digunakandalam pemrograman untuk menyimpan data yang akan diolah kemudian (misalnya pada proses sorting atau searching).
- Array adalah struktur data yang terdiri dari kumpulan variabel yang bertipe sama.
- Beberapa bahasa pemrograman mendukung struktur array statis dan dinamis. Pada C/C++, array yang didukung adalah array statis.
- Pada C/C++, array merupakan pointer yang mempunyai alokasi memori tetap (pointer constant).
- Nilai (Isi) dari elemen elemen suatu array ditempatkan pada memori yang berurutan.
- Akses elemen suatu array bersifat random, artinya dapat dimulai dari mana saja dan tidak harus dari elemen pertamanya.
- Array : a finite ordered set of homogenous elements
- Elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori.
- Array memiliki alamat yang besebelahan/berdampingan tergantung lebar tipe datanya.
- Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
- Elemen-elemen array bertipe data sama dan bisa berisi nilai yang sama atau berbeda-beda.
- Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu secara random ataupun berurutan
- Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
- 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.
- Tanda [] disebut juga “elemen yang ke- ...“. Misalnya kondisi[0] berarti array kondisi elemen yang ke nol.
- 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.
- Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi!
- 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.
- Syntax :
·
Dua
Dimensi :
tipe Nama_Array [indeks1] [indeks2] ;
tipe Nama_Array [indeks1] [indeks2] = {
Nila i };
·
Tiga
Dimensi :
tipe Nama_Array [indeks1]
[indeks2] [indeks3];
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";
#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";
}
Posting Komentar