PEMROGRAMAN SORTING
Kelompok 8 :
1. Dede Akhsanulhuda (4611419020)
2. Muhammad Evan Widad (4611419030)
3. Andhika Cahya Rizqillah (4611419064)
4. Fadhila Amalia Syifadewi (4611419070)
5. Amara Nur Ali (4611419080)
6. Deonisius Germandy C.P (4611419086)
PENDAHULUAN
A. Latar Belakang
Pesatnya teknologi, terutama teknologi komputer sudah tak bisa dipungkiri lagi, bagi yang
mengikuti perkembangannya, ia tidak akan di pandang sebelah mata. Sebaliknya, bagi yang tidak
mengikuti perkembangannya, bersiaplah untuk mundur secara suka rela dari panggung kompotisi. Ibarat
wabah, teknologi komputer sudah menyusupi hampir semua bidang kehidupan manusia. Dari
pemerintah pusat sampai tingkat pemerintah desa, perusahaan-perusahaan, supermarket, minimarket,
perguruan tinggi, bahkan SD hamper semuanya mengenal komputer.
Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak diminati, juga dapat digunakan
untuk menghasilkan uang adalah dunia pemrograman computer, dalam dunia pemrograman computer,
dikenal algoritma dan banyak bahasa pemrograman, seperti C, C++, Pascal, Basic, Java, dan lain-lain.
B. Rumusan Masalah
Ada berapa macam tipe dalam metode sorting itu?
Apa pengertian algoritma sorting?
Apa saja bagian-bagian algoritma sorting?
Apa fungsi dari bagian-bagian algoritma sorting tersebut ?
C. Tujuan
Mampu menjelaskan mengenai algoritma sorting.
Mengetahui pengertian dan fungsi sorting.
Mampu membuat dan mendeklarasikan structural algoritma sorting.
Mampu menerapkan dan mengimplementasikan algorita sorting.
BAB II
PEMBAHASAN
Sorting
Sort atau sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau
tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Biasanya pengurutan terbagi
menjadi dua yaitu ascending dan descending. Dalam melakukan proses sorting terdapat beberapa hal
yang mempengaruhi kecepatan sorting itu sendiri, diantaranya jumlah operasi perbandingan yang
dilakukan dan juga jumlah operasi pemindahan data yang dilakukan. Pada praktikum ini dilakukan 6 jenis
sorting yaitu selection sort, bubble sort dan insertion sort.
Bubble Sort
Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan cara melakukan
penukaran data dengan tepat sebelahnya secara terus menerus sampai bisa dipastikan dalam satu
iterasi tertentu tidak ada lagi perubahan. Jika tidak ada lagi perubahan berarti data sudah terurut.
Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke
posisi yang tepat. Ilutrasi konsep dari bubble sort ini adalah sebagai berikut: Cara pengurutannya :
bandingkan dua data kemudian swap. Prinsip kerja dari bubble sort adalah:
Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada di
permukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka
gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan
gelembung
Selection Sort
Selection sort adalah metode sorting dimana elemen di perbandingkan satu-persatu sampai pada
elemen terakhir dan disusun berdasarkan ketentuan-ketentuan berlaku (terbesar atau terkecil). Ilutrasi
konsep dari selection sort ini adalah sebagai berikut : Prinsip kerja selection short:
Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap elemen data
pada pisisinya dengan cara melakukan perbandingan dengan data-data yang ada. Indeks algoritma dari
metode insertion sort ini dapat dianalogikan sama seperti mengurutkan kartu, dimana jika suatu kartu
dipindah tempatkan menurut posisinya, maka kartu yang lain akan bergeser mundur atau maju sesuai
kondisi pemindahanan kartu tersebut. Dalam pengurutan data, metode ini dipakai bertujuan untuk
menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan. Penganalogian
Insertion Sort dengan pengurutan kartu. Berikut menjelaskan bagaimana algoritma Insertion Sort
bekerja dalam pengurutan kartu, Anggaplah kita ingin mengurutkan satu set kartu dari kartu yang
bernilai paling kecil hingga yang paling besar.
Dimulai dengan posisi tangan kosong, dan semua kartu berada diatas meja. Dan anggaplah kita
akan menyusun kartu ke tangan kiri kita.
Mengambil kartu pertama dari meja dan meletakannya ke tangan kiri.
Mengambil kartu kedua dan membandingkannya dengan kartu yang sudah ada di tangan kiri.
Jika kartu yang diambil dari meja memenuhi syarat perbandingan, maka kartu tersebut akan
diletakan didepan kartu yang dibandingkan, serta kartu yang lain yang telah dibandingkan akan
bergeser mundur (ke belakang).
Proses ini akan berlangsung sampai semua kartu akan terurutkan dengan benar sesuai criteria
pengurutannya. Demikian juga halnya dalam pengurutan data. Jika data sudah ada, maka pengurutan
dimulai dengan mengambil satu data dan membandingkannya dengan data-data yang ada didepannya.
Jika data yang diambil memenuhi syarat perbandingan, maka data yang diambil tersebut akan diletakan
di depan data yang dibandingkan, kemudian data-data yang dibandingkan akan bergeser mundur.
Catatan: Dalam hal pengurutan data dengan metode insertion sort ini, data yang diambil pertama
adalah data kedua, kemudian data yang diambil akan dibandingkan dengan data – data yang ada
disebelah kiri / data sebelumnya (data- data sebelum data yang diambil). Jika proses tersebut selesai,
maka akan dilanjutkan dengan data-data selanjutnya (data ke-3, data ke-4… dan seterusnya). Proses
akan berlangsung sampai data – data terurutkan dengan benar.
Berikut adalah simulasi Algoritma Insertion Sort Jika digambarkan secara singkat, maka algoritma
Insertion sort ini dapat digambar sebagai berikut. Ilustrasi konsep insertion sort ini adalah sebagai
berikut:
7 [3] 4 1 8 2 6 5
3 7 [4] 1 8 2 6 5
3 4 7 [1] 8 2 6 5
1 3 4 7 [8] 2 6 5
1 3 4 7 8 [2] 6 5
1 2 3 4 7 8 [6] 5
1 2 3 4 6 7 8 [5]
1 2 3 4 5 6 7 [8]
Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun kembali humpunan
obyek menggunakan aturan tertentu. Menurut Microsoft Book-shelf, definisi algoritma pengurutan
adalah algoritma untuk meletakkan kumpulan elemen data ke dalam urutan tertentu berdasarkan satu
atau beberapa kunci dalam tiap-tiap elemen. Ada dua macam urutan yang biasa digunakan dalam proses
pengurutan yaitu
Urut naik (ascending) yaitu dari data yang mempunyai nilai paling kecil sampai paling besar
Urut Turun (descending) yaitu data yang mempunyai nilai paling besar sampai paling kecil.
Contoh : data bilangan 5, 2, 6 dan 4 dapat diurutkan naik menjadi 2, 4, 5, 6 atau diurutkan turun
menjadi 6, 5, 4, 2. Pada data yang bertipe char, nilai data dikatakan lebih kecil atau lebih besar dari yang
lain didasarkan pada urutan relatif (collating sequence) seperti dinyatakan dalam tabel ASCII (Lampiran)
Keuntungan dari data yang sudah dalam keadaan terurutkan antara lain :
Data mudah dicari (misalnya dalam buku telepon atau kamus bahasa), mudah untuk dibetulkan,
dihapus, disisipi atau digabungkan. Dalam keadaan terurutkan, kita mudah melakukan
pengecekan apakah ada data yang hilang
Melakukan komppilasi program komputer jika tabel-tabel simbol harus dibentuk
Mempercepat proses pencarian data yang harus dilakukan berulang kali.
Data yang diurutkan sangat bervariasi, dalam hal jumlah data maupun jenis data yang akan
diurutkan. Tidak ada algoritma terbaik untuk setiap situasi yang kita hadapi, bahkan cukup sulit untuk
menentukan algoritma mana yang paling baik untuk situasi tertentu karena ada beberapa faktor yang
mempengaruhi efektifitas algoritma pengurutan. Beberapa faktor yang berpengaruh pada efektifitas
suatu algoritma pengurutan antara lain:
PENUTUP
A. Kesimpulan
Dari penjelasan diatas bahwa sorting dibagi menjadi beberapa bagian, diantaranya : bubble sort,
insertion sort dan selection sort. Yang memiliki kelebihan dan kekurangan tersendiri. Dari beberapa
shorting tersebut memiliki tujuan yang sama, yaitu mengurutkan data untuk mempermudah pencarian
dan data akan menjadi sistematis