Anda di halaman 1dari 4

METODE STRUKTUR DATA DALAM MENYELESAIKAN

PENGOLAHAN DATA
Nanda Amalya, Naomi Sagita Rumapea, Owen Saputra Pardede, Indra Gunawan M.Kom
Nandaamalya2323@gmail.com, Rumapeanaomi20@gmail.com,
Owensaputra003@gmail.com
Prodi Teknik Informatika (Semester 2)
Sekolah Tinggi Ilmu Komputer
Stikom Tunas Bangsa
Pematangsiantar

ABSTRAK
Untuk memecahkan atau menyelesaikan suatu masalah pengolahan data didalam struktur data,
maka dibutuhkan suatu metode untuk menyelesaikan permasalahan pengolahan data tersebut.
Sebagai contoh permasalahan pengolahan data adalah pada masalah pengurutan data atau lebih
dikenal dengan istilah Sorting. Pada sorting itu sendiri terdapat berbagai jenis-jenis metode
pengurutan data dimulai dari Bubble Sort, Insertion Sort, Merge Sort, Quick Sort, Shell Sort,
Selection Sort, dll. Dan didalam jurnal ini akan dijelaskan tentang pengurutan data (sorting)
dengan menggunakan salah satu metodenya yaitu metode Selection Sort.
Kata Kunci : Sorting, Selection Sort, Struktur Data, Algoritma

PENDAHULUAN internet. Biasanya, struktur data yang efisien


adalah kunci untuk mendesain algoritme
 Pengertian Struktur Data yang efisien. Beberapa metode desain
formal dan bahasa pemrograman
Dalam istilah ilmu komputer, struktur data
menekankan struktur data, bukan pada
adalah cara penyimpanan, pengorganisasian,
algoritme, sebagai faktor kunci dalam
dan pengaturan data di dalam media
mengatur desain perangkat lunak. Struktur
penyimpanan komputer sehingga data
data bisa digunakan untuk mengatur
tersebut dapat digunakan secara efisien.
penyimpanan dan pengambilan informasi
Dalam teknik pemrograman, struktur data yang disimpan baik di dalam memori utama
berarti tata letak data yang berisi kolom- maupun memori sekunder.
kolom data,baik itu kolom yang tampak oleh
Pada struktur data banyak terdapat jenis-
pengguna (user) ataupun kolom yang hanya
jenis metode yang digunakan untuk
digunakan untuk keperluan pemrograman
memecahkan atau menyelesaikan
yang tidak tampak oleh pengguna.
permasalahan suatu pengolahan data. Salah
Struktur data memberikan cara mengelola satu contoh permasalahan pada pengolahan
data yang banyak secara efisien untuk data adalah pada masalah pengurutan data
berbagai penggunaan, misalnya untuk basis atau lebih dikenal dengan istilah Sorting.
data yang besar dan layanan pengindeksan
 Pengertian sorting menggelembung ke posisinya yang
tepat.
Sorting merupakan sebuah metode untuk 2. Selection Sort
pengurutan data dengan tujuan untuk Algoritma Selection sort memilih
menyusun kembali humpunan obyek elemen maksimum/minimum array, lalu
menggunakan aturan tertentu. menempatkan elemen maksimum /
minimum itu pada awal atau akhir array
Sorting disebut juga sebagai suatu algoritma
(tergantung pada urutannya
untuk meletakkan kumpulan elemen data
ascending/descending). Selanjutnya
kedalam urutan tertentu berdasarkan satu
elemen tersebut tidak disertakan pada
atau beberapa kunci dalam tiap-tiap elemen.
proses selanjutnya. Karena setiap kali
Misalnya dari data yang terbesar ke data selection sort harus membandingkan
terkecil. Dengan cara program yang dibuat elemen-elemen data, algoritma ini
harus dapan membandingkan antar data termasuk dalam comparison-based
yang di inputkan. Artinya jika ada deret sorting.
data, maka data yang pertama akan
membandingkan dengan data yang kedua. 3. Insertion Sort
Jika data yang pertama lebih besar dari data Insertion sort adalah sebuah metode
kedua maka data yang pertama akan pengurutan yang membandingkan dua
bertukan posisi dengan data yang kedua dan elemen data, pertama mengurutkannya,
begitu seterusnya sampai data benar-benar kemudian mengecek elemen data
terurut dari terbesar sampai terkecil. berikutnya satu persatu dan
membandingkannya dengan elemen data
Pada dasarnya ada dua macam urutan yang yang telah diurutkan. Karena algoritma
biasa digunakan dalam suatu proses sorting: ini bekerja dengan membandingkan
elemen-elemen data yang akan
1. Urut naik (ascending) diurutkan, algoritma ini termasuk pula
Mengurutkan dari data yang mempunyai dalam comparison-based sort.
nilai paling kecil sampai paling besar 4. Merge Sort
2. Urut turun (descending) Merupakan algoritma yang dijalankan
Mengurutkan dari data yang mempunyai sebagai akibat dari terlalu banyak daftar
nilai paling besar sampai paling kecil. yang diurutkan, dengan menghasilkan
Ada beberapa metode sorting yaitu : lebih banyak data yang diurutkan
sebagai output. Metode penggabungan
1. Bubble Sort biasanya digunakan pada pengurutan
Bubble sort (metode gelembung) adalah berkas.
metode/algoritma pengurutan dengan 5. Quick Sort
dengan cara melakukan penukaran data Quick Sort adalah metode pengurutan
dengan tepat disebelahnya secara terus data yang dikemukan pertama kali oleh
menerus sampai bisa dipastikan dalam C.AR Hoare pada tahun 1962. Metode
satu iterasi tertentu tidak ada lagi ini menggunakan strategi “pecah-pecah”
perubahan. Jika tidak ada perubahan dengan mekanisme seperti berikut :
berarti data sudah terurut. Disebut Larik L[p..r] (dengan indeks terkecil
pengurutan gelembung karena masing- adalah p dan indeks terbesar yaitu r)
masing kunci akan dengan lambat disusun ulang (dipartisi) menjadi dua
buah larik A[p..q] dan A[q+1..r]
sehingga setiap elemen dalam A[q+1..r]. 2. Algoritma pengurutan minimum
Selanjutnya kedua larik tersebut (minimum selection sort), yaitu memilih
diurutkan secara rekursif. Dengan elemen minimum sebagai basis pengurutan.
sendirinya kombinasi kedua larik
tersebut membentuk larik dengan data Algoritma adalah sederetan langkah-
yang telah urut. langkah logis yang disusun secara
6. Shell Sort sistematis untukmemecahkan suatu masalah.
Metode ini disebut juga dengan metode
Proses-proses pengurutan dengan
pertambahan menurun (diminishing
menggunakan metode selection sort secara
increment). Metode ini dikembangkan
terurut naik :
oleh Donald L. Shell pada tahun 1959,
sehingga sering disebut dengan Metode  Mencari data terkecil dari data
Shell Sort. Metode ini mengurutkan data pertama sampai data terakhir,
dengan cara membandingkan suatu data kemunian di tukar posisinya dengan
dengan data lain yang memiliki jarak data pertama.
tertentu, kemudian dilakukan penukaran  mencari data terkecil dari data kedua
bila diperlukan. sampai data terakhir, kemudian di
tukar dengan posisinya dengan data
 Pengertian Selection Sort kedua.
Selection sort merupakan sebuah teknik  mencari data terkecil dari data ketiga
pengurutan dengan cara mencari nilai sampai data terakhir, kemudian di
tukar posisinya dengan data ketiga
tertinggi / terendah di dalam array kemudian
menempatkan nilai tersebut di tempat  dan seterusnya sampai semua data
semestinya. Algorithma ini dapat turut naik. apabila terdapat n buah
mengurutkan data dari besar ke kecil data yang akan di urutkan, maka
(Ascending) dan kecil ke besar membutukan (n – 1) langkah
(Descending). Algoritma ini tidak cocok pengurutan, dimana data terakhir
untuk set data dengan jumlah besar karena yaitu data ke-n tidak perlu di urutkan
kompleksitas dari algorithma ini adalah karena hanya tinggal satu satunya.
Ο(x2) di mana n adalah jumlah item. Berikut gambaran dari implementasi
Selanjutnya elemen tersebut tidak disertakan SelectionSort:
pada proses selanjutnya. Karena setiap kali
selection sort harus membandingkan 1st Cycle:
elemen-elemen data, algoritma ini termasuk (70, 60, 30, 50, 40,20) ->min 60
dalam comparison-based sorting. (70, 60, 30, 50, 40, 20)->min 30
(70, 60, 30, 50, 40, 20)->min 30
Terdapat dua pendekatan dalam metode (70, 60, 30, 50, 40, 20)->min 30
pengurutan dengan Selection Sort : (70, 60, 30, 50, 40, 20)->min 20
1. Algoritma pengurutan maksimum (20, 60, 30, 50, 40, 70) -> swap (70,20)
(maximum selection sort), yaitu memilih 2nd Cycle:
elemen maksimum sebagai basis (20, 60, 30, 50, 40, 70) ->min 30
pengurutan. (20, 60, 30, 50, 40, 70) ->min 30
(20, 60, 30, 50, 40, 70) ->min 30
(20, 60, 30, 50, 40, 70) ->min 30
(20, 30, 60, 50, 40, 70) ->swap (60,30)
3rd Cycle: }
(20, 30, 60, 50, 40, 70) -> min 5 temp = array[firstelement];
(20, 30, 60, 50, 40, 70) -> min 40 array[firstelement] = array[i];
(20, 30, 60, 50, 40, 70) -> min 40 array[i] = temp;
(20, 30, 40, 50, 60, 70) -> swap(60,40) }
//Some output
4th Cycle: for (i = 0; i < 5; i++)
(20, 30, 40, 50, 60, 70) -> min 50 {
(20, 30, 40, 50, 60, 70) -> min 50 cout << array[i] << endl;
(20, 30, 40, 50, 60, 70) }
getch();
5th Cycle:
}
(20, 30, 40, 50, 60, 70) -> min 60
(20, 30, 40, 50, 60, 70) Hasil :
Contoh Soal Sederhana pada Program
Selection Sort menggunakan bahasa
pemrograman C++
Urutkan Data Berikut :
15,30,50,22,40

Kode Program :
#include <iostream>
#include <conio.h>
using namespace std;
int main(void) Daftar Pustaka
{
int array[5]; // An array of integers. https://www.it-jurnal.com/pengertian-
int length = 5; // Lenght of the array. struktur-data/
int i, j;
int firstelement, temp; http://homes.sice.indiana.edu/yye/lab/teachi
//Some input ng/spring2014-C343/datatoobig.php
for (i = 0; i < length; i++)
http://web.if.unila.ac.id/henmusta/2015/11/1
{ 2/sorting/
cout <<"Masukkan Angka : ";
cin >> array[i]; https://thenurulazizah.wordpress.com/artikel
} -2/13-metode-sorting/
//Algorithm
for (i= length - 1; i > 0; i--) https://socs.binus.ac.id/2019/12/26/selection
{
firstelement = 0; https://text-
for (j=1; j<=i; j++) id.123dok.com/document/nzw0j9vye-
{ pengertian-selection-sort-tinjauan-
if (array[j] < array[firstelement]) pustaka.html
firstelement = j;

Anda mungkin juga menyukai