Perancangan Analisis dan Database Sistem
MODU L 2 2.1 Tujuan Praktikum
1. Praktikan mampu memahami macam-macam perancangan obyek dan kelas di tahap analisis. 2. Praktikan mampu membuat object diagram. 3. Praktikan mampu menganalisis kebutuhan data. 4. Praktikan mampu membuat database system secara Conceptual Data Model (CDM) dan Physical Data Model (PDM).
2.2 Perlengkapan 1. Modul Praktikum APSI 2. Software Power Designer
2.3 Landasan Teori 2.3.1 Perancangan Obyek dan Kelas Tahap Analisis 2.3.1.1
Inheritance
Inheritance merupakan suatu cara untuk menurunkan suatu class yang lebih umum menjadi suatu class yang lebih spesifik. Class utama disebut superclass, sedangkan class turunan disebut subclass.Suatu class boleh memiliki beberapa subclass, tetapi suatu class tidak boleh memiliki lebih dari satu superclass. Contoh :
Catatan : panah dengan kepala segitiga menuju kearah superclass.
2.3.1.2
Generalisasi dan Spesialisasi
Generalisasi adalah konsep ketika beberapa class yang telah ada dalam class diagram memiliki fungsionalitas, struktur dan tujuan umum.
Spesialisasi adalah konsep yang digunakan ketika kelas baru yang akan ditambahkan memiliki fungsionalitas,struktur dan tujuan yang sama dengan kelas yang sudah ada, tetapi kelas baru ini membutuhkan kode baru atau atribut baru.
2.3.1.3
Polymorphism
Polymorphism merupakan kemampuan suatu class untuk mempunyai beberapa bentuk class yang berbeda.Polymorphism bisa disamakan dengan overload method, dimana sebuah class terdapat beberapa method dengan nama yang sama.
2.3.1.4
Abstract class
Abstract class merupakan class yang memiliki fungsi yang tidak komplit dan tidak bisa di instantiasi. Class yang meng-extends class abstract mewarisi semua methodnya (termasuk method abstrak). Ketika subclass menulis kembali method superclass-nya, maka subclass ini me-override method superclass-nya. Notasi UML untuk abstract class :
Catatan : Class abstract ditulis italic atau ditulis setelah nama class dengan kurung kurawal {abstract} Semua method abstract yang ada pada class tersebut juga ditulis dengan cara yang sama
2.3.1.5
Role Name
Role name merupakan peran diantara class. Pada UML, masing-masing kelas pada ujung suatu asosiasi perlu mempunyai role name. Contoh :
2.3.1.6
Association (Asosiasi)
Asosiasi menggambarkan relasi antar dua kelas di class diagram. Asosiasi aktualnya menggambarkan tipe relasi antara dua kelas. Asosiasi terbagi menjadi dua depedency yaitu aggregation dan composition. Perhatikan contoh berikut ini : Association : Juru masak menggunakan pisau (uses) Aggregation : Mobil memiliki radio (has) Composition : Mobil selalu berisi mesin (always contain)
a. Aggregation Aggregation mempunyai hubungan tidak kuat. Contohnya adalah mobil dan radio, mobil masih bisa hidup tanpa ada radio. Disimbolkan dengan tanda diamond putih (kosong)
b. Composition Composition mempunyai hubungan yang kuat.Contohnya adalah mobil dengan mesin, mobil tidak dapat hidup tanpa mesin.Disimbolkan dengan tanda diamond hitam.
2.3.1.7
Propagation
Propagation adalah konsep pemanggilan method suatu kelas untuk memanggil method milik kelas lain. Mengacu pada permohonan suatu method, menyebabkan satu atau lebih method pada objek yang terasosiasi untuk dilibatkan dengan cara tertentu.
2.3.1.8
Delegation
Delegation adalah konsep menyerahkan operasi ke kelas lain yang terasosiasi dengannya. Terjadi bila keseluruhan operasi yang user atau sistem mohon pada class benar-benar berlangsung di dalam obyek asosiasi.
2.3.2 Interface Sistem Beberapa bahasa pemrograman berorientasi objek, misalnya C++, membolehkan suatu kelas memiliki dua atau lebih superclass. Hal ini disebut pewarisan ganda (multiple inheritance).Pewarisan ganda seperti ini tidak diperbolehkan pada Java. Desainer Java ingin menjaga agar bahasa Java tetap sederhana, dan mereka merasa pewarisan ganda ini sangat kompleks dengan keuntungan yang tidak begitu besar. Akan tetapi, Java memiliki fitur lain yang bisa digunakan seperti halnya pewarisan berganda, yaitu antar muka (interface). Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Interface merupakan kelas yang paling abstract, hanya berisi daftar deklarasi method, artinya semua method belum mempunyai implementasi Sedangkan detail dari method berada pada class yang mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance. Tipe data yang boleh pada interface hanya tipe data konstan. Sebagai analoginya akan digambarkan sebagai berikut. Dalam kehidupan nyata, terdapat manusia yang bekerja sebagai guru, petani, satpam, pedagang dan lain-lain. Misalkan saja terdapat kelas Pak Dony, maka kelas ini akan diturunkan dari kelas manusia, namun harus mengimplementasikan sebuah kelas lagi (yang haruslah merupakan sebuah interface sebab Java hanya mendukung sebuah superclass untuk setiap kelas). Jadi kelas PakDony merupakan implemen dari kelas Guru (jika dia merupakan seorang guru).
Mengapa membutuhkan interface? Memecahkan bagian yang rumit dan spesifik. Dengan menggunakan class atau interface oleh vendor maka dalam pembuatan perangkat lunak menjadi lebih cepat. Keterbatasan inheritance pada Java. Interface menjawab kebutuhan untuk melakukan multiple inheritance
Syarat sebuah interface : Tidak memiliki obyek (tidak ada instansiasi) Tidak memiliki atribute (hanya memiliki konstanta) Tidak memiliki modifier statik Tidak extends dari kelas lain namun boleh extends dari interface lain bahkan boleh extends ke lebih dari satu interface lain. Tidak implemen dari kelas lain.
Perbedaan interface dengan abstract class sebagai berikut:
Contoh 1: Berikut ini kita akan menggambarkan Object Diagram. Pembuatan object diagram menggunakan power design: 1. Buka Power Designer 12. 2. Klik File -> New. 3. Pilih Object Oriented Model. 4. Pilih Object Diagram. 5. Buat object terlebih dahulu dengan mengklik gambar Object pada palette.
6. Klik 2 kali pada objectnya kemudian akan muncul halaman seperti di bawah ini dan kemudian berikan Name pada object yang dibuat.
7. Klik menu Create Class pada halaman yang sama
8. Kemudian akan muncul halaman di bawah ini. Masukkan nama kelasnya.
9. Pilih menu Attributes, masukkan atribut yang diperlukan bersama dengan Data Type (jtipe data). Kemudian klik OK.
10. Setelah itu, klik object yang akan diedit, pilih menu Attribute Values dan klik icon Add Attribute Values.
11. Maka akan muncul tampilan seperti di bawah ini. Kemudian ceklist-kan atribut yang diperlukan untuk ditampilkan. Klik OK.
12. Setelah itu, isi valuenya.
13. Untuk menghubungkan antar object, gunakan icon Instance Link.
14. Kemudian lanjutkan hingga gambar seperti di bawah ini. Jack:Man
Mary:Woman
age
age
= 47
Anna:Woman age
= 13
= 42
Tommy:Man age
=7
2.3.3 Analisis dan Pembuatan Database Sistem Database sistem yang dibuat menggunakan konsep ERD. ERD (Entity Relationship Diagram) digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan. Di dalam Power Designer, terdapat dua konsep dalam merancang ERD yaitu Conceptual Data Model (CDM) dan Physical Data Model (PDM).
a. Conceptual Data Model (CDM) Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyekobyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitasentitas itu. Biasanya direpresentasikan dalam bentuk Entity Relationship Diagram (ERD). Manfaat Penggunaan CDM dalam perancangan database : Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan Alat komunikasi antar pemakai basis data, designer, dan analis.
b. Physical Data Model (PDM) Merupakan model yang menggunakan sejumlah tabel untuk menggambarkan data serta
hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik. Tipe data PDM bersifat lebih khusus dan spesifik. Perancangan PDM merupakan representasi fisik atau sebenarnya dari database.
2.3.3.1
Analisis Kebutuhan Data
Studi Kasus peminjaman buku di perpustakaan : Setiap mahasiswa IT Telkom mempunyai kartu pinjam perpustakaan, dimana setiap mahasiswa dapat meminjam buku dengan alur, pertama mahasiswalogin dengan KTM kedalam sistem, kemudian mahasiswa dapat memilih buku yang diinginkan dengan melihat catalog buku di sistem, setelah dapat, mahasiswa membawa buku tersebut ke petugas perpustakaan dengan menyerahkan kartu pinjam dan KTM. Identitas buku direkap oleh petugas setelah itu buku dapat dipinjam mahasiswa.Mahasiswa harus mengembalikan buku tersebut sesuai tanggal yang ditentukan, jika tidak maka mahasiswa harus membayar denda.
Dari usecase tersebut dapat dilihat beberapa poin penting yang perlu direcord data-nya. Antara lain:
1. Data Aktor : untuk merekam data detail peminjam dan petugas. a. Mahasiswa b. Petugas 2. Data Buku : Untuk menampung data detail dari buku. Terdapat pula data penulis dan data penerbit buku. 3. Data Peminjaman Buku : menampung data siapa peminjam, siapa petugas yang melayani dan buku apa yang dipinjam beserta tanggal buku harus kemabali. 4. Data Pengembalian Buku : merekam data peminjam yang telah mengembalikan buku dan denda pengembalian.
2.3.3.2
Pembuatan Conceptual Data Model
Langkah-langkahnya sebagai berikut. 1. Buka Power Designer v. 12 2. Klik File -> New 3. Pilih Conceptual Data Model 4. Klik OK
5. Pilih Entity pada Palette
6. Buat 3 entity pada workspace, beri nama masing-masing entity yaitu Mahasiswa,
Buku dan Petugas. 7. Klik 2X pada salah satu entity (Contoh : Mahasiswa). a. Pada Tab General, ketikkan Name : Mahasiswa.
b. Pada Tab Attributes, atur atributnya.
8. Isikan atribut pada entity lainnya. 9. Setelah seluruh entity selesai dibuat, maka klik Palette Relationship untuk membuat relationship (hubungan) antar entitas.
10. Hubungkan entity Mahasiswa dengan Buku. Atur kardinalitas menjadi many to many. Lalu klik OK.
11. Pada tab General,ubah Name menjadi peminjaman_pengembalian.
12. Klik kanan pada relationship peminjaman_pengembalian, pilih Change to Entity. Setelah itu akan muncul entitas baru yang masih kosong. Entitas tersebut merupakan entitas baru gabungan dari kedua entitas yang memiliki kardinalitas many to many.
13. Selanjutnya, tambahkan atribut pada entitas peminjaman_pengembalian.
14. Untuk
membuat
relasi
antara
entity
petugas
dengan
entity
peminjaman_pengembalian, dapat dengan menarik relationship antara kedua entity tersebut. 15. Berikut adalah hasil akhir pembuatan CDM Perpustakaan.
16. Untuk melakukan pengecekan terhadap kebenaran CDM yang telah dibuat, klik Tools -> Check Model -> OK. Apabila tidak ada error maka muncul kotak dialog seperti di bawah ini.
2.3.3.3
Pembuatan Physical Data Model
Dalam membuat Physical Data Model (PDM), cukup meng-generate hasil dari ERD CDM. Langkah-langkahnya sebagai berikut : 1. Pilih tools -> Generate Physical Data Model 2. Pada tab General, pilih Generate New Physical Data Model Pada pilihan DBMS, pilih database yang akan digunakan, misal Oracle version 10g (sesuaikan dengan database yang akan digunakan). Isikan Name dengan PDMperpus. 3. Pada tab Detail, tulis Table prefix dengan tb_ dan pada references ganti Delete rule dengan Cascade. Lalu klik OK.
4. Setelah itu bentuk ERD akan berubah menjadi gambar ini. Inilah yang disebut bentuk PDM.
Lihat perubahan pada entitas peminjaman_pengembalian, terlihat bahwa terjadi penambahan atribut pada entitas tersebut yaitu Kode_Buku, NIM, dan Kode_Petugassebagai foreign key maupun primary key di entitas tersebut.