Kamis, 28 Oktober 2010

Tugas Java ( Algoritma dan Pemrograman )

NAMA : Nur Elly Saputra

NIM : 075610012


Tugas Java

1. Buat activity / algoritma dan program untuk menghitung Luas dan Keliling suatu Lingkaran

Jawab :

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


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

try{

float nilair;

float kel;

float luas;

float pi = 3.14f;

System.out.println("Menghitung Luas Dan Keliling Lingkaran");

System.out.print("Masukan Jari Jari R:");

BufferedReader r = new BufferedReader(new InputStreamReader(System.in));

nilair = Float.parseFloat(r.readLine());



kel = 2 * pi * nilair;

luas = pi * (nilair * nilair);

System.out.println("Luas Lingkaran : " + luas);

System.out.println("Keliling Lingkaran : " + kel);

}

catch (IOException ie){

System.out.println(ie.getMessage());

}

}
}

Output :

Menghitung Luas Dan Keliling Lingkaran
Masukan Jari Jari R:12
Luas Lingkaran : 452.16
Keliling Lingkaran : 75.36

2. Dengan menggunakan pernyataan IF...ELSE , Buat program untuk menghitung total nilai, dimana total nilai dikonversikan menjadi nilai huruf dengan ketentuan sebagai berikut :

Total_Nilai 0-20 “Nilai Huruf E”
Total_Nilai 21-40 “Nilai Huruf D”
Total_Nilai 41-60 “Nilai Huruf C”
Total_Nilai 61-80 “Nilai Huruf B”
Total_Nilai 81-100 “Nilai Huruf A”
Jika tidak ada diantara nilai diatas berikan komentar “Salah Masukan Nilai”

Jawab :

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Nilai{
public static void main(String[] arg) throws IOException{
float tgs, uts, uas, total;
char grade = 0;
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Masukkan nilai tugas: ");
tgs = Integer.parseInt(br1.readLine());
System.out.println("Masukkan nilai uts : ");
uts = Integer.parseInt(br1.readLine());
System.out.println("Masukkan nilai uas : ");
uas = Integer.parseInt(br1.readLine());

total = (float) ((0.2*tgs)+(0.4*uts)+(0.4*uas));

if (total >= 81) {
grade = 'A';
} else if (total >= 61) {
grade = 'B';
} else if (total >= 41) {
grade = 'C';
} else if (total >= 21) {
grade = 'D';
} else if (total >= 0) {
grade = 'E';
} else {
System.out.println("Salah masukan Nilai");
}
System.out.println("Hasil = " + grade);
}
}






Output 1 :

Masukkan nilai tugas:
-19
Masukkan nilai uts :
-99
Masukkan nilai uas :
-1
Salah masukan Nilai
Hasil = 0

Output 2 :
Masukkan nilai tugas:
100
Masukkan nilai uts :
100
Masukkan nilai uas :
100
Hasil = A

3. Dengan menggunakan pernyataan switch buat algoritma dan program pilihan untuk menghitung bilangan , dengan ketentuan sebagai berikut :

Pil 1: Menghitung Penjumlah 2 Bilangan
Pil 2 : Menghitung Perkalian 2 Bilangan
Pil 3: Menghitung Pengurangan 2 Bilangan
Pil 4: Menghitung Pembagian 2 Bilangan
Pil 5 :Menghitung Modulo 2 Bilangan

Jawab :

import java.util.*;

public class perhitunganSwitch {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int pilih;
float bil1, bil2, hasil = 0;

System.out.println("Pilih :");
System.out.println("\n\t"+ "1. Tambah"+" 2. Kali"+" 3. kurang "+" 4. bagi"+" 5. modulus");
System.out.println("Masukan Pilihan : ");
pilih = input.nextInt();



switch(pilih) {
case 1:
System.out.print("Masukkan Angka 1: ");
bil1 = input.nextInt();
System.out.print("Masukkan Angka 2: ");
bil2 = input.nextInt();
System.out.println(hasil = bil1 + bil2);
break;

case 2:
System.out.print("Masukkan Angka 1: ");
bil1 = input.nextInt();
System.out.print("Masukkan Angka 2: ");
bil2 = input.nextInt();
System.out.println(hasil = bil1 * bil2);
break;

case 3:
System.out.print("Masukkan Angka 1: ");
bil1 = input.nextInt();
System.out.print("Masukkan Angka 2: ");
bil2 = input.nextInt();
System.out.println(hasil = bil1 - bil2);
break;
case 4:
System.out.print("Masukkan Angka 1: ");
bil1 = input.nextInt();
System.out.print("Masukkan Angka 2: ");
bil2 = input.nextInt();
System.out.println(hasil = bil1 / bil2);
break;
case 5:
System.out.print("Masukkan Angka 1: ");
bil1 = input.nextInt();
System.out.print("Masukkan Angka 2: ");
bil2 = input.nextInt();
System.out.println(hasil = bil1 % bil2);
break;
default:
System.out.println("Input Salah");
}
}
}

Output :

Pilih :

1. Tambah 2. Kali 3. kurang 4. bagi 5. modulus
Masukan Pilihan :
3
Masukkan Angka 1: 3
Masukkan Angka 2: 2
1.0

Rabu, 13 Oktober 2010

Login Form Sederhana


Password belum diisi jadi anggap saja salah , Hiks Validasi nya jelek.. ||~_||||||. Yang ini malah parah lagi sudah di isi benar masih divonis salah.... oh God...!! .




Upss... sampai kelupaan Source codenya hihihi... ||^_|||||| nih CILUBAAA...!!


package Login2;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

//Tidak perlu membuat komponen JFrame dengan perintah new
//karena sudah diextends
//Tapi tetap saja harus import hah... Java2 oh Java ||~_||||

 class login2 extends javax.swing.JFrame{


      // Membuat Konstruktor
     //Deklarasi komponen membuat Objek Komponen


     //Membuat Panel
     JPanel panelElly = new JPanel();

     //Membuat 2 Label
     JLabel    lblUser         = new JLabel ("UserName"),
               lblPass         = new JLabel ("Password");

     //Membuat Komponen TextField
     JTextField     txtUser  = new JTextField ();

     //Membuat Komponen Password
     JPasswordField txtpass = new JPasswordField();

     //Membuat 2 Button
     JButton btnLogin = new JButton("Login"),
             btnExit = new JButton("Exit");

    public login2(){

     // Membuat Judul Form
     // Mengeset Lebar TextField dan Letak TextField
     // Menambahkan Objek Komponen ke JFrame
     // Visible Komponen yang telah dibuat
     // dan Lain-lain

     super ("Form Login");
     setSize (500, 400);

     //Setting Panel
     panelElly.setLayout (null);
     //lblUser.setHorizontalAlignment(JLabel.LEFT);
     //lblPass.setHorizontalAlignment(JLabel.LEFT);

     //Menambahkan komponen
     //di panel panelElly.add(component)
     //Setting Letak Label dengan setBound harus sangat
     //Hati2 kalau tidak bisa berabe nih program ||^_||||

     lblUser.setBounds(70, 30, 252, 25);
     lblPass.setBounds (70,100, 100, 25);

     txtUser.setBounds (166, 26, 180, 25);
     txtpass.setBounds (165, 100, 180, 25);

     btnLogin.setBounds (95, 200, 110, 25);
     btnExit.setBounds (95, 250, 110, 25);

     panelElly.add (lblUser);
     panelElly.add (lblPass);

     panelElly.add(txtUser);
     panelElly.add (txtpass);

     panelElly.add (btnLogin);
     panelElly.add (btnExit);

     //Membuat Event Handling
     //Pada Tombol
     //Login
     //Exit
    btnLogin.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                Masuk();
            }

     private void Masuk() {
        String user = txtUser.getText();
        String pass = txtpass.getText();

        if(user.equals("NurElly") && pass.equals("Alamak")) {
            JOptionPane.showMessageDialog(null,"Welcome");
        } else {
            //Di sini saya menyerah soal validasi
            //saya memang lemah dalam algoritma Hikxxxx ||~_||||
            //Program validasinya salah ada yang mau membenarkan ??
            JOptionPane.showMessageDialog(null,"Password dan User Name Salah");
            txtUser.setText("");
            txtpass.setText("");
            txtUser.requestFocus();

                }
            }
        });

        btnExit.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                Keluar();
            }

 private void Keluar() {
                int pesan = JOptionPane.showConfirmDialog(null,"Keluar aplikasi?",
                "Peringatan",JOptionPane.YES_NO_OPTION);
            if(pesan==0){
            System.exit(0);
     }
            }
        });

getContentPane().add (panelElly);
setVisible (true);


    }
    //Membuat Method atau Fungsi untuk menjalankan program
    public static void main(String args[]){
        login2 mlebu = new login2();

        //Menambahkan Exit Default pada JFrame
        //Jika Jframe ditutup maka program akan langsung mati atau Close
        //dan tidak berjalan di memori
        mlebu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mlebu.setVisible(true);
    }
}
  
HADUHHH....!! CAPEEEK DWEEEH...!! ||>_||||

Midi Player Java dan Netbeans

package Midi;

import java.io.*;

import javax.swing.*;

// import javax.media.*;

import java.awt.event.*;

import java.awt.*;

 //Peralatan yang harus di Install sebelum
 // Menjalankan program ini
/*
 * 1. Netbeans
 * 2. JDK 1.6 ke atas
 * 3. JMF 1.2 Framework
 */
/*
 * Jika belum menginstall
 * maka ya sudahlah -> Gak bakalan Jalan bro...!!
 */
class RDPMediaPlayer {

    @SuppressWarnings("static-access")
 public static void main(String[] args) throws Exception {

   JFrame frame = new JFrame("Simple Elly Player");

   final JButton play = new JButton("Mainkan");

   final JButton stop = new JButton("Berhenti");

   JPanel panel = new JPanel();

   panel.setLayout(new FlowLayout());

   panel.add(play);

   panel.add(stop);

   frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);

 

   // disesuaikan nama file mp3 anda dan

   // taruh di directory yang sama dengan kode program anda

   File file = new File("camelia.mp3");
//Sorry Error karena enggak install JMF
   MediaLocator media = new MediaLocator(file.toURL());
//Sorry Error Karena enggak install JMF
   final Player player = Manager.createPlayer(media);

  //dikarenakan kompi saya sudah banyak sekali
   //Movie Player dan MP3 Player
   //Jadi saya gak install
   //Hwehehehe...!!

   play.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent e) {

        player.start();

      play.setEnabled(false);

       }

      });

    
//Untuk menghentikan memutar musik
      stop.addActionListener(new ActionListener() {

       public void actionPerformed(ActionEvent e) {

       player.stop();

       play.setEnabled(true);

        }

      });

    

      frame.add(panel);

      frame.setSize(200, 200);

      frame.setVisible(true);

 }
}

Senin, 11 Oktober 2010

Java GUI : Bagian 1


Sorry Guys , ini adalah tugas kuliahku , hehehe... berantakan yak maklum masih Novice. berikut kode javanya.


programDekstop.java

package form;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;


/*
 * Author  : Nur Elly Saputra
 * Nim       : 075610012
 * Jurusan : Sistem Informasi
 *
 */

 /*
  * Tugas pemrograman desktop
  * membahas tentang komponen
  * Api ( Application Programming Interface )
  * pada Java.
  * serta struktur komponen pembentuknya
  * maksimal komponen yang berbeda adalah 3 komponen
  * yang tidak terdapat dalam modul silabus pemrograman dektop
  */

public class programDekstop extends JFrame{

   //Membuat panel pada JFrame pada Java
        JPanel panelElly  = new JPanel();

       //Membuat Objek Label 4 sekaligus
        JLabel      lblNim            = new JLabel ("Nim"),
                        lblNama         = new JLabel ("Nama"),
                        lblAlamat       = new JLabel ("Alamat"),
                        lblJurusan      = new JLabel ("Jurusan"),
                        lblpassword   = new JLabel ("Password");

        //Membuat Objek TextField 4 sekaligus
        JTextField     txtNim           = new JTextField (),
                             txtNama         = new JTextField (),
                             txtAlamat        = new JTextField (),
                             txtJurusan        = new JTextField ();

        //Membuat Komponen password
        JPasswordField pass = new JPasswordField();

        //Membuat Objek button 4 sekaligus
        JButton Tambahkan = new JButton("Tambahkan");

        //Membuat Table
        String[] strJdl = {"NIM","Nama","Alamat","Jurusan","Password"};
    DefaultTableModel tabMode1;
    JTable tabel1 = new JTable();
       
        //Menambahkan Scroll pada Table
    JScrollPane skrTabel1 = new JScrollPane();

    public programDekstop() {

       // Membuat Judul Form
       // Mengeset Lebar TextField dan Letak TextField
       // Menambahkan Objek Komponen ke JFrame
       // mem Visible Komponen yang telah dibuat

      super ("Form Biodata Mahasiswa");
     setSize (700, 500);

         panelElly.setLayout (null);

         lblNim.setHorizontalAlignment(JLabel.LEFT);
     lblNama.setHorizontalAlignment(JLabel.LEFT);

         lblNim.setBounds(70, 30, 252, 25);
         lblNama.setBounds (70, 40, 120, 25);
         lblAlamat.setBounds (70, 80, 120, 25);
         lblJurusan.setBounds(70, 90, 120, 25);
         lblpassword.setBounds(70, 120, 130, 25);

         txtNim.setBounds (200, 50, 100, 25);
     txtNama.setBounds (200, 80, 100, 25);
     txtAlamat.setBounds (200, 110, 100, 25);
     txtJurusan.setBounds (200, 140, 100, 25);

         pass.setBounds(200, 120, 100, 28);

         Tambahkan.setBounds (570, 220, 110, 25);

             /* Instansiasi Objek Tabel */
        tabMode1 = new DefaultTableModel(null,strJdl);
        tabel1.setModel(tabMode1);
        skrTabel1.getViewport().add(tabel1);
        tabel1.setEnabled(true);
        /* Batas Scroll Tabel */
        skrTabel1.setBounds (70, 340, 470, 100);

                panelElly.add (skrTabel1);
        panelElly.add (lblNim);
        panelElly.add (lblNama);
        panelElly.add (lblAlamat);
        panelElly.add (lblJurusan);
                panelElly.add(lblpassword);
               
                panelElly.add (txtNim);
        panelElly.add (txtNama);
        panelElly.add (txtAlamat);
        panelElly.add (txtJurusan);

                panelElly.add(pass);

                panelElly.add(Tambahkan);
               
                getContentPane().add (panelElly);
        setVisible (true);
    }

    //Main Method untuk memanggil Jframe
    //yang didalamnya sudah digabung dengan
    //komponen lain
     // Menjalankan programDektop
    public static void main(String[] args) {
            programDekstop prgd = new programDekstop();
            prgd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            prgd.setVisible(true);
           
    }
//Tugas Pemrograman Desktop Lanjut
//Tiga komponen yang telah dimasukan, berbeda maksimal 3 komponen
    //1.JPanel
    //2.JPassword
    //3.JTable

}

Jumat, 08 Oktober 2010

Pascal vs Java vs C/C++

Lagi ngikutin forum Sains indonesia :

Maxham :

"Gw msh SMA, tapi gw ikut ekskul cmputer (jurusan programming). Disana, gw diajarin pake pascal, tp materi pelajaran komputer sendiri tuch c++. Nah, Mulok gw, belajar Java. FYI, gw di SMA Kanisius (Jakarta), dan gw sendiri SMPny di Santa Maria (Juanda, Jakarta Pusat). Dibanding temen-temen gw yang SMP-ny ud di CC, gw ngerasa gw nich bener-bener mash nol besar soal programming krn gw sendiri SAMA SEKALI BELUM dpt materi programming semasa SMP dulu (klo SMP Kanisius ud pake VB, jd dasar programmingny ud ada lah!). Sampe sekatrang, gw masih rada "blank" soal programming.

Menurut rekomendasi temen-temen, sebaikny gw mantepin pake program mana dulu ya?".

Utusan Langit :

"saran saya mending pake pascal aja, untuk menguatkan logika anda, soalnya programing tu banyak menggunakan logika, nah untuk dasarnya saya sarankan menggunakan pascal saja!!!".

insan sains :

"Kalo saya disuruh balik lagi ke masa lalu.

Saya mau langsung ngedalemin JAVA. Soalnya dia sudah full Object Oriented. Lebih natural dengan cara kita berpikir. Walaupun untuk yang bahasa pemprograman yang prosedural, Pascal memang lebih yahood.

Dari segi gengsi, Java masih menempati urutan pertama program yang banyak dipake di seluruh dunia"

AmunRa :

"mending java aja, kelihatannya yang paling berkembang pesat java" 

dst... silakan diikutin sendiri... libur ngoding dulu ||>_||||| 

Resep Pemrograman

Memahami sebuah konsep dasar pembelajaran merupakan modal dasar untuk
menguasai materi tersebut. Konsep pemrograman sebenarnya bukanlah menulis
source code program, tetapi membuat algoritma dan logika kerja suatu masalah yang
akan diselesaikan. Artinya membuat algoritma dan logika kerja suatu masalah
merupakan langkah utama yang harus dikerjakan. Setelah selesai baru dikonversikan
ke bahasa pemrograman yang diinginkan. Kita tidak harus menguasai seluruh sintaks
yang ada dalam bahasa pemrograman yang dipakai. Dan memang sangat sulit untuk
menghapal semua sintaks yang ada dalam sebuah bahasa pemrograman.

Apa yang harus kita jika kita tidak mengetahui sintaks-sintaks yang
diperlukan? Misalnya kita tidak mengetahui perintah mencetak output dari suatu
proses di dalam program yang kita buat. Orang bijak mengatakan kita tidak perlu
mengetahui semua hal sebab kita hanyalah manusia biasa dan memang tidak mungkin
dilakukan, tetapi yang perlu kita ketahui adalah dimana kita bisa mendapatkan
informasi untuk permasalahan tersebut. Banyak sekali buku-buku dan referensi yang
dapat kita pakai sebagai acuan pembelajaran. Kesimpulannya bahwa dalam
merancang sebuah program yang diutamakan adalah algoritma penyelesaian masalah.

Oleh : Ema Utami, S.Si, M.Kom

Artikel lengkapnya bisa disownload :

Download Artikel

Java Fundamental : 8

Penyeleksian Kondisi dan Perulangan

Untuk menghasilkan suatu program, sangat penting untuk mengatur agar program dapat berjalan dengan aliran atau susunan yang baik, sehingga dapat memecahkan masalah atau menciptakan solusi dari suatu permasalahan. Ada dua macam kontrol alur ( control flow ) yang digunakan dalam pemrograman Java, yaitu
pengkondisian ( conditional ) dan pengulangan ( looping ).

A. Pengkondisian ( Conditional )

Conditional merupakan suatu pengaturan alur program berdasar
kondisi boolean yang dijadikan patokan.

1. Pengkondisian Dengan if

Pengaturan alur program seringkali berdasar dari ekspresi
tertentu yang menghasilkan nilai boolean. Apabila boolean bernilai
true, maka blok pernyataan akan dijalankan. Pengkondisian semacam
ini dapat dilakukan dengan if.
Sintaks :
if (<ekspresi boolean>)
{
<pernyataan>
}
Pernyataan di antara tanda { } akan dijalankan apabila ekspresi
boolean bernilai true atau benar, sedangkan untuk ekspresi boolean
terdapat di dalam tanda ( ).
Contoh :
class SeleksiIf {
public static void main(String[] args) {
int a,b;
a = 20;
b = a/2;
if(b>5){
System.out.println("Pernyataan1 Test Seleksi If dieksekusi");
}
System.out.println("Pernyataan2 Test Seleksi If dieksekusi");
}
}


2. Pengkondisian Dengan if dan else . 

Pada pengkondisian dengan menggunakan if, tidak jelas apa yang akan dilakukan apabila ekspresi boolean bernilai false. Apabila ingin memproses suatu ekspresi boolean yang bernilai false, dapat menambahkan else.
 
Sintaks :
if (<ekspresi boolean>)
{
<pernyataan>
}
else
{
<pernyataan>
}
Pernyataan pada blok if sebelum else akan dijalankan apabila ekspresi boolean bernilai true, sedangkan apabila ekspresi boolean bernilai false, maka akan dijalankan pernyataan yang ada setelah else.

 Contoh :

class SeleksiIfElse {
public static void main(String[] args) {
int x;
x = 10;
if(x>5) {
System.out.println("Pernyataan1a Test Seleksi IfElse dieksekusi");
System.out.println("Pernyataan1b Test Seleksi IfElse dieksekusi");
}
else {
System.out.println("Pernyataan2a Test Seleksi If Else dieksekusi");
System.out.println("Pernyataan2b Test Seleksi IfElse
dieksekusi");
  }
 }
}


3. Pengkondisian Dengan if dan else if

Selain if, if dan else, dapat juga menggunakan kombinasi if else secara berkelanjutan. Misalnya apabila ingin melakukan pengkondisian yang melakukan pengecekan nilai boolean sebanyak tiga kali, maka kita dapat melakukan seperti berikut :

if (<ekspresi boolean>)
{
<pernyataan>
}
else if (<ekspresi boolean>)
{
<pernyataan>
}
else if (<ekspresi boolean>)
{
<pernyataan>
}
else
{
<pernyataan>
}
Contoh :
class SeleksiIfElseIf{
public static void main(String[] args) {
int bulan = 12;
if(bulan<=3)
System.out.println("Kuartal 1 Test Seleksi IfElseIf");
else if(bulan<=6)
System.out.println("Kuartal 2 Test Seleksi IfElseIf");
else if(bulan<=9)
System.out.println("Kuartal 3 Test Seleksi IfElseIf");
else
System.out.println("Kuartal 4 Test Seleksi IfElseIf");
}
}


4. Pengkondisian Dengan Switch

Switch digunakan untuk memilih berdasar banyak pilihan, dimana dari masing-masing pilihan akan menghasilkan pernyataan atau aksi yang berlainan sesuai pilihan yang dilakukan. Biasanya
penggunaan switch berkaitan dengan menu, dimana apabila menu pertama dipilih, maka switch akan menjalankan blok dari case 1, lalu apabila menu kedua dipilih, maka switch akan menjalankan blok dari
case 2, demikian seterusnya. Bila tidak memenuhi kriteria menu case manapun, switch akan menjalankan blok default.

Sintaks penggunaan switch adalah :

Switch (<ekspresiinteger>)
{
Case <nilaivariabel>: <blok pernyataan>
Break;
Case <nilaivariabel>: <blok pernyataan>
Break;
Case <nilaivariabel>: <blok pernyataan>
Break;
default: <blok pernyataan>
break;
}


Contoh :
 
class SeleksiSwitch {
public static void main(String[] args) {
int bulan, year;
bulan = 1;
year = 2005;
switch(bulan) {
case 1: switch(year) {
case 2004 : System.out.println("Bulan 1 tahun 2004");
break;
case 2005 : System.out.println("Bulan 1 tahun 2005");
break;
}
break;
case 2: switch(year) {
case 2004 : System.out.println("Bulan 2 tahun 2004");
break;
case 2005 : System.out.println("Bulan 2 tahun 2005");
break;
}
break;
case 3: switch(year) {
case 2004 : System.out.println("Bulan 3 tahun 2004");
break;
case 2005 : System.out.println("Bulan 3 tahun 2005");
break;
}
break;
default:
System.out.println("Bulan dan Tahun yang dicari tidak ada
pada pilihan");
break;
}
System.out.println("Sudah keluar dari switch");
}
}

B. Pengulangan ( Looping )

Looping adalah perulangan suatu blok kode program berdasar kondisi yang ditentukan sampai tercapai kondisi untuk menghentikannya (terminasi). Setiap perulangan memiliki empat bagian, yaitu inisialisasi, badan program, iterasi,dan terminasi. Inisialisasi adalah program yang menyiapkan keadaan awal perulangan. Badan program adalah pernyataan yang ingin kita ulangi. Iterasi adalah program yang kita jalankan setelah badan program, tetapi sebelum bagian tersebut dijalankan lagi. Terminasi adalah pernyataan boolean yang diperiksa setiap kali selama perulangan untuk melihat apakah sudah waktunya menghentikan eksekusi. Pada Java dikenal tiga macam bentuk perulangan,

yaitu : while, do-while, dan for.

1. Pengulangan Dengan for

Pengulangan dapat dilakukan dengan menggunakan pernyataan
for. Loop dengan for melakukan inisialisasi sebelum iterasi/loop
pertama, kemudian melakukan tes kondisional dan pada akhir dari tiap
iterasi melakukan penambahan atau pengurangan pada variabel ( step )
yang digunakan sebagai basis pengkondisian untuk perulangan.
Sintaks :
for (inisialisasi ; ekspresi boolean ; step)
{
<pernyataan>
}

Contoh :


class For {
public static void main(String[] args) {
int c;
System.out.println("Sebelum for");
for(c=0;c<10;c++)
System.out.println("Nilai c: " + c);
System.out.println("Setelah for");
 }
}


2. Pengulangan Dengan while

Selain for, kita juga dapat menggunakan while untuk melakukan perulangan. Perulangan akan terus berjalan selama ekspresi boolean bernilai true atau benar.

Sintaks :

while (ekspresi boolean)
{pernyataan}

Contoh :

class While {
public static void main(String[] args) {
int a = 10 ;
System.out.println("Sebelum while");
while(a>=10) {
System.out.println("Nilai a : "+a);
a--;
}
System.out.println("Setelah while");
 }
}


3. Pengulangan Dengan do-while
Do-while memiliki urutan yang terbalik dibandingkan dengan while dan memiliki perbedaan utama, yaitu : bahwa pada do-while pernyataan dijalankan terlebih dahulu minimal satu kali, sedangkan
pada while memungkinkan pernyataan sama sekali tidak dijalankan apabila kondisi boolean pada saat pertama kali sudah salah.

Sintaks :
do
{
<pernyataan>
}
while (ekspresi boolean);

Contoh :

class DoWhile {
public static void main(String[] args) {
int b = 9 ;
System.out.println("Sebelum do");
do {
System.out.println("Nilai b : "+b);
b--;
} while (b>=10);
System.out.println("Setelah do");
 }
}

Java Fundamental : Bagian 7

Polymorphism

Poly artinya banyak , morpishm bentuk. Dalam pemrograman komputer ,istilah polymorfi bisa dapat diartikan memiliki nama sama, namun memiliki tingkah laku yang berbeda , sehingga dalam implementasi code juga berbeda-beda.

Contoh yang mudah dalam penggunaan suatu suku kata ke dalam kalimat  , Kita gunakan kata Mentah , "Sayuran itu masih mentah karena belum dimasak" , "Gagasan ini masih mentah sehingga perlu dibahas lagi" , "Pukulan petinju itu berhasil dimentahkan oleh lawannya".

Jadi kesimpulannya kata tersebut dapat digunakan pada berbagai tipe kalimat yang berbeda dan dapat mempunyai banyak makna / arti.

Contoh Program :

//package nurEllyTest;

class EkpresiWajah {
    public  String respons() {
        return ("\nLihatlah reaksi wajah saya");

    }
}

//Mendeklarasikan gembir yang diturunkan dari ekspresi
//Wajah

class Gembira extends EkpresiWajah {
    @Override
    public String respons () {
          return ("\nHa...Ha...Ha... Yuyuk MoutherFucker");

    }
}

//Mendeklarasikan sedih yang diturunkan dari ekspresi
//Wajah

class Sedih extends EkpresiWajah {
    @Override
    public String respons () {
          return ("\nHuuuuuuu....!! Yuyuk MoutherFucker");

    }
}

//Mendeklarasikan marah yang diturunkan dari ekspresi
//Wajah

class Marah extends EkpresiWajah {
    @Override
    public String respons () {
          return ("\nYuyuk Donkey Fucking You're Mother...!!");

    }
}

 class EkspresiEmosional {
    public static void main (String args[] ) {
        System.out.println("\n|-------------------------------|");
        System.out.println("\nDemo Polimorfisme");
        System.out.println("\n|-------------------------------|");

        //Membuat objek ekspresi tersebut menjadi suatu daftar ekspresi

        EkpresiWajah objEkspresi = new EkpresiWajah();
        Gembira objGembira = new Gembira();
        Sedih objSedih = new Sedih();
        Marah objMarah = new Marah();

        //Daftar Ekspresi
        //yang menyatakan objek tersebut
        //Menggunakan Array sebagai penampungnya

        EkpresiWajah [] ekspresi = new EkpresiWajah[4];

        ekspresi[0] = objEkspresi;
        ekspresi[1] = objGembira;
        ekspresi[2] = objSedih;
        ekspresi[3] = objMarah;

        // Poliforfisme
        //Membuat EkspresiWajah terlihst memiliki tingkah laku
        //kondisi yang berbeda -beda

        System.out.println("Ekspresi [0]: " + ekspresi[0].respons());
        System.out.println("Ekspresi [1]: " + ekspresi[1].respons());
        System.out.println("Ekspresi [2]: " + ekspresi[2].respons());
        System.out.println("Ekspresi [3]: " + ekspresi[3].respons());
    }
}

 

Referensi : 
http://johari.e-nixsoft.com/?p=3

Sorry kalau acak kadut , maklum lagi musuhan sama blog tetangga sebelah ( LenteraMuda Zone ), lagi perang...!!

Java Fundamental : Bagian 6

Interface
Interface merupakan suatu mekanisme yang disediakan oleh java yang memungkinkan berbagi konstanta atau menentukan bentuk metode yang dapat digunakan oleh sejumlah kelas.
Beda Interface dan kelas abstrak :
  •  Kelas abstrak dapat mengandung metode abstrak maupun metode
tidak abstrak, sedangkan interface hanya dapat mengandung
metode abstrak
  • Kelas abstrak dapat mendeklarasikan variabel instan, sedangkan interface hanya dapat mendefinisikan konstanta
  •  Kelas abstrak digunakan oleh kelas lain melalui pewarisan(via kata kunci extends), sedangkan interface digunakan oleh kelas tidak melalui mekanisme itu
Mendeklarasikan interface

Bentuk pendeklarasian:
public interface namainterface
{
metode-tanpa implementasi
definisi konstanta
}

Variabel dalam interface hanya diperkenankan untuk menggunakan penentu akses public static final.
Kalaupun public static final tidak disertakan, secara implisit akan diperlakukan seperti kalau public static final diberikan

Bentuk Abstrak :
Pewarisan Interface :

Berbeda dengan kelas, suatu interface dapat Mewarisi lebih dari sebuah interface. Bentuknya
Seperti berikut:
public interface namainterface extends interfaceA,interfaceB
{
//tubuh interface
}

Menggunakan Interface

Sebuah kelas dapat menggunakan interface melalui kata kunci implements. Bentuknya seperti berikut:
class namakelas1 extends namakelas2 implements interface1,
interface2
{
//tubuh kelas
}

Struktur Program :


Interface ( Java ) Vs Multiple Inherintance ( C ++ )
Gabungan Inheritance dan Implementation

Airplane is a Vehicle
Bird is an Animal
Superman is an Animal and is a HomoSapien

Kelemahan multiple inheritance adalah suatu class bisa mewarisi method dari lebih dari satu class dimana method ini tidak diharapkan. Dengan Interface maka hal ini bisa dihindari.


Contoh Program InterFace :

interface Konstanta2 {
  double KONST_PI = 3.14;
  String KONST_SATUAN_LUAS = "CM PERSEGI";
  String KONST_SATUAN_PANJANG = "CM ";

  }

   class DemoInterface implements Konstanta2 {
     public static void main (String args[]){


       System.out.println("************************");
       System.out.println("************************");
       System.out.println("*PROGRAM DEMO INTERFACE*");
       System.out.println("************************");
       System.out.println("******** **** *********");

       double radius = 10;

       System.out.println("Radius Lingkaran : " + radius);
         System.out.println("Luas Lingkaran  : " + (KONST_PI * radius * radius ) + KONST_SATUAN_LUAS);
         System.out.println("Keliling Lingkaran : " + ( 2*KONST_PI * radius ) + Konstanta2.KONST_SATUAN_PANJANG);

      }
   }



Output :

run:
************************
************************
*PROGRAM DEMO INTERFACE*
************************
******** **** *********
Radius Lingkaran : 10.0
Luas Lingkaran  : 314.0 CM PERSEGI
Keliling Lingkaran : 62.800000000000004 CM
BUILD SUCCESSFUL (total time: 0 seconds)

Sumber : http://lecturer.eepis-its.edu/~mieke/java/teorijava/T5-interface.pdf

Kamis, 07 Oktober 2010

Java Fundamental : Bagian 5

Membaca Input dari User

Java bukan bahasa pemrograman untuk Console (seperti DOS atau Linux), sehingga untuk mengambil input dari user diperlukan sedikit trik yang tidak sesederhana readln pada bahasa pemrograman lain.

Di sini saya akan menjelaskan untuk membuat program yang bisa mengambil input dari konsol teks. Di bagian lain, setelah kita belajar pemrograman berorientasi objek, kita akan menggunakan GUI untuk mendapatkan interaksi dari user.

Membaca String yang diketik oleh user di konsol

Kita membutuhkan kelas yang beberapa kelas, yaitu BufferedReader, InputStreamReader, dan System.in (lawan dari System.out yang kita gunakan untuk menampilkan pesan di layar).

Dua kelas pertama terdapat dalam package yang dinamakan java.io. Untuk itu, kita harus menambah satu baris perintah

import java.io.*

yang berarti mengimport semua kelas dalam paket java.io (tanda * berarti semua).

Kemudian kita harus juga membuat suatu objek dari kelas BufferedReader. Kelas BufferedReader adalah kelas abstrak yang menangani baca tulis ke suatu media.

Kelas ini membutuhkan kelas lain sebagai pekerjanya, yaitu InputStreamReader. Dan InputStreamReader membutuhkan media tempat baca tulis dilakukan, yaitu System.in.

Semua ini bisa dituliskan dalam satu perintah yaitu :

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

Di sini variabel br merupakan objek yang merupakan jelmaan dari kelas BufferedReader.

Untuk memerintahkan Java mengambil input dari user, kita gunakan fungsi readline() yang terdapat pada kelas BufferedReader, dalam hal ini terealisasi pada objek br.

nama = br.readLine();

Karena kita berhubungan langsung dengan sistem IO (input-output) komputer yang harus diasumsikan tidak pasti (misalnya ada masalah pada sistem keyboard, atau komputer sedang bekerja berat sehingga input dari user tidak bisa diambil), kita harus menempatkan fungsi readLine() pada klausa

try {
    ...
} catch (IOException ioe) {
    ...
}

Perintah di dalam try { ... } adalah perintah yang kita ingin jalankan pada situasi yang "mungkin" tidak berhasil.

Parameter pada catch, yaitu IOException ioe adalah jenis kesalahan yang ingin kita tangkap. Dalam hal ini kita ingin menangkap adanya kesalahan IO, yaitu kesalahan yang bertipe IOException.

Perintah di dalam catch { ... } adalah perintah yang akan dilakukan apabila kesalahan ditangkap. Jika tidak ada kesalahan IO yang ditemukan, maka bagian ini akan dilewatkan (tidak dijalankan).

Mari kita lihat program akhir untuk mengambil input dari user.

package ambilinputkonsol;

import java.io.*;

public class AmbilInputKonsol {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.print("Masukkan nama Anda : ");

        // buat objek baru untuk mengambil input
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // tempat di mana input dari user akan diletakkan
        String nama = null;

        try {
            nama = br.readLine();
        } catch(IOException ioe) {
            System.out.println("Kesalahan IO pada saat menanyakan nama Anda");
            System.exit(1);
        }

        System.out.println("Terima kasih, " + nama);
    }
}

Output :



String Buffer Java

Kali ini membahas String Buffer memungkinkan kita menciptakan objek String yang dapat berubah. String Buffer dapat beroprasi langsung pada buffer yang berisi String. dan String Buffer ini sangat berguna sekali untuk mengetahui panjang String dan nilai String.


import javax.swing.*;

public class contohstringbuffer{

    public static void main(String [] args){

        // 1. inisialisasi String
              StringBuffer kalimat=new StringBuffer();

        // 2. Menambahkan String
              kalimat.append("Selamat ");
              System.out.println("\nHasil Append = "+kalimat);

        // 3. Membaca karakter secara individu dalam string
        //    int length(); dan charAt(int index);
              System.out.println(kalimat + " \njumlah hurufnya = "+ kalimat.length());
              System.out.println("\nkarakter pada index ke 4 = "+ kalimat.charAt(4));

        // 4. Menambahkan  dan Menyisipkan String
              kalimat.append("Kapten Teknologi");
              System.out.println("\nHasil Append ke 2 = "+ kalimat);
              kalimat.insert(8,"\nDatang ");
              System.out.println("\nHasil Insert      = "+ kalimat);

        // 5. Menghapus karakter
              kalimat.deleteCharAt(6);
              System.out.println("\nHasil Delete index ke 6  = "+ kalimat);
              kalimat.delete(0,3);
              System.out.println("\nHasil Delete index ke 0-3= "+ kalimat);

        //. 6 Replace
              kalimat.replace(0,3,"Selamat");
              System.out.println("\nHasil replace = "+ kalimat);


        //  7. Mengekstrak/Mengambil suatu Substring
              StringBuffer ambil=new StringBuffer();
              ambil.append(kalimat.substring(0,7));
              System.out.println("\nHasil substring = "+ambil);

        //  8. Membalikan urutan karakter
              ambil.reverse();
              System.out.println("\nHasil reverse = "+ambil);

    }
}

Output :



Enkapsulasi Java


Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni :
  • Information hiding.
  •  Interface to access data.
  • Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.

Implementasi UML
Berikut ini kita akan coba untuk lebih memahami penggunaan konsep enkapsulasi dengan mengimplementasikan UML berikut :
UML Vehicle class with no hiding
Vehicle class berisi atribut yang mempunyai modifier public(+), sehingga TestVehicle1 sebagai test program mempunyai akses langsung terhadap atribut pada Vehicle.

Compile Vehicle.java dan TestVehicle.java lalu jalankan TestVehicle.java. Seharusnya akan keluar tampilan sebagai berikut :


public class Vehicle{

public double load, maxLoad;
public Vehicle (double maxLoad){
maxLoad = maxLoad + load;

}
public double getLoad(){
return load;

}
public double getMaxLoad(){
return maxLoad;

 }
}

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

System.out.println("Creating a vehicle with a 10,000kg maximum load.");
Vehicle vehicle = new Vehicle(10000.0);
System.out.println("Add box #1 (500kg)");
vehicle.load = vehicle.load + 500.0;
System.out.println("Add box #2 (250kg)");
vehicle.load = vehicle.load + 250.0;
System.out.println("Add box #3 (5000kg)");
vehicle.load = vehicle.load + 5000.0;
System.out.println("Add box #4 (4000kg)");
vehicle.load = vehicle.load + 4000.0;
System.out.println("Add box #4 (300kg)");
vehicle.load = vehicle.load + 300.0;
System.out.println("Vehicle load is = " +vehicle.getLoad() + "kg");

 }
}


Output :




Karena saya kesulitan memakai Texpad maka saya gunakan Netbeans yang baru saja selesai didownload
sekalian mau coba Netbeans 6.9.1


Analisa program :

Kita lihat bahwa pada output program tersebut kita menginisialisasi batas maximum load 10,000 kg, 
Vehicle vehicle = new Vehicle(10000.0);
akan tetapi dengan memberikan akses kontrol / modifier public pada atribut class Vehicle
public double load, maxLoad;
kita dapat mengakses langsung atribut class yang seharusnya perlu diberi pengecekan agar tidak sampai melebihi maxload
vehicle.load = vehicle.load + 500.0;
maka dapat mengakibatkan masalah(trouble) yakni batas maximum load yang kita buat tidak berpengaruh apapun sehingga terdapat penambahan boxes yang melebihi kapasitas(10050.0kg) dikaernakan tidak ada pengecekan kapasitas maksismum.


Sumber Artikel :

http://www.kaptenteknologi.com/2010/04/string-buffer-java.html
http://java.lyracc.com/artikel/java-untuk-pemula/intermezzo-membaca-input-dari-user
http://littlebro-note.blogspot.com/2008/10/java-enkapsulasi.html

Rabu, 06 Oktober 2010

Java Fundamental : Bagian 4

String, Objek dan Subrutin

Bagian sebelumnya memperkenalkan 8 jenis tipe data primitif dan tipe data String. Perbedaan mendasar antara tipe primitif dan String adalah : nilai dari tipe String berupa objek. Objek akan dibahas pada bagian lain mengenai kelas (class). Di bagian ini kita akan belajar bagaimana String digunakan dan juga mempelajari konsep pemrograman penting yang lain, yaitu subrutin.

Subrutin adalah kumpulan instruksi program yang digabungkan sehingga memiliki fungsi tertentu. Dalam bahasa Java, setiap subrutin termasuk di dalam bagian suatu kelas atau objek. Java menyediakan kelas standar yang siap digunakan. Nilai tipe String adalah objek yang memiliki kumpulan subrutin yang dapat digunakan untuk memanipulasi String tersetbut. Kita bisa memanggil subrutin tersebut tanpa harus mengerti bagaimana subrutin tersebut bekerja. Sebenarnya ini adalah tujuan subrutin, yaitu sekumpulan perintah yang memiliki fungsi tertentu tanpa harus mengetahui secara detail apa yang terjadi di dalam.

Kelas terdiri dari variabel dan subrutin yang disimpan di dalamnya. Variabel dan subrutin ini disebut static member (anggota statis). Contohnya adalah pada program SelamatDatang, kelas SelamatDatang memiliki anggota main() yang merupakan anggota statis kelas itu. Anggota yang berupa static member diberi imbuhan static, seperti pada main().

  Fungsi kelas yang lain adalah untuk mendeskripsikan suatu objek. Kelas di sini berfungsi seperti tipe data.    Nilai yang disimpan dalam tipe data itu adalah objek. Misalnya String sebenarnya merupakan nama kelas yang disediakan bahasa Java. String juga berupa tipe data dan kalimat seperti "Selamat Datang!" adalah isi dari tipe data String.

  Kegunaan kelas baik sebagai gabungan subrutin ataupun sebagai objek sering membingungkan. Misalnya kelas String juga menyimpan beberapa subrutin statik selain juga sebagai tipe data. Contoh kelas standar lainnya adalah Math yang berisi kumpulan subrutin statik untuk melakukan berbagai perhitungan matematis.

Kelas sebagai tipe data


    Mari mulai dengan melihat kembali subrutin System.out.print. Subrutin ini digunakan untuk menampilkan pesan kepada user. Misalnya System.out.print("Selamat datang!") menampilkan pesan Selamat datang! System merupakan salah satu kelas standar Java. Salah satu anggotanya bernama out. Karena variable ini berada di dalam kelas System, kita harus memanggilnya dengan nama lengkapnya yaitu System.out.

   Variabel System.out merupakan suatu objek, dan objek itu memiliki subrutin yang bernama print. Pengenal campuran System.out.print mengacu pada subrutin print di dalam objek out dalam kelas System. (Untuk melihat dari sisi lain, sebetulnya System.out merupakan objek dari kelas PrintStream. PrintStream adalah salah satu kelas standar Java. Objek dengan tipe PrintStream adalah objek tempat informasi bisa dicetak. Setiap objek yang bertipe PrintStream memiliki subrutin bernama print yang bertugas untuk mencetak sesuatu ke medium tersebut. Dalam hal ini System.out adalah tujuan tempat print dilakukan. Objek lain yang bertipe PrintStream bisa mengirim informasi ke tujuan lain, misalnya file atau network atau ke komputer lain.
Ini adalah esensi dari pemrograman berorientasi objek, di mana beberapa hal yang memiliki kesamaan - dalam hal PrintStream sama-sama sebagai tempat tujuan print - dapat digunakan dengan cara yang sama, yaitu memanggil subrutin print.).

   Karena nama variabel, nama kelas, dan nama subrutin berbentuk hampir sama, ada baiknya untuk membedakannya sehingga di kemudian hari program dapat dibaca dengan jelas. Kelas standar Java menggunakan nama yang selalu dimulai dengan huruf besar, sedangkan nama variabel dimulai dengan huruf kecil. Ini bukan sintaks Java, tetapi lebih seperti konvensi. Setiap orang bebas menggunakan konvensinya masing-masing, tetapi apabila pemrograman dilakukan secara bersama-sama, seperti pada open source programming, konvensi yang sama akan sangat memudahkan orang lain membaca dan menguji program yang kita buat. Nama subrutin juga dimulai dengan huruf kecil, sama dengan nama variabel. Tetapi subrutin harus diikuti dengan tanda buka kurung sehingga masih mudah dibedakan dengan nama variabel.

Kelas sebagai kumpulan subrutin dan variabel statik

     Selain sebagai tipe data, kelas System juga memiliki subrutin statik yang bernama exit. Memanggil System.exit akan menghentikan jalannya program, dan digunakan apabila karena suatu hal (misalnya program telah selesai atau adanya error) program harus dihentikan. Subrutin exit menerima parameter bilangan bulat, misalnya System.exit(0) atau System.exit(1), untuk memberitahu kepada sistem operasi alasan kenapa program dihentikan. Status 0 berarti program berhenti normal tanpa adanya error, sedangkan status lain berarti ada sesuatu yang salah yang terjadi di tengah eksekusi program tersebut.
Setiap subrutin melakukan fungsi tertentu. Beberapa di antaranya melakukan perhitungan lalu melaporkan hasil perhitungannya.

    Ada juga yang berfungsi untuk mengambil data dari tempat tertentu dan melaporkan data yang didapat. Subrutin jenis ini disebut function (fungsi). Fungsi adalah subrutin yang mengembalikan (return) suatu nilai. Nilai yang dikembalikan akan digunakan lebih lanjut dalam program.

   Sebagai contoh adalah fungsi untuk menghitung akar kuadrat dari suatu bilangan. Java memiliki fungsi seperti itu yang disebut Math.sqrt. Fungsi ini merupakan anggota statik dari kelas yang bernama Math. Jika x adalah suatu bilangan, makan Math.sqrt(x) menghitung akar kuadrat dari x dan mengembalikan hasil perhitungannya. Karena Math.sqrt(x) mengembalikan suatu bilangan, kita tidak bisa memanggil fungsi ini seperti :

Math.sqrt(x); // Tidak masuk akal!
    Kita tentunya ingin menggunakan hasilnya untuk instruksi selanjutnya, misalnya menuliskan hasilnya di layar seperti

// Menampilkan akar kuadrat x di layar.

System.out.print( Math.sqrt(x) ); 

atau menyimpan hasilnya pada variabel lain, seperti :

panjangDiagonal = Math.sqrt(x);  
Kelas Math

Kelas Math memiliki banyak fungsi statik. Beberapa yang penting di antaranya :


  • Math.abs(x), menghitung nilai mutlak (absolut) dari x. Nilai mutlak bilangan negatif adalah bilangan positif, dan bilangan positif tetap bilangan positif.
  • Fungsi trigonometri Math.sin(x), Math.cos(x), and Math.tan(x). (Untuk semua fungsi trigonometri, sudut memiliki satuan radian, bukan derajat)
  • Fungsi trigonometri inverse, yang mencari sudut dari suatu nilai trigonometric, kebalikan dari fungsi trigonometri, seperti arcus sin, arcus cos, dan arcus tangen. Math.asin(x), Math.acos(x), and Math.atan(x).
  • Math.exp(x), menghitung pangkat dari bilangan natural e, atau ex. Dan logaritma natural loge x atau ln x bisa dihitung dengan menggunakan fungsi Math.log(x).
  • Math.pow(x,y) menghitung xy atau x pangkat y
  • Math.floor(x) menghitung pembulatan ke bawah dari suatu bilangan riil, misalnya 3.84 akan dibulatkan ke bawah menjadi 3.0
  • Math.random() memilih bilangan acak di antara 0.0 dan 1.0. Komputer memiliki algoritma perhitungan tertentu yang hasilnya bilangan acak (meskipun bulan bilangan yang betul-betul acak, tetapi cukup untuk kebanyakan fungsi)
    Paremeter (nilai di dalam kurung) fungsi-fungsi di atas bisa bertipe numerik apa saja (misalnya double, int, dll), tetapi keluarannya bertipe double, kecuali abs(x) yang tipe keluarannya sama dengan tipe parameternya.
Math.random() tidak memiliki parameter, tetapi tanda kurungnya harus tetap ditulis untuk membedakan fungsi dan variabel.
   Contoh fungsi lain yang tidak memiliki parameter adalah System.currentTimeMillis() yang berguna untuk mengambil waktu saat ini dalam satuan milidetik, dihitung sejak 1 Januri 1970 waktu GMT. Satu milidetik sama dengan 1 per 1000 detik.
   Keluarannya bertipe long.
Untuk menghitung waktu yang diperlukan untuk menjalankan suatu perintah, jalankan fungsi System.currentTimeMillis() sebelum dan sesudah suatu instruksi dijalankan. Perbedaannya adalah waktu yang diperlukan untuk menjalankan suatu instruksi.
  
Kelas String

Nilai suatu String adalah objek. Objek ini berisi rangkaian huruf yang membentuk string. Objek tersebut juga berisi subrutin. Misalnya length adalah fungsi yang menghitung panjang suatu string, atau jumlah karakter dalam suatu string. Misalnya string str yang dideklarasikan sebagai berikut :

String str;
str = "Hari ini cerah sekali!";
 
Untuk menghitung jumlah karakter dalam string str, panggil fungsi str.length() yang keluarannya bertipe int. Fungsi ini tidak membutuhkan parameter. Fungsi length merupakan anggota kelas String dan dapat digunakan oleh semua data yang bertipe String.

Dan juga bisa digunakan oleh literal string, misalnya program berikut menghitung jumlah karakter dalam string "Indonesia Raya" :

System.out.print("Jumlah karakter dalam \"Indonesia Raya\" adalah ");
System.out.print("Indonesia Raya".length());
System.out.println(" karakter");
 
Kelas String memiliki beberapa fungsi di antaranya :
  • s1.equals(s2) adalah fungsi yang mengembalikan nilai boolean (true atau false). Fungsi ini akan menghasilkan true jika s2 sama dengan s1, dan salah jika tidak. Kesamaan yang diuji adalah kesamaan persis baik kapitalnya maupun urutan huruf-hurufnya.
  • s1.equalsIgnoreCase(s2) juga menghasilkan nilai boolean yang menguji apakah string s2 sama dengan s1 dengan tidak membandingkan kapitalnya. "Kucing".equalsIgnoreCase("kucing") menghasilkan true.
  • s1.length(). Seperti diulas sebelumnya, fungsi ini menghitung jumlah karakter dalam string s1.
  • s1.charAt(N). N adalah integer (bilangan bulat). Fungsi ini mengembalikan karakter ke-N dari string s1. Karakter pertama dihitung sebagai posisi ke-0. s1.charAt(0) berarti mengambil karakter pertama, sedangkan s1.charAt(1) berarti mengambil karakter ke-2, dan seterusnya. Karakter terakhir memiliki indeks s1.length() - 1. Fungsi ini akan mengeluarkan pesan kesalahan apabila N bernilai negatif atau lebih besar dari s1.length() - 1.
  • s1.substring(N,M), di mana N dan M bilangan bulat. Fungsi ini mengambil potongan string antara karakter ke-N hingga karakter M-1. Catatan bahwa karakter ke-M tidak ikut diambil. Misalnya, "jalan layang".substring(1,4) menghasilkan "ala".
  • s1.indexOf(s2) mengembalikan nilai integer. Fungsi ini mencari string s2 di dalam string s1, dan apabila ditemukan mengembalikan posisi awal s2 di dalam s1. Jika tidak ditemukan, fungsi ini akan mengembalikan -1. Fungsi ini bisa juga digunakan untuk mencari string s2 dalam s1 setelah posisi ke-N dalam string s1. Misalnya, "kelapa muda".indexOf("a") menghasilkan 3, sedangkan "kelapa muda".indexOf("a",6) menghasilkan 10.
  • s1.compareTo(s2) membandingkan s2 dan s1. Jika s1 dan s2 sama, hasilnya 0. Jika s1 kurang dari s2, hasilnya bilangan negatif , dan jika s1 lebih besar dari s2, hasilnya bilangan positif. "Kurang dari" atau "lebih dari" mengacu pada urutannya dalam abjad jika keduanya huruf kecil atau keduanya huruf besar. Jika kapitalnya berbeda, perbandingannya bergantung pada nilai ASCII-nya.
  • s1.toUpperCase() adalah fungsi untuk mengubah seluruh huruf dalam s1 menjadi huruf besar.
  • s1.toLowerCase() berfungsi untuk mengubah huruf dalam s1 menjadi hurug kecil.
  • s1.trim() adalah berfungsi menghapus karakter yang tak bisa dicetak, misalnya spasi, baris baru, enter, yang ada sebelum atau sesudah suatu kalimat. Misalnya "  selamat pagi bu  ".trim() menghasilkan "selamat pagi bu".
Untuk s1.toUpperCase(), s1.toLowerCase(), s1.trim() nilai s1 tidak berubah. Fungsi ini melakukan perhitungan kemudian mengembalikan string baru hasil perhitungan tersebut.
Kita bisa juga menggunakan tanda + menyambung 2 string. Misalnya "mata" + "hari" menjadi "matahari". Nilai yang dapat disambungkan bukan hanya string dan string, tetapi juga string dan angka, misalnya "jalan" + 2 menjadi "jalan2".

 Sumber : http://java.lyracc.com/