Anda di halaman 1dari 33

ALGORITMA PEMROGRAMAN

(Semester 1 - IF6110202)
Pertemuan XI – ALGORITMA PENGURUTAN

Dosen: Condro Kartiko &


Yudha Saintika

S1 Informatika
IT Telkom Purwokerto
Sub-Capaian Pembelajaran MK

“Mahasiswa mampu menerapkan algoritma pengurutan ke


dalam program.”

S1 Informatika
IT Telkom Purwokerto
Peta Capaian Pembelajaran MK

We Are Here !!! 

Mid Test
PUSTAKA WAJIB

• Munir, Rinaldi., Leony Lidya.


2016. Algoritma dan
Pemrograman Dalam Bahasa
Pascal, C, dan C++ Edisi
Keenam. Bandung: Penerbit
Informatika.

• BAB 16 – ALGORITMA
PENGURUTAN

S1 Informatika
IT Telkom Purwokerto
Definisi

“algoritma untuk meletakkan kumpulan


elemen data ke dlm urutan tertentu,
berdasarkan satu atau beberapa kunci
ke dalam tiap-tiap elemen”

Ada 2 macam urutan dalam proses pengurutan:


1. Ascending
2. Descending

S1 Informatika
IT Telkom Purwokerto
S1 Informatika
IT Telkom Purwokerto
Mengapa Data Harus Diurutkan ?

• Agar data dapat dilihat dengan mudah. Untuk


semua algoritma pengurutan yang akan
dipelajari, kita menggunakan tipe data larik.

DEKLARASI
const max = 1000
type LarikInt : array [1 .. N] of integer

S1 Informatika
IT Telkom Purwokerto
Metode Pengurutan

Beberapa metode pengurutan akan menemukan pemanggilan


TUKAR. Kegunaan prosedur ini adalah menukar isi dua variabel.
Berikut definisi Tukar :
procedure Tukar (input/output a,b: integer)
{mempertukarkan nilai a dan b}

DEKLARASI
temp : integer

ALGORITMA
temp  a
a  b
b  temp
S1 Informatika
IT Telkom Purwokerto
Menentukan Pengurutan yang Baik

Ada 2 hal yang harus diperhatikan untuk


menentukan pengurutan yang baik:
1. Jumlah pembandingan yang dilakukan
2. Jumlah penukaran atau penggeseran data yang
dilakukan

S1 Informatika
IT Telkom Purwokerto
Algoritma Pengurutan (1)

insertion sort S1 Informatika


IT Telkom Purwokerto
Insertion Sort (1)

Cara mengurutkannya adalah dicek


satu persatu mulai dari yang kedua
sampai dengan yang terakhir.

Apabila ditemukan data yang lebih


kecil dari data sebelumnya, maka
data tersebut disisipkan pada posisi
yang sesuai.

S1 Informatika
IT Telkom Purwokerto
Insertion Sort (2)

Metode ini sebenarnya juga


digunakan dalam kehidupan nyata,
misalnya saat anda mengurutkan
kartu.

S1 Informatika
IT Telkom Purwokerto
Algoritma Insertion Sort

1. i  2
2. Asumsikan L[1] dianggap sudah pada tempatnya
3. Selama (i<=N) kerjakan baris 4 sampai dengan 10
4. x  Data[i]
5. j  i – 1
6. Selama (x < Data[j] ) kerjakan baris 7 dan 8
7. Data [j+i]  Data [j]
8. j  j – 1
9. Data[j+1]  x
10. i  i + 1

S1 Informatika
IT Telkom Purwokerto
Contoh Persoalan (1)

Iterasi Data Data Data Data Data Data Data Data Data
[1] [2] [3] [4] [5] [6] [7] [8] [9]
Awal 12 35 9 11 3 17 23 15 31
i=2 12 35 9 11 3 17 23 15 31
i=3 12 35 9 11 3 17 23 15 31
i=4 9 12 35 11 3 17 23 15 31
i=5 9 11 12 35 3 17 23 15 31
i=6 3 9 11 12 35 17 23 15 31
i=7 3 9 11 12 17 35 23 15 31
i=8 3 9 11 12 17 23 35 15 31
i=9 3 9 11 12 15 17 23 35 31
Akhir 3 9 11 12 15 17 23 31 35

S1 Informatika
IT Telkom Purwokerto
Penjelasan
• i = 2, x samadengan Data[2], yaitu 35 dan j=1. karena
Data[1]=12 dan 35>12 maka proses dilanjutkan

• i=3, x samadengan Data[3], yaitu 9 dan j=2. karena


Data[2]=35 dan 9<35 maka dilakukan penggeseran
sampai menemukan yang lebih kecil dari 9. Hasilnya,
Data[2]=12 dan Data[3]=35. Bagaimana dengan Data[1]?
Data[1] = x yaitu 9.

• i=4, x samadengan Data[4], yaitu 11 dan j=3. karena


Data[3]=35 dan 11<35, maka dilakukan penggeseran
sampai ditemukan data yang lebih kecil dari 11. Hasil
penggeseran Data[3]=12 dan Data[4]=45, Data[2] diisi 11

• dst

S1 Informatika
IT Telkom Purwokerto
Algoritma Insertion Sort

S1 Informatika
IT Telkom Purwokerto
Algoritma Pengurutan (2)

S1 Informatika
IT Telkom Purwokerto
Algoritma

Algoritma pengurutan Buble (Apung) membandingkan


elemen-elemen larik dari kanan ke kiri

1. Untuk setiap pass i = 1,2,…,n-1, kerjakan:


2. Untuk setiap k=n, n-1, …, i+1, kerjakan:
3. Bandingkan L[k] dengan L[k-1]. Jika L[k] < L[k-1] kerjakan:
4. Pertukarkan L[k] dengan L[k-1]

S1 Informatika
IT Telkom Purwokerto
Contoh Persoalan

S1 Informatika
IT Telkom Purwokerto
Contoh Persoalan
Contoh Persoalan
Potongan Prosedur

S1 Informatika
IT Telkom Purwokerto
Algoritma Pengurutan (3)

S1 Informatika
IT Telkom Purwokerto
Algoritma Pengurutan Seleksi

Minimum

Algoritma
Pengurutan
Seleksi

Maksimum

S1 Informatika
IT Telkom Purwokerto
Algoritma Seleksi Maksimum

Untuk setiap pass ke-i= n,n-1, …, 2, lakukan:


1. Cari elemen terbesar (maks) mulai dari elemen
ke-1 sampai dengan elemen ke-i
2. Pertukarkan maks dengan elemen ke-i

S1 Informatika
IT Telkom Purwokerto
Algoritma Seleksi Maksimum

S1 Informatika
IT Telkom Purwokerto
Algoritma Seleksi Maksimum

S1 Informatika
IT Telkom Purwokerto
Algoritma Seleksi Maksimum

S1 Informatika
IT Telkom Purwokerto
Petikan Algoritma

S1 Informatika
IT Telkom Purwokerto
Performa Masing-Masing Algoritma

S1 Informatika
IT Telkom Purwokerto
Latihan

int arr[6]

id 1 2 3 4 5 6
arr[id]
22 10 15 3 8 2
Jelaskan langkah-langkah pengurutan data secara ascending
menggunakan Buble Sort, Selection Sort, dan Insertion sort?

S1 Informatika
IT Telkom Purwokerto
Selanjutnya Baca…

• Munir, Rinaldi., Leony Lidya. 2016.


Algoritma dan Pemrograman
Dalam Bahasa Pascal, C, dan C++
Edisi Keenam. Bandung: Penerbit
Informatika.

BAB 17 – Pemrosesan Arsip


Selasa, 2 Januari 2018 jam 08.40

S1 Informatika
IT Telkom Purwokerto
S1 Informatika
IT Telkom Purwokerto

Anda mungkin juga menyukai