WELCOME TO MY BLOG

Selasa, 02 April 2013

Algoritma Dan Pemrograman 2 C++ (Array)

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.
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 };
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 };
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 ];
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 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
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 );
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;
}
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.
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:
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 };
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
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;  }


2 komentar: