Nama : Siti Hajar Unit : B Nim : 1405020040 No.Hp : 0852 – 2000 – 3786.

Slides:



Advertisements
Presentasi serupa
STRUKTUR DATA (3) sorting array
Advertisements

Sorting (Pengurutan).
Pengurutan Data Nurdiansah PTIK 09 UNM.
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
PENGURUTAN (SORTING).
SORT (pengurutan) M. Ajir Muzakki, S.Si.
SORTING.
Algoritma & Struktur Data Sorting Evangs Mailoa.
Pertemuan – 14 Sorting (Bab 8) Informatics Engineering Department
STRUKTUR PERULANGAN STRUKTUR PERULANGAN FOR
Instruksi Runtutan Instruksi Pemilihan dan Instruksi Perulangan dalam Pascal Minggu XII.
Source: Sorting Algorithms source:
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
R ESPONSI UAS DAA MIT SKI IT Telkom. Q UICKSORT ( D IVIDE AND C ONQUER ) Cara2nya,, Pilih Anggota secara random (misal ambil yang ketengah) sebutlah anggota.
Algoritma Sorting Tenia Wahyuningrum.
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
Sorting (Pengurutan).
1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT.
Metode Pengurutan (Sorting)
Insertion Sort Dilakukan dengan cara membandingkan data ke-i (di mana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya.
Tugas Kelompok 6 Teknik Sort.
MATERI PERKULIAHAN ANALISIS ALGORITMA
KUG1A3 Algoritma& Pemrograman
Algoritma dan Struktur Data 1 pertemuan 11
LANJUTAN DARI SHORTING
Bubble Sort Metode pengurutan gelembung diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan.
Pertemuan 10 SORTING.
Algoritma dan Pemrograman Sorting
KUG1A3 Algoritma& Pemrograman
PENGURUTAN (SORTING).
SORTING (Lanjut).
Pengurutan (Sorting).
Contoh-contoh Pemecahan Masalah TEE 2103 Algoritma & Pemograman
Sorting.
“Pengurutan Data”.
Algoritma dan Struktur Data
Matematika Pascal Identifier x bernilai 10 X = 10
PERULANGAN.
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Algoritma dan Pemrograman Sorting
KUG1E3/ Pemrograman Terstruktur 1
Array Buat algoritma untuk mencari nilai terbesar dari 5 nilai mahasiswa yang diinputkan dengan array.
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
Dasar – dasar Pemrograman
STRUKTUR PERULANGAN.
Algoritma dan Pemrograman Sorting
PENYELEKSIAN KONDISI.
Searching & Sorting Searching Sorting Oleh : Oman Somantri, S.Kom
Sorting (Pengurutan).
Pengurutan (Shorting)
STRUKTUR DATA (3) sorting array
SORTING ARRAY SESI 2.
Matematika Pascal Identifier x bernilai 10 X = 10
Dasar-Dasar Pemrograman
ALGORITMA PENGURUTAN (SORTING)
Pemrograman Repetisi pada Pascal Ramos Somya, S.Kom., M.Cs.
SORTING (PENGURUTAN).
IT234 Algoritma dan Struktur Data
ALGORITMA & PEMROGRAMAN
Sorting Dasar Pemrograman
Pemrograman Repetisi pada Pascal Ramos Somya, S.Kom., M.Cs.
IT234 Algoritma dan Struktur Data
Pengurutan (sorting).
IT234 Algoritma dan Struktur Data
Dasar-Dasar Pemrograman
MODEL SORTING Kelompok V Rahmawati ( )
Sorting.
While – Do (Lanjutan) Temu 11.
Sorting (Pengurutan).
STATEMEN FOR STATEMEN WHILE STATEMEN REPEAT
Transcript presentasi:

Nama : Siti Hajar Unit : B Nim : 1405020040 No.Hp : 0852 – 2000 – 3786

Buatlah 1 contoh program insertion sort. Tuliskan pengertian sorting menurut pendapat anda masing – masing. Buatlah contoh prgram buble sort dalam bahasa pascal Tuliskan algoritma quick recursif. Sebutkan dan jelaskan metode – metode sorting.

Contoh program insertion sort #include <stdio.h> int main() { int n, array[1000], c, d, t; printf("Enter number of elements\n"); scanf("%d", &n); printf("Enter %d integers\n", n); for (c = 0; c < n; c++) { scanf("%d", &array[c]); }

for (c = 1 ; c <= n - 1; c++) { d = c; while ( d > 0 && array[d] < array[d-1]) { t = array[d]; array[d] = array[d-1]; array[d-1] = t; d--; } printf("Sorted list in ascending order:\n"); for (c = 0; c <= n - 1; c++) { printf("%d\n", array[c]); return 0;

OUTPUT DARI PROGRAM

PENGERTIAN SORTING sorting adalah sebuah metode untuk pengurutan data, misalnya dari data yang terbesar ke data yang terkecil. Dengan cara program yang dibuat harus dapat membandingkan antar data yang di inputkan. Artinya jika ada deretan data, maka data yang pertama akan membandingkan dengan data yang kedua. Jika data yang pertama lebih besar dari pada data yang kedua maka data yang pertama akan bertukar posisi dengan data yang kedua, begitu seterusnya sampai benar-benar data terurut dari yang terbesar hingga yang terkecil.

Contoh Prgram Buble Sort Dalam Bahasa Pascal program bubble_sort_polma; uses crt; var i,n,j : integer; a : array [1..10] of integer; procedure urutkan; z : integer; begin for i:=1 to n-1 do for j:=n downto i+1 do if a[j] > a[j-1] then

z:=a[j]; a[j]:=a[j-1]; a[j-1]:=z; end; begin clrscr; writeln('Program : Mengurutkan Nilai menggunakan Bubble Sort');

writeln; write ('Masukkan banyak data yang ingin di urut : '); readln(n); for i:=1 to n do begin write ('Data ',i,' : '); readln(a[i]); end; urutkan; write('Data setelah diurutkan : '); for j:=1 to n do write (a[j],' '); readln; end.

TAMPILAN OUTPUT PROGRAM

Algoritma Quick Recursif Algoritma quick Rekursif dapat dituliskan sebagai berikut : Algoritma Quick Sort terdiri dari dua prosedur, yaitu prosedur PARTISI dan prosedur QUICKSORT. Berikut pseudocode dari algoritma quick sort : Procedure quick_sort (I/O A : TabelInt, input i,j : integer ) { Mengurutkan table A [i..j] dengan algoritma Quick Sort, dengan pemilihan pivot menggunakan elemen median table.     Masukan : Tabel [i..j] yang sudah terdefinisi elemen-elemennya.     Keluaran : Tabel [i..j] yang terurut secara asc }

Kamus      p,q,temp, pivot : integer Algoritma    p         i    q          j    pivot       A[(p+q) div 2] repeat while A[p] < pivot do            p         p + 1 endwhile while A[q] > pivot do           q         q - 1

endwhile if p £ q then temp         A[p]               A[p]          A[q]               A[q]          temp               p         p +1               q         q - 1 endif until p > q     if i < q then quick_sort (A, i, q) if j > p then quick_sort (A, p, j)

Algoritma diatas termasuk dalam algoritma mempartisi dan algoritma mengurutkan dimana algoritma partisi untuk dapat menuju keadaan terurut tidaklah sukar lagi, setelah membagi tabel maka diterpkan lagi procedure yang sama pada keadaan bagian, procedure diatas mengktifkan dirinya sendiri secara rekursif.

Metode – metode Sorting BUBBLE SORT Bubble sort adalah proses pengurutan sederhana yang bekerja dengan cara berulang kali membandingkan dua elemen data pada suatu saat dan menukar elemen data yang urutannya salah. Ide dari Bubble sort adalah gelembung air yang akan “mengapung” untuk table yang terurut menaik (ascending). Elemen bernilai kecil akan “diapungkan” (ke indeks terkecil), artinya diangkat ke “atas” (indeks terkecil) melalui pertukaran. Karena algoritma ini melakukan pengurutan dengan cara membandingkan elemen-elemen data satu sama lain, maka bubble sort termasuk ke dalam jenis algoritma comparison-based sorting.

Proses dalam Bubble sort dilakukan sebanyak N-1 langkah (pass) dengan N adalah ukuran array. Pada akhir setiap langkah ke – I , array L[0..N] akan terdiri atas dua bagian, yaitu bagian yang sudah terurut L[0..I] dan bagian yang belum terurut L[I+1..N-1]. Setelah langkah terakhir, diperoleh array L[0..N-1] yang terurut menaik. Untuk mendapatkan urutan yang menaik, algoritmanya dapat ditulis secara global sebagai berikut : Untuk setiap pass ke – I = 0,1,………., N-2 , lakukan : Mulai dari elemen J = N-1, N-2,….., I + 1, lakukan :

Bandingkan L[J-1] dengan L[J] Pertukarkan L[J-1] dengan L[J] jika L[J-1] > L[J] Rincian setiap pass adalah sebagai berikut : Pass 1:      I = 0. Mulai dari elemen J = N-1,N–2,…,1, bandingkan L[J-1] dengan L[J]. Jika L[J-1] > L[J], pertukarkan L[J-1] dengan L[J]. Pada akhir langkah 1, elemen L[0] berisi harga minimum pertama. Pass 2:      I = 1. Mulai dari elemen J = N-1,N–2,…,2, bandingkan L[J-1] dengan L[J]. Jika L[J-1] > L[J], pertukarkan L[J-1] dengan L[J]. Pada akhir langkah 2, elemen L[1] berisi harga minimum kedua dan array L[0..1] terurut, sedangkan L[2..(N-1)] belum terurut. Pass 3:      I = 2. Mulai dari elemen J = N-1,N–2,…,3, bandingkan L[J-1] dengan L[J]. Jika L[J-1] > L[J], pertukarkan L[J-1] dengan L[J]. Pada akhir langkah 3, elemen L[2] berisi harga minimum ketiga dan array L[0..2] terurut, sedangkan L[3..(N-1)] belum terurut.

Pass N-1: Mulai dari elemen J = N-1, bandingkan L[J-1] dengan L[J] Pass N-1:  Mulai dari elemen J = N-1, bandingkan L[J-1] dengan L[J]. Jika L[J-1] > L[J], pertukarkan L[J-1] dengan L[J]. Pada akhir langkah N-2, elemen L[N-2] berisi nilai minimun ke [N-2] dan array L[0..N-2] terurut menaik (elemen yang tersisa adalah L[N-1], tidak perlu diurut karena hanya satu-satunya). Misal array L dengan N = 5 buah elemen yang belum terurut. Array akan diurutkan secara ascending (menaik). 0      1     2     3      4 Pass 1 : I = 0 ;J= N-1= 4                      8          9          7          1          6 J = 3                            8          9          1          7          6 J = 2                            8          1          9          7          6 J = 1                            1          8          9          7          6 Hasil akhir langkah 1 : 1 8 9 7 6 8 9 7 6 1

0      1       2      3      4   Pass 2 : I = 1 ;J= N-1= 4                      1          8          9          6          7 J = 3                            1          8          6          9          7 J = 2                            1          6          8          9          7 Hasil akhir langkah 2 : 0       1      2      3      4 Pass 3 : I = 2 ;J= N-1= 4                      1          6          8          7          9 J = 3                            1          6          7          8          9 Hasil akhir langkah 3 : 1 6 8 9 7 1 6 7 8 9

Metode Selection Sort Selection Sort berbeda dengan Bubble sort Metode Selection Sort Selection Sort berbeda dengan Bubble sort. Selection Sort pada dasarnya memilih data yang akan diurutkan menjadi dua bagian, yaitu bagaian yang sudah diurutkan dan bagian yang belum di urutkan. Langkah pertama dicari data terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan. Metode ini lebih efektif dari pada metode bubble karena tidak memerlukan banyak pertukaran dan pengalokasian memori.