Post on 13-Oct-2015
Analisis dan Desain BerorientasiObyekPERTEMUAN 1
Mata Kuliah : Analisa dan DesainBerorientasi ObyekKode Mata Kuliah : TKD167SKS : 3Semester : 5Sifat Mata Kuliah : wajibPrasyarat : ADSI
Tujuan Umum :Mahasiswa mampu menganalisa dan mendesain sistem yang berbasiskan pada prinsip-prinsip obyek.
Tujuan KhususMahasiswa dapat menjelaskan latar belakang perlunya metode berorientasi objek (OOA)Mahasiswa dapat menjelaskan konsep objekMahasiswa dapat menjelaskan model dan penggunaan metode berorientasi objek dalam pengembangan sistemMahasiswa dapat menjelaskan model Objek.Mahasiswa dapat menjelaskan objek dan classMahasiswa dapat menjelaskan siklus sistem (OODLC) Object Development life CycleMahasiswa dapat menjelaskan requirement ModelMahasiswa mengeti class, hierarchies dan agregasiMahasiswa dapat membuat diagram-diagram UMLMahasiswa dapat mengimplementasiksan konsep untuk mendesain sistem yang berorientasi objek
CatatanKontrak Kuliah :UTS : 25 %UAS : 35%TUGAS 1: CARI JURNAL, PRESENTASI (30 %)TUGAS 2 : MANDIRIQUIS : 10%Koordinator Kelas : dora (085646805727)
Sub Pokok Bahasan Pertemuan 1Pengertian ADBOTeknologi ObyekKonsep Berorientasi Obyek- Abstraksi- Inheritance- Polymorphism- encapsulation- Asosiasi- Agregasi
Pengertian ADBOAnalisa:Mempelajari domain permasalahan bisnis untuk merekomendasikan perbaikan dan menentukan kebutuhan system untuk menyelesaikan permasalahan.
Desain :Menentukan solusi teknis/computer-based dimana solusi ini berdasarkan kebutuhan system yang telah diidentifikasi pada proses analisis.
Analisa dan Desain Berorientasi Object :Memahami domain permasalahan dan merumuskan solusinya dengan menggunakan pendekatan object(benda, konsep, atau entitas)Memudahkan pemanfaatan ulang code dan arsitekturLebih mencerminkan dunia nyata (lebih tepat dalam menggambarkan entitas perusahaan, dekomposisi berdasarkan pembagian yang natural, lebih mudah untuk dipahami dan dirawat)Kestabilan (perubahan kecil dalam requirement tidak berarti perubahan yang signifikan dalam system yang sedang dikembangkan) Lebih mudah disesuaikan dengan perubahan
Metode AnalisisBiasanya analisa sistem dimulai dengan adanya dokumen permintaan (requirement) yang diperoleh dari semua pihak yang berkepentingan. (Mis: klien, developer, pakar, dll)Dokumen permintaan memiliki 2 fungsi:1. memformulasikan kebutuhan klien2. membuat suatu daftar tugas
Ada beberapa pendekatan yang biasa digunakan dalam menganalisa suatu sistem, yaitu:1. Functional Decomposition2. Data Flow Approach3. Object Oriented
Function DecompositionFunctional Decomposition = function + sub-functions + functions interfacesFunctional decomposition hanya menghasilkan suatu spesifikasi fungsional yang memetakan subyek secara tidak langsung.Functional decomposition sulit dilakukan karena sifat sistem yang mudah berubah. Oleh sebab itu sistem analist harus dapat menentukan fungsi-fungsi yang memiliki potensi untuk berubah.
Data Flow ApproachData Flow Approach = data (& control) flows + data (& control) transformation + data (& control) stores + terminators + process specs (mini-specs) + data dictionary
Data Flow ApproachStrategi: Mengikuti alir data yang terjadi dalam sistem.Yang menjadi masalah adalah, manusia tidak terbiasa berpikir dengan cara tersebut dalam memecahkan permasalahan (Metode pengorganisasian).
OO- Object Oriented Object Oriented = classes and objects+ inheritance+ communication with messages
Structured vs Object-OrientedStructuredPendekatan masalah berorientasi pada aksi atau dataObject-OrientedPendekatan masalah berorientasi pada aksi dan data
Faktor Pendorong OOKonsep pendekatan OO yang sudah cukup matang.Fokus : pengkodean desain analysisDekomposisi: pemrograman terstruktur desain terstrukur analysis terstruktur : Kemajuan teknologi yang memungkinkan pembuatan sistem berorientasi obyek Assembler, Pascal, ALGOL, c++, javaSifat dari sistem/program yang dibuat banyak berubahSistem sekarang yang domain-oriented.abstraksi prosedural vs. abstraksi data
1. Teknologi Obyek2. Konsep Berorientasi Obyek- Abstraksi- Inheritance- Polymorphism- encapsulation- Asosiasi- Agregasi
Kompetensi Mahasiswa mampu menjelaskan teknologi obyek Mahasiswa mampu mendefinisikan konsep berorientasi obyek. Mahasiswa mampu menjelaskan abstraksi Mahasiswa mampu menjelaskan inheritance Mahasiswa mampu menjelaskan polymorphism Mahasiswa mampu menjelaskan encapsulation Mahasiswa mampu menjelaskan asosiasi Mahasiswa mampu menjelaskan agregasi
Teknologi ObjekTeknologi perangkat lunak yang mendefinisikan sistem dalam hal obyek yang mengkonsolidasikan data dan tingkah laku (ke dalam obyek).Obyek menjadi dapat digunakan kembali dan komponen yang dapat diperluas untuk developer perangkat Lunak
ObjekObyek sesuatu yang dapat dilihat, disentuh atau dirasakan dan digunakan pengguna serta akan disimpan data dan perilakunya. Bisa berupa:Orang, tempat, benda atau kejadianPegawai, pelanggan, guru, dosen, mahasiswa, murid.Gudang, kantor, bangunan, ruangan.Kendaraan, produk, konputer, video.Atribut data yang menyatakan sifat dari obyek
Tingkah lakuTingkah laku (behavior) hal-hal yang dapat dikerjakan obyek dan merupakan fungsi yang dikenakan pada data (atribut) dari obyek tersebut.Dalam paradigma OO, perilaku obyek disebut metode, operasi, atau layanan (method,operation, or service).
Pemrograman BerorientasiObyek (PBO)C++JavaVisual Basic .netDelphidll..
Ide dasar PBOMengkombinasikan data dan fungsi/atribut untuk mengakses data menjadi sebuah kesatuan unit.
Memahami istilah dalam OOP / PBOObyek : komponen di dalam sebuah programProperty : karakteristik yang dimiliki obyekMethod : aksi yang dapat dilakukan oleh obyekEvent : kejadian yang dapat di alami oleh obyek
abstraksiPrinsip untuk merepresentasikan dunia nvata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.Secara sederhana dikatakan membuang atribut obyek dan operasi yang hanya sampai pada yang benarbenar diperlukan.
Contoh AbstraksiProgram mesin cuci tidak butuh serial numberProgram transaksi laundry butuh serial numberObyek sama-sama mesin cuci
Inheritance (Pewarisan)Adalah konsep yang menyatakan bahwa metode atau atribut dalam kelas dapat diturunkan atau digunakan kembali oleh kelas lain.
Pewarisan (contd)
Generalisasi,Supertype, dan SubtypeGeneralisasi/spesialisasi atribut dan perilaku yang sama untuk beberapa kelas dikelompokkan ke dalam kelas tersendiri yang disebut supertype.Supertype entitas yang berisi atribut dan perilaku yang sama untuk satu atau lebih subtipe kelas. Juga disebut parent class.Subtype kelas yang mewarisi (inherit) atribut dan perilaku dari kelas supertype serta mungkin juga berisi atribut dan perilaku lain yang khusus. Juga disebut kelas anak (child). Jika berada pada tingkat yang paling rendah dalam hirarki pewarisan, akan disebut kelas konkret (concrete)
PolimorphismArti : mempunyai banyak bentuk Merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda.
ContohPolimorphism pada C++ dapat dikenakan pada fungsi atau operator dan di kenal dengan overloading.Berikut fungsi dengan nama gambar :gambar(x,y); Menggambar titikgambar(x1,y1,x2,y2); Menggambar garisgambar(x,y,5); Menggambar lingkaran
encapsulationAdalah pembungkusan/pengemasan data dan fungsi dalam wadah bernama obyek.atau...Menyembunyikan operasi-operasi dari dunia luar dan dari obyek-obyek lain
Contoh EncapsulationTelevisi :- Tampak luar hanya layar dan beberapatombol operasi- Di dalam terkandung kompleksitas rangkaian elektronika
AsosiasionMerupakan relasi atau hubungan obyek satu dengan lainnya.Sebuah obyek dapat berelasi dengan obyek yang lain
AgregasiAgregasi sebuah relasi yang menyatakan bahwa satu kelas utuh (whole) yang lebih besar memuat satu atau lebih kelas bagian (part) yang lebih kecil. Sebaliknya, kelas bagian adalah bagian dari kelas utuhDalam UML 2.0 notasi agregasi sudah tidak dipakai lagi
Contoh Agregasi
Contoh Agregasi
tugasBuat ringkasan materi berikut dan presentasikan minggu depan :Model dan permodelanDefinisi modelPre ModellingModel pada Pengembangan SistemBeberapa contoh metode pemodelan awalPermodelan bisnis