Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

[ Array ]. Karakteristik zLarik (array) adalah tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe yang sama. zLarik mempunyai jumlah.

Presentasi serupa


Presentasi berjudul: "[ Array ]. Karakteristik zLarik (array) adalah tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe yang sama. zLarik mempunyai jumlah."— Transcript presentasi:

1 [ Array ]

2 Karakteristik zLarik (array) adalah tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe yang sama. zLarik mempunyai jumlah komponen yang banyaknya tetap. zKomponen-komponen itu disebut tipe komponen atau tipe basis.

3 Karakteristik zBanyaknya komponen dalam larik ditunjukkan oleh indeks yang disebut tipe indeks. zSetiap komponen di larik dapat diakses dengan menunjukkan nilai indeksnya atau disebut juga subscript

4 Dimensi Array zArray 1 Dimensi : Tipe array yang hanya memiliki nilai index tunggal. Misal : A : array [1..100] of byte; Array B(jan:mrt)=B(i) B : array [jan,feb,mrt] of integer;

5 Dimensi Array zArray 2 Dimensi : Tipe array yang memiliki dua nilai index. Misal : A : array [1..100,1..5 ] of real; Array B(a:b,c:d)= B(I,j) B : array [jan,feb,mrt,apr] of array [feb,mrt] of integer;

6 Dimensi Array zArray Multi Dimensi : Tipe array yang memiliki banyak nilai index. Misal : A : array [1..7,1..5,1..3,..] of byte; Array B(a:b,c:d,e:f,..)=B(I,j,k,..)

7 Parameter Array zBase Address (b) Alamat byte pertama dari array yang diberikan pada saat ditempatkan di dalam suatu lokasi/address dalam memori.

8 Parameter Array zComponent Length (L) Panjanganya ruang memori untuk menyimpan satu komponen, dinyatakan dalam byte. zIndex (i) Nomor index dari data array.

9 Parameter Array zLower Bound (Lb) & Upper Bound (Ub) Lb adalah nilai index yang terkecil sedangkan Ub nilai index yang terbesar. zDimension (d) Besarnya dimensi dari suatu array.

10 Array Dimensi 1 Gambar fisik array dimensi 1 : A(1)A(2)A(3)A(4)A(N)... Lower Bound (Lb) Upper Bound (Ub)

11 Array Dimensi 1 Bentuk Umum : Suatu array dimensi satu A bertipe data T memiliki notasi : A(Lb:Ub) A(I) = Lb,Lb+1,Lb+2,Lb+3,…,Ub Dan setiap elemen A(I) bertipe data T.

12 Operasi Array Dimensi 1 1.Menghitung jumlah elemen E = Ub – Lb +1 Dimana : E : Jumlah elemen Ub: Upper Bound Lb: Lower Bound

13 Operasi Array Dimensi 1 2. Menentukan posisi alamat awal dari nilai data AD = b + ((i – 1) x L) Dimana : AD: posisi alamat awal b: base address i: index L : panjang ruang memori

14 Array Operasi Dasar pada Array 1.Operasi Penciptaan 2.Operasi penghancuran 3.Operasi pemrosesan transversal 4.Operasi pencarian (table look-up) 5.Operasi sorting

15 Array Penciptaan dan Penghancuran Setiap struktur data harus dilengkapi kedua operasi ini. Penciptaan disebut inisialisasi, operasi untuk mempersiapkan struktur data untuk operasi-operasi berikutnya. Penghancuran menyatakan ketidakberlakuan atau pembebasan memori, menyerahkan memori ke manajemen memori agar dapat digunakan untuk keperluan lain. Operasi penghancuran digunakan dalam struktur data dinamis seperti pointer.

16 Array Penyimpanan dan Pengembalian Nilai Biasanya bahasa pemrograman menyediakan sintaks untuk penyimpanan dan pengembalian nilai elemen pada posisi tertentu. Contoh: A[10]:=78;berarti penyimpanan nilai 78 ke posisi ke 10 dari array A. C:=A[10];berarti pengambilan nilai dari elemen ke 10 dari array A.

17 Array Pemrosesan Transversal Adalah pemrosesan mengolah seluruh elemen array secara sistematis / terurut. Contoh penggunaan transversal pada array integer: Prosedur untuk memasukkan nilai seluruh elemen array Prosedur untuk menuliskan seluruh nilai ke layar Fungsi untuk mencari nilai ekstrim Fungsi menjumlah seluruh elemen array Fungsi merata-rata seluruh elemen array

18 Array 1.Prosedur untuk memasukkan nilai seluruh elemen array Procedure inputNilai; Var i:integer; Begin for i:=1 to max do begin write(‘Elemen ke’,I,’ :‘); readln(arrayA[i]); end; End;

19 Array 2.Prosedur untuk menuliskan seluruh nilai ke layar Procedure outputNilai; Var i:integer; Begin for i:=1 to max do begin write(‘Elemen e’,I,’:‘); write(arrayA[i]); end; End;

20 Array 3.Fungsi untuk mencari nilai ekstrim Function maximum:integer; Var I,maks:integer; Begin maks:=0; for i:=1 to max do if (arrayA[i]>maks) then maks:=arrayA[i]; maximum:=maks; End;

21 Array Function minimum:integer; Var i,min:integer; Begin min:=arrayA[1]; for i:=2 to max do if (arrayA[i]

22 Array 4.Fungsi menjumlah seluruh elemen array Function sumArray:integer; Var i,jumlah:integer; Begin jumlah:=0; for i:=1 to max do jumlah:=jumlah+arrayA[i]; sumArray:=jumlah; End;

23 Array 5.Fungsi merata-rata seluruh elemen array Function averageArray:real; Var i,rata,jumlah:integer; Begin jumlah:=0; for i:=1 to max do jumlah:=jumlah+arrayA[i]; averageArray:=jumlah/max; End;

24 Array Pencarian di array (table Look-Up) Pencarian di array adalah proses pencarian sebuah nilai di array. Klasifikasi pencarian array: Pencarian sekuen (sequnetial searching) Pencarian biner (binary searching)

25 Array Pencarian sekuen (sequential searching) Pencarian dilakukan secara berurutan mulai elemen pertama sampai elemen terakhir. Program menghasilkan nilai indek dimana elemen pertama kali ditemukan. Indek akan bernilai 0 jika tidak ditemukannya nilai yang dicari. Pencarian dihentikan begitu elemen pertama ditemukan.

26 Array Pencarian sekuen tanpa boolean Function SeqSearch1(cari:integer):integer; Var i,indeks:integer; Begin indeks=0; for i:=1 to max do if (arrayA[i]=cari) then begin indeks:=i; exit; end; SeqSearch1:=indeks; End;

27 Array Pencarian sekuen dengan boolean Function SeqSearch2(cari:integer):integer; Var i:integer;ketemu:boolean; Begin ketemu:=false; for i:=1 to max do if (arrayA[i]=cari) then begin ketemu:=true; exit; end; if ketemu then SeqSearch2:=i else SeqSearch2:=0; End;

28 Array Pencarian biner (binary searching) Pencarian dengan biner harus mempunyai syarat bahwa data harus dalam kondisi terurut. Pemeriksaan dilakukan dengan mereduksi jumlah elemen tabel menjadi setengah elemen semula. Cara yang dilakukan adalah sebagai berikut: Bandingkan harga yang dicari dengan harga elemen tengah. jika lebih kecil maka pencarian yang sama dilakukan pada elemen sebelah kiri.

29 Array Pencarian biner (binary searching) jika lebih besar maka pencarian yang sama dilakukan pada elemen sebelah kanan. Pencarian akan menghasilkan nilai indek dimana nilai pertama kali ditemukan.

30 Array Function IdxSearch(cari:integer):integer; Var i,min,maks,indek,tengah:integer; Begin indek:=0;maks:=max;min:=1; tengah:=(maks+min) div 2; while ((atas cari) do begin if(arrayA[elemen]

31 Array Pengurutan Array Pengurutan dibedakan menjadi 2: Pengurutan internal Pengurutan eksternal

32 Array Pengurutan internal Pengurutan terhadap array. Pengurutan ini dilakukan terhadap sekumpulan data di media memori internal.

33 Array Pengurutan eksternal Pengurutan data di memori eksternal. Biasanya data bervolume besar sehingga tidak mampu dimuat semuanya di memori utama.

34 Array Metode pengurutan 1.Maximum sort. 2.Insertion sort. 3.Bubble sort. 4.Counting sort. 5.Shaker sort. 6.Heap sort. 7.Shell sort. 8.Merge sort. 9.Quick sort. 10.Radix sort.

35 Array Keunggulan dan Batasan Array Keunggulan: Array sangat cocok untuk negaksesan data acak. Pengaksesan elemen dapat dilakukan langsung tanpa melalui elemen-elemen lain. Jika berada di suatu lokasi elemen, maka sangat mudah mengakses elemen tetangga baik pendahulu (predecessor) maupun penerus (successor).

36 Array Keunggulan dan Batasan Array Keterbatasan: Array harus bertipe homogen. Tidak bisa suatu elemen bertipe karakter dan elemen lain bertipe interger atau yang lain. Penyisipan dan penghapusan elemen di array sangat tidak efisien. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi.


Download ppt "[ Array ]. Karakteristik zLarik (array) adalah tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe yang sama. zLarik mempunyai jumlah."

Presentasi serupa


Iklan oleh Google