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.

                         Array - Yessy Asri            1
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 };



                         Array - Yessy Asri          2
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 };


                            Array - Yessy Asri            3
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 ];




                         Array - Yessy Asri         4
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();
}



                            Array - Yessy Asri                   5
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 :
// Prototipe Fungsi
int Min_Array ( int arr[100], int n );
void sort ( unsigned arr_1[7] );
Syntax – open-array :
    tipe_data Nama_Parameter[ ]
    atau
    tipe_data * Nama_Parameter



                      Array - Yessy Asri          6
Contoh :
// Prototipe Fungsi
int min_arr ( int arr[ ], int n );
void Sort ( unsigned day[ ] );

Contoh Program C++ :
#include <iostream.h>

const int MAX = 10;
int Get_Min ( int a[MAX], int size );
int Get_Max ( int a[MAX], int size );



main() // Program Utama
{ int arr[MAX], n;          // Deklarasi Variabel
        do {
        cout << “Enter number of data [ 2 to “ << MAX << “ ] : “; cin >> n;
      } while ( n < 2 || n > MAX );
                            Array - Yessy Asri              7
for ( int i=0; i<n; i++ )
{
          cout << “arr[“ << i << “] : “; cin >> arr[i] ;
 }
cout << “Smallest value in array is “<< Get_Min (arr, n) << “ n”
     << “Biggest value in array is “<< Get_Max (arr, n) << “ n”;
return 0;
}

// Definisi Fungsi
int Get_Min ( int a[MAX], int size )
{
int small = a[0];
for ( int i=1; i<size; i++ )
if ( small > a[i] ) small = a[i];
return small;
}

                           Array - Yessy Asri                 8
int Get_Max ( int a[MAX], int size )
{        int big = a[0];
         for ( int i=1; i<size; i++ )
                  if ( big < a[i] ) big = a[i];
return big;
}


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.




                             Array - Yessy Asri   9
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:

                            Array - Yessy Asri                 10
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, 5, 7, 4, 2, 0, 1, 2, 3, 9, 7, 5,0, 4, 8, 2, 4, 6 };



                            Array - Yessy Asri                  11
STRING :
 String    merupakan      array      of character.
 Indeks dimulai dari 0.
 Diakhiri dengan karakter ‘0’ (NULL String).
 Untuk    menyimpan        n      buah karakter dibutuhkan deklarasi
  array sebesar n+1.
 C/C++         dilengkapi         dengan kepustakaan (library) yang
  lengkap
 untuk mengakses string (digunakan header file: <string.h> ), seperti
     strlen(), strcpy(), strcat(), strcmp(), strchr(), dll.

Deklarasi :
char name[31]; // pesan untuk 30 karakter
char Kode_Kuliah[5] = “IF454”;
char Kota[3][20] = { “Jakarta”, “Bandung”,“Surabaya” };
char Mata_Kuliah[ ] = “PBO”;
char Barang = Meja; // salah
char Bentuk[2][10] = “Kotak”, “Bulat”; // salah
char Nim[11] = { 0400097001 }; // salah

                       Array - Yessy Asri             12
char Nama[30];
strcpy ( Nama, “Indah Cemerlang” );

Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
main()
{ char Name[81]; // alokasi karakter sebanyak 80 buah
   clrscr();
   cout << “What is your name ? “; gets ( Name );
   if ( strlen ( Name ) > 0 )
           cout << “Hello, “ << Name << “, how are you ? n”;
   else
          cout << “Hmm, I don’t know what is your name.”;
getch(); return 0; }

                           Array - Yessy Asri                   13

Array

  • 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. Array - Yessy Asri 1
  • 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 }; Array - Yessy Asri 2
  • 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 }; Array - Yessy Asri 3
  • 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 ]; Array - Yessy Asri 4
  • 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(); } Array - Yessy Asri 5
  • 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 : // Prototipe Fungsi int Min_Array ( int arr[100], int n ); void sort ( unsigned arr_1[7] ); Syntax – open-array : tipe_data Nama_Parameter[ ] atau tipe_data * Nama_Parameter Array - Yessy Asri 6
  • 7.
    Contoh : // PrototipeFungsi int min_arr ( int arr[ ], int n ); void Sort ( unsigned day[ ] ); Contoh Program C++ : #include <iostream.h> const int MAX = 10; int Get_Min ( int a[MAX], int size ); int Get_Max ( int a[MAX], int size ); main() // Program Utama { int arr[MAX], n; // Deklarasi Variabel do { cout << “Enter number of data [ 2 to “ << MAX << “ ] : “; cin >> n; } while ( n < 2 || n > MAX ); Array - Yessy Asri 7
  • 8.
    for ( inti=0; i<n; i++ ) { cout << “arr[“ << i << “] : “; cin >> arr[i] ; } cout << “Smallest value in array is “<< Get_Min (arr, n) << “ n” << “Biggest value in array is “<< Get_Max (arr, n) << “ n”; return 0; } // Definisi Fungsi int Get_Min ( int a[MAX], int size ) { int small = a[0]; for ( int i=1; i<size; i++ ) if ( small > a[i] ) small = a[i]; return small; } Array - Yessy Asri 8
  • 9.
    int Get_Max (int a[MAX], int size ) { int big = a[0]; for ( int i=1; i<size; i++ ) if ( big < a[i] ) big = a[i]; return big; } 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. Array - Yessy Asri 9
  • 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: Array - Yessy Asri 10
  • 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, 5, 7, 4, 2, 0, 1, 2, 3, 9, 7, 5,0, 4, 8, 2, 4, 6 }; Array - Yessy Asri 11
  • 12.
    STRING :  String merupakan array of character.  Indeks dimulai dari 0.  Diakhiri dengan karakter ‘0’ (NULL String).  Untuk menyimpan n buah karakter dibutuhkan deklarasi array sebesar n+1.  C/C++ dilengkapi dengan kepustakaan (library) yang lengkap  untuk mengakses string (digunakan header file: <string.h> ), seperti strlen(), strcpy(), strcat(), strcmp(), strchr(), dll. Deklarasi : char name[31]; // pesan untuk 30 karakter char Kode_Kuliah[5] = “IF454”; char Kota[3][20] = { “Jakarta”, “Bandung”,“Surabaya” }; char Mata_Kuliah[ ] = “PBO”; char Barang = Meja; // salah char Bentuk[2][10] = “Kotak”, “Bulat”; // salah char Nim[11] = { 0400097001 }; // salah Array - Yessy Asri 12
  • 13.
    char Nama[30]; strcpy (Nama, “Indah Cemerlang” ); Contoh Program C++ : #include <iostream.h> #include <conio.h> #include <string.h> #include <stdio.h> main() { char Name[81]; // alokasi karakter sebanyak 80 buah clrscr(); cout << “What is your name ? “; gets ( Name ); if ( strlen ( Name ) > 0 ) cout << “Hello, “ << Name << “, how are you ? n”; else cout << “Hmm, I don’t know what is your name.”; getch(); return 0; } Array - Yessy Asri 13