Anda di halaman 1dari 4

COCKTAIL SORT

TUGAS MATA KULIAH STRUKTUR DATA

oleh
Luckyta Citra Paramita (171810101015)
Ni Made Milania K.D (171810101055)

JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS JEMBER
2018
Cocktail sort juga dikenal sebagai Bi-directional Bubble Sort, the Shaker sort,
the Ripple sort, the Shuttle sort, the Children sort dan the Happy Hour sort.
Cocktail sort merupakan variasi lain yang sedikit lebih baik dari algoritma dasar
Bubble sort. Cara kerja dari algoritma ini hampir sama dengan cara kerja dari
algoritma Bubble Sort. Perbedaan yang sangat jelas terlihat diantara keduanya
yaitu, pada Bubble sort algoritma pengurutannya dilakukan melalui satu arah
(kanan ke kiri) sedangkan pada Cocktail sort pengurutannya melalui dua arah.
Maksud dari dua arah yaitu perulangannya tidak hanya mengecek dari kanan ke
kiri saja, tetapi juga melalui arah sebaliknya yaitu kiri ke kanan.
Perulangan yang melalui dua arah tersebut membuat Cocktail sort memiliki
kinerja yang lebih baik dibandingkan dengan Bubble sort yang hanya satu arah
aja. Pada umumnya Cocktail sort dua kali lebih cepat dibandingkan Bubble sort.
Untuk membuat Algoritma Cocktail sort dalam dilakukan dengan cara
mengetikkan sintak seperti pada gambar 1 dan 2. Pada gambar tersebut, terlihat
bahwa software yang digunakan yaitu Matlab.

Gambar 1 sintak Cocktail sort


Gambar 2 sintak Cocktail sort
Pada contoh diatas, Cocktail sort dibuat menggunakan perintah function
dengan nama function yaitu cocktailsort dan nilai x merupakan data inputannya.
Baris selanjutnya yaitu menggunakan dua perintah pemilihan if..else..end.
Perintah pemilihan pertama digunakan untuk mengecek apakah inputan x berupa
vektor 1xN, jika tidak maka akan muncul error dengan tulisan “input harus
berupa 1xN. Jika tidak diberi perintah pemilihan ini, maka apabila inputan dengan
vektor Nx1 dijalankan akan terjadi error. Perintah pemilihan yang kedua yaitu
isEmpty(x) yang digunakan untuk mengecek apakan input yang diberikan kosong
atau tidak. Apabila kosong, maka akan muncul erro “input tidak boleh kosong”.
Jika perintah oemilihan kedua dihapus, maka saat input kosong dan dijalankan¸
akan terjadi error.
Selanjutnya, variable n didefinisikan sebagai panjang dari vektor x. lalu,
membuat variable ll dan uu, dimana ll nantinya akan menjadi head dan uu bernilai
n-1 yang akan menjadi syarat pada perintah perulangan selanjutnya. Buat variable
swapped sama dengan true atau satu sebagai syarat dijalankannya perintah
perulangan while berikutnya. Perintah while tersebut akan dijalankan selama
swapped masih bernilai 1. Di dalam perintah while terdapat dua perintah
perulangan for..ir dan tiga perintah pemilihan if..else. terdapat dua perintah utama,
yaitu perintah perulangan pada baris ke-22, dan perintah pemilihan baris ke-30.
Perintah perulangan tersebut

Anda mungkin juga menyukai