Anda di halaman 1dari 21

SISTEM BERKAS

PENGURUTAN REKAMAN

Disusun Oleh :
Nama : Muhammad Fakhri Azmar
Dimas Indra Pratama
Rendi Saputra
Kelas : 03TPLP018

TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS PAMULANG
Jl. Raya Puspitek No.46, Buaran, Serpong, Telp. (021)7412566, Fax. (021)7412566
Tangerang Selatan - Banten
KATA PENGANTAR

Puji syukur ke hadirat Tuhan Yang Maha Esa. Atas rahmat dan hidayah-Nya, kami
dapat menyelesaikan tugas makalah yang berjudul "Pengurutan Rekaman" dengan
tepat waktu.

Makalah disusun untuk memenuhi tugas Mata Kuliah Sistem Berkas. Selain itu,
makalah ini bertujuan menambah wawasan tentang pengurutan rekaman bagi para
pembaca dan juga bagi penulis.

Kami mengucapkan terima kasih kepada Ibu Intan Kumalasari S.Kom, M.Kom.
selaku dosen Mata Kuliah Sistem Berkas. Ucapan terima kasih juga disampaikan
kepada semua pihak yang telah membantu penyelesaian makalah ini.

Kami sebagai penulis menyadari makalah ini masih jauh dari sempurna. Oleh
sebab itu, saran dan kritik yang membangun diharapkan demi kesempurnaan makalah
ini.

Tangerang Selatan, 16 September 2023

Penulis

ii
DAFTAR ISI

KATA PENGANTAR.................................................................................................ii
DAFTAR ISI...............................................................................................................iii
BAB I PENDAHULUAN............................................................................................1
A. Latar Belakang.............................................................................................................1
B. Rumusan Masalah.......................................................................................................1
C. Tujuan.........................................................................................................................2
BAB II PEMBAHASAN.............................................................................................3
A. Pengertian...................................................................................................................3
B. Metode Pengurutan....................................................................................................4
1. Pengurutan Seleksi (Selection Sort)........................................................................4
2. Pengurutan Gelembung (Bubble Sort)....................................................................6
3. Pengurutan Cepat (Quick Sort)...............................................................................9
4. Pengurutan Heap (Heap Sort)...............................................................................12
5. Pengurutan Shell (Sheel Sort)...............................................................................15
BAB III PENUTUP...................................................................................................17
A. Kesimpulan................................................................................................................17
SOAL..........................................................................................................................17
DAFTAR PUSTAKA................................................................................................18

iii
BAB I

PENDAHULUAN

A. Latar Belakang

Basis data adalah kumpulan data yang tersusun dengan rapi dan terstruktur
yang digunakan untuk menyimpan informasi dalam sistem komputer. Dalam
lingkungan basis data, sering kali kita perlu mengurutkan data berdasarkan
kriteria tertentu untuk memungkinkan pencarian data yang efisien dan
penyusunan laporan yang mudah dibaca. Inilah sebabnya mengapa pengurutan
rekaman memiliki peran yang sangat penting.

Seiring dengan pertumbuhan besar dalam volume dan keragaman data yang
dihasilkan oleh berbagai aplikasi dan sistem informasi, baik dalam konteks bisnis,
ilmiah, atau sosial, kebutuhan untuk memiliki data yang terorganisasi dengan baik
menjadi semakin krusial.

Dalam makalah ini, kita akan menjelaskan berbagai metode pengurutan


rekaman, konsep-konsep dasar yang terlibat dalam pengurutan data. Makalah ini
bertujuan untuk memberikan pemahaman mendalam tentang bagaimana
melakukan pengurutan rekaman dalam pengelolaan data modern .

B. Rumusan Masalah

1. Bagaimana konsep dasar dari pengurutan rekaman?


2. Apa perbedaan antara pengurutan secara ascending (urutan naik) dan
descending (urutan turun)?
3. Apa saja metode pengurutan yang umumnya digunakan, seperti Selection
Sort, Bubble Sort, Quick Sort, Heap Sort, dan Shell Sort?
C. Tujuan

1. Memberikan pemahaman yang lebih mendalam tentang konsep dasar


pengurutan rekaman
2. Menguraikan perbedaan antara pengurutan ascending dan descending.
3. Menjelaskan secara rinci cara kerja dan karakteristik metode Pengurutan
Seleksi (Selection Sort), Pengurutan Gelembung (Bubble Sort),
Pengurutan Cepat (Quick Sort), Pengurutan Heap (Heap Sort), dan
Pengurutan Shell (Shell Sort).

2
BAB II

PEMBAHASAN

A. Pengertian

Pengurutan rekaman adalah kemampuan komputer dalam menyotir data yang


menjadi salah satu kebutuhan dalam sistem informasi. Record – record mulai dari
file transaksi harus disusun dalam urutan, untuk membantu memproses pencarian
file utama dengan mudah (efisen). Dalam membuat laporan, umumnya pada
record disusun sesuai urutan tertentu untuk menghasilkan laporan yang mudah
dibaca.

Dua macam Pengurutan :

1. Ascending (urutan naik) adalah pengurutan dimulai dari nilai yang lebih
kecil kemudian ke nilai yang lebih besar.
2. Descending (Urutan menurun) adalah kebalikannya, yaitu pengurutan
dimulai dari nilai yang lebih besar kemudian ke nilai yang lebih kecil.

Sebagai contoh misalkan diberikan data berupa bilangan berikut ini :

2935617

Hasil sorting :

Ascending adalah 1 2 3 5 6 7 9

Descending adalah 9 7 6 5 3 2 1

Ada metode pengurutan yang sering digunakan adalah :

1. Pengurutan Seleksi (Selection Sort)


2. Pengurutan Gelembung (Bubble Sort)
3. Pengurutan Cepat (Quick Sort)

3
4. Pengurutan Heap (Heap Sort)
5. Pengurutan Shell (Sheel Sort)

B. Metode Pengurutan

1. Pengurutan Seleksi (Selection Sort)

Selection sort merupakan sebuah teknik pengurutan dengan cara mencari


nilai tertinggi / terendah di dalam array kemudian menempatkan nilai tersebut
di tempat semestinya. Algoritma ini dapat mengurutkan data dari besar ke
kecil (Ascending) dan kecil ke besar (Descending). Perhatikan array berikut

Menentukan elemen terkecil dalam daftar tak berurutan dalam satu putaran.
Elemen terkecil ini diwarnai biru. Untuk bagian larik yang diurutkan,
warnanya merah.

4
Contoh program menggunakan selection sort :

5
2. Pengurutan Gelembung (Bubble Sort)

Salah satu proses penyortiran yang paling sederhana. Disebut sebagai


pengurutan gelembung karena proses pengurutannya secara berangsur-angsur
bergerak/berpindah ke posisi yang tepat. Salah satu sifat dari pengurutan ini
sangat mudah untuk dipahami. Pengurutan data dilakukan dengan cara
membandingkan elemen sekarang dengan elemen berikutnya. Ketika satu
proses telah selesai, maka bubble sort akan mengulangi proses, demikian
sterusnya sampai dengan iterasi sebanyak n-1.

Proses Pengurutan Bubble Sort

Berikut merupakan proses pengurutan Bubble Sort dengan array

15 31 28 43 65 35 78 20 19

Putaran 1

15 dengan 31 tidak ada pertukaran 15 31 28 43 65 35 78 20 19

31 dengan 28 pertukaran 15 28 31 43 65 35 78 20 19

31 dengan 43 tidak ada pertukaran 15 28 31 43 65 35 78 20 19

43 dengan 65 tidak ada pertukaran 15 28 31 43 65 35 78 20 19

65 dengan 35 pertukaran 15 28 31 43 35 65 78 20 19

65 dengan 78 tidak ada pertukaran 15 28 31 43 35 65 78 20 19

78 dengan 20 pertukaran 15 28 31 43 35 65 20 78 19

78 dengan 19 pertukaran 15 28 31 43 35 65 20 19 78

Pada putaran pertama ini rekaman tertinggi (78) sudah berada pada posisi
yang tepat

6
Putaran 2

15 28 31 43 35 65 20 19 78

15 28 31 43 35 65 20 19 78

15 28 31 43 35 65 20 19 78

15 28 31 35 43 65 20 19 78

15 28 31 35 43 65 20 19 78

15 28 31 35 43 20 65 19 78

15 28 31 35 43 20 19 65 78

Pada putaran kedua, nilai rekaman kedua tertinggi (65) sudah berada pada
posisi yang tepat.

Putaran 3

15 28 31 35 20 19 43 65 78

Putaran 4

15 28 31 20 19 35 43 65 78

Putaran 5

15 28 20 19 31 35 43 65 78

Putaran 6

15 20 19 28 31 35 43 65 78

Putaran 7

15 19 20 28 31 35 43 65 7

7
Jika diperhatikan, pada masing-masing putaran selalu terdapat
rekaman yang berada pada posisinya karena setiap 1 putaran
menempatkan satu elemen baru ke dalam posisi yang tepat, maka sebuah
berkas dengan n rekaman membutuhkan tidak lebih dari n-1 putaran untuk
menghasilkan berkas yang urut. Kelebihan dari metode ini adalah
merupakan metode yang paling sederhana, namun kekurangannya adalah
kurang efisien karena jika memilah data yang besar maka prosesnya akan
memakan waktu yang lama.

Contoh program sorting menggunakan Bubble Sort :

8
3. Pengurutan Cepat (Quick Sort)

Quick Sort adalah algoritma pengurutan berdasarkan algoritma Divide dan


Conquer yang memilih elemen sebagai pivot dan mempartisi array tertentu di
sekitar pivot yang dipilih dengan menempatkan pivot pada posisi yang benar
dalam array yang diurutkan sehingga elemen lain yang lebih kecil dari poros
berada di sebelah kiri, dan elemen lain yang lebih besar dari poros ada di
sebelah kanan. Oleh karena itu, terbentuk dua sublist, yang terletak di kiri dan
kanan poros. Kemudian di sublist kiri dan kanan, Jadi ada proses rekursif.

Ada banyak versi quick Sort yang memilih pivot dengan berbagai cara.

a. Selalu pilih elemen pertama sebagai pivot.


b. Selalu pilih elemen terakhir sebagai pivot (diterapkan di bawah)
c. Pilih elemen acak sebagai pivot.
d. Pilih median sebagai pivot (poros)

Proses pengurutan cepat menggunakan median sebagai pivot :

a. Terdapat array seperti di atas.

b. Disini kita menggunakan record 8 sebagai pivot dan menentukan nilai


record < 8 di sebelah kiri dan record > 8 di sebelah kanan .

c. Terdapat 4 record yang akan dipindahkan yaitu 9 ke sebelah kanan


karena > 8 dan 6, 5, 7 ke sebelah kiri karena < 8 dengan urutan yang
sama.

9
d. Setelah diurutkan berikut hasilnya

e. Karena sudah terbagi menjadi 2 bagian, di bagian kiri kita menentukan


pivotnya kembali yaitu 2.

f. Berikutnya kita focus ke bagian sebelah kiri, di sini terdapat 2 record


yang nilainya > 2 berada disebelah kiri yang bisa dipindahkan.

g. Selanjutnya ini adalah tampilan setelah dipindahkan. Berikutnya array


di atas dibagi menjadi 2 bagian lagi dan menentukan pivotnya. Di
sebelah kanan kita menjadikan 5 sebagai pivot sehingga ada 1 record
yang dapat dipindahkan.

h. Inilah tampilan record setelah dipindahkan. Karena sudah tidak ada


lagi record yang harus dipindahkan maka proses pengurutan berhenti.

i. Berikut adalah hasil akhir dari pengurutan cepat

10
Contoh program sorting menggunakan Quick Sort :

11
4. Pengurutan Heap (Heap Sort)

Heap sort adalah teknik pengurutan berbasis perbandingan berdasarkan


struktur data Binary Heap . Ini mirip dengan pengurutan seleksi di mana kita
pertama kali menemukan elemen minimum dan menempatkan elemen
minimum di awal. Ulangi proses yang sama untuk elemen lainnya.
Dalam heap sorting terdapat 3 bagian yaitu node, edge dan leaf, dimana node
adalah masing-masing indeks dalam array, edge adalah garis yang
menghubungkan setiap node, dan leaf adalah setiap node tanpa anak (node
turunan). Selain itu, ada root, yang merupakan node awal di heap, seperti yang
ditunjukkan pada gambar.

Pohon heap adalah pohon biner lengkap (CBT Complete Binary Tree), di
mana nilai kunci pada simpul membuat nilai kunci pada simpul anak tidak
lebih besar dari nilai kunci pada simpul induk. Pohon heap terbagi menjadi
dua jenis yaitu Max-Heap (nilai simpul/parent ≥ nilai anaknya/child) dan Min-
Heap (nilai simpul/parent ≤ nilai anaknya/child),

Dalam metode penyortiran heap, tipe pohon heap yang digunakan adalah
Max-Heap. Memvisualisasikan array sebagai pohon heap dengan menemukan
simpul akar terlebih dahulu, yaitu, simpul pertama dari pohon heap adalah

12
indeks pertama dalam larik, dan indeksnya adalah 0, tetapi simpul awal pada
pohon heap berada di posisi 1, dan larik dengan indeks Nilai awal yang
berbeda yaitu indeks 0. Setelah menemukan node root, sekarang hanya perlu
mencari node anak dari node root, kemudian membagi node anak menjadi
dua, yaitu node anak kiri dan node anak kanan, dan mencari node anak kiri,
node anak kanan dan node induk, gunakan rumus berikut :

Left Child : 2i (Contoh : Left child dari 1 adalah 2 x 1 = 2)

Right Child : 2i + 1 (Contoh : Right Child dari 1 adalah (2 x 1) + 1 = 3)

Parent :└ i/2 ┘ (Contoh : Parent dari 3 adalah 3 / 2 = 1)

NB : Untuk i adalah posisi node yang ingin dicari left/right childnya atau
parent nodenya dan untuk lambang (└ ┘) adalah floor yaitu pembulatan
kebawah misal 3 / 2 = 1,5 dibulatkan kebawah menjadi 1. Berikut adalah
contoh cara memvisualisasikan sebuh array menjadi sebuah heap tree :

Contoh :

a. Kita memiliki array seperti berikut. Dengan menggunakan rumus left


dan right child sehingga didapatkan pohon heap seperti dibawah ini.

13
b. Menggunakan rumus parent untuk melakukan shif_down dari simpul
tengah (I = 6; 6/2 = 3), menurun sampai simpul pertama.

c. Setelah reorganisasi simpul, posisi data pada pohon heap telah berubah
mencapai max-heap dan berikut ini adalah data pada array.

d. Karena data telah mencapai max-heap dilakukanlah heap sort dengan


menukar tempat simpul pertama dengan simpul terakhir. Jumlah parent
dikurangi 1. Jika i > 1 maka ulangi proses di atas (dari b sampai d)
hingga simpul habis (i = 0).

14
e. Setelah melakukan proses reorganisasi hingga i = 0 didapatkan hasil
pengurutan seperti diatas.

5. Pengurutan Shell (Sheel Sort)

Merupakan metode pengurutan data yang lebih efisien dan memiliki


kompleksitas algoritma yang sama dengan yang lain.metode ini juga disebut
metode pertumbuhan yang semakin berkurang. Metode ini dikembangkan
oleh Donald L. Shell pada tahun 1959 dan oleh karena itu sering disebut
sebagai metode pemilahan shell. Metode ini mengurutkan data dengan cara
membandingkan satu data dengan data lain yang memiliki jarak tertentu.
Secara singkat metode ini dijelaskan sebagai berikut.

a. Pada langkah pertama, kita mengambil elemen pertama dan


membandingkannya dan membandingkannya dengan elemen yang
agak jauh dari elemen pertama.
b. Kemudian kami membandingkan elemen kedua dengan elemen
lainnya pada jarak yang sama seperti di atas. Begitu seterusnya sampai
semua item dibandingkan.

15
c. Pada tahap kedua, proses tersebut diulangi secara bertahap. yang lebih
kecil, pada langkah ketiga jarak dikurangi lagi, seluruh proses
dihentikan jika jaraknya sama dengan satu.

Contoh proses penyortiran menggunakan metode Shell Sort.

16
BAB III

PENUTUP

A. Kesimpulan

Dalam rangka mengelola data dengan lebih efisien, kita telah menjelaskan
konsep dasar pengurutan rekaman dan perbedaan antara pengurutan naik
(ascending) dan turun (descending). Selain itu, kami juga mengenalkan lima
metode pengurutan umum: Selection Sort, Bubble Sort, Quick Sort, Heap Sort,
dan Shell Sort. Setiap metode pengurutan memiliki cara kerja yang berbeda,
dengan kelebihan dan kelemahan masing-masing. Selection Sort dan Bubble Sort
sederhana namun kurang efisien untuk data besar, sementara Quick Sort adalah
metode yang sangat efisien. Heap Sort menggunakan struktur data Binary Heap
dan efisien, sementara Shell Sort menggunakan konsep gap untuk
membandingkan dan menukar elemen. Pemahaman tentang metode pengurutan
ini dapat membantu kita memilih metode yang paling sesuai untuk tugas
pengurutan data dalam pemrograman kita.

SOAL

1. Apa keunggulan dan kelemahan Bubble Sort dibandingkan dengan Heap


Sort?
2. Pada case apa algoritma-algoritma tersebut harus di implementasikan dan
berikan contoh case serta algoritma yang harus digunakan?
3. Jelaskan bagaimana cara kerja algoritma selection sort untuk mendapatkan
nilai maximal atau nilai minimal dari sebuah index array?

17
DAFTAR PUSTAKA

SISTEM BERKAS – PEERTEMUAN 12 – PENGURUTAN REKAMAN.pdf

https://www.slideshare.net/nhiyapatmah/pengurutan-rekaman-36922897 (Pengurutan
rekaman, n.d.)

https://socs.binus.ac.id/2019/12/26/selection-sort/#:~:text=Selection%20sort
%20merupakan%20sebuah%20teknik,kecil%20ke%20besar%20(Descending).

https://lms--paralel-esaunggul-ac-id.webpkgcache.com/doc/-/s/lms-
paralel.esaunggul.ac.id/pluginfile.php?file=/296004/mod_resource/content/1/
Materi+Sorting.pptx&forcedownload=1

https://www.geeksforgeeks.org/quick-sort/ (QuickSort - Data Structure and Algorithm


Tutorials, n.d.)

https://www.geeksforgeeks.org/heap-sort/ (Heap Sort – Data Structures and


Algorithms Tutorials, n.d.)

18

Anda mungkin juga menyukai