Konsep Dasar :
Abstraksi
Sistem Abstrak (Abstract System) dan Sistem Fisik (Physical System) Sistem abstrak adalah "sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik". (Contoh : Sistem Teologia).
Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut.
Obyek dan Kelas
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
• Private, tidak dapat dipanggil dari luar class yang bersangkutan
• Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
• Public, dapat dipanggil oleh siapa saja
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.
Hubungan Antar Class
1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Enkapsulasi
Enkapsulasi (bahasa Inggris:encapsulation), secara umum merupakan sebuah proses yang membuat satu jenis paket data jaringan menjadi jenis data lainnya. Enkapsulasi terjadi ketika sebuah protokol yang berada pada lapisan yang lebih rendah menerima data dari protokol yang berada pada lapisan yang lebih tinggi dan meletakkan data ke format data yang dipahami oleh protokol tersebut. Dalam OSI Reference Model, proses enkapsulasi yang terjadi pada lapisan terendah umumnya disebut sebagai "framing".
Beberapa jenis enkapsulasi lainnya antara lain:
Frame Ethernet yang melakukan enkapsulasi terhadap datagram yang dibentuk oleh Internet Protocol (IP), yang dalam datagram tersebut juga melakukan enkapsulasi terhadap paket data yang dibuat oleh protokol TCP atau UDP. Data yang dienkapsulasi oleh protokol TCP atau UDP tersebut sendiri merupakan data aktual yang ditransmisikan melalui jaringan.
Frame Ethernet yang dienkapsulasi ke dalam bentuk frame Asynchronous Transfer Mode (ATM) agar dapat ditransmisikan melalui backbone ATM. Lapisan data-link dalam OSI Reference Model merupakan lapisan yang bertanggung jawab dalam melakukan enkapsulasi atau framing data sebelum dapat ditransmisikan di atas media jaringan (kabel, radio, atau cahaya). Dalam teknologi jaringan Local Area Network (LAN), hal ini dilakukan oleh Carrier sense multiple access with collision detection (CSMA/CD) untuk jaringan Ethernet; token-passing untuk jaringan Token Ring, dan lain-lain.
Contoh : Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.
Pesan
Sebuah pesan adalah elemen dalam Unified Modeling Language (UML) diagram yang mendefinisikan jenis tertentu komunikasi antara contoh dalam interaksi. Sebuah pesan menyampaikan informasi dari satu contoh, yang diwakili oleh tali penyelamat, untuk contoh lain dalam interaksi.
Sebuah pesan menetapkan pengirim dan penerima, dan menetapkan jenis komunikasi yang terjadi antara bertahan hidup. Sebagai contoh, komunikasi dapat meminta, atau telepon, sebuah operasi menggunakan panggilan sinkron pesan atau panggilan asynchronous pesan, meningkatkan sinyal menggunakan sinyal asynchronous, dan menciptakan atau menghancurkan sebuah peserta.
Lima Jenis Pesan:
- · Buat pesan: Sebuah pesan buat mewakili penciptaan sebuah contoh dalam interaksi. Pesan yang membuat diwakili oleh kata kunci «membuat». Target buat dimulai pada titik yang membuat pesan. Sebagai contoh, dalam skenario perbankan, manajer bank mungkin akan mulai memeriksa kredit klien dengan mengirimkan pesan buat ke server.
- · Pesan Hancurkan : Sebuah pesan menghancurkan mewakili kehancuran sebuah contoh dalam interaksi. Pesan yang menghancurkan diwakili oleh kata kunci «menghancurkan». Buat target berakhir pada titik dari pesan menghancurkan, dan dilambangkan dengan X. Sebagai contoh, seorang manajer bank, setelah memulai pemeriksaan kredit, mungkin dekat atau menghancurkan aplikasi program kredit bagi pelanggan.
- · Synchronous : Synchronous pesan panggilan panggilan, yang terkait dengan operasi, memiliki mengirim dan menerima pesan. Sebuah pesan akan dikirim dari sumber ke target buat buat. Buat sumber diblokir dari operasi lain sampai menerima tanggapan dari target buat. Misalnya, dalam skenario perbankan, teller bank dapat mengirim permintaan kredit kepada manajer bank untuk mendapatkan persetujuan dan harus menunggu respon sebelum melayani pelanggan lebih lanjut.
- · Asynchronous : Asynchronous pesan panggilan panggilan, yang terkait dengan operasi, biasanya hanya memiliki mengirim pesan, tetapi dapat juga memiliki pesan balasan. Berbeda dengan pesan sinkron, sumber buat tidak diblokir dari menerima atau mengirim pesan lainnya. Anda juga dapat memindahkan mengirim dan menerima poin secara individu untuk menunda waktu antara mengirim dan menerima kejadian. Anda mungkin memilih untuk melakukan hal ini jika respon tidak waktu-atau perintah-sensitif. Sebagai contoh, seorang pelanggan dapat mengajukan kredit perbankan namun dapat menerima informasi melalui telepon atau meminta uang dari ATM, sementara menunggu untuk mendengar tentang aplikasi kredit.
- Asynchronous pesan sinyal asynchronous pesan sinyal, berhubungan dengan sinyal. Sebuah sinyal berbeda dari pesan dalam bahwa tidak ada operasi yang berhubungan dengan sinyal. Sebuah sinyal dapat mewakili interupsi atau kondisi kesalahan. Untuk menentukan sinyal, Anda membuat panggilan asynchronous pesan dan mengganti jenis pesan dalam tampilan properti. Sebagai contoh, lembaga kredit bisa mengirim sinyal kesalahan pesan kepada manajer bank yang menyatakan kegagalan untuk menyambung ke biro kredit. Catatan: Sebuah pesan asynchronous adalah satu-satunya jenis pesan yang Anda menggerakkan secara individual dapat mengirim dan menerima poin. Anda dapat memindahkan titik-titik dari sebuah pesan asynchronous untuk memanipulasi waktu tunda antara pengiriman dan penerimaan kejadian peristiwa; hasilnya disebut pesan miring. Pewarisan Polomorfisme
Pewarisan
Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses dari superclass Object.
Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass. Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka
dapat digunakan oleh semua subclass.
Polimorfisme
Polimorfisme (polymorphism) erat kaitannya dengan Pewarisan. Polimorfisme adalah pemikiran bahwa objek dinamis suatu kelas dasar dapat berperilaku seperti kelas turunan. Ketika objek tersebut menunjuk kelas dasar, objek tersebut berperilaku seperti kelas dasar, tetapi ketika objek tersebut menunjuk kelas turunan, objek tersebut berperilaku seperti kelas turunan. Dalam hal ini objek dapat memiliki beberapa bentuk, tergantung pada saat itu kelas mana yang ditunjuk. Yang perlu menjadi catatan, bahwa perubahan perilaku ini dari kelas dasar kepada kelas turunan, tidak dapat objek kelas turunan menunjuk kelas dasar.
Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic binding). Ikatan dinamis adalah ikatan yang terjadi pada saat program dijalankan (run-time). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis hanya dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga, dalam hal ini metode virtualnya (maya).
- A. Polimorfisme Pada Pewarisan Tunggal
Suatu metode dapat dideklarasikan secara virtual dengan cara menambah kata virtual pada deklarasi fungsi. Jika suatu metode dideklarasikan secara virtual dalam kelas dasar, maka keadaan virtual tetap akan berlaku untuk fungsi yang sama di seluruh kelas turunan meskipun kata virtual tidak disebutkan.
- A. Polimorfisme Pada Pewarisan Jamak
Polimorfisme juga dapat diterapkan pada pewarisan jamak, tidak ada bedanya dengan pada Pewarisan Tunggal, hanya saja kata virtual harus disebutkan pada semua metode pada kelas dasar yang dirancang dapat mengadakan ikatan dinamis.
Misalnya Polimorfisme diterapkan pada kelas pegasus, yang mana pegasus dianggap sebagai kelas turunan dari kelas kuda dan burung. Jika diterapkan Polimorfisme, maka harus diambil pengertian bahwa berlarinya kuda berbeda dengan berlarinya pegasus. Demikian juga terbangnya burung berbeda dengan terbangnya Pegasus. Dalam implementasi program, definisi fungsinya berbeda.
- A. Polimorfisme Pada Pewarisan Jamak Virtual
Polimorfisme pada pewarisan jamak virtual juga tidak banyak berbeda. Berikut ini contoh polimorfisme pada kelas hewan sampai Pegasus. Untuk menyederhanakan program, hanya diperhatikan metode bergerak() pada kelas hewan. Metode bergerak () pada kelas hewan berbeda dengan metode bergerak pada kelas kuda, burung atau pegasus. Kelas kuda memberi pengertian bergerak secara umum yaitu berpindah tempat. Kelas kuda memberi pengertian bergerak dengan cara berlari, kelas burung memberi pengertian bergerak dengan cara terbang atau berlari.
0 komentar:
Posting Komentar