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

dokumen-dokumen yang mirip
Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

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

ALGORITMA PENGURUTAN & PENCARIAN

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

Pengurutan (Sorting) Algoritma Pemrograman

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

MODUL IV PENCARIAN DAN PENGURUTAN

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

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

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

BAB VI SEARCHING (PENCARIAN)

SORTING. Brigida Arie Minartiningtyas, M.Kom

BAB V SORTING (PENGURUTAN) INTERNAL

Searching [pencarian] Algoritma Pemrograman

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

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

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

Bubble Sort (Pengurutan Gelembung / Pemberatan)

SORTING (PENGURUTAN DATA)

Pengurutan (Sorting)

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

Algoritma dan Pemrograman Searching/Pencarian

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

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

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

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Kompleksitas Algoritma (1)

Materi 4: SORTING (PENGURUTAN) Dosen:

Kompleksitas Algoritma

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

Kompleksitas Algoritma

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

Gambar 13.1 Ilustrasi proses algoritma sorting

CCH1A4 / Dasar Algoritma & Pemrogramanan

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil

Algoritma dan Pemrograman 2 PENGURUTAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs

Algoritma dan Pemrograman 2 PENGURUTAN

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

7. SORTING DAN SEARCHING

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

BAB VI Pengurutan (Sorting)

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

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

SEARCHING & SORTING. Pendahuluan

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

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Algoritma dan Struktur Data

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

BAB 8 SORTING DAN SEARCHING

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

STRATEGI DIVIDE AND CONQUER

Algoritma Brute Force

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

Array (Tabel) bagian 2

Sorting. Pertemuan ke 14.

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Algoritme dan Pemrograman

12/26/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Sorting. Data untuk sorting. Contoh. Algoritme #1: BUBBLE SORT.

*** SELAMAT MENGERJAKAN

Powered by icomit.wordpress.com

BAB VII ALGORITMA DIVIDE AND CONQUER

Algoritma dan Pemrograman 2 PENCARIAN

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

Modul Praktikum Algoritma dan Struktur Data

BAB VI SORTIR ATAU PENGURUTAN

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

Kompleksitas Algoritma Sorting yang Populer Dipakai

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Pencarian. 1. Memahami konsep pencarian 2. Mengenal beberapa algoritma pencarian 3. Menerapkan algoritma pencarian dalam program

Modul 8 SORTING (PENGURUTAN)

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

Operasi File. Chapter 13

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

BAB VIII Pencarian(Searching)

Algoritma Searching Tenia wahyuningrum, S.Kom. MT dan Sisilia Thya Safitri, MT

Algoritma dan Struktur Data. Searching dan Sorting

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

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

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

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

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

Materi Kuliah Pemrograman Terstruktur I. Materi Pertemuan SEARCHING & SORTING. Disusun oleh : Danang Junaedi

Decrease and Conquer

Meizano Ardhi M., S.T.

Algoritma Bubble Sort dan Quick Sort

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Algoritma Sorting (Selection Insertion)

Pengertian Algoritma Pengurutan

PENGURUTAN (SORTING) 1. Overview

Transkripsi:

Tujuan Searching & Sorting Pertemuan 9-10 Dosen Pembina Danang Junaedi TUJUAN MATERI Setelah mengikuti materi pertemuan ini, mahasiswa diharapkan dapat 1. Menjelaskan dan menggunakan metode pencarian dalam menyelesaikan masalah pencarian data/informasi pada Kondisi data yang tidak terurut Kondisi data terurut 2. Menjelaskan dan menggunakan metode untuk mengurutkan data/informasi dalam menyelesaikan masalah pegurutan data/informasi Jurusan Teknik Informatika IX/XII - 2 Universitas Widyatama Lingkup Materi 1. Pencarian pada Data yang Tidak Terurut a. Sequential dengan variabel logika b. Sequential tanpa variabel logika c. Sentinel 2. Pencarian pada Data yang Terurut a. Sequential tanpa variabel logika b. Binary search/dikotomik 3. Sorting a. Bubble Sort b. Selection Sort c. Insertion Sort Searching (1) Tujuan : mencari suatu nilai/elemen dalam kumpulan nilai (yang disimpan dalam array, list atau file) yang sudah diketahui Jenis Searching pada Data Tidak Terurut Sequential Search Searching pada Data Terurut Sequential Search Binary Search/Pencarian Bagi Dua/ Dikotomik Search Jurusan Teknik Informatika IX/XII - 3 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 4 Universitas Widyatama SEQUENTIAL SEARCH Pencarian pada Data yang Tidak Terurut Disini proses pencarian dilakukan secara beruntun dari data pertama sampai data terakhir. Pencarian pada Data yang Terurut Disini proses pencarian dapat dilakukan secara berurutan dari data pertama sampai data terakhir atau tidak berurutan. Masalah : Diketahui sebuah array A[1..10] yang berisi data integer dengan kondisi tidak terurut. Buat algoritma untuk mencari nilai X dan beri pesan ditemukan atau tidak nilai tersebut Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut 5 10 11 2 8 13 7 20 35 18 Pencarian dilakukan sampai dengan posisi akhir pada array atau data ditemukan Jurusan Teknik Informatika IX/XII - 5 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 6 Universitas Widyatama 1

Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut Kamus : ARRAY A[1..10] = array yang menampung data dalam tabel X = integer, variabel yang menampung data yang akan dicari INPUT X, I 1 WHILE (I < 10) AND ( A[I] <> X) DO I I + 1 OUTPUT Tidak ditemukan Jurusan Teknik Informatika IX/XII - 7 Universitas Widyatama Sequential Search (Tanpa Variabel Logika) untuk kondisi data terurut Pencarian dilakukan selama nilai dalam array < nilai yang dicari Jurusan Teknik Informatika IX/XII - 8 Universitas Widyatama Sequential Search (Tanpa Variabel Logika) untuk kondisi data terurut Pencarian dilakukan selama nilai dalam array < nilai yang dicari Sequential Search (Tanpa Variabel Logika) untuk kondisi data terurut Judul : Algoritma untuk mencari nilai X Kamus : ARRAY A[1..10] = array yang menampung data INPUT X, I 1 WHILE (A[I] < X) and (I <= 10) DO I I+1 OUTPUT Tidak ketemu Jurusan Teknik Informatika IX/XII - 9 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 10 Universitas Widyatama Searching (2) Sequential Search Tanpa Variabel Logika Data Tidak Terurut while (i <= N && Cari!= Barang[i]) i++; (i < N)? printf("barang ditemukan") : printf("barang tidak Data Terurut while (i <= N && Cari < Barang[i]) i++; (Barang[i] == Cari)? printf("barang ditemukan") : printf("barang tidak Jurusan Teknik Informatika IX/XII - 11 Universitas Widyatama Sequential Search (Dengan Variabel Logika) untuk kondisi data tidak terurut 5 10 11 2 8 13 7 20 35 18 Keadaan awal : Found False, I 1 Pencarian dilakukan sampai dengan posisi akhir pada array atau data ditemukan Found False, berarti nilai yang dicari tidak ketemu Found True, berarti nilai yang dicari ketemu Jurusan Teknik Informatika IX/XII - 12 Universitas Widyatama 2

Sequential Search (Dengan Variabel Logika) untuk kondisi data tidak terurut Kamus : ARRAY A[1..10] = array yang menampung data dalam tabel Found = boolean, variabel logika untuk mengetahui ketemu/tidak nilai yang akan dicari INPUT X, I 1, Found False WHILE (I <= 10) AND ( Not Found) DO Found True I I+1 ENDIF IF Found THEN OUTPUT Tidak ditemukan Jurusan Teknik Informatika IX/XII - 13 Universitas Widyatama Sequential Search (Tanpa Variabel Logika) untuk kondisi data terurut Keadaan awal : Found False, I 1 Pencarian dilakukan selama nilai dalam array < nilai yang dicari Found False, berarti nilai yang dicari tidak ketemu Found True, berarti nilai Jurusan Teknik Informatika IX/XII - 14 Universitas Widyatama Sequential Search (Dengan Variabel Logika) untuk kondisi data terurut Kamus : ARRAY A[1..10] = array yang menampung data dalam tabel Found = boolean, variabel logika untuk mengetahui ketemu/tidak nilai yang akan dicari INPUT X, I 1, Found False WHILE (I <= 10) AND ( Not Found) AND (A[I] < X) DO Found True I I+1 ENDIF IF Found THEN OUTPUT Tidak ditemukan Jurusan Teknik Informatika IX/XII - 15 Universitas Widyatama Searching (2) Sequential Search Dengan Variabel Logika Data Tidak Terurut ketemu = 0; while (i <= N && ketemu == 0) (Cari == Barang[i])? ketemu = 1: i++; (ketemu == 1)? printf("barang ditemukan") : printf("barang tidak Data Terurut Ketemu = 0; while (i <= N && Cari < Barang[i] && ketemu ==0) (Cari == Barang[i])? ketemu = 1: i++; (ketemu == 1)? printf("barang ditemukan") : printf("barang tidak Jurusan Teknik Informatika IX/XII - 16 Universitas Widyatama Sequential Search (Sentinel) untuk kondisi data tidak terurut 5 10 11 2 8 13 7 20 35 18 Sentinel di awal Pencarian dilakukan sampai dengan posisi sentinel. Jika menggunakan sentinel di awal pencarian dilakukan dari posisi paling belakang ke depan, sebaliknya jika menggunakan sentinel di akhir pencarian dilakukan dari depan ke belakang Sentinel di akhir I akan diisi nomor indeks yang array-nya bernilai X, namun apabila I bukan sentinel berarti nilai X ditemukan Jurusan Teknik Informatika IX/XII - 17 Universitas Widyatama Sequential Search (Sentinel) untuk kondisi data tidak terurut Sentinel adalah elemen fiktif yang dipasang setelah elemen terakhir atau di awal table Kamus : ARRAY A[1..11] = array yang menampung data dalam tabel Found = boolean, variabel logika INPUT X, I 1, A[11] X Sentinel di akhir WHILEA[I] <> X DO I I + 1 IF I <> 11 THEN OUTPUT Tidak ketemu Jurusan Teknik Informatika IX/XII - 18 Universitas Widyatama 3

Sequential Search (Sentinel) untuk kondisi data terurut Sentinel di awal Pencarian dilakukan selama nilai dalam array < nilai pada posisi sentinel. Jika menggunakan sentinel di awal pencarian dilakukan dari posisi paling belakang ke depan, sebaliknya jika menggunakan sentinel di akhir pencarian dilakukan dari depan ke belakang Sentinel di akhir I akan diisi nomor indeks yang array-nya bernilai X, namun apabila I bukan sentinel berarti nilai X ditemukan Jurusan Teknik Informatika IX/XII - 19 Universitas Widyatama Sequential Search (Sentinel) untuk kondisi data terurut Sentinel adalah elemen fiktif yang dipasang setelah elemen terakhir atau di awal table Kamus : ARRAY A[1..11] = array yang menampung data dalam tabel Found = boolean, variabel logika INPUT X, I 1, A[11] X Sentinel di akhir WHILEA[I] < A[11] DO I I + 1 IF I <> 11 THEN OUTPUT Tidak ketemu Jurusan Teknik Informatika IX/XII - 20 Universitas Widyatama Searching (2) Sequential Search Dengan Sentinel di awal Data Tidak Terurut i = N; j=0; scanf( %d,&barang[j]); while (i >= 1 && Barang[i]!= Barang[j]) i- -; (i >= 1)? printf("barang ditemukan") :printf("barang tidak Data Terurut i = N; j=0; scanf( %d,&barang[j]); while (i >= 1 && Barang[i] < Barang[j]) i- -; (i >= 1)? printf("barang ditemukan") :printf("barang tidak Binary Search (Pencarian Bagi Dua) Merupakan metode pencarian yang diterapkan pada kumpulan data yang telah terurut (terurut menaik atau terurut menurun), yang merupakan syarat mutlak dari proses pencarian yang menggunakan metode ini. Pencarian dilakukan dengan membagi dua larik yang sudah terurut, hal ini dilakukan sampai data tersebut ditemukan (nilai yang dicari adalah nilai yang di tengah) Ilustrasi metode Binary Search : Terdapat suatu larik A yang sudah terurut, dan akan dicari suatu nilai tertentu pada larik tersebut, misalnya nilai X. Jurusan Teknik Informatika IX/XII - 21 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 22 Universitas Widyatama Binary Search (Pencarian Bagi Dua Merupakan metode pencarian yang diterapkan pada kumpulan data yang telah terurut (terurut menaik atau terurut menurun), yang merupakan syarat mutlak dari proses pencarian yang menggunakan metode ini. Pencarian dilakukan dengan membagi dua larik yang sudah terurut, hal ini dilakukan sampai data tersebut ditemukan (nilai yang dicari adalah nilai yang di tengah) Ilustrasi metode Binary Search Terdapat suatu larik A yang sudah terurut, dan akan dicari suatu nilai tertentu pada larik tersebut, misalnya nilai X Langkah pertama : bagi dua larik A, yaitu : Tengah = (Kiri + Kanan)/2 Langkah kedua : bandingkan data yang dicari (misal : X) dengan data larik A[Tengah] Jika X = A[Tengan], pencarian dihentikan (ketemu). Jika X > A[T], pencarian dilakukan pada posisi sebelah kanan. Ubah nilai Kiri menjadi nilai Tengah (Kiri = Tengah), ulangi langkah pertama sampai data ditemukan Jika X < A[T], pencarian dilakukan pada posisi sebelah kiri. Ubah nilai Kanan menjadi nilai Tengah (Kanan =Tengah), ulangi langkah pertama sampai data ditemukan Jurusan Teknik Informatika IX/XII - 23 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 24 Universitas Widyatama 4

Binary Search kiri = 0; Searching (3) kanan = N-1; ketemu = 0; while (kiri < kanan && ketemu == 0) tengah = (kiri + kanan) / 2; if (Barang[tengah] == Cari) ketemu = 1; else (Barang[tengah]< Cari)? kiri = tengah + 1 :kanan = tengah - 1; (ketemu == 1)? printf("barang ditemukan") :printf("barang tidak SORTING (PENGURUTAN) DEFINISI PENGURUTAN Pengurutan (Sorting) adalah suatu proses untuk mengatur sekumpulan data atau objek menurut susunan atau urutan tertentu. Dibedakan menjadi 2 macam, yaitu : Pengurutan Internal yaitu pengurutan terhadap sekumpulan data yang disimpan dalam media internal komputer, yang dapat diakses setiap elemennya secara langsung dan disebut juga sebagai pengurutan tabel. Pengurutan Eksternal, yaitu pengurutan data yang disimpan dalam memori sekunder, biasanya data berukuran besar sehingga tidak mampu untuk dimuat semuanya dalam memori komputer disebut juga pengurutan arsip (file). Jurusan Teknik Informatika IX/XII - 25 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 26 Universitas Widyatama Sorting (1) Tujuan : menyusun nilai/elemen (biasanya dalam array atau file) sedemikian rupa berdasarkan aturan tertentu (ascending/descending) Jenis Internal Sorting Selection Sort Bubble Sort Insertion Sort Eksternal Sorting Maksimum-minimum Sort (Selection Sort) Didasarkan pada pemilihan elemen maksimum atau minimum larik sebagai basis pengurutan. Gagasannya adalah memilih elemen maksimum/minimum tersebut dengan elemen terujung larik (ujung kiri atau ujung kanan). Selanjutnya elemen terujung tersebut di-isolasi dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa sampai larik terurut. Jurusan Teknik Informatika IX/XII - 27 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 28 Universitas Widyatama Maksimum Sort : Ilustrasi Pengurutan : Secara Ascending(terurut dari kecil ke besar) 65 20 5 30 85 40 data asal 65 20 5 30 40 85 langkah 1 40 20 5 30 65 85 langkah 2 30 20 5 40 65 85 langkah 3 5 20 30 40 65 85 langkah 4 5 20 30 40 65 85 langkah 5 Ilustrasi pengurutan : Secara Descending (terurut dari besar ke kecil) 65 20 5 30 85 40 data asal 85 20 5 30 65 40 langkah 1 85 65 5 30 20 40 langkah 2 85 65 40 30 20 5 langkah 3 85 65 40 30 20 5 langkah 4 85 65 40 30 20 5 langkah 5 dan sebaliknya dapat dilakukan untuk Mimimum Sort [Coba lakukan!] Jurusan Teknik Informatika IX/XII - 29 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 30 Universitas Widyatama 5

Sorting (2) Selection Sort menggunakan nilai minimum for(i=0;i<n-1;i++) min=i; for(j=i+1;j<n;j++) if(barang[j] < Barang[min]) min = j; Temp = Barang[min]; Barang[min] = Barang[i] Barang[i] = Temp; Bubble Sort Metode ini menggunakan prinsip pengapungan (diinspirasi oleh gelembung sabun yang berada di atas permukaan air). Elemen larik yang berharga paling kecil diapungkan, artinya diangkat keatas (atau ujung kiri larik) melalui proses pertukaran. Proses pengapungan ini dilakukan sampai larik terurut. Jurusan Teknik Informatika IX/XII - 31 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 32 Universitas Widyatama Ilustrasi Bubble Sort : 15 25 2 7 1 sebelum pengurutan 15 25 2 1 7 15 25 1 2 7 langkah 1 15 1 25 2 7 1 15 25 2 7 1 15 25 2 7 1 15 25 2 7 langklah 2 1 15 2 25 7 1 2 15 25 7 1 2 15 7 25 1 2 15 7 25 langkah 3 1 2 7 15 25 1 2 7 15 25 langkah 4 1 2 7 15 25 hasil pengurutan Bubble Sort Sorting (3) for(i=0;i<n-1;i++) for(j=n-1;j>=i;j--) if(barang[j] < Barang[j-1]) //proses pertukaran Temp = Barang[j]; Barang[j] = Barang[j-1]; Barang[j-1] = Temp; Jurusan Teknik Informatika IX/XII - 33 Universitas Widyatama Jurusan Teknik Informatika IX/XII - 34 Universitas Widyatama Insertion Sort Merupakan metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi ini dilakukan secara sequential. Selama pencarian posisi ini, dilakukan pergeseran elemen larik. Ilustrasi Insertion Sort : (untuk menghasilkan data terurut dari kecil ke besar) 29 27 10 8 76 21 data asal 27 29 10 8 76 21 langkah 1 10 27 29 8 76 21 langkah 2 8 10 27 29 76 21 langkah 3 8 10 27 29 76 21 langkah 4 8 10 21 27 29 76 langkah 5 Jurusan Teknik Informatika IX/XII - 35 Universitas Widyatama Insertion Sort Sorting (4) for(i=1;i<n;i++) Temp = Barang[i] j=i-1; Ketemu = 0; while (j>=0 && Ketemu == 0) if(temp < Barang[j]) Barang[j+1] = Barang[j]; j--; else Ketemu = 1; Barang[j+1] = Temp; Jurusan Teknik Informatika IX/XII - 36 Universitas Widyatama 6