Array (Tabel) bagian 2

dokumen-dokumen yang mirip
Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N

Algoritma dan Pemrograman Array/Tabel[3] Oleh: Eddy Prasetyo N

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Powered by icomit.wordpress.com

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

LATIHAN UTS Tim Pengajar KU1071 Sem

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

CCH1A4 / Dasar Algoritma & Pemrogramanan

Array dan Matriks. IF2121 / Algoritma dan Struktur Data Sem / /7/2017 IF2121/sem /2018 1

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

MODUL IV PENCARIAN DAN PENGURUTAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

Kompleksitas Algoritma Sorting yang Populer Dipakai

{ Kamus Umum } constant IdxMax : integer = 100 constant IdxMin : integer = 1 constant IdxUndef : integer = -999 { indeks tak terdefinisi}

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Pengurutan (Sorting) Algoritma Pemrograman

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

BAB V SORTING (PENGURUTAN) INTERNAL

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

SORTING (PENGURUTAN DATA)

Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

CCH1A4 / Dasar Algoritma & Pemrogramanan

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

ALGORITMA PENGURUTAN & PENCARIAN

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Algoritma dan Struktur Data

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

ANALISIS KOMPLEKSITAS ALGORITMA UNTUK BERBAGAI MACAM METODE PENCARIAN NILAI (SEARCHING) DAN PENGURUTAN NILAI (SORTING) PADA TABEL

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Algoritma Brute Force

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

Pengertian Algoritma Pengurutan

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Searching [pencarian] Algoritma Pemrograman

Algoritma Brute Force

Algoritma Sorting (Selection Insertion)

BAB VI SORTIR ATAU PENGURUTAN

Algoritma dan Pemrograman 2 PENGURUTAN

BAB VI Pengurutan (Sorting)

Kompleksitas Algoritma

IKG2A3/ Pemrograman Terstruktur 2

Pengurutan (Sorting)

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

Modul 8 SORTING (PENGURUTAN)

Gambar 13.1 Ilustrasi proses algoritma sorting

PERTEMUAN 8 MATRIX. Introduction Definition How is matrix stored in memory Declaration Processing

BAB III QUEUE (ANTRIAN)

Array (Tabel) [DalamBahasaC++]

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

VISUALISASI LOGIKA ALGORITMA PENGURUTAN DATA MENGGUNAKAN JAVA

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

STRUKTUR DATA SORTING ARRAY

LIST LINIER 1. DEFINISI

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Sorting. Pertemuan ke 14.

BAB 1 PENGANTAR KE STRUKTUR DATA

METODE DEVIDE AND CONQUER

Kompleksitas Algoritma

Algoritma Divide and Conquer (Bagian 1)

Algoritma Divide and Conquer (Bagian 2)

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

Kode MK/ Pemrograman Terstruktur 2

Materi 4: SORTING (PENGURUTAN) Dosen:

Larik/ Array int a1, a2, a3, a4, a5;

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

BAB VI SEARCHING (PENCARIAN)

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

PENGURUTAN BILANGAN METODE STRAIGHT SELECTION

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

Transkripsi:

Array (Tabel) bagian 2 Tim Pengajar KU71 Sem. 1 2009-20 2009/11/17 TW/KU71 1

Tujuan Perkuliahan Mahasiswa dapat menggunakan notasi pendefinisian dan pengacuan array dengan benar Mahasiswa memahami proses pencarian nilai ekstrim dan pengurutan elemen yang dapat dilakukan terhadap array Mahasiswa dapat membuat program dengan menggunakan array 2009/11/17 TW/KU71 2

Harga Ekstrim Tabel Pencarian nilai ekstrim (minimum/maksimum) dalam tabel merupakan proses yang cukup penting Mencari mahasiswa dengan nilai tertinggi Mengeliminasi nilai tertinggi dan terendah dari suatu percobaan Persoalan: Diketahui sebuah tabel bilangan integer T[1..N] yang telah diisi Tuliskanlah Program Max, yang menghasilkan harga maksimum dari elemen tabel: i [1..N] T i Max. Contoh 1: N = 8, T berisi : { 1, -3, 5, 8, -12, 90, 3, 5} Output : Maximum adalah 90 Contoh 2: N = 11, T berisi : { -11, 3, 45, 8,3,45,-6,7,8,9,1} Output : Maksimum adalah 45 2009/11/17 TW/KU71 3

Pencarian Nilai Maksimum Versi mengembalikan nilai maksimum procedure MAX1(input T : TabInt, input N : integer, output MAX : integer) { Pencarian harga Maksimum: } { I.S. Tabel tidak kosong, karena jika kosong maka maks tidak terdefinisi, N >=0 } { F.S. Menghasilkan harga Maksimum MAX dari Tabel T[1..N] secara sekuensial mulai dari indeks 1..N} Kamus Lokal : i : integer {indeks untuk pencarian} ALGORITMA MAX T 1 {inisialisasi, T 1 diasumsikan merupakan nilai maksimum} i 2 {pembandingan nilai maksimum dimulai dari elemen ke-2} while i N do Nilai yang dihasilkan adalah nilai if (MAX < T i ) then maksimum, indeks tempat nilai MAX T i maksimum tidak diketahui i i + 1 { i > N : semua elemen sudah selesai diperiksa } Elemen pertama tabel diproses secara khusus 2009/11/17 TW/KU71 4

Pencarian Nilai Maksimum Versi mengembalikan indeks maksimum procedure MAX2 (input T : TabInt, input N : integer, output IMax : integer) { Pencarian indeks dengan harga Maksimum} { I.S. Tabel tidak kosong, karena jika kosong maka maks tidak terdefinisi, N >0 } { F.S. Menghasilkan indeks IMax terkecil, dengan harga T IMax dalam Tabel T [1..N] adalah maksimum } Kamus Lokal : i : integer ALGORITMA IMax 1 i 2 while i N do if (T IMax < T i ) then IMAX i i i + 1 { i > N : semua elemen sudah selesai diperiksa } Elemen pertama tabel diproses secara khusus Tidak menghasilkan nilai maksimum melainkan indeks dimana nilai maksimum berada 2009/11/17 TW/KU71 5

Pencarian Nilai Maksimum Versi maksimum dari bil. positif v.1 procedure MAXPOS(input T:TabInt, input N:integer, output MAX:integer) { Pencarian harga Maksimum di antara bilangan positif} { I.S. Tabel mungkin kosong: N=0, semua elemen tabel T bernilai positif } { F.S. Max berisi nilai elemen tabel yang maksimum. Jika kosong, MAX=-9999 } { Menghasilkan harga Maksimum (MAX) Tabel T [1..N] secara sekuensial mulai dari T1} Kamus Lokal : i : integer ALGORITMA MAX -9999 { inisialisasi dengan nilai yang pasti dapat digantikan! dalam hal ini nilai minimum representasi integer } i traversal [1.. N ] if (MAX < T i ) then MAX T i tabel { i =??, semua elemen sudah selesai diperiksa } Semua elemen tabel diperiksa dengan cara yang sama. Oleh sebab itu, nilai MAX harus diinisialisasi dengan nilai yang sudah pasti akan digantikan oleh nilai yang ada di dalam Pengulangan ini tidak aman untuk seluruh kasus. Carilah letak permasalahannya. 2009/11/17 TW/KU71 6

Pencarian Nilai Maksimum Versi maksimum dari bil. positif v.2 procedure MAXPOS(input T:TabInt, input N:integer, output MAX:integer) { Pencarian harga Maksimum di antara bilangan positif} { I.S. Tabel mungkin kosong: N=0, semua elemen tabel T bernilai positif } { F.S. Max berisi nilai elemen tabel yang maksimum. Jika kosong, MAX=-9999 } { Menghasilkan harga Maksimum (MAX) Tabel T [1..N] secara sekuensial mulai dari T 1 } Kamus Lokal : i : integer ALGORITMA MAX -9999 { inisialisasi dengan nilai yang pasti dapat digantikan! dalam hal ini nilai minimum representasi integer } i 1 while (i N) do if (MAX < T i ) then MAX T i i i + 1 { i = N+1, semua elemen sudah selesai diperiksa } 2009/11/17 TW/KU71 7

Pengurutan (Sorting) Sorting atau pengurutan data adalah proses yang sering harus dilakukan dalam pengolahan data Ada 2 macam teknik pengurutan: pengurutan internal, terhadap data yang tersimpan di memori pengurutan eksternal, terhadap data yang tersimpan di secondary storage Algoritma pengurutan internal yang utama antara lain: Counting Sort, Maximum Sort, Insertion Sort, Bubble sort Performansi pengurutan data sangat menentukan performansi sistem, karena itu pemilihan metoda pengurutan yang cocok akan berperan dalam suatu aplikasi 2009/11/17 TW/KU71 8

Pengurutan (Sorting) Definisi dan Kamus Umum Definisi Persoalan: Diberikan sebuah Tabel integer T [1..N] yang isinya sudah terdefinisi. Tuliskan sebuah algoritma yang mengurutkan elemen tabel sehingga terurut membesar : T 1 T 2 TT 3... T N Kamus Umum: KAMUS constant NMax : integer = 0 type TabInt : array [1..NMax] of integer N : integer {indeks efektif maksimum tabel yang terdefinisi, N Nmax} { jika diperlukan sebuah tabel, maka akan dibuat deklarasi sebagai berikut } T : TabInt { tabel integer } 2009/11/17 TW/KU71 9

Counting Sort (Pengurutan dengan Pencacah) Pengurutan dengan pencacahan adalah pengurutan yang paling sederhana Jika diketahui bahwa data yang akan diurut mempunyai daerah jelajah (range) tertentu, dan merupakan bilangan bulat, misalnya [Min..Max] maka cara paling sederhana untuk mengurut adalah : Sediakan array TabCount [Min..Max] yang elemennya diinisialisasi dengan nol, dan pada akhir proses TabCount i berisi banyaknya data pada tabel asal yang bernilai i Tabel dibentuk kembali dengan menuliskan kembali harga-harga yang ada berdasarkan isi dari TabCount 2009/11/17 TW/KU71

Counting Sort Ilustrasi 1. Elemen Tabel TabInt TabCount TabCount diinisialisasi 0 1 1 1 02 1 2. Telusuri TabInt, sambil mengupdate elemen TabCount TabCount berisi jumlah kemunculan elemen pada TabInt 3. Telusuri TabCount, untuk mengisi TabInt sesuai isi TabCount TabInt terurut 2 3 3 6 4 3 5 5 6 4 7 1 8 3 9 5 6 2 3 4 5 6 0 03 12 01 2 2 TabInt 1 2 3 4 5 6 7 8 9 1 1 3 3 3 4 5 5 6 6 2009/11/17 TW/KU71 11

Counting Sort Algoritma procedure CountSORT (input/output T : TabInt, input N : integer) { mengurut tabel integer [1..N] dengan pencacahan} Kamus Lokal : {ValMin & ValMax: batas Minimum dan Maximum nilai dalam T, harus diketahui} TabCount : array [ValMin..ValMax] of integer [0..NMax] i, j : integer { indeks untuk traversal tabel } K : integer { jumlah elemen T yang sudah diisi pada pembentukan kembali } ALGORITMA { Inisialisasi TabCount } Elemen Tabel TabCount i traversal [ValMin..ValMax] diinisialisasi 0 TabCount i 0 { Counting } i traversal [1..N] TabCount T TabCount + 1 i T i { Pengisian kembali : T 1 T 2... T N } K 0 i traversal [ValMin..ValMax] if (TabCount i 0) then j traversal [1..TabCount i ] K K + 1 T K i Telusuri TabInt, sambil mengupdate elemen TabCount TabCount berisi jumlah kemunculan elemen pada TabInt Telusuri TabCount, untuk mengisi TabInt sesuai isi TabCount TabInt terurut 2009/11/17 TW/KU71 12

Selection Sort (Pengurutan berdasarkan Seleksi) Contoh : maksimum suksesif Idenya adalah: Cari indeks penampung nilai maksimum tabel Tukar elemen pada indeks maksimum dengan elemen ter ujung elemen terujung "diisolasi, tidak disertakan pada proses berikutnya proses diulang untuk sisa tabel Hasil proses: tabel terurut mengecil T 1 T 2 T 3... T N Proses dilakukan sebanyak N-1 tahapan (disebut "pass") 2009/11/17 TW/KU71 13

Proses diulang untuk elemen 1..NMax-1 Pada iterasi ke-i: Elemen 1..i-1 sudah terurut Cari indeks dgn nilai maksimum elemen i..nmax Tukar elemen ke-i dengan elemen pada indeks dengan nilai maksimum Selection Sort Ilustrasi 1 2 3 4 5 6 12 60 30 60 12 25 30 12 25 12 Elemen maksimum 2..6, tukar dengan elemen 2 Elemen maksimum 1..6, tukar dengan elemen 1 Elemen maksimum 3..6, tukar dengan elemen 3 Elemen maksimum 4..6, 5..6, tukar dengan elemen 45 2009/11/17 TW/KU71 14

Selection Sort Algoritma procedure MAXSORT (input/output T : TabInt, input N : integer) { mengurut tabel integer [1..N] terurut mengecil dengan maksimum suksesif } Kamus Lokal : i : integer { indeks untuk traversal tabel } Pass : integer { tahapan pengurutan } Temp : integer { memorisasi harga untuk penukaran } IMax : integer { indeks, dimana T [Pass..N] bernilai maksimum } Algoritma Pass traversal [1..N-1] { Tentukan Maximum [Pass..N] } IMax Pass i traversal [Pass+1..N] if (T IMax < T i ) then IMax i { T IMax adalah maximum T[Pass..N] } {Tukar T IMax dengan T Pass } Temp T IMax T IMax T Pass T Pass Temp { T[1..Pass] terurut: T 1 T 2 T 3.. T Pass } {Seluruh tabel terurut, T 1 T 2 T 3... T N } Cari indeks dgn nilai maksimum (di bagian tabel yang belum terurut) Tukarkan elemen pada indeks maksimum dengan elemen terujung dari bagian tabel yang belum terurut 2009/11/17 TW/KU71 15

Insertion Sort (Pengurutan dengan Penyisipan) Idenya adalah: mencari tempat yang "tepat" untuk setiap elemen tabel dengan cara menyisipkan elemen tersebut pada tempatnya di bagian tabel yang sudah terurut Proses dilakukan sebanyak N-1 tahapan (disebut "pass"). Pada setiap Pass: tabel "terdiri dari" dua bagian: yang sudah terurut yaitu [1..Pass - 1] dan yang belum terurut yaitu [Pass..NMax] Ambil elemen T Pass, sisipkan ke dalam T[1..Pass-1] dengan tetap menjaga keterurutan dengan cara menggeser elemen-elemen, hingga ditemukan tempat yang cocok untuk elemen T Pass tersebut 2009/11/17 TW/KU71 16

Elemen 1 dianggap sudah terurut Proses diulang untuk elemen 2..NMax Pada iterasi ke-i: Elemen 1..i-1 sudah terurut Sisipkan elemen ke-i di antara elemen 1..i-1 dengan tetap menjaga keterurutan elemen Dapat dicapai dengan cara menggeser elemen yang nilainya lebih besar Insertion Sort Ilustrasi 1 2 3 4 5 6 TabInt 12 60 30 25 12 25 30 60 30 30 60 25 60 Temp 2009/11/17 TW/KU71 17

Insertion Sort - Algoritma procedure InsertionSORT(input/output T : TabInt, input N : integer) { mengurut tabel integer [1..N] dengan insertion } Kamus Lokal : i : integer { indeks untuk traversal tabel } Pass : integer { tahapan pengurutan } Temp : integer { penampung nilai sementara, untuk pergeseran } ALGORITMA { T 1 adalah terurut} Pass traversal [2..N] Temp TPass {Simpan harga TPass sebelum pergeseran } { Sisipkan elemen ke Pass dalam T[1..Pass-1] sambil menggeser:} i Pass-1 while (Temp < T i ) and (i > 1) do T i+1 T i { Geser} i i - 1 { Berikutnya } {Temp T i (tempat yg tepat) or i = 1 (sisipkan sbg elmt pertama)} depend on T, i, Temp Temp T i : T i+1 Temp {Menemukan tempat yg tepat} Temp < T i : T i+1 T i T i Temp {sbg elemen pertama } {T[1..Pass] terurut membesar: T 1 T 2.. T Pass } {Seluruh tabel terurut, karena Pass = N : T 1 T 2 T 3... T N } 2009/11/17 TW/KU71 18

Latihan 1. Diberikan definisi berikut ini: type TMahasiswa : <NIM: string, Nama: string, Nilai: integer [0..0]> type TabMhs: array [1..Nmax] of TMahasiswa Tuliskan prosedur UrutTabMhs(input/output TMhs: TabMhs, input N : integer) yang mengurutkan elemen TMhs berdasarkan atribut Nilai dengan urutan mengecil. Pengurutan dilakukan dengan pendekatan seleksi. 2. Bisakah persoalan no. 1 diselesaikan dengan menggunakan pendekatan pencacah (counting sort)? Jelaskan jawaban anda. 3. Tuliskan prosedur InputTerurut(input/output T: TabInt, input/output N: integer, X: integer), yang memasukkan X ke dalam T. T harus selalu dalam kondisi terurut (sebelum dan sesudah pemasukan elemen X). N menyimpan indeks efektif maksimum T 2009/11/17 TW/KU71 19

1. Elemen Tabel TabCount diinisialisasi 0 Counting Sort Ilustrasi 3. Telusuri TabCount, untuk mengisi TabInt sesuai isi TabCount TabInt terurut 1 0 2 0 3 0 4 0 5 0 6 0 1 1 2 3 3 6 4 3 5 5 6 4 7 1 1 2 2 0 3 3 4 1 5 2 6 2 1 1 2 1 3 3 4 3 5 3 6 4 7 5 2. Telusuri TabInt, sambil mengupdate elemen 8 3 8 5 TabCount TabCount 9 5 9 6 berisi jumlah kemunculan elemen 6 6 pada TabInt 2009/11/17 TW/KU71 20

Proses diulang untuk elemen 1..NMax-1 Pada iterasi ke-i: Elemen 1..i-1 sudah terurut Cari indeks dgn nilai maksimum elemen i..nmax Tukar elemen ke-i dengan elemen pada indeks dengan nilai maksimum Selection Sort Ilustrasi 1 2 3 12 60 60 60 30 60 30 60 30 4 60 12 12 12 25 25 5 30 30 30 12 6 25 25 25 25 12 Elemen maksimum pada iterasi Elemen yang akan menampung posisi elemen maksimum 2009/11/17 TW/KU71 21

Elemen 1 dianggap sudah terurut Proses diulang untuk elemen 2..NMax Pada iterasi ke-i: Elemen 1..i-1 sudah terurut Sisipkan elemen ke-i di antara elemen 1..i- 1 dengan tetap menjaga keterurutan elemen Dapat dicapai dengan cara menggeser elemen yang nilainya lebih besar Insertion Sort 1 2 3 4 5 6 Ilustrasi 12 60 30 25 12 60 30 25 12 60 30 25 12 60 30 25 Elemen yang akan disisipkan 12 30 60 25 12 25 30 60 2009/11/17 TW/KU71 22