Laporan tugas 8

LAPORAN
PRAKTIKUM
Algoritma dan Pemograman Terstruktur
“SORTING ALGORTHM”
Disusun Oleh :
NAMA : SEPTIAN LAMAMA
NIM : 121013007

UNIVERSITAS SAM RATULANGI
FAKULTAS MATEMATIKAN dan ILMU PENGETAHUAN ALAM
PROGRAM STUDI MATEMATIKA
MANADO
2013

DASAR TEORI
Sorting
Bubble sorting
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.Jika elemen sekarang lebih besardari elemen berikutnya maka kedua elemen tersebut

ditukar (untuk pengurutan ascending).
Jika elemen sekarang lebih kecildari elemen berikutnya, maka kedua elemen tersebut ditukar (untuk
pengurutan descending).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, demikianseterusnya.
Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa
dilakukan, serta tercapai perurutan yang telah diinginkan.

Seleksi dengan algoritma pengurutan
Satu algoritma seleksi yang sederhana dan digunakan secara luas adalah
memanfaatkan algoritma pengurutan pada list, kemudian mengekstrak elemen ke-k. Ini adalah
contoh reduksi satu permasalahan ke dalam permasalahan lain. Hal ini bermanfaat ketika kita
ingin melakukan banyak seleksi terhadap sebuah list tunggal, dimana kasus ini membutuhkan
hanya satu operasi pengurutan di awal yang membutuhkan waktu yang lama ( expensive),
yang diikuti oleh banyak operasi ekstraksi yang sebentar (Cheap). Ketika kita hanya ingin
melakukan satu seleksi, atau ketika kita ingin selalu mengubah list di antara tiap seleksi,
metode ini dapat jadi lebih lama (costly), biasanya membutuhkan paling sedikit O(n log n)
waktu, dimana n adalah panjang dari list.

Algoritma minimum/maksimum linear

Kasus terburuk algoritma linear untuk menemukan minimum atau maksimum adalah sangat
jelas; kita menyimpan dua peubah, satu mengacu ke indeks dari elemen minimum/maksimum
yang didapatkan sementara, dan satu lagi menyimpan nilainya. Bersamaan dengan kita
memindai list tersebut, kita perbarui kedua peubah tersebut jika kita menemukan sebuah
elemen yang sesuai:

Hasil (OUTPUT)

Pembahasan Program
pada Project kali ini kita membuat sebuah program yang akan mengurutkan nama dan nilai yang
berpatokan pada nilai , untuk project kali ini saya menggunakan data berurut turun dan project ini
cukup mudah di buat karena kita hanya perlu berpatokan pada nilai jadi untuk nama hanya
mengikuti nilai,
misalnya jika nilai[j] < nilai [j+1]
maka xnilai = nilai[j], nilai[j]=nilai[j+1] dan nilai [j+1]=xnilai
xnama = nama[j] ,nama[j] = nama,[j+1] dan nama [j=1] = xnama
jadi secara logika nama akan mengikuti nilai karna kita hanya memisalkan jika nilai[j]