STRUKTUR DATA

11
STRUKTUR DATA Array

description

STRUKTUR DATA. Array. Pengantar Array / Larik. Array atau larik adalah sekumpulan elemen yang bertipe sama . Array merupakan suatu himpunan elemen , terurut dan homogen . - PowerPoint PPT Presentation

Transcript of STRUKTUR DATA

Page 1: STRUKTUR DATA

STRUKTUR DATAArray

Page 2: STRUKTUR DATA

Pengantar Array / Larik• Array atau larik adalah sekumpulan elemen yang bertipe

sama. • Array merupakan suatu himpunan elemen, terurut dan

homogen. • Terurut, kita artikan bahwa elemen tersebut dapat

diidentifikasi sebagai elemen pertama, elemen kedua, dan seterusnya sampai elemen ke-n.

• Homogen adalah bahwa setiap elemen dari sebuah array mempunyai tipe data yang sama.

• Deklarasi array pada bahasa C++tipe_data nama_array[elemen];

• Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang tersebut

Page 3: STRUKTUR DATA

Contoh:int nilai[6];

Elemen1

Elemen2

Elemen3

Elemen4

Elemen5

Elemen6

Array Nilai

0 1 2 3 4 5

Subscript / Index

Elemen Array

Page 4: STRUKTUR DATA

• Elemen bisa didefinisikan atau pun tidak, dan bisa langsung diberi nilai awal. Contoh :int nilai[]={16, 2, 77 40, 12071};

• Untuk mengakses data pada array, gunakan nomor index sebagai penunjuk lokasi memori, seperti format ininama_array[index];

• Index array pada C++ dimulai dari 0

Page 5: STRUKTUR DATA

• Nilai/data yang ada pada array harus sama jumlahnya dengan elemen array yang sudah didefinisikan.

• Jika elemen dikosongkan, artinya anda tidak membatasi jumlah nilai yang ada pada array tersebut.

• Array terbagi 2, yaitu array satu dimensi dan multidimensi.

• Array dapat juga dijadikan argumen/ parameter sebuah fungsi.

Page 6: STRUKTUR DATA

Array 1 Dimensi

• Subscript/index dari elemen array menentukan posisi elemen pada urutan array.

• Secara umum, array berdimensi satu A dengan tipe T dan subscript bergerak dari X ke Y, ditulis sebagai A(X:Y)= (A(I)), I = X, X+1, X+2, … , Y dan setiap elemen A(I) bertipe data T.

• Banyaknya elemen sebuah array disebut rentang atau range, maka array A(X:Y) mempunyai range sebesar Y-X+1

Elemen1

Elemen2

Elemen3

Elemen4

Elemen5

Elemen6

Page 7: STRUKTUR DATA

Pemetaan Array Dimensi Satu ke Storage

• Ada beberapa cara untuk menyajikan array dalam memory.

• Skema penyajian dapat dievaluasi berdasar 4 karakteristik :• Kesederhanaan dari akes elemen• Mudah untuk ditelusuri• Efisiensi dari utilitasi storage• Mudah dikembangkan

• Misal terdapat array NIM dengan batas bawah subscript 1 dan batas atas subscript N.

• Storage untuk elemen NIM (I+1) adalah berdampingan dengan storage untuk elemen NIM(I).

Page 8: STRUKTUR DATA

Pemetaan Array Dimensi Satu ke Storage

• Untuk menghitung alamat (address) awal dari elemen NIM(I) diperlukan hal sebagai berikut :• Address awal dari ruang storage yang dialokasikan bagi

array tersebut• Ukuran dari masing-masing elemen array.

• Misal address awal dari array, kita nyatakan dengan B, disebut juga dengan base-location.

• Misal masing-masing elemen array menduduki S byte.

• Maka address awal dari NIM(I) adalah : NIM(I) = B + (I-L) * S

Page 9: STRUKTUR DATA

Pemetaan Array Dimensi Satu ke Storage

• ContohArray slogan (0:6)

Array slogan (dimensi 1) misalkan dipetakan ke memori mulai alamat 5002 (Base address). Kebutuhan memori tiap elemen (S) = 1 byte.

Alamat awal elemen slogan[i] di memori dihitung sbb : B + (I-L) * SContoh:Elemen slogan[5] alamat awalnya di memori adalah:5002 + (5 – 0) * 1 = 5002 + 5 * 1 = 5007

Page 10: STRUKTUR DATA

Array 1 Dimensi dalam C++#include<conio.h>#include<iostream.h>

void main(){ float nilai[5] = {56.4, 67.6, 57.7, 76.3, 72.5}; int i; for(i=0; i<5; i++) { cout<<"Nilai Array Index ke - "<<i<<" = "; cout<<nilai[i]<<endl; } getch();}

Page 11: STRUKTUR DATA

Latihan• Sebuah array bola berdimensi satu bertipe char bergerak

dari subscript 0 sampai 9 dengan base addres 35424– Hitung berapa range nya.– Gambarkan pemetaan dalam storage bila diisi data [intermilan].– Elemen ke berapakah data “m” dan berapa alamat memorinya.

• Sebuah array nim berdimensi satu bertipe int bergerak dari subscript 5 sampai 8 dengan base address 523

– Hitung berapa range nya.– Gambarkan pemetaan dalam storage bila diisi data

[234,567,234,984].– Berapa alamat awal dari 984?

• Diketahui sebuah elemen “k” dari array [kurangasin] mempunyai alamat memory 8900. Jika “k” adalah subscript ke 4 dan tipe datanya char, berapakah subscript terakhir dan gambarkan pemetaan dalam storage.