Tujuan Praktikum Perlengkapan Praktikumcloud.politala.ac.id/politala/1. Jurusan/Teknik... · yaitu...

21
1.1 Tujuan Praktikum 1. Praktikan mampu memahami konsep permodelan dinamis menggunakan UML baik ditahap analisis maupun tahap perancangan. 2. Praktikan mampu menggambarkan alur sistem ke dalam activity dan sequence diagram. 3. Praktikan mampu memahami alur kodingan sistem yang akan dibuat dan menggambarkannya dalam bentuk activity dan sequence diagram. 1.2 Perlengkapan Praktikum 1. Software Power Designer. 2. Modul 3 Praktikum APSI. 1.3 Landasan Teori 1.3.1 Model Dinamis Setelah model obyek dibuat, langkah selanjutnya di fase analisis adalah memodelkan cara sistem dan obyek-obyek di dalamnya beroperasi dan bekerja sama satu sama lain. Pemodelan ini disebut pemodelan dinamis. Pemodelan dinamis terdiri dari dua hal, yaitu : pemodelan selama tahap analisis scara logik (memastikan bahwa setiap operasi mungkin dilakukan di dalam sistem); pemodelan selama tahap perancangan secara fisik (mendefinisikan method di kelas-kelas yang sesuai). UML menyediakan empat diagram dasar untuk memodelkan dinamika alur informasi di dalam sistem, yaitu sequence diagram, collaboration diagram, state transition diagram, dan activity diagram. Dalam praktikum modul 4 hanya membahas mengenai sequence diagram dan activity diagram. 1.3.2 Sequence Diagram Sequence Diagram digunakan di UML untuk menggambarkan deskripsi setiap skenario di dalam Use Case. Sequence Diagram memodelkan obyek-obyek yang mengambil peranan di dalam skenario dan menggambarkan interaksinya. Selama fase analisis, sequence diagram mencerminkan suatu interkasi. Selama fase perancangan, setiap interaksi dikonversi ke dalam pemanggilan method sesuai dengan bahasa pemroraman yang dipilihnya.

Transcript of Tujuan Praktikum Perlengkapan Praktikumcloud.politala.ac.id/politala/1. Jurusan/Teknik... · yaitu...

  • 1.1 Tujuan Praktikum 1. Praktikan mampu memahami konsep permodelan dinamis menggunakan UML baik ditahap analisis maupun

    tahap perancangan.

    2. Praktikan mampu menggambarkan alur sistem ke dalam activity dan sequence diagram.

    3. Praktikan mampu memahami alur kodingan sistem yang akan dibuat dan menggambarkannya dalam bentuk

    activity dan sequence diagram.

    1.2 Perlengkapan Praktikum 1. Software Power Designer.

    2. Modul 3 Praktikum APSI.

    1.3 Landasan Teori 1.3.1 Model Dinamis

    Setelah model obyek dibuat, langkah selanjutnya di fase analisis adalah memodelkan cara sistem dan

    obyek-obyek di dalamnya beroperasi dan bekerja sama satu sama lain. Pemodelan ini disebut pemodelan

    dinamis. Pemodelan dinamis terdiri dari dua hal, yaitu :

    ● pemodelan selama tahap analisis scara logik (memastikan bahwa setiap operasi mungkin dilakukan di

    dalam sistem);

    ● pemodelan selama tahap perancangan secara fisik (mendefinisikan method di kelas-kelas yang sesuai).

    UML menyediakan empat diagram dasar untuk memodelkan dinamika alur informasi di dalam sistem,

    yaitu sequence diagram, collaboration diagram, state transition diagram, dan activity diagram. Dalam

    praktikum modul 4 hanya membahas mengenai sequence diagram dan activity diagram.

    1.3.2 Sequence Diagram

    Sequence Diagram digunakan di UML untuk menggambarkan deskripsi setiap skenario di dalam Use

    Case. Sequence Diagram memodelkan obyek-obyek yang mengambil peranan di dalam skenario dan

    menggambarkan interaksinya. Selama fase analisis, sequence diagram mencerminkan suatu interkasi.

    Selama fase perancangan, setiap interaksi dikonversi ke dalam pemanggilan method sesuai dengan bahasa

    pemroraman yang dipilihnya.

  • Setiap sequence diagram :

    ● mendeskripsikan use case atau satu skenario di dalam sebuah use case secara diagramatik;

    ● mengidentifikasi obyek-obyek yang terlibat di setiap proses;

    ● mengidentifikasi aksi atau peristiwa yang terjadi di setiap proses;

    ● mengidentifikasi informasi apa saja yang harus dikirim di sekitarnya untuk setiap proses;

    ● mengidentifikasi respon-respon apa saja yang diperlukan setelah setiap aksi atau peristiwa.

    System analyst harus membuat kurang lebih satu sequence diagram untuk setiap use case. Use case

    dapat memiliki lebih dari satu alur atau cabang yang muncul ketika keputusan dibuat di dalam aliran informasi.

    Proses recall setiap jalur berbeda yang ada di use case, yaitu satu jalur tanpa cabang, dinamakan sebagai

    skenario. Satu sequence diagram umumnya digambarkan untuk setiap skenario di dalam use case. Sequence

    diagram menggambarkan aliran informasi dalam periode waktu tertentu.

    Gambar 1 Struktur Model Sequence Diagram

    Pada Gambar 1 Actor1 memanggil task1 pada object1 (instan dari Class1). Sebagai bagian dari

    aktifasi ini, object1 harus memanggil task2 pada object2, dengan segera obyek ini dihapus setelah method

    task2 diselesaikan. Object1 selanjutnya memanggil task3 pada object3 untuk menyelesaikan transaksi.

    Object3 tidak pernah ada sebelum dibutuhkan oleh Object1 untuk memanggil task3. Garis hidup aktor di atas

    digambarkan sebagai persegi panjang yang tidak terputus. Penggambaran ini tidaklah bersifat wajib.

    Namun, karena aktornya berupa orang atau sistem eksternal lain, maka garis hidupnya tak akan pernah

    berakhir pada konteks sistem ini. Hal ini diasumsikan bahwa aktor aktor tersebut berstatus aktifasi yang

    berkelanjutan.

    1.3.3 Activity Diagram

    Activity Diagram menggambarkan keterkaitan obyek dengan alur kerja dan mendeskripsikan pemrosesan

    secara paralel. Setiap use case memiliki satu Activity diagram. Aktifitas juga dapat disebut sebagai sebuah

    method atau kelompok method.

  • Simbol dalam activity diagram:

    Gambar 2 Simbol Activity Diagram

    1.3.4 Contoh Kasus

    1.3.4.1 Penjelasan Singkat

    Hotel Horison Bandung membutuhkan paket piranti lunak komputer untuk otomatisasi beberapa

    pekerjaan yang saat ini dilakukan secara manual oleh staf hotel. Hotel terdiri dari kamar hotel yang disewakan

    ke tamu hotel. Informasi yang relevan untuk setiap kamar adalah :

    • Nomor Kamar

    • Harga Dasar

    • Occupancy Maksimum

    • Tipe Kamar (single, double, twin, executive, suite)

    Harga kamar adalah harga kamar dasar dengan perubahan harga untuk setiap musim, tanggal, atau

    peristiwa tertentu. Tamu potensial dapat memesan satu atau lebih kamar untuk periode tertentu

    menggunakan telepon. Reservasi ini ditangani oleh petugas reservasi. Tamu potensial meminta tipe

    ruangan, tanggal kedatangan, durasi (atau tanggal keberangkatan). Fasilitas pencarian dibuat untuk

  • mengetahui ketersediaan kamar kosong untuk tanggal yang diminta. Jika ditemukan kamar kosong,

    selanjutnya customer diberikan informasi tentang detil dan harganya.

    Jika diterima, reservasi sementara dibuatkan. Reservasi sementara ini disimpan untuk durasi yang

    telah dimasukkan datanya oleh petugas reservasi. Reservasi sementara ini dimodifikasi menjadi reservasi

    tetap ketika pembayaran deposit diterima dan dikonfirmasi. Reservasi tetap ini akan menjadi acuan tentang

    waktu reservasi awal.

    Penerima tamu juga dapat membuat reservasi untuk tamu potensial yang langsung tiba di tempat tanpa

    reservasi. Pembayaran deposit harus dibuat pada saat reservasi awal. Perlu dicatat waktu tamu check in dan

    waktu tamu check out. Telepon ruangan dapat diaktifkan/dinonaktifkan pada saat check in/check out dengan

    menggunakan monitor logging panggilan telepon.

    1.3.4.2 Use Case Diagram

    Gambar 3 Use Case Diagram Sistem Hotel

    1.3.4.3 Use Case Form

  • Table 1 Use Case Form Input Reservasi

  • 1.3.4.4 Model Dinamis Tahap Analisis

    Gambar 4 Activity Diagram Tahap Analisis

    Gambar 4 mengambarkan contoh activity diagram pada tahap analisis dengan mengambil salah satu use

    case yaitu input reservasi. Dalam tahap ini juga harus digambarkan sequence diagram dengan alur sesuai

    dengan activity diagram pada gambar 4.

  • 1.3.4.5 Model Dinamis Tahap Perancangan

    Gambar 5 Sequence Diagram Tahap Perancangan

    Gambar 5 merupakan contoh sequence diagram pada tahap perancangan dengan mengambil salah satu use

    case yaitu input reservasi. Ditahap perancangan lebih condong pada alur kodingan sistem yang akan dibuat

    berbeda dengan sequence pada tahap analisis yang menggambarkan alur sistem. di tahap ini seharusnya dibuat

    activity diagram seperti alur sequence pada gambar 5.

    1.3.5 Langkah-langkah Pembuatan sequence diagram

    1. Buka Power Designer 12.

    2. Klik File New.

    3. Pilih Object Oriented Model.

    4. Pilih “Sequence Diagram”.

    new reservation

    reservationNumber

    setReservationNumber()

    executequery()

    getCustomerData()

    submitcustomerdata

    price

    setPrice()

    executequery()

    getReservationData()

    submitReservation

    roomType

    setRoomType()

    ExecuteQuery()

    getRoomType()

    submitRoomType

    reseptionist

    :GUI :ActionListener :DBAccess:RoomType :Price :NoReservation

    reservationNumber

    setReservationNumber()

    executequery()

    getCustomerData()

    submitcustomerdata

    price

    setPrice()

    executequery()

    getReservationData()

    submitReservation

    roomType

    setRoomType()

    ExecuteQuery()

    getRoomType()

    submitRoomType

  • 5. Pada Palette, pilih actor, untuk membuat actor dari sistem yang dibuat. Kemudian klik 2 kali pada icon

    aktor untuk mengganti nama aktor.

  • 6. Pilih Object pada palette, kemudian klik 2 kali pada objek untuk mengganti nama objek.

    7. Klik Message pada palette, kemudian klik 2x pada panah Message, untukmemberi nama objek.

  • 8. Pilih activation pada palette.

    9. Kemudian pilih return Message pada palette, kemudian klik 2x pada Panah Return Message untuk

    mengganti nama dari Return Message.

    10. Ulangi langkah 7,8, dan 9 untuk interaksi selanjutnya.

  • 1.3.6 Langkah-langkah Pembuatan activity diagram

    1. Buka Power Designer 12.

    2. Klik File New.

    3. Pilih Object Oriented Model.

    4. Pilih “Activity Diagram”.

    5. Pada Palette pilih Organization unit Swimlane, kemudian Klik 2 kali Pada kolom Organization unit,

    kemudian ubah nama Organization Unit.

  • 6. Pada palette, pilih Node Start, letakkan node start pada organization unit awal alur sistem dimulai.

    7. Klik node Activity pada palette, letakkan setelah node start. Klik 2x pada node activity kemudian ganti nama

    node tersebut.

  • 8. Setelah itu, hubungkan antar activity menggunakan panah “flow”.

    9. Setelah seluruh aktivitas dibuat dan flow dibuat, akhiri dengan node “end”.

    1.4 Praktikum Kasus :

    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 use case. 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.

    Buatlah activity diagram dan sequence diagram di tahap analisis dan perancangan untuk use case input

    barang!

  • Use case diagram Toserba:

    Gambar 6 Use Case Diagram Toserba

    Untuk membantu pembuatan activity dan sequence diagram ditahap perancangan, berikut merupakan

    kodingan untuk input barang menggunakan MVC.

    1. inputBarang.jsp MODUL IV

    SELAMAT DATANG DI PRAKTIKUM WEB BASED 2012 ENJOY YOUR LESSON :D

    Home

    Input Barang About Us Contact Us Tutorial Download

  • ID Barang*

    Nama Barang*

    Jumlah*


    Harga*

    Design by PRODASE - © Copyright 2012 - prodaslab.com 2. Controller – ActionControl.java package controller; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

  • import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import service.Databaseakses; import service.ManageAction; /** * Servlet implementation class ActionControl */ public class ActionControl extends HttpServlet { private static final long serialVersionUID = 1L; public ActionControl(){ super(); } private Databaseakses database=null; private static final byte input_barang = 0; private static final byte view_barang = 0; private String[] COMMAND = {"input_barang","view_barang"}; private int identifyAction(String action){ for (int i=0; i

  • String harga_brg = request.getParameter("harga_brg"); try {

    nextPage = ManageAction.getInstance(database, request, response).inputDataBarang(id_brg, nama_brg, jml_brg, harga_brg);

    } catch (Exception e) { e.printStackTrace(); } return nextPage; } private String viewBarang(HttpServletRequest request, HttpServletResponse response){ String nextPage=""; try {

    nextPage = ManageAction.getInstance(database, request, response).viewDataBarang(); } catch (Exception e) { e.printStackTrace(); } return nextPage; } } 3. Service-ManageAction.java package service; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import model.BarangBean; public class ManageAction { private Databaseakses database; private static ManageAction instance; private HttpServletResponse response; private HttpServletRequest request;

    private ManageAction(Databaseakses database, HttpServletRequest request, HttpServletResponse response){ this.database = database; this.request = request; this.response = response; }

    public static ManageAction getInstance(Databaseakses database, HttpServletRequest request, HttpServletResponse response){

    if(instance == null){ instance = new ManageAction(database, request, response); } return instance; } public String inputDataBarang(String id_brg, String nama_brg, String jml_brg, String harga_brg){ String address=""; try { BarangBean bean = new BarangBean(); bean.setId_brg(id_brg); bean.setNama_brg(nama_brg);

  • bean.setJml_brg(jml_brg); bean.setHarga_brg(harga_brg);

    String[] query = {"insert into barang (id_brg, nama_brg, jml_brg, harga_brg) values('"+id_brg+"','"+nama_brg+"','"+jml_brg+"','"+harga_brg+"')"};

    database.getInstance().executeUpdateQuery(query); System.out.println(query[0]); address = "/ActionControl?action=view_barang"; } catch (Exception e) { e.printStackTrace(); } return address; } public String viewDataBarang() throws SQLException{ String address=""; String query = "select*from barang"; ResultSet rs = database.getInstance().executeSelectQuery(query); ArrayList DataList = new ArrayList(); BarangBean barang; while(rs.next()){ barang = new BarangBean(); barang.setId_brg(rs.getString(1)); barang.setNama_brg(rs.getString(2)); barang.setJml_brg(rs.getString(3)); barang.setHarga_brg(rs.getString(4)); DataList.add(barang); } request.setAttribute("viewBarang", DataList); address = "Results/success.jsp"; return address; } } 4. Model-BarangBean.java package model; import java.io.*; import java.util.*; public class BarangBean { private String id_brg; private String nama_brg; private String jml_brg; private String harga_brg; public BarangBean() { id_brg=""; nama_brg=""; jml_brg=""; harga_brg=""; } public String getId_brg() { return id_brg; } public String getNama_brg() { return nama_brg; } public String getJml_brg() { return jml_brg; } public String getHarga_brg() { return harga_brg;

  • } public void setId_brg(String id_brg) { this.id_brg =id_brg; } public void setNama_brg(String nama_brg) { this.nama_brg =nama_brg; } public void setJml_brg(String jml_brg) { this.jml_brg=jml_brg; } public void setHarga_brg(String harga_brg) { this.harga_brg=harga_brg; } 5. View Barang-success.jsp MODUL IV

    SELAMAT DATANG DI PRAKTIKUM APSI 2012 ENJOY YOUR LESSON :D

    Home

    li>Input Barang About Us Contact Us Tutorial Download

    ID Barang Nama Barang Jumlah Barang Harga Barang

    ${view.id_brg} ${view.nama_brg} ${view.jml_brg} ${view.harga_brg}

  • Design by PRODASE - © Copyright 2012 - prodaslab.com