Unknown
LANDASAN TEORI

A.    Pemrograman Berorientasi Objek
Pemrograman berorientasi objek adalah sebuah konsep pemrograman untuk membuat kode program yang lebih terstruktur, terkelompok berdasarkan objek-objek yang terlibat sehingga bagian-bagiannya dapat digunakan untuk pembuatan aplikasi lain. Pemrograman berorientasi objek membagi-bagi kode program menjadi kelas-kelas yang dibuat berdasarkan objek-objek yang terlibat dalam pengembangan program. Prosedur dan fungsi dikelompokan berdasarkan jenis objek atau benda yang dikenai proses ditambah dengan sebuah kelas untuk menampung program utama. Kelas-kelas yang dibuat akan digunakan oleh kelas utama karena kelas utama adalah kelas yang akan pertama kali dijalankan ketika program dijalankan (running). Prosedur dan fungsi pada pemrograman berorientasi objek  disebut dengan metode (method). Ide pemrograman berorientasi objek muncul agar kode program yang sudah dibuat untuk sebuah program berorientasi objek dapat digunakan untuk program lain, misalnya kode program kelas anggota yang disimpan disebuah file pada kasus penyewaan VCD dapat digunakan untuk program lain yang sama-sama melibatkan objek anggota, misalnya program perpustakaan (hanya dengan menyalin file kelas anggota).
Syarat umum bahasa yang mendukung pemrograman berorientasi objek :
§  Enkapsulasi (encapsulation)
Mampu membungkus atribut dan metode-metode dalam sebuah kelas dan dapat mencegah pengaksesan langsung atribut dan metode-metode yang ingin dilindungi didalam sebuah kelas, misalkan membungkus (mengkapsulasi)metode-metode yang terkait dengan VCD ke dalam kelas VCD.
§  Pewarisan (inheritance)
Memungkinkan adanya pendifinisian kelas baru yang memiliki sifat-sifat turunan dari kelas lain.
§  Polimorfisme (polymorphism)
Memungkinkan pembuatan pengaksesan metode-metode dengan nama yang sama namun berbeda parameter masukan atau berbeda kelas.
B.     Objek dan kelas
Pada dasarnya ada beberapa aturan dasar cara menentukan pembuatan kelas, apa saja yang harus dibuat kelas dan yag bukan. Secara logika kelas dalam dunia pemrograman dapat kita bayangkan seperti halnya kelas-kelas yang ada di sekolah dasar. Kelas digunakan untuk mengelompokan komponen-komponen dengan kriteria tertentu yang hampir sama dimiliki semua anggota kelas. Misal kelas 1 pada sekolah dasar adalah anak-anak yang memiliki usia 6 sampai  tahun. Dalam dunia pemrograman biasanya digunakan untuk mengelompokan benda dan proses yang terkait dengan aplikasi komputer yang akan dibuat (benda dan proses). Oleh karena itu sebelum merancang kelas-kelas apa saja yang dibutuhkan perlu dipelajari, bagaimana merancang data mengenai benda-benda yang terkait dan juga proses-proses yang terkait pada aplikasi komputer yang akan dibuat.
           
Sebuah kelas menyerupai sebuah struktur pada pemrograman prosedural ditambah dengan metode-metode yang diperlukan, misalkan tipe data titik yang terdiri koordinat x dan y memiliki metode-metode translasiTitik, rotasiTitik dan lain sebagainya. Metode pada pemrograman berorientasi objek mirip dengan prosedur atau fungsi pada pemrograman prosedural. Perbedaan sebuah kelas dengan sebuah struktur  (tipe bentukan/tipe terstruktur) pada pemrograman prosedural adalah sebuah kelas dapat berdiri sendiri dan dapat dipergunakan untuk berbagai  keperluan kelas-kelas yang lain, sedangkan sebuah struktur  (tipe bentukan/ tipe terstruktur) tidak dapat berdiri sendiri (tergabung dalam unit, header , atau bahkan pada program utama).
Kelas adalah tulisan kode program kelas yang ditulis oleh programer  sedangkan objek adalah kelas yang telah dieksekusi dan dijalankan menjadi program komputer yang sudah siap digunakan. Kita bisa melihat kelas sebagai sebuah file yang berisi kode program, sedangkan objek tidak dapat kita lihat bentuknya karena objek dijalankan di dalam proses komputer mengeksekusi program berorientasi objek. Objek adalah elemen pada saat runtime yang akan diciptakan, dimanipulasi, dan dihancurkan saat eksekusi sehingga sebuah objek hanya ada saat sebuah program dieksekusi, jika masih dalam bentuk kode, disebut sebagai kelas jadi pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek, didalam teks program yang kita lihat hanyalah kelas.
Sebuah file dapat terdiri dari beberapa kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file List.java berisi kelas List , namun jika kelas yang dibuat misalnya (dalam bahasa pemrograman Java):
      Public class nama_kelas{
      ........................
      }
maka kelas itu harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java akan ada sebuah file .class yang berisi bytecode dari setiap kelas. Jika sebuah file terdiri dari dua kelas maka setelah dikompilasi akan dihasilkan dua buah file .class yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi. Setiap kelas sebaiknya memang disimpan dalam satu file agar mudah diambil jika akan digunakan pada program lain yang membutuhkan kelas itu.
Dalam bahasa Java program utama dapat juga dibungkus dalam sebuah kelas. Java merupakan bahasa pemrograman berorientasi objek murni sehingga program utamanya pun dibungkus didalam kelas.
C.     Enkapsulasi
Enkapsulasi dapat dianggap sebagai sebuah bungkusan. Enkapsulasi inilah yang diimplementasikan dalam sebuah kelas di mana di dalam sebuah kelas terdiri dari atribut dan metode yang dibungkus dalam suatu kelas. Enkapsulasi pada sebuah kelas bertujuan untuk melindungi atribut dan metode-metode yang ada di dalam kelas agar tidak sembarangan diakses oleh kelas lain.
D.    Atribut (attribute) dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas. Misalkan pada kelas sebagai berikut:
Class Buku
            Private judul : string
            Private pengarang : string
           
            Buku()
            { end constructor }
{ end class }
makajuduladalah atribut dari kelas Buku yang bertipe string dan pengarang adalah atribut dari kelas Buku yang bertipe string . Atribut pada sebuah kelas memiliki izin akses jika kelas digunakan oleh kelas lain.
a.       Atribut Privat
Izin akses private pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk melindungi atribut-atributnya agar tidak dapat diakses oleh kelas lain. Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung.
b.      Atribut Public
Izin akses public sebuah atribut biasanya digunakan oleh sebuah kelas jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang mebungkusnya.
c.       Atribut Protected
Izin akses protected sebuah atribut biasanya digunakan oleh sebuah kelas jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain yang merupakan kelas turunannya (inheritance). Sebuah atribut yang dinyatakan sebagai protected dapat diakses secara langsung oleh kelas lain di luar kelas yang mebungkusnya kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya.
E.     Kontrukstor adalah salah jenis method khusus yang memiliki karakteristik sebagai berikut:
1.      Memiki nama yang sama dengan kelas yang membawahinya
2.      Tidak memiliki tipe return
3.      Otomatis dipanggil saat new instance atau objek dari kelas terbentuk, oleh karena itu disebut konstruktor.
4.      Konstruktor mengandung code inisialisasi dari setiap objek, seperti memberi nilai default kepada fields.
Konstruktor digunakan melakukan instasiasi sebuah object yang menggunakan kelas yang bersangkutan. Melakukan instansiasi adalah mengalokasikan sejumlah memori darikomputer, sesuatu kebutuhan struktur data yang digunakan.Keberadaan konstruktor dalam sebuah kelas Java bersifat  opsional, karena kelas abstrak misalnya tidak membutuhkan konstruktor karena tidak bisa diinstansiasi menjadi sebuah objek.
F.      Metode (Method)
Method adalah bagian dari tubuh program yang mengimplementasikan suatu action sehingga class atau object dapat bekerja. Method diimplementasikan didalam class dan menyediakan informasi tambahan yang mana class tidak dapat menangani sendiri.
Method dapat didefinisikan lagi, yaitu :
1.      Method yang memiliki parameter kosong atau memiliki beberapa parameter.
2.      Method dapat mengembalikan nilai (kecuali yang bersifat VOID)
3.      Method Static                   : Hanya dapat diakses dari class.
4.      Method Non Static           : Dapat diakses melalui instances.
G.    Overloading
Overloading merupakan bentuk polimorfisme yaitu beberapa metode dapat memiliki nama yang sama dengan isi dan parameter yang berbeda di dalam sebuah kelas. Overloading dapat dilakukan pada Method dan Constructor.











LISTING PROGRAM & RUN PROGRAM
Class pertama
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tugas1a;
import java.util.Scanner;
/**
 *
 * @author Selvi_M_V_
 */
public class Tugas1a {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner masuk = new Scanner (System.in);
        System.out.print("Masukan bil pertama : \t");
       
        int x = masuk.nextInt();
        System.out.print("Masukan bil kedua : \t");
        int y = masuk.nextInt();
        System.out.print("Hasil");
        Hitung akhir = new Hitung (x, y);
        System.out.println("pengurangan :"+ akhir.getPengurangan());
        System.out.println("penambahan :"+akhir.getPenambahan());
        System.out.println("pembagian :"+akhir.getPembagian());     
       
    }
}

Class Kedua
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tugas1a;

/**
 *
 * @author Selvi_M_V_
 */
public class Hitung {
    public Hitung (int awal, int akhir) {
        this.awal = awal;
        this.akhir = akhir;
    }
    private int awal;
    private int akhir;
    private int pengurangan;
    private int penambahan;
    private int pembagian;
    /**
     * @return the pengurangan
     */
    public int getPengurangan() {
        return awal-akhir;
    }

    /**
     * @return the penambahan
     */
    public int getPenambahan() {
        return awal+akhir;
    }

    /**
     * @return the pembagian
     */
    public int getPembagian() {
        return awal/akhir;
    }
}


   



Outputan :


 

   



DAFTAR PUSTAKA
Shalahudin,M. Dan Rosa A.S. 2010. PEMROGRAMAN BERORIENTASI OBJEK. Bandung :Modula.
Label: edit post
0 Responses

Posting Komentar