Anda di halaman 1dari 17

CRITICAL JURNAL REVIEW

Disusun untuk memenuhi salah satu tugas mata kuliah Struktur Data

SORTING

Dosen Pengampu :

Zulfahmi Indra, S.Si, M.Cs.

Disusun Oleh :

Feri Febriansyah (4193250013)

Laskar Rindang Gulo (4191250008)

M. Ananda Rizki Tambunan (4193550021)

Mhd. Husairi (4193550016)

Srimega Hanin Rafiqa Tarigan (4191250012)

PROGRAM STUDI ILMU KOMPUTER

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS NEGERI MEDAN

2020

1
KATA PENGANTAR

Puji syukur dengan menyebut nama Allah SWT. Yang Maha Pengasih lagi Maha
Penyayatelah memberikan berkah ilmu dan karunia kesehatan sehingga dapat menyelesaikan
tugas Critical Jurnal Review dalam mata kuliah Struktur Data tanpa ada hambatan besar
dalam proses pengerjaannya.

Pembuatan Critical Jurnal Review ini dikerjakan dengan bantuan berbagai pihak
sehingga dapat menyelesaikan laporan ini dengan tepat sesuai dengan sistematika yang telah
ditentukan. Maka dari itu ucapan terima kasih tercurahkan kepada semua pihak yang telah
membantu dalam proses pembuatan laporan tugas Critical Jurnal Review ini.

Adapun laporan yang telah selesai dikerjakan ini masih memiliki kekurangan dari
berbagai sisi sehingga dengan tangan terbuka penulis menerima saran dan kritik dari pembaca
terhadap Critical Jurnal Review ini, sehingga penulis dapat memperbaiki penulisan laporan
dalam Critical Jurnal Review kedepannya.

Akhir kata penulis berharap laporan ini akan memberikan manfaat dan inspirasi bagi
berbagai pihak yang telah membaca laporan ini.

Medan, 20 April 2020

Penyusun

2
DAFTAR ISI

KATA PENGANTAR...........................................................................................................2
DAFTAR ISI..........................................................................................................................3
BAB I PENDAHULUAN......................................................................................................4
1.1.Latar Belakang..............................................................................................................4
1.2.Tujuan...........................................................................................................................4
1.3.Manfaat.........................................................................................................................4
BAB II ISI JURNAL .............................................................................................................5
2.1.Identitas Jurnal..............................................................................................................5
2.2.Ringkasan Jurnal..........................................................................................................5
2.2.1.Ringkasan Jurnal 1....................................................................................................6
2.2.2.Ringkasan Jurnal 2....................................................................................................6
2.2.2.Ringkasan Jurnal 3....................................................................................................6
2.2.2.Ringkasan Jurnal 4....................................................................................................6
2.2.2.Ringkasan Jurnal 5....................................................................................................6
2.2.2.Ringkasan Jurnal 6....................................................................................................6
BAB III PEMBAHASAN......................................................................................................8
3.1.Kelebihan dan Kekurangan..........................................................................................8
BAB IV PENUTUP...............................................................................................................9
4.1.Kesimpulan...................................................................................................................9
4.2.Saran.............................................................................................................................9
DAFTAR PUSTAKA..........................................................................................................10

3
BAB I

PENDAHULUAN

1.1 Latar Belakang

Jurnal ilmiah adalah majalah publikasi yang memuat karya tulis ilmiah yang secara nyata
mengandung data dan informasi yang mengajukan iptek dan ditulis sesuai dengan kaidah-
kaidah penulisan ilmiah yabg diterbitkan secara berkala.

Sumber data dan informasi ilmiah yang dijadikan dasar penyusun seperti jurnal yang
merupakan tulisan yang mengandung data dan infornasi dengan kaidah-kaidah yang tepat.
Pengajuan tugas untuk mereview jurnal, memiliki tujuan untuk mempermudah dalam
memahami inti dari hasil penelitian yang telah dilakukan, agar tujuan tersebut tercapai maka
diperlukan suatu panduan yang sistematis untuk mereview jurnal, sehingga dalam mereview
jurnal tersebut semakin mudah untuk dipahami.

1.2 Tujuan
a) Menyelesaikan tugas yang diberikan oleh dosen pengampu pada mata kuliah Struktur
Data.
b) Menambah pengetahuan tentang sorting.
c) Meningkatkan cara berpikir dalam menggali informasi yang terdapat dalam jurnal
yang dibandingkan.
d) Menguatkan keterampilan berpikir kritis dalam memahami penelitian yang
dilaksanakan dalam jurnal.

1.3 Manfaat
a) Menambah penetahuan tentang hasil penelitian yang terdapat dalam jurnal.
b) Melatih kemampuan penulis dalam mengkritisi suatu jurnal.
c) Menumbuh pola pikir kreatif dalam membandingkan isi jurnal pada keadaan
lingkungan sekitar.
d) Dapat mengusai materi setelah membandingkan enam jurnal.

4
BAB II

ISI JURNAL

a. Identitas Jurnal 1

Judul : Implementasi Algoritma Bubble Sort dan Selection Sort Menggunakan


Arraylist Multidimensi pada Pengurutan Data Multi Prioritas

Jurnal : Komputasi

Tahun : 2017

Pengarang : Roma Rio Sitepu, Machudor Yusman, Febi Eka Febriansyah

Penerbit : Jurusan Ilmu Komputer FMIPA Unila

Kota Terbit :

b. Identitas Jurnal 2

Judul : Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

Jurnal : Evolusi

Tahun : 2016

Pengarang : Panny Agustia Rahayuningsih

Penerbit : AMIK BSI Pontianak

Kota Terbit : Pontianak

c. Identitas Jurnal 3

Judul : Analisis Perbandingan Algoritma Bubble Sort, Merge Sort, dan Quick Sort
dalam Proses Pengurutan Kombinasi Angka dan Huruf

Jurnal : Pseudocode

Tahun : 2015

Pengarang : Anisya Sonita, Febrian Nurtaneo

Penerbit : Universitas Muhammadiyah Bengkulu

Kota Terbit : Bengkulu

5
d. Identitas Jurnal 4

Judul : Analisis Algoritma Insertion Sort, Merge Sort Dan Implementasinya Dalam
Bahasa Pemrograman C++
Jurnal : Pseudocode

Tahun : 2013

Pengarang : Arief Hendra Saptadi


Penerbit : Universitas Sriwijaya Palembang

Kota Terbit : Palembang

e. Identitas Jurnal 5

Judul : Selection Sort Dan Insertion Sort Kompleksitas Algoritma Pengurutan


Jurnal : Pseudocode

Tahun : 2016

Pengarang : Setia Negara B. Tjaru


Penerbit : ITB

Kota Terbit : Bandung

f. Identitas Jurnal 6

Judul : Logika dan Algoritma


Jurnal : Pseudocode

Tahun : 2018

Pengarang : Ali Ridho Barakbah, S.Kom., PhD


Penerbit : Politeknik Elektronika Negeri Surabaya
Kota Terbit : Surabaya

6
2.2 Ringkasan Jurnal
2.2.1 Ringkasan Jurnal 1
Pengurutan (sorting) merupakan suatu proses mengurutkan data dengan suatu aturan
tertentu, sehingga tersusun secara teratur sesuai dengan aturan tersebut. Pada dasarnya ada
dua macam aturan pengurutan yang biasa digunakan yaitu ascending (proses pengurutan data
dari data yang paling kecil sampai data yang paling besar) dan descending (proses
mengurutkan data dari yang paling besar sampai data yang paling kecil). Proses yang terjadi
dalam pengurutan data adalah proses perbandingan data dan pertukaran data.

A. Bubble Sort

Pengurutan yang menggunakan algoritma Bubble Sort dilakukan dengan cara


membandingkan elemen yang diseleksi dengan elemen yang berikutnya. Jika elemen yang
diseleksi lebih besar dari elemen berikutnya maka elemen tersebut ditukar. Setiap langkah
dari algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri. Jika barisan
bilangan tidak disusun horizontal melainkan vertikal, maka terlihat seperti gelembung-
gelembung (bubble) yang naik dari dasar akuarium. Oleh karena itu algoritma ini disebut
Bubble Sort.

Bubble Sort merupakan cara pengurutan yang sederhana. Konsep dari ide dasarnya adalah
seperti “gelembung air” untuk elemen struktur data yang semestinya berada pada posisi awal.
Cara kerja dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen
array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus
diulang hingga tidak perlu dilakukan penukaran lagi.

BubbleSort(data,n):
FOR i  0 TO data.size()-1
FOR j  0 TO data.size()-(i+1)
FOR k 0 TO data.get(j)size()-1
hasil=data.get(j).get(k)- data.get(j+1).get(k)
IF hasil !=0
IF hasil<0
// Lakukan Penukaran
Swap(data,j,j+1)
END IF
BREAK
END-IF
END FOR
END-FOR
END-FOR

Algoritma Bubble Sort


Menggunakan ArrayList
7
Terdapat 3 buah perulangan yaitu perulangan i, j,dan k. Perulangan “j” berada di
dalam perulangan “i” dan perulangan “k” berada di dalam perulangan “j”, perulangan seperti
ini disebut sering disebut dengan perulangan bersarang (nested loop). Perulangan i dimulai
dari 0 dan i akan terus melakukan perulangan sampai data.size()-1. Perulangan j dimulai dari
0 dan j akan terus melakukan perulangan sampai data.size()-(i+1). Perulangan k dimulai dari
0 dan k akan terus melakukan perulangan sampai data.get(j)size()-1.

B. Selection Sort

Selection Sort adalah suatu metode pengurutan yang membandingkan elemen yang
sekarang dengan elemen berikutnya sampai ke elemen yang terakhir. Jika ditemukan elemen
lain yang lebih kecil dari elemen sekarang maka dicatat posisisnya dan langsung ditukar.
Konsep proses Selection Sort adalah mencari (memilih) nilai terkecil dan menukarnya
dengan elemen paling awal (paling kiri) pada setiap tahap. Proses Sort dilakukan tahap per
tahap.

Konsep Selection Sort secara descending adalah melakukan pemilihan dari suatu nilai
yang terbesar dan kemudian menukarnya dengan elemen paling awal, lalu membandingkan
dengan elemen yang sekarang dengan elemen berikutnya sampai dengan elemen terakhir,
perbandingan dilakukan terus sampai tidak ada lagi pertukaran data.

SelectionSort(data,data.size())
: FOR i  0 TO
data.size()-1
awal=i
FOR j  i+1 TO data.size()-1
FOR k 1 TO data.get(j).size -1
hasil=data.get(awal).get(k)- data.get(j).get(k)
IF hasil !=0
IF hasil<0
// Lakukan Penukaran
awal=j
END IF
BREAK
END-IF
END FOR
END-FOR
Swap(data,i,awal);
A
END-FOR
Algoritma Selection Sort Menggunakan ArrayList Multidimensi

Terdapat 3 perulangan yaitu perulangan i, j,dan k. Perulangan i dimulai dari 0 dan i


akan terus melakukan perulangan sampai data.size()-1. Perulangan j dimulai dari i+1 dan j
akan terus melakukan perulangan sampai data.size()-1. Perulangan k dimulai dari 1 dan k
terus melakukan perulangan sampai data.get(j).size -1.

8
2.2.2 Ringkasan Jurnal 2
Pengurutan data (sorting) adalah suatu proses pengurutan data yang tersusun secara
acak pada suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu.
pengurutan ini dapat dilakukan dengan cara ascending dan descending serta digunakan juga
untuk mengurutkan data yang bertipe angka atau karakter.

A. Insertion Sort

Insertion Sort adalah sebuah algortima sederhana yang cukup efisien untuk mengurutkan
sebuah list yang hampir terurut. Algoritma ini juga bisa digunakan sebagai bagian algoritma
yang lebih canggih. Cara kerja algoritma ini adalah dengan mengambil elemen list satu-per-
satu dan memasukkannya di posisi yang benar seperti namanya. Pada array, list yang baru
dan elemen sisanya dapat berbagi tempat di array, meskipun cukup rumit. Untuk menghemat
memori, implementasinya menggunakan pengurutan di tempat yang membandingkan elemen
saat itu dengan elemen sebelumnya yang sudah diurut, lalu menukarnya terus sampai
posisinya tepat. Hal ini terus dilakukan sampai tidak ada elemen tersisa di input.

Metode pengurutan insertion sort merupakan pengurutan data yang membandingkan


dengan dua elemen data pertama, kemudian membandingkan elemenelemen data yang sudah
diurutkan, kemudian perbandingan tersebut akan terus diulang hingga tidak ada elemen data
yang tersisa.

B. Selection Sort

Selection sort adalah suatu metode pengurutan yang membandingkan elemen yang
sekarang dengan elemen berikutnya sampai ke elemen yang terakhir. Jika ditemukan elemen
lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan langsung ditukar.

Metode selection sort adalah melakukan pemilihan dari suatu nilai yang terkecil dan
kemudian menukarnya dengan elemen paling awal, lalu membandingkan dengan elemen
yang sekarang dengan elemen berikutnya sampai dengan elemen terakhir, perbandingan
dilakukan terus sampai tidak ada lagi pertukaran data.

C. Bubble Sort

Bubble sort adalah suatu metode pengurutan yang membandingkan elemen yang
sekarang dengan elemen berikunya, jika elemen sekarang > elemen berikutnya maka
posisinya ditukar, kalau tidak, tidak perlu ditukar, misalnya untuk n = 7 maka akan dilakukan
( n – 1 ) = 6 tahap (mulai dari 0 sampai dengan n - 2).

Algoritma bubble sort ini melakukan perbandingan antara setiap elemen, kemudian
melakukan penukaran jika terdapat elemen yang tidak sesuai urutannya atau salah.
Perbandingan akan terus dilakukan sehingga tidak ada lagi pertukaran data.

9
D. Quick Sort

Quick Sort adalah sebuah algoritma sorting dari model Divide and Conquer yaitu
dengan cara mereduksi tahap demi tahap sehingga menjadi 2 bagian yang lebih kecil.

Quick Sort merupakan algoritma yang sangat cepat dibandingkan dengan algirtma
sorting lainnya, karena algoritma quick sort ini melakukan sorting dengan membagi masalah
menjadi sub masalah dan sub masalah dibagi lagi menjadi sub-sub masalah sehingga sorting
tersebut menjadi lebih cepat walaupun memakan ruang memori yang besar.

2.2.3 Ringkasan Jurnal 3


A. Algoritma Sorting

Algoritma sorting adalah kumpulan langkahlangkah penyelesaian dalam suatu masalah


dengan metode tertentu, sedangkan sorting didefinisikan sebagai pengurutan sejumlah data
berdasarkan nilai kunci tertentu untuk mengurutkan nilai dari yang terkecil (ascending) atau
sebaliknya (descending).

B. Kompleksitas Algoritma

Kompleksitas suatu algoritma merupakan ukuran seberapa banyak komputasi yang


dibutuhkan algoritma tersebut untuk mendapatkan hasil yang diinginkan. Hal-hal yang
mempengaruhi kompleksitas waktu:

1. Jumlah masukan data untuk suatu algoritma (n).


2. Waktu yang dibutuhkan unutk menjalankan algoritma tersebut.
3. Ruang memori yang dibutuhkan untuk menjalankan algoritma yang berkaitan dengan
struktur data dari program.

Kompleksitas mempengaruhi performa atau kinerja dari suatu algoritma. Kompleksitas


dibagi menjadi 3 jenis yaitu, worst case, best case, dan average case. Masing-masing jenis
kompleksitas ini menunjukkan kecepatan atau waktu yang dibutuhkan algoritma untuk
mengeksekusi sejumlah kode.

C. Algoritma Bubble Sort

Bubble sort merupakan salah satu jenis sorting. Ide dari algoritma ini adalah mengulang
proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah.
Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran
lagi. Algoritma ini termasuk dalam golongan algoritma comparison sort, karena
menggunakan perbandingan dalam operasi antar elemennya.

D. Algoritma Quick Sort

Quicksort merupakan algoritma sorting yang dikembangkan oleh C.A.R Hoare pada
tahun1960 yang secara kasus rata-rata, membuat pengurutan O(n log n) untuk mengurutkan n
item. Algoritma ini juga dikenal sebagai Partition-Exchange Sort atau disebut sebagai Sorting
pergantian pembagi. Pada kasus terburuknya, algoritma ini membuat perbandingan O(n2),
10
walaupun kejadian seperti ini sangat langka. Quick sort sering lebih cepat dalam praktiknya
dari pada algoritma O(n log n) yang lainnya. Dan juga, urutan dan referensi lokalisasi memori
quicksort bekerja lebih baik dengan menggunakan cache CPU, jadi keseluruhan sorting dapat
dilakukan hanya dengan ruang tambahan O(log n).

E. Algoritma Merge Sort

Merge sort adalah metode pengurutan yang menggunakan pola divide and conquer.
Strateginya adalah dengan membagi sekelompok data yang akan diurutkan menjadi beberapa
kelompok kecil terdiri dari maksimal dua nilai untuk dibandingkan dan digabungkan lagi
secara keseluruhan.

2.2.4 Rigkasan Jurnal 4

Sorting atau pengurutan adalah proses menyusun elemen – elemen dari masukan awal
acak menjadi keluaran akhir tertata dengan urutan tertentu[3]. Proses tersebut
diimplementasikan dalam bermacam aplikasi. Contoh penerapannya antara lain berupa
rincian transaksi sesuai urutan tanggal dan jam pada perbankan, daftar hadir yang diurutkan
berdasarkan nomor induk dan daftar pustaka yang diurutkan sesuai abjad pengarang ataupun
katalog buku di perpustakaan. Fungsi-fungsi statistik seperti median dan pembuatan kuartil
data (quarter), desil dan percentil (percentile) mensyaratkan data untuk diurutkan terlebih
dahulu.

Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat
mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma
yang ada sangatlah berguna. Selain menjadi suatu aplikasi yang berdiri sendiri,
pengurutan juga biasanya menjadi suatu bagian dari algoritma yang lebih besar.

Permasalahan pengurutan (sorting problem) secara formal didefinisikan sebagai


berikut[7]:
Input: Suatu urutan dari n bilangan,

Output: Suatu permutasi atau penyusunan kembali dari input sedemikian rupa sehingga
pada tata urutan ascending (dari nilai kecil ke besar) atau pada tata urutan
descending (dari nilai besar ke kecil).

Sebagai contoh jika diberikan masukan lima bilangan acak maka keluarannya adalah
sebagaimana berikut ini:

Input: 2 5 4 1
3 (n = 6)
Output: 1 2 3 4
6 (ascending)
6 5 4 3
1 (descending
)

11
Data yang diurutkan tidak harus berupa angka, namun bisa saja string, misalnya: Input:
Saptadi Windisari Desi
Hendra Arief (n = 5) Output: Arief Desi Hendra

Saptadi Windisari (ascending)

Windisari Saptadi Hendra

Desi Arief (descending)

Pengurutan juga bisa diterapkan secara tidak langsung pada sekelompok data. Misalkan
untuk kelima data nama di atas, hendak diurutkan dari nama dengan jumlah karakter terkecil
hingga nama dengan jumlah karakter terbanyak. Sehingga keluarannya diperoleh:

Output: Desi Arief Hendra

(4) (5) (6)

Saptadi Windisari

(7) (9) (ascending)


Jadi dapat disimpulkan bahwa dalam pengurutan harus terdapat:

• data yang akan diurutkan dalam tipe yang sama atau setidaknya memperoleh
perlakuan data yang sama

• aturan pengurutan yang jelas


Ada banyak metode pengurutan antara lain: bubble sort, bi-directional bubble sort,
selection sort, shaker sort, insertion sort, inplace merge sort, double storage merge sort, comb
sort 11, shell sort, heap sort, exchange sort, merge sort, quick sort, quick sort with bubblesort,
enhange quick sort, fast quick sort, radix sort algorithm, swap sort, dan lain sebagainya[4].
Untuk membatasi luasnya pembahasan, maka dalam makalah ini hanya akan dibahas 2
metode, yaitu Insertion Sort dan Merge Sort.

Pembahasan untuk tiap metode akan difokuskan pada cara kerja pengurutan
beserta contohnya, analisa algoritma untuk kondisi terburuk (worst case), rata-
rata (average case), terbaik (best case), implementasinya dalam bahasa C++
serta pengujian waktu eksekusi untuk kedua metode tersebut.
2.2.5 Ringkasan Jurnal 5

Pengurutan adalah satu hal yang sangat penting dalam dunia keinformatikaan. Terutama dalam
pengelolaan data. Sering kali, dengan pengurutan, proses pengelolaan data dapat dilakukan dengan
lebih mudah dan efisien. Binary Search contohnya, pasti lebih efisien daripada algoritma pencarian
biasa yang lebih konvensional. Namun kita dapat melakukan Binary Search jika data yang
bersangkutan belum diurut terlebih dahulu.

Ada berbagai macam algoritma pengurutan. Namun hanya beberapa yang dipakai sebagai
“pengenalan” terhadap siswa-siswa di suatu institusi. Di antaranya adalah Selection Sort dan

12
Insertion Sort. Kedua algoritma Pengurutan ini lah yang menjadi fokus pembahasan pada makalah
ini.

Untuk dapat mengetahui seberapa efisien suatu algoritma, dipakailah teori kompleksitas algoritma
sebagai dasar kajian. Kompleksitas terbagi atas dua, yaitu kompleksitas waktu dan kompleksitas
ruang.

Kompleksitas cenderung tidak dibahas, karena hal tersebut berkenaan dengan struktur data yang
digunakan untuk mengimplementasikan algoritma. Sementara topik tersebut di
luar kajian Matematika Diskrit[1].

Kompleksitas Waktu, T(n), adalah jumlah operasi yang dilakukan untuk melaksanakan algoritma
sebagai fungsidari ukuran masukan n. Maka, dalam mengukur kompleksitas waktu dihitunglah
banyaknya operasi yang dilakukan oleh algoritma. Idealnya, kita memang harus menghitung semua
operasi yang ada dalam suatu algoritma. Namun, untuk lasan praktis, cukup menghitung jumlah
operasi abstrak yang mendasari suatu algoritma.

Operasi abstrak ini disebut Operasi Dasar.

Pada algoritma pengurutan, terutama pada pengurutan dengan perbandingan, operasi dasar adalah
operasioperasi perbandingan elemen-elemen suatu larik dan operasi pertukaran elemen. Kedua hal
itu dihitung secara terpisah, karena jumlah keduanya tidaklah sama.

Biasanya kompleksitas algoritma dinyatakan secara asimptotik dengan notasi big-O. Jika
kompleksitas waktu untuk menjalankan suatu algoritma dinyatakan dengan

T(n), dan memenuhi

T(n) ≤ C(f(n)) untuk n ≥ n0, maka kompleksitas dapat dinyatakan dengan T(n) = O(f(n)).

Terdapat 2 jenis penggunaan notasi Big O, yaitu :

1. Infinite asymptotics
2. Infinitesimal asymptotics
2.2.6 Ringkasan Jurnal 6

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 (pengurutan dari karakter/angka kecil ke karakter/angka besar).
•    descending (pengurutan dari karakter/angka besar ke karakter/angka kecil).

Ada banyak alasan dan keuntungan dengan mengurutkan data. Data yang terurut mudah
untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan jika terdapat kesalahan.
Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut

13
tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk
menyisipkan data atapun melakukan  penggabungan data.

Jenis - Jenis dan Metode Sorting

A. Metode pengurutan langsung :


    1.    Metode Penukaran (Exchange selection) / Gelembung (Bubble Sort)
    2.    Metode Seleksi (Straight Selection Sort)
    3.    Metode Penyisipan Langsung (Straight Insertion Sort)
B. Metode pengurutan tidak langsung :
    1.    Shell Sort
    2.    Quick Sort
    3.    Merge Sort

A. Metode pengurutan langsung

1.     Metode Penukaran (Exchange selection) / Gelembung (Bubble Sort)

 metode pertama yang paling banyak dipelajari pemrogram.


 Sederhana : bubble sort tidak efisien dan menyita banyak waktu prosessor lebih
banyak
daripada teknik sorting yang lain dan Tidak lebih dari 30 atau kurang dari 30 elemen,
penggunaan bubble sort masih sangat baik
 Metode gelembung / penukaran adalah metode yang mendasarkan penukaran 2 buah
elemen untuk mencapai keadaan urut yang diinginkan
Langkah-langkah :
1    : Baca array elemen yang diurutkan (N)
2    : Kerjakan langkah 3 untuk I=1 s/d N-1
3    : Kerjakan langkah 4 untuk J=1 s/d N-1
4    : Cek apakah A[J]>A[J+1}
5    : Selesai

BAB III

PEMBAHASAN

14
3.1.Kelebihan dan Kekurangan

Kelebihan Jurnal :

1. Dari aspek pemaparan materi, keenam jurnal dilihat dari aspek ruang lingkup isi
memiliki cakupan isi yang begitu luas, dan kedua jurnal dilengkapi dengan berbagai
pendapat orang lain sehingga wawasan pembaca tidak hanya sekilas mengenai
sorting, tetapi dari adanya pendapat orang lain pembaca memiliki arti yang begitu
luas mengenai sorting, sehingga penalaran pembaca tentang sorting ataupun isi dari
jurnal menjadi lebih baik.
2. Dari aspek tata bahasa, keenam jurnal menggunakan bahasa yang sangat mudah untuk
dipahami, menggunakan bahasa yang sederhana sehingga yang disampaikan penulis
dapat dengan mudah dipahami oleh pembaca dan pembaca tidak salah konsep dalam
mengaplikasikannya dalam kehidupan berorganisasi.

Kekurangan Jurnal :

1. Dari aspek tata bahasa, pada jurnal kedua terdapat beberapa penggunaan bahasa asing
dalam mengemukakan isi jurnal, sehingga pembaca tidak beberapa pembaca kurang
mengerti akan isi jurnal tersebut.
2. Dari beberapa jurnal kami review terdapat pemaparan tentang poin poin sorting yang
kurang lengkap seperti tidak menyertakan contoh berupa gambaran tentang sorting.
3. Dari jurnal yang kami review juga terdapat peletakan titik,koma yang salah.

BAB IV
PENUTUP

15
4.1 Kesimpulan

Pengurutan (sorting) merupakan suatu proses mengurutkan data dengan suatu aturan
tertentu, sehingga tersusun secara teratur sesuai dengan aturan tersebut. Pada dasarnya ada
dua macam aturan pengurutan yang biasa digunakan yaitu ascending (proses pengurutan data
dari data yang paling kecil sampai data yang paling besar) dan descending (proses
mengurutkan data dari yang paling besar sampai data yang paling kecil). Proses yang terjadi
dalam pengurutan data adalah proses perbandingan data dan pertukaran data.

4.2 Saran

Saran kami sebagai seorang pembaca, sebaiknya data-data yang ada


dalam jurnal terus diperbanyak dan diperbaharui untuk lebih menguatkan materi
pembahasannya. Selain itu, untuk pengetikan sebaik memperhatikan kerapian
dalam pengetikan supaya tidak terjadi kesalah pengertian dalam membaca terlebih
lebih dalam pengetikan angka. Demikian lah saran yang dapat kami berikan, apabila
terdapat kata-kata yang salah ataupun tidak tepat saya mohon maaf yang sebesar-
besarnya karena kami sebagai penyusun tugas ini masih dalam proses belajar.
Semoga dengan komentar yang kami berikan akan semakin menyempurnakan
penulisan jurnal ini kedepannya. Akhir kata kami ucapkan terima kasih.

16
DAFTAR PUSTAKA

Ali Ridho Barakbah, S.Kom., PhD;2018; Logika dan Algoritma; Politeknik


Elektronika Negeri Surabaya:Surabaya. Vol 6 No. 1.

Anisya Sonita, Febrian Nurtaneo ;2015; Analisis Perbandingan Algoritma Bubble Sort,
Merge Sort, dan Quick Sort dalam Proses Pengurutan Kombinasi Angka dan Huruf; :
Universitas Muhammadiyah Bengkulu:Bengkulu. Vol. 3 No.1

Arief Hendra Saptadi ; 2013. Analisis Algoritma Insertion Sort, Merge Sort Dan
Implementasinya Dalam Bahasa Pemrograman C++ ; Universitas Sriwijaya Palembang:
Pelembang. Vol. 8 No.2

Roma Rio Sitepu, Machudor Yusman, Febi Eka Febriansyah; 2017; Implementasi Bubble
Sort dan Selection Sort Menggunakan Arraylist Multidimensi pada Pengurutan Data Multi
Prioritas; Jurnal Komputasi; Vol. 5 No. 1.

Setia Negara B. Tjaru ,2016.Selection Sort Dan Insertion Sort Kompleksitas Algoritma
Pengurutan.ITB: Banndung. Vol. 12 No.7

Panny Agustia Rahayuningsih; 2016; Analisis Perbandingan Kompleksitas Algoritma


Pengurutan Nilai (Sorting); Jurnal Evolusi; Vol. 4 No. 2.

17

Anda mungkin juga menyukai