Anda di halaman 1dari 7

Laporan Praktikum Pemograman JAVA

SORTING
(Percobaan ke-10, 3 Juni 2010)

Oleh:

Dian Sundari 08334007

Teknik Telekomunikasi Nirkabel

POLITEKNIK NEGERI BANDUNG 2010

No Percobaan Hari, Tanggal Percobaan Judul Tujuan:

: 10 : Senin, 15 April 2010 :SORTING Mengetahui berbagai metoda sorting

Soal-Soal
1. Buat program untuk memasukan 10 data integer melalui keyboard, kemudian lakukan sorting ascending order terhadap data tersebut. Cetak urutan data sebelum dan sesuda sorting. Lakukan paling tidak dengan 4 metoda sorting 2. Seperti soal soal no1 data string berupa nama kota di jawa barat 3. Berdasarkan soal no1 dan 2 evaluasi dan bandingkan keempat metoda sorting yang digunakan berkaitan dengan optimasi, efisiensi dan pertimbangan lainnya. 4. Sepertin program no2 tapi dikehendaki program tidak membedakan huruf kapital maupun huruf kecil

Jawaban SORTING INTEGER


Program menginputkan integer dari keyboard String s; int a; int[]nilai=new int[10]; for(int i =0;i<10;i++){ s = JOptionPane.showInputDialog("Masukkan nilai ["+i+"]:"); a = Integer.parseInt(s); nilai[i]=a; System.out.print("\t"+nilai[i]); }

Program mencetak hasil sorting System.out.println(""); System.out.println("Setelah sorting:"); for (int i=0;i<10;i++) System.out.print("\t"+nilai[i]);

Program sorting integer dengan program biasa for (int i=0;i<9;i++) { for (int j=i+1;j<10; j++) { if (nilai[i]> nilai[j]) {int c= nilai[i]; nilai[i]=nilai[j]; nilai[j]=c; } } } Program sorting integer dengan metode buble short for (int i = nilai.length-1; i > 0; i--) { for (int j = 0; j < i; j++) { if (nilai[j] > nilai[j+1]) { int c= nilai[j]; nilai[j]=nilai[j+1]; nilai[j+1]=c; } } } Program sorting integer degan metode selection short for (int i = nilai.length-1; i > 0; i--) { int m = 0; for (int j = 1; j <= i; j++) { if (nilai[j] > nilai[m]) { m = j; } } int c= nilai[i]; nilai[i]=nilai[m]; nilai[m]=c; } Program sorting integer dengan metode insertion short for (int i = 1; i < nilai.length; i++) { int nilaii = nilai[i], j; for (j = i; j > 0 && nilai[j-1] > nilaii; j--) { nilai[j] = nilai[j-1]; }

nilai[j] = nilaii; } Program sorting integer dengan metode shell short int d = 1, j, n =nilai.length;\ while (9*d < n) {\ d = 3*d + 1; } while (d > 0) { for (int i = d; i < n; i++) { int nilaii = nilai[i]; j = i; while (j >= d && nilai[j-d] > nilaii) { nilai[j] = nilai[j-d]; j -= d; } nilai[j] = nilaii; } d /= 3; } Hasil sorting integer

SORTING STRING Program menginputkan string dari keyboard String s; String[]nilai=new String[10]; for(int i =0;i<10;i++){ s = JOptionPane.showInputDialog("Masukkan nilai ["+i+"]:"); nilai[i]=s; System.out.print("\t"+nilai[i]); } Program sorting string dengan metode biasa for (int i=0;i<9;i++) { for (int j=i+1;j<10; j++) { int c=nilai[i].compareTo(kota[j]); if (c> 0) {String d= nilai[i]; nilai[i]=nilai[j]; nilai[j]=d; }

} } Program sorting string dengan metode buble sort for (int i = nilai.length-1; i > 0; i--) { for (int j = 0; j < i; j++) { int x=nilai[j].compareTo(nilai[j+1]); if (x>0) { String c= nilai[j]; nilai[j]=nilai[j+1]; nilai[j+1]=c; } } Program sorting string dengan metode selecton sort for (int i = nilai.length-1; i > 0; i--) { int m = 0; for (int j = 1; j <= i; j++) { int x=nilai[j].compareTo(nilai[m]); if (x>0) { m = j; } } String c= nilai[i]; nilai[i]=nilai[m]; nilai[m]=c; } Program sorting string dengan metode insertion sort for (int i = 1; i < nilai.length; i++) { String nilaii = nilai[i]; int j; // step 2 int x=nilai[i-1].compareTo(nilaii); for (j = i; j > 0 && x>0; j--) { x=nilai[j-2].compareTo(nilaii); nilai[j] = nilai[j-1]; } nilai[j] = nilaii; }

Program sorting string tanpa membedakan nilai uruf besar dan huruf kecil Program tambahan setelah menginputkan: for (int i=0;i<9;i++)

nilai[i]=nilai[i]. .toLowerCase();

Proses yang tidak mempedulikan besar atau kecil

Analisa
Pada percobaan ini secara keseluruhan adalah program sorting. Terdapat beberapa metode untuk melakukan pengurutan data atau sorting. Diantarnya buble sort, selection sort, insertion sort, shell sort dan masih banyak lagi program lainnya. Algoritma untuk buble sort yaitu membandingkan satu persatu nilai yang yang setelahnya. Dimana nilai terbesar disimpan di paling kanan. Setelah disapat nilai terbesar di paling kanan, maka pada proses selanjutnya data tersebut tidak ikut dibandingkan lagi. Program ini mempunyai algoritma yang mudah dimengerti. Algoritma untuk selection sort mirip dengan buble sort, tetapi dengan acuan nilai terbesarnya ada pada satu indeks selama nilainya masih lebih kecil. Jika terdepat nilai yang lebih besar lagi maka nilai itu dijadikan titik acuan. Untuk program ini algoritmanya mulai susah dimengerti, tetapi prosesnya lebih simple. Algoritma untuk insertion sort, yaitu terdapat variabel untuk menyimpan data yang akan ditukar. Untuk proses penukaran hanya satu instruksi. Karena pada instruksi for disisipkan kondisi lainnya. Sehinggauntuk metode ini berbeda dengan metode lainnya. Program ini mempunyai algoritma yang sulit tetapi mempunyai cara penukaran yang berbeda dan mudah. Yang membedakan proses sorting integer dan string yaitu saat proses membandingkan data. Untuk sorting string perlu ditambahkan instruksi compareTo di tempat dimana proses pembadingan itu. Dengan syarat hasil dari pembadingan itu mengjasilkan nilai yang lebih besar dari nol karena ingin didapatkan data ascending. Selanjutnya untuk program sorting string yang tidak mebedakan huruf besar dan kecil dalam proses sorting, maka setiap datanya dirubah dahulu kedalam huruf yang besar semua atau kecil semua. Sehingga dalam proses ini tidak akan mempedulikan huruf besar dan huruf kecil

Kesimpulan
Pada proses sorting terdapat beberapa metoda. Terdapat kelebihan dan kekurangan pada setiap metodenya. Diantaranya kelebihan pada pemahaman algoritmanya dan pada banyak sedikitnya instruksi. Dari metode-metode diatas, proses sorting buble short yang mudah dimengerti dan mirip dengan algoritma sorting pada umunya. Sedangkan jika dilihat dari jumlah instruksi, metoda insertion lebih sedikit.

Untuk proses sorting string dengan menggunakan berbagai metode, tidak semuanya bisa dipakai. Karena terdapat metode yang rumit jika dipakai pada proses sorting string. Untuk proses sorting string yang tidak menghiraukan besar kecilnya cukup ditambakan program tambahan yang merubah semua huruf ke besar semua atau ke kecil semua.

Anda mungkin juga menyukai