OBJECT ORIENTED MODELLING INFORMATION SYSTEM START WITH PROGRAMMING The world of analysis and design start from programming language, start from : Unstructured Programming The power of Go To Statement Example Language programming : Gwbasic, Basic, etc Structured Programming Eliminate Go To concept Dissociation between Data and function Example Language programming : Clipper, C, Fortran, COBOL, etc Object Oriented Programming First introduced by SIMULA 67 language Combining data and function become a class (Encapsulation) The others programming language like Smalltalk, Java, Prolog, etc Visual OO Programming Was introduce in 1991 by Microsoft with Visual Basic Using GUI (Graphical User Interface) Concept Others are Visual C++, Visual Foxpro 3.0, Visual Objects, power builder, borland delphi, dot net, ect 2 THE DIFFERENTIATION BETWEEN STRUCTURED AND OBJECT ORIENTED DESIGN (1) Study Case : Library Void main( ) { String kodebook,judul,pengarang,penerbit ; String nmpmj, alpmj,umur,jk; void entrybuku( ) void updatebuku( ) void entrypeminjam( ) void updatepeminjam( ) void prosespinjam( ) } Class peminjam { String nmpmj, alpmj,umur,jk : void entrypeminjam( ) void updatepeminjam( ) void prosespinjam( ) } class buku { String kodebook,judul,pengarang,penerbit ; Anggota Denda void entrybuku( ) void updatebuku( ) 1 0..2 } 1 Transaksi -NoID : char(6) #Nama : char(20) #Alamat : char (40) #noktp : char (20) -Bayar : Num(8) -jenis : char(1) {Jenis : 0=hilang,1=rusak,2=telat} +denda() +ang() 1..* 1 -notran :char(5) -Tgltrans : date -Tglbalik : date +trans() +transb() Pembaca peminjam 1 M lakukan Transaksi +pembaca() Baca buku 1..* Baca N book Entitas Relationship Diagram -Tglbaca : date -jambaca : char(5) +bacadong() Entity Class Diagram 1..* Balikin buku Petugas 1..* pinjam 1 -Kodepet : char (6) -Nama : char (20) -alamat : char (30) +getpet() 1 Pinjam -Tglkembali : date 1..* 1 M 1 1..3 +pinjem() +balik() 0..* 1 Buku -Kodebuku : char(7) -judul : char(40) -penerbit : char (30) -edisi : num(4) -pengarang:char(40) -harga:num(8) +getbuku() 3 THE DIFFERENTIATION BETWEEN STRUCTURED AND OBJECT ORIENTED DESIGN (2) Study Case : Library Class peminjam { String nmpmj, alpmj,umur,jk : void entrypeminjam( ) void updatepeminjam( ) void prosespinjam( ) } class buku { String kodebook,judul,pengarang,penerbit ; void entrybuku( ) <<include>> Pinjam void updatebuku( ) Buku } Void main( ) { String kodebook,judul,pengarang,penerbit ; String nmpmj, alpmj,umur,jk; void entrybuku( ) void updatebuku( ) void entrypeminjam( ) void updatepeminjam( ) void prosespinjam( ) } DataPeminjam 1.0 P peminjam Entry Data Buku <<extend>> Daftar Anggota Baru Peminjam Anggota Kembalikan buku Update Anggota <<extend>> Petugas Bayar Denda Kepala Perpustakaan DataBUku 2.0 P Buku Baca Di tempat Update Buku Peminjam bukupinjaman peminjam 3.0 P Pinjam Buku Diagram Overview Baca bukan anggota Transaksi Pinjam Pembaca Pencetakan Laporan <<system>> BAAK <<time>> 4 WHY WE LEARN THIS SUBJECT ? • Mempelajari cara menggunakan alat untuk menganalisis dan merancang sistem informasi • Ada beberapa hubungan antara subjek satu dengan subjek lainnya • Belajar bagaimana kita melakukan implementasi terhadap bahasa pemrograman • OO Analisis dan desain merupakan subjek bagaimana belajar analisis dan desain atau membangun sistem informasi Programming Language OO Modelling Information System OO Analysis & Design 5 ADA GARIS MERAH ANTARA DESAIN DAN IMPLEMENTASI Kita harus menerapkan sesuatu yang telah kita rancang dan Kita harus merancang sesuatu yang telah kita terapkan Kd_dokter Nm_dokter Kd_plg Nm_plg Usia Telp almt Dokter 1 1 1..* pelanggan No_resep (fk) Kd_obat (fk) Jml_obat Aturan Harga_psn No_kwit Tgl_kwit No_resep (fk) No_resep 1..* Tgl_resep Kd_dokter (fk) Kd_plg(fk) 1 resep No_ref (fk) Kd_rek (fk) Tgl posisi Jml 1..* Kd_obat Nm_obat Jns_obat obat Satuan 1..* Har-Sat No_sln_rsp (fk) Kd_obat (fk) catat Jml_obat Aturan 1..* 1..* kwitansi 1..* isi 1..* 1 1 1..* 1..* 1..* jurnal rekening Kd_rek Nm_rek D_k 1..* No_nota nota Tgl_nota 1 salinanresep No_sln_resep Tgl_sln_resep No_resep (fk) ada No_nota (fk) Kd_obat (fk) qty_obat Jml_beli 6 APA ITU UML UML ADALAH UNIFIED MODELING LANGUAGE UML DICIPTAKAN OLEH GRANDY BOOCH, IVAR JACOBSON DAN JIM RUMBAUGH BAHASA STANDAR PEMODELAN VISUAL (VISUAL MODELING) DALAM REKAYASA SOFTWARE TOOL PEMODELAN VISUAL MENGGUNAKAN RATIONAL ROSE, DAN VISIO 2000 RATIONAL ROSE DAPAT MENDUKUNG - ROUNDTRIP ENGINEERING, DAPAT MEN-GENERATE KODE DARI MODEL YANG DIBUAT - REVERSE ENGINEERING, DARI SOURCE CODE YANG ADA UNTUK MENGHASILKAN GAMBARAN ARSITEKTUR DARI SOFTWARE APLIKASI. 7 TEKNOLOGI OBJECT ORIENTED PARADIGMA BARU DALAM REKAYASA SOFTWARE YANG DIDASARKAN PADA OBJEK DAN KLASS OBJECT ORIENTED MEMANDANG SOFTWARE BAGIAN PER BAGIAN YANG DIGAMBARKAN DALAM SUATU OBJEK SATU OBJEK DALAM SEBUAH MODEL MERUPAKAN SUATU FOKUS SELAMA PROSES ANALISIS, DESAIN, DAN IMPLEMENTASI SATU OBJEK DITEKANKAN PADA STATE, PRILAKU(BEHAVIOR), DAN INTERAKSI ANTAR OBJEK OBJECT ORIENTED DAPAT DIGUNAKAN MEMBANGUN APLIKASI YANG SANGAT LUAS 8 KONSEP UML UML DIGUNAKAN UNTUK - MENAMPILKAN BATASAN DARI SEBUAH SISTEM DAN FUNGSI UTAMA DENGAN MENGGUNAKAN USE CASES AND ACTORS - ILUSTRASI USE CASE DI REALISASIKAN DENGAN INTERACTION DIAGRAMS - MENJELASKAN STRUKTUR YANG TETAP DARI SEBUAH SISTEM MENGGUNAKAN KELAS DIAGRAM - PHYSICAL IMPLEMENTATION ARCHITECTURE DIJELASKAN MENGGUNAKAN COMPONENT DAN DEPLOYMENT DIAGRAMS 9 OBJECT ORIENTDED ANALYSIS DAN AND DESIGN (OOAD) OBJECT ORIENTED ANALYSIS : METODE ANALISIS YANG MEMERIKSA REQUIREMENTS(SYARAT/KEPERLUAN YANG HARUS DI PENUHI SISTEM) DARI SUDUT PANDANG KELAS – KELAS DAN OBJEK – OBJEK YANG DITEMUKAN DALAM RUANG LINGKUP PERMASALAHAN OBJECT ORIENTED DESIGN : METODE UNTUK MENGARAHKAN ARSITEKTUR SOFTWARE YANG DIDASARKAN PADA MANIPULASI OBJEK – OBJEK SISTEM ATAU SUBSISTEM. 10 KONSEP DASAR OOAD OBJEK (OBJECT) ADALAH “BENDA” SECARA FISIK ATAU KONSEPTUAL YANG DAPAT DI TEMUI DISEKELILING KITA. MISALNYA HARDWARE, SOFTWARE, DOKUMENT DAN MANUSIA BAHKAN KONSEP. OBJECT 11 KONSEP DASAR OOAD OBJECT MEMILIKI STATE STATE ADALAH HIMPUNAN DARI KEADAAN YANG MENGGAMBARKAN OBJEK TERSEBUT STATE DINYATAKAN DENGAN ATTRIBUTE ATTRIBUTE ADALAH NILAI INTERNAL SUATU OBJECT YANG MENCERMINKAN KARAKTERISTIK OBJEK , KONDISI SESAAT, KONEKSI DENGAN OBJECT LAIN DAN IDENTITAS PERUBAHAN STATE DICERMINKAN OLEH PRILAKU ( BEHAVIOR ) BEHAVIOR SUATU OBJEK MENDEFINISIKAN BAGAIMANA SEBUAH OBJEK BERTINDAK (BERAKSI) DAN MEMBERI REAKSI INTERFACE ADALAH PINTU UNTUK MENGAKSES SERVIS OBJEK. 12 ATTRIBUTE KAWAT KAWATPER KACA STATE TERANG REDUP OBJECT LAMPU 13 KONSEP DASAR OOAD KELAS (CLASS) ADALAH DEFINISI UMUM (POLA, TEMPLATE ATAU CETAK BIRU) UNTUK HIMPUNAN OBJEK BISNIS KELAS MEMILIKI ATTRIBUT DAN PRILAKU, BEHAVIORS, SERVICE ATAU MESSAGE CONTOH KELAS BINATANG, MAHASISWA DAN LAIN- LAIN ENCAPSULATION ADALAH PENYATUAN ANTARA DATA DAN PROSES ASSOCIATION ADALAH HUBUNGAN ANTAR OBJEK YANG SALING MEMBUTUHKAN AGGREGATION ADALAH BENTUK KHUSUS DARI ASOSIASI YANG MENGGAMBARKAN SELURUH BAGIAN SUATU OBJEK YANG MERUPKAN BAGIAN DARI OBJEK LAINNYA CONTOH OBJEK TANGGAL DAPAT DISUSUN DARI OBJEK HARI, OBJEK BULAN, DAN OBJEK TAHUN. 14 TOOL OF UML • USE CASES • CLASS DIAGRAMS • INTERACTION DIAGRAMS • SEQUENCE DIAGRAMS • COLLABORATION DIAGRAMS • PACKAGE DIAGRAMS • STAT DIAGRAMS • ACTIVITY DIAGRAMS • DEPLOYMENT DIAGRAMS 15 KOMPONEN USE CASE ACTOR NewClass USE CASE HUBUNGAN ANTARA ACTOR DAN USE CASE 16 ACTOR ACTOR ADALAH SESEORANG ATAU SESUATU YANG BERINTERAKSI DENGAN SISTEM SAAT PENGEMBANGAN ACTOR DAPAT BERUPA ORANG, STAFF, STUDENT, SISTEM (BILLING SYSTEM) ACTOR ADALAH YANG MELAKSANAKAN ATAU YANG MENGGUNAKAN SISTEM CONTOH STAFF TERIMA PERMOHONAN KKP MAHASISWA 17 USE CASE USE CASE ADALAH POLA DARI PERUBAHAN SISTEM YANG DITAMPILKAN SETIAP USE CASE ADALAH SEBUAH URUTAN DARI HUBUNGAN TRANSAKSI YANG DIKERJAKAN OLEH ACTOR DAN SISTEM DALAM SEBUAH DIALOG SEBUAH ALUR DOCUMENT DIBUATKAN USE CASE, PEMBUATAN DI AWALI DARI ACTOR DETIL DARI SISTEM HARUS DIJELASKAN KE ACTOR SAAT USE CASE DI JALANKAN CONTOH STAFF MEMELIHARA KURIKULUM DOSEN MEMINTA ABSEN MAHASISWA MEMELIHARA JADWAL BILLING SYSTEM MENERIMA INFORMASI TAGIHAN DARI MAHASISWA 18 USE CASE USE CASE DIAGRAM DIBUAT UNTUK MENGGAMBARKAN HUBUNGAN ACTOR DAN USE CASE MINTA JADWAL MAHASISWA PELIHARA JADWAL DOSEN BILLING SISTEM PELIHARA KURIKULUM MAHASISWA 19 HUBUNGAN ANTARA USE CASE USE CASE DAPAT DIHUBUNGKAN DENGAN USE CASE LAIN JENIS HUBUNGAN TERSEBUT ADLAH : A. USES : SATU ATAU LEBIH USE CASE YANG BERHUBUNGAN AKAN TETAPI MERUPAKAN SATU KESATUAN B. EXTENDS : SATU ATAU LEBIH USE CASE YANG BERHUBUNGAN TAPI BERSIFAT OPTIONAL USES MINTA JADWAL LOGON VALIDATION DOSEN 20 HUBUNGAN ANTARA USE CASE EXTENDS MINTA JADWAL LOGON VALIDATION DOSEN 21 ACTIVITY DIAGRAM • Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. • Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. 22 ACTIVITY DIAGRAM • Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. • Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. • Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. 23 ACTIVITY DIAGRAM Pengembalian buku 24 INTERACTION DIAGRAMS INTERACTION DIAGRAMS MENGGAMBARKAN INTERAKSI ANTAR KUMPULAN OBJECT PADA SEBUAH USE CASES INTERAACTION DIAGRAMS DUA TIPE DIAGRAM YAITU : - SEQUENCE DIAGRAMS - COLLABORATION DIAGRAMS COLLABORATION DIAGRAM MENGGAMBARKAN INTERAKSI ANTAR OBJEK DAN HUBUNGAN DENGAN OBJEK LAINNYA 25 SEQUENCE DIAGRAM SEQUENCE DIAGRAM MENGGAMBARKAN INTERAKSI ANTAR OBJEK YANG DISUSUN DALAM URUTAN WAKTU SIMBOL YANG DIGUNAKAN PADA SEQUENCE DIAGRAM OBJEK GARIS KEHIDUPAN/LIFE LINE TIME/WAKTU MESSAGES/PESAN 26 SEQUENCE DIAGRAM CONTOH SEQUENCE DIAGRAM PESAN OBJEK :NAME1 :NAME2 GARIS KEHIDUPAN ACTOR MESSAGE1() ACTOR YANG MENJALANKAN OBJEK 27 CLASS DIAGRAM CLASS ADALAH DEFINISI UMUM (POLA, TAMPLETE ATAU CETAK BIRU CLASS MERUPAKAN ABSTRAKSI DARI ENTITAS DUNIA NYATA CLASS DAPAT JUGA MENGGAMBARKAN GROUP DARI OBJECT CONTOH CLASS : BINATANG, MAHASISWA, DOSEN DLL CLASS MEMILIKI : NAMA CLASS, ATTRIBUT DAN SERVICE ATAU BEHAVIORS 28 CLASS DIAGRAM ATTRIBUTE ADALAH NILAI INTERNAL YANG MENCERMINKA KARAKTERISTIK DARI OBJECT OPERATION OBJECT MENDEFINISIKAN BAGAIMANA SEBUAH OBJECT BERTINDAK DAN MEMBERI REAKSI CONTOH NAMA CLASS ATTRIBUTE OPERATION 29 CLASS DIAGRAM CLASS MAHASISWA NIM NAMA TAMBAH EDIT HAPUS OBJECT HESTI:MAHASISWA NIM : 0222500022 NAMA : HESTI TAMBAH EDIT HAPUS 30 CLASS DIAGRAM OPERATION DAPAT DITEMUKAN PADA INTERACTION DIAGRAMS PESAN PADA INTERACTION DIAGRAMS MERUPAKAN OPERATION PARAMETER PADA PESAN ADALAH ATTRIBUTE REGISFORM CONTOH REGISFORM NAME NAMECOURSE REGISMANAGER ADD(JOE, MATH) REGISMANAGER ADD(NAME, NAMECOURSE) 31 INHERITANCE HUBUNGAN ANTARA SUPER CALSS DENGAN SUBCLASS SAAT SATU CLASS YANG MEMPUNYAI SPECIALISASI DENGAN CLASS LAIN BENTUK INI DISEBUT JUGA SPECIALIZATION Mobil Sedan Truk Bis 32 AGGREGATION BENTUK KUHSUS DARI ASSOCIATION YANG MENGGAMBARKAN SLURUH BAGIAN SUATU OBJEK MERUPAKAN BAGIAN DARI OBJEK LAIN Room Door Universitas Fakultas Jurusan 33 ASSOCIATIONS • HUBUNGAN ANTAR CLASS Pinjaman Nasabah PENAMAAN ASSOCIATION: • HINDARI PENAMAAN YANG TIDAK BERARTI SEPERTI • BERHUBUNGAN_DENGAN • TERKAIT_DENGAN • TERSAMBUNG_DENGAN • NAMA YANG TIDAK MEMILIK SUBYEK ATAU KATA KERJA • PUNYA • DAPAT • JUAL 34