Arraypertemuan 3
Arraypertemuan 3
Pertemuan Ke-3
Array (Larik)
Disusun Oleh :
Hartini,S.Kom.,M.Kom
Prodi Informatika
Fakultas Ilmu Komputer
Universitas Dharma AUB Surakarta
Algoritma dan Pemrograman Lanjut
Referensi :
Buku Teks
Munir, Rinaldi (2005), Algoritma dan Pemrograman dalam Bahasa Pascal dan
C, Buku 2, Edisi Ketiga, Penerbit Informatika Bandung, Bab 3, hal 77-113.
Charibaldi, N. (2004), Modul Kuliah Algoritma Pemrograman II, Edisi Kedua,
Yogyakarta
Buku Acuan/Referensi
Brassard, Gilles (1999), Fundamentals of algorithma, PrinteceHall.
Jarne, Stroustrup B. (1997), C++ Programming language, AT &T.
Kristanto, Andri (2003), Algoritma pemrograman C++, Graha Ilmu.
Schildt,Herbert (2000), The Complete Reference C++, McGraw-Hill.
Sedgewick, R. (2000), Algoritma Third edition In C part 5, Addison Wesley.
ARRAY (LARIK)
PENDAHULUAN
Array atau biasa disebut larik adalah koleksi data dimana setiap elemen memakai
nama yang sama dan bertipe sama dan setiap elemen diakses dengan membedakan indeks
arraynya. Setiap rinci data disebut dengan elemen array. Setiap array dapat dioperasikan
menggunakan pemilih elemen yang disebut indeks. Karena itu indeks harus bertipe yang
mempunyai keterurutan (ada suksesor dan ada predesor) misal Integre, Boolean, Char.
Jadi array dipakai untuk menyajikan sekumpulan data yang bertipe sama, dan
disimpan dengan urutan yang sesuai dengan indeks secara kontinu.
Contoh Array : Untai karakter, daftar nomor telepon, daftar belanja, tabel pajak,
vektor, matriks.
ISI
A. Deklarasi Array
Setiap identifier yang akan digunkan harus dipesan dahulu dalam kamus/deklarasi
beserta tipe data yang akan ditampungnya. Demikian pula dengan tipe data array
beserta tipe elemen-elemen yang akan ditampungnya harus pula dipesan dalam
kamus/deklarasi.
Jika kita memesan variabel biasa (tipe data sederhana dan string), maka kita hanya
menentukan tipenya, namun jika memesan array, maka harus pula ditentukan
banyaknya elemen (misal dari 1..100).
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variable yang
diikuti dengan banyaknya lokasi memori yang ingin dibuat.
Contoh :
Dalam Algorima :
c : array[1..5] of integer
Terbentuk 5 variabel c dengan indeks dari 1 smapai dengan 5 bertipe integer.
Dalam bahasa C++ :
int c[5];
C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang
dideklarasikan, dimana nomor indeks selalu dimulai dari 0.
int c[5] = {-12, 0, 20, 85, 1551};
Nilai suatu variabel array dapat juga diinisialisasi secara langsung seperti yang
terdapat di dalam tanda kurung kurawal pada saat deklarasi di atas.
int x[5] = [0];
Deklarasi variable array sekaligus mengisi setiap lokasi memorinya dengan
nilai 0.
Tipe data yang akan ditampung array bisa sembarang tipe data misal Integer, Boolean,
Char, Real, String bahkan yang terstruktur seperti Set, Record atau array lagi.
B. Array Dimensi Satu
Bentuknya (Pseudocode) :
nama_var : array [rangeindeks] of tipe
Bentuknya (C++):
tipe nama_var[ukuran];
Dengan :
tipe : menyatakan jenis elemen array (int, char dan lain-lain)
rangeindeks : menyatakan indeks awal sampai demgan indeks akhir dari var
array yang dibuat
ukuran : menyatakan jumlah maksimal elemen array
Nilai indeks awal dan indeks akhir yang dideklarasikan di algoritma tidak diperlukan
pada deklarasi bahasa C++. Pada bahasa C++ hanya banyak elemennya saja (ukuran).
Jadi ukuran = indeksakhir – indeksawal + 1.
Contoh :
Algoritma :
Algoritma PangkatDua
Deklarasi
square : array [1..100] of integer
i,k : integer
Deskripsi
for i 1 to 10 do k
i + 1 square[i]
k*k
output(”Pangkat dari ”,k,” adalah ”, square[i])
endfor
Program C++ :
#include<iostream.h>
main()
{
int square[100];
int i,k;
Contoh :
Sebuah matrik A berukuran 2x3 dapat dideklarasikan sebagai berikut :
Algoritma :
a : array [1..2,1..3] of integer
a1,1 11
a1,2 7
a1,3 4
a2,1 12
a2,2 3
a2,3 9
C++ :
int a[2][3] = {{11, 7, 4},{12, 3, 9}};
yang akan menempati lokasi memori dengan susunan berikut :
0 1 2
0 11 7 4
1 12 3 9
Contoh Program 1 :
#include<iostream.h>
main()
{
int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
Output :
123
456
123
450
120
400
Contoh Program 3 :
//program penjumlahan matrik
#include<iostream.h>
main()
{
int A[3][2]={{1,2},{3,4},{5,6}};
int B[3][2]={{7,8},{9,10},{11,12}};
int C[3][2];
int i,j;
cout<<"Matrik A = \n";
for(i=0; i<3 ; i++)
{
for(j=0; j<2 ; j++)
cout<<A[i][j]<<" ";
cout<<endl;
}
cout<<"Matrik B = \n";
for(i=0; i<3 ; i++)
{
for(j=0; j<2 ; j++)
cout<<B[i][j]<<" ";
cout<<endl;
}
//penjumlahan matrix
for(i=0; i<3 ; i++)
for(j=0; j<2 ; j++)
C[i][j]=A[i][j] + B[i][j];
cout<<"Matrik C = \n";
for(i=0; i<3 ; i++)
{
for(j=0; j<2 ; j++)
cout<<C[i][j]<<" ";
cout<<endl;
}
Contoh :
int data_huruf[2][4][6];
PENUTUP
Array merupakan suatu tipe data terstruktur. Deklarasi tipe ini tidak hanya dapat
untuk data satu dimensi tetapi bisa sampai n dimensi. Array dua dimensi biasanya dipakai
untuk perhitungan matriks dua dimensi.
SOAL-SOAL