SlideShare a Scribd company logo
SORTING ARRAY
SESI 2
2
Pengertian Sorting
Proses mengurutkan data yang berada dalam suatu
tempat penyimpanan, dengan urutan tertentu yaitu
urutan naik (ascending) dari nilai terkecil hingga
terbesar atau urutan turun (descending) dari nilai
terbesar hingga nilai terkecil.
Dilihat dari tempat penyimpanan data, sort dibedakan
antara external sort bila datanya ada dalam media
external atau external storage seperti harddisk dan
internal sort bila datanya ada dalam internal storage
atau memory computer.
3
Tujuan Sorting
• Mendapatkan kemudahan dalam pencarian
anggota dari suatu himpunan, disamping
dapat mempercepat mengetahui data
terbesar dan data terkecil
4
Metode sorting
• Bubble sort
• Selection sort
• Insertion sort
• Shell sort
• Merge sort
• Radix sort
• Quick sort
• Heap short
• Proses yang terjadi
pada pengurutan
adalah
– Perbandingan data
– Pertukaran data
Metode Sorting
5
Bubble Sort
Bubble artinya gelembung dan gelembung selalu
mengapung.
Prinsip proses pengurutan dengan menggunakan
metode bubble sort adalah
menempatkan (mengapungkan) nilai terbesar (jika urut
ascending) atau nilai terkecil (jika urut descending) pada
elemen ujung paling kanan pada tahap per tahapnya.
6
Bubble Sort
Sudah ada array satu dimensi sudah ada isinya,
diilustrasikan sebagai berikut :
Akan diurutkan ascending sehingga dihasilkan
urutan data seperti berikut:
7
Bubble Sort
Maka proses pengurutan tahap demi tahap dengan menggunakan
metode bubble sort adalah sebagai berikut :
8
Bubble Sort
Dari array diatas yang terdiri dari 6 elemen
dibutuhkan proses sebanyak 5 tahap maka untuk N
elemen dibutuhkan (N-1) tahap proses pengurutan.
Selanjutnya proses tahap per tahap akan diuraikan
lebih rinci lagi.
Pada proses setiap tahap algoritma yang digunakan
adalah proses banding (compare) dan tukar (swap).
Bukan semata-mata meletakkan nilai terbesar ke
ujung kanan, melainkan membandingkan nilai-
nilai yang ada pada masing-masing elemen.
9
F
l
o
w
c
h
a
r
t
10
Rumus Bubble Sort
for (K = 0 ; K < N-1 ; K++)
{
for (i = 0 ; i < N-2-K ; i++)
{
if ( A[i] > A[i+1] )
{
x = A[i];
A[i] = A[i+1];
A[i+1] = x;
}
}
}
11
Selection Sort
Metode selection sort ini menggunakan proses
pencarian (searching) kemudian tukar nilai yang dicari
dengan nilai pada elemen awal.
Misalnya untuk pengurutan ascending, dicari nilai
terkecil pertama kemudian tukar dengan elemen ke-0,
selanjutnya dicari nilai terkecil kedua dan tukar
dengan elemen ke-1 dan seterusnya.
12
F
l
o
w
c
h
a
r
t
13
Rumus Selection Sort
for ( i=0 ; i <= N-2 ; i++)
{
kecil = i;
for ( k = i+1 ; k <= N-1 ; k++ )
{
if (A[k] > A[j])
{
kecil = k;
}
}
temp = A[i];
A[i] = A[kecil];
A[kecil] = temp;
}
14
Insertion Sort
• Metode ini dilakukan dengan penyisipan
nilai data untuk suatu array misal A, yang
tidak terurut ke dalam suatu tempat kosong
misal C dan memastikan nilai data C selalu
dalam keadaan terurut.
15
Insertion Sort
Tahap 1 :
Dimulai dari A[1]
Simpan nilai A[1] pada sebuah variabel (misal x)
Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri
A[1] satu per satu jika nilai tersebut lebih besar dari x
Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser.
Tahap 2 :
Simpan nilai A[2] pada variabel x.
Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri
A[2] satu per satu jika nilai tersebut lebih besar dari x
Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser.
Tahap berikutnya dan seterusnya hingga terakhir tahap ke N-1 (untuk array
dengan N elemen).
Instruksi pergeseran ke kanan adalah A[i]=A[i - 1], sehingga nilai A[i] akan
hilang (ditimpa oleh nilai A[i-1] oleh karena itu pada awal tahap A[i] disimpan
pada sebuah variabel.
16
F
l
o
w
c
h
a
r
t
17
Rumus Insertion Sort
For (i=2; i<=N; i++)
{
temp = data[i];
j = i-1;
while(temp < data[j] && j>1)
{
data[j+1] = data[j];
j = j-1;
}
if(temp >= data[j]
data[j+1] = temp;
else
{
data[j+1] = data[j];
data[j] = temp;
}
}
18
Quick Sort
• Metode pembagian dan penguasaan
• Array misal A yang tidak terurut dibagi menjadi 2
sub bagian yakni array kiri dan array kanan.
• Proses pengurutan kedua sub bagian array
menggunakan rekursif dan kemudian
menggabungkan kembali 2 sub bagian array yang
terurut untuk menghasilkan keseluruhan array
yang terurut
19
R
u
m
u
s
Q
u
i
c
k
S
o
r
t
void quick(int a[], int left, int right)
{
int i,j, x, temp;
i = left;
j = right;
x = a[(left+right)/2];
do
{
while(a[i]<x && i<right)
++i;
while(a[j]>x && j>left)
--j;
if(i<=j)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
++i;
--j;
}
}while(i <= j);
if(left<j)
quick(a, left,j);
if(i<right)
quick(a, i, right);
}
20
Merge Sort
• Pengurutan data yang jumlahnya besar,
dimana tidak semuanya dapat dimuat dalam
memori utama, sehingga harus disimpan
dalam penyimpanan sekunder berupa berkas
21
R
u
m
u
s
M
e
r
g
e
S
o
r
t
void MergeSort(int x[], int n)
{
long aux[8], i, j, k, L1, L2, size, U1, U2; size = 1;
while(size < n){
L1 = 0; k = 0;
while(L1+size < n){
L2 = L1 + size;
U1 = L2 -1;
U2 = (L2+size-1 < n) ? L2+size-1 : n-1;
for(i=L1, j=L2; i<=U1 && j<=U2; k++)
if(x[i] <= x[j]) aux[k] = x[i++];
else aux[k] = x[j++];
for(;i <= U1; k++)
aux[k] = x[i++];
for(;j <= U2; k++)
aux[k] = x[j++];
L1 = U2 + 1;}
for(i=L1;k<n;i++) aux[k++] = x[i];
for(i=0;i<n;i++) x[i] = aux[i];
size *=2;}
}
22
Heap Sort
• Heap merupakan pohon biner tanpa pointer
dan mirip seperti pohon biner yang hampir
penuh. Semua simpul (daun) terletak pada
dua cabang terbawah dan simpul daun pada
cabang paling bawah terletak di sebelah kiri
sejauh mungkin
• Nilai dalam setiap simpul adalah lebih besar
atau sama dengan anaknya
23
Rumus Heap Sort
void HeapSort(int a[], int size)
{
int i, f, s;
for(i=1;i<size;i++)
{
int e = a[i];
s = i;
f = (s-1)/2;
while(s > 0 && a[f] > e)
{
a[s] = a[f];
s = f;
f = (s-1)/2;
}
a[s] = e;
}
for(i=size; i>0; i--)
{
int value = a[i];
a[i] = a[0];
f = 0;
if(i==1)
s = -1;
else
s = 1;
if(i > 2 && a[2] > a[1])
s = 2;
while(s >= 0 && value < a[s])
{
a[f] = a[s];
f = s;
s = 2*f+1;
if(s+1 <= i-1 && a[s] < a[s+1])
s = s+1;
if(s > i-1)
s = -1;
}
a[f] = value;
}
}
24
Shell Sort
jarak = N/2;
while(jarak > 0)
{
for(i=0; i<=N-jarak; i++)
{
j=i+jarak;
if(data[i] >data[j])
{
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
jarak = jarak/2;
}
Metode pengurutan dengan cara penukaran sepasang
elemen dengan jarak tertentu
25
Tugas Praktikum
Buatlah program untuk menyimpan dan
mengurutkan data-data struct mahasiswa yang
terdiri dari 3 field yaitu NIM, NamaMhs, Nilai.
Kemudian isikan secara acak/tidak berurut) contoh
data dari 5 mahasiswa yang masing-masing
mengandung NIM, NamaMhs, Nilai.
Selanjutnya gunakan algoritma pengurutan untuk
mengurutkan data mahasiswa berdasarkan
NamaMhs kemudian tampilkan hasil
pengurutannya

More Related Content

What's hot

tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
SITI MUTIAH NURMALA DEWI
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
Lubna Abidah
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Reskidtc
 
Makalah shell sort
Makalah shell sortMakalah shell sort
Makalah shell sort
Bella Angriani
 
Revitalia purba
Revitalia purbaRevitalia purba
Revitalia purba
Revitalia Purba
 
Deferensial
DeferensialDeferensial
Deferensial
Miftakul Sururi
 
Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)
Edho Pratama
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaMutia Rahmadania
 
DIFFERENSIAL (Matematika Bisnis)
DIFFERENSIAL (Matematika Bisnis)DIFFERENSIAL (Matematika Bisnis)
DIFFERENSIAL (Matematika Bisnis)
nindyaagassi
 
9 persamaan differensial biasa
9 persamaan differensial biasa9 persamaan differensial biasa
9 persamaan differensial biasa
Tony Creat
 
Pertemuan 4 turunan fungsi implisit
Pertemuan 4   turunan fungsi implisitPertemuan 4   turunan fungsi implisit
Pertemuan 4 turunan fungsi implisit
Senat Mahasiswa STIS
 
Tgs Presentasi Mat - SPLV
Tgs Presentasi Mat - SPLVTgs Presentasi Mat - SPLV
Tgs Presentasi Mat - SPLVAdam Hars
 
Diferensial Parsial
Diferensial ParsialDiferensial Parsial
Diferensial Parsial
Rose Nehe
 
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
KuliahKita
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
ohohervin
 
Modul xiii dan xiv algo
Modul xiii dan xiv algoModul xiii dan xiv algo
Modul xiii dan xiv algo
STMIK AKAKOM
 
Differensial fungsi sederhana
Differensial fungsi sederhana Differensial fungsi sederhana
Differensial fungsi sederhana
Eko Mardianto
 

What's hot (19)

tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
Makalah shell sort
Makalah shell sortMakalah shell sort
Makalah shell sort
 
Revitalia purba
Revitalia purbaRevitalia purba
Revitalia purba
 
Deferensial
DeferensialDeferensial
Deferensial
 
Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
DIFFERENSIAL (Matematika Bisnis)
DIFFERENSIAL (Matematika Bisnis)DIFFERENSIAL (Matematika Bisnis)
DIFFERENSIAL (Matematika Bisnis)
 
9 persamaan differensial biasa
9 persamaan differensial biasa9 persamaan differensial biasa
9 persamaan differensial biasa
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Pertemuan 4 turunan fungsi implisit
Pertemuan 4   turunan fungsi implisitPertemuan 4   turunan fungsi implisit
Pertemuan 4 turunan fungsi implisit
 
Tgs Presentasi Mat - SPLV
Tgs Presentasi Mat - SPLVTgs Presentasi Mat - SPLV
Tgs Presentasi Mat - SPLV
 
Diferensial Parsial
Diferensial ParsialDiferensial Parsial
Diferensial Parsial
 
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Teorema limit
Teorema limitTeorema limit
Teorema limit
 
Modul xiii dan xiv algo
Modul xiii dan xiv algoModul xiii dan xiv algo
Modul xiii dan xiv algo
 
Differensial fungsi sederhana
Differensial fungsi sederhana Differensial fungsi sederhana
Differensial fungsi sederhana
 

Similar to Bab 2 sorting array

Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)muissyahril
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
Mutia Rahmadania
 
Struktur data chapter_12
Struktur data chapter_12Struktur data chapter_12
Struktur data chapter_12
Sejahtera Affif
 
Kelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancanaKelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancana
Ririn Indah
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
angelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
angelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
angelyaningsih
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-dataWandi Parlente
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
BintangWijaya5
 
desain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdfdesain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdf
septiara5
 
Struktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptxStruktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptx
EmanuelFernandezNumb
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarianWandi Parlente
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Shofura Kamal
 
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).pptAlgoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
MangarasYanuF
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
BintangWijaya5
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
Nurul Habibah
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
Endang Retnoningsih
 
Decrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptxDecrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptx
ArunachalamSelva
 

Similar to Bab 2 sorting array (20)

Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Struktur data chapter_12
Struktur data chapter_12Struktur data chapter_12
Struktur data chapter_12
 
Kelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancanaKelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancana
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
 
desain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdfdesain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdf
 
Struktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptxStruktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptx
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
 
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).pptAlgoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
 
Array statis if
Array statis ifArray statis if
Array statis if
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Decrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptxDecrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptx
 

More from Fahuda E

Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)
Fahuda E
 
Bab 3 searching array (1)
Bab 3 searching array (1)Bab 3 searching array (1)
Bab 3 searching array (1)
Fahuda E
 
Materi 2: komponen game
Materi 2: komponen gameMateri 2: komponen game
Materi 2: komponen game
Fahuda E
 
Materi 1: gdlc
Materi 1: gdlcMateri 1: gdlc
Materi 1: gdlc
Fahuda E
 
Materi 5: sprite
Materi 5: spriteMateri 5: sprite
Materi 5: sprite
Fahuda E
 
Materi 4: lod
Materi 4: lodMateri 4: lod
Materi 4: lod
Fahuda E
 
Materi 3 rendering graphic dan game
Materi 3   rendering graphic dan gameMateri 3   rendering graphic dan game
Materi 3 rendering graphic dan game
Fahuda E
 
Materi 7 perangkat lunak sistem
Materi 7 perangkat lunak sistemMateri 7 perangkat lunak sistem
Materi 7 perangkat lunak sistem
Fahuda E
 
Materi 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasiMateri 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasi
Fahuda E
 
Materi 5 penyimpanan eksternal
Materi 5 penyimpanan eksternalMateri 5 penyimpanan eksternal
Materi 5 penyimpanan eksternal
Fahuda E
 
Materi 4 peranti keluaran
Materi 4 peranti keluaranMateri 4 peranti keluaran
Materi 4 peranti keluaran
Fahuda E
 
Materi 3 peranti masukan
Materi 3 peranti masukanMateri 3 peranti masukan
Materi 3 peranti masukan
Fahuda E
 
Struct
StructStruct
Struct
Fahuda E
 
Rules tugas besar asd
Rules tugas besar asdRules tugas besar asd
Rules tugas besar asd
Fahuda E
 
Pointer
PointerPointer
Pointer
Fahuda E
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
Fahuda E
 
Bab 4 queue (antrian)
Bab 4 queue (antrian)Bab 4 queue (antrian)
Bab 4 queue (antrian)
Fahuda E
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)
Fahuda E
 
Array
ArrayArray
Array
Fahuda E
 
Bab 3 searching array
Bab 3 searching arrayBab 3 searching array
Bab 3 searching array
Fahuda E
 

More from Fahuda E (20)

Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)
 
Bab 3 searching array (1)
Bab 3 searching array (1)Bab 3 searching array (1)
Bab 3 searching array (1)
 
Materi 2: komponen game
Materi 2: komponen gameMateri 2: komponen game
Materi 2: komponen game
 
Materi 1: gdlc
Materi 1: gdlcMateri 1: gdlc
Materi 1: gdlc
 
Materi 5: sprite
Materi 5: spriteMateri 5: sprite
Materi 5: sprite
 
Materi 4: lod
Materi 4: lodMateri 4: lod
Materi 4: lod
 
Materi 3 rendering graphic dan game
Materi 3   rendering graphic dan gameMateri 3   rendering graphic dan game
Materi 3 rendering graphic dan game
 
Materi 7 perangkat lunak sistem
Materi 7 perangkat lunak sistemMateri 7 perangkat lunak sistem
Materi 7 perangkat lunak sistem
 
Materi 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasiMateri 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasi
 
Materi 5 penyimpanan eksternal
Materi 5 penyimpanan eksternalMateri 5 penyimpanan eksternal
Materi 5 penyimpanan eksternal
 
Materi 4 peranti keluaran
Materi 4 peranti keluaranMateri 4 peranti keluaran
Materi 4 peranti keluaran
 
Materi 3 peranti masukan
Materi 3 peranti masukanMateri 3 peranti masukan
Materi 3 peranti masukan
 
Struct
StructStruct
Struct
 
Rules tugas besar asd
Rules tugas besar asdRules tugas besar asd
Rules tugas besar asd
 
Pointer
PointerPointer
Pointer
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 
Bab 4 queue (antrian)
Bab 4 queue (antrian)Bab 4 queue (antrian)
Bab 4 queue (antrian)
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)
 
Array
ArrayArray
Array
 
Bab 3 searching array
Bab 3 searching arrayBab 3 searching array
Bab 3 searching array
 

Recently uploaded

PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
Laporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdfLaporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdf
yuniarmadyawati361
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
Hernowo Subiantoro
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
UmyHasna1
 
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
haryonospdsd011
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
asyi1
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
lastri261
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
d2spdpnd9185
 
Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
heridawesty4
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Fathan Emran
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
suprihatin1885
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
UditGheozi2
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
muhammadyudiyanto55
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
DEVI390643
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
Kurnia Fajar
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
MuhammadBagusAprilia1
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
SurosoSuroso19
 

Recently uploaded (20)

PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
Laporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdfLaporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdf
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
 
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
Dokumen Rangkuman Kehadiran Guru ini dipergunakan sebagai bukti dukung yang w...
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdfRHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
RHK Jabatan Kep Sekolah dan Bukti Dukung.pdf
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
 
Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
 
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docxSOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
SOAL SHB PKN SEMESTER GENAP TAHUN 2023-2024.docx
 
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptxRANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
RANCANGAN TINDAKAN AKSI NYATA MODUL 1.4.pptx
 

Bab 2 sorting array

  • 2. 2 Pengertian Sorting Proses mengurutkan data yang berada dalam suatu tempat penyimpanan, dengan urutan tertentu yaitu urutan naik (ascending) dari nilai terkecil hingga terbesar atau urutan turun (descending) dari nilai terbesar hingga nilai terkecil. Dilihat dari tempat penyimpanan data, sort dibedakan antara external sort bila datanya ada dalam media external atau external storage seperti harddisk dan internal sort bila datanya ada dalam internal storage atau memory computer.
  • 3. 3 Tujuan Sorting • Mendapatkan kemudahan dalam pencarian anggota dari suatu himpunan, disamping dapat mempercepat mengetahui data terbesar dan data terkecil
  • 4. 4 Metode sorting • Bubble sort • Selection sort • Insertion sort • Shell sort • Merge sort • Radix sort • Quick sort • Heap short • Proses yang terjadi pada pengurutan adalah – Perbandingan data – Pertukaran data Metode Sorting
  • 5. 5 Bubble Sort Bubble artinya gelembung dan gelembung selalu mengapung. Prinsip proses pengurutan dengan menggunakan metode bubble sort adalah menempatkan (mengapungkan) nilai terbesar (jika urut ascending) atau nilai terkecil (jika urut descending) pada elemen ujung paling kanan pada tahap per tahapnya.
  • 6. 6 Bubble Sort Sudah ada array satu dimensi sudah ada isinya, diilustrasikan sebagai berikut : Akan diurutkan ascending sehingga dihasilkan urutan data seperti berikut:
  • 7. 7 Bubble Sort Maka proses pengurutan tahap demi tahap dengan menggunakan metode bubble sort adalah sebagai berikut :
  • 8. 8 Bubble Sort Dari array diatas yang terdiri dari 6 elemen dibutuhkan proses sebanyak 5 tahap maka untuk N elemen dibutuhkan (N-1) tahap proses pengurutan. Selanjutnya proses tahap per tahap akan diuraikan lebih rinci lagi. Pada proses setiap tahap algoritma yang digunakan adalah proses banding (compare) dan tukar (swap). Bukan semata-mata meletakkan nilai terbesar ke ujung kanan, melainkan membandingkan nilai- nilai yang ada pada masing-masing elemen.
  • 10. 10 Rumus Bubble Sort for (K = 0 ; K < N-1 ; K++) { for (i = 0 ; i < N-2-K ; i++) { if ( A[i] > A[i+1] ) { x = A[i]; A[i] = A[i+1]; A[i+1] = x; } } }
  • 11. 11 Selection Sort Metode selection sort ini menggunakan proses pencarian (searching) kemudian tukar nilai yang dicari dengan nilai pada elemen awal. Misalnya untuk pengurutan ascending, dicari nilai terkecil pertama kemudian tukar dengan elemen ke-0, selanjutnya dicari nilai terkecil kedua dan tukar dengan elemen ke-1 dan seterusnya.
  • 13. 13 Rumus Selection Sort for ( i=0 ; i <= N-2 ; i++) { kecil = i; for ( k = i+1 ; k <= N-1 ; k++ ) { if (A[k] > A[j]) { kecil = k; } } temp = A[i]; A[i] = A[kecil]; A[kecil] = temp; }
  • 14. 14 Insertion Sort • Metode ini dilakukan dengan penyisipan nilai data untuk suatu array misal A, yang tidak terurut ke dalam suatu tempat kosong misal C dan memastikan nilai data C selalu dalam keadaan terurut.
  • 15. 15 Insertion Sort Tahap 1 : Dimulai dari A[1] Simpan nilai A[1] pada sebuah variabel (misal x) Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri A[1] satu per satu jika nilai tersebut lebih besar dari x Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser. Tahap 2 : Simpan nilai A[2] pada variabel x. Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri A[2] satu per satu jika nilai tersebut lebih besar dari x Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser. Tahap berikutnya dan seterusnya hingga terakhir tahap ke N-1 (untuk array dengan N elemen). Instruksi pergeseran ke kanan adalah A[i]=A[i - 1], sehingga nilai A[i] akan hilang (ditimpa oleh nilai A[i-1] oleh karena itu pada awal tahap A[i] disimpan pada sebuah variabel.
  • 17. 17 Rumus Insertion Sort For (i=2; i<=N; i++) { temp = data[i]; j = i-1; while(temp < data[j] && j>1) { data[j+1] = data[j]; j = j-1; } if(temp >= data[j] data[j+1] = temp; else { data[j+1] = data[j]; data[j] = temp; } }
  • 18. 18 Quick Sort • Metode pembagian dan penguasaan • Array misal A yang tidak terurut dibagi menjadi 2 sub bagian yakni array kiri dan array kanan. • Proses pengurutan kedua sub bagian array menggunakan rekursif dan kemudian menggabungkan kembali 2 sub bagian array yang terurut untuk menghasilkan keseluruhan array yang terurut
  • 19. 19 R u m u s Q u i c k S o r t void quick(int a[], int left, int right) { int i,j, x, temp; i = left; j = right; x = a[(left+right)/2]; do { while(a[i]<x && i<right) ++i; while(a[j]>x && j>left) --j; if(i<=j) { temp = a[i]; a[i] = a[j]; a[j] = temp; ++i; --j; } }while(i <= j); if(left<j) quick(a, left,j); if(i<right) quick(a, i, right); }
  • 20. 20 Merge Sort • Pengurutan data yang jumlahnya besar, dimana tidak semuanya dapat dimuat dalam memori utama, sehingga harus disimpan dalam penyimpanan sekunder berupa berkas
  • 21. 21 R u m u s M e r g e S o r t void MergeSort(int x[], int n) { long aux[8], i, j, k, L1, L2, size, U1, U2; size = 1; while(size < n){ L1 = 0; k = 0; while(L1+size < n){ L2 = L1 + size; U1 = L2 -1; U2 = (L2+size-1 < n) ? L2+size-1 : n-1; for(i=L1, j=L2; i<=U1 && j<=U2; k++) if(x[i] <= x[j]) aux[k] = x[i++]; else aux[k] = x[j++]; for(;i <= U1; k++) aux[k] = x[i++]; for(;j <= U2; k++) aux[k] = x[j++]; L1 = U2 + 1;} for(i=L1;k<n;i++) aux[k++] = x[i]; for(i=0;i<n;i++) x[i] = aux[i]; size *=2;} }
  • 22. 22 Heap Sort • Heap merupakan pohon biner tanpa pointer dan mirip seperti pohon biner yang hampir penuh. Semua simpul (daun) terletak pada dua cabang terbawah dan simpul daun pada cabang paling bawah terletak di sebelah kiri sejauh mungkin • Nilai dalam setiap simpul adalah lebih besar atau sama dengan anaknya
  • 23. 23 Rumus Heap Sort void HeapSort(int a[], int size) { int i, f, s; for(i=1;i<size;i++) { int e = a[i]; s = i; f = (s-1)/2; while(s > 0 && a[f] > e) { a[s] = a[f]; s = f; f = (s-1)/2; } a[s] = e; } for(i=size; i>0; i--) { int value = a[i]; a[i] = a[0]; f = 0; if(i==1) s = -1; else s = 1; if(i > 2 && a[2] > a[1]) s = 2; while(s >= 0 && value < a[s]) { a[f] = a[s]; f = s; s = 2*f+1; if(s+1 <= i-1 && a[s] < a[s+1]) s = s+1; if(s > i-1) s = -1; } a[f] = value; } }
  • 24. 24 Shell Sort jarak = N/2; while(jarak > 0) { for(i=0; i<=N-jarak; i++) { j=i+jarak; if(data[i] >data[j]) { temp = data[i]; data[i] = data[j]; data[j] = temp; } } jarak = jarak/2; } Metode pengurutan dengan cara penukaran sepasang elemen dengan jarak tertentu
  • 25. 25 Tugas Praktikum Buatlah program untuk menyimpan dan mengurutkan data-data struct mahasiswa yang terdiri dari 3 field yaitu NIM, NamaMhs, Nilai. Kemudian isikan secara acak/tidak berurut) contoh data dari 5 mahasiswa yang masing-masing mengandung NIM, NamaMhs, Nilai. Selanjutnya gunakan algoritma pengurutan untuk mengurutkan data mahasiswa berdasarkan NamaMhs kemudian tampilkan hasil pengurutannya