SI 2011 : Sukses Garap Praktikum ketujuh ALPRO 1
10.26
By
Rachmat Arif
0
komentar
Mahasiswa dari jurusan Sistem
Informasi ITS 2011 (kelas B) hari ini, Kamis (08/12/2011) telah sukses
praktikum ketujuh dari matakuliah ALPRO1. Mahasiswa SI ITS 2011
tersebut menilai bahwa praktikum kali ini memang sedikit sulit
dibanding praktikum sebelumnya, namun karena persiapannya yang begitu
matang, mereka dapat menyelesaikannya dengan mulus. Hal ini dibuktikan
dengan ungkapan salah satu mahasiswa tersebut.
"Praktikum
ALPRO minggu ini memang sedikit sulit, namun kami dapat
menyelesaikannya dengan rapi dan baik. Hal ini karena dibatalkannya
praktikum minggu lalu, sehinnga persiapan kami untuk mengerjakan
praktikum ini lebih matang", ujar Leonika Sari dalam ruangan LPSI ITS
Surabaya, Kamis (8/12/2011).
Kali
ini mereka praktikum tentang sorting data. Dimana mereka membuat sebuah
project java di Netbeans dan program tersebut mampu membaca suatu data
di dalam komputer kita yang berbentuk .txt. Selanjutnya program tersebut
akan mengurutkan data yang ada dalam file .txt tersebut. Pengurutan
program diawali dengan pilihan (1. Urutkan dari depan, 2. Urutkan dari
Belakang). Sehingga semisal kita membuat data nama atau yang lainnya
dalam keadaan tidak urut, dengan bantuan ini kita dapat membuat data
tersebut menjadi urut sesuai pilihan kita.
Saya berhasil mendapatkan sebuah source code program tersebut dari salah seorang mahasiswa SI ITS 2011 yang praktikum hari ini.
"Ini adalah souce code program yang saya buat dalam praktikum kali ini, dimana program ini memiliki dua kelas, yang pertama yaitu "Main_Shorting.java" sebagai pemanggil dari class yang kedua yaitu "Submain_Shorting.java", ujar Rachmat Arif dalam ruangan LPSI ITS Surabaya, Kamis (8/12/2011).
Bagi kalian yang ingin mencoba hasil praktikum ketujuh ALPRO1 SI ITS 2011 , dapat copy-paste source-code programnya dibawah ini.
"Ini adalah souce code program yang saya buat dalam praktikum kali ini, dimana program ini memiliki dua kelas, yang pertama yaitu "Main_Shorting.java" sebagai pemanggil dari class yang kedua yaitu "Submain_Shorting.java", ujar Rachmat Arif dalam ruangan LPSI ITS Surabaya, Kamis (8/12/2011).
Bagi kalian yang ingin mencoba hasil praktikum ketujuh ALPRO1 SI ITS 2011 , dapat copy-paste source-code programnya dibawah ini.
Main_Shorting.java
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package shorting; /** * * @author Rachmat Arif */ import java.io.*; import java.io.IOException; import java.util.Scanner; public class Main_Shorting { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here BufferedReader buffered = new BufferedReader(new InputStreamReader(System.in)); Anak_Shorting baca = new Anak_Shorting(); System.out.println("Masukan alamat file yang ingin dibaca ?"); //kita inputkan tempat file yang kita simpan beserta nama file tersebut //contoh D:\Praktikum7 Alpro1\DataNama.txt (bila file terdapat di D:) try { String namaFile = buffered.readLine(); baca.setnamaFile(namaFile); } catch (IOException exp) { System.out.println("E R R O R !"); } System.out.println("\nPilihan pengurutan nama :"); System.out.println("1. Urutan dati kalimat pertama"); System.out.println("2. Urutan dari kalimat terakhir"); System.out.println("3. Keluar"); Scanner scan = new Scanner(System.in); int pilihan = scan.nextInt(); while (true) { if (pilihan == 1) { baca.readFileDepan(); String[] files = {"DataNama.txt"}; for (int x = 0; x < files.length; x++) { String[] sortTest = baca.mergesort(baca.getarrayFile()); for (int d = 0; d < sortTest.length; d++) { if (d == sortTest.length - 1) { System.out.println(sortTest[d] + "."); } else { System.out.println(sortTest[d] + ";"); } } System.out.print("\n"); } System.exit(0); } else if (pilihan == 2) { baca.readFileBelakang(); String[] files = {"DataNama.txt"}; for (int x = 0; x < files.length; x++) { String[] sortTest = baca.mergesort(baca.getarrayFile()); for (int d = 0; d < sortTest.length; d++) { if (d == sortTest.length - 1) { System.out.println(sortTest[d] + "."); } else { System.out.println(sortTest[d] + ";"); } } System.out.print("\n"); } System.exit(0); } else if (pilihan == 3) { System.exit(0); } else { System.out.println("Pilihan Salah!"); } } } }
Submain_Shorting.java
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package shorting; /** * * @author Rachmat Arif */ import java.io.*; import java.util.Scanner; public class Submain_Shorting { private String isiFile = "", namaFile = ""; private int penghitung = 0; private String[] arrayFile = new String[220]; public String getisiFile() { return isiFile; } public String getnamaFile() { return isiFile; } public int getPenghitung() { return penghitung; } public String[] getarrayFile() { return arrayFile; } public void setnamaFile(String x) { namaFile = x; } public void printarrayFile() { for (int i = 0; i < arrayFile.length; i++) { System.out.print(arrayFile[i] + ";"); } } public void readFileDepan() { try { String isiFileini = ""; FileReader bacaNamaFileIni = new FileReader(namaFile); BufferedReader bacaFileIni = new BufferedReader(bacaNamaFileIni); isiFile = ""; System.out.println("Isi file " + namaFile + " adalah :"); System.out.println("------------------------------"); while ((isiFileini = bacaFileIni.readLine()) != null) { isiFile += isiFileini + ";"; arrayFile[penghitung] = isiFileini; penghitung++; } bacaNamaFileIni.close(); bacaFileIni.close(); } catch (FileNotFoundException exp) { System.out.println("File tidak ada !"); System.exit(1); } catch (IOException exp) { System.out.println("Coba Lagi"); System.exit(1); } } public void readFileBelakang() { try { String isiFileini = ""; FileReader bacaNamaFileIni = new FileReader(namaFile); BufferedReader bacaFileIni = new BufferedReader(bacaNamaFileIni); isiFile = ""; System.out.println("Isi file " + namaFile + " adalah :"); System.out.println("------------------------------"); while ((isiFileini = bacaFileIni.readLine()) != null) { isiFile += isiFileini + ";"; Scanner scanner1 = new Scanner(isiFileini); String isiFile1 = scanner1.next(); String isiFile2 = ""; if (scanner1.hasNext()) { isiFile2 = scanner1.nextLine(); } else { isiFile2 = " " + isiFile1; } arrayFile[penghitung] = (isiFile2 + "," + isiFile1); penghitung++; } bacaNamaFileIni.close(); bacaFileIni.close(); } catch (FileNotFoundException exp) { System.out.println("File tidak ditemukan !"); System.exit(1); } catch (IOException exp) { System.out.println("Coba Lagi"); System.exit(1); } } public String[] mergesort(String[] list) { String[] sorted = new String[list.length]; if (list.length == 1) { sorted = list; } else { int mid = list.length / 2; String[] left = null; String[] right = null; if ((list.length % 2) == 0) { left = new String[list.length / 2]; right = new String[list.length / 2]; } else { // left = new String[list.length / 2]; right = new String[(list.length / 2) + 1]; } int x = 0; int y = 0; for (; x < mid; x++) { left[x] = list[x]; } for (; x < list.length; x++) { right[y++] = list[x]; } left = mergesort(left); right = mergesort(right); //sorted = merge(left,right); sorted = mergeArray(left, right); } return sorted; } private String[] mergeArray(String[] left, String[] right) { String[] merged = new String[left.length + right.length]; int leftIndex = 0; int rightIndex = 0; int midIndex = 0; int comp = 0; while (leftIndex < left.length || rightIndex < right.length) { if (leftIndex == left.length) { merged[midIndex++] = right[rightIndex++]; } else if (rightIndex == right.length) { merged[midIndex++] = left[leftIndex++]; } else { comp = left[leftIndex].compareTo(right[rightIndex]); if (comp > 0) { merged[midIndex++] = right[rightIndex++]; } else if (comp < 0) { merged[midIndex++] = left[leftIndex++]; } else { merged[midIndex++] = left[leftIndex++]; } } } return merged; } }
0 komentar: