Litelatur Array

PRAKTIKUM STRUKTUR DATA
LITELATUR ARRAY DAN STRUCT

 

Disusun Oleh :

ACHMAD CHAIRUL
065109277

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
JURUSAN ILMU KOMPUTER
UNIVERSITAS PAKUAN
BOGOR

Litelatur Array

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karena array kemungkinkan 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.

Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variable bernama c yang mempunyai lokasi memori yang semuanya bertipe int.
C[0] -45
C[1] 6
C[2] 0
C[3] 72
C[4] 1543
C[5] 43
C[6] 4
Masing-masing nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah nilai dari c[3].
DEKLARASI ARRAY
Variable array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variable array c di atas adalah : int c[7];
Perlu diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori yang sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0. Nilai suatu variable array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya;
Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}
Berarti setiap lokasi memori dari variable array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal.
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variable array dengan 10 lokasi memori:
Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
Untuk memperjelas gambaran anda tentang array perhatikan contoh aplikasi variable array, yaitu program untuk menghitung jumlah setiap elemen dalam suatu array. Sebagai gambaran dari program tersebut, dapat dibuat sebuah algoritma sebagai berikut:
1. Tentukan elemen array sebanyak yang diinginkan (dalam hal ini, elemen array tersebut berjumlah 12 buah)
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah elemen array diatas yaitu 12 dikurangi dengan , kenaikannya adalah 1)
3. Lakukan perulangan sesuai dengan langkah 2
4. Lakukan penjumlahan masing-masing elemen array sampai batas akhir indeks terpenuhi
5. Tampilkan penjumlahan semua elemen array
6. Selesai.
Sedangkan implementasi dalam program dapat dilihat berikut ini.
Contoh Program array
/*Program :array1.cpp*/
#include
#define SIZE 12
main()
{
int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int indeks, total =0;
for(indeks=0; indeks<=SIZE-1; indeks++)
total += a[indeks];
printf(“nTotal setiap eleen array adalah %d”,total);
return 0;
}
Bila program diatas dijalankan, akan muncul hasil :
Total setiap elemen array adalah 383. Adapun keterangan dari program diatas adalah sebagai berikut : Hasil penjumlahan setiap elemen array diperoleh dari jumlah data atau elemen array sebanyak 12 buah yang sudah didefinisikan pada awal program yaitu #define SIZE 12. Kemudian setiap elemen array dari a[0] yang berisi data, a[1] yang berisi data 3 di jumlahkan sampai dengan a[11] yang berisi data 45. Proses penjumlahan dilakukan pada loop dimulai dari 0 sampai data yang terakhir atau elemen terakhir.

ARRAY DIMENSI SATU
Bentuknya :
Tipe nama_var[ukuran];
Dengan :
Tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
Ukuran : menyatakan jumlah maksimal elemen array
Contoh :
Float nilai_ujian[5];
Pada turbo C++ array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]
Masing-masing berbentuk float dan berjumlah 5 elemen. Selain itu, deklarasi array juga dapat berupa :
Static int bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai dengan deklarasi array diatas, maka isi variable array telah ditentukan yaitu :
Bulan[0] bernilai 1
Bulan[1] bernilai 2
Bulan[2] bernilai 3
Bulan[3] bernilai 4
Bulan[4] bernilai 5
Bulan[5] bernilai 6
Bulan[6] bernilai 7
Bulan[7] bernilai 8
Bulan[8] bernilai 9
Bulan[9] bernilai 10
Bulan[10] bernilai 11
Bulan[11] bernilai 12

Untuk memperjelas tentang array dimensi satu, perhatikan maslah berikut ini :
Misalkan Anda diminta membuat algoritma dan program untuk menampilkan bilangan dari 1 sampai bilangan 10, dengan pangkatnya masing-masing. Adapun batas nilai maksimal yang di simpan adalah 100. Sesuai yang telah Anda pelajari , bahwa bilangan 1 pangkatnya adalah 1. Hasil ini diperoleh dari 1*1, kemudian bilangan 2 pangkatnya adalah 4, hasil ini diperoleh dari 2*2 sampai bilangan 10 yang pangkatnya adalah 100, hasil ini diperoleh dari 10*10. Algoritma dari permasalahan diatas adalah berikut ini :
1. Tentukan elemen array untuk menampung nilai perkalian
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini , nilai awal indeks adalah 0, batas akhir indeks adalah 10, dan kenaikannya adalah 1)
3. Lakukan perulangan sesuai langkah 2
4. Nilai awal indeks ditambah dengan 1
5. Lakukan perkalian masing-masing elemen array sampai batas akhir indeks terpenuhi.
6. Tampilkan perkalian semua elemen array
7. Selesai .
Contoh program array dimensi satu
/*Program :array2.cpp*/
#include
int main()
{
int square[100];
int i; /*loop index*/;
int k; /*the integer*/
/*calculate the squares */
for (i=0; i<10; i++)
{
k= i+1;
square[i]=k*k;
printf(“nPangkat dari %d adalah %d “, k, square[i]);
}
return 0;
}
Bila program dijalankan akan muncul hasil :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100
Penjelasan :
Dari program diatas, Anda dapat melihat ada 10 buah elemen yang masing-masing nilainya akan dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori sudah dipesan tempat sebanyak 100.
Sedangkan apabila array akan dikirim ke sebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa diikuti dengan tanda apapun, seperti contoh berikut :
int c[5] = {-45, 0, 6, 72, 1543};


JUMLAH (c, 5)
—-
Dalam contoh diatas, yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa variable array c dan sebuah konstanta 5. Perhatikan bahwa variable array ditulis hanya c tanpa notasi tambahan apapun. Deklarasi variable array yang menjadi parameter dari suatu fungsi dituliskan dengan nama variable array yang diikuti dengan tanda kurung [], tanpa menuliskan banyaknya lokasi memori yang diinginkan.
ARRAY DIMENSI DUA
Struktur array yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut variable array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut :

int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
Dan definisi variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]
Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini :
Contoh Program array dimensi dua
/*Program :array2.cpp*/
#include
void printArray(int[][3]);
main()
{ int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
int matrik2[2][3] = {1, 2, 3, 4, 5};
int matrik3[2][3] = {{1, 2},{4}};
printArray (matrik1);
printArray (matrik2);
printArray (matrik3);
return 0; }
void printArray (int a[][3])
{ int i,j;
for (i=0; i<=1; i++)
{ for (j=0; j<=2; j++)
printf(“%d”,a[i][j]);;
printf(“n”);
}
}
Bila program diatas dijalankan, akan mucul hasil :
123
456
123
450
120
400

Penjelasan :
Dari program diatas untuk matrik 1, penulisannya adalah 123 456, sedangkan pada matrik 2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan untuk data kolom ke 3 dan baris ke 2 tidak diisi. Sedangkan matrik 3 penulisannya adalah 120 400. Dari matrik 3 disini kita bisa melihat bahwa pada baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak diisi juga diisi 0. Dalam program tersebut, juga digunakan fungsi untuk menampung hasil penjumlahan matrik.
Perhatikan contoh lain :
Int datasiswa[4][3];
Deklarasi diatas digunakan untuk mendeklarasikan suatu data siswa yang berbentuk demikian :
No Nama Kelas Jumlah Siswa
Tahun 1989 Tahun 1990 Tahun 1991
1 Kelas 1 50 55 49
2 Kelas 2 60 60 55
3 Kelas 3 56 56 56
4 Kelas 4 49 50 54
Dari deklarasi diatas maka angka empat [4] menyatakan jumlah kelas, dan angka indek [3] menyatakan tahun. Data siswa [0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55. Atau jumlah siswa kelas 1 pada tahun 1990 adalah 55.
Bentuk data siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54
Array ini dapat pula diberi nilai tetap dengan static seperti pada array dimensi satu. Deklarasinya adalah sebagai berikut :
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};

ARRAY DIMENSI BANYAK
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.
Contoh :
Static int dataktp[2][7][8][5];

Mencari nilai tertinggi, nilai terendah, rata-rata
#include
#include
#include
#include
void input(int x[],int n)
{
for (int i=1;i<=n;i++)
{cout<<”Masukan Nilai “<>x[i];}
}
void tinggi(int x[],int n)
{
int max,min;
max = x[1];
min = x[1];
for (int i=2;i<=n;i++)
{
if (max < x[i]) max = x[i]; if (min > x[i])
min = x[i];
}
cout<<”\nNilai tertinggi = “< cout<<”Nilai terendah = “< }
double rata(int x[],int n)
{
double a,b;
a = 0;
for (int i=1;i<=n;i++)
{
a = a + x[i];
}
b = a/n;
cout<<”Rata-Rata : “< }
void main()
{
int p[50],N;
cout<<”Banyaknya Data : “;cin>>N;
cout< input(p,N);
tinggi(p,N);
rata (p,N);
getch();
}

Litelatur Struct

Struktur
Digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe dan ukuran yang berbeda.
Cara deklarasi variabel struct:
struct
{
;
;

;
};
Struktur
Cara mendefinisikan variabel struct:

[struct] ;
Cara mengakses struct:

. = ; atau
= .;
Contoh Program
/* struct */
#include
#include
void main() {
struct Mahasiswa {
char *nim;
char *nama;
float nilai;
};
Contoh Program
Mahasiswa datMhs = {“052120001”, “SUSAN”, 85.00};
clrscr();
printf(“Nim : %s\n”, datMhs.nim);
printf(“Nama : %s\n”, datMhs.nama);
printf(“Nilai : %0.2f\n”, datMhs.nilai);
getch();
}
Array pada Struktur
Cara deklarasi variabel struct array:

[struct] [] =
{{, , …, },
{, , …, },
{, , …, }};
Cara akses:

[]. = ;
Contoh Program
/* struct */
#include
#include
#include
void main() {
struct Mahasiswa {
char *nim;
char *nama;
float nilai;
};
Contoh Program
Mahasiswa datMhs[] ={{“052120001”, “SUSAN”, 85.30},{“052120002”, “HELEN”, 75.45},{“052120003”, “BUDI SANTOSO”, 70.00}};
clrscr();
cout << setprecision(2);
cout << setiosflags(ios::left | ios::showpoint);
for(int i = 0; i < 3; i++) {
cout << setw(12) << datMhs[i].nim
<< setw(25) << datMhs[i].nama
<< setw(10) << datMhs[i].nilai<< endl;
}
getch();
}
Struct terdapat pada bahasa C/C++, sedangkan Record pada bahasa Pascal. Struct/Record adalah sekumpulan elemen data yang memiliki tipe dan panjang data yang berbeda-beda tapi memiliki nama yang sama. Setiap elemen data disebut dengan member.

Syntax untuk membentuk struct:
structnama_struct
{
tipe_data_member1 nama_member1;
tipe_data_member2 nama_member2;
tipe_data_member3 nama_member3;
}nama_objek;
Nama_objek merupakan sebuah pengenal bagi objek yang menggunakan tipe struct tersebut.
Pertama yang harus anda ketahui adalah bahwa struct itu akan membentuk tipe data baru. Satu kali struct didefinisikan, maka tipe data baru berupa nama struct tersebut dapat digunakan dalam program sebagaimana tipe data lainnya seperti int, char, short, dll.

Contoh :
struct product
{
int weight;
float price;
};
product apple;
product banana, melon;
Objek apple, banana dan melon menggunakan tipe data
product.
Kita dapat mendeklarasikan objek yang akan menggunakan struct tersebut pada saat deklarasi struct. seperti di bawah ini
struct product
{
int weight;
float price;
}apple, banana, melon;
Untuk mengakses member struct pada
masing2 objek, gunakan tanda titik(.) yang
disisipkan antara nama objek dan nama
member struct.
Contoh :
apple.weight
apple.price
banana.weight
banana.price
melon.weight
melon.price
Contoh Program 1
#include
#include
#include
struct movies_t
{
char title[50];
int year;
} mine, yours;
void printmovie (movies_t movie);
int main ()
{
char mystr[5];
strcpy(mine.title,”2001 A Space Odyssey“);
mine.year = 1968;
cout << “Enter title: “;
cin.getline(yours.title,sizeof(yours.title));
cout << “Enter year: “;
cin.getline(mystr, sizeof(mystr));
yours.year = atoi(mystr);
cout << “My favorite movie is:\n”;
printmovie (mine);
cout << “And yours is:\n “;
printmovie (yours);
getch();
return 0;
}
void printmovie(movies_t movie)
{
cout << movie.title;
cout << ” (” <<
movie.year << “)\n”;
}

SUMBER ARRAY DAN STRUCT

http://www.nusinau.com/pengenalan-array-dan-string/
http://indahnyaopie.wordpress.com/2008/10/28/contoh-program/

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: