a
-
Upload
dokz-nurdin -
Category
Documents
-
view
7 -
download
1
description
Transcript of a
-
ARRAY STATIS
STRUKTUR DATA
Oleh:
Tim Struktur Data IF
-
PENGERTIAN ARRAY STATIS
Sekumpulan data yang bertipe data sama yang
bisa diakses lewat indeksnya.
-
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)
Angka
-
DEKLARASI UMUM (1)
Algoritma:
Contoh:
Kamus:
nama_var_array:array[1..maks_array] of tipedata
Kamus:
Angka : array[1..5] of integer
-
DEKLARASI UMUM (2)
Algoritma:
Contoh:
Kamus:
Const
maks_array = ...
nama_var_array:array[1..maks_array] of tipedata
Kamus:
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
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
-
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
-
OPERASI-OPERASI
1. Penciptaan (create) array statis
Mempersiapkan array untuk diakses/diproses
dengan asumsi elemen array diisi dengan
angka 0 jika elemen arraynya berupa
numerik/bilangan/angka
atau diisi dengan karakter // jika berupa alphanumerik.
-
Subrutin Penciptaan Secara
Umum
Algoritma:
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
EndProcedure
-
OPERASI-OPERASI (lanjutan)
2. Traversal
Proses mengunjungi setiap elemen array
satu persatu dari elemen pertama sampai
elemen terakhir.
-
Contoh Operasi Traversal
1. Pengisian elemen array dengan data
2. Menampilkan elemen array
3. Penambahan data di array
4. 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.
-
Subrutin Traversal Secara
Umum
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}
EndProcedure
-
Contoh Pengisian Array Angka
0 0 0 0 0 8 6 5 1 4 1 2 3 4 5
Angk
a
-
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 do Input(Angka(i))
endfor
EndProcedure
-
OPERASI ARRAY STATIS
(lanjutan)
3. Pencarian (searching) array
Proses menemukan suatu data yang
terdapat dalam suatu array. Proses ini
menghasilkan nilai benar atau salah.
-
Metode Pencarian
1. Sequential / Linear Search
2. Binary Search
-
Metode Pencarian (lanjutan)
Sequential / Linear Search:
1. Tanpa Boolean
a. Tanpa Sentinel
b. Dengan Sentinel
2. Dengan Boolean
-
SEQUENTIAL SEARCH
Tanpa boolean tanpa sentinel:
1. Tidak menggunakan variabel
boolean
2. Tidak mempunyai tambahan
elemen di akhir array.
-
SEQUENTIAL SEARCH
(lanjutan)
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
-
SEQUENTIAL SEARCH
(lanjutan)
Dengan boolean:
1. Menggunakan variabel boolean
2. Menghasilkan nilai TRUE atau
FALSE di akhir pencarian
-
BINARY SEARCH
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)
-
BINARY SEARCH (lanjutan)
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
-
KASUS BINARY SEARCH
Data yang dicari = 7
Banyak data = 5
Angka
Angka
3 7 12 15 29
1 2 3 4 5
Ia k Ib
Bag. Kiri Bag. Kanan
3 7
1 2
Ia Ib k
Bag. Kiri Bag. Kanan
-
KASUS BINARY SEARCH
Angka
Angka
3 7
1 2
Ia Ib k
Bag. Kiri Bag. Kanan
7
2
Ib Ia k
Angka 7 ditemukan pada indeks
ke-2
-
OPERASI ARRAY STATIS
(lanjutan)
4. Pengurutan (Sorting)
a. Bubble Sort
b. Selection Sort
c. Insertion Sort
d. Radix Sort
e. Merge Sort
f. Quick Sort
TUGA
S
-
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)
-
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
-
SELECTION SORT
Proses menyusun data acak dengan cara
menyeleksi atau menentukan data terbesar atau
data terkecil dari elemen array yang ditinjau.
- Maximum Sort
- Minimum Sort
-
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
-
CONTOH SELECTION SORT
(lanjutan)
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 !!!
-
OPERASI ARRAY STATIS
5. Penghancuran (destroy) array
Proses mengembalikan data array ke nilai
awal
-
TUGAS
Kelompok Tugas: 1. Sequential Search Tanpa Sentinel (Insertion Sort
Asc) 2. Sequential Search Tanpa Sentinel (Radix Sort
Asc) 3. Sequential Search Dengan Sentinel (Merge Sort
Asc) 4. Sequential Search Dengan Sentinel (Quick Sort
Asc) 5. Sequential Search Dengan Boolean (Insertion
Sort Dsc) 6. Sequential Search Dengan Boolean (Radix Sort
Dsc) 7. Binary Search (Merge Sort Dsc) 8. Binary Search (Quick Sort Dsc)
Catatan: Kasus yang diambil setiap kelompok harus berbeda
-
TUGAS
Buatlah Makalah per kelompok (Algoritma dan
Program) dengan isi sebagai berikut:
1. Kasus (Asumsi + Batasan)
2. Teori dari Metode Sorting yang digunakan
3. Algoritma dari kasus yang harus diselesaikan
4. Listing program
5. Layar tampilan
6. Kontribusi masing-masing anggota kelompok
-
TUGAS
Ketentuan: 1. Buat menjadi 8 kelompok 2. Tipe data yang digunakan minimal array of
record dengan minimal jumlah field = 3 3. Gunakan modul atau subrutin berparameter
(minimal 5 prosedur dan 2 fungsi) 4. Gunakan operasi-operasi yang telah
dijelaskan mulai dari operasi penciptaan sampai operasi penghancuran
5. Penyelesaian kasus menggunakan menu pilihan
6. Cover berisi judul, Nama dan NIM, serta kelas
-
Contoh Cover
Tugas Struktur Data ke-1
Sequential Search Tanpa Sentinel Dengan Insertion Sort secara Ascending
Oleh:
Nama NIM Kelas : IF-
{logo UNIKOM}
Program Studi Teknik Informatika
Fakultas Teknik dan Ilmu Komputer UNIKOM
2013
-
MATERI AKAN DATANG
SINGLE LINKED LIST