SlideShare a Scribd company logo
1 of 25
Download to read offline
Tujuan:
Mempelajari bagaimana mengatur sekumpulan
data berdasar pada pengurutan dan pencarian




                 STRUKTUR DATA
Pengurutan adalah upaya mengatur
sekumpulan data berdasar pada urutan
         (naik atau turun)



         Pencarian adalah upaya
mencari/mendapatkan satu atau lebih objek
         dari sekumpulan data




                 STRUKTUR DATA
Sorting
Pengurutan data dalam struktur data sangat
penting untuk data yang beripe data numerik
ataupun karakter.
Pengurutan dapat dilakukan secara ascending
(urut naik) dan descending (urut turun)
Pengurutan (Sorting) adalah proses menyusun
kembali data yang sebelumnya telah disusun
dengan suatu pola tertentu, sehingga tersusun
secara teratur menurut aturan tertentu.
Contoh:
Data Acak    : 5 6 8 1 3 25 10
Ascending    : 1 3 5 6 8 10 25
Descending   : 25 10 8 6 5 3 1
                             STRUKTUR DATA
6 (enam) metode pengurutan
              yang akan dipaparkan


Penyisipan Langsung (Straight Insertion Sort)

Penyisipan Biner (Binary Insertion Sort)

Seleksi (Selection Sort)
Gelembung (Bubble Sort)

Shell (Shell Sort)

Quick (Quick Sort)


                     STRUKTUR DATA
2 (dua) metode pencarian
        yang akan dipaparkan




    Pencarian                  Pencarian
    Sekuensial                   Biner
(Sequential Search)             (Binary
                                Search)


               STRUKTUR DATA
Algoritma pengurutan adalah algoritma untuk meletakkan
  kumpulan elemen data ke dalam urutan tertentu,
  berdasarkan satu atau beberapa kunci dalam tiap–tiap
                                                    –
  elemen

  2 (dua) model urutan yaitu model urut naik (increase sort)
  dan urut turun (decrease sort).


                 Contoh: Data 5,2,4,6.



 Diurut naik menjadi 2,4,5,6     Diurut turun menjadi 6,5,4,2.


(Mengapa perlu             Pengurutan dilakukan agar data
 pengurutan?)              dapat dilihat dengan mudah.

                         STRUKTUR DATA
Bubble Sort
Metode sorting termudah
Diberi nama “Bubble” karena proses pengurutan
secara berangsur-angsur bergerak/berpindah ke
posisinya yang tepat, seperti gelembung yang
keluar dari sebuah gelas bersoda.
Bubble Sort mengurutkan data dengan cara
membandingkan elemen sekarang dengan
elemen berikutnya.


                  STRUKTUR DATA
Bubble Sort (2)
Pengurutan Ascending :Jika elemen sekarang lebih
besar dari elemen berikutnya maka kedua elemen
tersebut ditukar.
Pengurutan Descending: Jika elemen sekarang lebih
kecil dari elemen berikutnya, maka kedua elemen
tersebut ditukar.
Algoritma ini seolah-olah menggeser satu per satu
elemen dari kanan ke kiri atau kiri ke kanan,
tergantung jenis pengurutannya.
Ketika satu proses telah selesai, maka bubble sort
akan mengulangi proses, demikian seterusnya dari 0
sampai dengan iterasi sebanyak n-1.
Kapan berhentinya? Bubble sort berhenti jika seluruh
array telah diperiksa dan tidak ada pertukaran lagi
yang bisa dilakukan, serta tercapai perurutan yang
telah diinginkan.
                    STRUKTUR DATA
Bubble Sort (3)




    STRUKTUR DATA
Bubble Sort (4)




    STRUKTUR DATA
Bubble Sort (5)




    STRUKTUR DATA
Bubble Sort (6)
Dengan prosedur diatas, data terurut naik
(ascending), untuk urut turun (descending)
silahkan ubah bagian:
if (data[j]<data[j-1]) tukar(&data[j],&data[j-1]);

Menjadi:
if (data[j]>data[j-1]) tukar(&data[j],&data[j-1]);

“The bubble sort is an easy algorithm to program,
but it is slower than many other sorts”


                    STRUKTUR DATA
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.
                       STRUKTUR DATA
Selection Sort (2)




     STRUKTUR DATA
Insertion Sort

Mirip dengan cara orang mengurutkan kartu,
selembar demi selembar kartu diambil dan
disisipkan (insert) ke tempat yang seharusnya.
Pengurutan dimulai dari data ke-2 sampai dengan
data terakhir, jika ditemukan data yang lebih
kecil, maka akan ditempatkan (diinsert) diposisi
yang seharusnya.
Pada penyisipan elemen, maka elemen-elemen
lain akan bergeser ke belakang

                  STRUKTUR DATA
Insertion Sort (2)




     STRUKTUR DATA
Insertion Sort (3)




      STRUKTUR DATA
Perbandingan
Tabel Perbandingan Kecepatan Metode
Pengurutan Data
Untuk data sejumlah 10.000 data pada
komputer Pentium II 450 MHz




               STRUKTUR DATA
Soal
Carilah 3 metode sorting lainnya dan
tuliskan dalam paper beserta source code,
cara dan analisis dan tiap-tiap metode
sorting yang ada!




                  STRUKTUR DATA
Implementasi Algoritma Rekursi1_Faktorial
                dalam pascal

Program Rekursi1_Faktorial;
uses crt, dos;

Var   n_faktorial,x : longint;

Function faktorial (n: longint) : longint;
Begin
   if (n = 0) or (n = 1) then
     faktorial := 1
   else
     faktorial := n * faktorial ( n - 1);
End;
Begin
  Writeln('Masukan bilangan n yang anda inginkan');
  Readln (x);
  n_faktorial := Factorial(x);
  Writeln (x, '! adalah ', n_faktorial);
End.

                     STRUKTUR DATA
Contoh Pemakaian Rekursi (Permutasi).
Untuk menampilkan semua permutasi dari N karakter ’A’, ’B’, ’C’, dan
seterusnya, diperlukan rekursi karena proses permutasi akan
menampilkan karakter yang sama secara berulang.

Contoh : Permutasi untuk n = 2 adalah :
                A       B
                B       A

Contoh : Permutasi untuk n = 3 adalah :
                A       B        C
                A       C        B
                B       A        C
                B       C        A
                C       A        B
                C       B        A

                            STRUKTUR DATA
Prosedur DoPermutasi

Procedure DoPermutasi (Input/Output A: TPermutasi ;
                              mulai :byte)
{prosedur untuk mengerjakan hitungan permutasi untuk n objek}
{K.Awal : sebuah nilai n diberikan untuk menyatakan banyaknya objek}
{K.Akhir: Susunan huruf alphabet sebagai permutasi dari n objek dan
          dicetak ke piranti keluaran}

DEKLARASI
 i    : byte;
 Temp : char;




                             STRUKTUR DATA
DESKRIPSI:

If ( mulai = N ) then
     For i    1 to N do
           write ( A [ i ] )
     Endfor
     Else
         For i    mulai to N do
             temp           A [ i ]
             A [ i ]        A [ mulai ]
             A [ mulai ]    temp
             DoPermutasi (A, mulai +1)
           Endfor
     Endelse
Endif




                    STRUKTUR DATA
Contoh :
 Algoritma Permutasi yang memanggil prosedur bernama DoPermutasi.


Algoritma Permutasi
{Algoritma program utama menentukan permutasi dari n obejk}
{K.Awal : nilai n yang menyatakan banyak objek berupa huruf aplhabet
          sudah terdefinisi}
{K.Akhir: susunan permutasi yang mungkin dari n objek berupa huruf
          alphabet dan dicetak ke piranti keluaran}

DEKLARASI

Const Max = 10
Type TPermutasi = array [ 1..10 ] of char

Procedure DoPermutasi (Input/Output A: TPermutasi ;
                       mulai :byte)
{prosedur dengan parameter formal input/output}


                                 STRUKTUR DATA
DESKRIPSI:

     If ( mulai = N ) then
               for i ← 1 to N do
                 write ( A [ i ] )
              endfor
     else
        for i ← mulai to N do
           temp ← A [ i ]
           A[i]        ← A [ mulai ]
           A [ mulai ] ← temp
           DoPermutasi (A, mulai +1)
         endfor
     endif




                        STRUKTUR DATA

More Related Content

What's hot

Ms excel presentasi
Ms excel presentasiMs excel presentasi
Ms excel presentasiErvi Ervi
 
Distribusi frekuensi
Distribusi frekuensiDistribusi frekuensi
Distribusi frekuensiprofkhafifa
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiwillyhayon
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Presentasi Bab 6 Analisis Data Informatika
Presentasi Bab 6 Analisis Data InformatikaPresentasi Bab 6 Analisis Data Informatika
Presentasi Bab 6 Analisis Data InformatikaMyiesha2
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queueRhe Dwi Yuni
 
Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerKuliahKita
 
Data Base Tiket Pesawat
Data Base Tiket PesawatData Base Tiket Pesawat
Data Base Tiket Pesawatnaufals11
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)ahmad haidaroh
 
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Farichah Riha
 
Format penulisan laporan
Format penulisan laporanFormat penulisan laporan
Format penulisan laporanYuliana
 
Sistem berkas dan keamana data
Sistem berkas dan keamana dataSistem berkas dan keamana data
Sistem berkas dan keamana dataDavid Rigan
 

What's hot (20)

Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Ms excel presentasi
Ms excel presentasiMs excel presentasi
Ms excel presentasi
 
PowerPoint Statistika
PowerPoint StatistikaPowerPoint Statistika
PowerPoint Statistika
 
Makalah statistika
Makalah statistikaMakalah statistika
Makalah statistika
 
Distribusi frekuensi
Distribusi frekuensiDistribusi frekuensi
Distribusi frekuensi
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Pertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-aiPertemuan 2-pemecahan-masalah-ai
Pertemuan 2-pemecahan-masalah-ai
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Presentasi Bab 6 Analisis Data Informatika
Presentasi Bab 6 Analisis Data InformatikaPresentasi Bab 6 Analisis Data Informatika
Presentasi Bab 6 Analisis Data Informatika
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon Biner
 
Data Base Tiket Pesawat
Data Base Tiket PesawatData Base Tiket Pesawat
Data Base Tiket Pesawat
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)
 
#1 PENGENALAN PYTHON
#1 PENGENALAN PYTHON#1 PENGENALAN PYTHON
#1 PENGENALAN PYTHON
 
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Format penulisan laporan
Format penulisan laporanFormat penulisan laporan
Format penulisan laporan
 
Sistem berkas dan keamana data
Sistem berkas dan keamana dataSistem berkas dan keamana data
Sistem berkas dan keamana data
 

Viewers also liked

Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataAli Must Can
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) DataSimon Patabang
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data ArraySimon Patabang
 
Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Muhammad Martayuda
 
Struktur data (bubble sort)
Struktur data (bubble sort)Struktur data (bubble sort)
Struktur data (bubble sort)Ahmad Irham
 
Kelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasiKelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasiRobbyyanto Robbyyanto
 
Contoh Program buble sort dari belakang
Contoh Program buble sort dari belakangContoh Program buble sort dari belakang
Contoh Program buble sort dari belakangSimon Patabang
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascalSimon Patabang
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (13)

Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan data
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
 
Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)Algoritma pencarian (searching algorithm)
Algoritma pencarian (searching algorithm)
 
Struktur data (bubble sort)
Struktur data (bubble sort)Struktur data (bubble sort)
Struktur data (bubble sort)
 
Makalah shell sort
Makalah shell sortMakalah shell sort
Makalah shell sort
 
Kelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasiKelompok6 tahapan pengembangan aplikasi
Kelompok6 tahapan pengembangan aplikasi
 
Contoh Program buble sort dari belakang
Contoh Program buble sort dari belakangContoh Program buble sort dari belakang
Contoh Program buble sort dari belakang
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascal
 
Algoritma powerpoint
Algoritma powerpointAlgoritma powerpoint
Algoritma powerpoint
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
E business models
E business modelsE business models
E business models
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Struktur Data dan Algoritma Pengurutan

Similar to Struktur Data dan Algoritma Pengurutan (20)

Struktur data chapter_12
Struktur data chapter_12Struktur data chapter_12
Struktur data chapter_12
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data
 
ratna mustika sari
ratna mustika sariratna mustika sari
ratna mustika sari
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Siti rohmatul khoiriah
Siti rohmatul khoiriahSiti rohmatul khoiriah
Siti rohmatul khoiriah
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
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
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
 
Bab 2 sorting_array
Bab 2 sorting_arrayBab 2 sorting_array
Bab 2 sorting_array
 
Struktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptxStruktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptx
 
Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritma
 
Pertemuan viii Sorting
Pertemuan viii SortingPertemuan viii Sorting
Pertemuan viii Sorting
 
Makalah Algoritma DAA 1
Makalah Algoritma DAA 1Makalah Algoritma DAA 1
Makalah Algoritma DAA 1
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
 
Tugas1
Tugas1Tugas1
Tugas1
 

More from Wandi Parlente (20)

Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunak
 
14 graph2
14 graph214 graph2
14 graph2
 
8 algoprog-pointer
8  algoprog-pointer8  algoprog-pointer
8 algoprog-pointer
 
7 Pointer
7 Pointer7 Pointer
7 Pointer
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
4 queue2
4 queue24 queue2
4 queue2
 
3 stack2
3 stack23 stack2
3 stack2
 
2 array n-matriks
2 array n-matriks2 array n-matriks
2 array n-matriks
 
1 pengertian-struktur-data
1 pengertian-struktur-data1 pengertian-struktur-data
1 pengertian-struktur-data
 
13 graph2
13 graph213 graph2
13 graph2
 
10. bahasa rakitan
10. bahasa rakitan10. bahasa rakitan
10. bahasa rakitan
 
8. modul input & output
8. modul input & output8. modul input & output
8. modul input & output
 
7. matherboard & sistem bus
7. matherboard & sistem bus7. matherboard & sistem bus
7. matherboard & sistem bus
 
6. memori sekunder
6. memori sekunder6. memori sekunder
6. memori sekunder
 
5. chace memori
5. chace memori5. chace memori
5. chace memori
 
4. memori komputer
4. memori  komputer4. memori  komputer
4. memori komputer
 
3. central prosesing unit
3. central prosesing unit 3. central prosesing unit
3. central prosesing unit
 
9.sistem operasi
9.sistem operasi 9.sistem operasi
9.sistem operasi
 
2. sistem komputer
2. sistem komputer 2. sistem komputer
2. sistem komputer
 

Struktur Data dan Algoritma Pengurutan

  • 1. Tujuan: Mempelajari bagaimana mengatur sekumpulan data berdasar pada pengurutan dan pencarian STRUKTUR DATA
  • 2. Pengurutan adalah upaya mengatur sekumpulan data berdasar pada urutan (naik atau turun) Pencarian adalah upaya mencari/mendapatkan satu atau lebih objek dari sekumpulan data STRUKTUR DATA
  • 3. Sorting Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter. Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun) Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu. Contoh: Data Acak : 5 6 8 1 3 25 10 Ascending : 1 3 5 6 8 10 25 Descending : 25 10 8 6 5 3 1 STRUKTUR DATA
  • 4. 6 (enam) metode pengurutan yang akan dipaparkan Penyisipan Langsung (Straight Insertion Sort) Penyisipan Biner (Binary Insertion Sort) Seleksi (Selection Sort) Gelembung (Bubble Sort) Shell (Shell Sort) Quick (Quick Sort) STRUKTUR DATA
  • 5. 2 (dua) metode pencarian yang akan dipaparkan Pencarian Pencarian Sekuensial Biner (Sequential Search) (Binary Search) STRUKTUR DATA
  • 6. Algoritma pengurutan adalah algoritma untuk meletakkan kumpulan elemen data ke dalam urutan tertentu, berdasarkan satu atau beberapa kunci dalam tiap–tiap – elemen 2 (dua) model urutan yaitu model urut naik (increase sort) dan urut turun (decrease sort). Contoh: Data 5,2,4,6. Diurut naik menjadi 2,4,5,6 Diurut turun menjadi 6,5,4,2. (Mengapa perlu Pengurutan dilakukan agar data pengurutan?) dapat dilihat dengan mudah. STRUKTUR DATA
  • 7. Bubble Sort Metode sorting termudah Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda. Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. STRUKTUR DATA
  • 8. Bubble Sort (2) Pengurutan Ascending :Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar. Pengurutan Descending: Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar. Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya. Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya dari 0 sampai dengan iterasi sebanyak n-1. Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan. STRUKTUR DATA
  • 9. Bubble Sort (3) STRUKTUR DATA
  • 10. Bubble Sort (4) STRUKTUR DATA
  • 11. Bubble Sort (5) STRUKTUR DATA
  • 12. Bubble Sort (6) Dengan prosedur diatas, data terurut naik (ascending), untuk urut turun (descending) silahkan ubah bagian: if (data[j]<data[j-1]) tukar(&data[j],&data[j-1]); Menjadi: if (data[j]>data[j-1]) tukar(&data[j],&data[j-1]); “The bubble sort is an easy algorithm to program, but it is slower than many other sorts” STRUKTUR DATA
  • 13. 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. STRUKTUR DATA
  • 14. Selection Sort (2) STRUKTUR DATA
  • 15. Insertion Sort Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang STRUKTUR DATA
  • 16. Insertion Sort (2) STRUKTUR DATA
  • 17. Insertion Sort (3) STRUKTUR DATA
  • 18. Perbandingan Tabel Perbandingan Kecepatan Metode Pengurutan Data Untuk data sejumlah 10.000 data pada komputer Pentium II 450 MHz STRUKTUR DATA
  • 19. Soal Carilah 3 metode sorting lainnya dan tuliskan dalam paper beserta source code, cara dan analisis dan tiap-tiap metode sorting yang ada! STRUKTUR DATA
  • 20. Implementasi Algoritma Rekursi1_Faktorial dalam pascal Program Rekursi1_Faktorial; uses crt, dos; Var n_faktorial,x : longint; Function faktorial (n: longint) : longint; Begin if (n = 0) or (n = 1) then faktorial := 1 else faktorial := n * faktorial ( n - 1); End; Begin Writeln('Masukan bilangan n yang anda inginkan'); Readln (x); n_faktorial := Factorial(x); Writeln (x, '! adalah ', n_faktorial); End. STRUKTUR DATA
  • 21. Contoh Pemakaian Rekursi (Permutasi). Untuk menampilkan semua permutasi dari N karakter ’A’, ’B’, ’C’, dan seterusnya, diperlukan rekursi karena proses permutasi akan menampilkan karakter yang sama secara berulang. Contoh : Permutasi untuk n = 2 adalah : A B B A Contoh : Permutasi untuk n = 3 adalah : A B C A C B B A C B C A C A B C B A STRUKTUR DATA
  • 22. Prosedur DoPermutasi Procedure DoPermutasi (Input/Output A: TPermutasi ; mulai :byte) {prosedur untuk mengerjakan hitungan permutasi untuk n objek} {K.Awal : sebuah nilai n diberikan untuk menyatakan banyaknya objek} {K.Akhir: Susunan huruf alphabet sebagai permutasi dari n objek dan dicetak ke piranti keluaran} DEKLARASI i : byte; Temp : char; STRUKTUR DATA
  • 23. DESKRIPSI: If ( mulai = N ) then For i 1 to N do write ( A [ i ] ) Endfor Else For i mulai to N do temp A [ i ] A [ i ] A [ mulai ] A [ mulai ] temp DoPermutasi (A, mulai +1) Endfor Endelse Endif STRUKTUR DATA
  • 24. Contoh : Algoritma Permutasi yang memanggil prosedur bernama DoPermutasi. Algoritma Permutasi {Algoritma program utama menentukan permutasi dari n obejk} {K.Awal : nilai n yang menyatakan banyak objek berupa huruf aplhabet sudah terdefinisi} {K.Akhir: susunan permutasi yang mungkin dari n objek berupa huruf alphabet dan dicetak ke piranti keluaran} DEKLARASI Const Max = 10 Type TPermutasi = array [ 1..10 ] of char Procedure DoPermutasi (Input/Output A: TPermutasi ; mulai :byte) {prosedur dengan parameter formal input/output} STRUKTUR DATA
  • 25. DESKRIPSI: If ( mulai = N ) then for i ← 1 to N do write ( A [ i ] ) endfor else for i ← mulai to N do temp ← A [ i ] A[i] ← A [ mulai ] A [ mulai ] ← temp DoPermutasi (A, mulai +1) endfor endif STRUKTUR DATA