ALGORITMA DAN PEMROGRAMAN DENGAN C++
12
Array
Variabel Larik atau lebih dikenal dengan ARRAY adalah Tipe
terstruktur yang terdiri dari sejumlah komponen-komponen yang
mempunyai tipe yang sama. Suatu Array mempunyai jumlah
komponen yang banyaknya tetap. Banyaknya komponen dalam
suatu larik ditunjukan oleh suatu indek untuk membedakan variabel
yang satu dengan variabel yang lainnya.
Variabel array dalam Borland C++, dapat digolongkan menjadi tiga
buah dimensi :
Array Berdimensi Satu.
Array Berdimensi Dua
Array Multi Dimensi
Array Berdimensi Satu
Sebelum digunakan, variabel array perlu dideklarasikan terlebih
dahulu. Cara mendeklarasikan variabel array sama seperti deklarasi
variabel yang lainnya, hanya saja diikuti oleh suatu indek yang
menunjukan jumlah maksimum data yang disediakan.
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[Ukuran]
Keterangan :
Type Data : Untuk menyatakan type data yang digunakan.
Ukuran : Untuk menyatakan jumlah maksimum elemen array.
1
STMIK AKBA MAKASSAR
Contoh Pendeklarasian Array
Suatu array dapat digambarkan sebagai kotak panjang yang berisi
kotak-kotak kecil didalam kotak panjang tersebut.
Subscript atau Index array pada C++, selalu dimulai dari Nol ( 0 )
Mengakses Array Berdimensi Satu
Suatu array, dapat diakses dengan menggunakan subscript atau
indexnya:
Bentuk umum pengaksesan dengan bentuk :
Nama_Array[Subscript/Index]
Nil_Akhir[3];
Nil_Akhir[1];
Nil_Akhir[0];
/* ---------------------------- */
/* Program Array Satu Dimensi */
/* ---------------------------- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
main()
2
ALGORITMA DAN PEMROGRAMAN DENGAN C++
{
int i;
char nama[5][20];
float nilai1[5];
float nilai2[5];
float hasil[5];
clrscr();
for(i=1;i<=2;i++)
{
cout<<"Data Ke - "<<i<<endl;
cout<<"Nama Siswa : "; gets(nama[i]);
cout<<"Nilai MidTest : "; cin>>nilai1[i];
cout<<"Nilai Final : "; cin>>nilai2[i];
hasil[i] = (nilai1[i] * 0.40)+ (nilai2[i] * 0.60);
cout<<endl;
}
cout<<"------------------------------------------";
cout<<"-------"<<endl;
cout<<"No. Nama Siswa Nilai Nilai ";
cout<<"Hasil"<<endl;
cout<<" MidTest Final ";
cout<<"Ujian"<<endl;
cout<<"------------------------------------------";
cout<<"-------"<<endl;
for(i=1;i<=2;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(20)<<nama[i];
cout<<setprecision(2)<<" "<<nilai1[i];
cout<<setprecision(2)<<" "<<nilai2[i];
cout<<setprecision(2)<<" "<<hasil[i]<<endl;
}
cout<<"------------------------------------------";
cout<<"-------"<<endl;
getch();
}
Inisialisasi Array Berdimensi Satu
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel.
Bentuk
pendefinisian suatu array dapat dilihat dari contoh berikut :
3
STMIK AKBA MAKASSAR
Tipe_data nama_array[jml_elemen] = { nilai array };
float nilai[5] = {56.5, 66.7, 87.45, 98,5, 78.9 };
/* ----------------------------- */
/* Inisialisasi Array Dimensi 1 */
/* ----------------------------- */
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
void main()
{
int nilai[5] = {56, 67, 57, 76, 72};
int i;
clrscr();
for(i=0; i<5; i++)
{
cout<<"Nilai Array Index ke - "<<i<<" = ";
cout<<<a<<endl;
}
getch();
}
Array Berdimensi Dua
Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana
indeks pertama menunjukan baris dan indeks kedua menunjukan
kolom. Array dimensi dua dapat digunakan seperti pendatan
penjualan, pendataan nilai dan lain sebagainya.
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[index-1][index-2]
Keterangan :
Type Data : Untuk menyatakan type data yang digunakan.
Index-1 : Untuk menyatakan jumlah baris
Index-2 : Untuk menyatakan jumlah kolom
Contoh Pendeklarasian Array
Sebagai contoh pendeklarasian yang akan kita gunakan adalah
4
ALGORITMA DAN PEMROGRAMAN DENGAN C++
pengolahan data penjualan, berikut dapat anda lihat pada tabel
berikut :
Data Penjualan Pertahun
Tahun Penjualan
No
2001 2002 2003
1 150 159 230
2 100 125 150
3 210 125 156
Jika anda lihat dari tabel 7.1 diatas maka dapat dituliskan kedalam
array dimensi dua berikut :
Mengakses Array Berdimensi Dua
Suatu array, dapat diakses dengan menggunakan subscript atau
indexnya
Bentuk umum pengaksesan dengan bentuk :
Nama_Array[index-1][index-2]
data_jual[2][2];
data_jual[1][2];
/* ---------------- */
/* Array Dimensi 2 */
/* ---------------- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
main()
5
STMIK AKBA MAKASSAR
{
int i, j;
int data_jual[4][4];
clrscr();
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<"Data Ke - "<<i<<" "<<j<<endl;
cout<<"Jumlah Penjulan : ";
cin>>data_jual[i][j];
}
}
cout<<"Data Penjualan Pertahun"<<endl;
cout<<"-----------------------"<<endl;
cout<<"NO 2001 2002 2003"<<endl;
cout<<"-----------------------"<<endl;
for(i=1;i<=3;i++) {
cout<<setiosflags(ios::left)<<setw(5)<<i;
for(j=1;j<=3;j++)
{
cout<<setiosflags(ios::right)<<setw(4);
cout<<data_jual[i][j];
cout<<" ";
}
cout<<endl;
}
cout<<"-----------------------"<<endl;
getch();
}
Inisialisasi Array Berdimensi Dua
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel.
Bentuk
pendefinisian suatu array dapat dilihat dari contoh berikut :
Tipe_data nama_array[jml_elemen] = { nilai array };
int data[2][5] = { {2, 3, 4, 5, 2},
{4, 2, 6, 2, 7},
};
6
ALGORITMA DAN PEMROGRAMAN DENGAN C++
/* ----------------------------- */
/* Inisialisasi Array Dimensi 2 */
/* ----------------------------- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
void main()
{
int i, j;
int data[2][5] = {{2, 3, 4, 5, 2},
{4, 2, 6, 2, 7}};
clrscr();
for(i=0;i<2;i++)
{
for(j=0;j<5;j++)
{
cout<<data[i][j];
cout<<" ";
}
cout<<endl;
}
getch();
}
Array Berdimensi Tiga
Array dimensi dua tersusun dalam bentuk baris, kolom dan isi dari
baris, dimana indeks pertama menunjukan baris, indeks kedua
menunjukan kolom dan indeks ketiga menunjukan isi dari baris.
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[index-1][index-2][index-3]
Keterangan :
Type Data : Untuk menyatakan type data yang digunakan.
Index-1 : Untuk menyatakan jumlah baris
Index-2 : Untuk menyatakan jumlah isi dari baris
Index-3 : Untuk menyatakan jumlah kolom
7
STMIK AKBA MAKASSAR
Contoh Pendeklarasian Array
Sebagai contoh pendeklarasian yang akan kita gunakan adalah
pengolahan data penjualan, berikut dapat anda lihat pada tabel
berikut :
Jika anda lihat dari tabel diatas maka dapat dituliskan kedalam array
dimensi dua berikut :
Mengakses Array Berdimensi Tiga
Suatu array, dapat diakses dengan menggunakan subscript atau
indexnya
Bentuk umum pengaksesan dengan bentuk :
Nama_Array[index-1][index-2][index-3]
data_jualan[1][1][1];
data_jualan[1][0][1];
/* ---------------- */
/* Array Dimensi 3 */
/* ---------------- */
8
ALGORITMA DAN PEMROGRAMAN DENGAN C++
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
main()
{
int i, j, k;
int data_jual[2][3][2];
clrscr();
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<2;k++)
{
cout<<"Data Tahun Ke - "<<i+1<<endl;
cout<<"Data Ke - "<<j+1<<" "<<k+1<<endl;
cout<<"Jumlah Penjulan : ";
cin>>data_jual[i][j][k];
}
cout<<endl;
}
cout<<endl;
}
cout<<endl;
cout<<"Data Penjualan Pertahun"<<endl;
cout<<"--------------------------------------";
cout<<endl;
cout<<"Tahun Hasil Tahun Penjualan Ke. ";
cout<<endl;
cout<<"Ke. Ke. --------------------";
cout<<endl;
cout<<" 1 2 ";
cout<<endl;
cout<<"--------------------------------------";
cout<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
cout<<setiosflags(ios::left)<<setw(11)<<i+1;
cout<<setiosflags(ios::left)<<setw(9)<<j+1;
for(k=0;k<2;k++)
{
cout<<setiosflags(ios::right)<<setw(5);
9
STMIK AKBA MAKASSAR
cout<<data_jual[i][j][k];
cout<<" ";
}
cout<<endl;
}
cout<<endl;
}
cout<<"--------------------------------------";
cout<<endl;
getch();
}
Inisialisasi Array Berdimensi Tiga
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel.
Bentuk
pendefinisian suatu array dapat dilihat dari contoh berikut :
Tipe_data nama_array[jml_elemen] = { nilai array };
float data[2][4][3] = {
{
{100, 200, 300},
{150, 240, 360},
{250, 340, 460},
{250, 340, 460}},
{ {160, 250, 365},
{175, 275, 375},
{275, 375, 575},
{280, 380, 580}}
};
/* ----------------------------- */
/* Inisialisasi Array Dimensi 3 */
/* ----------------------------- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
main()
{
int i, j, k;
10
ALGORITMA DAN PEMROGRAMAN DENGAN C++
float data[2][4][3] = {
{ {100, 200, 300},
{150, 240, 360},
{250, 340, 460},
{250, 340, 460}},
{ {160, 250, 365},
{175, 275, 375},
{275, 375, 575},
{380, 480, 580}}
};
clrscr();
cout<<"----------------------------------------"
cout<<endl;
cout<<"Tahun Hasil Tahun Penjualan "
cout<<endl;
cout<<"Ke. Ke. ----------------------"
cout<<endl;
cout<<" 2002 2003 2004 "
cout<<endl;
cout<<"----------------------------------------" cout<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
{
cout<<setiosflags(ios::left)<<setw(9)<<i+1;
cout<<setiosflags(ios::left)<<setw(9)<<j+1;
for(k=0;k<3;k++)
{
cout<<setiosflags(ios::right)<<setw(5);
cout<<data[i][j][k];
cout<<" ";
}
cout<<endl;
}
cout<<endl;
}
cout<<"----------------------------------------"
cout <<endl;
getch();
}
11
STMIK AKBA MAKASSAR
Daftar Pustaka
Abdul Kadir, 2012, Algoritma dan Pemrograman Menggunakan C
& C++, Andi Offset.
[Link]
[Link]
[Link]
[Link]
Frieyadie. 2006. Panduan Pemrogramman C++, Andi. Yogyakarta.
12