Selasa, 20 April 2010

Makalah Struktur Data

BAB 1

PENDAHULUAN

A. LATAR BELAKANG

Pada bahasa pemrograman tingkat tinggi, seperti Pascal dan C, telah tersedia jenis data standar integer, yang merupakan jenis data untuk menyimpan bilangan bulat. Secara algoritmik, jenis data integer tidak mempunyai batas nilai maksimum maupun batas nilai minimum, namun tidak demikian halnya dalam implementasi pada bahasa pemrograman. Sebagai contoh pada bahasa Turbo Pascal dan Turbo C, jenis data integer terbesar diimplementasikan dalam 4 byte data, yang berarti membatasi nilainya dari -2147483648 sampai dengan 2147483647. Pembatasan nilai ini akan meningkatkan efisiensi kompilator, tetapi di sisi yang lain akan membatasi perhitungan yang bisa dilakukan. Secara praktis hal ini diatasi dengan menggunakan jenis data real (atau float pada bahasa C) untuk melakukan perhitungan dengan bilangan bulat yang cukup besar, akan tetapi solusinya tidak selalu memuaskan. Jenis data real seringkali tidak bisa dipergunakan pada perhitungan yang menuntut kecermatan tinggi. Suatu cara untuk mengatasi masalah ini adalah dengan mendefinisikan suatu struktur data baru menggunakan array. Tujuan penulisan makalah ini adalah untuk memenuhi tugas mata kuliah struktur data dan juga mendefinisikan tentang array.

B. RUMUSAN MASALAH

Makalah ini merumuskan beberapa permasalahan sebagai berikut :

1. Apakah definisi dari array ?

2. Apa karakteristik array ?

3. Apa saja jenis-jenis array ?

BAB 2

PEMBAHASAN

A. PENGERTIAN ARRAY

Array atau larik adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama.

Array dapat juga diartikan sebagai sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.

Array merupakan konsep yang penting dalam pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0, elemen kedua memiliki indeks 1, dan seterusnya.

v Karakteristik array :

1. Mempunyai batasan dari pemesanan alokasi memori (bersifat statis).

2. Mempunyai Type data yang sama (bersifat Homogen)

3. Dapat diakses secara acak

v Deklarasi variabel array

Bentuk umum :

Tipe_data nama_variabel[indeks];

Contoh : float bil[10];

Indeks array dimulai dari nol(0) , sedang nomor elemen biasanya dimulai dari satu(1). Nomor elemen dapat dibuat sama dengan nomor indeks untuk mempermudah pembuatan program yaitu dengan memberi indeks satu lebih banyak dari jumlah data yang dibutuhkan.

B. JENIS - JENIS ARRAY

Array dalam Borland C++ , dapat digolongkan menjadi 3 buah dimensi :

§ Array berdimensi 1

§ Array berdimensi 2

§ Array berdimensi 3

1. Array berdimensi 1

Sebelum digunakan , variabel array perlu dideklarasikan terlebih dahulu .

Cara mendeklarasikan variabel array sama seperti deklarasi variabel yang lain, hanya saja diikuti oleh suatu indeks yang menunjukkan 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 maximum elemen array

Contoh pendeklarasian array :

Float na [5];

Jumlah elemen array

Nama array

Tipe data elemen array

Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil di dalamnya .

Penggambaran secara logika :

Elemen array


Elemen

1

Elemen

2

Elemen

3

Elemen

4

Elemen

5

0 1 2 3 4

Subscrip/index

Subscrip / index array pada C++ selalu dimulai dari Nol (0).

Rumus untuk menentukan jumlah elemen dalam array :

n

(index array)

i=1

= perkalian dari index sebelumnya (untuk array dimensi dua & tiga)

Contoh :

Suatu array A dideklarasikan sebagai berikut :

Int A[10]; maka jumlah elemen array dimensi 1 tersebut adalah = 10 .

Contoh program :

/*contoh program array 1 dimensi*/
#include
#define max 5 /*nilai konstanta*/

main()
{
int x[max];
int j;
printf(“masukan nilai : \n”);
for(j=0; j{
printf(“x[%d] = “,j);
scanf(“%d”,&x[j]);
}
printf(“menampilkan nilai : \n”);
for(j=0; j{
printf(“x[%d] = %d\n “,j,x[j]);
}
}

Output yang dihasilkan :

Ø Inisialisasi array dimensi 1

Inisialisasi dapat dilakukan bersama dengan deklarasi atau tersendiri. Inisialisasi suatu array adalah dengan meletakkan elemen array di antara tanda kurung kurawal {}, antara elemen yang satu dengan lainnya dipisahkan koma.

int bil[2] = {4,1,8}

bil[0] = 4

bil[1] = 1

bil[2] = 8

Automatic array adalah Inisialisasi array dilakukan di dalam fungsi tertentu. Hanya compiler C yang berstandar ANSI C yang dapat menginisialisasikan automatic array.

Cara menginisialisasikan array dari compiler yg tidak mengikuti standar ANSI C:

a. Diinisialisasikan di luar fungsi sebagai variabel GLOBAL/EXTERNAL ARRAY.

int bil[2]={0,0,0};

main()

b. Diinisialisasikan didlm fungsi sebagai variabel LOKAL/STATIC ARRAY.

main()

{

static int bil[2]={0,0,0};

....

Pada automatic array yang tidak diinisialisasikan , elemen array akan memiliki nilai yang tidak beraturan. Bila global & static array tidak diinisialisasi maka semua elemen array secara otomatis akan diberi nilai nol(0).

Contoh :

main()

{

int y;

int hitung=0;

int x[1];

for(y=0;y<5;y++)

{

hitung+=y;

x[y]=hitung;

printf("%3d - %3d\n",y,x[y]);

}

}

Output:

2. Array berdimensi 2

Array berdimensi 2 tersusun dalam baris dan kolom, dimana index pertama menunjukkan baris dan index kedua menunjukkan kolom. Array dimensi 2 dapat digunakan untuk melakukan pendataan. Misal pendataan penjualan , pendataan nilai , dan 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 :

Float bil [5] [5]

Jumlah kolom

Jumlah baris

Nama array

Type data elemen array

Menentukan jumlah elemen dalam array berdimensi 2 :

n

(index array)

i=1

= perkalian dari index sebelumnya

Contoh :

Suatu array A dideklarasikan sebagai berikut :

Float bil [5][5];

Maka jumlah elemen array dimensi 2 tersebut adalah : (5)*(5) = 25

Contoh program :

#include

#include

main ()

{

int i,j;

char a[3][5];

for (int i=0;i<3;i++)

{

for (int j=0;j<5;j++)

{

printf ("%x ",&a[i][j]);

}

printf ("\n");

}

getch ();

return 0;

}

Outputnya: :

Ø Inisialisasi array dimensi 2

main()

{

float bil[2] [3] =

{ { 1,2,3}, /*baris 0*/

{ 4,5,6}, /*baris 1*/

}

elemen bil [0] [0] = 1

elemen bil [0] [1] = 2

elemen bil [0] [2] = 3

elemen bil [1] [0] = 4

elemen bil [1] [1] = 5

elemen bil [1] [2] = 6

Contoh :

main()

{

int x[3][5];

int y,z;

int hitung=0;

for(y=0;y<3;y++)

{

printf("y = %d\n",y);

for(z=0;z<5;z++)

{

hitung+=z;

x[y][z] = hitung;

printf("%/t%3d - %3d\n",z,x[y][z]);

}

}

}

Outputnya :

3. Array berdimensi 3

Array dimensi 3 tersusun dalam bntuk baris, kolom, dan 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

Contoh pendeklarasian array :

Int data_jual [2] [3] [2]

Jumlah kolom

Jumlah isi baris

Jumlah baris

Nama array

Tipe data array

Menentukan jumlah elemen dalam array berdimensi 2 :


n

(index array)

i=1

= perkalian dari index sebelumnya


Contoh :

Suatu array A dideklarasikan sebagai berikut :

Int data_jual [2][3][2]

Maka jumlah elemen array dimensi 3 tersebut adalah : (2)*(3)*(2) = 12

Contoh program :

#include

#include

#include

#include

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 - "<

cout <<"data ke - "<

cout <

cout <<"jumlah penjualan : ";cin>>data_jual [i][j][k];

}

cout <

}

cout <

}

cout <

cout <<"Data penjualan pertahun"<

cout <<"------------------------------------------";

cout <

cout <<"Tahun Hasil Tahun penjualan ke. ";

cout <

cout <<"ke. ke. ---------------------";

cout <

cout <<" 1 2 ";

cout <

cout <<"------------------------------------------";

cout <

for (i=0;i<2;i++)

{

for (j=0;j<3;j++)

{

cout <

cout <

for (k=0;k<2;k++)

{

cout <

cout <

cout <" ";

}

cout <

}

cout <

}

cout <<"-------------------------------------------";

cout <

getch ();

}

Outputnya :

Ø Inisialisasi array dimensi 3

Bentuk pendefinisian suatu array dapat dilihat dari contoh berikut :

Tipe_data nama_array [jumlah elemen] = {nilai array}

Contoh :

#include

#include

#include

#include

main ()

{

int i,j,k;

float data [2][4][2]={

{{1,2,3},

{4,5,6},

{7,8,9},

{10,11,12}},

{{13,14,15},

{16,17,18},

{19,20,21},

{22,23,24}}

};

clrscr ();

cout <<"---------------------------------------";

cout <

cout <<"Tahun Hasil Tahun Penjualan ";

cout <

cout <<" ke. ke. ----------------------";

cout <

cout <<" 2002 2003 2004 ";

cout <

cout <<"---------------------------------------";

cout <

for (i=0;i<2;i++)

{

for (j=0;j<4;j++)

{

cout <

cout <

for (k=0;k,3;k+1)

{

cout <

cout <

cout <<" ";

}

cout <

}

cout <

}

cout <<"---------------------------------------";

cout <

getch ();

}

BAB 3

PENUTUP

Ø KESIMPULAN

Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.

Array merupakan konsep yang penting dalam pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0, elemen kedua memiliki indeks 1, dan seterusnya.

Karakteristik array :

Mempunyai batasan dari pemesanan alokasi memori (bersifat statis).

Mempunyai Type data yang sama (bersifat Homogen)

Dapat diakses secara acak

Array dalam Borland C++ , dapat digolongkan menjadi 3 buah dimensi :

§ Array berdimensi 1

§ Array berdimensi 2

§ Array berdimensi 3