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
Ad

More Related Content

What's hot (19)

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 rahmadania
Mutia 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
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
Vocational High School 3 Tegal
 
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 - SPLV
Adam 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
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Reskidtc
 
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 rahmadania
Mutia 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 - SPLV
Adam 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
 

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)
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
 
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdfTI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
fpakpahan1
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data
Wandi Parlente
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
BintangWijaya5
 
Materi Sorting informatika kelas X .pptx
Materi Sorting informatika kelas X .pptxMateri Sorting informatika kelas X .pptx
Materi Sorting informatika kelas X .pptx
RahmaFitriArifah1
 
Pemrograman dasar-sorting dasar-dasar sorting
Pemrograman dasar-sorting dasar-dasar sortingPemrograman dasar-sorting dasar-dasar sorting
Pemrograman dasar-sorting dasar-dasar sorting
mrs iyik
 
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
 
Materi Bahasa Pemrograman C SORTING/ARRAY.pptx
Materi Bahasa Pemrograman C SORTING/ARRAY.pptxMateri Bahasa Pemrograman C SORTING/ARRAY.pptx
Materi Bahasa Pemrograman C SORTING/ARRAY.pptx
MuhammadSyarifMaulan
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
Wandi 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
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
Materi Kuliah Online
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
BintangWijaya5
 
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
 
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdfTI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
fpakpahan1
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data
Wandi Parlente
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
BintangWijaya5
 
Materi Sorting informatika kelas X .pptx
Materi Sorting informatika kelas X .pptxMateri Sorting informatika kelas X .pptx
Materi Sorting informatika kelas X .pptx
RahmaFitriArifah1
 
Pemrograman dasar-sorting dasar-dasar sorting
Pemrograman dasar-sorting dasar-dasar sortingPemrograman dasar-sorting dasar-dasar sorting
Pemrograman dasar-sorting dasar-dasar sorting
mrs iyik
 
desain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdfdesain dan analisis algoritma - Sorting.pdf
desain dan analisis algoritma - Sorting.pdf
septiara5
 
Materi Bahasa Pemrograman C SORTING/ARRAY.pptx
Materi Bahasa Pemrograman C SORTING/ARRAY.pptxMateri Bahasa Pemrograman C SORTING/ARRAY.pptx
Materi Bahasa Pemrograman C SORTING/ARRAY.pptx
MuhammadSyarifMaulan
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
Wandi 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
 
Ad

More from Fahuda E (20)

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
 
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
 
Rules tugas besar asd
Rules tugas besar asdRules tugas besar asd
Rules tugas besar asd
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
 
Bab 3 searching array
Bab 3 searching arrayBab 3 searching array
Bab 3 searching array
Fahuda E
 
Ad

Recently uploaded (20)

Modul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum MerdekaModul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Kelas
 
532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx
532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx
532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx
ahmadkholid769
 
Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"
Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"
Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"
SABDA
 
Bahasa Dayak kelas 3 SD Muatan Lokal 2025
Bahasa Dayak kelas 3 SD Muatan Lokal 2025Bahasa Dayak kelas 3 SD Muatan Lokal 2025
Bahasa Dayak kelas 3 SD Muatan Lokal 2025
AnggithaRefinza
 
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptxPresentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
Fajar Baskoro
 
06. Konfigurasi Routing.pptx Administrasi Jaringan
06. Konfigurasi Routing.pptx Administrasi Jaringan06. Konfigurasi Routing.pptx Administrasi Jaringan
06. Konfigurasi Routing.pptx Administrasi Jaringan
Universitas Teknokrat Indonesia
 
Buku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnu
Buku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnuBuku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnu
Buku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnu
kwasiyati
 
Evaluasi Growing Together April 2025 "Passion of Jesus #2"
Evaluasi Growing Together April 2025 "Passion of Jesus #2"Evaluasi Growing Together April 2025 "Passion of Jesus #2"
Evaluasi Growing Together April 2025 "Passion of Jesus #2"
SABDA
 
PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...
PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...
PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...
gladissagita10
 
PPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptx
PPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptxPPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptx
PPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptx
SumiatiAlbi
 
MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...
MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...
MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...
AndiCoc
 
Modul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum MerdekaModul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Kelas
 
MA Bab 7 Aku dan Si Merah[1].docx kls 3d
MA Bab 7 Aku dan Si Merah[1].docx kls 3dMA Bab 7 Aku dan Si Merah[1].docx kls 3d
MA Bab 7 Aku dan Si Merah[1].docx kls 3d
SDmaarifex
 
Modul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum Merdeka
Modul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum MerdekaModul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum Merdeka
Modul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum Merdeka
Modul Kelas
 
654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt
654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt
654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt
ahmadkholid769
 
ETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan Komputer
ETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan KomputerETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan Komputer
ETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan Komputer
Universitas Teknokrat Indonesia
 
Modul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum Merdeka
Modul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum MerdekaModul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum Merdeka
Modul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum Merdeka
Modul Kelas
 
1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx
1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx
1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx
EndangDarsono
 
22 - Security Incident Management.pptx -
22 - Security Incident Management.pptx -22 - Security Incident Management.pptx -
22 - Security Incident Management.pptx -
Universitas Teknokrat Indonesia
 
RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...
RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...
RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...
Kanaidi ken
 
Modul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum MerdekaModul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar Kimia Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Kelas
 
532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx
532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx
532601648-MODUL-5-STATISTIKA-PENDIDIKAN.pptx
ahmadkholid769
 
Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"
Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"
Pengarahan Growing Together Mei 2025 "Gereja dan Amanat Agung"
SABDA
 
Bahasa Dayak kelas 3 SD Muatan Lokal 2025
Bahasa Dayak kelas 3 SD Muatan Lokal 2025Bahasa Dayak kelas 3 SD Muatan Lokal 2025
Bahasa Dayak kelas 3 SD Muatan Lokal 2025
AnggithaRefinza
 
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptxPresentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
Presentasi untuk video Pitch Deck Vlog Pervekt SMK 2025.pptx
Fajar Baskoro
 
Buku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnu
Buku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnuBuku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnu
Buku ini diterbitkan sebagai acuan pedoman pengkaderan di organisasi ippnu
kwasiyati
 
Evaluasi Growing Together April 2025 "Passion of Jesus #2"
Evaluasi Growing Together April 2025 "Passion of Jesus #2"Evaluasi Growing Together April 2025 "Passion of Jesus #2"
Evaluasi Growing Together April 2025 "Passion of Jesus #2"
SABDA
 
PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...
PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...
PERAN PEKERJA SOSIAL DALAM PENANGANAN KORBAN PERDAGANGAN MANUSIA DAN ANAK DIS...
gladissagita10
 
PPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptx
PPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptxPPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptx
PPT Aqidah Akhlak Kelas 4 - Beriman kepada Nabi dan Rasul.pptx
SumiatiAlbi
 
MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...
MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...
MODUL PEMBELAJARAN DEEP LEARNING PENDIDIKAN PANCASILA KELAS 1 CP 032 REVISI 2...
AndiCoc
 
Modul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum MerdekaModul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar PJOK Kelas 12 SMA/MA Fase F Kurikulum Merdeka
Modul Kelas
 
MA Bab 7 Aku dan Si Merah[1].docx kls 3d
MA Bab 7 Aku dan Si Merah[1].docx kls 3dMA Bab 7 Aku dan Si Merah[1].docx kls 3d
MA Bab 7 Aku dan Si Merah[1].docx kls 3d
SDmaarifex
 
Modul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum Merdeka
Modul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum MerdekaModul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum Merdeka
Modul Ajar Akidah Akhlak Kelas 8 MTs Fase D Kurikulum Merdeka
Modul Kelas
 
654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt
654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt
654227553-PPT-STATISTIKA-PENIDIKAN-MODUL-6.ppt
ahmadkholid769
 
ETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan Komputer
ETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan KomputerETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan Komputer
ETHERNET AND SWITCH CONCEPT. Aadministrasi Jaringan Komputer
Universitas Teknokrat Indonesia
 
Modul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum Merdeka
Modul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum MerdekaModul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum Merdeka
Modul Ajar Geografi Kelas 10 SMA/MA Fase E Kurikulum Merdeka
Modul Kelas
 
1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx
1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx
1. JUKNIS MENYANYI SOLO FLS3N CMSKAB.pptx
EndangDarsono
 
RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...
RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...
RENCANA (di Hotel H!, 22-23 Mei'25) + Link2 Materi BimTek *PTK 007 Rev-5 Thn ...
Kanaidi ken
 

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
  翻译: