SlideShare a Scribd company logo
1 of 79
Pemograman I
Array satu dimensi
VVita kumala jati
0320110027
Present....
Sort Array satu Dimensi
Bubble sort
Selection sort
Insection sort
Shell sort
Marge sort
Radix sort
Quick sort
Heap sort
Bubble Sort : gelembung terbesar angka naik
9, 6, 2, 12, 11, 9, 3,
76, 9, 2, 12, 11, 9, 3,
76, 2, 9, 12, 11, 9, 3,
76, 2, 9, 12, 11, 9, 3,
76, 2, 9, 11, 12, 9, 3,
76, 2, 9, 11, 9, 12, 3,
76, 2, 9, 11, 9, 3, 12,
76, 2, 9, 11, 9, 3, 7,12 lebih besar daripada 7 sehingga mereka dipertukarkan.
12 lebih besar daripada 3 sehingga mereka dipertukarkan.
12 lebih besar dari 9 sehingga mereka dipertukarkan
12 lebih besar dari 11 sehingga mereka dipertukarkan.
Dalam perbandingan ketiga, 9 adalah tidak lebih besar dari 12 sehingga
tidak ada pertukaran dibuat. Kami melanjutkan lagi membandingkan
pasangan berikutnya tanpa merubah daftar.
Sekarang pasangan nomor berikutnya dibandingkan. Sekali lagi 9
adalah lebih besar dan begitu pasangan ini juga dipertukarkan.
Bubblesort membandingkan angka-angka dalam pasangan dari kiri ke
kanan bertukar bila diperlukan. Berikut nomor pertama dibandingkan
dengan yang kedua dan lebih besar karena itu mereka dipertukarkan.
Di akhir telah tercapai jadi ini adalah akhir tahap pertama. 12 di akhir daftar harus
jumlah terbesar dalam daftar sehingga sekarang dalam posisi yang benar. Kami
sekarang memulai tahap baru dari kiri ke kanan.
Bubble Sort Example
6, 2, 9, 11, 9, 3, 7,
12
2, 6, 9, 11, 9, 3, 7,
12
2, 6, 9, 9, 11, 3, 7,
12
2, 6, 9, 9, 3, 11, 7,
12
2, 6, 9, 9, 3, 7, 11,
12
6, 2, 9, 11, 9, 3, 7,
12
Perhatikan bahwa kali ini kita tidak perlu membandingkan dua angka
terakhir seperti yang kita tahu 12 berada dalam posisi benar dan sudah
disimpan. Tahap ini hanya membutuhkan 6 perbandingan.
First Pass
Second Pass
Bubble Sort
2, 6, 9, 9, 3, 7, 11,
12
2, 6, 9, 3, 9, 7, 11,
12
2, 6, 9, 3, 7, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
Kali ini 11 dan 12 berada di posisi yang benar dan sudah disimpan .
Tahap ini hanya membutuhkan 5 perbandingan.
Bubble Sort
2, 6, 9, 3, 7, 9, 11,
12
2, 6, 3, 9, 7, 9, 11,
12
2, 6, 3, 7, 9, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
Masing-masing membutuhkan perbandingan. Kali ini hanya 4 yang
diperlukan.
2, 6, 9, 3, 7, 9, 11,
12
Fourth Pass
Bubble Sort
2, 6, 3, 7, 9, 9, 11,
12
2, 3, 6, 7, 9, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
Daftar sekarang diurutkan tetapi algoritma tidak tahu ini sampai selesai
tahap tanpa pertukaran.
2, 6, 9, 3, 7, 9, 11,
12
Fourth Pass
2, 6, 3, 7, 9, 9, 11,
12
Fifth Pass
Bubble Sort
2, 3, 6, 7, 9, 9, 11,
12
6, 2, 9, 11, 9, 3, 7,
122, 6, 9, 9, 3, 7, 11,
12
Second Pass
First Pass
Third Pass
2, 6, 9, 3, 7, 9, 11,
12
Fourth Pass
2, 6, 3, 7, 9, 9, 11,
12
Fifth Pass
Sixth Pass
2, 3, 6, 7, 9, 9, 11,
12
Tahap ini tidak ada pertukaran yang dibuat sehingga algoritma mengetahui
daftar diurutkan. Oleh karena itu dapat menghemat waktu dengan tidak
melakukan tahap akhir. Dengan memeriksa daftar lain ini bisa menyimpan
pekerjaan banyak lagi.
Selection Sort : bandingkan pindahkan
urutkan
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 6 2
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
5 1 3 4 2 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan
Selection Sort
2 1 3 4 5 6
Bandingkan
Pindahkan
Diurutkan

Largest
Selection Sort
1 2 3 4 5 6
Comparison
Data Movement
Sorted
Selection Sort
1 2 3 4 5 6
Comparison
Data Movement
Sorted
DONE!
Insection sort
Sebuah algoritma sederhana
Membutuhkan N-1 melewati array
yang akan diurutkan (dengan ukuran
N).
Untuk melewati p = 1 sampai N
Memastikan bahwa unsur-unsur
dalam posisi 0 sampai p dalam rangka
diurutkan.
CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 46
Example
34 8 64 51 32 21
Array to be sorted.
N = 6
CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 47
34 8 64 51 32 21
Compare
8
34 64 51 32 21
move
8 34 64 51 32 21
insert
Current Item
Pass 1
CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 48
8 34 64 51 32 21 64
Current Item
compare
Pass 2
CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 49
8 34 64 51 32 21 51
Current Item
8 34 64 32 21
move
8 34 51 64 32 21
insert
compare
compare
Pass 3
CS 202, Spring 2003
Fundamental Structures of Computer
Science II
Bilkent University 50
8 34 51 64 32 21 32
Current Item
compare
8 34 51 64 21
move
compare
8 34 51 64 21
move
compare
8 34 51 64 21
move
compare
8 32 34 51 64 21
insert
Pass 4
Shell sort
lebih efisien daripada jenis Bubble,
Insertion dan Seleksi
membandingkan item jauh pertama dan
bekerja jalan ke item di dekatnya
interval disebut kesenjangan
dalam implementasi sederhana,
kesenjangan dimulai pada satu-setengah
panjang daftar dan dibelah dua berturut-
turut sampai setiap item dibandingkan
dengan tetangga
Shell Sort
An array and the subarrays formed by grouping elements whose indices
are 6 apart.
Shell Sort
The subarrays of the previous figure after they are sorted, and the array
that contains them.
Shell Sort
The subarrays of the array in previous figure formed by grouping elements
whose indices are 3 apart
Shell Sort
The subarrays of previous figure after they are sorted, and the array that
contains them.
Merge Sort
Prinsip utama yang diimplementasikan
pada algoritma merge-sort seringkali
disebut sebagai pecah-belah dan
taklukkan cara kerja algoritma merge sort
adalah membagi larik data yang diberikan
menjadi dua bagian yang lebih kecil.
Kedua larik yang baru tersebut kemudian
akan diurutkan secara terpisah. Setelah
kedua buah list tersusun, maka akan
dibentuk larik baru sebagai hasil
penggabungan dari dua buah larik
Example
 Partition into lists of size n/2
[10, 4, 6, 3]
[10, 4, 6, 3, 8, 2, 5, 7]
[8, 2, 5, 7]
[10, 4] [6, 3] [8, 2] [5, 7]
[4] [10] [3][6] [2][8] [5][7]
Example Cont’d
 Merge
[3, 4, 6, 10]
[2, 3, 4, 5, 6, 7, 8, 10 ]
[2, 5, 7, 8]
[4, 10] [3, 6] [2, 8] [5, 7]
[4] [10] [3][6] [2][8] [5][7]
Radix Sort
Merupakan mengurutkan angka berdasarkan letak digit.
1. Tentukan berapa jumlah digit terbanyak dalam suatu bilangan deret.
2. Siapkan indek 0-9 sebagai satuan, urutkan dari kiri ke kanan.
3. Siapkan indek 0-9 sebagai puluhan, urutkan dari kiri ke kanan.
4. Lakukan hal yang sama untuk kamar indek, sampai semua digit angka
habis dibandingkan.
60
CONTOH RADIX SORT
12 44 41 34 11 32 23
Misal masukkan 15 integer seperti array diatas. Bila kita urutkan dengan radix
sort , maka akan seperti dibawah ini :
23
44
34
12
42
32
41
11
0 1 2 3 4 5 6 7 8 9
5087 77
77
50 87 58
58
08
0842
61
CONTOH RADIX SORT
50
Kita tulis lagi seperti dibawah ini :
Kita urutkan lagi menggunakan radix sort
11
12
23
32
34
41
42
44
Jadi hasil akhir seperti dibawah ini
12 42 444111 3223 34
12 42 4441 3411 32 23 77 58 08
0 1 2 3 4 5 6 7 8 9
50 877708
08 50 77 87
58
58
87
QUICK SORT
Algoritma pengurutan data yang paling cepat
dan paling banyak di gunakan dalam pengurutan
data.
 Proses pengurutannya yaitu dengan
membagi-membagi data menjadi beberapa
partisi-partisi kemudian di bandingkan dalam
partisi-partisi tersebut.
Langkah-langkah :
 Bila bilangan genap,gunakan rumus
Genap =
 Bilangan ganjil,gunakan rumus
Ganjil =
 Syarat : Kiri bernilai
kecil,kanan bernilai besar
 Tentukan pivot
 Bandingkan ujung awal
dengan ujung akhir
 tentukan pivot dengan rumus
disamping
Tentukan arah pivot dengan
syarat jika salah satu nilai
disebelah kiri pivot ada yang
lebih besar dari pivot maka pivot
ke kiri, else ke kanan
Ulangi tahap dari awal sampai
angka urut.
Contoh Quick Short
47 91 90 31 63 18 21
Misalkan data seperti berikut:
47
p
91 90
31
pivot
63 18
21
q
Langkah 1
Langkah 2 dan 3
47
p
91 90
31
pivot
63 18
21
q
Langkah 4
21
p
91 90
31
pivot
63 18
47
q
Langkah 2 dan 3
21
91
p
90
31
pivot
63
18
q
47
21 18
p
90
31
pivot
63
91
q
47
Langkah 4
Langkah 2 dan 3
21
18
90
p
31
pivot
63
q
91
47
21
18
63
p
31
pivot
90
q
91
47
Langkah 4
Langkah 2 dan 3
21 18
63
p
31
Pivot
q
90 91
47
21
18
31
Pivot
p
63
q
90 91
47
Langkah 4
18
Pivot
p
21
q
Langkah 4
Karena setelah sampai di pivot, p<q maka proses pada tabel a selesai maka proses
berhenti
18 21
Rekursif tabel b:
63 90 91 4731
Langkah 2 dan 3
63
p
90
pivot
91
47
q
31
Langkah 4
47
p
90
pivot
91
63
q
31
47
p
90
pivot
91
63
q
31
Langkah 2 dan 3
Karena setelah sampai di pivot, p<q maka proses pada tabel a selesai
maka proses berhenti
4731
90 91 63
b.1
b.2 (pivot dan setelahnya)
Proses rekursi b.1
47
q
31
Pivot
p
4731
Karena setelah sampai di pivot, p<q maka proses pada tabel b.1 selesai
Proses rekursi b.2
90
p
91
pivot
63
q
Langkah 2 dan 3
90
p
91
pivot
63
q
Langkah 4
63
p
91
pivot
90
q
Langkah 2 dan 3
63
91
Pivot
p
90
q
Langkah 4
63
90
p
91
pivot
q
Karena setelah sampai di pivot, p<q maka proses pada tabel b.2selesai
63
90 91
b.2.1
Proses rekursi b.2.1
90
Pivot
p
91
q
Karena setelah sampai dipivot, p<q maka proses pada tabel b.2selesai
90 91
Data setelah di urut
Setelah proses, data-data di satukan
18 21 31 47 63 90 91
Building a Heap
 membangun Heap
Daftar di atas tidak tumpukan. Mari kita lihat
bagaimana untuk membangunnya menjadi sebuah
tumpukan
Building a Heap
Building a Heap
Building a Heap
Building a Heap
Building a Heap
 Now, the list becomes a heap

More Related Content

Viewers also liked

Dossier Httv Media (www.httvmedia.com)
Dossier Httv Media (www.httvmedia.com)Dossier Httv Media (www.httvmedia.com)
Dossier Httv Media (www.httvmedia.com)Tipos en Movimiento
 
A Química bem perto de você
A Química bem perto de vocêA Química bem perto de você
A Química bem perto de vocêcursopos2014
 
Copa do Mundo 2014 - Holanda
Copa do Mundo 2014 - HolandaCopa do Mundo 2014 - Holanda
Copa do Mundo 2014 - HolandaFlaviapalmejani
 
Copa do Mundo 2014 - Argélia
Copa do Mundo 2014 - ArgéliaCopa do Mundo 2014 - Argélia
Copa do Mundo 2014 - ArgéliaFlaviapalmejani
 
Mario Quintana - Seleção de Poemas
Mario Quintana - Seleção de PoemasMario Quintana - Seleção de Poemas
Mario Quintana - Seleção de PoemasJuditeFranco
 
Exercicios basicos conjuntos numéricos
Exercicios basicos   conjuntos numéricosExercicios basicos   conjuntos numéricos
Exercicios basicos conjuntos numéricosAndré Luís Nogueira
 
Novedad descuento
Novedad descuentoNovedad descuento
Novedad descuentoTina Felton
 
Unidades de linguagem
Unidades de linguagemUnidades de linguagem
Unidades de linguagemSahioa
 
Apresentacao hinode 2014 por edvan alves id 187000
Apresentacao hinode 2014 por edvan alves id 187000Apresentacao hinode 2014 por edvan alves id 187000
Apresentacao hinode 2014 por edvan alves id 187000edvan-id-187000
 
Ruta de mejora 2015 2016
Ruta de mejora 2015 2016Ruta de mejora 2015 2016
Ruta de mejora 2015 2016morenog13
 

Viewers also liked (18)

JUEGO
JUEGOJUEGO
JUEGO
 
Dossier Httv Media (www.httvmedia.com)
Dossier Httv Media (www.httvmedia.com)Dossier Httv Media (www.httvmedia.com)
Dossier Httv Media (www.httvmedia.com)
 
A Química bem perto de você
A Química bem perto de vocêA Química bem perto de você
A Química bem perto de você
 
Copa do Mundo 2014 - Holanda
Copa do Mundo 2014 - HolandaCopa do Mundo 2014 - Holanda
Copa do Mundo 2014 - Holanda
 
Copa do Mundo 2014 - Argélia
Copa do Mundo 2014 - ArgéliaCopa do Mundo 2014 - Argélia
Copa do Mundo 2014 - Argélia
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Mario Quintana - Seleção de Poemas
Mario Quintana - Seleção de PoemasMario Quintana - Seleção de Poemas
Mario Quintana - Seleção de Poemas
 
Apresentação 10
Apresentação 10Apresentação 10
Apresentação 10
 
Exercicios basicos conjuntos numéricos
Exercicios basicos   conjuntos numéricosExercicios basicos   conjuntos numéricos
Exercicios basicos conjuntos numéricos
 
Novedad descuento
Novedad descuentoNovedad descuento
Novedad descuento
 
Unidades de linguagem
Unidades de linguagemUnidades de linguagem
Unidades de linguagem
 
Apresentacao hinode 2014 por edvan alves id 187000
Apresentacao hinode 2014 por edvan alves id 187000Apresentacao hinode 2014 por edvan alves id 187000
Apresentacao hinode 2014 por edvan alves id 187000
 
Ruta de mejora 2015 2016
Ruta de mejora 2015 2016Ruta de mejora 2015 2016
Ruta de mejora 2015 2016
 
Biy daalt 3
Biy daalt 3Biy daalt 3
Biy daalt 3
 
Apresentação do 1º questionario
Apresentação do 1º questionarioApresentação do 1º questionario
Apresentação do 1º questionario
 
Equações trigronométricas
Equações trigronométricasEquações trigronométricas
Equações trigronométricas
 
Ouvir
OuvirOuvir
Ouvir
 
Desarrollo de la cognicion y el lenguaje
Desarrollo de la cognicion y el lenguajeDesarrollo de la cognicion y el lenguaje
Desarrollo de la cognicion y el lenguaje
 

Similar to Array satu dimensi vita kumalajati_0320110017

Informatika (BK).pptx
Informatika (BK).pptxInformatika (BK).pptx
Informatika (BK).pptxAcimMulyana2
 
Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2maidah .
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan DataSimon Patabang
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1BintangWijaya5
 
KOEFISIEN SPEARMAN RANK 2.pptx
KOEFISIEN SPEARMAN RANK 2.pptxKOEFISIEN SPEARMAN RANK 2.pptx
KOEFISIEN SPEARMAN RANK 2.pptxDepriZon1
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptFaldoPku
 
Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritmaSelamatriady
 
Algoritma Divide and Conquer (Sorting & Searching)
Algoritma Divide and Conquer (Sorting & Searching)Algoritma Divide and Conquer (Sorting & Searching)
Algoritma Divide and Conquer (Sorting & Searching)Ajeng Savitri
 
MATEMATIKA Operasi hitung bilangan bulat
MATEMATIKA Operasi hitung bilangan bulatMATEMATIKA Operasi hitung bilangan bulat
MATEMATIKA Operasi hitung bilangan bulatSerly Amalia
 
Alternatif konversi basis ke basis teori bilangan
Alternatif konversi basis ke basis teori bilanganAlternatif konversi basis ke basis teori bilangan
Alternatif konversi basis ke basis teori bilangan960814
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanReskidtc
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Mutia Rahmadania
 

Similar to Array satu dimensi vita kumalajati_0320110017 (20)

Informatika (BK).pptx
Informatika (BK).pptxInformatika (BK).pptx
Informatika (BK).pptx
 
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
 
Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2
 
Siti rohmatul khoiriah
Siti rohmatul khoiriahSiti rohmatul khoiriah
Siti rohmatul khoiriah
 
Pengurutan (Sorting)
Pengurutan (Sorting)Pengurutan (Sorting)
Pengurutan (Sorting)
 
Array statis if
Array statis ifArray statis if
Array statis if
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
Asd sesi sorting part1
Asd sesi sorting part1Asd sesi sorting part1
Asd sesi sorting part1
 
KOEFISIEN SPEARMAN RANK 2.pptx
KOEFISIEN SPEARMAN RANK 2.pptxKOEFISIEN SPEARMAN RANK 2.pptx
KOEFISIEN SPEARMAN RANK 2.pptx
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
 
belajar algoritma
belajar algoritmabelajar algoritma
belajar algoritma
 
ratna mustika sari
ratna mustika sariratna mustika sari
ratna mustika sari
 
Tugas selamat riady algoritma
Tugas selamat riady algoritmaTugas selamat riady algoritma
Tugas selamat riady algoritma
 
Algoritma Divide and Conquer (Sorting & Searching)
Algoritma Divide and Conquer (Sorting & Searching)Algoritma Divide and Conquer (Sorting & Searching)
Algoritma Divide and Conquer (Sorting & Searching)
 
MATEMATIKA Operasi hitung bilangan bulat
MATEMATIKA Operasi hitung bilangan bulatMATEMATIKA Operasi hitung bilangan bulat
MATEMATIKA Operasi hitung bilangan bulat
 
Alternatif konversi basis ke basis teori bilangan
Alternatif konversi basis ke basis teori bilanganAlternatif konversi basis ke basis teori bilangan
Alternatif konversi basis ke basis teori bilangan
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 

Array satu dimensi vita kumalajati_0320110017

  • 1. Pemograman I Array satu dimensi VVita kumala jati 0320110027 Present....
  • 2. Sort Array satu Dimensi Bubble sort Selection sort Insection sort Shell sort Marge sort Radix sort Quick sort Heap sort
  • 3. Bubble Sort : gelembung terbesar angka naik 9, 6, 2, 12, 11, 9, 3, 76, 9, 2, 12, 11, 9, 3, 76, 2, 9, 12, 11, 9, 3, 76, 2, 9, 12, 11, 9, 3, 76, 2, 9, 11, 12, 9, 3, 76, 2, 9, 11, 9, 12, 3, 76, 2, 9, 11, 9, 3, 12, 76, 2, 9, 11, 9, 3, 7,12 lebih besar daripada 7 sehingga mereka dipertukarkan. 12 lebih besar daripada 3 sehingga mereka dipertukarkan. 12 lebih besar dari 9 sehingga mereka dipertukarkan 12 lebih besar dari 11 sehingga mereka dipertukarkan. Dalam perbandingan ketiga, 9 adalah tidak lebih besar dari 12 sehingga tidak ada pertukaran dibuat. Kami melanjutkan lagi membandingkan pasangan berikutnya tanpa merubah daftar. Sekarang pasangan nomor berikutnya dibandingkan. Sekali lagi 9 adalah lebih besar dan begitu pasangan ini juga dipertukarkan. Bubblesort membandingkan angka-angka dalam pasangan dari kiri ke kanan bertukar bila diperlukan. Berikut nomor pertama dibandingkan dengan yang kedua dan lebih besar karena itu mereka dipertukarkan. Di akhir telah tercapai jadi ini adalah akhir tahap pertama. 12 di akhir daftar harus jumlah terbesar dalam daftar sehingga sekarang dalam posisi yang benar. Kami sekarang memulai tahap baru dari kiri ke kanan.
  • 4. Bubble Sort Example 6, 2, 9, 11, 9, 3, 7, 12 2, 6, 9, 11, 9, 3, 7, 12 2, 6, 9, 9, 11, 3, 7, 12 2, 6, 9, 9, 3, 11, 7, 12 2, 6, 9, 9, 3, 7, 11, 12 6, 2, 9, 11, 9, 3, 7, 12 Perhatikan bahwa kali ini kita tidak perlu membandingkan dua angka terakhir seperti yang kita tahu 12 berada dalam posisi benar dan sudah disimpan. Tahap ini hanya membutuhkan 6 perbandingan. First Pass Second Pass
  • 5. Bubble Sort 2, 6, 9, 9, 3, 7, 11, 12 2, 6, 9, 3, 9, 7, 11, 12 2, 6, 9, 3, 7, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass Kali ini 11 dan 12 berada di posisi yang benar dan sudah disimpan . Tahap ini hanya membutuhkan 5 perbandingan.
  • 6. Bubble Sort 2, 6, 9, 3, 7, 9, 11, 12 2, 6, 3, 9, 7, 9, 11, 12 2, 6, 3, 7, 9, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass Masing-masing membutuhkan perbandingan. Kali ini hanya 4 yang diperlukan. 2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass
  • 7. Bubble Sort 2, 6, 3, 7, 9, 9, 11, 12 2, 3, 6, 7, 9, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass Daftar sekarang diurutkan tetapi algoritma tidak tahu ini sampai selesai tahap tanpa pertukaran. 2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass 2, 6, 3, 7, 9, 9, 11, 12 Fifth Pass
  • 8. Bubble Sort 2, 3, 6, 7, 9, 9, 11, 12 6, 2, 9, 11, 9, 3, 7, 122, 6, 9, 9, 3, 7, 11, 12 Second Pass First Pass Third Pass 2, 6, 9, 3, 7, 9, 11, 12 Fourth Pass 2, 6, 3, 7, 9, 9, 11, 12 Fifth Pass Sixth Pass 2, 3, 6, 7, 9, 9, 11, 12 Tahap ini tidak ada pertukaran yang dibuat sehingga algoritma mengetahui daftar diurutkan. Oleh karena itu dapat menghemat waktu dengan tidak melakukan tahap akhir. Dengan memeriksa daftar lain ini bisa menyimpan pekerjaan banyak lagi.
  • 9. Selection Sort : bandingkan pindahkan urutkan 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 10. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 11. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 12. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 13. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 14. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 15. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan
  • 16. Selection Sort 5 1 3 4 6 2 Bandingkan Pindahkan Diurutkan  Largest
  • 17. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan
  • 18. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan
  • 19. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan
  • 20. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan
  • 21. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan
  • 22. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan
  • 23. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan
  • 24. Selection Sort 5 1 3 4 2 6 Bandingkan Pindahkan Diurutkan  Largest
  • 25. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 26. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 27. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 28. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 29. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 30. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 31. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan  Largest
  • 32. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 33. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 34. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 35. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 36. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 37. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan  Largest
  • 38. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 39. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 40. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 41. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan
  • 42. Selection Sort 2 1 3 4 5 6 Bandingkan Pindahkan Diurutkan  Largest
  • 43. Selection Sort 1 2 3 4 5 6 Comparison Data Movement Sorted
  • 44. Selection Sort 1 2 3 4 5 6 Comparison Data Movement Sorted DONE!
  • 45. Insection sort Sebuah algoritma sederhana Membutuhkan N-1 melewati array yang akan diurutkan (dengan ukuran N). Untuk melewati p = 1 sampai N Memastikan bahwa unsur-unsur dalam posisi 0 sampai p dalam rangka diurutkan.
  • 46. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 46 Example 34 8 64 51 32 21 Array to be sorted. N = 6
  • 47. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 47 34 8 64 51 32 21 Compare 8 34 64 51 32 21 move 8 34 64 51 32 21 insert Current Item Pass 1
  • 48. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 48 8 34 64 51 32 21 64 Current Item compare Pass 2
  • 49. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 49 8 34 64 51 32 21 51 Current Item 8 34 64 32 21 move 8 34 51 64 32 21 insert compare compare Pass 3
  • 50. CS 202, Spring 2003 Fundamental Structures of Computer Science II Bilkent University 50 8 34 51 64 32 21 32 Current Item compare 8 34 51 64 21 move compare 8 34 51 64 21 move compare 8 34 51 64 21 move compare 8 32 34 51 64 21 insert Pass 4
  • 51. Shell sort lebih efisien daripada jenis Bubble, Insertion dan Seleksi membandingkan item jauh pertama dan bekerja jalan ke item di dekatnya interval disebut kesenjangan dalam implementasi sederhana, kesenjangan dimulai pada satu-setengah panjang daftar dan dibelah dua berturut- turut sampai setiap item dibandingkan dengan tetangga
  • 52. Shell Sort An array and the subarrays formed by grouping elements whose indices are 6 apart.
  • 53. Shell Sort The subarrays of the previous figure after they are sorted, and the array that contains them.
  • 54. Shell Sort The subarrays of the array in previous figure formed by grouping elements whose indices are 3 apart
  • 55. Shell Sort The subarrays of previous figure after they are sorted, and the array that contains them.
  • 56. Merge Sort Prinsip utama yang diimplementasikan pada algoritma merge-sort seringkali disebut sebagai pecah-belah dan taklukkan cara kerja algoritma merge sort adalah membagi larik data yang diberikan menjadi dua bagian yang lebih kecil. Kedua larik yang baru tersebut kemudian akan diurutkan secara terpisah. Setelah kedua buah list tersusun, maka akan dibentuk larik baru sebagai hasil penggabungan dari dua buah larik
  • 57. Example  Partition into lists of size n/2 [10, 4, 6, 3] [10, 4, 6, 3, 8, 2, 5, 7] [8, 2, 5, 7] [10, 4] [6, 3] [8, 2] [5, 7] [4] [10] [3][6] [2][8] [5][7]
  • 58. Example Cont’d  Merge [3, 4, 6, 10] [2, 3, 4, 5, 6, 7, 8, 10 ] [2, 5, 7, 8] [4, 10] [3, 6] [2, 8] [5, 7] [4] [10] [3][6] [2][8] [5][7]
  • 59. Radix Sort Merupakan mengurutkan angka berdasarkan letak digit. 1. Tentukan berapa jumlah digit terbanyak dalam suatu bilangan deret. 2. Siapkan indek 0-9 sebagai satuan, urutkan dari kiri ke kanan. 3. Siapkan indek 0-9 sebagai puluhan, urutkan dari kiri ke kanan. 4. Lakukan hal yang sama untuk kamar indek, sampai semua digit angka habis dibandingkan.
  • 60. 60 CONTOH RADIX SORT 12 44 41 34 11 32 23 Misal masukkan 15 integer seperti array diatas. Bila kita urutkan dengan radix sort , maka akan seperti dibawah ini : 23 44 34 12 42 32 41 11 0 1 2 3 4 5 6 7 8 9 5087 77 77 50 87 58 58 08 0842
  • 61. 61 CONTOH RADIX SORT 50 Kita tulis lagi seperti dibawah ini : Kita urutkan lagi menggunakan radix sort 11 12 23 32 34 41 42 44 Jadi hasil akhir seperti dibawah ini 12 42 444111 3223 34 12 42 4441 3411 32 23 77 58 08 0 1 2 3 4 5 6 7 8 9 50 877708 08 50 77 87 58 58 87
  • 62. QUICK SORT Algoritma pengurutan data yang paling cepat dan paling banyak di gunakan dalam pengurutan data.  Proses pengurutannya yaitu dengan membagi-membagi data menjadi beberapa partisi-partisi kemudian di bandingkan dalam partisi-partisi tersebut.
  • 63. Langkah-langkah :  Bila bilangan genap,gunakan rumus Genap =  Bilangan ganjil,gunakan rumus Ganjil =  Syarat : Kiri bernilai kecil,kanan bernilai besar  Tentukan pivot  Bandingkan ujung awal dengan ujung akhir  tentukan pivot dengan rumus disamping Tentukan arah pivot dengan syarat jika salah satu nilai disebelah kiri pivot ada yang lebih besar dari pivot maka pivot ke kiri, else ke kanan Ulangi tahap dari awal sampai angka urut.
  • 64. Contoh Quick Short 47 91 90 31 63 18 21 Misalkan data seperti berikut: 47 p 91 90 31 pivot 63 18 21 q Langkah 1 Langkah 2 dan 3 47 p 91 90 31 pivot 63 18 21 q
  • 65. Langkah 4 21 p 91 90 31 pivot 63 18 47 q Langkah 2 dan 3 21 91 p 90 31 pivot 63 18 q 47 21 18 p 90 31 pivot 63 91 q 47 Langkah 4
  • 66. Langkah 2 dan 3 21 18 90 p 31 pivot 63 q 91 47 21 18 63 p 31 pivot 90 q 91 47 Langkah 4 Langkah 2 dan 3 21 18 63 p 31 Pivot q 90 91 47 21 18 31 Pivot p 63 q 90 91 47 Langkah 4
  • 67. 18 Pivot p 21 q Langkah 4 Karena setelah sampai di pivot, p<q maka proses pada tabel a selesai maka proses berhenti 18 21
  • 68. Rekursif tabel b: 63 90 91 4731 Langkah 2 dan 3 63 p 90 pivot 91 47 q 31 Langkah 4 47 p 90 pivot 91 63 q 31
  • 69. 47 p 90 pivot 91 63 q 31 Langkah 2 dan 3 Karena setelah sampai di pivot, p<q maka proses pada tabel a selesai maka proses berhenti 4731 90 91 63 b.1 b.2 (pivot dan setelahnya)
  • 70. Proses rekursi b.1 47 q 31 Pivot p 4731 Karena setelah sampai di pivot, p<q maka proses pada tabel b.1 selesai Proses rekursi b.2 90 p 91 pivot 63 q Langkah 2 dan 3 90 p 91 pivot 63 q
  • 71. Langkah 4 63 p 91 pivot 90 q Langkah 2 dan 3 63 91 Pivot p 90 q Langkah 4 63 90 p 91 pivot q
  • 72. Karena setelah sampai di pivot, p<q maka proses pada tabel b.2selesai 63 90 91 b.2.1 Proses rekursi b.2.1 90 Pivot p 91 q Karena setelah sampai dipivot, p<q maka proses pada tabel b.2selesai 90 91
  • 73. Data setelah di urut Setelah proses, data-data di satukan 18 21 31 47 63 90 91
  • 74. Building a Heap  membangun Heap Daftar di atas tidak tumpukan. Mari kita lihat bagaimana untuk membangunnya menjadi sebuah tumpukan
  • 79. Building a Heap  Now, the list becomes a heap