PENJELASAN DAN CONTOH PENGGUNAAN ARRAY PADA C++
Hei kawan ngomongin array emang agak bingung kalau kalian belum terlau paham fungsi dan cara pemakaiannya pada pemrrograman, yaah disini ane coba membantu memberi informasi tentang array yang ane ketahui nih gaan...
Nih poin-poin yang musti dipahami gaan:
- Array merupakan struktur
data yang sering digunakan dalam 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];
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";
#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";
}
MANTAP GAN
BalasHapussiip gaaan
HapusThanks gaaan atas infonya
BalasHapusyooo sama-sama gaaan
HapusThks Gan, bermanfaat.....
BalasHapusberkat anda saya lulus ujian :))
BalasHapuswahhhh...
BalasHapusthanks udah memecahkan pusing saya gan.
makasih banyak gan
BalasHapusGan, minta tolong dong.. Bantuin saya bikin program.. Program nya begini: kita disuruh input huruf.. terus input 5 kata.. abis tu nanti jika huruf yang kita input tadi ada didalam kata, maka outputnya "ada", jika tidak "tidak ada".. pliss gan.. :(
BalasHapusThanks infonya Gan,,
BalasHapusMy Blog
good job gan
BalasHapusisolasi double tape