Anda di halaman 1dari 12

Tugas Kelompok

Disusun Oleh:
Febi Nurhayati, 20110190
Iffah Nurlatifah, 20110188

‫الر ِحيْ ِم‬


َّ ‫الر ْح َم ِن‬
َّ ِ‫ِب ْســــــــــــــــــمِ اهلل‬

ُ‫سالَ ُم َعلَ ْي ُك ْم َو َر ْح َمةُ هللاِ َوبَ َر َكاتُه‬


َّ ‫ال‬

Teknik Sorting Bahasa Phyton


Stuktur Data
• Dalam istilah ilmu komputer, struktur data adalah cara penyimpanan ,
pengorganisasian , dan pengaturan data di dalam media penyimpanan komputer
sehingga data tersebut dapat digunakan secara efisien.
Klasifikasi Data
Pada garis besarnya, data dapat dikategorikan menjadi:
1. Tipe Data Sederhana, yang terdiri dari:
– Data Sederhana Tunggal, misalnya Integer, Real, Boolean, dan Karakter.
– Data Sederhana Majemuk, misalnya String.
2. Struktur Data
– Struktur Data Sederhana, misalnya Array dan Record.
– Struktur Data majemuk, terdiri dari:
o Linier, misalnya: Stack, Queue, dan Linier Linked List.
o Nonlinier, misalnya Binary Tree, Binary Search Tree, Graph, dll.
Sorting
Data dalam struktur data sangat penting untuk data yang bertipe data
numerik ataupun karakter. Pengurutan dapat dilakukan secara
ascending (urut naik) dan descending (urut turun) Pengurutan (Sorting)
adalah proses menyusun kembali data yangsebelumnya 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 
Metode Teknik Sorting
1. Exchange Sort

yang diklasifikasikan sebagai exchange sort melakukan pembandingan antar data, dan melakukan pertukaran apabila urutan yang

didapat belum sesuai. Contohnya adalah : Bubble sort, Cocktail sort, Comb sort, Gnome sort, Quicksort.

2. Selection Sort

Prinsip utama algoritma dalam klasifikasi ini, adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan

meletakkannya di posisi tersebut setelah data tersebut ditemukan. Algoritma yang dapat diklasifikasikan ke dalam kategori ini adalah :

Selection sort, Heapsort, Smoothsort, Strand sort.

3. Insertion Sort

Algoritma pengurutan yang diklasifikasikan ke dalam kategori ini mencari tempat yang tepat untuk suatu elemen data yang telah

diketahui ke dalam subkumpulan data yang telah terurut, kemudian melakukan penyisipan (insertion) data di tempat yang tepat tersebut.

Contohnya adalah :

Insertion sort, Shell sort, Tree sort, Library sort, Patience sorting
4. Merge Sort

Dalam algoritma ini kumpulan data dibagi menjadi subkumpulan subkumpulan yang kemudian subkumpulan

tersebut diurutkan secara terpisah, dan kemudian digabungkan kembali dengan metode merging. Dalam

kenyataannya algoritma ini melakukan metode pengurutan merge sort juga untuk mengurutkan subkumpulan data

tersebut, atau dengan kata lain, pengurutan dilakukan secara rekursif. Contohnya adalah : Merge sort.

5. Non-Comparison Sort

Sesuai namanya dalam proses pengurutan data yang dilakukan algoritma ini tidak terdapat pembandingan

antardata, data diurutkan sesuai dengan pigeon hole principle. Dalam kenyataanya seringkali algoritma non-

comparison sort yang digunakan tidak murni tanpa pembandingan, yang dilakukan dengan menggunakan algoritma-

algoritma pengurutan cepat lainnya untuk mengurutkan subkumpulan-subkumpulan datanya. Contohnya adalah :

Radix sort, Bucket sort, Counting sort, Pigeonhole sort, Tally sort.
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
Ketika satu proses telah selesai, maka bubble sort akan
mengulangi proses, demikian seterusnya.
Kapan berhentinya? Bubble sort berhenti jika seluruh array
telah diperiksa dan tidak ada pertukaran lagi yang bisa
dilakukan, serta tercapai perurutan yang telah diinginkan.
Selection Sort
Merupakan kombinasi antara sorting dan searching,
Selection sort adalah algoritma pengurutan yang
sederhana namun sangat efisien dalam penggunaanya,
juga memiliki penulisan code yang simpel.
• 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. 
 
Insertion Sort
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
Implementasi Bubble Sort
Contoh script dengan phyton Output dari hasil penerapan bubble sort di samping
def bs(list):
iterasi = 0
for j in range (len(list)-1):
for i in range(len(list)-1-j):
if list[i]>list[i+1]:
list[i],list[i+1]=list[i+1],list[i]
iterasi+=1
print(iterasi, list)

list = [9,17,2,42,1,7,3,4,67]
 
print('Data yang akan di sort :', list )
 
print('Bubble Sort :')
 
bs(list)
Implementasi Selection Sort
Contoh script dengan phyton Output dari hasil penerapan selection sort di samping

def ss(list):
iterasi = 0
for i in range(len(list)-1):
minimal = i
for j in range(i+1,len(list)):
if list[j] < list[minimal]:
minimal = j
iterasi += 1
list[minimal],list[i]=list[i], list[minimal]
print(iterasi, list)
list=[98,6,33,11,57,33,44,55,29,76,60,81]
print('Data yang akan di sort :', list )
print('Selection Sort :')
ss(list)
Implementasi Insertion Sort
Contoh script dengan phyton Output dari hasil insertion sort di samping

def insertion(list):
for j in range(len(list)-1,-1,-1):
value = list[j]
hole = j
while hole <(len(list)-1) and
list[hole+1]>list[hole]:
list[hole] = list[hole+1]
hole = hole+1
list[hole] = value
print(list)
list = [2,54,38,76,23,56,84,90]
print("Data yang akan di sort", list)
print("Insertion Sort :")
insertion(list)
‫‪Terima Kasih‬‬

‫ق وال ِه َدايَةُ َو ال َّسالَ ُم َعلَ ْي ُك ْم َو َرحْ َمةُ هللاِ َوبَ َر َكاتُهُ‬


‫َوبِاهللِ التَّ ْوفِ ْي ُ‬

Anda mungkin juga menyukai