Jenis Dan JENIS Dan ARRY

Jenis-Jenis Array

OLEH:
I PUTU ARY PRADNYA PUTRA
NIM: 14102202

PROGRAM STUDI SISTEM KOMPUTER
STMIK STIKOM INDONESIA
DENPASAR
2015

Kata pengantar
Dengan mengucapkan puji syukur kepada Tuhan Yang Maha Esa yang telah
melimpahkan segala rahmat dan karunia-Nya, sehingga dapat mengerjakan makalah ini
dengan baik dan lancar. Saya berharap makalah ini dapat memberikan motivasi kepada
para pembaca untuk lebih giat mempelajarinya.
Saya juga meminta maaf yang sebesar-besarnya apabila ada kekurangan, kesalahan
bahkan kata-kata yang tidak berkenan di hati dan disisi lain saya sangat mengharapkan ada
masukan baik kritik maupun saran dari saudara. Sehingga penyusun dapat memperbaiki apa
yang jadi kekurangan kami karena tidak ada manusia yang sempurna kecuali Tuhan Yang
Maha Esa. Akhir kata saya mengharapkan makalah ini banyak manfaatnya

bagi saya sendiri khususnya maupun semua pihak pada umumnya.

Batubulan, Oktober 2015

Penulis

BAB: I Pendahuluan
1.1 LATAR BELAKANG
Dengan adanya kemajuan Tekhnologi di dunia ini akal pikiran manusia semakin
mahir dalam menciptakan sesuatu yang bermanfaat bagi kehidupan mereka, salah satunya
dalam pembuatan program – program yang sangat membantu mereka dalam menyelesaikan
pekerjaan mereka dengan cepat, baik dan memuaskan.Maka dari itu penulis menyusun
makalah mengenai array, queue, record dan stack merupakan salah satu bagian dari
kemajuan zaman yang betul betul terlihat manfaatnya. Array bisa juga disebut sebagai salah
satu program yang terlahir dari dunia tekhnologi lewat pola pikir manusia yang bermanfaat
untuk menyelesaikan suatu penghitungan.
1.2

MAKSUD DAN TUJUAN
Maksud dan tujuan penulis dalam penyusunan makalah ini sebagi penambah

informasi bagi penulis yang di outputkan lewat tulisan yang terdapat pada makalah ini dan
berharap penulis memberikan informasi dipenyusunan makalah ini yang isinya tentang
array yang sangat jelas bagi pembaca. Dengan mengetahui tentang array maka penulis
maupun pembaca dapat menambah pengetahuan ilmu yang menyangkut dalam dunia
tekhnologi pemograman.

1.3

RUMUSAN MASALAH
Sesuai dengan mata kuliah ini “ Struktur Data ” untuk menambah ilmu pengetahuan
mahasiswa. Rumusan masalah dari materi Array ini sebagai berikut :
1. Apa saja yang termasuk Materi dalam mata kuliah Array?
2. Bagaimana penjelasan tentang materi Array ?
3. Apa saja jenis-jenis Array?
4. Bagaimana bahasa penulisan Array di pemograman?

1.4

METODE PENULISAN
Metode penulisan untuk pembuatan makalah ini penulis menggunakan metode

informasi yang diambil atau didapat dari internet dan sedikit metode pengetahuan penulis
yang didapat dari pembelajaran penulis dalam ruang lingkup perkuliahan.

BAB : II Pembahasan
2.1

PENGERTIAN ARRAY
Array atau larik di definisikan 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.

2.2
·
·
·


KARAKTERISTIK ARRAY
Mempunyai batasan dari pemesanan alokasi memori (bersifat statis).
Mempunyai tipe data sama (bersifat homogen).
Dapat diakses secara acak.

2.2.1 DEKLARASI ARRAY
Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :
·
Type data array
·
Nama variable array
·
Subkrip / index array.
Contoh deklarasi dari array adalah sebagai berikut :
int A[5] ; artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe
integer.

2.2.2

JENIS ARRAY

ARRAY DIMENSI SATU
Deklarasi : Type_Data Nama_Variabel [index]
Rumus untuk menentukan jumlah elemen dalam array adalah :
n

(Index Array)

·

i=1
Ket:
= Perkalian dari index sebelumnya (untuk array dua dan tiga dimensi).
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
ARRAY DIMENSI DUA
Deklarasi : Type_Data Nama_Variabel [index1] [index2]
Menentukan jumlah elemen dalam array dimensi dua :
n
(Index Array)

i=1
Ket:
·
= Perkalian dari statemen sebelumnya
Pemetaan (mapping) array dimensi dua ke storage terbagi dua cara pandang
(representasi) yang berbeda yaitu :
1)
Secara kolom per kolom (coloumn major order / CMO)
@M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L
2)
Secara baris per baris (row major order / RMO)

@M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L
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.
ARRAY DIMENSI TIGA

Adalah suatu array yang setiap elemennya merupakan tipe data array juga yang
merupakan array dimensi dua.
Contoh :
Penyajian data mengenai banyaknya mahasiswa dari 20 perguruan tinggi di Jakarta,
berdasarkan tingkat (1 sampai 5), dan jenis kelamin (pria atau wanita). Misalkan array
tersebut dinamakan MHS. Ambil subskrip pertama, tingkat = 1, 2, ..., 5; subskrip kedua,
jenis kelamin (pria = 1, wanita = 2), dan subskrip ketiga, perguruan tinggi adalah K = 1,
2, ..., 20. Jadi MHS(4,2,17) menyatakan jumlah mahasiswa tingkat 4, wanita, dari
perguruan tinggi 17.
ARRAY DIMENSI BANYAK
ARRAY atau Larik dapat juga berdimensi lebih dari satu yang disebut dengan larik dimensi
banyak, yang dapat berdimensi dua, dimensi tiga dan seterusnya.

Larik dimensi 2 mewakili suatu bentuk table atau matrik, yaitu index yang pertama dapat
menunjukkan baris dan index kedua dapat menunjukkan kolom dari table atau metric.
Bentuk Umum :
Nama_larik = array [tipe index1] of array [tipe index2] of tipe larik
Atau
Nama_larik = array [tipe index1, tipe index2] of tipe larik
2.3

PENGURUTAN ARRAY
Pengurutan atau sorting adalah proses yang paling sering di lakukan dalam pengolahan
data.pengurutan di bedakan menjadi dua, yaitu :
a. Pengurutan internal
Pengurutan dilakukan terhadap sekumpulan data di media memory internal komputer
dimana data dapat di akses elemennya secara langsung.
b. Pengurutan eksternal
Pengurutan data di memory sekunder. Biasanya data bervolume besar sehingga tidak
mampu dimuat semuanya di memori utama.
2.4

KEUNGGULAN DAN KELEMAHAN ARRAY


A. 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
tetangga, baik elemen pendahulu atau elemen penerus
3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,maka
penggunaan penyimpanannya sangat efisien.
B. 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. 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 :
·
Tidak efisien dalam penggunaan memori.
·
Menyiakan banyak waktu komputasi.

·
Pada suatu aplikasi, representasi statis tidak dimungkinkan.

2.5

ARRAY DALAM BEBERAPA BAHASA PEMOGRAMAN
Bahasa Pascal
Larik dalam bahasa Pascal dapat didefinisikan dengan indeks awal dan indeks akhirnya.
Contoh:
program larik;
var arr: array[1..10] of integer; //larik dengan indeks awal 1 dan indeks akhir 10
begin
arr[1] := 5; //memasukkan nilai ke indeks 1
writeln(arr[i]); //mencetak angka 5
end.

Bahasa C
Larik dalam bahasa C selalu dimulai dari indeks 0. Larik dapat didefinisikan secara statik
atau dinamik. Jika didefinisikan statik, ukuran larik akan tetap dari awal program hingga
akhir program. Jika didefinisikan dinamik, ukuran larik dapat berubah selama program

berjalan karena memesan tempat pada memori heap. Proses pemesanan tempat pada
memori disebut dengan alokasi. Sedangkan proses pembebasan memori yang sudah dipesan
disebut dengan dealokasi.
Contoh larik statik:
#include
int main(){
int arr[10]; //indeks awal 0 dan indeks akhir 9
arr[0] = 5;
printf("%d\n", arr[0]);
}

Contoh larik dinamik:
#include
int main(){
int * arr;
arr = (int *) malloc(10 * sizeof(int));
arr[0] = 5;
free(arr);
pada heap dibebaskan
arr = (int *) malloc(5 * sizeof(int));
memori
free(arr);
untuk menghancurkan larik dinamik
}

//memesan 10 tempat pada memori
//menghancurkan larik. Memori
//memesan 5 tempat baru pada
//di akhir program jangan lupa

Bahasa Java
Dalam bahasa Java tipe data larik direpresentasikan sebagai sebuah objek khusus. Karena
itu pada bahasa Java larik yang dibuat selalu bersifat dinamik. Namun walaupun bersifat
dinamik, larik pada bahasa Java tidak perlu dihancurkan karena proes penghancuran
dilakukan secara otomatis melalui suatu prosedur yang disebut dengan Pengumpulan
sampah (Inggris: Garbage Collecting).
Sama seperti bahasa C, indeks larik selalu dimulai dari 0.
Contoh:

public class larik {
public static void main(String args[]) {
int[] arr = new arr[10];
arr[0] = 5;
System.out.println(arr[0]);
}
}

PHP
Sama seperti di JAVA larik di PHP juga merupakan sebuah object lebih tepatnya lagi map
terorder. Ada dua tipe larik di PHP, indexed array (simple array) dan associated array
(key=>value array). Di PHP, element larik bisa berupa string, Bilangan, boolean, dan
semua tipe data primitive lainnya, termasuk larik juga bisa menjadi element larik lainnya.
Cara medefinisikan larik:
#mendefinisikan array kosong
$larik = array();
Contoh indexed array (simple array):
$jam = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
$hari = array('senin', 'selasa', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu');
Contoh associated array:
$bulan = array('1'=>'January', '2'=>'February', '3'=>'Maret', '4'=>'April');
$komponenKalender = array(
'bulan'=> array(1, 2, 3, 4, 5, 6, 7, 8, 9 ,10 , 11, 12),
'hari' => array('senin', 'selasa', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu')
);
2.6 CONTOH ARRAY PENJUMLAHAN , PENGURANGAN, DAN PERKALIAN
DALAM PROGRAM C++
#include
#include
#include
main()
{

//deklarasi
int matrixa[3][3],matrixb[3][3],matrixc[3][3];
int i,j;
char opr;
//input nilai matriks ke-1 dari baris dan kolom
for(i=1;i