StrukDat -Array Statis2

Post on 18-Nov-2015

30 views 2 download

description

Mungkin bisa bermanfaat untuk anda .. khususnya yang mengambil jurusan teknik informatika di unikom. coba saja dulu

Transcript of StrukDat -Array Statis2

Algoritma & Pemrograman

Array StatisSTRUKTUR DATA

Universitas Komputer Indonesia

IF32222Oleh : Tati Harihayati M., M.T.

PENGERTIAN ARRAY STATISSekumpulan data yang bertipe data sama yang bisa diakses lewat indeksnya.

REPRESENTASI ARRAY STATISArray statis direpresentasikan di memori secara kontinyu. Contoh: array Angka (1:5).Angka(1)Angka(2)Angka(3)Angka(4)Angka(5)

Angka

DEKLARASI UMUM (1)Algoritma:

Contoh:

Kamus: nama_var_array:array[1..maks_array] of tipedataKamus: Angka : array[1..5] of integer

DEKLARASI UMUM (2)Algoritma:

Contoh:

Kamus: Const maks_array = ...

nama_var_array:array[1..maks_array] of tipedataKamus: Const Maks_Angka = 5

Angka : array[1..maks_Angka] of integer

DEKLARASI UMUM (3)Algoritma:

Kamus: Const maks_array = ... Type nama_type_array=array[1..maks_array] of tipedata

nama_var_array : nama_type_array

DEKLARASI UMUM (3)Contoh:

Kamus: Const maks_Angka = 5 Type array_Angka = array[1..maks_Angka] of integer

Angka : array_Angka

DEKLARASI ARRAY OF RECORDAlgoritma:

Kamus: Const maks_array = ... Type nama_record = record < field_1:tipedata_1, field_2:tipedata_2, ... field_n:tipedata_n > endrecord nama_type_array=array[1..maks_array] of nama_record

nama_var_array : nama_type_array

8

DEKLARASI ARRAY OF RECORDContoh:

Kamus: Const Maks_Mhs = 50 Type Data_Mahasiswa = record nim,nama:string, nilai :integer, indeks :char endrecord Mahasiswa = array[1..Maks_Mhs] of Data_Mahasiswa

Mhs : Mahasiswa

OPERASi-OPERASI PADA ARRAY Penciptaan (create)TraversalPencarian (searching)Pengurutan (sorting)Penghancuran (destroy)

OPERASI PENCIPTAANOperasi penciptaan (create) adalah proses mempersiapkan array untuk diakses/diproses dengan asumsi elemen array diisi dengan angka 0 jika elemen arraynya berupa numerik/ bilangan/ angka atau diisi dengan karakter spasi,/, atau / jika berupa alphanumerik.

Subrutin PenciptaanAlgoritma secara umum:

Procedure create (Output nama_var_array:nama_type_array){I.S: elemen array diberi harga awal agar siap digunakan}{F.S: menghasilkan array yang siap digunakan}

Kamus: indeks : integer

Algoritma: for indeks 1 to maks_array do nama_var_array(indeks) 0 {elemen array numerik} endforEndProcedure

OPERASI TRAVERSALOperasi traversal adalah proses mengunjungi setiap elemen array satu persatu dari elemen pertama sampai elemen terakhir.

Contoh Operasi TraversalPengisian elemen array dengan dataMenampilkan elemen arrayPenambahan data di arrayPenyisipan data di indeks tertentu pada arrayPenghapusan data di indeks tertentu pada arrayMenentukan nilai maksimum dan minimumMenghitung nilai rata-rata, dsb.

Subrutin TraversalProcedure traversal (I/O nama_var_array:nama_type_array){I.S: data array dan maksimum array sudah terdefinisi}{F.S: menghasilkan array yang sudah diproses}Kamus: indeks : integerAlgoritma: Inisialisasi {pemberian harga awal terhadap sebuah variabel} for indeks 1 to maks_array do proses endfor Terminasi {penutupan yang harus dilakukan setelah proses selesai}EndProcedure

Contoh Subrutin Traversal Procedure Isi_Angka (I/O Angka : array_Angka){I.S: user memasukkan elemen pada array angka (1:maks_Angka)}{F.S: menghasilkan array angka (1:maks_Angka) yang sudah dimasukan oleh user}

Kamus: i : integer

Algoritma:

for i 1 to maks_Angka do Input(Angka(i)) endfor

EndProcedure

OPERASI PENCARIANOperasi pencarian (searching) adalah proses menemukan suatu data yang terdapat dalam suatu array. Metode Pencarian:Sequential SearchBinary Search

Metode Pencarian Sequential / Linear Search:Tanpa BooleanTanpa Sentinel Dengan Sentinel

Dengan Boolean

BINARY SEARCH (1)Data harus terurut, baik secara ascending atau descendingMekanismenya adalah dengan cara membagi larik menjadi dua bagian yaitu bagian kiri (indeks terkecil/Ia sampai ke indeks tengah) dan bagian kanan (indeks tengah sampai indeks terbesar/Ib) Indeks tengah (k) : (Ia+Ib) div 2 (posisi tengah larik)

BINARY SEARCH (2)Jika data yang dicari lebih kecil dari data di posisi tengah, maka pencarian dilanjutkan ke bagian kiri

Jika data yang dicari lebih besar dari data di posisi tengah, maka pencarian dilanjutkan ke bagian kanan

KASUS BINARY SEARCH (1)Data yang dicari = 7Banyak data = 5Angka

3712152912345

IakIbBag. KiriBag. Kanan

KASUS BINARY SEARCH (2)Angka

Angka

3712

IaIbkBag. KiriBag. Kanan72

IbIakAngka 7 ditemukan pada indeks ke-2

OPERASI PENGURUTANMetode-metode Pencarian (sorting):Bubble SortSelection SortInsertion SortRadix Sort Merge SortQuick Sort

TUGAS

BUBBLE SORTProses menyusun data acak dengan cara menggelembungkan data yang kecil. Jika akan disusun secara ascending, maka penggelembungan dilakukan dari kanan ke kiri (bawah ke atas). Tapi jika akan disusun secara descending, maka penggelembungan dilakukan dari kiri ke kanan (atas ke bawah)

CONTOH BUBBLE SORT ASCArrayAwal:5379236431

L. 11537923643

L. 21253793364

L. 31235379346

L. 41233537946

L. 51233354796

L. 61233345679

L. 71233345679

L. 81233345679

L. 91233345679

SELECTION SORT (1)Proses menyusun data acak dengan cara menyeleksi atau menentukan data terbesar atau data terkecil dari elemen array yang ditinjau.Maximum SortMinimum Sort

CONTOH MAXIMUM SORT ASCArrayAwal:5379236431

L. 15371236439

L. 25331236479

L. 35331234679

L. 44331235679

L. 53331245679

L. 62331345679

L. 72133345679

L. 82133345679

L. 91233345679

SELECTION SORT (2)ArrayAwal:5379236431

SILAKAN DICOBA UNTUK MAXIMUM SORT DSC, MINIMUM SORT ASC dan MINIMUM SORT DSC !!!

OPERASI PENGHANCURANPenghancuran (destroy) array adalah proses mengembalikan data array ke nilai awal.

MATERI AKAN DATANGSINGLE LINKED LIST