Anda di halaman 1dari 6

MAKALAH ALGORITMA

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)

UNIVERSITAS NEGERI SEMARANG


2019
BAB I

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:

 Pengecekan mulai dari data ke satu sampai data ke-n.


 Bandingkan data ke-1 sampai data ke-n dengan data setelahnya.
 Jika lebih besar maka tidak terjadi pemindahan atau swap.
 Jika data sebelumnya kecil bila dibandingkan dengan data setelahnya besar maka tidak akan
terjadi pemindahan atau no swap.
 Ulang langkah diatas sampai data bisa tersusun baik secara ascending maupun descending.
Sampai data terurutkan.

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:

 Pengecekan dimulai data ke-1 sampai dengan ke-n.


 Tentukan bilangan dengan indeks terkecil dari bilangan tersebut.
 Tukar bilangan dengan indeks terkecil tersebut dengan bilangan pertama (I=1) dari data bilangan
tersebut.
 Lakukan langkah 2 dan 3 untuk bilangan berikutnya (I=I+1) sampai didapatkan urutan yang
optimal.
Insertion Sort

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:

 Banyak data yang diurutkan


 Kapasitas pengingat apakah mampu menyimpan semua data yang kita miliki
 Tempat penyimpanan data, misalnya piringan, pita atau kartu, atau media penyimpan yang lain.
Pemilihan algoritma sangat ditentukan oleh struktur data yang digunakan. Metode pengurutan
yang digunakan dapat diklasifikasikan menjadi dua katagori yaitu
 Pengurutan internal, yaitu pengurutan dengan menggunakan larik (array). Larik tersimpan
dalam memori utama komputer
 Pengurutan eksternal, yaitu pengurutan dengan menggunakan berkas (sequential access file).
BAB III

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

Anda mungkin juga menyukai