Cari Blog Ini

Jumat, 25 Maret 2011

Praktikum Algoritma dan Struktur Data II




Array dan Structure






1. Array
Array merupakan sekumpulan data yang mempunyai nama dan tipe yang
sama, Array disebut juga variabel berindeks. Nilai suatu data dalam Array ditentukan
oleh nama dan indeksnya. Array banyak digunakan pada operasi yang melibatkan
indeks seperti pada statistik
Tipe data Array dapat berupa Array satu dimensi (1D), dua dimensi (2D),
tiga dimensi (3D) atau banyak dimensi. Cara pendeklarasiannya dalam bahasa C++,
yaitu :
·    Array satu dimensi :
Tipe_Array nama_Array[ukuran]
Contoh : double Array_1[10]
·    Array dua dimensi :
Tipe_Array nama_Array[ukuran1][ukuran2]
Contoh : int Array_2[10][10]
·    Array tiga dimensi :
Tipe_Array nama_Array[ukuran1][ukuran2][ukuran3]
Contoh : float Array_3[10][10][10]


Array dalam bahasa C++ tidak dimulai dari indeks satu, tetapi dimulai dari
indeks 0 (nol). Misalnya dideklarasikan suatu Array satu dimensi : int x[3] berarti
Array yang terjadi adalah : x[0], x[1], x[2], x[3].


Memberi Nilai Pada Array
Untuk memberi nilai pada Array dapat dilakukan dengan mengakses indeksnya, misal
:
Array_1[0] = 10.0;
Array_1[1] = 20.0;



Selain   itu,   memberi   nilai   pada   Array   juga   dapat   dilakukan   dnegan   menggunakan
struktur perulangan for yang mana jumlah perulangan yang trjadi disesuaikan dengan
ukuran Array. Misal :
for (int i=0;i<10;i++)
{
    x[i] = i;
}


Membaca Nilai Dari Array
Nilai Array dapat langsung ditampilkan misalnya :
cout<<Array_1[0]<<endl;
cout<<Array_1[0]<<endl;
Atau dapat juga dengan bantuan strukur for, misalnya :
for (int i=0;i<10;i++)
{
    cout<<x[i];
}


Selain bertipe numerik, Array dapat juga bertipe char. Array char dapat dianggap
sebagai sebuah string. Contoh :
char nama[15] = “STIKOM BALI”;
char alamat[ ] = “JL. TEUKU UMAR NO.222”;
Untuk memberi nilai pada suatu string, tidak diperbolehkan menggunakan operator
penugasan (=). Untuk memberi nilai string dapat menggunakan tiga cara yaitu dengan
inisialisasi, diambil dari papan ketik atau menggunakan fungsi strcpy().


Contoh penerapan array sebagai berikut :

//program guided 1
#include "iostream.h"
#include "conio.h"
void main()
{
 int data[5];
 //input data ke array

 for (int k=0;k<5;k++)
 {
  cout<<"masukkan data["<<k<<"] = ";
  cin>>data[k];
 }
 //tampil data array
 for (int j=0;j<5;j++)
 {
  cout<<"data["<<j<<"] = "<<data[j]<<endl;
 }
 getch();
}


//program guided 2
#include "iostream.h"
#include "conio.h"


void main()
{
 int data[5];
 int rata, total = 0;
 //input data ke array
 for (int k=0;k<5;k++)
 {
  cout<<"masukkan data["<<k<<"] = ";
  cin>>data[k];
 }
 //menghitung total nilai pada array
 for (int j=0;j<5;j++)


 {
total = total + data[j];
 }
 //menghitung rata - rata
 rata = total / 5;
 cout<<"rata - rata data pada array = "<<rata<<endl;
 getch();
}



//program guided 3
#include "iostream.h"
#include "conio.h"


void main()
{
 int data[3][3];
 int rata, total = 0;
 //input data ke array
 for (int k=0;k<3;k++)
 {
  for (int j=0;j<3;j++)
  {
   cout<<"masukkan data["<<k<<"]["<<j<<"] = ";
   cin>>data[k][j];
  }
 }
 //menghitung total nilai pada array
 for (int m=0;m<3;m++)
 {


  for (int n=0;n<3;n++)
  {
   cout<<data[m][n]<<" ";
total = total + data[m][n];
  }
  cout<<""<<endl;
 }
 //menghitung rata - rata
 rata = total / 3;
 cout<<"rata - rata data pada array = "<<rata<<endl;
 getch();
}



//program guided 4
#include "iostream.h"
#include "conio.h"


void main()
{
 char nama[] = "STIKOM BALI";
 int nomor;
 char alamat[15], alamat_lain[15];
 cout<<"masukkan data tentang : "<<endl;
 cout<<"masukkan nomor : ";
 cin>>nomor;
 cout<<"masukkan alamat : ";
 cin>>alamat;
 //cara memberi nilai pada string
 strcpy(alamat_lain, alamat);
 cout<<"Data yang dimasukkan :"<<endl;
 cout<<"nama : "<<nama<<endl;
 cout<<"nomor : "<<nomor<<endl;
 cout<<"alamat : "<<alamat<<endl;
 cout<<"alamat lain : "<<alamat_lain<<endl;
 getch();
}

2. Structure

Dalam C++, tipe data struktur yang dideklarasikan dengan kata kunci struct, dapat
mempunyai komponen dengan sembarang tipe data, baik tipe data dasar maupun tipe
data turunan, termasuk fungsi. Dengan kemampuan ini, tipe data struktur menjadi
sangat   berdaya   guna.   Misalnya,   kita   ingin   membentuk   tipe   data   struktur   yang
namanya kotak. Maka dapat dideklarasikan sebagai berikut:

struct tkotak

{
double panjang;
double lebar;
};

tkotak kotak;

Untuk   memberi   nilai   ukuran   kotak   tersebut,   kita   dapat   menggunakan   perintah-
perintah ini:

kotak.panjang = 10;
kotak.lebar = 7;

Untuk memberi nilai panjang dan lebar kotak, salah satu caranya adalah seperti di
atas. Cara lain untuk memberi nilai panjang dan lebar adalah dengan membentuk
suatu fungsi. Karena fungsi ini hanya digunakan untuk memberi nilai data panjang
dan lebar suatu kotak, tentunya fungsi ini khusus milik objek kotak, sehingga harus
dianggap sebagai anggota struktur kotak. C++ sebagai bahasa pemrograman dapat
mendefinisikan anggota tipe struktur yang berupa fungsi. Dengan menambah fungsi
tersebut, maka struktur kotak menjadi lebih jelas bentuknya.

struct tkotak
{
double panjang;
double lebar;
void SetUkuran(double pj, double lb)
{
panjang = pj;
lebar = lb;
};
};
tkotak kotak;

dengan tipe struktur kotak seperti itu, untuk memberi nilai panjang dan lebar hanya
dengan memanggil fungsi SetUkuran()

kotak.SetUkuran(10,7);

Selain punya ukuran panjang dan lebar, kotak juga mempunyai  keliling dan luas.
Dengan demikian, kita dapat memasukkan fungsi untuk menghitung keliling dan luas
ke dalam struktur kotak. Sebagai catatan, bahwa definisi fungsi yang menjadi anggota
struktur dapat ditempatkan di luar tubuh struktur.  Dengan cara ini maka deklarasi
struktur kotak menjadi seperti berikut:


struct tkotak
{
double panjang;
double lebar;
void SetUkuran(double pj, double lb);
double Keliling();
double Luas();
};
tkotak kotak;


Contoh penerapan struktur kotak dapat dilihat dalam program berikut:

#include<iostream.h>
#include<conio.h>
struct tkotak

{
double panjang;
double lebar;
void SetUkuran(double pj, double lb);
double Keliling();
double Luas();
};

void main()
{
tkotak kotak;
kotak.SetUkuran(10,7);
cout<<"Panjang : "<<kotak.panjang<<endl;
cout<<"Lebar : "<<kotak.lebar<<endl;
cout<<"Keliling : "<<kotak.Keliling()<<endl;
cout<<"Luas : "<<kotak.Luas()<<endl;
getch();
}

void tkotak::SetUkuran(double pj, double lb)
{
panjang = pj;
lebar = lb;
}

double tkotak::Keliling()
{
return 2*(panjang+lebar);
}

double tkotak::Luas()
{
return panjang*lebar;
}

Tampilan Output:
Panjang : 10
Lebar : 7
Keliling : 34
Luas : 70

Tidak ada komentar:

Posting Komentar