Mengurutkan Data Pada Program Java - GISTECHINDO
  • About
  • Kontak
  • Disclaimer
  • Sitemap
  • Pasang Iklan
  • Follow DuniaKompi
GISTECHINDO

  • SEO
  • Desain
  • Templates
  • AdSense
  • Tutorial
    • Membuat Blog
    • Ganti Template
    • Kode Warna
    • Tag Kondisional
    • Awesome Font
  • Layanan Premium
  • Blog Tools
    • Parse HTML
    • CSS Compressor
    • Image Optimizer
    • HTML Compressor
  • Galeri Template
MENU
Home » java » Komputer » pemrograman » Mengurutkan Data Pada Program Java
Pengurutan data dalam struktur data sangat penting, baik untuk data yang bertipe data numerik maupun karakter. Pengurutan dapat dilakukan secara ascending (naik) maupun descending (turun). Pengurutan adalah proses menyusun kembali data yang acak menjadi susunan yang teratur menurut aturan tertentu.
Banyak metode yang digunakan untuk mengurukan data pada pemrograman java antara lain :

  1. Exchange Sort
  2. Selection Sort
  3. Insertion Sort
  4. Bubble Sort
  5. Quick Sort
  6. Shell Sort
  7. Binary Insertion Sort
Dibawah ini adalah algorima masing-masing metode:
 
Exchange Sort
  • Semua data dibandingkan dengan data pembanding, dimana pada akhir proses data terbesar akan berada pada akhir urutan.
  • Pada proses 1: data ke-1 dibandingkan dengan data ke-2 jika data ke-1 lebih besar maka kedua datalangsung ditukar. Kemudian data ke-1 dibandingkan lagi dengan data ke-3, lebih besar? Tukar! Demikian seterusnya.
  • Pada proses 2: data ke-2 dibandingkan dengan data ke-3 jika data ke-2 lebih besar maka kedua data langsung ditukar. Kemudian data ke-2 dibandingkan lagi dengan data ke-4, lebih besar? Tukar! Demikian seterusnya.
  • Dan seterusnya…..
Selection Sort
  • Hampir sama dengan Exchange Sort, bedanya yang ditukar adalah indeknya. Penukaran datadilakukan di akhir proses.
  • Pada proses 1: variabel indek diberi nilai 1 (data ke-1) kemudian data indek dibandingkan dengan data ke-2jika data indek lebih besar maka nilai indek adalah 2 (data ke-2). Kemudian data indek dibandingkan lagi dengan data ke-3, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai,nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-1 ditukar dengan data indek.
  • Pada proses 2: variabel indek diberi nilai 2 (data ke-2) kemudian data indek dibandingkan dengan data ke-3jika data indek lebih besar maka nilai indek adalah 3 (data ke-3). Kemudian data indek dibandingkan lagi dengan data ke-4, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai,nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-2 ditukar dengan data indek.
  • Dan seterusnya…..
Insertion Sort
  • Mirip dengan cara orang mengurutkan kartu selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya.
  • Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil atau lebih besar, maka akan ditempatkan (diinsert) diposisi yang seharusnya.
Bubble Sort
  • Membandingkan data ke-1 dengan data ke-2, jika data ke-1 lebih besar, maka kedua data ditukar.
  • Kemudian membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar, kedua data ditukar lagi.
  • Demikian seterusnya sampai data terakhir, sehingga data kedudukannya akan bergeser-geser.
  • Untuk proses 2, pembandingan (pergeseran data) hanya sampai pada data terakhir dikurangi satu.
Quick Sort
  • Tentukan data acuan (data paling tengah).
  • Tentukan indek bawah (data ke-1) dan indek atas (data terakhir).
  • Disebelah kiri dari data acuan, besarnya harus lebih kecil dari data acuan.
  • Sedangkan disebelah kanan dari data acuan, besarnya harusnya lebih besar dari data acuan.
  • Selama data indek bawah < data acuan, maka indek bawah dinaikkan.
  • Selama data indek atas > data acuan, maka indek atas diturunkan.
  • Jika indek bawah <= indek atas maka data indek bawah dan data indek atas ditukar kemudian indek bawah dinaikkan dan indek atas diturunkan.
  • Jika indek pertama < indek atas maka proses pengurutan dimulai lagi dimana data telah berubah dari indek pertama sampai indek atas.
  • Jika indek bawah < indek terakhir (jumlah data) maka proses pengurutan dimulai lagi dimana data telah berubah dari indek bawah sampai indek terakhir.
Shell Sort
  • Proses 1: menentukan jarak dari data yang akan dibandingkan (jumlah data dibagi 2 à N/2).
  • Dilakukan pengulangan dari 1 sampai dengan N/2.
  • Setiap pengulangan dilakukan perbandingan antara data ke-1 dengan data ke-1+(N/2), apabila data ke-1 > data ke-1+(N/2) maka kedua data ditukar.
  • Pengulangan berikutnya membandingkan data ke-2 dengan data ke-2+(N/2).
  • Proses 2: membagi jarak data N/2 menjadi 2 lagi (N/4)
  • Kemudian dilakukan langkah-langkah seperti proses 1 tetapi pengulangan yang dilakukan adalah dari 1 sampai dengan N-N/2.
  • Hal ini dilakukan terus menerus sampai jaraknya = 1.
Binary Insertion Sort
  • Mengurutkan sekumpulan data dengan membandingkan data yang dimasukkan dengan data yang ada ditengah.
  • Jika data yang dimasukkan lebih besar dari data tengah, maka data tersebut harus ditempatkan disebelah kanan dari data tengah.
  • Sebaliknya jika lebih kecil, maka harus ditempatkan disebelah kiri dari data tengah.
  • Untuk data selanjutnya (yang akan dimasukkan), cari data tengah yang baru untuk membandingkan data yang akan dimasukkan selanjutnya.
  • Demikian seterusnya.
Contoh Program
Dibawh ini adalah salah satu contoh program mengurutkan data pada pemrograman java menggunakan ExcengeSort.
 
public class ExchangeSort {
public static void main(String[] args) {
int[] data=new int[1000];
int n;
Scanner msk = new Scanner(System.in);
//masukan n
System.out.println(“Masukkan jumlah data !”);
n=msk.nextInt();
for(int i=0;i<=n-1;i++){
System.out.println(“Masukkan datanya !”);
data[i]=msk.nextInt();
}
for(int i=0;i<=n-2;i++){
for(int j=1;j<=n-1;j++){


if(data[i]>data[j]){
int temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
for(int i=0;i<=n-1;i++){
System.out.println(“Data telah diurutkan”);
System.out.println(data[i]);
}
}
}

Source : http://desiasfi.wordpress.com
KANG GAWE October 05, 2013 DK Blogger Indonesia

Mengurutkan Data Pada Program Java

Posted by KANG GAWE on Oct 5, 2013

Pengurutan data dalam struktur data sangat penting, baik untuk data yang bertipe data numerik maupun karakter. Pengurutan dapat dilakukan secara ascending (naik) maupun descending (turun). Pengurutan adalah proses menyusun kembali data yang acak menjadi susunan yang teratur menurut aturan tertentu.
Banyak metode yang digunakan untuk mengurukan data pada pemrograman java antara lain :

  1. Exchange Sort
  2. Selection Sort
  3. Insertion Sort
  4. Bubble Sort
  5. Quick Sort
  6. Shell Sort
  7. Binary Insertion Sort
Dibawah ini adalah algorima masing-masing metode:
 
Exchange Sort
  • Semua data dibandingkan dengan data pembanding, dimana pada akhir proses data terbesar akan berada pada akhir urutan.
  • Pada proses 1: data ke-1 dibandingkan dengan data ke-2 jika data ke-1 lebih besar maka kedua datalangsung ditukar. Kemudian data ke-1 dibandingkan lagi dengan data ke-3, lebih besar? Tukar! Demikian seterusnya.
  • Pada proses 2: data ke-2 dibandingkan dengan data ke-3 jika data ke-2 lebih besar maka kedua data langsung ditukar. Kemudian data ke-2 dibandingkan lagi dengan data ke-4, lebih besar? Tukar! Demikian seterusnya.
  • Dan seterusnya…..
Selection Sort
  • Hampir sama dengan Exchange Sort, bedanya yang ditukar adalah indeknya. Penukaran datadilakukan di akhir proses.
  • Pada proses 1: variabel indek diberi nilai 1 (data ke-1) kemudian data indek dibandingkan dengan data ke-2jika data indek lebih besar maka nilai indek adalah 2 (data ke-2). Kemudian data indek dibandingkan lagi dengan data ke-3, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai,nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-1 ditukar dengan data indek.
  • Pada proses 2: variabel indek diberi nilai 2 (data ke-2) kemudian data indek dibandingkan dengan data ke-3jika data indek lebih besar maka nilai indek adalah 3 (data ke-3). Kemudian data indek dibandingkan lagi dengan data ke-4, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai,nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-2 ditukar dengan data indek.
  • Dan seterusnya…..
Insertion Sort
  • Mirip dengan cara orang mengurutkan kartu selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya.
  • Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil atau lebih besar, maka akan ditempatkan (diinsert) diposisi yang seharusnya.
Bubble Sort
  • Membandingkan data ke-1 dengan data ke-2, jika data ke-1 lebih besar, maka kedua data ditukar.
  • Kemudian membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar, kedua data ditukar lagi.
  • Demikian seterusnya sampai data terakhir, sehingga data kedudukannya akan bergeser-geser.
  • Untuk proses 2, pembandingan (pergeseran data) hanya sampai pada data terakhir dikurangi satu.
Quick Sort
  • Tentukan data acuan (data paling tengah).
  • Tentukan indek bawah (data ke-1) dan indek atas (data terakhir).
  • Disebelah kiri dari data acuan, besarnya harus lebih kecil dari data acuan.
  • Sedangkan disebelah kanan dari data acuan, besarnya harusnya lebih besar dari data acuan.
  • Selama data indek bawah < data acuan, maka indek bawah dinaikkan.
  • Selama data indek atas > data acuan, maka indek atas diturunkan.
  • Jika indek bawah <= indek atas maka data indek bawah dan data indek atas ditukar kemudian indek bawah dinaikkan dan indek atas diturunkan.
  • Jika indek pertama < indek atas maka proses pengurutan dimulai lagi dimana data telah berubah dari indek pertama sampai indek atas.
  • Jika indek bawah < indek terakhir (jumlah data) maka proses pengurutan dimulai lagi dimana data telah berubah dari indek bawah sampai indek terakhir.
Shell Sort
  • Proses 1: menentukan jarak dari data yang akan dibandingkan (jumlah data dibagi 2 à N/2).
  • Dilakukan pengulangan dari 1 sampai dengan N/2.
  • Setiap pengulangan dilakukan perbandingan antara data ke-1 dengan data ke-1+(N/2), apabila data ke-1 > data ke-1+(N/2) maka kedua data ditukar.
  • Pengulangan berikutnya membandingkan data ke-2 dengan data ke-2+(N/2).
  • Proses 2: membagi jarak data N/2 menjadi 2 lagi (N/4)
  • Kemudian dilakukan langkah-langkah seperti proses 1 tetapi pengulangan yang dilakukan adalah dari 1 sampai dengan N-N/2.
  • Hal ini dilakukan terus menerus sampai jaraknya = 1.
Binary Insertion Sort
  • Mengurutkan sekumpulan data dengan membandingkan data yang dimasukkan dengan data yang ada ditengah.
  • Jika data yang dimasukkan lebih besar dari data tengah, maka data tersebut harus ditempatkan disebelah kanan dari data tengah.
  • Sebaliknya jika lebih kecil, maka harus ditempatkan disebelah kiri dari data tengah.
  • Untuk data selanjutnya (yang akan dimasukkan), cari data tengah yang baru untuk membandingkan data yang akan dimasukkan selanjutnya.
  • Demikian seterusnya.
Contoh Program
Dibawh ini adalah salah satu contoh program mengurutkan data pada pemrograman java menggunakan ExcengeSort.
 
public class ExchangeSort {
public static void main(String[] args) {
int[] data=new int[1000];
int n;
Scanner msk = new Scanner(System.in);
//masukan n
System.out.println(“Masukkan jumlah data !”);
n=msk.nextInt();
for(int i=0;i<=n-1;i++){
System.out.println(“Masukkan datanya !”);
data[i]=msk.nextInt();
}
for(int i=0;i<=n-2;i++){
for(int j=1;j<=n-1;j++){


if(data[i]>data[j]){
int temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
for(int i=0;i<=n-1;i++){
System.out.println(“Data telah diurutkan”);
System.out.println(data[i]);
}
}
}

Source : http://desiasfi.wordpress.com

Tweet
Previous
« Prev Post
Next
Next Post »

Related Posts

Dunia Komputer
GISTECHINDO Updated at: October 05, 2013
Click to Comment!
Close Comment!

0 komentar:

Post a Comment

Jika anda Suka dengan Artikel ini Selahkan Berkomentarlah

PERHATIAN

1. Berkomentarlah dengan bijak
2. jangan berkomentar yang berisi isu sara, porno grafi/aksi

Labels

agama app av browser aplikasi cms design downapp editor global Hosting Ilmu sehat indonesia Internet java karya tulis Komputer linux mp3 obat OS pemrograman pengobatan Sosial network ss Trik Blog tt windows wp

Popular Posts

  • Cara Menghapus Subtitle Bawaan Video atau Film
  • Download MKV Software
  • Cara Aktivasi Windows 7 menjadi Asli permanen
  • CARA MENGGUNAKAN TURBO PASCAL
 

Labels

agama (1) app (27) av (1) browser aplikasi (3) cms (1) design (1) downapp (17) editor (1) global (5) Hosting (3) Ilmu sehat (7) indonesia (7) Internet (19) java (8) karya tulis (1) Komputer (44) linux (8) mp3 (1) obat (5) OS (10) pemrograman (7) pengobatan (7) Sosial network (14) ss (5) Trik Blog (26) tt (14) windows (3) wp (2)

DK Suport

d

Test Footer 2

Test Footer 1

Test Footer

Support : Blog Gado Gado | Indo Media Kita | Gistechindo | Wong Asli Cirebon
Copyright © GISTECHINDO. All rights reserved.
Template Modif by Dunia Komputer
powered by Blogger
Back To Top