Sunday, July 4, 2010

Do not use the functions on Arrays,ArraysList and Treeset

Pada hari jumat kemaren ku mendapatkan tugas mengerjakan sorting data pada array.
soalnya begini :
Buat 3 Program yang mengurutkan bulan dari januari s/d december sesuai abjad,output yang diharapkan agustus, april, desember, febuari, januari, juli, juni, maret, mei, november, oktober, september.
3 Program masing-masing menggunakan Arrays,ArrayList,Treeset.


dan jawabannya benar(bisa dilihat disini),tetapi bos tidak menginginkan jawaban yang menggunakan method pada kelas array dan arraylist.
ada pelajaran yang saya ambil dari pembicaraan bos  "Coba bikin programnya dengan tanpa menggunakan alat atau fungsi pada kelas array dan arraylist.hanya menggunakan array + string + primitif atau arraylist + string + primitif arau treeset + string + primitif." yaitu pada program ini kita diajarkan untuk membuat sebuah alat yang berfungsi sebagai alat bantu kita dalam mengerjakan masalah diatas dan pada program ini kita diajarkan untuk menjadi seorang developer sejati(wah idialis banget neh).

pada soal diatas saya mendapatkan ilmu baru yaitu Sorting Algorithm.(silahkan cari di google yak)
Dalam pengerjaan soal diatas bisa menggunakan  beberapa cara sesuai dengan ilmu Sorting Algorithm.
diantara ilmu Sorting Algorithm yaitu :
A. Comparasion Sort(pembandingan) :

  1. Bubble sort
  2. Selection Sort
  3. Insertion Sort
  4. Merge Sort
  5. Quick Sort
B. No Comparasion Sort (tidak membandingkan) :
  1. Radix Sort
  2. Counting Sort
saya belom terlalu paham dengan fungsi setiap sorting diatas.
nah...untuk jawaban diatas kita tuliskan seperti ini :

A.Array 


package com.andia.aryandie.latihan;

/**
* Urutkan nama bulan sesuai dengan abjad. Menggunakan Arrays,ArrayList dan
* Treeset
*
* @author dendy
*
*/

public class NamaBulan1 {
public static void main(String[] args) {

String[] namaBulan = { "januari", "febuari", "maret", "april", "mei",
"juni", "juli", "agustus", "september", "oktober", "november",
"desember" };

for (int i = 0; i < namaBulan.length; i++) {
for (int j = i + 1; j < namaBulan.length; j++) {
if (namaBulan[j].compareTo(namaBulan[i]) < 0) {
String tampung = namaBulan[i];
// System.out.println(tampung);
namaBulan[i] = namaBulan[j];
namaBulan[j] = tampung;
}
}
System.out.print(namaBulan[i] + ",");
}

}
}

B.ArrayList


package com.andia.aryandie.latihan;

import java.util.ArrayList;

/**
* Urutkan nama bulan sesuai dengan abjad. Menggunakan Array,ArrayList dan
* Treeset
*
* @author dendy
*
*/

public class NamaBulan {
public static void main(String[] args) {

ArrayList tampung = new ArrayList();

tampung.add("januari");
tampung.add("febuari");
tampung.add("maret");
tampung.add("april");
tampung.add("mei");
tampung.add("juni");
tampung.add("juli");
tampung.add("agustus");
tampung.add("september");
tampung.add("oktober");
tampung.add("november");
tampung.add("desember");

Object[] namaBulan = tampung.toArray();

for (int j = 0; j < namaBulan.length; j++) {
for (int i = j + 1; i < namaBulan.length; i++) {
if (((String) namaBulan[i]).compareTo((String) namaBulan[j]) < 0) {
String t = (String) namaBulan[j];
namaBulan[j] = namaBulan[i];
namaBulan[i] = t;
}
}
System.out.print(namaBulan[j] + ",");
}

}

}


C.Treeset



package com.andia.aryandie.latihan;

import java.util.TreeSet;

/**
* Urutkan nama bulan sesuai dengan abjad. Menggunakan Array,ArrayList dan
* Treeset Treeset + String + primitif
*
* @author dendy
*
*/

public class NamaBulan2 {
public static void main(String[] args) {

TreeSet tampung = new TreeSet();

tampung.add("januari");
tampung.add("febuari");
tampung.add("maret");
tampung.add("april");
tampung.add("mei");
tampung.add("juni");
tampung.add("juli");
tampung.add("agustus");
tampung.add("september");
tampung.add("oktober");
tampung.add("desember");

for (String string : tampung) {
System.out.println(string);
}



3 comments:

Anonymous said...

Bangunlah sebuah aplikasi Database Management System (DBMS) sederhana dengan menerapkan berbagai tipe data abstrak yang telah disediakan oleh Java untuk menampung minimal 3 data dalam 1 record. Sebagai ilustrasi, dalam tugas ini seolah-olah anda membuat sebuah tabel dengan 3 field, misalnya data mahasiswa dengan field-field sebagai berikut :
No Nama Mahasiswa Alamat



Ketentuan pengerjaan sebagai berikut :
a. Aplikasi memiliki fasilitas insert data, view data, delete data dan pencarian data (Catatan : Penambahan fitur-fitur lain serta pengolahan data dalam aplikasi akan menjadi nilai tambah).
b. Bebas menggunakan Struktur Data Abstrak apapun yang dapat diterapkan dalam aplikasi yang akan dibuat.(Boleh menggunakan lebih dari satu struktur data abstrak)
c. Aplikasi berbasis GUI.
d. Dikerjakan perkelompok.
e. Tema aplikasi bebas.
f. Penilaian akan dilaksanakan pada tanggal 11-12 November 2010 dilaboratorium. (Jadwal presentasi menyusul)

dendy said...

f. Penilaian akan dilaksanakan pada tanggal 11-12 November 2010 dilaboratorium. (Jadwal presentasi menyusul)

aku g ngerti,dilaboratorium dimana ini?

Anonymous said...

dendy intinya kalo qm ada soal seperti itu pengerjaanya gimana????
saya sangat kurang mengerti,,,,,
materinya itu STRUKTUR DATA tapi cenderung ke pemograman berorientasi obyek.......bisa bantu???posting jawaban???