Penyusun
[Nama Kelompok]
Asisten
2. Tujuan Praktikum
Tujuan dari pelaksanaan praktikum mata kuliah ADSI dengan materi desain terstruktur
antara lain:
a. Mahasiswa mampu memahami komponen-komponen penyusunan pada diagram desain
perangkat lunak dengan pendekatan berorientasi objek.
b. Mahasiswa mampu memahami aturan-aturan penyusunan komponen pada diagram yang
dibutuhkan untuk pengembangan perangkat lunak dengan pendekatan berorientasi
object.
c. Mahasiswa mampu mendesain perangkat lunak berdasarkan kebutuhan dengan
pendekatan object.
3. Dasar Teori
Berikut ini beberapa pengertian Rekayasa Perangkat Lunak
a. IEEE Computer Society : Rekayasa Perangkat Lunak sebagai penerapan suatu
pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan,
penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-
pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.
b. Roger R. Pressman: Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak
itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan
menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat
bekerja lebih efisien dan efektif untuk pengguna.
3.1. Konsep Perancangan
Perancangan adalah sebuah proses mendefinisikan sesuatu yang akan dikerjakan dengan
teknik bervariasi serta di dalamnya melibatkan deskripsi mengenai arsitektur serta detail
komponen dan juga keterbatasan yang akan dialami dalam proses pengerjaannya (Rizky, 2011).
Menurut Pressman (2010), perancangan perangkat lunak adalah proses dimana analisis
diterjemahkan menjadi blueprint untuk membangun perangkat lunak. Awalnya, blueprint
menggambarkan pandangan menyeluruh perangkat lunak, yaitu desain pada abstraksi tingkat
tinggi yang dapat langsung ditelusuri pada sistem tertentu, objektif, data rinci, dan fungsionalitas.
Namun perbaikan berikutnya mengarah pada representasi desain dengan tingkat abstraksi yang
jauh lebih rendah.
3.2. Konsep OOAD
Menurut Kendall dan Kendall (2011), Object Oriented Analysis and Design merupakan sebuah
pendekatan untuk memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep
sekitar dunia nyata. Dasar pembuatan adalah objek merupakan kombinasi antara struktur data dan
perilaku dalam satu entitas.
Beberapa konsep yang manjadi dasar dalam perancangan sistem dengan Object Oriented Analysis and
Design menurut Whitten dan Bentley (2007) adalah:
1. Objek adalah sesuatu yang ada atau dapat dilihat, disentuh, atau dirasakan dan pengguna menyimpan
data serta mencatat perilaku mengenai sesuatu itu.
2. Atribut adalah data yang mewakili karakterikstik tentang sebuah objek.
3. Object instance adalah setiap orang khusus, tempat, sesuatu, atau kejadian, dan juga nilai untuk
atribut dari objek.
4. Behavior adalah kumpulan dari sesuatu yang dapat dilakukan oleh objek dan terkait dengan fungsi-
fungsi yang bertindak pada data objek (atribut). Pada siklus berorientasi objek, perilaku objek merajuk
kepada metode, operasi, atau fungsi.
5. Enkapsulasi adalah pengemasan beberapa item ke dalam unit.
Pendekatan ini menggunakan sebuah standar untuk pemodelan sistem berorientasi objek yang
disebut UML (Unified Modeling Language). UML bukanlah sebuah metode untuk mengembangkan sistem,
melainkan hanya notasi yang saat ini menjadi standar untuk memodelkan desain berorientasi objek.
Berbagai diagram UML, antara lain: use case diagram, activity diagram, class diagram, object diagram,
state machine diagram, composite structure diagram, sequence diagram, communication diagram,
interaction overview diagram, timing diagram, component diagram, deployment diagram, dan package
diagram (Whitten dan Bentley, 2007).Unified Model Language (UML) adalah bahasa umum untuk :
Memvisualisasikan grafis model yang tepat.
Menetapkan model yang tepat, lengkap, dan tidak ambigu untuk mengambil
semua keputusan penting dalam analisis, desain dan implementasi.
Membangun model yang dapat dihubungkan langsung dengan bahasa
pemrograman.
Mendokumentasikan semua informasi yang dikumpulkan oleh tim sehingga
memungkinkan untuk berbagi informasi.
3.3. Diagram-diagram UML (Unified Modeling Language)
Unified Modeling Language (UML) memiliki beberapa diagram yang digunakan untuk menggambarkan
suatu sistem. Tujuan pembuatan diagram ini adalah agar sistem mudah dimengerti oleh semua pihak.
5. Use Case Diagram
Use case diagram dipakai untuk menggambarkan relasi antara sistem, sistem eksternal, dan user
dengan kasus yang disesuaikan dengan langkah-langkah yang telah ditentukan (Whitten dan Bentley,
2007). Use case diagram merupakan cara atau metode yang cocok untuk menggambarkan interaksi yang
jelas antara sistem dengan pengguna. Use case diagram tidak menjelaskan secara detail tentang
penggunaan use case, namun hanya memberi gambaran singkat hubungan antara use case, aktor, dan
sistem. Melalui use case diagram, dapat diketahui fungsi-fungsi apa saja yang ada pada sistem. Nama
suatu usecase harus didefinisikan sesederhana mungkin dan dapat dipahami.
Berikut ini adalah simbol-simbol dalam use case diagram yang terdapat pada Tabel 3.1.
Tabel 3.1 Simbol-simbol pada use case diagram
Simbol Deskripsi
Use case mendeskripsikan fungsi dari
sebuah sistem dilihat dari sudut pandang
pengguna.
Actors merupakan sesuatu yang
berinteraksi dengan sistem untuk saling
bertukar informasi. Actors tidak harus
berupa manusia, tetapi dapat berupa suatu
organisasi atau sistem informasi.
input data
submit
Data Valid
Selesai
login
Actor
memilih aktor user
5. User Story
Sebuah perusahaan logistik ternama di Indonesia melayani jasa distribusi logistik nasional
dan internasional serta melayani jasa pengiriman barang pada beberapa situs jual beli online
populer di Indonesia seperti Bukalapak, Tokopedia, Blibli, dan Lazada. Perusahaan logistik
ini memiliki tiga jenis layanan distribusi barang dengan kecepatan waktu antar yang berbeda-
beda. Ketiga layanan tersebut antara lain Paket Ekonomi, Reguler, dan SuperCepat. Layanan
paket Ekonomi menjamin paket yang dikirimkan akan tiba dalam waktu kurang dari 1 minggu.
Layanan paket Reguler menjamin paket akan tiba dalam waktu kurang dari 3 hari. Sedangkan
paket SuperCepat menjamin pengiriman barang akan tiba keesokan harinya. Direktur utama
perusahaan logistik ini bermaksud untuk membangun sebuah sistem informasi berbasis
web/desktop/mobile untuk membantu memudahkan para stakeholder-nya dalam
mendapatkan informasi.
Untuk memudahkan para pelanggan dalam mengetahui berapa ongkos kirim yang harus
dibayarkan ketika membeli suatu barang dari salah satu situs jual beli online tersebut, maka
perusahaan perlu menyediakan sebuah layanan berbasis web (web service) yang dapat
berkomunikasi dengan server situs jual beli online tersebut dengan menggunakan protokol
tertentu. Web service yang disediakan dapat digunakan untuk mendapatkan ongkos kirim
yang harus dibayar oleh pengirim barang. Service tersebut menerima masukan volume atau
berat barang yang akan dikirim serta jenis paket layanan yang dipilih. Service tersebut dapat
diakses oleh web server situs jual beli online dengan menggunakan protokol HyperText
Transport Protocol (HTTP) dan menghasilkan sebuah dokumen dalam format Javascript
Object Notation (JSON).
Manajemen perusahaan berkeinginan untuk membangun sebuah aplikasi berbasis web yang
dapat memudahkan pelanggannya dalam mengetahui ongkos kirim ke suatu daerah di
Indonesia terhadap barang yang akan dikirim melalui aplikasi berbasis web-nya. Ongkos kirim
suatu barang ditentukan dan dihitung berdasarkan volume kemasan barang atau berat
barang--tergantung dari hasil perhitungan ongkos kirim mana yang lebih besar serta jenis
layanan yang dipilih. Ongkos tambahan dapat dibebankan kepada pelanggan jika pelanggan
berkeinginan untuk mengasuransikan barang yang dikirim dengan menambahkan biaya
asuransi sebesar 0,2% dari nilai pertanggungan barang.
Dalam proses pengiriman suatu barang dari penjual selaku pengirim barang kepada pembeli,
terdapat beberapa aktivitas yang dilakukan oleh operator dan pengirim barang. Pengirim
barang mendatangi salah satu kantor cabang dari perusahaan logistik ini kemudian berbicara
dengan salah satu petugas pengiriman barang yang ada di dalam kantor cabang tersebut
seraya menyerahkan barang yang akan dikirimkan, menyebutkan jenis layanan pengiriman
yang diinginkan, serta memberikan informasi alamat tujuan pengiriman barang tersebut.
Petugas pengiriman barang kemudian mengukur dimensi dan berat barang yang akan dikirim
dan menghitung biaya kirim yang harus dibayar sesuai dengan jenis layanan yang diminta
serta besarnya biaya premi asuransi yang harus dibayar jika pengirim barang menginginkan
barang yang dikirim tersebut diasuransikan.
Petugas pengiriman barang kemudian mencatat pengiriman barang tersebut ke dalam sistem
dan mencetak resi pengiriman barang yang berisi informasi detail terhadap pengiriman
barang tersebut beserta nomor resi yang dapat digunakan untuk menelusuri status suatu
pengiriman barang. Nomor resi antara setiap barang yang dikirim bersifat unik. Sehingga,
setiap barang yang dikirim akan memiliki nomor resi yang berbeda. Resi pengiriman barang
yang dihasilkan dicetak rangkap dua, satu diserahkan kepada pengirim barang, dan satu lagi
direkatkan di bagian luar kemasan barang yang dikirim.
Selama barang dikirimkan dari kota asal menuju kota tujuan, barang tersebut melalui
beberapa titik-titik checkpoint yang berada di kota dan lokasi yang berbeda-beda untuk
dilakukan penyortiran sampai ke kota tujuan. Setiap kali barang yang datang dan disortir di
titik checkpoint dicatat nomor resinya sehingga seluruh stakeholder yang terkait dengan
pengiriman suatu barang dapat mengetahui lokasi/posisi terakhir barang yang dikirimkan.
Setelah barang sampai di kota tujuan, barang tersebut diantar oleh seorang kurir hingga
sampai ke tempat tujuan. Di kota tujuan, sebelum barang diantarkan oleh kurir, nama kurir
dan nomor telepon kurir yang mengantarkan barang dicatat sehingga kurir yang
mengantarkan barang tersebut dapat dihubungi sewaktu-waktu. Sesampainya di tempat
tujuan pengiriman barang, antara kurir dan penerima barang melakukan aktivitas serah terima
barang, dimana penerima barang menuliskan nama dan menandatangani resi pengiriman
barang yang sebelumnya dilekatkan pada kemasan barang yang dikirim. Setelah
ditandatangani oleh penerima, resi yang dilekatkan tersebut dilepaskan oleh kurir untuk
dicatat bahwa barang telah diterima dengan baik dan proses pengiriman barang telah selesai
dilakukan.
Agar sistem dapat selalu berjalan dengan baik, seorang administrator melakukan proses
maintenance sistem secara berkala. Ketika seorang administrator melakukan proses
maintenance, status sistem diubah menjadi mode “maintenance” dimana seluruh aktivitas
proses bisnis yang melibatkan sistem informasi tidak dapat dilakukan. Dalam kondisi ini, jika
pengguna lain selain administrator menggunakan sistem, maka sistem akan menampilkan
pesan bahwa sistem sedang dilakukan perawatan. Setelah proses maintenance selesai
dilakukan oleh administrator, status sistem dapat dikembalikan ke dalam mode “normal” oleh
administrator dan seluruh fungsionalitas sistem yang melibatkan seluruh pengguna dapat
dipergunakan kembali.
Barang yang dikirim memiliki kemungkinan status berikut:
Manifested: barang telah didaftarkan ke dalam sistem
On Process: barang sedang dalam proses pengiriman atau sedang transit di kota lain.
Received On Destination: barang telah tiba di kota tujuan dan disimpan di dalam
warehouse
Delivered: barang telah diterima oleh penerima.
Reroute: barang dialihkan ke kota lain.
Status perubahan barang tersebut hanya dapat dilakukan oleh petugas dari perusahaan
logistik. Namun informasi status barang tersebut dapat dilihat oleh si pengirim barang melalui
sistem informasi.
Manajemen perusahaan juga memiliki rencana untuk mempromosikan jasa pengiriman
barang yang ditawarkan melalui sistem informasi yang akan dibangun. Jika pengguna
mendaftarkan diri sebagai anggota melalui websitenya, maka pengguna akan diberikan
nomor anggota serta sebuah voucher diskon 50% biaya jasa pengiriman pertama dan diskon
75% untuk setiap pengiriman barang pada kelipatan ke-5 dalam bentuk voucher. Voucher
diskon hanya dapat dicetak oleh pengguna selaku pengirim barang setelah log in ke dalam
sistem informasi. Kode voucher akan diberikan secara acak ketika pengguna mencetak
voucher.
Sebelum petugas yang bekerja dalam perusahaan logistik tersebut dapat menggunakan
sistem dan memanfaatkan fungsionalitas yang disediakan oleh sistem informasi, terlebih
dahulu para petugas tersebut harus melakukan log in untuk diotentikasi oleh sistem. Menu-
menu yang ditampilkan oleh sistem hanya menu yang sesuai dengan pengguna yang telah
login ke dalam sistem.
5. Soal – Soal latihan
5.1 Tugas I: Pemodelan Use Case Diagram
Pada Pemodelan Use Case Diagram gambarkan Use Case Diagram dari kebutuhan
pengguna tersebut sesuai dengan teori use case diagram. Gunakan user story di atas serta
user story baru yang sudah Anda buat kemudian modelkan dengan use case diagram untuk
menentukan data aktor dan aktivitas yang dilakukan serta relasi antar aktivitas setelah itu
buatkan pula use case scenarionya.
Kode use
Aktor Aktivitas
case
Petugas 0010 Masuk ke dalam sistem
Petugas 0011 Memeriksa transaksi user
Petugas 0012 Melakukan update pada status transaksi user
Petugas 0013 Memeriksa status barang
Petugas 0014 Melakukan update pada status barang
Pengguna 0020 Masuk ke dalam sistem
Pengguna 0021 Melakukan transaksi
Pengguna 0022 Melakukan pembatalan transaksi
Asosiasi
Aktivitas
Include Extend
Masuk ke dalam sistem Login
Memeriksa transaksi user Menampilkan Data User
Melakukan update pada status Menampilkan Status transaksi
transaksi user
Memeriksa status barang Sistem menampilkan status
barang
Melakukan update pada status Sistem dapat melakukan update
barang status
Masuk ke dalam sistem Sistem memiliki fitur login
Melakukan transaksi Sistem dapat melakukan
transaksi
Melakukan pembatalan Sistem dapat membatalkan
transaksi transaksi yang ada
Generalisasi Aktor
Petugas Admin
Pengguna User
Actor: Petugas
Description: Sistem dapat menampilkan data transaksi user
Preconditions:
Main Flow: Menampilkan Status
Alternative Flow - 1:
Alternative Flow - 2:
Postconditions:
Actor: Petugas
Description: Sistem dapat mengupdate status transaksi user
Preconditions:
Main Flow: Melakukan Uodate
Alternative Flow - 1:
Alternative Flow - 2:
Postconditions:
Actor: Petugas
Description: Sistem dapat mengupdate status barang
Preconditions:
Main Flow: Melakukan update
Alternative Flow - 1:
Alternative Flow - 2:
Postconditions:
Actor: Pengguna
Description: Sistem memiliki fitur login
Preconditions:
Main Flow: Login
Alternative Flow - 1:
Alternative Flow - 2:
Postconditions:
Actor: Pengguna
Description: Sistem dapat melakukan fungsi pembatalan transaksi
Preconditions:
Main Flow: Melakukan Pembatalan
Alternative Flow - 1:
Alternative Flow - 2:
Postconditions:
Alternative Flow
Precondition
Activity Aktor
Activity
A
Main Flow
Precondition
Activity Aktor
Activity
Mengirim barang ke Kurir Barang sudah
alamat penerima diterima oleh kurir
Melakukan serah Penerima barang
terima barang
Mengubah status Kurir
barang
Alternative Flow
Precondition
Activity Aktor
Activity
Mengambil barang di Penerima barang
kantor cabang
Berdasarkan pemodelan Activity Diagram pada tugas II, buatlah sequence diagram dari
activity diagram tersebut. Isikan data sesuai dengan tabel dibawah ini yaitu aktor yang
melakukan, boundary kelas, entitas pada kelas yang berhubungan, control kelas sebagai
penghubung dengan boundary dan meesage sebagai pesan yang dikirimkan atau diterima.
Seq.Diagram 2
Analisis messages digunakan untuk memetakan messages yang digunakan pada sequence
diagram. Pemetaan meesages ini melibatkan object pada sequence, meesage yang dikirimkan,
parameter pada message, object tujuan dari messages dan return value dari messages tersebut.
Analisa messages dapat ditulisakan pada tabel berikut.
Sequence 1 (101)
Customer
Sifat
Attribut Tipe data
Private Public Protected
Pin Integer -
Nominal Integer -
Saldo Integer -
NoRekening String
Method Param Return
getPIN - String +
getnoRekening - String +
getSaldo - Integer +
setnoRekening void - +
ATM
Sifat
Attribut Tipe data
Private Public Protected
PIN Integer -
Nominal Integer -
Saldo Integer -
No_Rek String -
Method Param Return
setPIN String Void +
setnominal Integer Void +
getSaldo - Integer +
GetNominal - Integer +
getNoRek - String +
Controller_ATM
Sifat
Attribut Tipe data
Private Public Protected
cPin String -
cNominal Integer +
cSaldo Integer +
cNorek String +
Method Param Return
checkPin - Void +
checkNoRek - Void +
checkSaldo - Integer +
User
Sifat
Attribut Tipe data
Private Public Protected
Resi String -
DataOrder Object -
Method Param Return
setResi String Void +
getResi - String +
setDataOrder Object Void +
C_Database
Sifat
Attribut Tipe data
Private Public Protected
Resi String +
Nama String +
Alamat String +
Telpon String +
Total Integer +
Tanggal Date +
Status String +
PC001
Class Controller_ATM
Deklarasi :
Variable cPin , cNominal , cSaldo : integer
Variable cNoRek : String
Call variable Customer.Pin
Call variable Customer.Saldo
Call variable Customer.Nominal
Call variable Customer.NoRekening
Deskripsi
Input - Pin
- Nominal
- No.Rekening
Proses - Validasi Pin
- Validasi Nominal to Saldo
- Validasi Nomor Rekening
Output - Laporan Sukses / Pin Salah
- Laporan Sukses / Saldo tidak Cukup
- Laporan Berhasil Transfer
PC002
Class Website
Deklarasi :
Variable Resi : String
Variable DataOrder , Status : Object
Call Objek -> Class Database
Deskripsi
Method getResi()
Return This Resi
Method setResi(Resi)
getResi() -> Database.Resi
Method getDataOrder()
Return This DataoOrder
Method setDataOrder (getDataOrder())
getDataOrder() -> Database
Object -> Database.Status