Kamis, 25 April 2013

contoh soal class travel


Tugas Blog Inputan pada Java


INPUTAN PADA JAVA
Adalah perintah untuk memberikan nilai / input pada bahasa java. Dibagi menjadi 3, yaitu :
  1. Input Stream : suatu perintah yang disediakan oleh java untuk melakukan proses input output (menggunakan java  io) dan memerlukan konversi .
  2. Input B uffered Reader : suatu perintah yang disediakan oleh java untuk melakukan proses input output (menggunakan java  io), perlu penampung data untuk prosesnya, dan perlu konversi.
  1. Input Scanner : suatu perintah yang disediakan oleh java yang menggunakan Java Utilities dan tidak perlu dikonversi.

Contoh Soal :

LISTING class travel
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * travel.java
 *
 * Created on Apr 22, 2013, 8:26:52 PM
 */
package pkg11121042;

/**
 *
 * @author zeus
 */
public class travel extends javax.swing.JFrame {
int harga, jml, bayar, uby, kembali;
    /** Creates new form travel */
    public travel() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jenis = new javax.swing.ButtonGroup();
        jLabel1 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jurusan = new javax.swing.JComboBox();
        jRadioButton1 = new javax.swing.JRadioButton();
        jRadioButton2 = new javax.swing.JRadioButton();
        hrg = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        nomor = new javax.swing.JTextField();
        nama = new javax.swing.JTextField();
        jumlah = new javax.swing.JTextField();
        ubay = new javax.swing.JTextField();
        total1 = new javax.swing.JTextField();
        ukem = new javax.swing.JTextField();
        input = new javax.swing.JButton();
        keluar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setText("Penjualan Tiket Bus Rajawali");

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Data Bus"));

        jLabel2.setText("Jurusan");

        jLabel3.setText("Jenis");

        jLabel4.setText("Harga");

        jurusan.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Bandung", "Semarang", "Jogjakarta", "Solo", "Malang", "Surabaya" }));

        jRadioButton1.setText("VIP");
        jRadioButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButton1ActionPerformed(evt);
            }
        });

        jRadioButton2.setText("EXECUTIVE");
        jRadioButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 44, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jurusan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jRadioButton1)
                        .addGap(18, 18, 18)
                        .addComponent(jRadioButton2))
                    .addComponent(hrg, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(51, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jurusan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel3)
                        .addGap(16, 16, 16)
                        .addComponent(jLabel4))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(15, 15, 15)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jRadioButton1)
                            .addComponent(jRadioButton2))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE)
                        .addComponent(hrg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );

        jLabel5.setText("Nomor Kursi");

        jLabel6.setText("Nama Penumpang");

        jLabel7.setText("Jumlah Beli");

        jLabel8.setText("Total Bayar");

        jLabel9.setText("Uang Bayar");

        jLabel10.setText("Kembalian");

        jumlah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jumlahActionPerformed(evt);
            }
        });

        ubay.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ubayActionPerformed(evt);
            }
        });

        input.setText("Input lagi");
        input.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                inputActionPerformed(evt);
            }
        });

        keluar.setText("keluar");
        keluar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                keluarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(65, 65, 65)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(27, 27, 27)
                                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(39, 39, 39)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel5)
                                    .addComponent(jLabel6)
                                    .addComponent(jLabel7)
                                    .addComponent(jLabel8)
                                    .addComponent(jLabel10)
                                    .addComponent(jLabel9)))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(66, 66, 66)
                                .addComponent(input)
                                .addGap(33, 33, 33)
                                .addComponent(keluar)))
                        .addGap(69, 69, 69)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(total1, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(ubay, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jumlah, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(nomor, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(ukem, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(26, 26, 26)
                        .addComponent(jLabel1)
                        .addGap(27, 27, 27)
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(input)
                            .addComponent(keluar)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(76, 76, 76)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel5)
                            .addComponent(nomor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel6)
                            .addComponent(nama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel7)
                                .addGap(18, 18, 18)
                                .addComponent(jLabel8))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jumlah, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(total1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(ubay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel9))))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel10)
                    .addComponent(ukem, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(28, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                       

    private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
        if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Bandung"))
{
    harga=85000;
}
else if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Semarang"))
{
    harga=20000;
}
else if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Jogjakarta"))
{
    harga=145000;
}
else if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Solo"))
{
    harga=150000;
}
else if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Malang"))
{
    harga=180000;
}
else {
    harga=200000;
}
hrg.setText(String.valueOf(harga));
    }                                            

    private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
        if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Bandung"))
{
    harga=100000;
}
   
if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Semarang"))
{
    harga=140000;
}
if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Jogjakarta"))
{
    harga=175000;
}
if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Solo"))
{
    harga=185000;
}
if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Malang"))
{
    harga=200000;
}
if(jurusan.getSelectedItem().toString().equalsIgnoreCase("Surabaya"))
{
    harga=215000;
}
hrg.setText(String.valueOf(harga));
    }                                            

    private void jumlahActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        jml=Integer.parseInt(jumlah.getText());
        bayar=harga*jml;
        total1.setText(String.valueOf(bayar));
    }                                     

    private void ubayActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
     uby= Integer.parseInt(ubay.getText());
     kembali=uby-bayar;
     ukem.setText(String.valueOf(kembali));
    }                                   

    private void keluarActionPerformed(java.awt.event.ActionEvent evt) {                                      
System.exit(0);        // TODO add your handling code here:
    }                                      

    private void inputActionPerformed(java.awt.event.ActionEvent evt) {                                     
hrg.setText("");
nomor.setText("");
nama.setText("");
jumlah.setText("");
total1.setText("");
ubay.setText("");
ukem.setText("");
jRadioButton1.setSelected(false);
jRadioButton2.setSelected(false);
jurusan.setSelectedIndex(-1);
jurusan.requestFocus();
    }                                    

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new travel().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                    
    private javax.swing.JTextField hrg;
    private javax.swing.JButton input;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JRadioButton jRadioButton1;
    private javax.swing.JRadioButton jRadioButton2;
    private javax.swing.ButtonGroup jenis;
    private javax.swing.JTextField jumlah;
    private javax.swing.JComboBox jurusan;
    private javax.swing.JButton keluar;
    private javax.swing.JTextField nama;
    private javax.swing.JTextField nomor;
    private javax.swing.JTextField total1;
    private javax.swing.JTextField ubay;
    private javax.swing.JTextField ukem;
    // End of variables declaration                  
}

Sumber dari : materi matkul java – Nusa Mandiri

Senin, 01 April 2013

Tugas 2 : Artikel Tentang Method dan Parameter beserta contoh dan latihannya

Method dan Parameter dalam JAVA

Method dan Parameter dalam JAVA
1.      Pengertian
  1. Method
Method adalah implementasi operasi yang bisa di lakukan oleh Class dan Object atau bagaimana suatu class bekerja. Operasi – operasi yang dilakukan oleh method, diantaranya, yaitu :
  1. Suatu Method bisa menerima dan memanipulasi data atau field didalam diri Method tersebut.
  2. Suatu Method bisa mempengaruhi nilai suatu object lain.
Method  melakukan :
  1. Memanipulasi data
  2. Perhitungan matematika
  3. Mengontrol proses
  4. Memonitori kejadian dari suatu event
Untuk membuat atau menciptakan suatu method ada 4 bagian yang mendasar  yaitu:
  1. Nama Method
  2. Daftar parameter-parameter
  3. Tipe objek atau tipe primitive ( tipe data ) yang di kembalikan method
  4. Badan program method
Suatu method memiliki dua jenis di java :
a)     Method yang di sediakan di java itu sendiri, antara lain
  • Println; pada System.out
  • showMessageDialog () / showInputDialog () ; pada JoptionPane
  • Nextlnt () ; pada fungsi Scanner
  • Equals; pada String
  • Etc
b)     Method yang dapat kita buat sendiri
Untuk membuat method yang di buat sendiri di java , sintaksnya yaitu ;
Modifier returnValueType Methodname(List parameters )
{
                 Statement;
}
2.   Parameter
Parameter merupakan bagian dari method yang mana di dalam suatu method bisa memiliki 1 parameter atau  lebih dari 1 parameter. Parameter itu sendiri adalah suatu bagian dari method yang mana harus di beri type data dan disini penulis menganggap suatu parameter mirip sekali dengan variable ( tetapi yang merupakan dalan bagian dari method ) yang bisa menentukan suatu nilai atau merubah suatu nilai nantinya saat di program java di jalankan ( Running )  atau di tampilkan dengan method yang sudah ada di java.

 2.     Membuat suatu program
Contoh coding dan tampilan dari program segitiga bintang bernilai 4 ( Looping )
1. Tampilan Program








2. Coding dari Program membuat program segitiga bintang bernilai 4 ( Looping ) :
public class cetakbintang{
public static void bintang()
{
for(int i=6;i >=1;i–){
for(int j=i;j >=1;j–){
System.out.print(“*”);
}
System.out.println();
}
}
public static void main(String[]args)
{
System.out.println(” Segitiga Bintang bernilai 4″);
System.out.println();
bintang();
}
}
Selain contoh dengan listing ( Looping ) di atas penulis juga membuat dengan coding yang lain tetapi menghasilkan tampilan yang sama:
1. Tampilan












codingnya adalah :
2. Coding
public class cetakbintang1{
public static void bintang()
{
for(int i=1;i <=6;i++){
for(int j=i;j <=6;j++){
System.out.print(“*”);
}
System.out.println();
}
}
public static void main(String[]args)
{
System.out.println(” Segitiga Bintang bernilai 4″);
System.out.println();
bintang();
}
}
3. Membuat kalkulator sederhan yang berisi metod dan parameter serta mengeksekusinya
1. Tampilan





2. Coding dari Class Kalkulator:
/**
* @(#)kalkulator.java
*
*
* @author
* @version 1.00 2012/3/25
*/
public class kalkulator {
int operan1;
int operan2;
int operan3;
int operan4;
int hitung()
{
return operan1+operan2;
}
void hitung (int operan1,int operan2)
{
operan1=operan1;
operan2=operan2;
operan3=operan3;
operan4=operan4;
}
}
3. Coding untuk pengeksekusian dari kalkulator tersebut :
/**
* @(#)kalkulator beraksi.java
*
*
* @author
* @version 1.00 2012/3/25
*/
public class kalkulatorberaksi {
public static void main(String[]arg){
kalkulator kalkulator1 = new kalkulator();
int tambah;
int kurang;
kalkulator1.operan1=30;
kalkulator1.operan2=30;
kalkulator1.operan3=20;
kalkulator1.operan4=10;
System.out.println();
tambah = kalkulator1.operan1+ kalkulator1.operan2;
kurang= kalkulator1.operan3-kalkulator1.operan4;
System.out.println(“Contoh Kalkulator Sederhana yang menggunakan method dan paramater :”);
System.out.println(” Pertambahan= 30+30=”+tambah);
System.out.println(” Pengurangan= 20-10=”+ kurang);
}
}

Tugas No. 2
Listing:

public class SegitigaBintang{
     public void printInitialization(){
        System.out.println("General Output");
        System.out.println("------------------------------
Configuration: <Default> -----");
     }
    
     public void printTriangle(final int count){
       System.out.println("Segitiga bintang bernilai " + String.valueOf(count));
      
       int i;
       for(i=count; i> 0; i--){
        for(int j=0; j<i; j++) {
          System.out.print(" * ");
        }
         System.out.print("\n");     
       }
     }

     public static void main(String []args){
        final int count = 4;
    SegitigaBintang obj = new SegitigaBintang();
    obj.printInitialization();
    obj.printTriangle(count);
     }
}

Tampilan :



Tugas No. 3
Listing :
public class KalkulatorBeraksi{
     class Kalkulator{
       public void pertambahan(final int ops1, final int ops2){
       final int hasil = ops1 + ops2;
         System.out.println("Pertambahan : " + String.valueOf(ops1 + " + " + String.valueOf(ops2) + " = " + String.valueOf(hasil)));
       }
     
       public void pengurangan(final int ops1, final int ops2){
        final int hasil = ops1 - ops2;
         System.out.println("Pengurangan : " + String.valueOf(ops1 - " + " + String.valueOf(ops2) + " = " + String.valueOf(hasil)));
       }
     }
    
     public static void main(String []args){
        final int operand1 = 30;
        final int operand2 = 20;
        final int operand3 = 10;
    KalkulatorBeraksi obj = new KalkulatorBeraksi();
    KalkulatorBeraksi.Kalkulator obj2 = obj. new Kalkulator();
    obj2.pertambahan(operand1, operand1);
    obj2.pengurangan(operand2, operand3);
     }


Tampilan :



Referensi ; modul NUSA MANDIRI
Ilmu Komputer.com ( Brainmatics ) materi Object-orientted paradigmn
http://catatanbelajardiriku.wordpress.com