PERANCANGAN TAHAP ANALISIS
DAN DATABASE SISTEM
1.1 Tujuan Praktikum
1. Praktikan mampu memahami macam-macam perancangan obyek dan kelas di tahap analisis.
2. Praktikan mampu membuat interface sistem. 3. Praktikan mampu menganalisis kebutuhan data.
4. Praktikan mampu membuat database system secara Conceptual Data Model (CDM) dan Physical Data Model (PDM).
1.2 Perlengkapan
1. Modul Praktikum APSI 2. Software Power Designer
1.3 Landasan Teori
1.3.1 Perancangan Obyek dan Kelas Tahap Analisis
1.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
1.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.
1.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.
1.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.
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
1.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 :
1.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.
1.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.
1.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.
1.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, sapam, 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 :
o Tidak memiliki obyek (tidak ada instansiasi)
o Tidak memiliki atribute (hanya memiliki konstanta) o Tidak memiliki modifier static
o Tidak extends dari kelas lain namun boleh extends dari interface lain bahkan boleh extends ke lebih dari satu interface lain.
o Tidak implemen dari kelas lain.
Perbedaan interface dengan abstract class sebagai berikut:
Contoh 1:
Berikut ini kita akan menggambarkan notasi UML untuk interface Engine dan kelas NewEngine yang mengimplementasikannya
Pembuatan kelas interface menggunakan power design:
1. Buka Power Designer 12 2. Klik File New
3. Pilih Object Oriented Model 4. Pilih Class Diagram
5. Buat kelas untuk interface dan kelas yang mengimplementasikannya
6. Klik 2x pada kelas engine sebagai interfacenya, lalu pada baris stereotypenya ketikan “Inteface”, klik OK
7. Buat method untuk masing2 kelas dengan mengeklik 2x kelas yang akan diberi method, kemudian pilih kolom Operations, masukkan method yang akan di deklarasikan, klik OK
8. Untuk membuat asosiasinya pilih simbol “dependency” pada palette, kemudian hubungkan pada masing-masing kelas
9. Edit symbol dependency tadi dengan memilih “line style” pada toolbar
Kemudian pada kolom arrow,edit garis pada bagian END, klik OK
Contoh 2:
Lakukan petunjuk yang sama dengan contoh 1 untuk menggambarkan notasi UML untuk interface AlatMusik dan kelas AlatMusikTiup, kelas AlatMusikPetik yang mengimplementasikannya
1.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 obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas 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
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.
1.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.
Usecase pada modul sebelumnya :
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
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.
1.3.3.2 Pembuatan Conceptual Data Model
11. Buka Power Designer 12 12. Klik File New
13. Pilih Conceptual Data Model 14. Klik OK
16. Buat 3 entity pada workspace, beri nama masing-masingentity yaitu Mahasiswa, Buku dan Petugas.
17. Klik 2X pada salah satu entity (Contoh : Mahasiswa) 18. Pada Tab General, ketikkan Name : Mahasiswa.
20. Isikan atribut pada entity lainnya.
21. Setelah seluruh entity selesai dibuat, maka klik Palette Relationshipuntuk membuat relationship (hubungan) antar entitas.
22. Hubungkan entity Mahasiswa dengan Buku. Atur kardinalitas menjadi many to many. Lalu klik OK.
24. Klik kanan pada relationshippeminjaman_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.
25. Selanjutnya, tambahkan atribut pada entitas peminjaman_pengembalian.
26. Untuk membuat relasi antara entity petugas dengan entity peminjaman_pengembalian, Anda hanya menarik relationship antara kedua entity tersebut.
27. Berikut ini adalah hasil akhir pembuatan CDM Perpustakaan.
28. Untuk melakukan pengecekan terhadap kebenaran CDM yang telah dibuat, klik Tools Check Model OK.
1.3.3.3 Pembuatan Physical Data Model
Dalam membuat Physical Data Model (PDM), Anda cukup menggenerate hasil dari ERD CDM. Langkah-langkahnya adalah sebagai berikut :
1. Pilih tools generate physical data model
2. Pada tab general, pilih generate new physical data model
Pada pilihan DBMS, pilih Oracle 10g (atau sesuai dengan database yang akan digunakan).
3. Pada tab Detail, tulis Table prefix dengan tb_ dan pada references ganti Delete
ruledenganCascade. Lalu klik OK.
4. Setelah itu bentuk ERD akan berubah menjadi seperti dibawah 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
1.4 Praktikum
TOSERBA CAHAYA KARTIKAH SEJATI adalah salah satu TOSERBA terbesar yang ada di Republik Indonesia tercinta.TOSERBA ini sangat menjunjung tinggi rasa nasionalisme, sehingga hampir 90% karyawan mereka adalah orang-orang pribumi. TOSERBA CAHAYA KARTIKAH SEJATI sudah melayani pelaggan-pelanggannya sejak tahun 1991 dan sudah mendirikan cabang di 3 kota besar di Pulau Jawa, yakni : Jakarta (terletak di Jakarta Timur), Surabaya, dan Bandung. Pendapatan TOSERBA ini terus meningkat dari tahun ke tahun, hingga pada akhir tahun 2011, pendapatan TOSERBA mengalami penurunan secara signifikan.
Selidik punya selidik, ternyata salah satu faktor penyebab turunnya pendapatan TOSERBA ini adalah menurunnya tingkat kepuasan pelanggan terhadap pelayanan (khususnya sistem pembayaran) yang diberikan oleh karyawan TOSERBA ini.Sistem yang ada dirasa kurang tanggap dan cepat dalam mengidentifikasi keinginan pelanggan yang selalu ingin dilayani secara cepat dan tepat.Selain itu, struk pembayaran yang ada kadang-kadang tidak sesuai dengan jumlah pembelian yang dilakukan oleh pelanggan. Dampaknya, pelanggan mulai meninggalkan TOSERBA ini dan memilih TOSERBA lain dengan sistem pelayanan yang lebih nyaman bagi mereka.
Temuan tersebut membuat Noor Kartikah Sejati, CEO sekaligus pendiri TOSERBA ini berpikir untuk mendesain ulang proses bisnis yang ada, khususnya pada sistem pembayaran atau POS (Point of Sales). Pada akhirnya, setelah berpetualang mencari ide dan ilham dari Yang Maha Kuasa, akhirrnya Jeng Noor (Sapaan akrab CEO) beserta tim, berhasil membuat proses bisnis baru pada sistem POS yang ada.
TOSERBA CAHAYA KARTIKAH SEJATI secara bertahap membuat perubahan pada bisnisnya. Perbaikan proses bisnis yang ia inginkan dengan penambahan sistem pembayaran atau POS (Point of Sales) telah ia dilakukan dengan analisis sistem berupa usecase. Namun langkah ini bukan satu-satu hal penting yang harus dilakukan jeng Noor dalam pembuatan sistem POSnya. Langkah lebih lanjut yang akan dia lakukan dalam pengembangan sistem POS adalah pembuatan interface sistem dan database sistemnya.
Proses bisnis dimulai saat pelanggan menghampiri kasir untuk melakukan transaksi pembayaran. Kasir kemudian menggunakan sistem POS untuk mencatat detail barang-barang yang dibeli oleh pelanggan. Selanjutnya, sistem akan menampilkan detail list barang yang dibeli beserta total harga yang harus dibayar pelanggan. Pada tahap berikutnya, pelanggan memasukkan informasi pembayaran (bisa cash, debit, atau credit card) dimana informasi pembayaran ini akan divalidasi dan disimpan oleh sistem. Proses bisnis berakhir saat sistem meng-update inventori barang terkait dan pelanggan menerima bukti pembayaran beserta barang-barang yang mereka beli.
Dari gambaran proses bisnis diatas, Jeng Noor diharuskan untuk membuat rancangan interface sistem dan database guna mendukung sistemnya.