SlideShare a Scribd company logo
EDUCATION FOR A BETTER LIFE
MATA KULIAH :
KODE MATA KULIAH/SKS :
KURIKULUM : 2012
VERSI : 0.0
Pengenalan Algoritma dan Pemrograman
TI0004 3/1 SKS
-
EDUCATION FOR A BETTER LIFE
KEMAMPUAN AKHIR YANG DIHARAPKAN
Mahasiswa mampu memahami struktur dan
operasi pada array/larik dalam bahasa C/C++ serta
mampu mengimplementasikannya pada kasus real
sederhana
EDUCATION FOR A BETTER LIFE
MATERI POKOK
Operasi-operasi pada Array1D
Operasi Searching
Operasi Merging
Operasi Sorting
• Bublesort
• Selection Sort
• Insertion Sort
EDUCATION FOR A BETTER LIFE
SUMBER PUSTAKA
1. H.M.Deitel, P.J. Deitel. (2006). How to C++
Program, 4th Edition, Pearson Education
International
2. Moh.Sjukani. (2010). Algoritma dengan C,C++ dan
Java. Edisi ke-6, Mitra Wacana Media
3. Antonius Rachmat.C. (2010). Algoritma dan
Pemrograman dengan Bahasa C (Konsep, Teori dan
Implementasi). Edisi ke-1, ANDI Jogjakarta
EDUCATION FOR A BETTER LIFE
OPERASI PADA ARRAY 1D
Operasi Searching (Pencarian)
Operasi Merging (Penggabungan)
Operasi Sorting (Pengurutan)
EDUCATION FOR A BETTER LIFE
OPERASI SEARCHING (PENCARIAN)
Search :
~ Mencari data dgn cara menelusiuri
data
~ Tempat penyimpanan data dpt
berupa array dlm memory komputer
EDUCATION FOR A BETTER LIFE
OPERASI SEARCHING (PENCARIAN)
Metode Searching :
~ Sequential Search
~ Index Sequensial Search
~ Binary Search
~ Fibonacci Search
EDUCATION FOR A BETTER LIFE
SEQUENTIAL SEARCHING
 Dik array 1D dengan isinya seperti gambar di bawah ini. Susunlah program
utk menginput sebuah nilai integer (N). Kemudian periksa isi array, apakah
ada elemen array yg nilainya = N. Bila ada cetak “ADA”, bila tidak ada cetak
“Tidak Ada”
Jawab
Scanf (“%i”, &N);
Flag =0;
i=0;
while (i<=10)
{
if (A[i] == N)
flag=1;
i++;
}
if (flag==1)
printf (“ADA”);
else
printf (“Tidak Ada”);
}
Ket:
1.Variabel Flag hanya sebagai tanda, saat
awal diberi nilai 0
2.Flag diisi 1 jika ada elemen array yang = N
3.Pemeriksaan nilai Flag
Bila Flag =1 berarti ada elemen
array yg = N, dan dicetak string “ADA”.
Sedangkan bila isi flag =0 maka tidak pernah
elemen array yg isinya=N, maka dicetak string
“Tidak Ada”
1 2 3 4 5 6 7 8 9 10
EDUCATION FOR A BETTER LIFE
SEQUENTIAL SEARCHING
Mencari nilai maximum
 Dik array 1D dengan isinya seperti gambar di bawah ini. Susunlah program
untuk mencari nilai maksimal dari seluruh elemen array tsb:
Jawab
Max=A[0];
i=1;
while (i<=10)
{
if (A[i] > Max
Max=A[i];
i++;
printf (“%i”, Max)
}
Ket:
1. Variabel Max untuk meyimpan bilangan
terbesar dari elemen array di atas
2. Ketika i<=10 akan selalu dibandingkan
dengan A[i].
3. Setiap ditemukan nilai dari A[i] yg lebih
besar dari Max, maka isi Max diganti
dengan nilai yg lebih besar tersebut
1 2 3 4 5 6 7 8 9 10
EDUCATION FOR A BETTER LIFE
SEQUENTIAL SEARCHING
• Solusi Jawaban
Max=A[0];
for (i=0; i<=10;i++)
{
if (A[i] > Max
Max=A[i];
i++;
printf (“%i”, Max)
}
Ket:
1. Variabel Max untuk meyimpan bilangan
terbesar dari elemen array di atas
2. Ketika i<=10 akan selalu dibandingkan
dengan A[i]. Terus berulang sampai A[10]
3. Setiap ditemukan nilai dari A[i] yg lebih
besar dari Max, maka isi Max diganti
dengan nilai yg lebih besar tersebut
EDUCATION FOR A BETTER LIFE
MERGING/PENGGABUNGAN ARRAY 1D
• Merging : Menggabungkan 2 file data
dlm eksternal memory.
• Dalam materi ini merging berarti
menggabungkan 2 buah array 1D
EDUCATION FOR A BETTER LIFE
MERGING/PENGGABUNGAN ARRAY 1D
• Contoh Merging Array 1D:
Dik. Array A[5] dan array B[7] seperti gambar di bawah ini:
A[5] B[7]
Gabungkan kedua array tsb dan hasil penggabungannya simpan
dalam array C [12]
Jawab:
• Ilustrasi
0 1 2 3 4 5 6
A B
0 1 2 3 4
C
25 11 7 25 16 22 14
12 17 10 5 15
12 17 10 5 15 25 11 7 25 16 22 14
12 17 10 5 15 25 11 7 25 16 22 14
EDUCATION FOR A BETTER LIFE
MERGING/PENGGABUNGAN ARRAY 1D
• Jawaban Program
#include <stdio.h>
Void main ()
{
Int i, k;
Int A[5]={12,17,10,5,15};
Int B[7]={25,11,7,25,16,22,14};
Int C[12];
K=0;
for (i=0; i<=4; i++)
{
C[k] = A[i];
K++;
}
for (i=0; i<=6; i++)
{
C[k] = A[i];
K++;
}
EDUCATION FOR A BETTER LIFE
SORTING/PENGURUTAN ARRAY 1D
• Sorting :
~ Mengurutkan data dalam suatu tempat penyimpanan
tertentu
~ Dengan urutan menaik (ascending) atau menurun
(descending)
~ Nilai yg diurut bisa bertipe numerik maupun character
~ Metode Pengurutan:
a. Buble sort
b. Selection sort
c. Insertion Sort
d. dll
EDUCATION FOR A BETTER LIFE
SORTING/PENGURUTAN ARRAY 1D
• Bublesort :
~ Buble=Gelembung (Selalu mengapung ke atas)
~ Jika jlh elemen array yg akan diurutkan = N, maka akan ada N-1
proses (6 proses) dari 0 sampai ke N-2.
~ Penukaran data dengan tepat di sebelahnya secara terus menerus
sampai perulangan selesai tidak ada lagi data yg berubah (artinya
data sudah terurut)
~ Metode Bublesort berarti mengapungkan nilai terbesar pd elemen
ujung paling kanan pd setiap tahap
EDUCATION FOR A BETTER LIFE
BUBLESORT
Algoritma Bublesort :
~ Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan).
~Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-
(i+1) = data ke-i).
~Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan
pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3
dgn 4; 4 dgn 5 … ; n-1 dgn n.
~Selesai satu iterasi, adalah jika kita sudah selesai membandingkan
antara (n-1) dgn n.
~Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai
dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst.
~Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.
EDUCATION FOR A BETTER LIFE
Bubble Sort
• Bubble Sort mengurutkan data dengan cara
membandingkan elemen sekarang dengan
elemen berikutnya.
– Jika elemen sekarang lebih besar dari elemen
berikutnya maka kedua elemen tersebut ditukar,
jika pengurutan ascending.
– Jika elemen sekarang lebih kecil dari elemen
berikutnya, maka kedua elemen tersebut ditukar,
jika pengurutan descending
EDUCATION FOR A BETTER LIFE
EDUCATION FOR A BETTER LIFE
Ilustrasi Bubble Sort (2)
• Pada gambar disamping,
pegecekan dimulai dari
data yang paling akhir,
kemudian dibandingkan
dengan data di
depannya, jika data di
depannya lebih besar
maka akan ditukar.
EDUCATION FOR A BETTER LIFE
Ilustrasi Bubble Sort (2)
EDUCATION FOR A BETTER LIFE
Ilustrasi Bubble Sort (2)
EDUCATION FOR A BETTER LIFE
Ilustrasi Bubble Sort (2)
EDUCATION FOR A BETTER LIFE
Ilustrasi Bubble Sort (2)
EDUCATION FOR A BETTER LIFE
SELECTION SORT
• Selection Sort merupakan kombinasi antara sorting dan searching.
• Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan
yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi
yang tepat di dalam array.
• Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil
dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran
kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks
kedua (data[1]).
• Selama proses, pembandingan dan pengubahan hanya dilakukan pada
indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir
proses.
EDUCATION FOR A BETTER LIFE
Algoritma Selection Sort (Ascending)
1. Tampung data ke-i
2. Seleksi data terkecil
3. Cek apakah data yang ditampung lebih besar dari
data hasil seleksi (data terkecil).
4. Jika pengecekan langkah 3 bernilai “true” : lakukan
pertukaran posisi antara data yang ditampung
dengan data terkecil.
5. Ulangi langkah 1 sampai 4, hingga nilai i sama
dengan n.
EDUCATION FOR A BETTER LIFE
PSEUDOCODE ALGORITMA SELECTION SORT
void selection_sort (int data[])
{
for(int i=0;i<n-1;i++)
{
pos=i;
for(int j=i+1;j<n;j++)
{
if (data[j]<data[pos] pos=j; //ascending
}
if(pos!=i) tukar(&data[pos],&data[i]);
}
}
EDUCATION FOR A BETTER LIFE
Ilustrasi Selection Sort
EDUCATION FOR A BETTER LIFE
Insertion Sort
• Cara pengurutannya : dimulai dari data ke-2
sampai dengan data terakhir, jika ditemukan
data yang lebih kecil, maka akan ditempatkan
(diinsert) diposisi yang seharusnya.
• Ascending : ketika perbandingan ambil data
yang paling kecil.
• Descending : ketika perbandingan ambil data
yang paling besar.
EDUCATION FOR A BETTER LIFE
Algoritma Insertion Sort (Ascending)
1. Ambil satu data ke-i simpan di temp
2. Bandingkan data temp dengan data yang ada
disebelah kiri satu per-satu
3. Cek apakah data temp lebih kecil dari data sebelah
kiri.
4. Jika langkah nomor 3 bernilai “true” : lakukan
pergeseran data satu-persatu kemudian pada posisi
yang tepat sisipkan data temp.
5. Ulangi langkah 1 sampai 4, hingga i sama dengan n
EDUCATION FOR A BETTER LIFE
Insertion Sort (Ascending)
• Misalkan sekumpulan data disimpan pada A[8] dengan urutan awal =
7 3 4 1 8 2 6 5
• temp = variabel penampung
• Hasil : 1 2 3 4 5 6 7 8 (data telah terurut secara ascending)
Proses Tampung A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]
Data awal 7 3 4 1 8 2 6 5
1 temp = A[1] 3 7 4 1 8 2 6 5
2 temp = A[2] 3 4 7 1 8 2 6 5
3 temp = A[3] 1 3 4 7 8 2 6 5
4 temp = A[4] 1 3 4 7 8 2 6 5
5 temp = A[5] 1 2 3 4 7 8 6 5
6 temp = A[6] 1 2 3 4 6 7 8 5
7 temp = A[7] 1 2 3 4 5 6 7 8

More Related Content

DOC
Revitalia purba
DOC
Tugas selamat riady algoritma
DOCX
Makalah pencarian dan pengurutan data
PPTX
SD pert 6 sorting.pptx
PDF
Analisis Algoritma Pada Masalah Sorting
PPTX
Informatika (BK).pptx
PPT
Bab 2 sorting_array
PPTX
Asd sesi sorting part1
Revitalia purba
Tugas selamat riady algoritma
Makalah pencarian dan pengurutan data
SD pert 6 sorting.pptx
Analisis Algoritma Pada Masalah Sorting
Informatika (BK).pptx
Bab 2 sorting_array
Asd sesi sorting part1

Similar to TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf (20)

PPTX
Sd pertemuan 3 & 4 (edited)
PPTX
Sd pertemuan 3 & 4 (edited)
PPT
Bab 2 sorting array
DOC
kiki andriani , 5 metode sorting
PPTX
belajar algoritma
PPTX
Array satu dimensi vita kumalajati_0320110017
PPTX
Sorting ppt
DOCX
Metode sorting dan aplikasinya2
PDF
desain dan analisis algoritma - Sorting.pdf
PPTX
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
PPTX
INFORMATIKA - SORTING -BERFIKIR KOMPUTASIONAL-.pptx
PDF
Pertemuan 11 Sorting
DOC
tugas algoritma
DOCX
ratna mustika sari
PPTX
untuk supervisi BERPIKIR KOMPUTASIONAL.pptx
DOC
Msw a4 format
PPT
Bab 2 sorting array (1)
DOC
Algoritma dan Struktur Data - Sorting beserta Metode nya
PPTX
2-Berpikir Komputasional_Searching and Sorting-X.pptx
Sd pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
Bab 2 sorting array
kiki andriani , 5 metode sorting
belajar algoritma
Array satu dimensi vita kumalajati_0320110017
Sorting ppt
Metode sorting dan aplikasinya2
desain dan analisis algoritma - Sorting.pdf
Berpikir Komputasional Informatika Fase E SMA Kelas 1.pptx
INFORMATIKA - SORTING -BERFIKIR KOMPUTASIONAL-.pptx
Pertemuan 11 Sorting
tugas algoritma
ratna mustika sari
untuk supervisi BERPIKIR KOMPUTASIONAL.pptx
Msw a4 format
Bab 2 sorting array (1)
Algoritma dan Struktur Data - Sorting beserta Metode nya
2-Berpikir Komputasional_Searching and Sorting-X.pptx
Ad

TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf

  • 1. EDUCATION FOR A BETTER LIFE MATA KULIAH : KODE MATA KULIAH/SKS : KURIKULUM : 2012 VERSI : 0.0 Pengenalan Algoritma dan Pemrograman TI0004 3/1 SKS -
  • 2. EDUCATION FOR A BETTER LIFE KEMAMPUAN AKHIR YANG DIHARAPKAN Mahasiswa mampu memahami struktur dan operasi pada array/larik dalam bahasa C/C++ serta mampu mengimplementasikannya pada kasus real sederhana
  • 3. EDUCATION FOR A BETTER LIFE MATERI POKOK Operasi-operasi pada Array1D Operasi Searching Operasi Merging Operasi Sorting • Bublesort • Selection Sort • Insertion Sort
  • 4. EDUCATION FOR A BETTER LIFE SUMBER PUSTAKA 1. H.M.Deitel, P.J. Deitel. (2006). How to C++ Program, 4th Edition, Pearson Education International 2. Moh.Sjukani. (2010). Algoritma dengan C,C++ dan Java. Edisi ke-6, Mitra Wacana Media 3. Antonius Rachmat.C. (2010). Algoritma dan Pemrograman dengan Bahasa C (Konsep, Teori dan Implementasi). Edisi ke-1, ANDI Jogjakarta
  • 5. EDUCATION FOR A BETTER LIFE OPERASI PADA ARRAY 1D Operasi Searching (Pencarian) Operasi Merging (Penggabungan) Operasi Sorting (Pengurutan)
  • 6. EDUCATION FOR A BETTER LIFE OPERASI SEARCHING (PENCARIAN) Search : ~ Mencari data dgn cara menelusiuri data ~ Tempat penyimpanan data dpt berupa array dlm memory komputer
  • 7. EDUCATION FOR A BETTER LIFE OPERASI SEARCHING (PENCARIAN) Metode Searching : ~ Sequential Search ~ Index Sequensial Search ~ Binary Search ~ Fibonacci Search
  • 8. EDUCATION FOR A BETTER LIFE SEQUENTIAL SEARCHING  Dik array 1D dengan isinya seperti gambar di bawah ini. Susunlah program utk menginput sebuah nilai integer (N). Kemudian periksa isi array, apakah ada elemen array yg nilainya = N. Bila ada cetak “ADA”, bila tidak ada cetak “Tidak Ada” Jawab Scanf (“%i”, &N); Flag =0; i=0; while (i<=10) { if (A[i] == N) flag=1; i++; } if (flag==1) printf (“ADA”); else printf (“Tidak Ada”); } Ket: 1.Variabel Flag hanya sebagai tanda, saat awal diberi nilai 0 2.Flag diisi 1 jika ada elemen array yang = N 3.Pemeriksaan nilai Flag Bila Flag =1 berarti ada elemen array yg = N, dan dicetak string “ADA”. Sedangkan bila isi flag =0 maka tidak pernah elemen array yg isinya=N, maka dicetak string “Tidak Ada” 1 2 3 4 5 6 7 8 9 10
  • 9. EDUCATION FOR A BETTER LIFE SEQUENTIAL SEARCHING Mencari nilai maximum  Dik array 1D dengan isinya seperti gambar di bawah ini. Susunlah program untuk mencari nilai maksimal dari seluruh elemen array tsb: Jawab Max=A[0]; i=1; while (i<=10) { if (A[i] > Max Max=A[i]; i++; printf (“%i”, Max) } Ket: 1. Variabel Max untuk meyimpan bilangan terbesar dari elemen array di atas 2. Ketika i<=10 akan selalu dibandingkan dengan A[i]. 3. Setiap ditemukan nilai dari A[i] yg lebih besar dari Max, maka isi Max diganti dengan nilai yg lebih besar tersebut 1 2 3 4 5 6 7 8 9 10
  • 10. EDUCATION FOR A BETTER LIFE SEQUENTIAL SEARCHING • Solusi Jawaban Max=A[0]; for (i=0; i<=10;i++) { if (A[i] > Max Max=A[i]; i++; printf (“%i”, Max) } Ket: 1. Variabel Max untuk meyimpan bilangan terbesar dari elemen array di atas 2. Ketika i<=10 akan selalu dibandingkan dengan A[i]. Terus berulang sampai A[10] 3. Setiap ditemukan nilai dari A[i] yg lebih besar dari Max, maka isi Max diganti dengan nilai yg lebih besar tersebut
  • 11. EDUCATION FOR A BETTER LIFE MERGING/PENGGABUNGAN ARRAY 1D • Merging : Menggabungkan 2 file data dlm eksternal memory. • Dalam materi ini merging berarti menggabungkan 2 buah array 1D
  • 12. EDUCATION FOR A BETTER LIFE MERGING/PENGGABUNGAN ARRAY 1D • Contoh Merging Array 1D: Dik. Array A[5] dan array B[7] seperti gambar di bawah ini: A[5] B[7] Gabungkan kedua array tsb dan hasil penggabungannya simpan dalam array C [12] Jawab: • Ilustrasi 0 1 2 3 4 5 6 A B 0 1 2 3 4 C 25 11 7 25 16 22 14 12 17 10 5 15 12 17 10 5 15 25 11 7 25 16 22 14 12 17 10 5 15 25 11 7 25 16 22 14
  • 13. EDUCATION FOR A BETTER LIFE MERGING/PENGGABUNGAN ARRAY 1D • Jawaban Program #include <stdio.h> Void main () { Int i, k; Int A[5]={12,17,10,5,15}; Int B[7]={25,11,7,25,16,22,14}; Int C[12]; K=0; for (i=0; i<=4; i++) { C[k] = A[i]; K++; } for (i=0; i<=6; i++) { C[k] = A[i]; K++; }
  • 14. EDUCATION FOR A BETTER LIFE SORTING/PENGURUTAN ARRAY 1D • Sorting : ~ Mengurutkan data dalam suatu tempat penyimpanan tertentu ~ Dengan urutan menaik (ascending) atau menurun (descending) ~ Nilai yg diurut bisa bertipe numerik maupun character ~ Metode Pengurutan: a. Buble sort b. Selection sort c. Insertion Sort d. dll
  • 15. EDUCATION FOR A BETTER LIFE SORTING/PENGURUTAN ARRAY 1D • Bublesort : ~ Buble=Gelembung (Selalu mengapung ke atas) ~ Jika jlh elemen array yg akan diurutkan = N, maka akan ada N-1 proses (6 proses) dari 0 sampai ke N-2. ~ Penukaran data dengan tepat di sebelahnya secara terus menerus sampai perulangan selesai tidak ada lagi data yg berubah (artinya data sudah terurut) ~ Metode Bublesort berarti mengapungkan nilai terbesar pd elemen ujung paling kanan pd setiap tahap
  • 16. EDUCATION FOR A BETTER LIFE BUBLESORT Algoritma Bublesort : ~ Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). ~Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke- (i+1) = data ke-i). ~Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3 dgn 4; 4 dgn 5 … ; n-1 dgn n. ~Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara (n-1) dgn n. ~Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst. ~Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.
  • 17. EDUCATION FOR A BETTER LIFE Bubble Sort • Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. – Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar, jika pengurutan ascending. – Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar, jika pengurutan descending
  • 18. EDUCATION FOR A BETTER LIFE
  • 19. EDUCATION FOR A BETTER LIFE Ilustrasi Bubble Sort (2) • Pada gambar disamping, pegecekan dimulai dari data yang paling akhir, kemudian dibandingkan dengan data di depannya, jika data di depannya lebih besar maka akan ditukar.
  • 20. EDUCATION FOR A BETTER LIFE Ilustrasi Bubble Sort (2)
  • 21. EDUCATION FOR A BETTER LIFE Ilustrasi Bubble Sort (2)
  • 22. EDUCATION FOR A BETTER LIFE Ilustrasi Bubble Sort (2)
  • 23. EDUCATION FOR A BETTER LIFE Ilustrasi Bubble Sort (2)
  • 24. EDUCATION FOR A BETTER LIFE SELECTION SORT • Selection Sort merupakan kombinasi antara sorting dan searching. • Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array. • Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]). • Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.
  • 25. EDUCATION FOR A BETTER LIFE Algoritma Selection Sort (Ascending) 1. Tampung data ke-i 2. Seleksi data terkecil 3. Cek apakah data yang ditampung lebih besar dari data hasil seleksi (data terkecil). 4. Jika pengecekan langkah 3 bernilai “true” : lakukan pertukaran posisi antara data yang ditampung dengan data terkecil. 5. Ulangi langkah 1 sampai 4, hingga nilai i sama dengan n.
  • 26. EDUCATION FOR A BETTER LIFE PSEUDOCODE ALGORITMA SELECTION SORT void selection_sort (int data[]) { for(int i=0;i<n-1;i++) { pos=i; for(int j=i+1;j<n;j++) { if (data[j]<data[pos] pos=j; //ascending } if(pos!=i) tukar(&data[pos],&data[i]); } }
  • 27. EDUCATION FOR A BETTER LIFE Ilustrasi Selection Sort
  • 28. EDUCATION FOR A BETTER LIFE Insertion Sort • Cara pengurutannya : dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. • Ascending : ketika perbandingan ambil data yang paling kecil. • Descending : ketika perbandingan ambil data yang paling besar.
  • 29. EDUCATION FOR A BETTER LIFE Algoritma Insertion Sort (Ascending) 1. Ambil satu data ke-i simpan di temp 2. Bandingkan data temp dengan data yang ada disebelah kiri satu per-satu 3. Cek apakah data temp lebih kecil dari data sebelah kiri. 4. Jika langkah nomor 3 bernilai “true” : lakukan pergeseran data satu-persatu kemudian pada posisi yang tepat sisipkan data temp. 5. Ulangi langkah 1 sampai 4, hingga i sama dengan n
  • 30. EDUCATION FOR A BETTER LIFE Insertion Sort (Ascending) • Misalkan sekumpulan data disimpan pada A[8] dengan urutan awal = 7 3 4 1 8 2 6 5 • temp = variabel penampung • Hasil : 1 2 3 4 5 6 7 8 (data telah terurut secara ascending) Proses Tampung A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Data awal 7 3 4 1 8 2 6 5 1 temp = A[1] 3 7 4 1 8 2 6 5 2 temp = A[2] 3 4 7 1 8 2 6 5 3 temp = A[3] 1 3 4 7 8 2 6 5 4 temp = A[4] 1 3 4 7 8 2 6 5 5 temp = A[5] 1 2 3 4 7 8 6 5 6 temp = A[6] 1 2 3 4 6 7 8 5 7 temp = A[7] 1 2 3 4 5 6 7 8