Fondasi Pemrograman & Struktur Data

Slides:



Advertisements
Presentasi serupa
- PERTEMUAN 11 - SORTING (PENGURUTAN)
Advertisements

STRUKTUR DATA (3) sorting array
Sorting (Pengurutan).
PENGURUTAN ( SORTING ) Fajrizal.
STRUKTUR DATA sorting array
SORTING.
STRUKTUR DATA (3) sorting array
SORTING.
Algoritma & Struktur Data Sorting Evangs Mailoa.
KOLOM KORAN, DROP CAP, TEXT DIRECTION, HEADER & FOOTER, PAGE NUMBER , TABEL PERTEMUAN 3.
Sorting Pertemuan ke 14..
Algoritma dan Struktur Data
Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
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,
STRUKTUR DATA (4) Sorting dan Searching Array
Algoritma Sorting Tenia Wahyuningrum.
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
Sorting (Pengurutan).
Sorting 2007/2008 – Ganjil – Minggu 5.
Metode Pengurutan (Sorting)
Algoritma sorting dasar (lanjutan) Pertemuan 11
Sorting Algorithm Norma Amalia, ST, M.Eng.
Insertion Sort Dilakukan dengan cara membandingkan data ke-i (di mana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya.
Algoritma dan Pemrograman – Pertemuan 3 & 4 Sorting (Pengurutan)
LANJUTAN DARI SHORTING
PENGURUTAN (SORTING).
STRUKTUR DATA Chapt 07 : Sorting Oleh : Yuli Praptomo PHS, S.Kom.
Algoritma dan Struktur Data
Struktur Data Prio Handoko, S. Kom., M.T.I.
Fondasi Pemrograman & Struktur Data
PENGURUTAN (SORTING) Pengurutan adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat dilakukan secara.
SORTING (Lanjut).
Pengurutan (Sorting).
STRUKTUR DATA (3) sorting array
Sorting.
Pertemuan ke -12 Khoiriya Latifa, M.Kom.
Sistem Berkas – Sesi 12 dan 13
STRUKTUR DATA (3) sorting array
Metode pemecahan masalah
STRUKTUR DATA sorting array
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Dasar – dasar Pemrograman
Shorting (Pengurutan)
IT234 Algoritma dan Struktur Data
Bubble sort.
Sorting.
Sorting (Pengurutan).
Pengurutan (Shorting)
STRUKTUR DATA (3) sorting array
Algoritma & Pemrograman II STT Wastukancana Purwakarta
SORTING ARRAY SESI 2.
INSERTION SORT Diketahui array satu dimensi yang telah dibuat dengan int A[n] dimana n=7, elemennya sudah terisi sebagai berikut: A[ ]
ALGORITMA PENGURUTAN (SORTING)
Pertemuan 4 Sorting (1) jual [Valdo] Lunatik Chubby Stylus.
IT234 Algoritma dan Struktur Data
Sorting Dasar Pemrograman
STRUKTUR DATA (3) sorting array
Struktur Data Oleh: Suhendro
Selection Sort Merupakan sebuah algoritma pengurutan yang mencari element terkecil dari suatu list data tidak terurut (unsorted list) kemudian menukarnya.
IT234 Algoritma dan Struktur Data
STRUKTUR DATA (3) sorting array
Pengurutan (sorting).
IT234 Algoritma dan Struktur Data
MODEL SORTING Kelompok V Rahmawati ( )
Sorting.
Sorting (Pengurutan).
SORTING.
Perancangan Basis Data
FONDASI PEMROGRAMAN & STRUKTUR DATA #9
Transcript presentasi:

Fondasi Pemrograman & Struktur Data Sesi 11 Teknik Sort AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Tujuan Pertemuan Memahami tentang sort (pengurutan data). Memahami teknik-teknik melakukan sort. Mampu menjelaskan algoritma sorting. Mampu membuat aplikasi sorting untuk beberapa teknik sorting. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Sort Unsorted Sort Sorting data may also be a preliminary step to searching it Sorted AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Sort Terdapat 3 algoritma yang memiliki metode sorting yang mirip; Bubble sort, Selection sort, Insertion sort. Ketiga algoritma tersebut melibatkan 2 langkah yang dilaksanakan secara berulang-ulang sampai data ter-urut, langkah-langkah tersebut: Bandingkan 2 item. Tukar tempat kedua item tersebut. Namun tiap algoritma tersebut memiliki detil penanganan yang berbeda satu sama lainnya. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Bubble Sort Bubble sort merupakan teknik pengurutan yang proses-nya sangat lambat, tapi merupakan algoritma sorting dengan konsep yang sangat simpel (mudah untuk permulaan). AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Bubble Sort Mechanism Berikut Rule pada Bubble Sort: Mulai dari kiri, bandingkan 2 item. Jika yang di sebelah kiri lebih besar, tukar tempat. Geser satu posisi ke kanan, untuk melakukan pembandingan selanjutnya. Lakukan rule tersebut hingga mencapai posisi paling kanan. Teknik ini dinamakan Bubble karena progres algoritma-nya:  the biggest items "bubble up" to the top end of the array, just like bubble in soda water AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Bubble Sort Mechanism After the first pass (1 round) AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Bubble Sort Algorithm & Code Pengurutan data dilakukan dengan cara: Bandingkan elemen sekarang dengan elemen berikutnya, mulai dari kiri (tergantung jenis, ascending atau descending). Geser posisi satu per satu dari kiri ke kanan (tergantung jenis, ascending atau descending) Ulangi langkah 1 - 2 sebanyak jumlah item (n) Ulangi langkah 1 - 3 sebanyak jumlah item-1 (n-1) for (i=0; i<=n-2; i++) { for (j=0; j<=n-2; j++) { if (a[j+1] < a[j]) { x = a[j]; a[j] = a[j+1]; a[j+1] = x; } AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Selection Sort The selection sort improves on the bubble sort by reducing the number of swaps necessary from O(N2) to O(N). Unfortunately, the number of comparisons remains O(N2). Sort Processing By selecting Item, and compare it with other Items to find the smallest or Bigest (depend on the sort type). AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Selection Sort Mechanism Berikut Rule pada Selection Sort: Putaran pertama mulai dari kiri (indeks 0) cari item terkecil, letakkan item terkecil tersebut pada posisi paling kiri (indeks 0). Putaran kedua dimulai dari item kedua dari kiri (indeks 1) cari item terkecil kedua, letakkan item terkecil kedua pada posisi kedua dari kiri (indeks 1). Lakukan langkah tersebut hingga semua item di proses. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Selection Sort Mechanisme Penjelasan: Mulai dari ujung kiri, catat tinggi pemain paling kiri di catatan Anda dan beri tanda di depan orang ini. Kemudian bandingkan dengan pemain berikutnya (ke kanan) dengan nilai tinggi pada catatan Anda.  Jika pemain ini lebih pendek, coret nilai tinggi pemain pertama dan catat tinggi pemain kedua sebagai gantinya. Juga pindahkan tanda ke depan pemain yang lebih pendek ini. Lanjutkan dengan membandingkan pemain berikutnya dengan nilai pada catatan anda untuk mendapatkan pemain terpendek, dan merubah nilai tinggi pada catatan setiap didapatkan pemain yang lebih pendek, serta pindahkan tanda ke pemain terpendek. Setelah didapatkan pemain terpendek, pindahkan pemain terpendek ke posisi paling kira, dan ulangi langkah di atas dengan dimulai dari posisi kedua dari kiri, dan demikian seterusnya. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Selection Sort Algorithm & Code Pengurutan data dilakukan dengan cara: Mulai dari ujung kiri, Catat nilainya dan beri tanda posisi. Bandingkan nilai yang dicatat dengan nilai berikutnya (ke kanan) untuk mencari nilai lebih kecil. Jika nilai berikutnya lebih kecil, catat nilainya dan pindahkan tanda. Lanjutkan untuk posisi kedua dari kiri (dan posisi seterusnya) dengan proses 2-4, dan seterusnya hingga semua posisi dibandingkan. for (int i=0; i<n-1; i++) { y=i; //tanda posisi x=a[i]; //catatan nilai for (int j=i+1; j<n; j++) { if (a[j] < x) { y = j; //Memindahkan tanda x = a[j]; //merubah catatan } } //swap nilai terkecil a[y]=a[i]; a[i]=x; AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF Insertion Sort The insertion sort  about twice as fast as the bubble sort and somewhat faster than the selection sort in normal situations. Unfortunately, the number of comparisons remains O(N2). Sort Processing is just like sorting the card, one by one the card pulled and inserted into it's right posision. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Insertion Sort Mechanism Berikut Rule pada Insertion Sort: Putaran pertama mulai dari item kedua kiri (indeks 1) cari item terkecil, letakkan item terkecil tersebut pada posisi paling kiri (dengan penyisipan mundur /kebelakang untuk mendapatkan posisi terkiri data tersebut pada urutan). Putaran kedua dimulai dari item kedua dari kiri (indeks 1) cari item terkecil kedua, letakkan item terkecil kedua pada posisi kedua dari kiri (indeks 1). Lakukan langkah tersebut hingga semua item di proses. AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Insertion Sort - Mechanism Temp=30 Temp=30 25 30 15 10 45 20 5 n-1 n 15 25 30 10 45 20 5 n-1 n Lanjut ke putaran 2 Putaran 1 Putaran 2 Temp=15 Temp=10 25 30 15 10 45 20 5 n-1 n 15 25 30 10 45 20 5 n-1 n a[n-1] >= temp, maka; a[n] = a[n-1] a[n-1] >= temp, maka; a[n] = a[n-1] 25 30 10 45 20 5 n-1 n 15 25 30 45 20 5 n-1 n 25 30 10 45 20 5 n-1 n 15 25 30 45 20 5 n-1 n Temp=15 a[n-1] >= temp, maka; a[n] = a[n-1] a[n-1] >= temp, maka; a[n] = a[n-1] 25 30 10 45 20 5 n-1 n 15 25 30 45 20 5 n-1 n n= 0, maka; a[n] =temp 25 30 10 45 20 5 n 15 25 30 10 45 20 5 n AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Insertion Sort - Mechanism Temp=20 15 25 30 45 20 5 n-1 n 10 15 25 30 45 20 5 n-1 n Putaran 5 a[n-1] >= temp, maka; a[n] = a[n-1] 10 15 25 30 45 20 5 n-1 n 15 25 30 45 20 5 n-1 n Temp=10 a[n-1] >= temp, maka; a[n] = a[n-1] 10 15 25 30 45 5 n-1 n 10 15 25 30 45 20 5 n n= 0, maka; a[n] =temp 10 15 25 30 45 5 n-1 n Temp=30 a[n-1] >= temp, maka; a[n] = a[n-1] 10 15 25 30 45 20 5 n-1 n 10 15 25 30 45 5 n-1 n Putaran 3 … Dst… Hingga putaran 6 selesai Temp=45 10 15 25 30 45 20 5 n-1 n Putaran 4 AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Insertion Sort Algorithm & Code Pengurutan data dilakukan dengan cara: Mulai dari data indeks 2 (n), sampai data terakhir. Jika ditemukan data yang lebih kecil; maka tempatkan dengan melakukan penyisipan mundur (kebelakang) untuk mendapatkan posisi data tersebut pada urutan. // out is dividing line for(out=1; out<n; out++) { int temp = a[out]; // remove marked item in = out; // start shifts at out while(in>0 && a[in-1] >= temp) { // until one is smaller a[in] = a[in-1]; // shift item right --in; // go left one position } a[in] = temp; // insert marked item AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Universitas Pembangunan Jaya – SIF_TIF See You Next Session Thank’s AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF