Anda di halaman 1dari 20

Array dan Record

By Agung Wibowo M.Kom


Review Array (Larik)
• Nama lain array adalah Larik
• Array adalah struktur data statik yang menyimpan sekumpulan
elemen yang bertipe Homogen.
• Homogen adalah bahwa setiap elemen dari sebuah array tertentu
haruslah mempunyai tipe data yang sama.
• Setiap elemen diakses langsung melalui indeksnya.
• Indeks larik harus tipe data yang menyatakan keterurutan misalnya
integer atau karakter.
Review Array (Larik) - 2
• Banyaknya elemen array harus sudah diketahui sebelum program
dieksekusi.

• Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau
tipe larik lain.

• Array hampir selalu di implementasikan menggunakan memory


berurutan tapi tidak selalu demikian.

• Dapat di akses secara acak


Cara Mendefinisikan Array
• Sebagai Peubah
Contoh :
L : array[1..50] of integer
NamaMhs : array[‘a’..’j’] of string

• Sebagai Tipe Baru


Contoh :
type LarikInt : array[1..100] of integer
P : LarikInt
Cara Mendefinisikan Array - 2
• Mendefinisikan ukuran maksimum
Contoh :
Const Nmaks = 100
type Larikint : array[1..Nmaks] of integer
P : LarikInt

• Cara menterjemahkan ke bahasa C :


#define Nmaks 100 ;
typedef int Larikint[Nmaks+1];
Larikint P;
Menentukan elemen Array (Larik)
• Elemen di tentukan melalui indeksnya.
• Nilai indek harus terdefinisi.

Contoh :
L[4] {mengacu elemen keempat dari larik L }
NamaMhs[‘b’] {mengacu elemen kedua dari larik NamaMhs}
P[k] {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi }
Meng inisialkan Array (Larik)
• menginisialisasi elemen larik adalah memberikan harga awal untuk
seluruh elemen larik, misalnya menginisialisasi dengan nilai 0 seperti
di bawah ini :
Procedure InisDgn0 (output A:larik, input N:integer )
{menginisialisasi setiap elemen larik A[1..N] dengan nol}
{K. Awal : N adalah banyak elemen efektif larik, nilainya terdefinisi}
{K. Akhir : seluruh elemen larik A bernilai nol}
Meng inisialkan Array (Larik) - 2
Contoh :
Deklarasi :
K : integer
Deskripsi :
for k <- 1 to N do
A[k] <- 0
endfor
Mengisi elemen Array dari piranti masukan
• Elemen larik dapat diisi dengan nilai yang dibaca dari piranti masukan seperti
contoh di bawah ini :

Procedure BacaLarik(output A:larik, input N:integer )


{mengisi elemen larik A[1..N] dengan nilai yang dibaca dari piranti masukan}
{K. Awal : N adalah jumlah elemen efektif larik, nilainya terdefinisi}
{K. Akhir : seluruh elemen larik A berisi nilai-nilai yang dibaca dari piranti masukan}

Deklarasi :
K : integer
Deskripsi :
for k <- 1 to N do
read (A[k])
endfor
Array Bertype Tersuktur
• Larik tidak hanya dapat berisi data bertype tunggal, tapi dapat juga
berisi data yang bertipe terstruktur
Contoh :
const Nmaks = 100
type Mahasiswa : record
<nim : integer,
nama_mhs : string,
KodeMK : string,
Nilai : char >
TabMhs : array[1..Nmaks] of Mahasiswa
Array Bertype Tersuktur - 2
Contoh : mengacu pada elemen TabMhs
TabMhs[2].Nim
{mengacu field Nim dari elemen kedua larik }
Write(TabMhs[k].KodeMK)
{menuliskan field KodeMK dari elemen ke k dari larik.}
Deklaasi Array
Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :
1. Type data array

2. Nama variable array

3. Subkrip / index array.

Contoh :

int A[5] ;

{artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer}


Array satu dimensi
Array satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu
baris, tetapi isi dari elemen tersebut boleh berbeda. Dapat disebut juga dengan istilah vektor yang
menggambarkan data dalam suatu urutan.
Deklarasi:
Type_Data Nama_Variabel [index]
Misalnya :
int A[9]
Array dua dimensi
Array dua dimensi yang sering digambarkan sebagai sebuah matriks merupakan perluasan dari
sebuah array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dengan beberapa
kolom elemen maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang
bertipe sama.
Deklarasi:
Type_Data Nama_Variabel [index] [index2]

Misalnya :
int A[4][4]
Array tiga dimensi
Array tiga dimensi digunakan untuk mengelola data dalam bentuk 3 dimensi atautiga sisi.
Deklarasi:
Type_Data Nama_Variabel [index] [index2] [index3]

Misalnya :
int A[4][3][2]
Pencarian Array
Operasi pencarian ialah upaya menemukan nilai tertentu dalam array.
Untuk melakukan operasi ini kita perlu mengakses semua elemen array
dan membandingkannya dengan nilai yang hendak dicari.
REVIEW RECORD (REKAMAN)
• Disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe
dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan
sebelumnya.
• Nama rekaman ditentukan oleh pemrogram.
• Rekaman disebut juga tipe terstruktur.
Contoh :
Sebagai contoh dalam suatu tabel memiliki kolom nama, alamat, tanggal lahir, pekerjaan. Maka satu record
adalah data sau orang yang terdiri atas nama, alamat, tanggal lahir dan pekerjaan.
Deklarasi Record
1. type Titik : record <x : real, y : real>
{jika P dideklarasikan sebagai Titik maka mengacu field pada P adalah P.x dan P.y.}
2. Didefinisikan tipe terstruktur yang mewakili Jam yang dinyatakan sebagai jam (hh), menit (mm) dan detik
(ss), maka cara menulis type Jam adalah :
Deklarasi :
type JAM : record
<hh : integer, {0…23}
mm : integer, {0…59}
ss : integer {0…59}
>
Jika J adalah peubah (variabel) bertipe Jam maka cara mengacu tiap field adalah J.hh, J.mm dan J.ss
Record dalam Bahasa C
1. type Titik : record <x : real, y : real>
diterjemahkan menjadi :
typedef struct { float x;
float y;
} Titik;

2. type JAM : record


<hh : integer, {0…23}
mm : integer, {0…59}
ss : integer {0…59}
>
Tugas Mandiri
1. Sebutkan Kelebihan dan Kekurangan menggunakan Struktur data
Array
2. Sebutkan Kelebihan dan Kekurangan menggunakan Struktur data
Record
3. Buatkan aplikasi pencarian Struktur data array menggunakan
program C++ seperti contoh dibawah ini.

Anda mungkin juga menyukai