Selasa, 23 Agustus 2011

Ascending Sort

Ini masih tentang kopi robusta yang disruput oleh Sun (sekarang disruput ama Oracle). Sebenarnya script ini tugas dari guru ane, ya biar nyambung ama blog ane kaitin ama kopi robusta asli Jawa (yang jadi cikal bakal nama Java itu lho...). Script ini bercerita tentang bagaimana mengurutkan angka dari bilangan terkecil hingga bilangan terbesar (ascending). Sori kalo script-nya simpel, soalnya ane masih nubi ama belum berani ngoprek script yang aneh-aneh.


import java.util.*;

public class SortArray
{
public static void main ( String[] args )
{
int kotak[] = new int[10];
int j, k;
Scanner isi = new Scanner(System.in);

System.out.print("tulis angka antara 1 - 10: ");
j = isi.nextInt();

k = j - 1;

for(int i = 0; i < j; i++)
{
System.out.print("angka ke-" + ( i + 1 ) + " : ");
kotak[i] = isi.nextInt();
}

Arrays.sort(kotak, 0, j);
System.out.print("setelah diurutkan : ");

for(int i = 0; i < j; i++)
{
if(k > i)
{
System.out.print( kotak[i] + ", ");
}
else
{
System.out.print( kotak[i] );
}
}
}
}


NB :
  • Perhatikan pada awal script (bagian import), sebenarnya bisa ditulis dua kali menjadi import java.util.Scanner; dan import java.util.Arrays;
    tapi karena berada dalam satu lingkup yang sama jadi ane singkat import java.util.*;
  • Ane menggunakan fungsi sort() yang ada pada class Arrays yg berada dalam package java.util untuk menyortir semua bilangan yang diinputkan user. Cara penulisannya :
Arrays.sort(nama_array, indeks_pertama, indeks_terakhir);

hasilnya :

Demikian script ane yg simpel dan amburadul ini, kalo mau rinciannya ane lampirin di sini


Jumat, 12 Agustus 2011

Menyeduh Kopi

Ini bukannya cara untuk membuat masakan berbahan dasar kopi, tapi ini hanya sebuah script sederhana dengan Java (ya biar nyambung sedikit ama blognya, toh simbolnya juga kopi anget :D). Maaf bila ada bug, toh ilmu program saya tidak sedalam ilmu memasak saya kok. (Apa mungkin kalo bisa racik ramuan ini bisa ikut masterchef?)

Sebenarnya script yang digunakan terbagi menjadi 2 bagian, maksudnya class. Class yang pertama berfungsi sebagai induk dan class kedua sebagai prosesnya.

Class pertama : Rapor

import java.util.Scanner;
public class Rapor
{
public static void main ( String[] args )
{
String nama = "";
String kls = "";
int uas, uts, tgs, abs;
double ruas, ruts, rtgs, rabs;

ProsesNilai a = new ProsesNilai(); // instansiasi dari class sebelumnya, proses nilai
Scanner b = new Scanner(System.in);

System.out.print("nama : ");
nama = b.nextLine(); //biar gak lupa, ini proses input sebuah String

System.out.print("\nkelas : ");
kls = b.nextLine();

System.out.print("\nnilai uas : ");
uas = b.nextInt(); // proses input untuk tipe data integer
ruas = (double)uas; //konversi ke double dari int

System.out.print("\nnilai uts : ");
uts = b.nextInt();
ruts = (double)uts;

System.out.print("\nnilai tugas : ");
tgs = b.nextInt();
rtgs = (double)tgs;

System.out.print("\nnilai absen : ");
abs = b.nextInt();
rabs = (double)abs;

System.out.print("===================\n");
System.out.println("nama : " + nama);
System.out.println("kelas : " + kls);

a.statNilai(a.hitung(ruas,ruts,rtgs,rabs));
//memanggil fungsi di class ProsesNilai dengan nilai yang telah dimasukkan
}
}
Maklum lah namanya masih belajar, script-nya masih berantakan. Ini adalah class utama yang ditandai dengan fungsi main() di atas. Untuk memudahkan meng-edit program sengaja dipisah menjadi dua class. Berikut ini disertakan juga class di mana proses penghitungan berlangsung.

Class kedua : ProsesNilai
public class ProsesNilai
{
public double hitung(double nuas, double nuts, double ntgs, double nabs)
{
nuas = 0.3 * nuas;
nuts = 0.3 * nuts;
ntgs = 0.2 * ntgs;
nabs = 0.1 * nabs;

return nuas + nuts + ntgs + nabs;
}

public void statNilai(double rt)
{
String hasil = "";
hasil = (rt > 75)?"lulus":"tidak lulus";
System.out.print("perkiraan nilai anda " + rt + " dan anda " + hasil);

}
}

Di sini tempat di mana data dari class utama (Rapor) diolah. Sori penjelasannya singkat, soalnya saya masih awam di bidang mengolah syntax.