Que is improving JAVA

JAVA Language Learning Forum Community


    [Tutorial IV : Konsep Pemrograman Berorientasi Obyek]

    Share
    avatar
    quetzlcoatl
    Admin

    Jumlah posting : 11
    Reputasi : 0
    Join date : 2009-12-31
    Age : 28
    Lokasi : Palembang

    [Tutorial IV : Konsep Pemrograman Berorientasi Obyek]

    Post  quetzlcoatl on Thu Dec 31, 2009 6:03 pm

    Jika Anda sebelumnya belum pernah menggunakan bahasa pemrograman berorientasi obyek, Anda harus belajar beberapa konsep dasar sebelum Anda dapat mulai menulis kode apapun. Pelajaran ini akan memperkenalkan Anda kepada objek, kelas, pewarisan, antarmuka, dan paket. Setiap diskusi berfokus pada bagaimana konsep-konsep ini berkaitan dengan dunia nyata, sementara secara bersamaan memberikan pengenalan sintaks bahasa pemrograman Java.

    Apakah Obyek Itu?
    Sebuah objek adalah sebuah perangkat lunak terkait dengan kedudukan dan mempunyai perilaku. Objek perangkat lunak sering digunakan untuk memodelkan benda dunia nyata yang Anda temukan dalam kehidupan sehari-hari. Pelajaran ini menjelaskan bagaimana perilaku negara dan direpresentasikan dalam suatu objek, memperkenalkan konsep enkapsulasi data, dan menjelaskan manfaat dari merancang perangkat lunak Anda dengan cara ini.

    Objek adalah kunci untuk memahami teknologi berorientasi objek. Lihatlah ke sekeliling sekarang juga dan Anda akan menemukan banyak contoh di dunia nyata benda: anjing Anda, meja Anda, pesawat televisi, sepeda Anda.

    Objek dunia nyata berbagi dua karakteristik: Mereka semua punya kedudukan dan perilaku. Anjing memiliki kedudukan(nama, warna, jenis, lapar) dan perilaku (menggonggong, mengambil, menggoyangkan ekor). Sepeda juga memiliki kedudukan(gigi sekarang, irama pedal saat ini, kecepatan saat ini) dan perilaku (perubahan gear, mengubah irama pedal, menerapkan rem). Mengidentifikasi kedudukan dan perilaku untuk objek dunia nyata adalah cara yang bagus untuk mulai berpikir dalam kerangka pemrograman berorientasi obyek.

    Luangkan waktu sebentar sekarang untuk mengamati benda dunia nyata yang berada di dekat Anda. Untuk setiap objek yang Anda lihat, tanyakan pada diri sendiri dua pertanyaan: "Apa mungkin kedudukan dapat berada di objek ini?" dan "Apa mungkin objek ini bisa mempunyai perilaku?". Pastikan untuk menuliskan pengamatan Anda. Ketika Anda melakukannya, Anda akan melihat bahwa benda-benda dunia nyata bervariasi dalam kompleksitas; lampu desktop Anda mungkin hanya mempunyai dua kemungkinan kedudukan (on dan off) dan dua kemungkinan perilaku (hidupkan, matikan), tetapi radio desktop Anda mungkin mempunyai tambahan kedudukan (on, off, volume saat ini, stasiun saat ini) dan perilaku (hidupkan, matikan, meningkatkan volume, mengurangi volume, mencari, scan, dan lagu). Anda mungkin juga melihat bahwa beberapa benda, pada gilirannya, akan juga berisi objek lain. Pengamatan Dunia nyata ini semuanya diterjemahkan ke dalam dunia pemrograman berorientasi objek.


    Sebuah objek perangkat lunak.

    Software objek secara konseptual mirip dengan benda dunia nyata: mereka juga terdiri dari kedudukan dan perilaku yang terkait. Sebuah objek toko dengan kedudukan di bidang-bidang (variabel dalam beberapa bahasa pemrograman) dan mengekspos perilakunya melalui metode (fungsi dalam beberapa bahasa pemrograman). Metode beroperasi pada objek kedudukan internal dan berfungsi sebagai mekanisme utama untuk objek-objek komunikasi. Menyembunyikan kedudukan internal dan mengharuskan semua interaksi yang akan dilakukan melalui metode obyek dikenal sebagai enkapsulasi data - prinsip dasar pemrograman berorientasi obyek.

    Pikirkan sebuah sepeda, misalnya:


    Sebuah sepeda perangkat lunak dimodelkan sebagai objek.

    Dengan menghubungkan kedudukan (kecepatan saat ini, irama pedal saat ini, dan gear saat ini) dan menyediakan metode untuk mengubah keadaan itu, objek tetap mengendalikan bagaimana dunia luar diperbolehkan untuk menggunakannya. Sebagai contoh, jika sepeda hanya mempunyai 6 gigi, sebuah metode untuk mengubah gigi dapat menolak setiap nilai yang kurang dari 1 atau lebih dari 6.

    Penggabungan kode ke objek perangkat lunak individu menyediakan sejumlah manfaat, termasuk:
    • Modularitas: Kode sumber untuk suatu benda dapat ditulis dan dipelihara secara independen dari kode sumber objek lain. Sekali dibuat, suatu obyek dapat dengan mudah melewati sekitar di dalam sistem.
    • Informasi-tersembunyi: Dengan berinteraksi hanya dengan metode obyek, rincian implementasi internal tetap tersembunyi dari dunia luar.
    • Penggunaan Kembali Kode: Jika suatu benda sudah ada (mungkin ditulis oleh pengembang perangkat lunak lain), Anda dapat menggunakan objek dalam program Anda. Hal ini memungkinkan spesialisasi untuk melaksanakan / test / debug kompleks, tugas-objek tertentu, yang kemudian dapat Anda percaya untuk menjalankan kode Anda sendiri.
    • Kemudahan Pluggability dan Debugginh : Jika objek tertentu ternyata bermasalah, Anda dapat menghapusnya dari aplikasi Anda dan memasukkan objek yang berbeda sebagai pengganti. Hal analog ini untuk memperbaiki masalah mekanis di dunia nyata. Jika baut rusak, Anda hanya mengganti bautnya saja, bukan keseluruhan mesin.
    avatar
    quetzlcoatl
    Admin

    Jumlah posting : 11
    Reputasi : 0
    Join date : 2009-12-31
    Age : 28
    Lokasi : Palembang

    Re: [Tutorial IV : Konsep Pemrograman Berorientasi Obyek]

    Post  quetzlcoatl on Thu Dec 31, 2009 6:13 pm

    Apakah Kelas itu ?
    Sebuah kelas adalah cetak biru atau prototipe dari objek yang diciptakan. Bagian ini mendefinisikan sebuah kelas yang memodelkan kedudukan dan perilaku dari objek dunia nyata. Sengaja berfokus pada dasar-dasar, bahkan memperlihatkan bagaimana kelas sederhana dapat secara bersih memodelkan kedudukan dan perilaku.

    Di dunia nyata, Anda akan sering menemukan banyak benda-benda individu dari semua jenis yang sama. Mungkin ada ribuan sepeda, semua dengan model yang sama. Setiap sepeda ini dibangun dari rangkaian cetak biru yang sama dan mengandung komponen yang sama. Dalam istilah berorientasi objek, kita katakan bahwa sepeda adalah sebuah contoh dari kelas objek yang dikenal sebagai sepeda. Sebuah kelas adalah cetak biru dari objek individu yang diciptakan.

    Kelas Bicycle berikut mungkin merupakan salah satu implementasi dari sepeda:
    Code:

    class Bicycle {

          int cadence = 0;
          int speed = 0;
          int gear = 1;

          void changeCadence(int newValue) {
                cadence = newValue;
          }

          void changeGear(int newValue) {
                gear = newValue;
          }

          void speedUp(int increment) {
                speed = speed + increment; 
          }

          void applyBrakes(int decrement) {
                speed = speed - decrement;
          }

          void printStates() {
                System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
          }
    }

    Sintaks dari bahasa pemrograman Java akan terlihat baru bagi Anda, tetapi desain kelas ini didasarkan pada pembahasan objek sepeda sebelumnya. Irama, kecepatan, dan gear mewakili kedudukan benda, dan metode-metode (changeCadence, changeGear, SpeedUp dll) mendefinisikan interaksi dengan dunia luar.

    Anda mungkin telah memperhatikan bahwa kelas sepeda tidak berisi Metode utama. Itu karena itu bukan aplikasi yang lengkap, melainkan hanya untuk cetak biru sepeda yang dapat digunakan dalam aplikasi. Tanggung jawab menciptakan dan menggunakan objek sepeda baru, adalah milik kelas lain dalam aplikasi Anda.

    Berikut adalah kelas BicycleDemo yang menciptakan 2 objek sepeda terpisah dan memanggil metode mereka:
    Code:

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

              // Create two different Bicycle objects
              Bicycle bike1 = new Bicycle();
              Bicycle bike2 = new Bicycle();

              // Invoke methods on those objects
              bike1.changeCadence(50);
              bike1.speedUp(10);
              bike1.changeGear(2);
              bike1.printStates();

              bike2.changeCadence(50);
              bike2.speedUp(10);
              bike2.changeGear(2);
              bike2.changeCadence(40);
              bike2.speedUp(10);
              bike2.changeGear(3);
              bike2.printStates();
        }
    }

    Keluaran akhir dari tes ini akan mencetak irama pedal, kecepatan, dan gear untuk dua sepeda:
    Code:

    cadence:50 speed:10 gear:2
    cadence:40 speed:20 gear:3

      Current date/time is Thu Nov 23, 2017 7:52 pm