Anda di halaman 1dari 10

LOGIKA DAN ALGORITMA

“KELOMPOK 3”
12.1B.03
TUGAS PERTEMUAN KE-10 (SORTING)

Nama Kelompok :
12201483_Boristyo Pamungkas
12201399_Djuendah Nursetiana
12200044_Stevanus Ivan Gunawan
12200610_Febry Valentino Santoso
12200333_Adi Santoso

PRODI SISTEM INFORMASI


UNIVERSITAS BINA SARANA INFORMATIKA
1. SELECTION SORT
INPUT PROGRAM:
'''
SELECTION SORT
'''
def selectionsort(angka):
for i in range(len(angka)-1,0,-1):
max=0
for l in range(1,i+1):
if angka[l]>angka[max]:
max=l
temp = angka[i]
angka[i] = angka[max]
angka[max] = temp

angka = [29,27,10,8,76,21]
print('Sebelum Sort:',angka)
selectionsort(angka)
print('Setelah Sort:',angka

RUNNING PROGRAM:

Nilai : 29,27,10,8,76,21

ITERASI 1
Langkah 1 : 29, 27, 10, 8, 76, 21

Langkah 2 : 29, 27, 10, 8, 76, 21


Langkah 3 : 8, 27, 10, 29, 76, 21

Langkah 4 : Ulangi Langkah 2 dan 3

ITERASI 2
Langkah 1 : 8, 27, 10, 29, 76, 21

Langkah 2 : 8, 27, 10, 29, 76, 21

Langkah 3 : 8, 10, 27, 29, 76, 21


Langkah 4 : Ulangi Langkah 2 dan 3
ITERASI 3
Langkah 1 : 8, 10, 27, 29, 76, 21

Langkah 2 : 8, 10, 27, 29, 76, 21

Langkah 3 : 8, 10, 21, 29, 76, 27


Langkah 4 : Ulangi Langkah 2 dan 3

ITERASI 4
Langkah 1 : 8, 10, 21, 29, 76, 27

Langkah 2 : 8, 10, 21, 29, 76, 27

Langkah 3 : 8, 10, 21, 27, 76, 29

Langkah 4 : Ulangi langkah 2 dan 3

ITERASI 5
Langkah 1 : 8,10,21,27, 76, 29
Langkah 2 : 8, 10, 21, 27, 76, 29

Langkah 3 : 8, 10, 21, 27, 29, 76

ITERASI 6
Langkah 1 : 8,10,21,27,29,76

Langkah 2 : 8,10,21,27,29,76

Langkah 3 : 8,10,21,27,29,76
2. BUBBLE SORT
INPUT PROGRAM:
'''
BUBBLE SORT
'''
def bubblesort(x):
for i in range(len(x)-1,0,-1):
for j in range(i):
if x[j]>x[j+1]:
temp = x[j]
x[j]=x[j+1]
x[j+1]=temp
angka = [29,27,10,8,76,21]
print('Sebelum Sort:',angka)
bubblesort(angka)
print('Setelah Sort:',angka)

RUNNING PROGRAM:

Nilai : 29,27,10,8,76,21
Iterasi 1

29, 27, 10, 8, 76, 21

29, 27, 10, 8, 76, 21

Iterasi 2
8, 29, 27, 10, 76, 21

8, 29, 27, 10, 76, 21

Iterasi 3

8, 29, 27, 10, 76, 21


8, ,10 29, 27, 76, 21

8, ,10 29, 27, 76, 21


Iterasi 4

8, 29, 27, 10, 76, 21


8, 10, 29, 27, 76, 21

8, 10, 21, 29, 27, 76,

8, 10, 21, 29, 27, 76,

Iterasi 5
8, 29, 27, 10, 76, 21

8, 10, 29, 27, 76, 21

8, 10, 21, 29, 27, 76,

8, 10, 21, 27, 29, 76,


8, 10, 21, 27, 29, 76,
3. MERGE SORT
INPUT PROGRAM:
'''
MERGE SORT
'''
def mergeSort(angka):
print("Bilangan Diurutkan",angka)
if len(angka)>1:
mid = len(angka)//2
lefthalf = angka[:mid]
righthalf = angka[mid:]

mergeSort(lefthalf)
mergeSort(righthalf)
i=j=k=0
while i < len(lefthalf) and j < len(righthalf):
if lefthalf[i] < righthalf[j]:
angka[k]=lefthalf[i]
i=i+1
else:
angka[k]=righthalf[j]
j=j+1
k=k+1

while i < len(lefthalf):


angka[k]=lefthalf[i]
i=i+1
k=k+1

while j < len(righthalf):


angka[k]=righthalf[j]
j=j+1
k=k+1
print("Merging ",angka)
angka = [29,27,10,8,76,21]
print('Sebelum Sort:',angka)
mergeSort(angka)
print('Setelah Sort:',angka)
RUNNING PROGRAM:

Nilai : 29,27,10,8,76,21
Iterasi 1

Langkah 1 : 29, 27, 10, 8, 76, 21

Langkah 2 : 27, 29, 8, 10, 21, 76

Iterasi 2

Langkah 1 : 27, 29, 8, 10, 21, 76

Langkah 2 : 8, 10, 27, 29, 21, 76

Iterasi 3

Langkah 1 : 8, 10, 27, 29, 21, 76

Langkah 2 : 8, 10, 21, 27, 29, 76


4. QUICK SORT
RUNNING PROGRAM:
'''
QUICK SORT
'''
def QuickSort(angka,start,end):
if start<end:
pindex=partition(angka,start,end)
QuickSort(angka,start,pindex-1)
QuickSort(angka,pindex+1,end)

def partition (angka,start,end):


pivot = angka[end]
pindex = start
for i in range(start,end):
if (angka[i] <= pivot):
angka[i],angka[pindex]=angka[pindex],angka[i]
pindex += 1
angka[pindex],angka[end] = angka[end],angka[pindex]
return pindex
angka = [29,27,10,8,76,21]
print('Sebelum Sort:',angka)
QuickSort(angka,0,len(angka)-1)
print('Setelah Sort:',angka)

RUNNING PROGRAM:

Iterasi 1

29, 27, 10, 8, 76, 21

29

27, 10, 8, 76, 21, 29

Iterasi 2

27, 10, 8, 76, 21, 29

27

8, 10, 76, 21, 27, 29

Iterasi 3

8, 10, 76, 21, 27, 29

76

8, 10, 21, 27, 29, 76


5. INSERTION SORT
INPUT PROGRAM:
'''
INSERTION SORT
'''
def InsertionSort(val):
for index in range(1, len(val)):

valueaktif = val[index]
posisi = index

while posisi > 0 and val[posisi - 1] > valueaktif:


val[posisi] = val[posisi - 1]
posisi = posisi - 1

val[posisi] = valueaktif
angka = [29,27,10,8,76,21]
print('Sebelum Sort:',angka)
InsertionSort(angka)
print('Setelah Sort:',angka)

RUNNING PROGRAM:

Nilai : 29,27,10,8,76,21

Iterasi 1

Langkah 1 : 29, 27, 10, 8, 76, 21


Langkah 2 : 29, 27, 10, 8, 76, 21

Langkah 3 : 27, 29, 10, 8, 76, 21

Langkah 4 : Ulangi Langkah 2 dan 3

Iterasi 2

Langkah 1 : 27, 29, 10, 8, 76, 21

Langkah 2 : 27, 29, 10, 8, 76, 21


Langkah 3 : 10, 27, 29, 8, 76, 21

Langkah 4 : Ulangi Langkah 2 dan 3


Iterasi 3
Langkah 1 : 10, 27, 29, 8, 76, 21

Langkah 2 : 10, 27, 29, 8, 76, 21

Langkah 3 : 8, 10, 27, 29, 76, 21

Langkah 4 : Ulangi Langkah 2 dan 3

Iterasi 4

Langkah 1 : 8, 10, 27, 29, 76, 21

Langkah 2 : 8, 10, 27, 29, 76, 21


Langkah 3 : 8, 10, 21, 27, 29, 76

Langkah 4 : Ulangi Langkah 2 dan 3

TERIMA KASIH

Anda mungkin juga menyukai