Puji Syukur kehadirat Tuhan Yang Maha Esa,
karena atas berkat dan Rahmat-Nya. Kami dapat menyelesaikan Karya tulis ilmiah
ini yang ditulis dalam bentuk makalah. Kami sangat berharap makalah ini dapat berguna
dalam rangka menambah wawasan serta pengetahuan kita mengenai Array Dimensi Satu
dan Array Dimensi Dua.
Pada kesempatan ini juga, penulis tidak lupa
mengucapkan terimakasih yang sebesar-besarnya Kepada Yth:
1.
Ibu Rabiatul Adwiya, S.Kom, selaku Dosen mata kuliah Sturktur Data.
2.
Teman – teman kelas 2A.30 Amik Pontianak
Penulis menyadari bahwa dalam menyusun
makalah ini masih banyak kekurangannya. Oleh karena itu kritik dan Saran yang
bersifat membangun senantiasa penulis harapkan. Semoga makalah sederhana ini dapat dipahami bagi
siapapun yang membacanya.
Pontianak, Juni
2014
Penulis
DAFTAR
ISI
Kata Pengantar
…………………………………………………………………………….. 1
Daftar Isi …………………………………………………………………………………… 2
Bab I PENDAHULUAN
a.
Latar Belakang
……………………………………………………………………...3
b. Rumusan
Masalah ………………………………………………………………….
3
c. Tujuan ……………………………………………………………………………… 3
d. Manfaat
…………………………………………………………………..................
3
e.
Metode Penulisan ………………………………………………………………….. 3
Bab II PEMBAHASAN
a.
Pengertian Array ……………………………………………………………………4
b. Karakteristik Array
………………………………………………………………….4
c. Deklarasi Array ……………………………………………………………………..4
d. Array …………...……………………………………………………………………5
e.
Contoh Program
C++ ……………………………………………………………… 9
Bab III KESIMPULAN DAN SARAN
a.
Kesimpulan ………………………………………………………………………...11
b.
Saran ……………………………………………………………………………….11
Daftar Pustaka ……………………………………………………………………………..12
BAB I
PENDAHULUAN
A.
Latar Belakang
Pemograman dalam struktur data ada
beberapa macam. Salah satunya adalah pemograman C++. Dalam pemograman ini
biasanya menggunakan variable Array,
Struktur dan Linked List.
Namun makalah ini hanya
membahas
tentang Array dimensi satu dan array dimensi dua. Dimana
Array ini sangat berbeda dengan
struktur yang menggunakan tingkatan prosedur. Pemograman ini merupakan
pemograman yang berbeda dari pemograman lainnya misalnya VB, Delphi atau Pascal
namun perbedaan juga tidak begitu signifikan pada pemograman pascal.
B.
Rumusan Masalah
1.
Pengertian Array dan contoh-contoh programnya pada penggunaan program C++.
2.
Pengertian Struktur dan contoh-contoh programnya pada penggunaan program
C++.
C.
Tujuan
a.
Untuk memenuhi nilai tugas dari dosen pada pada kuliah Struktur Data.
b.
Bisa menggunakan/menjalankan program
C++ terutama pada Array dimensi satu dan array
dimensi dua.
D.
Manfaat
a. Supaya kita
mengerti atau mengetahui apa yang di maksud dengan Array dan beberapa
contoh programnya, sehinnga kita dapat menjalankan programnya dengan baik dan
benar.
b. Mengetahui program C++ Array dimensi satu dan Array dimensi dua.
E.
METODE PENULISAN
Metode
penulisan makalah ini adalah kajian yang berhubungan dengan browsing google yang sesuai topik
yakni Array
Dimensi Satu dan Array Dimensi Dua.
BAB II
PEMBAHASAN
A.
Pengertian
Array
Array atau
larik didefinisikan sebagai pemesanan alokasi memory berurutan.definisi ini
kurang tepat, karena terjadi kerancuan antara struktur data dan
representasinya. Memang benar
array hampir selalu di implementasikan menggunakan memory berurutan tapi tidak
selalu demikian.
Semua elemem array bertipe sama.
Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah
elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa setiap
elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama.
B.
Karakteristik
Array
Ada tiga hal yang harus di ketahui untuk mengenal karakteristik Array,
yaitu:
1.
Mepunyai batasan dari pemesanan
alokasi memori (bersifat statis)
2.
Mempunyai tipe data sama (bersifat homogen)
3.
Dapat diakses secara acak.
C.
Deklarasi
Array
Ada tiga hal
yang harus di ketahui dalam mendeklarasikan array, yaitu :
1.
Type data array
2.
Nama variable array
3.
Subkrip / index array.
Jenis-jenis
Array:
·
Array Dimensi Satu (One Dimensional
Array)
·
Array Dimensi Dua (Two Dimensional
Array)
·
Array Dimensi Tiga (Thee Dimensional
Array)
Contoh deklarasi dari array adalah
sebagai berikut :
int A[5] : artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.
D. Array
1. Array
Dimensi Satu
Dapat disebut juga dengan dengan
istilah vektor yang menggambarkan data dalam suatu urusan.
Deklarasi : Type_Data Nama_Variabel
[index]
Misalnya: int A[5];
N
i = 1
|
Penggambaran secara logika:
A[1]
|
A[2]
|
A[3]
|
A[4]
|
A[5]
|
0 1 2 3 4
Rumus untuk menentukan jumlah elemen
dalam array adalah :
Pemetaan
(Mapping) Array Dimensi Satu Ke Storage
Rumus : @A[i]
= B + (i – 1) * L
Dimana : @A[i] : Posisi
array yang dicari
B
: Posisi awal index di memori computer
i : Subkrip
atau index array yang di cari
L : Ukuran
atau besar memori suatu tipe data
Contoh soal:
Suatu array A dideklarasikan sebagai
berikut:
Int A[5]; dengan alamat awal index
berada di 0011(H) dan
ukuran memory type data integer=2
Tentukan berapa alamat array A[3]?
Jawabannya:
Diket:@A[i]= A[3] Penyelesaian:
B= 0011(H) A[3]
= 0011(H)+(3-1)*2
L = 2 = 0011(H)+4(H)
= 0015(H) 4 Desimal= 4 Hexa
0 1 2 3 4
A[1]
|
A[2]
|
A[3]
|
A[4]
|
A[5]
|
0011 0013 0015 0017 0019
2.
Array Dimensi Dua
Sering di gunakan dalam
menterjemahkan matriks pada pemograman.
Deklarasi :
Type_Data Nama_Variabel [index1] [index2];
Contoh:
int A[3][2];
n
i = 1
|
Menentukan jumlah elemen dalam array
dimensi dua :
Contoh:
Suatu array x dideklarasikan sbb:
Int x[4][3]:
Maka jumlah
elemen array dimensi dua tersebut adalah(4)*(3)=12
Pemetaan
(Mapping) Array Dimensi Dua Ke Storage
Terbagi dua cara pandang
(representasi) yang berbeda :
1.
Secara kolom per kolom (coloumn
major order / CMO)
|
2.
Secara baris per baris (row major
order / RMO)
|
Keterangan :
@M[i][j] = Posisi array yang di cari
M[0][0] = Posisi
alamat awal index array
i = Baris
j = Kolom
L = Ukuran memory type data
K = Banyaknya elemen per kolom
N = Banyaknya elemen per baris.
0
1
Penggambaran secara logika 0
Contoh : int M[3][2]: (array dengan 3 baris & 2 kolom)
1
2
Berdasarkan Cara pandang :
1.
Kolom Per Baris (Row Major Order /
RMO)
M[0,0]
|
M[0,1]
|
M[1,0]
|
M[1,1]
|
M[2,0]
|
M[2,1]
|
Jumlah elemen per baris = 2
2.
Baris Per Kolom (Coloumn Major Order
/ CMO)
M[0,0]
|
M[1,0]
|
M[2,0]
|
M[0,1]
|
M[1,1]
|
M[2,1]
|
Jumlah elemen per kolom = 3
Contoh soal
pementaan:
Suatu array x dideklarasikan sebagai
berikut:
Float x[4][3],dengan alamat index
x[0][0] berada di 0011(H) dengan ukuran type data float = 4,tentukan berapa array x[3][2].
Penyelesaian :
Secara Baris Per Baris (Row Major Oder / RMO)
@M[i][j] = @M[0][0] + {(i - 1) * N + (j - 1)} * L
X[3][2] = 0011(H) + {(3 – 1) *
3 + (2 – 1)} * 4
= 0011 (H)+ 28(D)
1C(H)
= 0011(H)+ 1C (H)
= 002D(H)
Lanjutan Contoh Pemetaan :
Penyelesaian :
Secara Kolom Per Kolom (Coloumn Major Oder / CMO)
@M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L
X[3][2] = 0011(H) + {(2 – 1) * 4 + (3 – 1)} * 4
= 0011(H) + 24 (D)
18 (H)
= 0011(H) + 18 (H)
= 0029(H)
Keunggulan array adalah sebagai berikut :
1.
Array sangat cocok untuk pengaksesan
acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui
elemen-elemen lain.
2.
Jika berada di suatu lokasi elemen,
maka sangat mudah menelusuri ke elemen-elemen pertama, elemen kedua,dan elemen
ke-n.
3.
Jika elemen-elemen array adalah
nilai-nilai independen dan seluruhnya harus terjaga,maka penggunaan
penyimpanannya sangat efisien.
4.
Sebuah array dapat mempunyai elemen
yang seluruhnya berupa integer atau character atau string bahkan dapat pula
terjadi suatu array mempunyai elemen berupa array.
Kelemahan array adalah sebagai
berikut :
Array
mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai
aplikasi karena array mempunyai batasan sebagai berikut :
1.
Array harus bertipe homogen
mempunyai type data yang sama. Kita tidak dapat mempunyai array dimana satu
elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
2.
Kebanyakan bahasa pemrograman
mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi.
Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis.
3.
Tidak efisien dalam penggunaan
memori
4.
Menyiakan banyak waktu komputasi
5.
Pada suatu aplikasi, representasi
statis tidak dimungkinkan
Contoh
Program C++
1.
Array Dimensi Satu
#include<iostream.h>
#include<conio.h>
main()
{
int data[5]; // array dengan 5
elemen bertipe integer
int i;
clrscr();
cout<<"Input
Data"<<endl; //entri 5 data
for(i=0;i<=4;i++){
cout<<"Data ke -
"<<i<<": ";
cin>>data[i];
}
cout<<"Cetak
Data"<<endl; //tampilkan data setelah entri
for(i=0;i <= 4;i++){
cout<<"Data ke -
"<<i<<":"<<data[i];
}
getch();
return 0;
}
Hasil
Keluaran :
2.
Array
Dimensi Dua
#include<iostream.h>
#include<conio.h>
main()
{
int matrix[3][3];
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan angka pada
baris ke "<<i<<" kolom ke "<<j<<" :
";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<"
";
}
cout<<endl;
}
getch();
}
Hasil
Keluaran :
BAB III
KESIMPULAN
& SARAN
A. Kesimpulan
Array
merupakan bagian dari struktur data yaitu termasuk kedalam struktur data
sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara
pada komputer. Apabila kita
membuat program dengan data yang sudah kita ketahui batasnya maka kita
menggunakan Array (type data statis), namun apabila datanya belum kita ketahui
batasnya maka gunakan pointer (type data dinamis).
B.
Saran
Bagi pembaca di harapkan mengamalkan
ilmu yang di dapat setelah membaca makalah ini. Dan jika dalam makalah Kami ini terdapat kata – kata yang tidak berkenan di hati para pembaca Kami mohon maaf, kiranya kritik dan saran yang bersifat membangun sangat penulis butuhkan
untuk kesempurnaan makalah ini ke depannya. Semoga makalah ini bermanfaat bagi
pembaca sekalian, khususnya bagi diri penulis. Amin.
.
DAFTAR PUSTAKA
Site www.interdoctor.com ©2003 Pediatric Cardiology
Medical Group - East Bay, Inc. All Rights Reserved.http://heartcenter.seattlechildrens.org/what_to_expect/echocardiogram.aspEchocardiography
http://asecho.org/The American Society of
Echocardiography
http://strukturdata18.blogspot.com.es/2013/05/makalah-struktur-dar.html
http://www.scribd.com/doc/24308575/Makalah
google.com_array_dimensi_satu_dan_dua
0 komentar:
Posting Komentar