Penyusun
[Kelompok 2]
Asisten
2018
Daftar Isi
Daftar Isi 2
Dasar Teori 3
Rekayasa Kebutuhan 3
Menuliskan Pernyataan Kebutuhan 4
User Story 7
Requirement Engineering 9
Tugas I: User Story 9
Tugas II: Proses Bisnis 9
Tugas III: Identifikasi Aktor 10
Tugas IV: User Requirement 10
Requirement Version: 1.0 11
User Requirement 11
System Requirement 11
User Requirement Version: 2.0 12
User Requirement 12
System Requirement 12
Tugas V: Software Requirement Specification (SRS) 13
Software Requirement Specification Version: 1.0 13
Functional Requirement 13
Non-Functional Requirement 14
Software Requirement Specification Version: 2.0 14
Functional Requirement 14
Non-Functional Requirement 15
Dasar Teori
Rekayasa Kebutuhan
Rekayasa kebutuhan atau Requirement Engineering adalah nama lain dari analisis
kebutuhan dimana setiap proses pengembangan perangkat lunak pasti melalui fase analisis
kebutuhan. Rekayasa kebutuhan itu sendiri adalah sebuah proses untuk membangun
layanan atau produk yang dibutuhkan oleh pelanggan atau pengguna beserta batasan-
batasan yang diberlakukan atau aturan yang harus dipatuhi ketika produk atau layanan
tersebut digunakan dan beroperasi serta ketika produk dan layanan tersebut sedang
dibangun atau dikembangkan. Aktivitas-aktivitas dalam rekayasa kebutuhan dapat
diwujudkan dengan cara-cara yang luas dan beragam namun memiliki tujuan untuk dapat
memahami pemahaman apa yang dibutuhkan oleh pengguna atau pelanggan.
Kebutuhan itu sendiri mengacu pada standar IEEE nomor: IEEE-STD-1220-1998,
menyatakan bahwa kebutuhan adalah sebuah pernyataan yang mengidentifikasi produk
atau proses, baik secara operasional maupun fungsional, atau diperlukan batasan atau
karakteristik dari desain, yang tidak ambigu, dapat diuji, atau terukur, dan agar produk dan
prosesnya dapat diterima oleh konsumen atau sesuai dengan petunjuk penjaminan mutu
secara internal. Selain itu, berdasarkan CMMI v1.3, sebuah kebutuhan adalah sebuah
kondisi atau kemampuan sistem yang diperlukan oleh seorang pengguna untuk
menyelesaikan suatu permasalahan atau untuk mencapau suatu tujuan. Suatu kondisi atau
kemampuan sistem tersebut harus dapat dipenuhi atau dimiliki oleh suatu produk, layanan,
komponen produk atau komponen layanan untuk memenuhi perjanjian dengan supplier,
standar, spesifikasi, atau dokumen yang diakui secara formal. Selain itu, sebuah
representasi kebutuhan dalam bentuk dokumentasi dari suatu kondisi atau kemampuan
sistem tersebut juga diperlukan.
Kebutuhan pengguna secara umum dibagi menjadi dua kategori utama, yaitu Kebutuhan
fungsional dan kebutuhan non-fungsional. Kebutuhan fungsional menggambarkan apa yang
sistem lakukan, sedangkan kebutuhan non-fungsional menggambarkan batasan-batasan
yang harus dipenuhi oleh sistem dalam hal batasan kualitas dan batasan penggunaan
(usability).
Secara umum, kebutuhan memiliki tiga tingkatan, yakni:
1. Kebutuhan normal: yaitu kebutuhan yang harus dipenuhi dan dinyatakan secara
eksplisit oleh pengguna/stakeholder seperti fungsionalitas sistem dan performa
sistem
2. Kebutuhan yang diharapkan (expected): yaitu kebutuhan yang tidak dinyatakan
secara eksplisit namun menentukan kepuasan pelanggan, seperti: kemudahan
interaksi dengan sistem, akurasi dan kebenaran proses
3. Kebutuhan yang mengejutkan (exciting): yaitu kebutuhan yang melebihi kebutuhan
normal untuk dapat lebih memuaskan customer, seperti fungsionalitas tambahan
sistem lainnya yang lebih memuaskan customer ketika menggunakan sistem dalam
menyelesaikan masalah, mencapai tujuan pengguna, dengan lebih efisien.
Hasil atau wujud nyata dari proses rekayasa kebutuhan memiliki beberapa fungsi dalam
proses rekayasa perangkat lunak, yaitu:
1. Sebagai bentuk kesepakatan antara developer, customer dan pengguna akhir akan
kebutuhan yang harus dipenuhi.
2. Menyediakan dasar yang akurat bagi proses perancangan perangkat lunak atau
sistem selanjutnya.
3. Menjadi referensi bagi proses validasi perangkat lunak untuk memastikan bahwa
seluruh kebutuhan yang telah dispesifikasikan benar, lengkap, dan konsisten.
Aktivitias-aktivitas dalam rekayasa kebutuhan terdiri dari 4 proses utama, yaitu:
1. Penggalian dan analisis kebutuhan (software requirement elicitation and analysis).
Dalam proses ini, developer harus bekerja bersama-sama dalam memahami domain
aplikasi/sistem, layanan-layanan sistem yang harus disediakan, unjuk kerja sistem
yang diperlukan, batasan-batasan perangkat keras dan sejenisnya. Proses ini lebih
difokuskan pada APA (WHAT) yang harus ada/dilakukan oleh sistem dan BUKAN
bagaimana (HOW) proses dalam sistem bekerja.
2. Spesifikasi kebutuhan (software requirement specification). Proses untuk
menjelaskan kebutuhan perangkat lunak yang telah didefinisikan sebelumnya secara
lebih detail, tepat, dan terukur, dimana pernyataan spesifikasi kebutuhan yang
didefinisikan dalam proses ini akan menjadi dasar bagi perancangan dan
implementasi. Spesifikasi adalah proses final dalam proses rekayasa kebutuhan
yang akan menghasilkan dokumen SRS (Software Requirement Specification)
3. Validasi & verifikasi kebutuhan (software requirement validation and verification).
Proses pemeriksaan untuk menjamin bahwa pernyataan kebutuhan yang telah
didefinisikan dalam dokumen SRS telah dispesifikasikan dengan benar, akurat, dan
lengkap. Proses ini dilakukan bersama-sama antara customer dan developer dan
sangat penting untuk dilakukan karena kesalahan di dalam menentukan kebutuhan
akan berdampak pada keseluruhan proses yang mengikutinya.
4. Manajemen kebutuhan (software requirement management). Aktifitas untuk
melakukan kendali terhadap kebutuhan yang sedang maupun telah didefinisikan jika
terjadi perubahan ketika sistem sedang dibangun dan dikembangkan serta setelah
sistem digunakan secara operasional.
[SAD]
[Sistem informasi ini memfasilitasi pelanggan untuk dapat memesan tiket pesawat, kereta
api, bus, merental mobil, memesan kamar hotel, paket perjalanan wisata, dan penukaran
mata uang.
Proses diawali dengan pelanggan membuat akun SkuyCash lewat web/aplikasi SkuyCash
yang nantinya akan diverifikasi oleh pelanggan lewat akun email.
Misal pelanggan ingin memesan tiket pesawat, pelanggan dapat mengawali pemesanan
dengan memilih menu “Penerbangan”, lalu memilih destinasi keberangkatan/ketibaan yang
diinginkan, dan jadwal keberangkatan serta jumlah penumpang. Setelah memilih tombol
“Cari”, akan ditampilkan informasi atas filter yang dipilih pada menu sebelumnya. pelanggan
memilih penerbangan A dan dilanjutkan dengan pengisian data diri dan memilih metode
pembayaran.
Misal pelanggan ingin merental mobil, pelanggan dapat memilih menu “Rental mobil” dan
memasukkan wilayah penyewaan yang diinginkan, tanggal penjemputan, durasi
peminjaman, serta jumlah mobil yang ingin disewa. Lalu akan ditampilkan hasil sesuai filter
yang telah dipilih, maka akan ada informasi tentang jenis mobil dan harga yang tersedia
untuk disewa. Setelah pelanggan memilih mobil A, maka akan dilanjutkan dengan
pembayaran.
Misal pelanggan ingin memesan kamar hotel, pelanggan dapat memilih menu “Hotel” dan
memasukkan regional penginapan yang diinginkan, tanggal check-in, durasi penginapan,
jumlah penginap dan jumlah kamar. Setelah itu akan tampil informasi sesuai filter yang telah
dimasukan oleh pelanggan, seperti nama hotel, harga perkamar, ratingnya. Pelanggan juga
dapat menyortir pilihannya berdasarkan harga, rating, ataupun jarak. Setelah pelanggan
memilih kamar di hotel A, pelanggan harus memasukkan data penginap dan dilanjutkan
dengan pembayaran.
Misal pelanggan ingin memesan paket perjalanan wisata, pelanggan dapat memilih menu
“Paket Perjalanan” dan memasukkan tujuan wisata, lokasi keberangkatan, jumlah
wisatawan, dan fasilitas apa saja yang diinginkan. Setelah itu pemesanan dilanjutkan
dengan mengisi tanggal keberangkatan dan tanggal pulang, dan dilanjutkan dengan
pembayaran.]
[FIKH]
[Setelah memesan tiket kereta, pesawat, bus, memesan kamar hotel, paket perjalanan, dan
sewa mobil. pelanggan dapat melacak status pemesanan.Contoh skenario : pelanggan yang
telah melakukan pemesanan tiket/ kamar hotel/ paket perjalanan akan mendapat status
pemesananya hingga tahap apa.sistem akan memunculkan status pemesanan booked jika
telah memfinalisasi pemesanan dan tagihan pesnanan telah diterbitkan. status confirmed
akan muncul jika tagihan pemesanan telah dibayar. Status pending akan muncul jika tagihan
telah dibayar namun pembayaran kurang dari tagihan. Status completed muncul jika
pemesanan telah dibayar dan perjalanan telah dilakukan atau rental mobil telah selesai.]
[ ILMU ]
- Metode Pembayaran
Pelanggan melakukan pembayaran pemesanan dengan salah satu cara dari 6
pilihan yang disediakan. Cara pertama pelanggan melakukan pembayaran secara tunai
melalui agen travel JalanSkuy. Cara kedua pelanggan melakukan pembayaran melalui
transfer bank. Cara ketiga pelanggan melakukan pembayaran melalui kartu debit online.
Cara keempat pelanggan melakukan pembayaran menggunakan kartu kredit. Cara kelima
pelanggan melakukan pembayaran melalui E-payment minimarket. Cara keenam pelanggan
melakukan pembayaran melalui layanan dompet virtual milik JalanSkuy yang bernama
SkuyCash.
Pelanggan yang menggunakan SkuyCash mendapatkan 7 keuntungan. Keuntungan
pertama pelanggan memperoleh 20 SkuyPoint setelah melakukan 5 kali transaksi.
Keuntungan pertama pelanggan memperoleh 20 SkuyPoint setelah melakukan 5 kali
transaksi. Keuntungan kedua pelanggan memperoleh 20 SkuyPoint setelah registrasi di
system JalanSkuy. Keuntungan ketiga pelanggan memperoleh 10 SkuyPoint setelah
melakukan transaksi kelipatan Rp.10.000,-. Keuntungan keempat pelanggan memperoleh
potongan tambahan sebesar 20% setelah melakukan transaksi secara online. Keuntungan
kelima pelanggan memperoleh diskon 15% di hari-hari tertentu untuk pembelian tiket
pesawat setelah pelanggan melakukan transaksi sebesar Rp. 1.000.000,-. Keuntungan
keenam memperoleh diskon 10% untuk pembelian tiket kereta api setelah melakukan 5 kali
transaksi pembelian tiket kereta api. Keuntungan ketujuh pelanggan khususnya pelajar
memperoleh cashback 10% dari akun SkuyCash untuk pembelian tiket bus. TopUp saldo
SkuyCash minimal Rp.50.000,-.
[ THR ]
Manager dari perusahaan mitra dapat mengetahui laporan penjualan tiket terkait. Manager
perusahaan mitra memiliki sebuah akun yang dapat masuk ke dalam aplikasi dan melihat
sebuah tampilan laporan penjualan. Manager perusahaan mitra hanya memiliki akses
terhadap penjualan tiket terkait dengan perusahaannya.
Administrator dapat menjawab pertanyaan pelanggan. Saat pelanggan memasukkan
pertanyaan melalui formulir, maka pertanyaan tersebut akan masuk ke akun administrator
untuk dijawab.
Administrator dapat menjadwalkan travel. Saat pelanggan selesai melakukan transaksi
maka sebuah permintaan penjawalan akan masuk ke akun administrator. Administrator akan
membuat penjadwalan travel antarkota yang menggunakan mini bus. Administrator dapat
memasukkan data pelanggan secara manual ketika pelanggan datang langsung ke
JalanSkuy dan langsung membuatkan jadwal travel sesuai dengan permintaan pelanggan.
[ILMU]
Bagian Keuangan mendapatkan data penjualan melalui database sistem. Setelah
mendapatkan data penjualan melalui database sistem, bagian keuangan membuat laporan
keuangan bulanan lalu laporan keuangan bulanan disetorkan kepada CEO.
[SAD]
Manajer perusahaan mitra memiliki hak akses untuk mendapatkan data penjualan tiket
perusahannya.
1. Modelkan proses bisnis yang telah diuraikan dalam User Story. Rekayasa story/alur
proses bisnis diperbolehkan namun hasil rekayasanya tidak boleh bertentangan dengan
user story yang sudah ditentukan.
Modelkan/gambarkan proses bisnis yang telah diuraikan dalam Tugas I dengan
menggunakan BPMN yang menggambarkan orkestrasi dan koreografi proses bisnis seluruh
aktor yang telah diuraikan dalam Tugas I.
2. Lakukan analisis singkat dan sederhana di dalam aktivitas mana sebuah sistem informasi
dapat dilibatkan dalam proses bisnis tersebut. Identifikasi Input-Proses-Output dalam
aktivitas-aktivitas yang melibatkan sistem informasi dan jabarkan pada tabel berikut:
[SAD]
1 Aktivitas Login
Aktor Pelanggan
Aktor Pelanggan
Aktor Pelanggan
Input Jadwal keberangkatan, Kota asal, Kota tujuan, Data pemesan, Data
pelanggan
Aktor Sistem
Output Notifikasi tersedia atau tidaknya detail yang diinginkan oleh pelanggan
Aktor Sistem
Aktor Pelanggan
Aktor Pelanggan
Aktor Administrator
[ILMU]
[THR]
Aktor Pelanggan
Aktor Administrator
Aktor Administrator
[ILMU]
1 Aktivitas Pendataan laporan keuangan
1. Adakah aktor yang berperan sebagai “Sistem” dalam gambaran sistem yang
diuraikan dalam User Story? Mengapa? Jelaskan dengan detail dan spesifik!
Ada, yaitu administator. Karena administrator memiliki hak untuk melakukan semua kegiatan
administrasi meliputi : menjawab pertanyaan pelanggan, menjadwalkan travel antar kota,
menjadwalkan travel secara langsung (memasukkan biodata, pilihan, tujuan), dan
melakukan maintenance secara berkala.
2. Adakah/perlukah fungsionalitas sistem: Log in dalam gambaran sistem yang
diuraikan dalam User Story? Mengapa? Jelaskan dengan detail dan spesifik!
Ada, Sistem Log In dalam gambaran sistem yang kami jelaskan pada user story memiliki
fungsi sebagai tanda pengenal pelanggan dalam melakukan transaksi.
3. Siapa saja aktor yang harus log in ke dalam sistem? Mengapa? Jelaskan dengan
detail dan spesifik!
Pelanggan, karena sistem butuh untuk mengidentifikasibiodata pelanggan untuk dicatat
pada transaksi pemesanan.
Manager Mitra, Manager mitra hanya memiliki hak akses atas data yang menyangkut
perusahaannya.
User Requirement
[CST01] Pelanggan
Ins.
Kode UR Requirement
[MNG01] Manager
Ins.
Kode UR Requirement
System Requirement
Ubah sudut pandang kebutuhan pengguna ke dalam sudut pandang sistem yang diturunkan
dari kebutuhan pengguna. Satu kebutuhan pengguna dapat diturunkan ke dalam beberapa
kebutuhan sistem. Tuliskan kebutuhan sistem (system requirement) dalam format:
Sistem bisa <melakukan fungsionalitas> [opsional: <constraint>].
6 SISR06 Sistem bisa mendeteksi pelanggan yang melakukan kurang bayar FIK
H
19 SISR19 Sistem bisa mengirim pesan detail yang dicari oleh pengguna tidak SA
tersedia D
20 SISR20 Sistem bisa mengirim pesan detaill yang dicari oleh pengguna SA
tersedia D
User Requirement
1 TH
R
2 TH
R
3 TH
R
4 TH
R
[CST01] Pelanggan
Kode UR Requirement
[MNG01] Manager
Kode UR Requirement
4
[MNG02] Manager Mitra TH
R
Kode UR Requirement
1 TH
R
2 TH
R
3 TH
R
4 TH
R
1 ILM
U
2 ILM
U
3 ILM
U
4 ILM
U
System Requirement
Ubah sudut pandang kebutuhan pengguna ke dalam sudut pandang sistem yang diturunkan
dari kebutuhan pengguna. Satu kebutuhan pengguna dapat diturunkan ke dalam beberapa
kebutuhan sistem. Tuliskan kebutuhan sistem (system requirement) dalam format:
Sistem bisa <melakukan fungsionalitas> [opsional: <constraint>].
4
Tugas V: Software Requirement Specification (SRS)
Sesuai dengan kasus penggunaan yang telah diuraikan dalam User Story. Detailkan
kebutuhan pengguna menjadi pernyataan-pernyataan kebutuhan perangkat lunak atau
Software Requirement Specifications (SRS). Detailkan setiap pernyataan kebutuhan
pengguna yang diuraikan telah diuraikan dan buatlah kalimat yang menyatakan spesifikasi
kebutuhan perangkat lunak hingga ke tingkat detail operasional dan terukur sesuai dengan
kriteria pernyataan kebutuhan yang baik.
Ubahlah kebutuhan sistem menjadi kalimat-kalimat yang menyatakan kebutuhan perangkat
lunak yang spesifik, jelas, tidak ambigu, dan terukur (dapat diperlihatkan kesesuaiannya).
Functional Requirement
No. [ADM01] Administrator
Ins.
Kode Kode Software Requirement Statement Level
UR SRS
2 URAD SISR Sistem dapat menghitung data keuangan yang diinput Expe TH
M01 01 oleh travel cted R
3 URAD SISR Sistem dapat menerima input jawaban dari pelanggan Expe TH
M02 02 cted R
4 URAD SISR Sistem dapat merubah status pemesanan pelanggan. Norm FIK
03 05 al H
5 URAD SISR Sistem dapat menunda pengiriman e-tiket saat Expe FIK
04 06 pelanggan melaku cted H
kan kurang bayar
[CST01] Pelanggan
Ins.
Kode Kode Software Requirement Statement Level
UR SRS
1 URPL SISR Sistem dapat menampilkan status pemesanan tiket Norm FIK
01 05 pelanggan setelah pelanggan melakukan pemesanan. al H
2 URPL SISR Sistem dapat menampilkan status pemesanan menjadi Norm FIK
02 05 pending setelah pelanggan melakukan pelunasan tapi al H
kurang bayar.
3 URPL SISR Sistem dapat menampilkan status pemesanan menjadi Norm FIK
0 05 confirmed setelah pelanggan melakukan pelunasan al H
pembayaran.
5 URPL SISR Sistem dapat menerima Login yang dilakukan oleh Expe SA
04 14 pengguna setelah pengguna selesai melakukan Login cted D
8 URPL SISR Sistem dapat mengecek keersedian suatu detail dan Norm SA
08 18 layanan setelah pelanggan memilih sesuai keinginannya al D
9 URPL SISR Sistem dapat menampilkan detail yang dicari oleh Expe SA
08 19 pengguna tidak tersedia setelah pelanggan mengisi cted D
detail pemesanan
10 URPL SISR Sistem dapat menampilkan detail yang dicari pengguna Expe SA
08 20 tersedia setelah pelanggan mengisi detail pemesanan cted D
[MNG01] Manager
Ins.
Kode Kode Software Requirement Statement Level
UR SRS
1 URMN SISR Sistem dapat menampilkan data penjualan di JalanSkuy Norm ILM
GA 08 kepada manager al U
2 URM SISR Sistem dapat menerima input berupa rincian tiket Norm TH
GM02 04 al R
Non-Functional Requirement
No. Kode Kode Software Requirement Statement Level Ins.
UR SRS
1 URPL SISR1 Sistem menerima input password yang terdiri dari Exciti SA
04 4 minimal 1 alphabet, 1 angka, 1 tanda baca ng D
2 URPL SISR1 Sistem dapat mengecek ketersediaan detail pemesanan Exciti SA
07 8 yang dilakukan oleh pelanggan secara real-time ng D
Functional Requirement
No. [Kode Aktor] Nama Aktor
Ins.
Kode Kode Software Requirement Statement Level
UR SRS
8
Non-Functional Requirement
No. Kode Kode Software Requirement Statement Level Ins.
UR SRS
Penyusun
[Kelompok 2]
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 terstruktur.
b. Mahasiswa mampu memahami aturan-aturan penyusunan komponen pada
diagram yang dibutuhkan untuk pengembangan perangkat lunak dengan
pendekatan terstruktur.
c. Mahasiswa mampu mendesain perangkat lunak berdasarkan kebutuhan dengan
pendekatan terstruktur.
3. Dasar Teori
3.1. Elemen Analisis Pemodelan
3 tujuan dari pemodelan antara lain:
a. Mendeskripsikan kebutuhan customer,
b. Sebagai basis dari tahap implementasi pengembangan software, dan
c. Sebagai acuan untuk proses validasi atas kebutuhan terhadap software yang
dibangun.
Elemen pembentuk pemodelan terstruktur didefnisikan pada Gambar 1 berikut:
Gambar 1 Elemen Analisis Pemodelan Terstruktur
Pada model diatas terdapat data dictionary yang merupakan Inti dari
pemodelan dengan pendekatan terstruktur. Data dictionary merupakan sebuah
repository yang mendeskripsikan tiap data yang digunakan pada suatu perangkat
lunak. Terdapat 3 diagram yang mengacu pada objek/data didalam data dictionary
yaitu, Entity Relationship Diagram (ERD), Data Flow Diagram (DFD) dan State
Transition Diagram (STD).
ERD mendefinisikan hubungan antar objek atau data. ERD merupakan notasi
yang digunakan untuk memodelkan aktifitas dan hubungan antar data. Atribut pada
tiap objek data dideskripsikan kedalam data object description.
DFD memiliki 2 fungsi utama yaitu:
a. Memberikan gambaran transformasi data ketika berjalan didalam sistem.
b. Mendefinisikan proses-proses yang mentranformasikan aliran data.
Deskripsi dari tiap proses dalam DFD terdapat pada penjelasan berupa teks yang
disebut dengan Process Specification (PSPEC)
Sedangkan STD menggambarkan perilaku dari sistem ketika di-trigger
(dikontrol) oleh event dari luar sistem. Informasi mengenai kontrol dari suatu
perangkat lunak dijelaskan dalam Control Specification (CSPEC).
Hubungan antar objek merupakan hal yang penting pada pemodelan data.
Contoh dari hubungan antar data yang didefinisikan kedalam ERD terdapat pada
gambar 3 berikut:
Gambar 3 Entity Relationship Diagram
3.3. Pemodelan Fungsional dan Alur Informasi
Informasi berubah ketika berjalan melalui sebuah sistem berbasis komputer.
Sistem menerima input dalam berbagai jenis dan bentuk dan pada perjalanannya
informasi dirubah oleh software, hardware maupun human sehingga menghasilkan
output yang juga bermacam-macam. Pemodelan terstruktur dimulai dari proses
mendefinisikan informasi ke dalam teknik flow modeling. Contoh dari flow modeling
terdapat pada Gambar 4 berikut:
STD memiliki notasi berupa: Notasi kotak yang merepresentasikan states dari
sistem. Tanda panah merepresentasikan transisi yang terjadi antar state didalam
sistem. Setiap panah dilengkapi dengan dua buah deskripsi, deskripsi yang berada
di atas mengindikasikan event yang menyebabkan perubahan pada state di dalam
sistem. Sedang untuk deksripsi yang berada dibawah mengindikasikan
aksi/feedback sebagai konsekuensi dari perubahan event.
Transaction Flow memiliki ciri satu data item yang disebut transaction yang
men-trigger pengeksekusian data flow lain pada jalur yang berbeda. Transaction flow
memiliki 3 elemen yaitu transaction – data tunggal yang mentriger atau atau
beberapa aliran data. Transaction center – proses yang menghubungkan aliran
data dari transaction menjadi aliran data yang menuju jalur yang berbeda. Action
path – aliran/jalur informasi yang akan dipilih sebagai output dari proses trigger dari
data transaction. Perlu diingat bahwa kemungkinan bagi transform flow dan
transaction flow berada pada satu DFD yang sama sangat besar.
b. Tentukan apakah DFD tsb. memiliki karakteristik tipe transform flow atau
transaction flow
c. Tentukan batas antara incoming flow, transform center dan outgoing flow
d. Bangun first level factoring. Pada proses ini jika terdapat transform flow maka
DFD akan dipetakan kedalam 3 proses yang merepresentasikan alur
informasi yaitu incoming, transform dan outgoing. Pada gambar 15
didefinisikan struktur sebagai berikut: Sensor input controller mendefinisikan
aktifitas incoming information secara umum. Alarm condition controller
mendefinisikan aktifitas transform information secara umum. Alarm output
controller mendefinisikan secara umum aktifitas outgoing information.
e. Bangun second level factoring. Proses ini dilaksanakan dengan memetakan
proses-proses pada outgoing flow yang sebelumnya pada proses first level
factoring didefinisikan menjadi satu struktur utama outgoing flow yaitu alarm
output controller. Pada DFD SafeHome terlihat bahwa terdapat 6 proses
terkait struktur alarm output controller yang menjadi outgoing information
yaitu Format display → generate display. Generate alarm. Set up connection
to phone net → Genereate pulses to line. Enam proses ini kemudian akan
digambarkan sebagai struktur dengan hirarki dibawah struktur alarm output
controller. Gambar 16 menggambarkan proses second level factoring pada
sistem SafeHome. Proses dilakukan secara menyeluruh pada tiap incoming,
transform dan outgoing information sehingga menghasilkan struktur yang
komprehensif.
f. Refine first iteration
Gambar 15 Pendefinisian Struktur pada First Level Factoring
b. Tentukan apakah DFD tsb. memiliki karakteristik tipe transform flow atau
transaction flow. Pada gambar 17 diatas merupakan tipe transaction flow
dengan proses invoke command processing menjadi transaction center yang
mentrigger proses read system data, activate/deactivate system serta read
password. Perlu diingat bahwa data/informasi dapat diteruskan ke salah satu
dari 3 jalur tersebut.
c. Tentukan batas antara incoming path/transaction, transaction center dan
action path
d. Bangun first level factoring. Dari DFD yang telah didefinisikan pada Gambar
17 kemudian dibangun first level factoring. Pada first level factoring ini
struktur user interaction executive menjadi struktur utama sedang proses
pada incoming flow disusun pada hirarki dibawah struktur utama dan
menempati bagian kiri. Sedangkan transaction center yaitu Invoke command
processing membawahi action path yang ditrigger oleh transaction center itu
sendiri, antara lain system configuration controller, activate/deactivate system
dan password processing controller. Gambar 18 merupakan pendefinisian
struktur dalam first level factoring.
e. Bangun second level factoring
f. Refine first iteration
Gambar 18 First Level Factoring Transaction Mapping
4. Summary
Analisis terstruktur merupakan pendekatan yang banyak digunakan untuk
menggambarkan pemodelan dari kebutuhan. Analisis terstruktur disusun dengan
berbasis pada data modeling dan flow modeling yang direpresentasikan dengan diagram
yang disebut entity-relationship diagram, dan data flow diagram, dengan diagram ini
pengembang perangkat lunak dapat melihat data object yang penting serta dapat
mendefiniskan alur serta proses transformasi data didalam perangkat lunak/sistem. Data
dan control flow diagram digunakan sebagai basis untuk mengidentifikasikan data dan
kontrol flow dari sebuah sistem. Behavioral model dirancang dengan menggunakan state
transition diagram dan isi dari data serta kontrol didefinisikan didalam data dictionary.
5. User Story
Travel JalansKuy merupakan perusahaan yang bergerak dalam bidang pariwisata di
Malang. Travel Jalanskuy menyediakan layanan berupa paket pariwisata dalam dan luar
negeri. Saat ini travel JalanSkuy melayani pelanggan secara konvensional yaitu
pelanggan harus datang ke agen perjalanan langsung. Sehingga jika pelanggan hendak
mengetahui paket berwisata dengan jasa travel JalanSkuy, pelanggan memilih paket
wisata melalui brosur dan buku katalog yang disediakan oleh pihak travel. Travel
JalanSkuy menyediakan beberapa layanan perjalanan wisata, di antaranya, pembelian
tiket pesawat, tiket kereta api, tiket bus, rental mobil, pemesanan kamar hotel, paket
perjalanan wisata, dan penukaran mata uang (money changer).
Semakin meningkatnya persaingan, travel JalansKuy berusaha meningkatkan pelayanan
untuk meningkatkan jumlah pelanggan. Oleh karena itu, pihak travel JalanSkuy perlu
menyediakan layanan online berbasis web dan mobile yang dapat memudahkan
pelanggan dalam mendapatkan informasi dan melakukan transaksi pemesanan.
Pelanggan dapat mengetahui jadwal dan harga tiket kereta, tiket pesawat, tiket bus,
mengetahui informasi terkait kamar ketersediaan dan harga kamar hotel yang dapat
dipesan, serta paket perjalanan wisata baik yang menggunakan tour guide maupun
tidak. Pelanggan yang ingin memesan tiket kereta, pesawat, bus, memesan kamar hotel,
dan paket perjalan harus memiliki akun yang diverifikasi menggunakan alamat email.
Metode pembayaran yang ditawarkan pun sangat fleksibel, pembayaran dapat dilakukan
secara tunai, transfer bank, kartu debit online, kartu kredit, e-payment minimarket, dan
SkuyCash yang merupakan layanan dompet virtual milik JalanSkuy. Pelanggan dapat
memperoleh 20 SkuyPoint setelah melakukan 5 kali transaksi. Ketika pengguna
mendaftarkan diri pada sistem JalanSkuy secara otomatis pengguna mendapatkan 20
SkuyPoint. Setiap transaksi kelipatan Rp10.000, pengguna akan mendapatkan 10
SkuyPoint. Jika pengguna bertransaksi secara online dengan menggunakan SkuyCash,
maka seluruh biaya transaksi yang dilakukan akan mendapatkan potongan tambahan
sebesar 20%. Pengguna dapat melakukan top-up SkuyCash dengan minimal setoran
sebesar Rp50.000. Untuk menarik pelanggan, diadakan diskon sebesar 15% di hari-hari
tertentu untuk pembelian tiket pesawat jika pelanggan bertransaksi minimal 1 juta.
Sementara untuk pembelian tiket kereta, pelanggan dapatkan diskon 10% jika
pelanggan melakukan 5 kali pembelian tiket kereta. Khusus pelajar, pembelian tiket bus
akan mendapatkan cashback 10% ke SkuyCash.
Pesanan tiket yang dibeli oleh pengguna dapat memiliki status dan kondisi berikut ini:
● Booked: tiket telah dipesan dan tagihan pembayaran pesanan tiket telah
diterbitkan
● Confirmed: tagihan pesanan tiket telah dibayar
● Pending: tagihan telah dibayar, namun nominal yang dibayarkan tidak mencukupi
● Completed: tiket telah dibayar, dan perjalanan telah dilakukan.
CEO JalanSkuy juga menginginkan adanya laporan keuangan bulanan. Pihak manager
dari perusahaan kereta, pesawat, bus, maupun hotel juga dapat mengetahui laporan
penjualan tiket terkait dengan layanan transportasi yang mereka sediakan melalui sistem
JalanSkuy. Sementara administrator dapat menjawab pertanyaan dari pelanggan dan
membuat penjadwalan travel antarkota yang menggunakan mini bus. Selain itu,
administrator dapat melayani pelanggan secara langsung di agen travel JalanSkuy. CEO
JalanSkuy menginginkan keamanan dan privasi data yang baik. Website maupun
aplikasi mobile yang digunakan oleh pengguna dapat berjalan baik dan cepat walaupun
digunakan oleh pengguna yang banyak dalam satu waktu. Untuk mengurangi kerugian,
CEO JalanSkuy tidak menginginkan adanya permasalahan dalam proses pemesanan
tiket pesawat, kereta, minibus, dan kamar hotel, sehingga sistem perlu menyediakan
mekanisme untuk menghindari pelanggan mendapatkan nomor duduk yang sama atau
nomor kamar yang sama dengan pelanggan lainnya.
6. Soal-soal Latihan
6.1. Tugas I: Pemodelan DFD
Pada Pemodelan DFD gambarkan DFD dari Level 0/ Diagram konteks
sampai ke dalam level yang terendah. Sesuai dengan teori maka DFD level
terendah adalah DFD Level 3. Gunakan user story di atas dan Pemodelan
ERD untuk menentukan data store, proses dan terminatornya terlebih dahulu
baru digambarkan DFD mulai Level 0 sampai Level terendah.
Terminator
Tentukan terminator atau external entity dengan menggunakan format
sebagai berikut:
A. Data Store
Tentukan data store dari user story diatas dan deskripsikan dengan
format sebagai berikut:
B. Proses
Tentukan proses yang harus ada didalam DFD dengan memetakannya ke
dalam deskripsi pada kebutuhan
C. Penggambaran DFD
[THR]
Level 0
Level 1
Level 2
[FIKH]
Level 0
Level 1
Level 2
[SAD]
Level 0
Level 1
[ILMU]
Level 0
Level 1
Contoh Pengisian:
Pembeli membeli Mobil
[SAD]
Pelanggan menghubungi Administrasi
Pelanggan mendapatkan Tiket
Administrasi memvalidasi Tiket
Administrasi mengupdate Jadwal Perjalanan
[THR]
Pelanggan mendapat Jadwal Perjalanan
Jadwal Perjalanan memuat Tiket
Administrator membuat Jadwal Perjalanan
Manager Mitra merinci Tiket
[ILMU]
Bagian Keuangan membuat Laporan Keuangan
Manager JalanSkuy mendapat Laporan Keuangan
[THR]
[FIKH]
[SAD]
[ILMU]
6.4. Tugas IV: Pendefinisian Specification
Tentukan Process Specification yang mendefinisikan deskripsi dari tiap proses
didalam DFD dan Control Specification yang mendefinisikan deskripsi kontrol
dalam DFD. Pada bab ini juga didefinisikan data dictionary dari perangkat lunak.
A. Process Specification
Process Specification dideskripsikan dengan menggunakan format sebagai
berikut:
Kode PSPEC
[THR]
Nama Proses Mengajukan Pertanyaan
Input Pertanyaan
Output Jawaban
Tujuan Proses Untuk menjawab pertanyaan dari pelanggan
Batasan Memasukkan pertanyaan
Algoritma
input pertanyaan
sendNotificationTo(administratorX, pertanyaan)
input jawaban
sendNotificationTo(pelangganX, jawaban)
[SAD]
Algoritma
input email
input password
if email, password == sesuai
return status login berhasil
else if email, password =! Sesuai
return status login gagal
Output Status
Algoritma
Input status login
input password
if riwayat pemesanan == 0
return status pemesanan kosong
else if riwayat pemesanan == 1
return status pemesanan
print riwayat pemesanan
Output Form_pembayaran
Algoritma
Input waktu
input tempat_peminjaman
input durasi
input pembayaraan
if waktu, tempat_peminjaman,durasi, pembayaran =!
tersedia
return to input
waktu,tempat_peminjaman,duasi,pembayaran
else if waktu, tempat_peminjaman, durasi, pembayaran
== tersedia
return status tersedia
print form pembayaran
Algoritma
Input waktu
input tujuan
input durasi
if waktu, tujuan,durasi =! tersedia
return to input waktu,tujuan,durasi
else if waktu, tujuan, durasi == tersedia
return status tersedia
print form pembayaran
print form jadwal
Algoritma
Input waktu
input tujuan
if waktu, tujuan =! tersedia
return to input waktu,tujuan
else if waktu, tujuan, durasi == tersedia
print harga_tiket
if pelanggan == setuju
print form pembayaran, jadwal
else if pelanggan =! setuju
return to input waktu, tujuan
Output Mata_uang_tujuan
Algoritma
Input Asal_mata_uang
input jumlah
if mata_uang_tujuan =! tersedia
return to input asal_mata_uang
else if mata_uang_tujuan == tersedia
print harga_kurs
if pelanggan == setuju
print form pembayaran
else if pelanggan =! setuju
return to input asal_mata_uang
Output Form_pembayaran,
detail_pemesanan
Algoritma
Input waktu
input hotel
input durasi
if waktu, hotel, durasi =! tersedia
return to input waktu, hotel, durasi
else if waktu, hotel, durasi == tersedia
print harga_hotel
if pelanggan == setuju
print form pembayaran
else if pelanggan =! setuju
return to input waktu, hotel, durasi
[ILMU]
B. Control Specification
Control Specification dideskripsikan dengan menggunakan format dan acuan
sebagai berikut:
Contoh:
Kode CSPEC
[THR]
Status Menampilkan Menampilkan
Login Pesan Error Laporan Penjualan
True 0 1
False 1 0
[FIKH]
Pem Pemba Waktu Pembayar Status Status Status
baya yaran _pemb an Tidak Confirme Pending Complete
ra sesuai erangk sesuai d d
Valid tagiha atan taguhan
n Sudah
lewat
dari
tangga
sekara
ng
True True False False 1 0
True False False True 0 1 0
False False False False 0 0 0
True True True False 0 0 1
[ILMU]
Format data pertama yang mendata seluruh data atau kontrol yang
digunakan perangkat lunak
[FIKH]
No. Nama Data Elemen pada Data Tipe
DD_01 Nomor [local number|long data
Telepon distance number]
DD_02 nama [Nama depan | nama data
Pelanggan tengah | nama belakang]
Format data kedua yang menjelaskan tiap data pada tabel pertama
DD_01
DD_03
Nama Data ID_Pelanggan
Alias -
Penggunaan Diakses saat Pemesanan Tiket dan
Pembayaran
Deskripsi Data
ID_Pelanggan = [Long Number]
long number = 16 digit valid number (0,1,2,3,4,5,6,7,8,9)
DD_04
Nama Control Kesesuaian Pembayaran
Alias -
Penggunaan kontrol saat update status
Deskripsi Data
True = Jumlah yang dibayarkan Valid + Sesuai dengan tagihan
False = jumlah yang dibayarkan valid + kurang dengan tagihan
[FIKH]
[THR]
[ILMU]
A.2 Gambarkan proses first level factoring dari DFD menjadi struktur diagram.
Contoh dapat dilihat pada Gambar 15
[FIKH]
[THR]
[ILMU]
A.3 Gambarkan proses second level factoring dari DFD menjadi struktur diagram
yang komprehensif
[FIKH]
[THR]
[ILMU]
B. TRANSACTION MAPPING
B.1 Pada sub bab ini digambarkan bagian dari DFD yang memiliki ciri
transaction mapping. Pada sub bab ini juga digambarkan batasan antara
transaction center, transaction dan action path. Contoh dapat dilihat pada
Gambar 17.
[SAD]
B.2 Gambarkan proses first level factoring dari DFD menjadi struktur diagram.
Contoh pada Gambar 18
[SAD]
B.3 Gambarkan proses second level factoring dari DFD menjadi struktur diagram
yang komprehensif
[SAD]
C. ARSITEKTUR PROGRAM
Gambarkan arsitektur program dengan menggabungkan hasil factoring dari
transform mapping dan transaction mapping
[FIKH]
Analisis dan Desain Sistem Informasi
Program Studi Sistem Informasi
Modul Pendekatan Pemodelan Berorientasi Object
Penyusun
[Kelompok 2]
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.
1. 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.
2. Class Diagram
Menurut Whitten dan Bentley (2007), class diagram digunakan untuk menggambarkan struktur
objek statis dalam sebuah sistem, menunjukkan sistem tersusun dari kelas-kelas apa saja dan hubungan
apa saja yang terbentuk di antara kelas tersebut. Simbol-simbol dalam class diagram terdapat pada Tabel
3.2.
Tabel 3.2 Simbol-simbol pada class diagram
Simbol Deskripsi
Attribute adalah sekumpulan data
yang dimiliki oleh objek.
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.User Story
Travel JalansKuy merupakan perusahaan yang bergerak dalam bidang pariwisata di
Malang. Travel Jalanskuy menyediakan layanan berupa paket pariwisata dalam dan luar
negeri. Saat ini travel JalanSkuy melayani pelanggan secara konvensional yaitu pelanggan
harus datang ke agen perjalanan langsung. Sehingga jika pelanggan hendak mengetahui
paket berwisata dengan jasa travel JalanSkuy, pelanggan memilih paket wisata melalui
brosur dan buku katalog yang disediakan oleh pihak travel. Travel JalanSkuy menyediakan
beberapa layanan perjalanan wisata, di antaranya, pembelian tiket pesawat, tiket kereta api,
tiket bus, rental mobil, pemesanan kamar hotel, paket perjalanan wisata, dan penukaran
mata uang (money changer).
Semakin meningkatnya persaingan, travel JalansKuy berusaha meningkatkan pelayanan
untuk meningkatkan jumlah pelanggan. Oleh karena itu, pihak travel JalanSkuy perlu
menyediakan layanan online berbasis web dan mobile yang dapat memudahkan pelanggan
dalam mendapatkan informasi dan melakukan transaksi pemesanan. Pelanggan dapat
mengetahui jadwal dan harga tiket kereta, tiket pesawat, tiket bus, mengetahui informasi
terkait kamar ketersediaan dan harga kamar hotel yang dapat dipesan, serta paket
perjalanan wisata baik yang menggunakan tour guide maupun tidak. Pelanggan yang ingin
memesan tiket kereta, pesawat, bus, memesan kamar hotel, dan paket perjalan harus
memiliki akun yang diverifikasi menggunakan alamat email.
Metode pembayaran yang ditawarkan pun sangat fleksibel, pembayaran dapat dilakukan
secara tunai, transfer bank, kartu debit online, kartu kredit, e-payment minimarket, dan
SkuyCash yang merupakan layanan dompet virtual milik JalanSkuy. Pelanggan dapat
memperoleh 20 SkuyPoint setelah melakukan 5 kali transaksi. Ketika pengguna
mendaftarkan diri pada sistem JalanSkuy secara otomatis pengguna mendapatkan 20
SkuyPoint. Setiap transaksi kelipatan Rp10.000, pengguna akan mendapatkan 10
SkuyPoint. Jika pengguna bertransaksi secara online dengan menggunakan SkuyCash,
maka seluruh biaya transaksi yang dilakukan akan mendapatkan potongan tambahan
sebesar 20%. Pengguna dapat melakukan top-up SkuyCash dengan minimal setoran
sebesar Rp50.000. Untuk menarik pelanggan, diadakan diskon sebesar 15% di hari-hari
tertentu untuk pembelian tiket pesawat jika pelanggan bertransaksi minimal 1 juta.
Sementara untuk pembelian tiket kereta, pelanggan dapatkan diskon 10% jika pelanggan
melakukan 5 kali pembelian tiket kereta. Khusus pelajar, pembelian tiket bus akan
mendapatkan cashback 10% ke SkuyCash.
Pesanan tiket yang dibeli oleh pengguna dapat memiliki status dan kondisi berikut ini:
● Booked: tiket telah dipesan dan tagihan pembayaran pesanan tiket telah diterbitkan
● Confirmed: tagihan pesanan tiket telah dibayar
● Pending: tagihan telah dibayar, namun nominal yang dibayarkan tidak mencukupi
● Completed: tiket telah dibayar, dan perjalanan telah dilakukan.
CEO JalanSkuy juga menginginkan adanya laporan keuangan bulanan. Pihak manager dari
perusahaan kereta, pesawat, bus, maupun hotel juga dapat mengetahui laporan penjualan
tiket terkait dengan layanan transportasi yang mereka sediakan melalui sistem JalanSkuy.
Sementara administrator dapat menjawab pertanyaan dari pelanggan dan membuat
penjadwalan travel antarkota yang menggunakan mini bus. Selain itu, administrator dapat
melayani pelanggan secara langsung di agen travel JalanSkuy. CEO JalanSkuy
menginginkan keamanan dan privasi data yang baik. Website maupun aplikasi mobile yang
digunakan oleh pengguna dapat berjalan baik dan cepat walaupun digunakan oleh
pengguna yang banyak dalam satu waktu. Untuk mengurangi kerugian, CEO JalanSkuy
tidak menginginkan adanya permasalahan dalam proses pemesanan tiket pesawat, kereta,
minibus, dan kamar hotel, sehingga sistem perlu menyediakan mekanisme untuk
menghindari pelanggan mendapatkan nomor duduk yang sama atau nomor kamar yang
sama dengan pelanggan lainnya.
6.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
Aktor Usecas Usecase
e
Administrator UC001 Mengupdate status
pemesanan
Administrator UC004 Menjadwalkan perjalanan
Pelanggan UC002 Mengajukan pertanyaan
Pelanggan UC005 Memesan layanan
Pelanggan UC006 Melihat jadwal perjalanan
Manager UC003 Melihat laporan keuangan
Mitra perusahaan terkait
Bagian UC007 Membuat laporan keuangan
Keuangan
Sistem
Manager UC008 Melihat Laporan Keuangan
JalanSkuy
[UC001 - FIKH]
[SAD]
[THR]
[UC007 ILMU]
Analisis Use Case
[FIKH]
Asosiasi
Aktivitas
Include Extend
Memesan layanan otentikasi Cetak Tiket
Mengetahui status pesanan otentikasi
Merubah Status Pesanan otentikasi
Pelanggan
[SAD]
Asosiasi
Aktivitas
Include Extend
Memilih layanan Otentikasi, Cetak
mengisi detail Booking,
pemesanan Mengisi data
pelanggan
Melihat status pesanan otentikasi
Konfirmasi pemesanan otentikasi
[THR]
Asosiasi
Aktivitas
Include Extend
Mengajukan pertanyaan Otentikasi -
Menjadwalkan perjalanan Otentikasi -
Melihat jadwal perjalanan Otentikasi Cetak Jadwal
Perjalanan
Melihat laporan keuangan Otentikasi Unduh laporan
perusahaan terkait
[ILMU]
Asosiasi
Aktivitas
Include Extend
Meminta laporan keuangan Otentikasi Unduh laporan
JalanSkuy
Meminta laporan keuangan Otentikasi Unduh laporan
perusahaan mitra
Membuat laporan keuangan Otentikasi -
Generalisasi Aktor
Actor: Pelanggan,Administrator
Description: Use case ini menjelaskan tentang tahapan status pelanggan
Usecase Goal: Pelanggan Dapat Mengetahui status pesananya hingga
melakukan perjalanan
Preconditions: Pelanggan Sudah Memesan layanan
Main Flow:
1. Pelanggan memesan Layanan
2. Administrator mengupdate status Pesanan menjadi
Booked
3. Pelanggan memberikan bukti pembayaran
4. Administrator memverifikasi pembayaran
5. Administrator mengupdate status pesanan menjadi
Confirmed
6. Administrator Memberikan Tiket layanan
7. Pelanggan melakukan perjalanan.
8. Administrator Mengupdate status pesanan menjadi
completed
Alternative Flow - 1: 6a. Pelanggan melakukan kurang bayar.
6a1. Administrator mengupdate status pesanan menjadi
pending
6a1. flow ke (5)
Alternative Flow - 2: 6b.Pelanggan melakukan pembayaran yang tidak
terverifikasi
6b1.Administrator mengupdate status pesanan menjadi
pending
6b2.flow ke 5
Postconditions: Status pesanan Pelanggan adalah Completed
Actor: Administrator
Description: Administrator melakukan penjadwalan pada perjalanan yang
dipesan pelanggan
Usecase Goal: Administrator membuat jadwal pejalanan
Preconditions: Administrator telah melakukan login, administrator mendapat
rincian tiket
Main Flow: 1. Administrator membuka menu ‘Jadwalkan perjalanan’
2. Sistem menampilkan seluruh pelanggan yang perlu
penjadwalan perjalanan
3. Administrator memilih pelanggan yang akan dijadwalkan
4. Sistem menampilkan daftar tiket dari seluruh perusahaan
yang terkait perjalanan pelanggan
5. Adminsitrator memilih tiket yang sesuai dan menyimpan
jadwal
6. Sistem menampilkan pratinjau jadwal dan menampilkan
konfirmasi kebenaran
7. Administrator memilih pilihan benar
8. Sistem mengirim jadwal kepada pelanggan terkait dan
memberikan notifikasi
Alternative Flow - 1: 5a. Jadwal tiket bertabrakan
5a. 1. Sistem menampilkan pesan terdapat jadwal yang
bertabrakan
5a. 2. Flow ke (4)
Alternative Flow - 2: 7a. Administrator memilih pilihan batal
7a. 1. Flow ke (4)
Postconditions: Pelanggan mendapat jadwal perjalanan
Actor: Pelanggan
Description: Pelanggan melihat jadwal perjalanan yang telah dibuat oleh
administrator
Usecase Goal: Pelanggan mengetahui jadwal perjalanan
Preconditions: Pelanggan telah melakukan login
Main Flow: 1. Pelanggan memilih menu lihat jadwal perjalanan
2. Sistem menampilkan jadwal perjalanan
Alternative Flow - 1: 2a. Pelanggan mengunduh jadwal perjalanan
2a. 1. Sistem mengubah jadwal menjadi PDF
2a. 2. Sistem menyimpan PDF pada perangkat pelanggan
2b. Jadwal belum dibuat
2b. 1. Sistem menampilan pesan ‘Jadwal belum dibuat’
Alternative Flow - 2: -
Postconditions: Sistem menampilkan jadwal perjalanan pelanggan
Main Flow
Precondition Activity
Activity Aktor
Memesan Layanan Pelanggan
Merubah Status menjadi Administrat Memesan Layanan
Booked or
Memberikan Bukti Pembayaran Pelanggan Status sudah Menjadi
booked
Memverifikasi Pembayaran Administrat Bukti pembayaran
or diberikan
Merubah status menjadi Administrat Bukti Pembayaran valid
confirmed or dan tidak sesuai tagihan
Memberikan Tiket Administrat Status sudah Confirmed
or
Melakukan Perjalanan Pelanggan Sudah diberikan TIket
Alternative Flow
Precondition
Activity Aktor
Activity
Memesan Layanan Pelanggan
Merubah Status Administrator Memesan Layanan
menjadi Booked
Memberikan Bukti Pelanggan Status sudah
Pembayaran Menjadi booked
Memverifikasi Administrator Bukti pembayaran
Pembayaran diberikan
Merubah status Administrator Bukti Pembayaran
menjadi Pending tidak valid atau
tidak sesuai
tagihan
kembali ke Flow Pelanggan Status menjadi
Memberikan Bukti Pending
Pembayaran
Activity ID: AD002
Activity title: Mengajukan Pertanyaan
Use Case UC002
Scenario ID :
Created By: Thariq Al A. Last Updated By:
Date Created: Date Last
Updated:
Main Flow
Precondition Activity
Activity Aktor
Memilih menu ajukan Pelanggan Pelanggan dan
pertanyaan adminsitrator telah
melakukan login
Menampilkan formulir Sistem Menu ajukan
pertanyaan pertanyaan dipilih
Memasukkan pertanyaan Pelanggan Formulir telah dimuat
sepenuhnya
Menampilkan pesan bahwa Sistem Pertanyaan telah
pertanyaan telah terkirim selesai dimasukkan
Memberikan notifikasi, Sistem Pertanyaan telah
menampilkan pertanyaan dan disimpan
formulir jawaban kepada
administrator
Memasukkan jawaban Administrat Formulir telah dimuat
or sepenuhnya
Menampilkan pesan bahwa Sistem Jawaban telah selesai
jawaban telah terkirim dimasukkan
Memberikan notifikasi, Sistem Jawaban telah disimpan
menampilkan pertanyaan dan
jawaban kepada pelanggan
Activity ID: AD003
Activity title: Melihat laporan keuangan perusahaan terkait
Use Case UC003
Scenario ID :
Created By: Thariq Al A. Last Updated By:
Date Created: Date Last
Updated:
Main Flow
Precondition Activity
Activity Aktor
Memilih menu laporan Manager Manager mitra telah
keuangan mitra melakukan login
Menampilkan laporan keuangan Sistem Menu laporan keuangan
dipilih
Alternative Flow
Precondition
Activity Aktor
Activity
Mengubah laporan Sistem Laporan keuangan
keuangan menjadi telah dimuat dan
PDF manager mitra
memilih cetak
Menyimpan PDF Sistem Laporan keuangan
pada perangakt telah berhasil
manager mitra diubah ke PDF
Main Flow
Precondition Activity
Activity Aktor
Membuka menu jadwalkan Administrat Administrator telah login
perjalanan or
Menampilkan seluruh Sistem Menu jadwalkan
pelanggan yang perlu perjalanan telah dibuka
dijadwalkan
Memilih salah satu pelanggan Administrat Seluruh daftar
or pelanggan telah termuat
Menampilkan seluruh rincian Sistem Pelanggan telah dipilih
tiket
Memilih tiket yang sesuai dan Administrat Seluruh rincian tiket
menyimpan jadwal or telah termuat
Menampilkan pratinjau jadwal Sistem Jadwal telah disimpan
perjalanan dan menampilkan
menu konfirmasi
Memilih pilihan konfirmasi Administrat Pratinjau telah termuat
or
Mengirim jadwal kepada Sistem Konfirmasi yang dipilih
pelanggan terkait dan adalah benar
memberikan notifikasi
Alternative Flow
Precondition
Activity Aktor
Activity
Menampilkan pesan Sistem Tiket yang
bahwa terdapat dijawalkan
jadwal yang memiliki waktu
bertabrakan yang bertabrakan
Activity ID: AD005
Activity title: Melihat jadwal perjalanan
Use Case UC006
Scenario ID :
Created By: Thariq Al A. Last Updated By:
Date Created: Date Last
Updated:
Main Flow
Precondition Activity
Activity Aktor
Memilih menu lihat jadwal Pelanggan Pengguna telah
perjalanan melakukan login
Menampilkan jadwal perjalanan Sistem Jadwal telah tersedia
dan menu lihat jadwal
perjalanan dipilih
Alternative Flow
Precondition
Activity Aktor
Activity
Menampilkan pesan Sistem Jadwal belum
jadwal belum dibuat tersedia
Mengubah jadwal Sistem Jadwal telah
menjadi PDF tersedia dan
pelanggan memilih
menu cetak
Menyimpan PDF Sistem Jadwal perjalanan
pada perangakat telah berhasil
pelanggan diubah ke PDF
Activity ID: AD006
Activity title: Memesan layanan
Use Case UC005
Scenario ID :
Created By: Muhammad Irsad Last Updated By:
Date Created: Date Last
Updated:
Main Flow
Precondition Activity
Activity Aktor
Menampilkan pilihan menu Sistem Pelanggan telah
terotentikasi
Memilih menu pemesanan Pelanggan Pilihan menu telah
ditampilkan
Memasukkan detail pemesanan Pelanggan Detail pemesanan
belum ada
Mengisi detail pemesan Pelanggan Detail pemesan masih
kosong
Memilih cara pembayaran Pelanggan Detail pemesanan dan
detail pemesan telah
terisi
Menampilkan kode booking Sistem Kode booking sudah
tersedia
Mencetak kode booking Sistem Kode booking belum
dicetak
Alternative Flow
Precondition
Activity Aktor
Activity
Memilih menu Status Pelanggan Menu telah
pemesanan ditampilkan
Memasukkan kode Pelanggan Pelanggan ingin
booking melihat status
pemesanan
Menampilkan detail Sistem Detail pemesanan
pemesanan yang lalu sudah
ada, ingin dilihat
kembali
Activity ID: AD007
Activity title: Membuat laporan keuangan
Use Case UC007
Scenario ID :
Created By: Ilham Maulana Last Updated By:
Ubaidillah
Date Created: Date Last
Updated:
Main Flow
Precondition Activity
Activity Aktor
Memilih menu edit laporan Bagian Pengguna telah
keuangan Keuangan melakukan login
Menampilkan menu edit laporan Sistem Sistem menyediakan
keuangan prosedur membuat
laporan keuangan
Memilih menu buat neraca Bagian Pengguna telah
saldo Keuangan mengamati data nomor
akun, nomor rekening,
debet, kredit sudah
tersedia
Menampilkan menu buat neraca Sistem Data nomor akun,
saldo nomor rekening, debet,
kredit sudah tersedia
Membuat jurnal penyesuaian Bagian Pengguna telah
Keuangan mendapatkan data
semua transaksi
sebelumnya
Menyusun neraca lajur Bagian Sistem telah mencatat
Keuangan semua transaksi
sebelumnya
Menampilkan menu menyusun Sistem Sistem telah mencatat
neraca lajur Kolom Nama Rekening
Perkiraan. Berisi nama
seluruh kode akun
perkiraan yang telah
disusun sebelumnya,
dari nama rekening
perkiraan ini juga akan
ditentukan, apakah
sebuah akun bernilai
debet atau kredit pada
setiap lajur kolom.
Kolom Neraca
Saldo.Kolom
Penyesuaian. Kolom
Neraca. Kolom Rugi
Laba.
Alternative Flow
Precondition
Activity Aktor
Activity
Menampilkan jurnal Sistem Sistem telah
penyesuaian mencatat riwayat
transaksi
sebelumnya
5.3 Tugas III : Pemodelan Sequence Diagram
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.
[SAD SD002]
Messag Object Asal Object Messages Data / Return Value
e Tujuan Parameter
Number
1 Pelanggan Login Login username,
password
1.1 Login Login username/pas username,
control word password
1.1.1 Login control Akun Cek login username,
jalanskuy akun password
1.1.3 Akun Login True login valid Pesan true
jalanskuy control
1.1.3.1 Login control Menu tampilkan() login valid
1.1.3.1. Menu Pelanggan Menampilkan Pilihan Halaman
1 menu utama menui menu utama
2 Pelanggan Menu Cek status Pilihan
pemesanan menu
2.1 Menu Masukkan tampilkan() Pilihan
kode menu
booking
2.1.1 Masukkan Pelanggan menampilkan Isian kode Halaman isi
kode booking masukkan booking kode booking
kode booking
3 Pelanggan Kode Kode booking kodebookin
booking g
control
3.1 Kode Entity kode cek kodebookin
booking booking kodebooking g
control
3.3 Entity kode Kode True Kode Pesan true
booking booking booking
control valid
3.3.1 Kode Fix detail tampilkan() Kode
booking pemesana booking
contol n valid
3.3.1.1 Fix detail Pelanggan Menampilkan Detail Halaman
pemesanan detail pemesanan detail
pemesanan pemesanan
pelanggan pelanggan
sesuai sesuai
dengan kode dengan kode
booking booking
4 Pelanggan Menu Pemesanan Pilihan
pemesanan
4.1 Menu Isian detail tampilkan() Pilihan
pemesana pemesanan
n
4.1.1 Isian detail Pelanggan Menampilkan Form isian Halaman isian
pemesanan form isian detail detail
detail pemesanan pemesanan
pemesanan
5 Pelanggan Booking Detail waktu,
control pemesanan tempat,
harga,
durasi
5.1 Booking Ketersedia Cek waktu,
control an layanan ketersediaan tempat,
harga,
durasi
5.3 Ketersediaan Booking True waktu, Pesan true
layanan control tempat,
harga,
durasi
5.3.1 Booking Isian form tampilkan() Status true
control pemesan
5.3.1.1 Isian form Pelanggan Menampilkan Isian form Halaman isian
pemesan isian detail form
pemesan
6 Pelanggan Data Data nama,
pemesan pemesan alamat,
control email
6.1 Data Entity data Isi nama,
pemesan pemesan alamat,
control email
6.1.1 Entity data Cara tampilkan() Data
pemesan pemayaran pemesan
6.1.1.1 Cara Pelanggan Menampilkan Opsi cara Halaman cara
pembayaran halaman cara pembayara pembayaran
pembayaran n
7 Pelanggan Booking Memilih cara Cara
control pembayaran pembayara
n
7.1 Booking Entity kode Buat kode kode
control booking booking booking
7.1.1 Entity kode Menampilk tampilkan() kode kode booking
booking an kode booking
booking
7.1.1.1 Menampilkan Pelanggan Menampilkan kode Halaman
kode booking kode booking booking tampilan kode
sementara booking
untuk
melakukan
pembayaran
[THR SD003]
Messag Object Asal Object Messages Data / Return Value
e Tujuan Parameter
Number
1 Pelanggan Menu Pilihan Ajukan
Tujuan Pertanyaan
1.1 Menu Utama Tampilan tampilkanPert
Formulir anyaan()
1.1.1 Tampilan Pelanggan Tampilan
Formulir Formulir
Pertanyaan
2 Menu Utama Tampilan Mengisi Pertanyaan
Formulir Pertanyaan
dan Tekan
Kirim
2.1 Tampilan Kontrol setPertanyaan Pertanyaan
Formulir Pertanyaan
2.1.1 Kontrol Pelanggan simpanPertan Pertanyaan
Pertanyaan (entity) yaan
2.1.2 Kontrol Tampilan pop “Sukses”
Pertnayaan Formulir
2.1.3 Tampilan Pelanggan Tampilan Pop
Formulir Up Sukses
2.1.3 Kontrol Notifikasi notifikasiPerta id_pegawai
Pertanyaan nyaan ,
pertanyaan
2.1.3.1 Notifikasi Adminsitrat Notifikasi
or Pertanyaan
3 Pelanggan Notifikasi Menekan
Jawab
3.1 Notifikasi Kontrol jawabPertany id_pegawai
Pertanyaan aan ,
pertnyaaan
3.1.1 Kontrol Tampilan tampilkanJaw pertanyaan
Pertanyaan Formulir aban
3.1.1.1 Tampilan Administrat Tampilan
Formulir or Formulir
Jawaban
4 Administrator Tampilan Jawaban Jawaban
Formulir
4.1 Tampilan Kontrol setJawaban id_pelangg
Formulir Pertanyaan an,
pertanyaan
, jawaban
4.1.1 Kontrol Pelanggan( setJawaban pertanyaan
Pertanyaan entity) , jawaban
4.1.2 Kontrol Tampilan pop “Sukses”
Jawaban Formulir
4.1.3 Tampilan Administrat Tampilan Pop
Formulir or Up Sukses
4.1.3 Kontrol Notifikasi notifikasi id_pelangg
Jawaban an,
pertanyaan
, jawaban
4.1.3.1 Notifikasi Pelanggan Notifikasi Jawaban
Jawaban
[THR SD004]
Messag Object Asal Object Messages Data / Return Value
e Tujuan Parameter
Number
1 Manager Menu Pilihan
Mitra Utama Laporan
Keuangan
1.1 Menu Utama Tampilan tampilkan
Laporan
Keuangan
1.1.1 Tampilan Kontrol cekLaporanKe
Laporan Transaksi uangan
Keuangan
1.1.1.1 Kontrol Catatan getLaporanKe id_perusah Laporan
Transaksi Penjualan uangan aan
1.1.1.2 Catatan Kontrol laporan laporan
Keuangan Transaksi
1.1.1.3 Kontrol Tampilan tampilkanLap laporan
Transaksi Laporan oran
Keuangan
1.1.1.3. Tampilan Manager Tampilkan
1 Laporan Mitra Laporan
Keuangan Keuangan
2 Manager Tampilan Cetak
Mitra Laporan Laporan
Keuangan Keuangan
2.1 Tampilan Kontrol cetakLaporan
Laporan Transaksi
Keuangan
2.1.1 Kontrol Pencetak cetakLaporan laporan
Transakasi PDF
2.1.1.1 Pencetak Manager File PDF PDF
PDF Mitra Laporan Laporan
Keuangan Keuangan
[THR SD005]
Messag Object Asal Object Messages Data / Return Value
e Tujuan Parameter
Number
1 Administrator Menu Pilihan
utama penjadwalan
perjalanan
1.1 Menu utama Tampilan tampilkan
daftar
pelanggan
1.1.1 Tampilan Kontrol printPelangga
daftar jadwal nPenjadwalan
pelanggan
1.1.1.1 Kontrol Basis data getPelanggan pelanggan
jadwal Penjadwalan
1.1.1.3 Kontrol Tampilan tampilkan pelanggan
jadwal Daftar
Pelanggan
1.1.1.3. Tampilan Administrat Halaman
1 daftar or Daftar
pelanggan pelanggan
2 Pilihan Tampilan Pilihan
pelanggan daftar pelanggan
pelanggan
2.1 Tampilan Tampilan tampilkan id_pelangg
daftar daftar tiket an
pelanggan
2.1.1 Tampilan Kontrol getTiket id_pelangg tiket
daftar tiket jadwal an
2.1.1.1 Kontrol Basis data getTipePemes id_pelangg tipe_pemesan
jadwal anan an an
2.1.1.3 Kontrol Basis data getTiket id_pelangg tiket
jadwal an
2.1.3 Tampilan Administrat Daftar tiket
Daftar Tiket or
[THR SD006]
Messag Object Asal Object Messages Data / Return Value
e Tujuan Parameter
Number
1 Pelanggan Menu Memilih menu
utama jadwal
perjalanan
1.1 Menu utama Jawal tampilkan
perjalanan
1.1.1 Jadwal Kontrol cekJadwal id_pelangg
perjalanan transaksi an
1.1.1.1 Kontrol Catatan cekKetersedia id_pelangg boolean
transaksi jadwal an an
perjalanan
1.1.1.3 Kontrol Catatan getJadwal id_pelangg jadwal
transaksi jadwal an
perjalanan
1.1.1.5 Kontrol jadwal tampilkanJad jadwal
transaksi perjalanan wal
1.1.1.5. Jadwal Pelanggan tampilan
1 perjalaan jadwal
perjalanan
[ILMU SD007]
Messag Object Asal Object Messages Data / Return Value
e Tujuan Parameter
Number
1 Bagian Menu Edit Tampilkan Data Menampilkan
Keuangan laporan Layanan Menu edit
laporan
1.1 Menu Edit Bagian Tampilkan Data Menampilkan
laporan Keuangan Layanan menu edit
laporan
1.2 Menu edit Menu buat Tampilkan Pertanyaan
laporan neraca menu buat
neraca
1.2.1 Menu buat Bagian Menampilkan Data Menampilkan
Neraca Keuangan menu buat layanan menu buat
neraca neraca
1.2.2 Menu buat Buat jurnal Tampilkan Data Menampilkan
neraca penyesuaia menu buat layanan Menu buat
n jurnal jurnal
penyesuaian penyesuaian
1.2.2.1 Buat jurnal Bagian menu buat Data Menampilkan
penyesuaian Keuangan jurnal layanan menu buat
penyesuaian jurnal
penyesuaian
1.2.2.2 Buat Jurnal kontrol Update Jurnal Data Menampilkan
Penyesuaian update layanan menu update
jurnal jurnal
1.2.2.2. Kontrol Bagian Tampilkan Data Menampilkan
1 update jurnal Keuangan Update Jurnal layanan menu update
jurnal
2 Buat Jurnal Menyusun Tampilkan Data Menampilkan
penyesuaian neraca menu layanan menu
jalur menyusun menyusun
neraca jalur neraca jalur
3 Menyusun Menutup Tampilkan Data Menampilkan
neraca jalur Rekening pilihan menu layanan pilihan menu
tutup rekening tutup rekening
3.1 Menutup Bagian Menampilkan Data Menampilkan
Rekening keuangan menu tutup layanan menu tutup
rekening rekening
3.2 Menutup Laporan Tampilkan Data Menampilkan
rekening keuangan laporan layanan laporan
keuangan keuangan
3.2.1 Laporan Bagian Tampilkan Data Menampilkan
Keuangan Keuangan Laporan layanan laporan
keuangan keuangan
[Template]
NamaKelas
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
✔
Menu
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
✔
Pesanan Pelanggan
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
pesana string ✔
n
nomina double ✔
l
Method param Retu
rn
tambah pesana ✔
() n,statu
s,Nomi
nal
Update status ✔
Status
berikan tiket ✔
Konfirmasi Pembayaran
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
pesana string ✔
n
nomina double ✔
l
Method param Retu
rn
tambah pesana ✔
() n,statu
s,Nomi
nal
Update status ✔
Status
berikan tiket ✔
adminVerifikasiControl
Sifat
Attribut Tipe data Private Pu Protec
blic ted
buktiPe BLOB ✔
mbayar
an
melaku boolean
kanPerj
alanan
Method param Return
Kirim() bukti(p ✔
embay
aran
rekeningJalanSkuyEntitiy
Sifat
Pr Publi Protecte
Attribut Tipe data iv c d
at
e
Method param Retur
n
cekPe noPemba ✔
mbayar yaran
an
cekNo nominalP ✔
minal embayara
n
[SAD - SD002]
Login
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
Menu
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
pilihan String ✔
Method param Retu
rn
tampilk ✔
an
isi pilihan ✔
Booking control
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
kodebo String ✔
oking
Method param Retu
rn
buat kodebo ✔
oking
Cara pembayaran
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
Method param Retu
rn
tampilk ✔
an
booking control
Attribut Tipe data Sifat
Privat Publi Protecte
e c d
kodebo String ✔
oking
Method param Retu
rn
buat kodebo ✔
oking
[THR - SD003]
MenuUtama
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
Method para Retur
m n
TampilanFormulir
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
KontrolPertanyaan
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
id_pela String ✔
nggan
id_peg String ✔
awai
pertany String ✔
aan
jawaba String ✔
n
Method para Retur
m n
setPert String - ✔
anyaan
setJaw String - ✔
aan ,
String
,
String
jawabP String - ✔
ertanyy ,
an String
Notifikasi
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
Pelanggan
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
[THR - SD004]
MenuUtama
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
TampilanLaporanKeuangan
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
KontrolTransaksi
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
idPerus String ✔
ahaan
Lapora Laporan ✔
n
Method para Retur
m n
cekLap - - ✔
oranKe
uangan
cetakL - - ✔
aporan
cetakL Lapor - ✔
aporan an
PDF
CatatanPenjualan
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
PencetakPDF
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
[THR - SD005]
MenuUtama
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
TampilanDaftarPelanggan
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
✔
Method para Retur
m n
tampilk - - ✔
an
tampilk Pelan - ✔
an ggan[]
TampilanDaftarTiket
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
KontrolJadwal
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
TampilanPratinjau
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
[THR - SD006]
MenuUtama
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
JadwalPerjalanan
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
KontrolTransaksi
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
PencetakPDF
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
CatatanJadwal
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
PesanError
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
[ILMU - SD007]
NamaKelas
Sifat
Attribut Tipe data Privat Publi Protecte
e c d
✔
[FIKH]
Nama Kelas Atribut Tipe dan Key (Primary, Constraint Contoh
Entitas Panjang foreinkey) data
Data
Akun idPelanggan varchar(5) Primar Key not Null AZ001
Akun nama varchar(1 not Null Fikri
2) Hernanda
Akun alamat varchar not Null Pesona
Pesanan idPelanggan Varchar(5) Foreign Key not Null AZ001
Pesanan JadwalPerjalan Date ForeignKey not Null 2018/05/12
an
Pesanan tiket BLOB tiket
pesawat
tiketPesanan idTiket varchar(5) primary key not null AVKZ
tiketPesanan JadwalPerjalan Date 2018/05/12
an
KonfirmasiPe buktiPembayara BLOB not null
mbayaran n
KonfirmasiPe Waktu Date not null 2018/05/12
mbayaran 12:12:12
KonfirmasiPe noTransaksi Varchar(2 Primary key not null 092131AB
mbayaran 0)
[SAD - SD002]
Berdasarkan kelas yang di gambarkan tersebut detailkan tabel berikut ini dan pastikan bahwa
tipe data yang ditentukan sesuai dengan contoh data yang diberikan pada setiap atribut yang di
uraikan.
[SAD]
Nama Kelas Atribut Tipe dan Key (Primary, Constraint Contoh
Entitas Panjang foreinkey) data
Data
Akun usename varchar(1 Primary Key not Null irsad21
0)
Akun password varchar(1 Primary Key not Null 123456
0)
Akun nama varchar(3 not Null Muhamma
0) d Irsad
Akun alamat Varchar(5 Foreign Key not Null Jl.
0) sarangan
atas
Akun email Varchar(5 ForeignKey not Null muhamma
0) dirsad@gm
ail.com
CekDetailPe waktu DateTime not null 21.00
mesanan
CekDetailPe tempat varchar(5 not null Jakarta
mesanan 0)
CekDetailPe harga double not null Rp190.000
mesanan
CekDetailPe durasi varchar(1 not null 3 hari
mesanan 5)
CekDetailPe nama varchar(3 not null Muhamma
mesanan 0) d irsad
CekDetailPe alamat Varchar(5 not null Jl. mulu
mesanan 0) jadian kaga
CekDetailPe email varchar(5 not null muhamma
mesanan 0) dirsad@gm
ail.com
PesanLayana waktu DateTime not null 21.00
n
PesanLayana tempat varchar(5 not null Bandung
n 0)
PesanLayana harga double not null Rp250.000
n
PesanLayana durasi varchar(1 not null 27 Jam
n 5)
TiketPesanan kodebooking Varchar(1 Primary Key not null abc123defg
0)
[THR]
Pseudo-Code PC002
ID:
Pseudo-Code Mengecek kesesuaian nominal pembayaran
title:
Method Name: cekNominal()
Created By: Fikri Hernanda Last Updated By:
Date Created: 10/05/2018 Date Last
Updated:
Pseudo-Code PC0011
ID:
Pseudo-Code Meneruskan bukti pembayaran ke adminverifikasi kontrol
title:
Method Name: kirim()
Created By: Fikri Hernanda Last Updated By:
Date Created: 19/05/2018 Date Last
Updated:
Input BuktiPembayaran
Proses if(BuktiPembayaran == true){
return BuktiPembayaran
}
Output BuktiPembayaran
Pseudo-Code PC003
ID:
Pseudo-Code Update Jurnal
title:
Method Name: UpdateJurnal()
Created By: Ilham Maulana Last Updated By:
Ubaidillah
Date Created: 10/05/2018 Date Last
Updated:
Pseudo-Code PC004
ID:
Pseudo-Code Mengecek kevalidan Kode booking
title:
Method Name: cek(kodebooking)
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/2018 Date Last
Updated:
Pseudo-Code PC005
ID:
Pseudo-Code Mengecek kevalidan username dan password
title:
Method Name: cek(username, password)
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/2018 Date Last
Updated:
Pseudo-Code PC006
ID:
Pseudo-Code Mengecek ketersediaan detail pemesanan
title:
Method Name: cek(waktu, tempat, harga, durasi)
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/2018 Date Last
Updated:
Pseudo-Code PC007
ID:
Pseudo-Code Membuat kode booking
title:
Method Name: buat(kodebooking)
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/2018 Date Last
Updated:
Pseudo-Code PC008
ID:
Pseudo-Code Mencetak jadwal ke pencetak jadwal PDF
title:
Method Name: cetakJadwal
Created By: Thariq AL Astagis Last Updated By:
Date Created: 13/05/2018 Date Last
Updated:
Input Jadwal
Proses Tiket[] = Jadwal.getTiket()
for(i=0, i<tiket.length, i++) {
print Tiket[i];
}
Output Tampilan jadwal
Pseudo-Code PC009
ID:
Pseudo-Code Mencetak transaksi yang sesuai dengan manager yang login
title:
Method Name: cetakLaporan
Created By: Thariq AL Astagis Last Updated By:
Date Created: 13/05/2018 Date Last
Updated:
Input idPerusahaan
Proses transaksi[] = getLaporan(idPerusahaan)
for(i=0, i<tiket.length, i++) {
pirint transaksi[i];
}
Output Tampilan laporan keuangan
Pseudo-Code PC010
ID:
Pseudo-Code Menyimpan pertanyaan pelanggan
title:
Method Name: setPertanyaan
Created By: Thariq AL Astagis Last Updated By:
Date Created: 13/05/2018 Date Last
Updated:
Input idPerlanggan
Proses pertanyaan = pertanyaan
pelanggan = getPelanggan(idPelanggan)
pelanggan.pertanyaan = pertanyaan
Output pertanyaan user disimpan
UI-ID: UI001
UI-title: Menu Layanan
UI Function : Input
Created By: Fikri Hernanda Last Updated By:
Date Created: 10/05/18 Date Last
Updated:
UI-ID: UI004
UI-title: Login
UI Function : Input
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/18 Date Last
Updated:
UI-ID: UI005
UI-title: Pesan login gagal
UI Function : Input
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/18 Date Last
Updated:
UI-ID: UI006
UI-title: Menu Utama
UI Function : Input
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/18 Date Last
Updated:
UI-ID: UI007
UI-title: Masukkan kode booking
UI Function : Input
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/18 Date Last
Updated:
UI-ID: UI008
UI-title: Pesan kode booking salah
UI Function : Input
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/18 Date Last
Updated:
UI-ID: UI009
UI-title: Detail pemesanan fix
UI Function : Input
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/18 Date Last
Updated:
UI-ID: UI0010
UI-title: Isian detail pemesanan
UI Function : Input
Created By: Muhammad Irsad Last Updated By:
Date Created: 10/05/18 Date Last
Updated: