1
ARRAY
 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 men-dukung 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.
2
Deklarasi Array Satu Dimensi :
 Array satu dimensi adalah array yang sederhana, masing-
masing elemen dapat terpisah dengan menggunakan indeks
Syntax :
tipe Nama_Array [ jumlah elemen ];
tipe Nama_Array [ jumlah elemen ] = { Nilai };
Ketentuan :
indeks terkecil -> 0 (nol)
indeks terbesar -> jumlah_elemen-1;
Contoh :
float x[5] = { 80.50, 90.00, 95.60,88.30, 98.00 };
3
char Kampus[20] = { ‘B’, ‘I’, ‘N’, ‘U’, ‘S’ };
char Kota[18] = “Jakarta”;
int Jumlah[5] = 0, 1, 2, 3, 4; // salah
float Total[3] = 96.33,98.4, 88.55; // salah
char Arah[10] = ‘B’, ‘A’, ‘R’, ‘A’, ‘T’; // salah
char ARAH[10] = TIMUR; // salah
Akses Elemen Array :
 Untuk mengakses elemen suatu array dapat bersifat Random
(tidak harus dimulai dari elemen pertama).
 Setelah suatu array didefinisikan, elemen array dapat diakses
dalam bentuk :
Nama_Array [ indeks ]
 Apabila didefinisikan array sbb :
float x[5] = { 80.50, 90.00, 95.60,88.30, 98.00 };
4
maka untuk mengakses elemen array x adalah sbb :
 Elemen pertama adalah x[0]
 Elemen kedua adalah x[1]
 Elemen kelima adalah x[4]
atau
Dalam bentuk umum adalah x[ i ], dimana x[ i ] menyatakan
elemen x dengan indeks (subscript) sama dengan i.
 Untuk menampilkan semua elemen array x di atas
adalah sbb:
for ( int i=0; i<5; i++ ) cout << x[ i ];
Untuk mengisi / mengubah semua nilai elemen array x
di atas adalah sbb :
for ( int i=0; i<5; i++ ) cin << x[ i ];
5
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
void main()
{float Nilai[5], Total = 0, Rerata;
int i=0;
clrscr(); // Hapus layar
do {
cout << “Masukkan nilai ke- “ << i+1 << “ = “
cin >> Nilai[i];
} while ( ++i < 5 );
for ( i=0; i<5; i++ ) Total += Nilai[i];
Rerata = Total / 5;
cout << “Total nilai = “ << Total << ‘ n’ << “Rata-rata nilai = “ << Rerata << ‘n’;
getch();
}
6
Array Sebagai Parameter Fungsi:
 Array dapat digunakan sebagai parameter untuk suatu fungsi.
 C++ menetapkan dua alternatif ukuran dari array tertentu
(fixed) dan umum (general).
 Syntax – fixed-array :
tipe_data Nama_Parameter[ jumlah elemen ]
Contoh :
Const int baris = 5;
Const int kolom = 5;
// Prototipe Fungsi
Void isi _matriks(fload mat[][kolom], int &brs, int &kolom);
Void main()
{ fload matriks [baris][kolom];
Int jum_baris, jum_kolom;
Int I,j;
7
Clrscr();
Isi_matriks(matriks, jum_baris,jum_kolom);
Cout<<“n Matriks yang terbentuk: “<<endl;
Cout<<setiosflegs(ios::fixed);
For(i=0;i<jum_baris;i++)
{
For(j=0;j<jum_kolom;j++)
Cout<<setw(12)<<setprecision(5)<<matriks[i][j];
cout<<endl;
}
}
Void isi _matriks(fload mat[][kolom], int &brs, int &kolom)
{
int I,j;
cout<<“pastikan jumlah baris dan kolom”<<endl;
cout<<“tidak melebihi 5”<<endl;
8
cout<<“Jumlah baris = “;
cin>>brs;
cout <<“Jumlah kolom = “;
cin>>kol;
For(i=0;i<brs;i++)
For(j=0;j<kol;j++)
{
cout<<“elemen”<<i<<“,”<<j<<“=“;
cin>>mat[i][j];
}
}
9
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.
10
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 };
Contoh :
int Jml_Lulusan [3] [4];
Untuk menggambarkan tabel kelulusan maha-siswa suatu
perguruan tinggi seperti di bawah ini:
Indeks Jurusan 1999 2000 2001 2002
0 Teknik Informatika 312 398 455 514
1 Sistem Informasi 288 315 356 394
2 Komputerisasi Akuntansi 560 712 873 1092
Dalam bentuk array dapat ditulis sbb:
11
int Jml_Lulusan [3] [4] = { {312, 398, 455, 514},{288, 315, 356, 394},
{560,712, 873, 1092} };
atau
int Jumlah [3] [4] = { 312, 398, 455, 514, 288,315, 356, 394, 560, 712,
873, 1092 };
int Nilai[2][3][3];
int Nilai[2][3][3] = { { { 3, 5, 7 }, { 4, 2, 0 } },{ { 1, 2, 3 }, { 9, 7, 5 } },
{ { 0, 4, 8 }, { 2, 4, 6 } } };
Atau
int Nilai[2][3][3] = { 3 57, 4 2 0, 1 2 3, 9 7 5,0 4 8, 2 4 6 };
Tugas
 Hasil Output:
Tampilan Masukkan:
Banyak Jenis : 2
Jenis Ke-1
Jenis Potong [D/P/S] : D
Banyak Potong : 2
Jenis Ke-2
Jenis Potong [D/P/S] : P
Banyak Potong : 3
12
 Tampilan Keluaran :
-----------------------------------------------------------------------------------------------------------------
No Jenis Potong Harga Satuan Banyak Beli Jumlah Harga
-----------------------------------------------------------------------------------------------------------------
1 Dada 2500 2 5000
2 Paha 2000 3 6000
--------------------------------------------------------------------------------------------------------------------------------------------------------
Jumlah Bayar = 11.000
Pajak 10% = 1100
Total Bayar = 12100
------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------- Terima Kasih ---------------------------------------------------------------------------
13

Pertemuan IV Teori

  • 1.
    1 ARRAY  Array merupakanstruktur 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 men-dukung 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.
  • 2.
    2 Deklarasi Array SatuDimensi :  Array satu dimensi adalah array yang sederhana, masing- masing elemen dapat terpisah dengan menggunakan indeks Syntax : tipe Nama_Array [ jumlah elemen ]; tipe Nama_Array [ jumlah elemen ] = { Nilai }; Ketentuan : indeks terkecil -> 0 (nol) indeks terbesar -> jumlah_elemen-1; Contoh : float x[5] = { 80.50, 90.00, 95.60,88.30, 98.00 };
  • 3.
    3 char Kampus[20] ={ ‘B’, ‘I’, ‘N’, ‘U’, ‘S’ }; char Kota[18] = “Jakarta”; int Jumlah[5] = 0, 1, 2, 3, 4; // salah float Total[3] = 96.33,98.4, 88.55; // salah char Arah[10] = ‘B’, ‘A’, ‘R’, ‘A’, ‘T’; // salah char ARAH[10] = TIMUR; // salah Akses Elemen Array :  Untuk mengakses elemen suatu array dapat bersifat Random (tidak harus dimulai dari elemen pertama).  Setelah suatu array didefinisikan, elemen array dapat diakses dalam bentuk : Nama_Array [ indeks ]  Apabila didefinisikan array sbb : float x[5] = { 80.50, 90.00, 95.60,88.30, 98.00 };
  • 4.
    4 maka untuk mengakseselemen array x adalah sbb :  Elemen pertama adalah x[0]  Elemen kedua adalah x[1]  Elemen kelima adalah x[4] atau Dalam bentuk umum adalah x[ i ], dimana x[ i ] menyatakan elemen x dengan indeks (subscript) sama dengan i.  Untuk menampilkan semua elemen array x di atas adalah sbb: for ( int i=0; i<5; i++ ) cout << x[ i ]; Untuk mengisi / mengubah semua nilai elemen array x di atas adalah sbb : for ( int i=0; i<5; i++ ) cin << x[ i ];
  • 5.
    5 Contoh Program C++: #include <iostream.h> #include <conio.h> void main() {float Nilai[5], Total = 0, Rerata; int i=0; clrscr(); // Hapus layar do { cout << “Masukkan nilai ke- “ << i+1 << “ = “ cin >> Nilai[i]; } while ( ++i < 5 ); for ( i=0; i<5; i++ ) Total += Nilai[i]; Rerata = Total / 5; cout << “Total nilai = “ << Total << ‘ n’ << “Rata-rata nilai = “ << Rerata << ‘n’; getch(); }
  • 6.
    6 Array Sebagai ParameterFungsi:  Array dapat digunakan sebagai parameter untuk suatu fungsi.  C++ menetapkan dua alternatif ukuran dari array tertentu (fixed) dan umum (general).  Syntax – fixed-array : tipe_data Nama_Parameter[ jumlah elemen ] Contoh : Const int baris = 5; Const int kolom = 5; // Prototipe Fungsi Void isi _matriks(fload mat[][kolom], int &brs, int &kolom); Void main() { fload matriks [baris][kolom]; Int jum_baris, jum_kolom; Int I,j;
  • 7.
    7 Clrscr(); Isi_matriks(matriks, jum_baris,jum_kolom); Cout<<“n Matriksyang terbentuk: “<<endl; Cout<<setiosflegs(ios::fixed); For(i=0;i<jum_baris;i++) { For(j=0;j<jum_kolom;j++) Cout<<setw(12)<<setprecision(5)<<matriks[i][j]; cout<<endl; } } Void isi _matriks(fload mat[][kolom], int &brs, int &kolom) { int I,j; cout<<“pastikan jumlah baris dan kolom”<<endl; cout<<“tidak melebihi 5”<<endl;
  • 8.
    8 cout<<“Jumlah baris =“; cin>>brs; cout <<“Jumlah kolom = “; cin>>kol; For(i=0;i<brs;i++) For(j=0;j<kol;j++) { cout<<“elemen”<<i<<“,”<<j<<“=“; cin>>mat[i][j]; } }
  • 9.
    9 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.
  • 10.
    10 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 }; Contoh : int Jml_Lulusan [3] [4]; Untuk menggambarkan tabel kelulusan maha-siswa suatu perguruan tinggi seperti di bawah ini: Indeks Jurusan 1999 2000 2001 2002 0 Teknik Informatika 312 398 455 514 1 Sistem Informasi 288 315 356 394 2 Komputerisasi Akuntansi 560 712 873 1092 Dalam bentuk array dapat ditulis sbb:
  • 11.
    11 int Jml_Lulusan [3][4] = { {312, 398, 455, 514},{288, 315, 356, 394}, {560,712, 873, 1092} }; atau int Jumlah [3] [4] = { 312, 398, 455, 514, 288,315, 356, 394, 560, 712, 873, 1092 }; int Nilai[2][3][3]; int Nilai[2][3][3] = { { { 3, 5, 7 }, { 4, 2, 0 } },{ { 1, 2, 3 }, { 9, 7, 5 } }, { { 0, 4, 8 }, { 2, 4, 6 } } }; Atau int Nilai[2][3][3] = { 3 57, 4 2 0, 1 2 3, 9 7 5,0 4 8, 2 4 6 };
  • 12.
    Tugas  Hasil Output: TampilanMasukkan: Banyak Jenis : 2 Jenis Ke-1 Jenis Potong [D/P/S] : D Banyak Potong : 2 Jenis Ke-2 Jenis Potong [D/P/S] : P Banyak Potong : 3 12
  • 13.
     Tampilan Keluaran: ----------------------------------------------------------------------------------------------------------------- No Jenis Potong Harga Satuan Banyak Beli Jumlah Harga ----------------------------------------------------------------------------------------------------------------- 1 Dada 2500 2 5000 2 Paha 2000 3 6000 -------------------------------------------------------------------------------------------------------------------------------------------------------- Jumlah Bayar = 11.000 Pajak 10% = 1100 Total Bayar = 12100 ------------------------------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------- Terima Kasih --------------------------------------------------------------------------- 13