Struktur data Oleh: Tim Struktur Data IF ARRAY STATIS.

Slides:



Advertisements
Presentasi serupa
Pencarian ( Searching)
Advertisements

BAB III – ARRAY STATIS II
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
PENGURUTAN (SORTING).
PENCARIAN (SEARCHING)
Pertemuan – 14 Sorting (Bab 8) Informatics Engineering Department
BAB 6 S O R T I R Sebelum mengetahui lebih jauh tentang sorting, sebaiknya kita ingat kembali pengertian file dan record. File adalah kumpulan record,
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
STRUKTUR DATA (4) Sorting dan Searching Array
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
Metode Pengurutan (Sorting)
Algoritma dan Pemrograman Subrutin
DIKTAT struktur data Oleh: Tim Struktur Data IF
KUG1A3 Algoritma& Pemrograman
Tim struktur data IF UNIKOM
Algoritma dan Pemrograman Searching
STRUKTUR DATA STACK.
STRUKTUR DATA STACK.
Algoritma dan Pemrograman Sorting
Algoritma dan Pemrograman RECORD dan ARRAY OF RECORD
Algoritma dan Pemrograman Searching
Tim struktur data IF UNIKOM
Program Studi Teknik Informatika
PENGURUTAN (SORTING).
Program Studi Teknik Informatika
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
SORTING (Lanjut).
Program Studi Teknik Informatika
MATRIKS (ARRAY 2 DIMENSI)
Linked List.
STRUKTUR DATA Array Statis.
STRUKTUR DATA Array Statis.
Algoritma dan Pemrograman Subrutin
STRUKTUR DATA STACK.
Algoritma dan Pemrograman RECORD (REKAMAN)
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
Algoritma dan Pemrograman ARRAY (LARIK)
MATRIKS (ARRAY 2 DIMENSI)
Array dan struktur.
MATRIKS (ARRAY 2 DIMENSI)
STRUKTUR DATA Array Statis.
Algoritma dan Pemrograman Sorting
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
SEARCHING (PENCARIAN)
Array dan Matriks.
STRUKTUR DATA Array Statis.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
MATRIKS (ARRAY 2 DIMENSI)
Algoritma dan Pemrograman Sorting
SINGLE Linked List (lanjutan)
ARRAY STATIS Sri Nurhayati, MT.
Algoritma dan Pemrograman Searching
Sorting.
Tim struktur data IF UNIKOM
STRUKTUR DATA (3) sorting array
ALGORITMA PENGURUTAN (SORTING)
Tim struktur data IF UNIKOM
STRUKTUR DATA STACK.
STRUKTUR DATA Sri Nurhayati, MT.
Linked List Oleh: Tim Struktur Data IF - UNIKOM.
ARRAY STATIS Sri Nurhayati, MT.
DIKTAT struktur data Oleh: Tim Struktur Data IF
SORTING (PENGURUTAN).
SINGLE Linked List (lanjutan)
Tim struktur data IF UNIKOM
IT234 Algoritma dan Struktur Data
Sorting Dasar Pemrograman
DIKTAT struktur data Oleh: Tim Struktur Data IF
IT234 Algoritma dan Struktur Data
SORTING.
Transcript presentasi:

struktur data Oleh: Tim Struktur Data IF ARRAY STATIS

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 Angka(1) Angka(2) Angka(3) Angka(4) Angka(5)

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 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) Traversal Proses mengunjungi setiap elemen array satu persatu dari elemen pertama sampai elemen terakhir.

Contoh Operasi Traversal Pengisian elemen array dengan data Menampilkan elemen array Penambahan data di array Penyisipan data di indeks tertentu pada array Penghapusan data di indeks tertentu pada array Menentukan nilai maksimum dan minimum 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 8 6 5 1 4 1 2 3 4 5

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) Pencarian (searching) array Proses menemukan suatu data yang terdapat dalam suatu array. Proses ini menghasilkan nilai benar atau salah.

Metode Pencarian Sequential / Linear Search Binary Search

Metode Pencarian (lanjutan) Sequential / Linear Search: Tanpa Boolean Tanpa Sentinel Dengan Sentinel Dengan Boolean

SEQUENTIAL SEARCH Tanpa boolean tanpa sentinel: Tidak menggunakan variabel boolean Tidak mempunyai tambahan elemen di akhir array.

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

SEQUENTIAL SEARCH (lanjutan) Dengan boolean: Menggunakan variabel boolean Menghasilkan nilai TRUE atau FALSE di akhir pencarian

BINARY SEARCH Data harus terurut, baik secara ascending atau descending 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) Indeks tengah (k) : (Ia+Ib) div 2 (posisi tengah larik)

BINARY SEARCH (lanjutan) 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 Data yang dicari = 7 Banyak data = 5 Angka Ia k Ib 3 7 12 15 29 1 2 4 5 Ia k Ib Bag. Kiri Bag. Kanan 3 7 1 2 Ia Ib k Bag. Kiri Bag. Kanan

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

OPERASI ARRAY STATIS (lanjutan) Pengurutan (Sorting) Bubble Sort Selection Sort Insertion Sort Radix Sort Merge Sort Quick Sort TUGAS

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 6 4 1 L. 1 1 5 3 7 9 2 6

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 6 4 1 L. 1 5 3 7 1 2 6 4 9 L. 2 5 3 1 2 6 4 7 9 L. 3 5 3 1 2 4 6 7 9 L. 4 4 3 1 2 5 6 7 9 L. 5 3 1 2 4 5 6 7 9 L. 6 2 3 1 4 5 6 7 9 L. 7 2 1 3 4 5 6 7 9 L. 8 2 1 3 4 5 6 7 9 L. 9 1 2 3 4 5 6 7 9

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

OPERASI ARRAY STATIS Penghancuran (destroy) array Proses mengembalikan data array ke nilai awal

TUGAS Kelompok Tugas: Sequential Search Tanpa Sentinel (Insertion Sort Asc) Sequential Search Tanpa Sentinel (Radix Sort Asc) Sequential Search Dengan Sentinel (Merge Sort Asc) Sequential Search Dengan Sentinel (Quick Sort Asc) Sequential Search Dengan Boolean (Insertion Sort Dsc) Sequential Search Dengan Boolean (Radix Sort Dsc) Binary Search (Merge Sort Dsc) 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: Kasus (Asumsi + Batasan) Teori dari Metode Sorting yang digunakan Algoritma dari kasus yang harus diselesaikan Listing program Layar tampilan Kontribusi masing-masing anggota kelompok

TUGAS Ketentuan: Buat menjadi 8 kelompok Tipe data yang digunakan minimal array of record dengan minimal jumlah field = 3 Gunakan modul atau subrutin berparameter (minimal 5 prosedur dan 2 fungsi) Gunakan operasi-operasi yang telah dijelaskan mulai dari operasi penciptaan sampai operasi penghancuran Penyelesaian kasus menggunakan menu pilihan Cover berisi judul, Nama dan NIM, serta kelas

Contoh Cover Sequential Search Tanpa Sentinel 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