UML & ROSE This presentation will probably involve audience discussion, which will create action items.  Use PowerPoint to keep track of these action items during your presentation In Slide Show, click on the right mouse button Select “Meeting Minder” Select the “Action Items” tab Type in action items as they come up Click OK to dismiss this box This will automatically create an Action Item slide at the end of your presentation with your points entered. Asep Suhendar, 2004
Konsep Dasar Rekayasa Perangkat Lunak   Berorientasi Objek This presentation will probably involve audience discussion, which will create action items.  Use PowerPoint to keep track of these action items during your presentation In Slide Show, click on the right mouse button Select “Meeting Minder” Select the “Action Items” tab Type in action items as they come up Click OK to dismiss this box This will automatically create an Action Item slide at the end of your presentation with your points entered. The task of the software engineering development team is to enginees the illusion of simplicity  (Grady Booch, 1991)
Agenda Pendahuluan Objek dan Kelas Objek Pembungkusan dan Antarmuka Pesan Kelas Pewarisan dan Generalisasi Agregasi Kelas Abstrak Operasi Tahapan Analisis dan Perancangan Perangkat Lunak Berorientasi Objek Bahasa Pemrograman Berorientasi Objek Metodologi dan UML
1 Pendahuluan Apakah itu Mobil?
Paradigma: Cara atau pola bagaimana kita memandang dan menyelesaikan suatu masalah yang sama.
Paradigma prosedural/struktural: C ara mencari solusi permasalahan dengan menentukan prosedur-proserdur yang testruktur.  Mobil sebagai urutan prosedur . Mampu memecahkan satu masalah kedalam bagian-bagian yang terkecil. Sulit diterapkan dalam sistem yang berukuran besar.
Paradigma berorientasi objek: Paradigma berorientasi objek: Cara memandang sistem sebagai kesatuan dari berbagai komponen (objek). Mobil sebagai kesatuan dari komponen-komponen . L ebih alami.
2 Objek dan Kelas Objek Pembungkusan dan Antarmuka Pesan Kelas
Objek S emua “benda” baik secara fisik maupun secara konseptual yang ada disekeliling kita.  K ucing, komputer, jendela yang tampil di layar monitor komputer yang kita miliki. M emiliki keadaan ( state ) dan perilaku.
State H impunan kondisi yang menggambarkan objek tersebut. Sepeda :  gigi depan/pedal dinomor 2, gigi belakang/roda dinomor 3, posisi pedal kanan diatas, arah stang kekanan, lajunya 10 km/jam, dan warna catnya kuning.  D idapat karena objek tersebut mungkin dalam suatu kondisi tertentu, sedang melakukan suatu aktifitas, atau menunggu kejadian ( event ) tertentu. D inyatakan dengan nilai dari atribut ( attribute ) objek tersebut.
Atribut N ilai internal suatu objek yang mencerminkan antara lain karakteristik, kondisi sesaat, koneksi dengan objek lain, dan identitas (ciri khas) objek tersebut.
Perilaku E fek-efek terlihat dari sebuah objek saat melakukan suatu aksi atau menerima kejadian tertentu. Perubahan  state  objek dicerminkan oleh perilaku objek tersebut. S epeda :  mengerem, mengubah laju, mengubah gigi, dan belok. M endefinisikan bagaimana sebuah objek bertindak (beraksi) dan memberi reaksi. D itentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan dalam objek itu sendiri.
Pembungkusan dan Antarmuka P roses menyembunyikan detil implementasi sebuah objek. Agar pihak luar atau objek lain dapat mengakses segala sesuatu yang ada dalam suatu objek satu-satunya jalan adalah melalui antarmuka objek tersebut.
Antarmuka Public in terface ,  himpunan operasi-operasi yang menentukan perilaku sebuah objek. memberitahu pengguna (klien) bahwa objek tersebut menyediakan layanan tertentu . memberitahu implementor (penyedia atau  supplier ) agar mereka menyediakan layanan tertentu. Contoh: Mengubah gigi adalah salah satu operasi dalam antarmuka objek sepeda.  Class Interface ,  remote control  televisi.
Kelas definisi umum (pola,  template  atau cetak biru) untuk himpunan objek sejenis. M enetapkan spesifikasi perilaku ( behaviors ) dan  state  objek-objeknya.
Kelas Contoh:  kelas sepeda Instance  kelas  memiliki  state  dan perilaku yang umumnya sama.
3 Pewarisan dan Generalisasi M ekanisme dimana elemen-elemen yang memiliki karakteristik lebih spesifik (khusus) mengambil struktur dan perilaku elemen-elemen yang memiliki karakteristik lebih umum. Contoh: sepeda gunung, sepeda balap, sepeda mini   mewarisi ( inherit ) ciri umum sepeda, masing-masing jenis memiliki ciri khusus yang tidak dimiliki sepeda yang lainnya. kelas sepeda gunung, sepeda balap, dan sepeda mini adalah kelas bagian ( subclass ) ,  kelas sepeda adalah kelas super ( superclass ) dari kelas sepeda gunung, sepeda balap, dan sepeda mini. Tiap-tiap kelas bagian mewarisi semua keadaan ( state )  dan  perilaku dari kelas supernya.
3 Pewarisan dan Generalisasi Setiap sub kelas dapat menambah state dan perilaku dari yang sekedar diwariskan dari kelas supernya. sebuah sub kelas dapat menggantikan ( override ) perilaku yang diwarisi oleh kelas supernya dengan perilaku serupa yang lebih khusus. Pewarisan dapat terjadi secara berlapis-lapis. Dengan menggunakan pewarisan, maka kita dapat menggunakan kode yang dimiliki super kelas berulang-ulang. Hubungan dua kelas sebagai kebalikan dari pewarisan disebut perumuman ( generalization ).
4 Agregasi P roses membuat atau menyusun sebuah objek dari dua atau lebih objek lain. Contoh, sebuah objek mobil disusun oleh mesin, roda, kabin, dan sebagainya.
5 Kelas Abstrak k elas yang logis tetapi memiliki definisi yang tidak komplit dan tidak dapat ditarik instan darinya.  Contoh: otomobil. Karakteristik kelas abstrak muncul dalam sub kelasnya melalui pewarisan.
6 Operasi S ebuah layanan yang dapat diperoleh dari sebuah objek untuk menunjukan perilakunya. Sebuah operasi dalam antarmuka dari sebuah objek  menunjukan sebuah kemampuan yang dapat dilakukan sebuah objek tersebut.  Contoh, bahwa mengubah gigi adalah salah satu operasi dalam objek sepeda.
Metode I mplementasi dari sebuah operasi. M endefinisikan algoritma atau prosedur yang berhubungan dengan sebuah operasi. T idak terletak dalam antarmuka untuk sebuah objek.  B ersyifat tersembunyi di bagian dalam objek.
7 Tahapan Analisis dan Perancangan Perangkat Lunak Berorientasi Objek Analisis Metode analisis untuk memeriksa syarat/kondisi ( requirement ) yang harus dipenuhi suatu sistem dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup permasalahan.
Desain Metode untuk mengarahkan arsitektur perangkat lunak yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
Analisis & Perancangan Objek tunggal biasanya tidak banyak bermanfaat. Semua sistem yang ada disekitar kita merupakan koleksi dari beberapa objek yang satu-sama lain saling berinteraksi. Membangun sistem berupa aplikasi perangkat lunak menggunakan konsep rekayasa perangkat lunak berorientasi objek adalah menganalisa, merancang, dan membuat objek-objek pembangun system secara detil, kemudian menentukan relasi antara satu objek dengan yang lainnya untuk menghasilkan suatu kinerja. Konsep analisis dan perancangan berorientasi objek ( object-oriented analysis and design/ OOAD) merupakan dasar dalam pemodelan dengan UML.
9 Metodologi dan UML Metodologi adalah cara yang sistematis untuk mengerjakan pekerjaan analisis dan desain.  Manfaat metodologi:  Merencanakan dan mengulangi pekerjaannya di lain waktu.  Menghilangkan kesalahpahaman dan menghilangkan perbedaan notasi untuk suatu hal yang sama.
Metodologi Metodologi terkenal: Object Modeling Technique (OMT) dari Rumbaugh Object-Oriented Analysis/Design (OOA/D) dari Shlaer-Mellor Metode Booch Responsibility-Driven Design/Class/Responsibility/Collaboration (RDD/CRC) dari Wirfs-Brock Jacobson Object-Oriented Software Engineering (OOSE).
UML UML merupakan bahasa pemodelan yang dibuat dengan mengambil teknik-teknik terbaik dan menghilangkan teknik yang kurang baik dari metodologi-metodologi yang terkenal, sehingga UML diterima semua pihak, ekspresif, tangguh, dan dapat dipakai dalam bidang aplikasi yang sangat luas.
10 Keunggulan  Rekayasa Perangkat Lunak  Berorientasi Objek Sebelum nya , kebanyakan programmer perangkat lunak menggunakan rekayasa perangkat lunak  structural  atau  prosedural .
Masalah yang dihadapi dalam rekayasa perangkat lunak sebelum lahir  teknologi berorientasi objek : Perangkat lunak sulit untuk dimodifikasi bila memerlukan pengembangan Proses pembuatan perangkat lunak memerlukan waktu yang cukup lama sehingga kadangkala melebihi anggaran dalam pembuatannya. Para  programmer  selalu membuat perangkat lunak dari dasar karena tidak adanya kode yang bisa digunakan ulang ( reuse ).
Alasan  rekayasa perangkat lunak berorientasi objek  unggul: Orang akan mudah memahami sistem sebagai objek daripada prosedur karena biasanya orang berfikir “dalam bentuk” objek. Proses pembuatan perangkat lunak dapat dilakukan dengan lebih cepat, karena perangkat lunak dibangun dari objek-objek standar, dapat menggunakan ulang model dan kode yang ada, dan dapat membuat model dengan cepat melalui metodologi. Lebih mudah dalam  maintenance  karena  perbaikan kode hanya diperlukan pada satu tempat (bukan diurut dari awal). Mudah dalam membangun sistem yang besar karena sub-sistem dapat dibuat dan diuji secara terpisah. Mengubah sistem yang sudah ada tidak memerlukan membangun ulang keseluruhan sistem.
11 Kesimpulan rekayasa perangkat lunak berorientasi objek semuanya berkenaan dengan objek. Objek adalah “benda” nyata yang ada disekeliling kita baik secara fisik ataupun konseptual. Bagian dalam suatu objek tersebunyi dari pihak luar. Satu-satunya jalan memasuki suatu objek melalui antarmuka yang dimiliki objek tersebut. Suatu objek dapat menggunakan objek yang lain melalui pesan. Kelas adalah cetak biru untuk objek sejenis. Karakteristik suatu kelas dapat diberikan kepada kelas yang lain melalui pewarisan. Suatu objek dapat dibangun oleh dua atau lebih objek yang lain, peroses ini disebut agregasi. Secara umum rekayasa perangkat lunak berorientasi objek unggul dari paradigma rekayasa perangkat lunak yang lain.

Object Oriented

  • 1.
    UML & ROSEThis presentation will probably involve audience discussion, which will create action items. Use PowerPoint to keep track of these action items during your presentation In Slide Show, click on the right mouse button Select “Meeting Minder” Select the “Action Items” tab Type in action items as they come up Click OK to dismiss this box This will automatically create an Action Item slide at the end of your presentation with your points entered. Asep Suhendar, 2004
  • 2.
    Konsep Dasar RekayasaPerangkat Lunak Berorientasi Objek This presentation will probably involve audience discussion, which will create action items. Use PowerPoint to keep track of these action items during your presentation In Slide Show, click on the right mouse button Select “Meeting Minder” Select the “Action Items” tab Type in action items as they come up Click OK to dismiss this box This will automatically create an Action Item slide at the end of your presentation with your points entered. The task of the software engineering development team is to enginees the illusion of simplicity (Grady Booch, 1991)
  • 3.
    Agenda Pendahuluan Objekdan Kelas Objek Pembungkusan dan Antarmuka Pesan Kelas Pewarisan dan Generalisasi Agregasi Kelas Abstrak Operasi Tahapan Analisis dan Perancangan Perangkat Lunak Berorientasi Objek Bahasa Pemrograman Berorientasi Objek Metodologi dan UML
  • 4.
  • 5.
    Paradigma: Cara ataupola bagaimana kita memandang dan menyelesaikan suatu masalah yang sama.
  • 6.
    Paradigma prosedural/struktural: Cara mencari solusi permasalahan dengan menentukan prosedur-proserdur yang testruktur. Mobil sebagai urutan prosedur . Mampu memecahkan satu masalah kedalam bagian-bagian yang terkecil. Sulit diterapkan dalam sistem yang berukuran besar.
  • 7.
    Paradigma berorientasi objek:Paradigma berorientasi objek: Cara memandang sistem sebagai kesatuan dari berbagai komponen (objek). Mobil sebagai kesatuan dari komponen-komponen . L ebih alami.
  • 8.
    2 Objek danKelas Objek Pembungkusan dan Antarmuka Pesan Kelas
  • 9.
    Objek S emua“benda” baik secara fisik maupun secara konseptual yang ada disekeliling kita. K ucing, komputer, jendela yang tampil di layar monitor komputer yang kita miliki. M emiliki keadaan ( state ) dan perilaku.
  • 10.
    State H impunankondisi yang menggambarkan objek tersebut. Sepeda : gigi depan/pedal dinomor 2, gigi belakang/roda dinomor 3, posisi pedal kanan diatas, arah stang kekanan, lajunya 10 km/jam, dan warna catnya kuning. D idapat karena objek tersebut mungkin dalam suatu kondisi tertentu, sedang melakukan suatu aktifitas, atau menunggu kejadian ( event ) tertentu. D inyatakan dengan nilai dari atribut ( attribute ) objek tersebut.
  • 11.
    Atribut N ilaiinternal suatu objek yang mencerminkan antara lain karakteristik, kondisi sesaat, koneksi dengan objek lain, dan identitas (ciri khas) objek tersebut.
  • 12.
    Perilaku E fek-efekterlihat dari sebuah objek saat melakukan suatu aksi atau menerima kejadian tertentu. Perubahan state objek dicerminkan oleh perilaku objek tersebut. S epeda : mengerem, mengubah laju, mengubah gigi, dan belok. M endefinisikan bagaimana sebuah objek bertindak (beraksi) dan memberi reaksi. D itentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan dalam objek itu sendiri.
  • 13.
    Pembungkusan dan AntarmukaP roses menyembunyikan detil implementasi sebuah objek. Agar pihak luar atau objek lain dapat mengakses segala sesuatu yang ada dalam suatu objek satu-satunya jalan adalah melalui antarmuka objek tersebut.
  • 14.
    Antarmuka Public interface , himpunan operasi-operasi yang menentukan perilaku sebuah objek. memberitahu pengguna (klien) bahwa objek tersebut menyediakan layanan tertentu . memberitahu implementor (penyedia atau supplier ) agar mereka menyediakan layanan tertentu. Contoh: Mengubah gigi adalah salah satu operasi dalam antarmuka objek sepeda. Class Interface , remote control televisi.
  • 15.
    Kelas definisi umum(pola, template atau cetak biru) untuk himpunan objek sejenis. M enetapkan spesifikasi perilaku ( behaviors ) dan state objek-objeknya.
  • 16.
    Kelas Contoh: kelas sepeda Instance kelas memiliki state dan perilaku yang umumnya sama.
  • 17.
    3 Pewarisan danGeneralisasi M ekanisme dimana elemen-elemen yang memiliki karakteristik lebih spesifik (khusus) mengambil struktur dan perilaku elemen-elemen yang memiliki karakteristik lebih umum. Contoh: sepeda gunung, sepeda balap, sepeda mini mewarisi ( inherit ) ciri umum sepeda, masing-masing jenis memiliki ciri khusus yang tidak dimiliki sepeda yang lainnya. kelas sepeda gunung, sepeda balap, dan sepeda mini adalah kelas bagian ( subclass ) , kelas sepeda adalah kelas super ( superclass ) dari kelas sepeda gunung, sepeda balap, dan sepeda mini. Tiap-tiap kelas bagian mewarisi semua keadaan ( state ) dan perilaku dari kelas supernya.
  • 18.
    3 Pewarisan danGeneralisasi Setiap sub kelas dapat menambah state dan perilaku dari yang sekedar diwariskan dari kelas supernya. sebuah sub kelas dapat menggantikan ( override ) perilaku yang diwarisi oleh kelas supernya dengan perilaku serupa yang lebih khusus. Pewarisan dapat terjadi secara berlapis-lapis. Dengan menggunakan pewarisan, maka kita dapat menggunakan kode yang dimiliki super kelas berulang-ulang. Hubungan dua kelas sebagai kebalikan dari pewarisan disebut perumuman ( generalization ).
  • 19.
    4 Agregasi Proses membuat atau menyusun sebuah objek dari dua atau lebih objek lain. Contoh, sebuah objek mobil disusun oleh mesin, roda, kabin, dan sebagainya.
  • 20.
    5 Kelas Abstrakk elas yang logis tetapi memiliki definisi yang tidak komplit dan tidak dapat ditarik instan darinya. Contoh: otomobil. Karakteristik kelas abstrak muncul dalam sub kelasnya melalui pewarisan.
  • 21.
    6 Operasi Sebuah layanan yang dapat diperoleh dari sebuah objek untuk menunjukan perilakunya. Sebuah operasi dalam antarmuka dari sebuah objek menunjukan sebuah kemampuan yang dapat dilakukan sebuah objek tersebut. Contoh, bahwa mengubah gigi adalah salah satu operasi dalam objek sepeda.
  • 22.
    Metode I mplementasidari sebuah operasi. M endefinisikan algoritma atau prosedur yang berhubungan dengan sebuah operasi. T idak terletak dalam antarmuka untuk sebuah objek. B ersyifat tersembunyi di bagian dalam objek.
  • 23.
    7 Tahapan Analisisdan Perancangan Perangkat Lunak Berorientasi Objek Analisis Metode analisis untuk memeriksa syarat/kondisi ( requirement ) yang harus dipenuhi suatu sistem dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup permasalahan.
  • 24.
    Desain Metode untukmengarahkan arsitektur perangkat lunak yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
  • 25.
    Analisis & PerancanganObjek tunggal biasanya tidak banyak bermanfaat. Semua sistem yang ada disekitar kita merupakan koleksi dari beberapa objek yang satu-sama lain saling berinteraksi. Membangun sistem berupa aplikasi perangkat lunak menggunakan konsep rekayasa perangkat lunak berorientasi objek adalah menganalisa, merancang, dan membuat objek-objek pembangun system secara detil, kemudian menentukan relasi antara satu objek dengan yang lainnya untuk menghasilkan suatu kinerja. Konsep analisis dan perancangan berorientasi objek ( object-oriented analysis and design/ OOAD) merupakan dasar dalam pemodelan dengan UML.
  • 26.
    9 Metodologi danUML Metodologi adalah cara yang sistematis untuk mengerjakan pekerjaan analisis dan desain. Manfaat metodologi: Merencanakan dan mengulangi pekerjaannya di lain waktu. Menghilangkan kesalahpahaman dan menghilangkan perbedaan notasi untuk suatu hal yang sama.
  • 27.
    Metodologi Metodologi terkenal:Object Modeling Technique (OMT) dari Rumbaugh Object-Oriented Analysis/Design (OOA/D) dari Shlaer-Mellor Metode Booch Responsibility-Driven Design/Class/Responsibility/Collaboration (RDD/CRC) dari Wirfs-Brock Jacobson Object-Oriented Software Engineering (OOSE).
  • 28.
    UML UML merupakanbahasa pemodelan yang dibuat dengan mengambil teknik-teknik terbaik dan menghilangkan teknik yang kurang baik dari metodologi-metodologi yang terkenal, sehingga UML diterima semua pihak, ekspresif, tangguh, dan dapat dipakai dalam bidang aplikasi yang sangat luas.
  • 29.
    10 Keunggulan Rekayasa Perangkat Lunak Berorientasi Objek Sebelum nya , kebanyakan programmer perangkat lunak menggunakan rekayasa perangkat lunak structural atau prosedural .
  • 30.
    Masalah yang dihadapidalam rekayasa perangkat lunak sebelum lahir teknologi berorientasi objek : Perangkat lunak sulit untuk dimodifikasi bila memerlukan pengembangan Proses pembuatan perangkat lunak memerlukan waktu yang cukup lama sehingga kadangkala melebihi anggaran dalam pembuatannya. Para programmer selalu membuat perangkat lunak dari dasar karena tidak adanya kode yang bisa digunakan ulang ( reuse ).
  • 31.
    Alasan rekayasaperangkat lunak berorientasi objek unggul: Orang akan mudah memahami sistem sebagai objek daripada prosedur karena biasanya orang berfikir “dalam bentuk” objek. Proses pembuatan perangkat lunak dapat dilakukan dengan lebih cepat, karena perangkat lunak dibangun dari objek-objek standar, dapat menggunakan ulang model dan kode yang ada, dan dapat membuat model dengan cepat melalui metodologi. Lebih mudah dalam maintenance karena perbaikan kode hanya diperlukan pada satu tempat (bukan diurut dari awal). Mudah dalam membangun sistem yang besar karena sub-sistem dapat dibuat dan diuji secara terpisah. Mengubah sistem yang sudah ada tidak memerlukan membangun ulang keseluruhan sistem.
  • 32.
    11 Kesimpulan rekayasaperangkat lunak berorientasi objek semuanya berkenaan dengan objek. Objek adalah “benda” nyata yang ada disekeliling kita baik secara fisik ataupun konseptual. Bagian dalam suatu objek tersebunyi dari pihak luar. Satu-satunya jalan memasuki suatu objek melalui antarmuka yang dimiliki objek tersebut. Suatu objek dapat menggunakan objek yang lain melalui pesan. Kelas adalah cetak biru untuk objek sejenis. Karakteristik suatu kelas dapat diberikan kepada kelas yang lain melalui pewarisan. Suatu objek dapat dibangun oleh dua atau lebih objek yang lain, peroses ini disebut agregasi. Secara umum rekayasa perangkat lunak berorientasi objek unggul dari paradigma rekayasa perangkat lunak yang lain.