A. Pengertian UML
UML adalah bahasa grafis yang dipergunakan untuk menangkap artefak dari pengembangan perangkat lunak.
Bahasa ini memberikan model notasi grafis.
UML merupakan satu – satunya bahasa yang dipergunakan secara luas oleh industry.
Bahasa ini sangat kaya dan memiliki banyak aspek dari praktek terbaik rekayasa perangkat lunak.
Meskipun begitu, UML sendiri hanyalah sebuah sintaks, sebuah alat, sebuah bahasa yang dapat dipergunakan untuk membangun perangkat lunak.Akan tetapi untuk membangun sebuah sistem yang kokoh (robust) dan mudah dirawat bergantung pada prinsip
–
prinsip
perancangan (bukan UML) yang didapat dari pengalaman.
–
prinsip
perancangan (bukan UML) yang didapat dari pengalaman.
UML menggunakan proses pembangunan perangkat lunak IIF (Iterative, Incremental Framework) dengan 4 tahapan : Inception, Elaboration, Construction, dan Transition. Tahapan construction terdiri dari 4 bagian, yaitu : analisis, perancangan, implementasi, pengujian.
1. Ciri – ciri UML
UML bersifat generik: UML tidak mengandung hal – hal yang berhubungan dengan proses. Sebuah proses untuk perusahaan A mungkin sangat berbeda dengan proses pada perusahaan B.
2. Komponen UML
UML memiliki berbagai jenis diagram (model) yang berhubungandengan stake holder pada sebuah pembangunan perangkat lunak. Stake holder tersebut adalah :
· Analis
· Disainer
· Koder
· Tester
· QA
· Pelanggan
· Penulis teknis
B. Konsep dasar dari Pemrograman Berorientasi Objek
Pemrograman orientasi-objek menekankan konsep berikut:
· Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
· Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
· 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.
· 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.
· 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.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi
C. Ciri-Ciri Sistem berorientasi Objek
Definisi Sistem Berorientasi Objek
· Sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennva dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi.
- Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnva. dan dapat berinteraksi satu sama lainnya
Analisis dan disain berorientasi objek adalah cara baru dalam suatu masalah dengan menggunakan model yang dibuatmenurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalamsatu entitas.
Pengertian “berorientasi objek” berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.
Karakteristik (Ciri) Dasar Pemodelan Berorientasi Objek
Sistem berorientasi objek berfokus untuk menangkap struktur dan perilaku dari sistem informasi dalam modul kecil yang mencakup baik data dan proses. Modul-modul kecil ini dikenal sebagai objek. Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama :Enkapsulasi, Inheritance dan Polmorfisme
- Enkapsulasi
- Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
- Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
- Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
Dalam sebuah objek yang mengandung variabel-variabel dan method-method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan ( wrapper ) pelindung program dan data yang sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.
Manfaat dari proses enkapsulasi adalah :
- Modularitas:kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
- Information Hiding:karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.
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 ijin 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.
Contoh Enkapsulasi:
Misal NRP dari siswa-siswaI T2 : range 1-10.
•Jika NRP tidak dienkapsulasi:
- Siswa dapat memasukkan sembarang nilai, sehingga perlu melakukan penyembunyian informasi (nformation hiding) thd atribut nrp, sehingga nrp tidak bisa diakses secara langsung.
•Lalu, kalauatributnrptersebutdisembunyikan,
Bagaimana cara mengakses atribut nrp itu untuk memberikan atau mengubah nilai?.
- Perlu suatu interface untuk mengakses data, yang berupa method dimana didalamnya terdapat implementasi untuk mengakses data nrp.
- Ø Inheritance (Pewarisan)
Inheritance adalah proses pewarisan data dan method dari suatu kelas kepada kelas yang lain. Pewarisan ini bersifat menyeluruh, sehingga semua data dan method yang dimiliki oleh kelas asalnya akan diturunkan kepada kelas baru. Kelas yang mewarisi disebut kelas “SUPER (super class)” dan kelas yang diwarisi disebut “SUBKELAS (sub class)”. Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabel-variabel ) dan behaviour ( methodmethod) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override) state dan behaviour yang diturunkan oleh superclass-nya.
Contoh Inheritance:
- Sedan dan Sepeda Motor adalah subkelas dari Kendaraan Bermotor.
- Kedua subkelas mewarisi sifat yang dimiliki oleh Kendaraan Bermotor, yaitu mempunyai mesin dan dapat berjalan.
- Kedua subkelas mempunyai sifat masing-masing yang berbeda, misalnya jumlah roda, dan kemampuan untuk berjalan mundur yang tidak dimiliki oleh sepeda motor.
Keuntungan dari inheritance adalah :
Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.
Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
Istilah dalam inheritance yang perlu diperhatikan :
- Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
- Superclass
Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.
- Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.
- Super
Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
- Methode Overriding
Pendefinisian ulang method yang sama pada subclass.
Inheritas Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada – objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas).
- Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :
- Method yang dipanggil harus melalui variabel dari basis class atau superclass.
- Method yang dipanggil harus juga menjadi method dari basis class.
- Signature method harus sama baik pada superclass maupun subclass.
- Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
Polimorfisme merupakan dua kelas yang diturunkan dari satu kelas mempunyai metode sama tetapi implementasinya berbeda. Polimorfisme Merupakan kemampuan suatu objek untuk mengungkap banyak hal melalui satu cara yang sama. Sebagai contoh, terdapat kelas A yang diturunkan menjadi kelas B,C dan D. Dengan konsep polimorfisme, kita dapat menjalankan method-method yang terdapat pada kelas B,C dan D hanya dari objek yang di instansiasi dengan kelas A. Polimorfisme sering dinamakan dengan dynamic binding, late binding, maupun runtime binding.
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. Dibanding dengan pemograman tradisional lainnya, OOP memiliki keunggulan yaitu objek bisa digunakan berulang-ulang pada aplikasi yang berbeda dan oleh teknologi yang berbeda.
PENUTUP
Kesimpulan
METODE BERORIENTASI OBJEK
Metodologi merupakan sekumpulan aturan/panduan penerapan dan sekumpulan heuristic untuk menentukan kapan suatu tahapan dianggap lengkap.Dalam MBO terdapat istilah tahapan yang merupakan batas fase perkembangan pada siklus hidup perangkat lunak.Tahapan awal pengembangan suatu perangkat lunak hendaknya mencerminkan persoalan-persoalan nyata, dan tahapan akhir mencerminkan hasil/produk.Suatu metode dianggap baik apabila menyediakan produk terdefinisi untuk setiap tahapan (chart, diagram checklist) dan menggunakannya sebagai tool yang benar.
Suatu proses dalam suatu metodologi dianggap baik apabila :
• Menyediakan mekanisme semi-otomatis dalam pencarian konsep persoalan yang akan dipecahkan.
• Menyajikan mekanisme pengujian di setiap tahapan proses.
Suatu proses dalam suatu metodologi dianggap baik apabila :
• Menyediakan mekanisme semi-otomatis dalam pencarian konsep persoalan yang akan dipecahkan.
• Menyajikan mekanisme pengujian di setiap tahapan proses.
* Pemograman Berorientasi Objek
Berorientasi objek merupakan sebuah paradigma yang menggunakan objek sebagai abstraksi dunia nyata, dalam lingkup berorientasi objek dikenal beberapa istilah :
Berorientasi objek merupakan sebuah paradigma yang menggunakan objek sebagai abstraksi dunia nyata, dalam lingkup berorientasi objek dikenal beberapa istilah :
** Objek
Sebuah objek adalah suatu entitas yang memiliki identitas,status dan prilaku. pada pemograman berorientasi objek, objek adalah sebuah entitas pada saat runtime, sebuah objek dapat diciptakan, dimanipulasi, dan dimusnahkan.
Sebuah objek adalah suatu entitas yang memiliki identitas,status dan prilaku. pada pemograman berorientasi objek, objek adalah sebuah entitas pada saat runtime, sebuah objek dapat diciptakan, dimanipulasi, dan dimusnahkan.
** Class
Class merupakan sekumpulan objek yang memiliki attribute yang sama, attribute disini bisa berupa data atau konstanta/property misalnya pendefinisian static pada bahasa c++. Pada class terdapat 2 jenis member yaitu: Data Member (representasi internal class) dan function member. Member –member pada class memiliki beberapa hak akses, diantaranya:
1. Public (dapat diakses oleh fungsi diluar kelas.
2. Private
3. Protected
4. Friend
Dalam pemograman class ini dapat diumpamakan: Class Vs Object = Type Vs Variabel
Class merupakan sekumpulan objek yang memiliki attribute yang sama, attribute disini bisa berupa data atau konstanta/property misalnya pendefinisian static pada bahasa c++. Pada class terdapat 2 jenis member yaitu: Data Member (representasi internal class) dan function member. Member –member pada class memiliki beberapa hak akses, diantaranya:
1. Public (dapat diakses oleh fungsi diluar kelas.
2. Private
3. Protected
4. Friend
Dalam pemograman class ini dapat diumpamakan: Class Vs Object = Type Vs Variabel
Beberapa karakter dalam pemograman berorientasi objek :
1. Abstraksi
2. Enkapsulasi (information hiding/pembungkusan)
3. Pewarisan / Inheritance
4.Reusability
5.Spesialisasi
6.Generalisasi
7.Komunikasi antar objek
8.Polimorphisme (Pemanipulasian objek secara seragam dengan tipe yang berbeda).
1. Abstraksi
2. Enkapsulasi (information hiding/pembungkusan)
3. Pewarisan / Inheritance
4.Reusability
5.Spesialisasi
6.Generalisasi
7.Komunikasi antar objek
8.Polimorphisme (Pemanipulasian objek secara seragam dengan tipe yang berbeda).
Beberapa keunggulan dari pemograman berorientasi objekadalah :
1. Meningkatkan produktivitas
2. Meningkatkan kecapatan pengembangan
3. Meningkatkan Kualitas
4. Kemudahan dalam pemeliharaan
1. Meningkatkan produktivitas
2. Meningkatkan kecapatan pengembangan
3. Meningkatkan Kualitas
4. Kemudahan dalam pemeliharaan
Tidak ada komentar:
Posting Komentar