IF 32222 STRUKTUR DATA Array Statis Universitas Komputer

  • Slides: 34
Download presentation
IF 32222 STRUKTUR DATA Array Statis Universitas Komputer Indonesia Oleh : Tati Harihayati M.

IF 32222 STRUKTUR DATA Array Statis Universitas Komputer Indonesia Oleh : Tati Harihayati M. , M. T.

PENGERTIAN ARRAY STATIS Sekumpulan data yang bertipe data sama yang bisa diakses lewat indeksnya.

PENGERTIAN ARRAY STATIS Sekumpulan data yang bertipe data sama yang bisa diakses lewat indeksnya. 2

REPRESENTASI ARRAY STATIS Array statis direpresentasikan di memori secara kontinyu. Contoh: array Angka (1:

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

DEKLARASI UMUM (1) Algoritma: Kamus: nama_var_array: array[1. . maks_array] of tipedata Contoh: Kamus: Angka

DEKLARASI UMUM (1) Algoritma: Kamus: nama_var_array: array[1. . maks_array] of tipedata Contoh: Kamus: Angka : array[1. . 5] of integer 4

DEKLARASI UMUM (2) Algoritma: Kamus: Const maks_array =. . . nama_var_array: array[1. . maks_array]

DEKLARASI UMUM (2) Algoritma: Kamus: Const maks_array =. . . nama_var_array: array[1. . maks_array] of tipedata Contoh: Kamus: Const Maks_Angka = 5 Angka : array[1. . maks_Angka] of integer 5

DEKLARASI UMUM (3) Algoritma: Kamus: Const maks_array =. . . Type nama_type_array=array[1. . maks_array]

DEKLARASI UMUM (3) Algoritma: Kamus: Const maks_array =. . . Type nama_type_array=array[1. . maks_array] of tipedata nama_var_array : nama_type_array 6

DEKLARASI UMUM (3) Contoh: Kamus: Const maks_Angka = 5 Type array_Angka = array[1. .

DEKLARASI UMUM (3) Contoh: Kamus: Const maks_Angka = 5 Type array_Angka = array[1. . maks_Angka] of integer Angka : array_Angka 7

DEKLARASI ARRAY OF RECORD Algoritma: Kamus: Const maks_array =. . . Type nama_record =

DEKLARASI ARRAY OF RECORD Algoritma: 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 RECORD Contoh: Kamus: Const Maks_Mhs = 50 Type Data_Mahasiswa = record

DEKLARASI ARRAY OF RECORD Contoh: 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 9

OPERASi-OPERASI PADA ARRAY 1. 2. 3. 4. 5. Penciptaan (create) Traversal Pencarian (searching) Pengurutan

OPERASi-OPERASI PADA ARRAY 1. 2. 3. 4. 5. Penciptaan (create) Traversal Pencarian (searching) Pengurutan (sorting) Penghancuran (destroy) 10

OPERASI PENCIPTAAN Operasi penciptaan (create) adalah proses mempersiapkan array untuk diakses/diproses dengan asumsi elemen

OPERASI PENCIPTAAN Operasi 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. 11

Subrutin Penciptaan Algoritma secara umum: Procedure create (Output nama_var_array: nama_type_array) {I. S: elemen array

Subrutin Penciptaan Algoritma 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} endfor End. Procedure 12

OPERASI TRAVERSAL Operasi traversal adalah proses mengunjungi setiap elemen array satu persatu dari elemen

OPERASI TRAVERSAL Operasi traversal adalah proses mengunjungi setiap elemen array satu persatu dari elemen pertama sampai elemen terakhir. 13

Contoh Operasi Traversal 1. 2. 3. 4. Pengisian elemen array dengan data Menampilkan elemen

Contoh Operasi Traversal 1. 2. 3. 4. Pengisian elemen array dengan data Menampilkan elemen array Penambahan data di array Penyisipan data di indeks tertentu pada array 5. Penghapusan data di indeks tertentu pada array 6. Menentukan nilai maksimum dan minimum 7. Menghitung nilai rata-rata, dsb. 14

Subrutin Traversal Procedure traversal (I/O nama_var_array: nama_type_array) {I. S: data array dan maksimum array

Subrutin Traversal Procedure 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 : integer Algoritma: Inisialisasi {pemberian harga awal terhadap sebuah variabel} for indeks 1 to maks_array do proses endfor Terminasi {penutupan yang harus dilakukan setelah proses selesai} End. Procedure 15

Contoh Subrutin Traversal Procedure Isi_Angka (I/O Angka : array_Angka) {I. S: array angka (1:

Contoh Subrutin Traversal Procedure Isi_Angka (I/O Angka : array_Angka) {I. S: array angka (1: 5)sudah terdefinisi} {F. S: menghasilkan array angka (1: 5) yang sudah dimasukan oleh user} Kamus: i : integer Algoritma: for i 1 to maks_Angka Input(Angka(i)) endfor do End. Procedure 16

OPERASI PENCARIAN Operasi pencarian (searching) adalah proses menemukan suatu data yang terdapat dalam suatu

OPERASI PENCARIAN Operasi pencarian (searching) adalah proses menemukan suatu data yang terdapat dalam suatu array. Metode Pencarian: - Sequential Search - Binary Search 17

Metode Pencarian Sequential / Linear Search: 1. Tanpa Boolean a. Tanpa Sentinel b. Dengan

Metode Pencarian Sequential / Linear Search: 1. Tanpa Boolean a. Tanpa Sentinel b. Dengan Sentinel 2. Dengan Boolean 18

SEQUENTIAL SEARCH (1) Tanpa boolean tanpa sentinel: 1. Tidak menggunakan variabel boolean 2. Tidak

SEQUENTIAL SEARCH (1) Tanpa boolean tanpa sentinel: 1. Tidak menggunakan variabel boolean 2. Tidak mempunyai tambahan elemen di akhir array. 19

SEQUENTIAL SEARCH (2) Tanpa boolean dengan sentinel: 1. Tidak menggunakan variabel boolean 2. Mempunyai

SEQUENTIAL SEARCH (2) Tanpa boolean dengan sentinel: 1. Tidak menggunakan variabel boolean 2. Mempunyai tambahan elemen di akhir array untuk menyimpan data cari apabila data cari tidak ditemukan 20

SEQUENTIAL SEARCH (3) Dengan boolean: 1. Menggunakan variabel boolean 2. Menghasilkan nilai TRUE atau

SEQUENTIAL SEARCH (3) Dengan boolean: 1. Menggunakan variabel boolean 2. Menghasilkan nilai TRUE atau FALSE di akhir pencarian 21

BINARY SEARCH (1) 1. Data harus terurut, baik secara ascending atau descending 2. Mekanismenya

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

BINARY SEARCH (2) 4. Jika data yang dicari lebih kecil dari data di posisi

BINARY SEARCH (2) 4. Jika data yang dicari lebih kecil dari data di posisi tengah, maka pencarian dilanjutkan ke bagian kiri 5. Jika data yang dicari lebih besar dari data di posisi tengah, maka pencarian dilanjutkan ke bagian kanan 23

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

KASUS BINARY SEARCH (1) Data yang dicari = 7 Banyak data = 5 Angka 3 7 12 15 29 1 2 3 4 5 Ia Bag. Kiri Angka 7 1 2 Bag. Kiri Ib Bag. Kanan 3 Ia k k Ib Bag. Kanan 24

KASUS BINARY SEARCH (2) Angka 3 7 1 2 Ia k Bag. Kiri Angka

KASUS BINARY SEARCH (2) Angka 3 7 1 2 Ia k Bag. Kiri Angka 7 2 Ib Ia k Ib Bag. Kanan Angka 7 ditemukan pada indeks ke-2 25

OPERASI PENGURUTAN Metode-metode Pencarian (sorting): a. Bubble Sort b. Selection Sort CALON c. Insertion

OPERASI PENGURUTAN Metode-metode Pencarian (sorting): a. Bubble Sort b. Selection Sort CALON c. Insertion Sort TUGAS. d. Radix Sort PERSIAPKAN e. Merge Sort f. Quick Sort 26

BUBBLE SORT Proses menyusun data acak dengan cara menggelembungkan data yang kecil. Jika akan

BUBBLE SORT Proses 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) 27

CONTOH BUBBLE SORT ASC Array Awal: 5 3 7 9 2 3 6 4

CONTOH BUBBLE SORT ASC Array Awal: 5 3 7 9 2 3 6 4 3 1 L. 1 1 5 3 7 9 2 3 6 4 3 L. 2 1 2 5 3 7 9 3 3 6 4 L. 3 1 2 3 5 3 7 9 3 4 6 L. 4 1 2 3 3 5 3 7 9 4 6 L. 5 1 2 3 3 3 5 4 7 9 6 L. 6 1 2 3 3 3 4 5 6 7 9 L. 7 1 2 3 3 3 4 5 6 7 9 L. 8 1 2 3 3 3 4 5 6 7 9 L. 9 1 2 3 3 3 4 5 6 7 9 28

SELECTION SORT (1) Proses menyusun data acak dengan cara menyeleksi atau menentukan data terbesar

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

CONTOH MAXIMUM SORT ASC Array Awal: 5 3 7 9 2 3 6 4

CONTOH MAXIMUM SORT ASC Array Awal: 5 3 7 9 2 3 6 4 3 1 L. 1 5 3 7 1 2 3 6 4 3 9 L. 2 5 3 3 1 2 3 6 4 7 9 L. 3 5 3 3 1 2 3 4 6 7 9 L. 4 4 3 3 1 2 3 5 6 7 9 L. 5 3 3 3 1 2 4 5 6 7 9 L. 6 2 3 3 1 3 4 5 6 7 9 L. 7 2 1 3 3 3 4 5 6 7 9 L. 8 2 1 3 3 3 4 5 6 7 9 L. 9 1 2 3 3 3 4 5 6 7 9 30

SELECTION SORT (2) Array Awal: 5 3 7 9 2 3 6 4 3

SELECTION SORT (2) Array Awal: 5 3 7 9 2 3 6 4 3 1 SILAKAN DICOBA UNTUK MAXIMUM SORT DSC, MINIMUM SORT ASC dan MINIMUM SORT DSC !!! 31

OPERASI PENGHANCURAN Penghancuran (destroy) array adalah proses mengembalikan data array ke nilai awal. 32

OPERASI PENGHANCURAN Penghancuran (destroy) array adalah proses mengembalikan data array ke nilai awal. 32

MATERI AKAN DATANG SINGLE LINKED LIST 34

MATERI AKAN DATANG SINGLE LINKED LIST 34

35

35