18
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

2 PERANCANGAN TAHAP ANALISIS DAN DATABASE SISTEMcloud.politala.ac.id/politala/1. Jurusan/Teknik... · Modul Praktikum APSI 2. Software Power Designer 1.3 Landasan Teori 1.3.1 Perancangan

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • 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.

    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

    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

    10. Diagram telah selesai dibuat

  • 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

    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.

    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

    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.

    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

    15. Pilih Entity pada Palette

  • 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.

    19. Pada Tab Attributes, atur atributnya.

  • 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.

  • 23. Pada tab General, ubah Name menjadi peminjaman_pengembalian.

  • 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.

    Apabila tidak ada yang error maka muncul kotak dialog seperti dibawah ini :

  • 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).

    Isikan Name dengan PDMperpus.

  • 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

    Kode_Petugassebagai foreign key maupun primary key di entitas tersebut.

  • 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.