Senin, 10 April 2017

Perintah Java (Scanner dan Library)

Scanner
Scanner merupakan perintah untuk membuat objek atau menginisialisasi object yang diinginkan pengguna atau yang diinputkan pengguna.

contoh:

  public class Account   
  {   
   private double Balance;   
   public Account(double initialBalance)   
   {   
    if(initialBalance>0.0)   
     Balance=initialBalance;   
   }   
   public void credit(double amount)   
   {   
    Balance=Balance+amount;   
   }   
   public double getBalance()   
   {   
    return Balance;   
   }   
  }   

  import java.util.Scanner;   
  public class AccountTest   
  {   
   public static void main(String[] args)   
   {   
    Account account1=new Account(50.00);   
    Account account2=new Account(-7.53);   
    System.out.printf("account1 balance: $%.2f\n", account1.getBalance());   
    System.out.printf("account2 balance: $%.2f\n\n", account2.getBalance());   
    Scanner input=new Scanner(System.in);   
    double depositAmount;   
    System.out.print("Enter deposit amount for account1: ");   
    depositAmount=input.nextDouble();   
    System.out.printf("\nadding %.2f to account1 balance\n\n",   
     depositAmount );   
    account1.credit(depositAmount);   
    System.out.printf("Enter deposit amount for account2: ");   
    depositAmount=input.nextDouble();   
    System.out.printf("\nadding %.2f to account2 balance\n\n",   
     depositAmount);   
    account2.credit(depositAmount);   
    System.out.printf("account1 balance: $%.2f\n",   
     account1.getBalance());   
    System.out.printf("account2 balance: $%.2f\n",   
     account2.getBalance());   
   }   
  }   

Library

Library adalah sekumpulan package atau koleksi kelas yang telah disediakan oleh Java. Untuk menggunakan Library dalam java kita menggunakan syntax import. Syntax import digunakan untuk mengimport/memasukan method-method dari class/library yang lain, sehingga method tersebut dapat digunakan pada class yang memanggilnya. Fungsi ini harus diletakan pada baris awal program.

salah satu contoh yang sering digunakan yaitu javax.swing (berisi kelas-kelas untuk membentuk aplikasi GUI)

1. Dialog Box

  import javax.swing.JOptionPane;   
  public class Dialog1   
  {   
   public static void main (String[] args)   
   {   
    JOptionPane.showMessageDialog(null,"Welcome to java");   
   }   
  }   

2. Name Dialog Box

 import javax.swing.JOptionPane;   
  public class NameDialog   
  {   
   public static void main(String[] args)   
   {   
    String name=JOptionPane.showInputDialog("What is your name?");   
    String message=String.format("Welcome, %s, to Java Programming!", name);   
    JOptionPane.showMessageDialog(null, message);   
   }   
  }   

3. Memodifikasi Account Test mengguanakan Dialog Box

 import javax.swing.JOptionPane;   
  public class AccountTestDialogBox   
  {   
   public static void main (String[] args)   
   {   
    Account account1 = new Account (50.00);   
    Account account2 = new Account (-7.53);   
    String output1 = String.format ("account1 balance : $%.2f\naccount2 balance : $%.2f\n\n", account1.getBalance(), account2.getBalance());   
    JOptionPane.showMessageDialog (null, output1);   
    String input1 = JOptionPane.showInputDialog ("Enter deposit amount for account1 : ");   
    Double input1a = Double.parseDouble (input1);   
    account1.credit (input1a);    
    String message1 = String.format ("\nadding %s to account1 balance\n\n", input1);   
    JOptionPane.showMessageDialog (null, message1);   
    String output2 = String.format ("account1 balance : $%.2f\naccount2 balance : $%.2f\n\n", account1.getBalance(), account2.getBalance());   
    JOptionPane.showMessageDialog (null, output2);   
    String input2 = JOptionPane.showInputDialog ("Enter deposit amount for account2 : ");   
    Double input2a = Double.parseDouble (input2);   
    account2.credit (input2a);   
    String message2 = String.format ("\nadding %s to account2 balance\n\n", input2);   
    JOptionPane.showMessageDialog (null, message2);   
    String output3 = String.format ("account1 balance : $%.2f\naccount2 balance : $%.2f\n", account1.getBalance(), account2.getBalance());   
    JOptionPane.showMessageDialog (null, output3);   
   }   
  }   

Output tidak diberikan, agar pembaca dapat mencobanya sendiri.
sekian dan terima kasih, semoga bermanfaat

Overloading dan Overriding

Program-program Menghitung Bangun Datar

1.Persegi Panjang

 import java.util.Scanner;  
 public class persegi_panjang  
 {  
   public static void main(String [] args)  
   {  
     int panjang,lebar,luas,keliling;  
     Scanner S = new Scanner (System.in);  
     System.out.print("Masukan Panjang : ");  
       panjang=S.nextInt();  
     System.out.print("Masukan Lebar : ");  
       lebar=S.nextInt();  
       luas=(panjang*lebar);  
       keliling=2*(panjang+lebar);  
     System.out.println("Luas Persegi Panjang = "+luas);  
     System.out.println("Keliling Persegi Panjang = "+keliling);  
   }  
 }  

Hasil :



2. Segitiga

 import java.util.Scanner;  
 public class segitiga  
 {  
   public static void main(String[]args)  
   {  
     int alas,tinggi,luas,sisimiring1,sisimiring2,keliling;  
     Scanner S=new Scanner(System.in);  
     System.out.print("Masukkan Alas : ");  
     alas=S.nextInt();  
     System.out.print("Masukkan Tinggi : ");  
     tinggi=S.nextInt();  
     System.out.print("Masukkan Sisi Miring-1 : ");  
     sisimiring1=S.nextInt();  
     System.out.print("Masukkan Sisi Miring-2 : ");  
     sisimiring2=S.nextInt();  
     luas=(alas*tinggi)/2;  
     keliling=sisimiring1+sisimiring2+alas;  
     System.out.println("Luas Segitiga = "+luas);  
     System.out.println("Keliling Segitiga = "+keliling);  
   }  
 }  

Hasil:


3. Persegi

 import java.util.Scanner;  
 public class bujur_sangkar  
 {  
   public static void main(String []args)  
   {  
     int sisi,luas,keliling;  
     Scanner O=new Scanner (System.in);  
     System.out.print("Masukkan sisi : ");  
     sisi=O.nextInt();  
     luas=(sisi*sisi);  
     System.out.println("Luas Bujur Sangkar = "+luas);  
     keliling=(4*sisi);  
     System.out.println("Keliling Bujur Sangkar = "+keliling);  
   }  
 }  

Hasil:



4. Lingkaran

 import java.util.Scanner;  
 public class lingkaran  
 {  
   public static void main(String [] args)  
   {  
     double phi=3.14;  
     double r,luas,keliling;  
     Scanner I=new Scanner (System.in);  
     System.out.print("Masukkan Jari-jari Lingkaran : ");  
     r=I.nextInt();  
         luas=phi*r*r;  
         keliling=2*phi*r;  
     System.out.println("Luas Lingkaran = "+luas);  
     System.out.println("Keliling Lingkaran = "+keliling);  
   }  
 }  

Hasil:

Senin, 03 April 2017

Mesin Antrian BANK



Simulasi Mesin Antrian Bank

Bank merupakan tempat berkumpulnya masyarakat untuk menyimpan atau pun mengambil uang. Sebelum melakukan transaksi biasanya nasabah diminta mengambil nomor antrian di mesin pencetak antrian.


Mesin pencetak antrian bank adalah system yang berfungsi untuk mengelola nomor urut antrian nasabah bank. Mesin ini mempunyai fungsi, mempermudah teller dan customer service, atau layanan lain pada bank tersebut, memanggil nasabah dan melayani sesuai dengan keperluan nasabah, pada masing-masing layanan.




Mesin Antrian Bank

Input : jenis layanan








Output : Nomor antrian, Jenis layanan dan tanggal.



Implementasinya :

1. Class Antrian



2. Class Test


hasil Program :

Saat memilih pilihan 1.Teller

 Saat memilih pilihan 2.Costumer Service


Selasa, 07 Maret 2017

composition, enumerations and static class


1. Composition
Composition adalah dimana hubungan suatu object bergantung dengan objek lainnya.

program 8.7

/**
 * Write a description of class Date here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Date
    {
      private int month;
      private int day;
      private int year;
      private static final int[] daysPerMonth = 
      { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
      public Date( int theMonth, int theDay, int theYear )
        {
          month = checkMonth( theMonth );
          year = theYear;
          day = checkDay( theDay );
          System.out.printf("Date object constructor for date %s\n", this );
        }
    private int checkMonth( int testMonth )
        {
          if ( testMonth > 0 && testMonth <= 12 )
          return testMonth;
        
          else
          throw new IllegalArgumentException( "month must be 1-12" );
        }
    private int checkDay( int testDay )
       {
        if ( testDay > 0 && testDay <= daysPerMonth[ month ] )
        return testDay;
        if ( month == 2 && testDay == 29 && ( year % 400 == 0 ||
        ( year % 4 == 0 && year % 100 != 0 ) ) )
        return testDay;
        throw new IllegalArgumentException
        ("day out-of-range for the specified month and year" );
       }
    public String toString()
    {
        return String.format( "%d/%d/%d", month, day, year );
    }
}


program 8.8

/**
 * Write a description of class Employee here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Employee
{
    private String firstName;
    private String lastName;
    private Date birthDate;
    private Date hireDate;
   public Employee( String first, String last, Date dateOfBirth,
   Date dateOfHire )
   {
      firstName = first;
      lastName = last;
      birthDate = dateOfBirth;
      hireDate = dateOfHire;
   }
   public String toString()
    {
        return String.format( "%s, %s Hired: %s Birthday: %s",
        lastName, firstName, hireDate, birthDate );
    }
}



program 8.9

/**
 * Write a description of class EmployeeTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class EmployeeTest
{
    public static void main( String[] args )
    {
        Date birth = new Date( 7, 24, 1949 );
        Date hire = new Date( 3, 12, 1988 );
        Employee employee = new Employee( "Bob", "Blue", birth, hire );
        System.out.println( employee );
    }
 }



2. Enumerations
Enumeration adalah kumpulan nama-nama konstant yang didefinisikan sebagai tipe data baru. Sebuah objek bertipe Enumeration dapat mengakses isi dari kumpulan nilai pada enumeration.
program 8.10

/**
 * Write a description of class Book here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public enum Book
{
    JHTP( "Java How to Program", "2012" ),
    CHTP( "C How to Program", "2007" ),
    IW3HTP( "Internet & World Wide Web How to Program", "2008" ),
    CPPHTP( "C++ How to Program", "2012" ),
    VBHTP( "Visual Basic 2010 How to Program", "2011" ),
    CSHARPHTP( "Visual C# 2010 How to Program", "2011" );
    private final String title;
    private final String copyrightYear;
    Book( String bookTitle, String year )
    {
        title = bookTitle;
        copyrightYear = year;
    }
    public String getTitle()
    {
        return title;
    }
    public String getCopyrightYear()
    {
        return copyrightYear;
    } // end method getCopyrightYear
}


program 8.11

/**
 * Write a description of class EnumTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
import java.util.EnumSet;
    public class EnumTest
    {
        public static void main( String[] args )
        {
           System.out.println( "All books:\n" );
           for( Book book : Book.values() )
            System.out.printf("%-10s%-45s%s\n", book,
            book.getTitle(), book.getCopyrightYear());
       System.out.println("\nDisplay a range of enum constants:\n" );
       for( Book book : EnumSet.range (Book.JHTP, Book.CPPHTP ))
            System.out.printf("%-10s%-45s%s\n", book,
            book.getTitle(), book.getCopyrightYear());
        }
    }


3. Static Class Members
Apabila sebuah variabel didefinisikan static didalam sebuah class, maka untuk memanggil variabel tersebut kita tidak perlu membuat objek dari class tersebut, namun langsung bisa memanggil variabel tersebut dari nama class dimana dia dideklarasikan.


program 8.12

/**
 * Write a description of class Employee2 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */

public class Employee2
{
    private String firstName;
    private String lastName;
    private static int count = 0;
    public Employee2( String first, String last )
        {
            firstName = first;
            lastName = last;
            ++count;

            System.out.printf( "Employee constructor: %s %s; count = %d\n",
            firstName, lastName, count );
        }
    public String getFirstName()
    {
    return firstName;
    }
    public String getLastName()
    {
        return lastName;
    }

    public static int getCount()
    {
        return count;
    }
}



program 8.13

/**
 * Write a description of class Employee2Test here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Employee2Test
{
    public static void main (String[] args)
    {
        System.out.printf("Employees before instantiation: %d\n",Employee2.getCount ());
    
        Employee2 e1= new Employee ("Susan", "Baker");
        Employee2 e2= new Employee ("Bob", "Blue");
    
        System.out.println( "\nEmployees after instantiation: " );
        System.out.printf( "via e1.getCount(): %d\n",e1.getCount() );
        System.out.printf( "via e2.getCount(): %d\n",e2.getCount() );
        System.out.printf( "via Employee.getCount(): %d\n",Employee2.getCount());

        System.out.printf( "\nEmployee 1: %s %s\nEmployee 2: %s %s\n",
        e1.getFirstName(), e1.getLastName(),
        e2.getFirstName(), e2.getLastName() );
        e1= null;
        e2 = null;
    }
}







Minggu, 05 Maret 2017

Ticket Machine



Ticket Machine adalah sebuah mesin seperti ATM, yang berfungsi melayani penjualan tiket kereta api dari satu tujuan ke tujuan yang lain. Di dalam Ticket Machine ada sebuah program atau perangkat lunak yang mengatur harga tiket di tiap tujuan, mengatur kembalian uang, dan juga mencetak receipt sebagai bukti pembelian tiket.

Berikut implementasikan programnya menggunakan Blue J.



/**
 * Write a description of class TicketMachine here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class TicketMachine  
 {  
   private int price;  
   private int balance;  
   private int total;  
   public TicketMachine(int ticketCost)  
   {  
     price = ticketCost;  
     balance = 0;  
     total = 0;  
   }  
   public int getPrice()  
   {  
     return price;  
   }  
   public int getBalance()  
   {  
     return balance;  
   }  
   public void insertMoney(int amount)  
   {  
     balance = balance + amount;  
   }  
   public void printTicket()  
   {  
     System.out.println("@@@@@@@@@@@@@@@@@@");  
     System.out.println("@ The BlueJ Line @");  
     System.out.println("@ Ticket     @");  
     System.out.println("" + price + " cents.");  
     System.out.println();  
     total = total + balance;  
     balance = 0;  
   }  
 }



/**
 * Write a description of class IntMain here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
 import java.util.Scanner;  
 public class IntMain  
 {  
    public static int main()  
       {  
         Scanner scan = new Scanner(System.in);  
         int cost,menu;  
         System.out.println("Masukkan harga tiket \n");  
         cost=scan.nextInt();  
         TicketMachine ticket=new TicketMachine(cost);  
         while (true){  
           System.out.println("1. Get Price");  
           System.out.println("2. Get Balance");  
           System.out.println("3. Insert Money");  
           System.out.println("4. Print Ticket");  
           System.out.println("5. EKZIT");  
           menu=scan.nextInt();  
         switch(menu)  
         {  
           case 1:  
           cost=ticket.getPrice();  
           System.out.println(cost);  
           break;  
           case 2:  
           System.out.println(ticket.getBalance());  
           break;  
           case 3:  
           int money=scan.nextInt();  
           ticket.insertMoney(money);  
           break;  
           case 4:  
           ticket.printTicket();  
           break;  
           case 5:  
           return 0;  
         }  
       }  
     }  
   }

Senin, 27 Februari 2017

JAVA TIME PRACTICE



Dibawah ini adalah beberapa program Latihan Bahasa JAVA untuk time practice yang di ambil dari buku "Java How To Program - Ninth Edition (2012)"

program 1 (Time)
/**
 * Write a description of class Time here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Time
{
    
    private int hour;
    private int minute;
    private int second;


    public void  setTime(int h, int m, int s)
    {
      if ( ( h >= 0 && h < 24 ) && ( m >= 0 && m < 60 ) &&( s >= 0 && s < 60 ) )
        {
         hour = h;
         minute = m;
         second = s;
        }
      else
        throw new IllegalArgumentException("hour, minute and/or second was out of range" );
    
    }
    public String toUniversalString()
    {
        return String.format( "%02d:%02d:%02d", hour, minute, second );
    } 
    public String toString()
    {
        return String.format( "%d:%02d:%02d %s",
        ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ),
        minute, second, ( hour < 12 ? "AM" : "PM" ) );
    
    }
    

}

Program 2 (TimeTest)


/**
 * Write a description of class TimeTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class TimeTest
{
    public static void main( String [] args )
    {
        Time time = new Time();
        
        System.out.print    (" The initial universal time is: ");
        System.out.println  ( time.toUniversalString() );
        System.out.print    (" The initial Standard time is: ");
        System.out.println  ( time.toString() );
        System.out.println  ();
        
        time.setTime(13, 27, 6);
        System.out.print    (" Universal time after selfTime: ");
        System.out.println  ( time.toUniversalString() );
        System.out.print    (" Standard time after selfTime is: ");
        System.out.println  ( time.toString() );
        System.out.println();
        
        try
        {
            time.setTime(99, 99, 99);
        }
        catch (IllegalArgumentException e)
        {
            System.out.println  (" After attempting invalid settings: ");
            System.out.print    (" Universal time : ");
            System.out.println  ( time.toUniversalString() );
            System.out.print    (" Standard time: ");
            System.out.println  (time.toString() );
        }

   }
}

Program 3 (MemberAccesTest)


/**
 * Write a description of class MemberAccessTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class MemberAccessTest
{
 public static void main( String[] args )
   {
     Time time = new Time(); 
     time.hour = 7; // error: hour has private access in Time1
     time.minute = 15; // error: minute has private access in Time1
     time.second = 30; // error: second has private access in Time1
   }
}

Program 4 (ThisTest)


/**
 * Write a description of class ThisTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class ThisTest
{
    public static void main( String[] args )
    {
        SimpleTime time = new SimpleTime( 15, 30, 19 );
        System.out.println( time.buildString() );
    }
    
}
class SimpleTime
{
    private int hour;
    private int minute;
    private int second;
    
    public SimpleTime( int hour, int minute, int second )
    {
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }
    
    public String buildString()
    {
     return String.format( "%24s: %s\n%24s: %s","this.toUniversalString()", this.toUniversalString(),
     "toUniversalString()", toUniversalString());
    }
    public String toUniversalString()
    {
        return String.format( "%02d:%02d:%02d",this.hour, this.minute, this.second);

    }
}

Program 5 (Time2)


/**
 * Write a description of class Time2 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Time2
{
       private int hour;
       private int minute;
       private int second;
       public Time2()
       {
          this( 0, 0, 0 );
       } 
       public Time2( int h )
       {
          this( h, 0, 0 );
       }
    
       public Time2( int h, int m )
       {
           this( h, m, 0 );
       }
        public Time2( int h, int m, int s )
       {
            setTime( h, m, s );
       }
       public Time2( Time2 time )
       {
           this( time.getHour(), time.getMinute(), time.getSecond() );
       }
       public void setTime( int h, int m, int s )
       {
           setHour( h );
           setMinute( m );
           setSecond( s );
        } 
       public void setHour( int h )
        {
           if ( h >= 0 && h < 24 )
           hour = h;
           else
           throw new IllegalArgumentException( "hour must be 0-23" );
        }
        // validate and set minute
       public void setMinute( int m )
        {
           if ( m >= 0 && m < 60 )
           minute = m;
           else
           throw new IllegalArgumentException( "minute must be 0-59" );
        }
       public void setSecond( int s )
       {
           if ( s >= 0 && s < 60 )
           second = ( ( s >= 0 && s < 60 ) ? s : 0 );
           else
           throw new IllegalArgumentException( "second must be 0-59" );
        }
       public int getHour()
       {
           return hour;
       }
       public int getMinute()
       {
           return minute;
       }
       public int getSecond()
       {
           return second;
       }
       public String toUniversalString()
       {
           return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond() );
       }
       public String toString()
       {
        return String.format( "%d:%02d:%02d %s",
        ( (getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12 ),
        getMinute(), getSecond(), ( getHour() < 12 ? "AM" : "PM" ) );
       }
}

Program 6 (Time2Test)


/**
 * Write a description of class Time2Test here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Time2Test
{
    public static void main( String[] args )
    {
        Time2 t1 = new Time2();
        Time2 t2 = new Time2( 2 );
        Time2 t3 = new Time2( 21, 34 );
        Time2 t4 = new Time2( 12, 25, 42 );
        Time2 t5 = new Time2( t4 );
        System.out.println( "Constructed with:" );
        System.out.println( "t1: all arguments defaulted" );
        System.out.printf( " %s\n", t1.toUniversalString() );
        System.out.printf( " %s\n", t1.toString() );
        
        System.out.println("t2: hour specified; minute and second defaulted" );
        System.out.printf( " %s\n", t2.toUniversalString() );
        System.out.printf( " %s\n", t2.toString() );
        
        System.out.println("t3: hour and minute specified; second defaulted" );
        System.out.printf( " %s\n", t3.toUniversalString() );
        System.out.printf( " %s\n", t3.toString() );
        
        System.out.println( "t4: hour, minute and second specified" );
        System.out.printf( " %s\n", t4.toUniversalString() );
        System.out.printf( " %s\n", t4.toString() );
        
        System.out.println( "t5: Time2 object t4 specified" );
        System.out.printf( " %s\n", t5.toUniversalString() );
        System.out.printf( " %s\n", t5.toString() );
        
       try
       {
           Time2 t6 = new Time2( 27, 74, 99 );
       }
       catch ( IllegalArgumentException e )
       {
       System.out.printf( "\nException while initializing t6: %s\n",e.getMessage() );
       }
    }
}

untuk output, silahkan dicoba sendiri, Karena dengan mencoba kita akan sekaligus belajar.

Senin, 20 Februari 2017

Pemrograman Berorientasi Objek (OOT)



A. KONSEP PEMROGRAMAN BERORIENTASI OBJEK (OOT)      
     
 Dalam kuliah teknik informatika, ada mata kuliah yang bernama pemrograman berorientasi objek,dimana di amata kuliah ini  menjelaskan tentang  paradigma pemrograman yang memandang sistem yang akan dibangun berdasarkan objek objek yang terlibat dan interaksinya dalam sistem.  Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Sistem dibangun dengan membuat objek objek dan menginteraksikannya untuk menyelesaikan suatu pekerjaan, dengan kata lain Program adalah serangkaian object yang berinteraksi untuk menyelesaikan suatu masalah. Jadi banyak sekali paradigma yang bisa kita gunakan dalam menyelesaikan masalah dalam pemrograman, sekarang paradigma pemrograman berorientasi object yang sering digunakan oleh programer. Pemrograman berorientasi object berputar pada konsep dari obyek yang merupakan elemen dasar dari program. Penggunaan pemrograman berorientasi objek sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya.
komponen dasar dalam pemrograman berorientasi objek :


1. Class
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of mobil’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari mobil. Dalam pemrograman class adalah struktur dalam program yang berisi satu atau beberapa metode (dapat berupa fungsi dan/atau prosedur) dan atribut (dapat berupa data ataupun variabel yang akan dioperasikan dalam metode), dengan demikian atribut merupakan anggota kelas yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis.

2. Object
Secara definisi bahwa yang dimaksud dengan Object adalah sekumpulan data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek, bisa dikatan juga bahwa object adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yang berhubungan. Sebuah obyek adalah sebuah instance (keturunan) dari class. Dari penjelasan tersebut bisa disimpulkan bahwa hubungan antara class dan object yaitu, Class adalah suatu template/blueprint/rancangan dari object yang akan dibuat dan Object adalah sesuatu yang diciptakan dari Class. khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek, bisa dikatan juga bahwa object adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yang berhubungan. Sebuah obyek adalah sebuah instance (keturunan) dari class.

3. Attribute / Atribut 
merupakan nilai data yang terdapat pada suatu object di dalam class. Attribute mempunyai karakterisitik yang membedakan object yang satu dengan object yang lainya. Contoh : pada Class Buah terdapat attribute:warna, berat. Misalkan pada object mangga: warna berisi kuning dan berat 0.5 kg dan pada object apel : warna merah dan berat 0.6 kg
4. Abstraksi 
kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

5. Enkapsulasi 
memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

6. Polimorfisme 
melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Dalam pemrograman hubungan class dan object bisa kita misalkan, kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan melakukan rem.

B. CONTOH PROGRAM CLASS

1. Class Barang


2. Class Mahasiswa



sumber :

  • pengalaman
  • wikipedia
  • http://pbo-re.blogspot.co.id/2010/03/pengertian-class-attribute-object.html
  • http://auliarosalinda.blogspot.co.id/2013/03/konsep-dasar-pemograman-berorientasi.html