Pertemuan 1 Konsep Dasar OOAD TIB15 - ANALISIS & DESAIN BERORIENTASI OBJEK
Materi Yang Dibahas Konsep Sistem Informasi Konsep Object Oriented Pengertian Sistem Informasi Karakteristik Sistem Atribut software yang baik Realibilitas Sistem Produktifitas sistem Maintabilitas Konsep Object Oriented Object-oriented development Karakteristik OOD Kegunaan OOD Unified Modeling Language Model Objek dan UML Pemodelan Sistem UML Metodologi Pengembangan Sistem
Pengertian Sistem Informasi Sebuah Sistem Informasi adalah sebuah sistem yang memproses data menjadi informasi berdasarkan prediksi anggapan logis Sistem Informasi adalah suatu sistem terintegrasi yang mampu menyediakan informasi yang bermanfaat bagi penggunanya
Karakteristik Sistem Suatu Sistem mempunyai: Komponen.(Components) Terdiri dari sejumlah komponen yang saling berinteraksi, dan bekerjasama membentuk satu kesatuan. Batas Sistem.(Boundary) Merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau dengan lingkungan luarnya. Lingkungan Luar Sistem.(Environments) Segala sesuatu diluar batas dari sistem yang mempengaruhi kerja sistem Penghubung.(Interface) Merupakan media penghubung antara subsistem, yang memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya. Masukkan.(Input) Adalah sumber daya yang dimasukkan kedalam sistem, Keluaran.(Output) Hasil dari sumber daya yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Pengolah.(process) Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukkan menjadi keluaran. Sasaran.(Objective) Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective).
Atribut software yang baik Software harus memenuhi persyaratan fungsional dan kinerja pada user harus maintainable, dependable dan acceptable. Maintainability Software menyesuaikan untuk memenuhi perubahan kebutuhan-kebutuhan; Dependability Software harus dapat diandalkan; Efficiency Software tidak boleh menghamburkan penggunaan sumber daya sistem Acceptability Software harus dapat diterima oleh user sesuai dengan yang sudah rancang. Ini berarti harus dapat dimengerti, dapat dipergunakan dan kompatibel dengan sistem lain.
Produktifitas sistem saat ini dibutuhkan sistem yang lebih banyak, lebih bagus dan lebih cepat. Hal ini membutuhkan lebih banyak programmer dan penganalisa sistem yang berkualitas, kondisi kerja ekstra, kemampuan pemakai untuk mengembangkan sendiri, bahasa pemrograman yang lebih baik, perawatan sistem yang lebih baik (umumnya 50 % sampai 70 % sumber daya digunakan untuk perawatan sistem), disiplin teknis pemakaian perangkat lunak dan perangkat pengembangan sistem yang terotomasi.
Realibilitas Sistem waktu yang dihabiskan untuk testing sistem secara umum menghabiskan 50% dari waktu total pengembangan sistem. Dalam kurun waktu 30 tahun sejumlah sistem yang digunakan di berbagai perusahaan mengalami kesalahan dan ironisnya sangat tidak mudah untuk mengubahnya. Jika terjadi kesalahan, harus dilakukan: melakukan pelacakan sumber kesalahan dan harus menemukan cara untuk mengoreksi kesalahan tersebut dengan mengganti program, menghilangkan sejumlah statement lama atau menambahkan sejumlah statement baru.
Maintabilitas perawatan mencakup modifikasi sistem sesuai perkembangan perangkat keras untuk meningkatkan kecepatan pemrosesan (yang memegang peranan penting dalam pengoperasian sistem), modifikasi sistem sesuai perkembangan kebutuhan pemakai. Antara 50% sampai 80% pekerjaan yang dilakukan pada kebanyakan pengembangan sistem dilakukan untuk revisi, modifikasi, konversi,peningkatan dan pelacakan kesalahan.
Metodologi Pengembangan Sistem Analisis Sistem menganalisa dan mendefinisikan masalah dan kemungkinan solusinya untuk sistem informasi dan proses organisasi. Menentukan requirement sistem Perancangan Sistem: merancang output, input, struktur file, program, prosedur perangkat keras dan perangkat lunak yang diperlukan untuk mendukung sistem informasi Pembangunan sistem membangun perangkat lunak yang diperlukan untuk mendukung sistem Testing Sistem: melakukan validasi dan verifikasi sistem Implementasi Sistem: Instalasi sistem, beralih dari sistem lama ke sistem baru, melakukan pelatihan dan panduan seperlunya. Operasi dan Perawatan: mendukung operasi sistem informasi dan melakukan perubahan atau tambahan fasilitas. Evaluasi Sistem: mengevaluasi sejauih mana sistem telah dibangun dan seberapa bagus sistem telah dioperasikan
Object-oriented development Analisis, desain dan pemrograman adalah kegiatan yang terkait tetapi berbeda. OOA berkaitan dengan mengembangkan model obyek dari domain aplikasi OOD berkaitan dengan mengembangkan model berorientasi obyek sistem untuk melaksanakan persyaratan. OOP berkaitan dengan mewujudkan OOD menggunakan bahasa pemrograman OO seperti Java atau C + +.
Karakteristik OOD Objek adalah abstraksi dari entitas sistem nyata dan mengatur dirinya sendiri Objek independen dan merangkum kondisi dan representasi informasi Fungsi sistem dinyatakan dalam hal layanan objek. Berbagi data ditiadakan. Objek berkomunikasi dengan meneruskan message (pesan) Objek dapat didistribusikan dan dieksekusi secara berurutan ataupun secara paralel.
Kegunaan OOD Mudah untuk maintenance. Objek dapat dimengerti sebagai entitas yang berdiri sendiri. Objek potensial sebagai komponen yang dapat dipakai ulang. Untuk beberapa sistem, dimungkinkan pemeteaan yang jelas dari entitas nyata ke objek sistem
Identifikasi Obyek Identifikasi Obyek adalah bagian tersulit dari OOD. Tidak ada 'magic formula' untuk identifikasi obyek. Memerlukan keahlian, pengalaman dan pengetahuan domain dari perancang sistem. Identifikasi obyek adalah proses berulang.
Pendekatan Identifikasi Obyek Gunakan pendekatan grammatical berdasarkan deskripsi natural language dari sistem. Berdasarkan pendekatan semua yang tampak pada domain aplikasi. Gunakan pendekatan perilaku (behavioural) dan identifikasi obyek berdasarkan partisipasi pada kebiasaan apa yang berlaku. Gunakan analisa berbasis skenario. Obyek, atribut dan method pada setiap seknarioyang teridentifikasi.
Unified Modeling Language Notasi yang berbeda untuk menggambarkan berorientasi obyek desain yang diusulkan pada 1980-an dan 1990-an. The Unified Modeling Language penyatuan dari notasi-notasi ini UML menjelaskan notasi untuk sejumlah model yang berbeda yang mungkin di hasilkan selama OOAD Secara defacto menjadi standard untuk pemodelam berorientasi Objek
Model Objek dan UML UML merupakan representasi standar yang dibuat oleh pengembang banyak digunakan pada analisa berorientasi objek dan metode desain. Merupakan standart efektif untuk Pemodelan berorientasi objek
Pemodelan Sistem UML Model Deployment Diagram Use Case Diagrams Scenario Sequence State Component Model Object Collaboration Activity Class
Diagram-diagram UML Diagram Use Case (Use Case Diagram) Diagram Aktivitas (Activity Diagram) Diagram Urutan (Sequence Diagram) Diagram Kolaborasi (Collaboration Diagram) Diagram Kelas (Class Diagram) Diagram Status (Statechart Diagram) Diagram Komponen (Component Diagram) Diagram (Deployment Diagram)
Diagram UML untuk masing-masing kebutuhan Use Case diagrams untuk menggambarkan interaksi user dengan system. Class diagrams untuk menggambarkan logical structure. Object diagrams untuk menggambarkan objects and links. State diagrams untuk menggambarkan behavior. Component diagrams untuk menggambarkan physical structure of the software. Deployment diagrams untuk menunjukkan pemetaan software ke konfigurasi hardware. Interaction diagrams (i.e., collaboration and sequence diagrams) untuk menggambarkan perilaku. Activity diagrams untuk menggambarkan flow dari kejadian pada sebuah use case.
Overview of UML Diagrams Behavioral/perilaku Activity diagram Statechart diagram Use case diagram Structural Class diagram Component diagram Deployment diagram Interaction Communication(collaberation) diagram Sequence diagram
Referensi: Ian Sommerville, Software Engineering, 7th-ed, 2004, Prentice hall, USA N. Ashrafi, Object Oriented systems Analysis and Design, Pearson International Edition, 2008, Pearson Education, USA Sholiq, Pemodelan Sistem Informasi Berorientasi Objek dengan UML, 2006, Graha Ilmu, Indonesia