PAPER UTS SORTING
UTS STRUKTUR DATA SORTING
MENGURUTKAN NILAI SISWA MENGGUNAKAN SELECTION SORT

Nama : Yoga Ilham Rakasiwi
NIM : 16.MI.0010
Manajemen Informatika
2017/2018
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dengan
berkembangnya Teknologi Informasi, yang membutuhkan kecepatan dan ketepatan
dalam berbagai aspek kehidupan. Kita dituntut untuk bergerak cepat dalam segala
hal, termasuk juga dalam bidang komunikasi informasi. Teknologi sangat berperan
penting dalam kehidupan sehari – hari.
Bahasa pemograman sangat dibutuhkan dalam keperluan tertentu, karena pekerjaan kita pada saat ini selalu mengikuti kemajuan teknologi. Demi menambah kepuasan masyarakat menjadi sisi yang paling ditonjolkan. Hal ini tentu saja semakin memantapkan posisinya sebagai bahasa penghantar antara manusia yang dapat dipahami, dan dapat dijalankan oleh seorang programmer. Ia telah menjadi bagian hidup masyarakat masa kini, bukan hanya sebagai sumber informasi, tetapi juga gaya hidup dan kebudayaan.
Sehingga banyak progamer yang membuat program yang mempermudah kerja dalam bidang statistika dan informasi, yakni dalam hal pengurutan data. Dari program pengurutan data terdapat algoritma-algoritma yang digunakan untuk menguruutkan sebuah data, salah satunya adalah sorting
Adapun Kelebihan Sorting adalah untuk memudahkan dalam pencarian data, dan juga agar data lebih sestematis karena terurut. Sehingga metode pengurutan dengan menggunakan sorting sangat bermanfaat dalam pencarian data.
Pada makalah ini kami memilih metode sorting, karena melihat keunggulan yang dimiliki oleh sorting. Oleh karena itu sorting sangat bermanfaat untuk pencarian data.
Bahasa pemograman sangat dibutuhkan dalam keperluan tertentu, karena pekerjaan kita pada saat ini selalu mengikuti kemajuan teknologi. Demi menambah kepuasan masyarakat menjadi sisi yang paling ditonjolkan. Hal ini tentu saja semakin memantapkan posisinya sebagai bahasa penghantar antara manusia yang dapat dipahami, dan dapat dijalankan oleh seorang programmer. Ia telah menjadi bagian hidup masyarakat masa kini, bukan hanya sebagai sumber informasi, tetapi juga gaya hidup dan kebudayaan.
Sehingga banyak progamer yang membuat program yang mempermudah kerja dalam bidang statistika dan informasi, yakni dalam hal pengurutan data. Dari program pengurutan data terdapat algoritma-algoritma yang digunakan untuk menguruutkan sebuah data, salah satunya adalah sorting
Adapun Kelebihan Sorting adalah untuk memudahkan dalam pencarian data, dan juga agar data lebih sestematis karena terurut. Sehingga metode pengurutan dengan menggunakan sorting sangat bermanfaat dalam pencarian data.
Pada makalah ini kami memilih metode sorting, karena melihat keunggulan yang dimiliki oleh sorting. Oleh karena itu sorting sangat bermanfaat untuk pencarian data.
1.2 Rumusan Masalah
Pengertian Sorting
Apa saja macam – macam dari sorting?
Apa saja macam – macam dari sorting?
1.3. Tujuan
Mempermudah pekerjaan manusia dalam bidang Informasi.
Mempermudah pekerjaan manusia dalam bidang Statistik.
Mempermudah pekerjaan manusia dalam bidang komputerisasi lainya terutama dalam bidang pencarian data.
Data akan teratur (sistematis).
Mempermudah pekerjaan manusia dalam bidang Informasi.
Mempermudah pekerjaan manusia dalam bidang Statistik.
Mempermudah pekerjaan manusia dalam bidang komputerisasi lainya terutama dalam bidang pencarian data.
Data akan teratur (sistematis).
1.4. Manfaat
Pekerjaan manusia dalam bidang teknologi jadi lebih mudah, cepat, dan efisien waktu.
Dengan bantuan sorting, memudahkan dalam pencarian. Sorting merupakan suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting :
Pekerjaan manusia dalam bidang teknologi jadi lebih mudah, cepat, dan efisien waktu.
Dengan bantuan sorting, memudahkan dalam pencarian. Sorting merupakan suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting :
Urut naik (ascending) Mengurutkan dari data yang
mempunyai nilai paling kecil sampai paling besar.
Urut turun (descending) Mengurutkan dari data yang
mempunyai nilai paling besar sampai paling kecil.
BAB II
PEMBAHASAN
2.1 Pengertian Sorting
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
tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah
untuk menyisipkan data atapun melakukan penggabungan data.
Metode-metode sorting meliputi :
1. Bubble Sort (Metode Gelembung)
2. Selection Sort (Metode Seleksi)
3. Quick Sort
4. Merge Sort
2.2 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 kerjanya adalah dengan berulang-ulang melakukan
traversal(proses looping) terhadap elemen-elemen struktur data yang belum
diurutkan. Di dalam traversal tersebut,nilai dari dua elemen struktur data
dibandingkan. Jika ternyata urutannya tidak sesuai dengan “pesanan”,maka dilakukan
pertukaran (swap).
Algoritma sorting ini
disebut juga dengan comparison sort dikarenakan hanya mengandalkan perbandingan
nilai elemen untuk mengoperasikan elemennya. Algoritma Bubble Sort Algoritma
bubble sort dapat diringkas sebagai berikut, jika N adalah panjang elemen
struktur data, dengan elemen-elemennya adalah T1, T2, T3, …, TN-1,TN, maka :
1.) Lakukan traversal untuk membandingkan dua elemen
berdekatan. Traversal ini dilakukan dari belakang.
2.) Jika elemen pada TN-1 > TN , maka
lakukan pertukaran (swap). Jika tidak, lanjutkan
ke proses traversal berikutnya sampai bertemu dengan bagian struktur
data yang telah diurutkan.
2.3 Selection Sort
Algoritma sorting sederhana yang lain adalah Selection
Sort. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan
penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen
yang paling kecil di antara elemen-elemen yang belum urut, disimpan
indeksnya,kemudian dilakukan pertukaran nilai elemen dengan indeks yang
disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya,
untuk sorting descending (menurun), elemen yang paling besar yang
disimpan indeksnya kemudian ditukar.
Algoritma Selection Sort Algoritma selection sort
dapat dirangkum sebagai berikut :
1.) Temukan nilai yang paling minimum (atau sesuai
keinginan) di dalam struktur data. Jika ascending, maka yang harus ditemukan
adalah nilai yang paling minimum. Jika descending, maka temukan nilai yang
paling maksimum.
2.) Tukar nilai tersebut dengan nilai pada posisi
pertama di bagian struktur data yang belum diurutkan.
2.4 Quick Sort
Quick Sort adalah metode pengurutan data yang
dikemukan pertama kali oleh C.AR Hoare pada tahun 1962. Metode ini menggunakan
strategi “pecah-pecah” dengan mekanisme seperti berikut : Larik L[p..r] (dengan
indeks terkecil adalah p dan indeks terbesar yaitu r) disusun ulang (dipartisi)
menjadi dua buah larik A[p..q] dan A[q+1..r] sehingga setiap elemen dalam
A[q+1..r]. Selanjutnya kedua larik tersebut diurutkan secara rekursif. Dengan
sendirinya kombinasi kedua larik tersebut membentuk larik dengan data yang
telah urut.
2.5 Merge Sort
MergeSort adalah algoritma yang berdasarkan strategi
divide-and-conquer. Algoritma ini tediri dari dua bagian utama, yaitu
bagian pembagian list menjadi sublist-sublist yang lebih kecil dan bagian sort
(pengurutan) dan merge (penggabungan) pada sublist-sublist tersebut.
1) Divide: membagi masalah menjadi
beberapa submasalah yang memiliki kemiripan dengan masalah semula namun
berukuran lebih kecil (idealnya berukuran hampir sama),
2) Conquer: memecahkan (menyelesaikan)
masing-masing submasalah (secara rekursif), dan
3) Combine: mengabungkan solusi masing-masing
submasalah sehingga membentuk solusi masalah semula.
Programnya :
Program
Menggunakan Selection Sort untuk Menentukan Nilai Siswa dari Terkecil sampai
Terbesar dan langsung keluar Ascending maupun Descending.
Berikut Codingnya :
package uts;
import java.util.Scanner;
public class UTS1 {
public static void main(String[] args) {
Scanner scan = new Scanner (System.in);
System.out.print("Masukan Nilai Siswa yang akan di masukan :
");
int jmlAngka = scan.nextInt();
System.out.println("");
int bil[] = new int [jmlAngka];
for (int i=0;i<jmlAngka;i++){
System.out.print("Silakan masukan Nilai "+(i+1)+ " : ");
bil[i] = scan.nextInt();}
System.out.println();
System.out.print("Data Sebelum di Sorting : ");
for(int x = 0; x < jmlAngka; x++)
System.out.print(bil[x]+"
");
// Proses Selection Sort
System.out.println("\n\nProses Selection Sort");
for(int x = 0; x < jmlAngka-1; x++)
{
System.out.println("Iterasi
ke-"+(x+1)+" : ");
for(int y = 0; y < jmlAngka;
y++)
System.out.print(bil[y]+"
");
System.out.println(" Apakah Data "+bil[x]+" sudah
benar pada urutannya?");
boolean tukar = false;
int index = 0;
int min = bil[x];
String pesan = " Tidak Ada Pertukaran";
for(int y = x+1; y < jmlAngka;
y++)
{
if(min > bil[y])
{
tukar = true;
index = y;
min = bil[y];
}
}
if(tukar == true)
{
// Pertukaran Data
pesan = " Data
"+bil[x]+" ditukar dengan Data "+bil[index];
int temp = bil[x];
bil[x] = bil[index];
bil[index] = temp;
}
for(int y = 0; y < jmlAngka;
y++)
System.out.print(bil[y]+"
");
System.out.println(pesan+"\n");
}
SelectionASC(bil);
System.out.println("\n--------------------------------");
System.out.print("Hasil pengurutan Ascending : ");
for(int i = 0; i < bil.length; i++){
System.out.print(bil[i] + " ");
}
SelectionDesc(bil);
System.out.println("\n--------------------------------");
System.out.print("Hasil pengurutan Descending : ");
for(int i = 0; i < bil.length; i++){
System.out.print(bil[i] + " ");
}
System.out.println("\n--------------------------------");
}
static int [] SelectionASC (int[] bil) {
for(int i=0; i<bil.length; i++){
for(int j=i+1; j<bil.length;
j++){
if(bil[i] > bil[j]){
int temp = bil[j];
bil[j] = bil[i];
bil[i] = temp;
}
}
}
return bil;
}
static int [] SelectionDesc (int[] bil) {
for(int i=0; i<bil.length; i++){
for(int j=i+1; j<bil.length;
j++){
if(bil[i] < bil[j]){
int temp = bil[j];
bil[j] = bil[i];
bil[i] = temp;
}
}
}
return bil;
}
}
BAB III
PENUTUP
3.1 Kesimpulan
Dari penjelasan diatas bahwa sorting dibagi menjadi beberapa bagian, diantaranya : insertion sort, selection sort, marge sort dan quick 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.
Dari penjelasan diatas bahwa sorting dibagi menjadi beberapa bagian, diantaranya : insertion sort, selection sort, marge sort dan quick 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.
BAB VI
DAFTAR PUSTAKA
LAMPIRAN
Run :





Komentar
Posting Komentar