MANAJEMEN TRANSAKSI DALAM
SISTEM PENJUALAN KOMPUTER RAKITAN BERBASIS WEB (Studi Kasus Toko Komputer DATATEK, Yogyakarta)
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Oleh :
Johanes Taufan Sungkit NIM : 055314051
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
TRANSACTION MANAGEMENT ON
WEB BASED SELLING SYSTEM OFCOMPOSEDCOMPUTER (Case Study on DATATEK Computer Shop, Yogyakarta)
A THESIS
Presented as Partial Fulfillment of the Requirements To Obtain Sarjana Teknik Degree
In Informatics Engineering Department
By :
Johanes Taufan Sungkit 055314051
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
MOTTO
“SEGALA SESUATU DAPAT TERJADI JIKA KITA
MELAKUKANNYA DENGAN SUNGGUH-SUNGGUH DAN
TANPA PUTUS ASA”
INTISARI
Pencatatan data penjualan dan pembelian menjadi hal yang penting dalam
transaksi di toko komputer. Tulisan ini dibuat dengan tujuan untuk menciptakan
sistem penjualan komputer rakitan berbasis web dengan studi kasus toko
komputer DATATEK, Yogyakarta. Dengan dibangunnya sistem ini diharapkan
pencatatan data penjualan dan pembelian menjadi lebih akurat dan lebih cepat
sehingga data menjadi konsisten. Konsumen juga dapat melakukan pembelian
komputer secara on-line. Selain itu, sistem dapat menyajikan laporan penjualan
dan pembelian.
Sistem ini dirancang dengan pemodelan berorientasi obyek. Pencatatan
data di database menggunakan konsep manajemen transaksi dengan teknik Two
Phase Locking (2PL) untuk menjamin konsistensi data terhadap masalah the lost
update problem. Sistem ini dikembangkan dengan menggunakan teknologi JSP
dan teknologi basisdata MySQL.
Hasil akhir adalah sebuah sistem penjualan komputer rakitan berbasis web
yang berfungsi dengan baik serta mampu menangani transaksi secara bersamaan
dalam proses penjualan maupun pembelian. Manajemen transaksi pada sistem ini
dapat berfungsi dengan baik sehingga dapat mengatasi masalah the lost update
ABSTRACT
Register selling and purchasing data is an important thing in computer
shop transaction. This report is made with the purpose for creating web based
selling system of composed computer with case study in DATATEK computer
shop, Yogyakarta. By developing the system, register selling and purchasing data
will be more accurate and faster in order the data become consistent was expected.
Consumer can purchase computer by on-line. Besides that, system can show
selling and purchasing report.
The system has been developed using by object oriented modeling.
Register data in database uses management transaction concept with Two Phase
Locking (2PL) to guarantee that data is consistent toward the lost update problem.
It was developed with JSP technology and MySQL database technology.
The result is a web based selling system of composed computer which has
a well function and also has a capability to handle transaction simultaneously in a
selling and purchasing process. Transaction management in this system has a well
KATA PENGANTAR
Puji syukur ke hadirat Tuhan Yesus Kristus atas berkat dan limpahan kasih
karunia yang telah diberikan-Nya sehingga penulis dapat menyelesaikan skripsi
ini dengan judul :
“MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN
KOMPUTER RAKITAN BERBASIS WEB (Studi Kasus Toko Komputer
DATATEK, Yogyakarta)”.
Dorongan serta nasihat dari berbagai pihak sangat membantu sampai
tersusunnya skripsi ini. Untuk itu, saya ingin mengucapkan terima kasih kepada :
1. Orang tua saya Susiyanto Adjan, Cresensia Djap Tjhai Lie (Alma.) dan Djap
Tjhai Ngo yang telah memberi dukungan moral, spiritual dan finansial dalam
penyusunan skripsi.
2. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Ketua Jurusan Teknik
Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma
Yogyakarta.
4. Ibu Agnes Maria Polina, S.Kom.,M.Sc. selaku dosen pembimbing Skripsi.
Terima kasih telah membimbing dan menyediakan waktu dalam memberikan
pengarahan selama penulisan skripsi ini.
5. Kakak dan adikku, terima kasih atas dukungannya sehingga penulis dapat
menyelesaikan studi.
6. My Lovely Livie, terima kasih atas doa, bantuan, kasih sayang ,dan
perhatianmu. Semua itu yang menguatkan dan membuatku mampu bertahan
sampai sekarang.
7. Teman-teman kontrakan “Sun Rise” : Vicimus, Yuan, dan Roland terima
8. Teman-teman TI 05 : Tepan, Mas Goundrex, Tomi, Cahyo, April, Icha,
Kingkin, Ami, Ita, Niko dan teman-teman lain yang tidak dapat disebutkan
satu-persatu. Terima kasih atas persahabatannya selama ini.
9. Van Deventer-Maas Stichting (VDMS), terima kasih atas beasiswa yang telah
diberikan kepada penulis sehingga berguna dalam perjalanan studi penulis.
Dan semua teman-teman yang tidak dapat disebutkan satu-persatu.
PERNYATAAN KEASLIAN KARYA
Saya menyatakan sesungguhnya bahwa Tugas Akhir yang saya tulis ini tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan daftar pustaka, sebagaimana karya ilmiah.
Yogyakarta, 12 Agustus 2009
Penulis
DAFTAR ISI
HALAMAN JUDUL………....i
HALAMAN JUDUL………...ii
HALAMAN PERSETUJUAN PEMBIMBING……….iii
HALAMAN PENGESAHAN……….iv
MOTTO ... v
INTISARI ... vi
ABSTRACT ... vii
KATA PENGANTAR ... viii
PERNYATAAN KEASLIAN KARYA ... x
LEMBAR PERNYATAAN ... xi
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xv
DAFTAR LISTING PROGRAM ... xix
DAFTAR TABEL... xix
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Batasan Masalah ... 2
1.3 Tujuan dan Manfaat Penelitian ... 3
1.4 Rumusan Masalah ... 3
1.5 Metodologi Penelitian ... 4
1.6 Sistematika Penulisan ... 5
BAB II LANDASAN TEORI ... 7
2.1 Manajemen Transaksi ... 7
2.1.1 Locking Methods (Metode-metode penguncian) ... 9
2.1.2 Two Phase Locking (2PL) ... 11
2.2 Use Case Diagram ... 12
2.4 Class Diagram ... 17
2.4.1 Class Diagram Analisis ... 17
2.4.2 Class Diagram Desain ... 17
2.5 Sequence Diagram ... 18
2.6 Java ... 19
2.6.1 Java 2 Platform Enterprise Edition (J2EE) ... 19
2.6.2 JSP(Java Server Pages) ... 20
2.7 SQL (Structured Query Language) ... 21
BAB III ANALISA DAN PERANCANGAN SISTEM ... 25
3.1 Sistem yang Ada Saat Ini ... 25
3.2 Sistem yang Akan Dibangun ... 25
3.3 Diagram Konteks ... 26
3.4 Diagram Use case ... 26
3.4.1 Ringkasan Use case ... 29
3.4.2 Narasi Use-case ... 31
3.5 Diagram Activity ... 60
3.6 Diagram Class ... 78
3.7 Diagram Sequence ... 79
3.8 Diagram Class Desain (lampiran) ... 104
3.9 Desain Fisikal Tabel ... 104
3.10 Daftar Stored Procedure ... 107
3.11 Desain Manajemen Transaksi ... 112
3.12 Desain Teknologi ... 116
3.13 Desain Input ... 117
3.13.1 Desain input Pegawai ... 117
3.13.2 Desain input Pembeli ... 126
3.14 Desain Output ... 128
3.14.1 Desain output Pegawai ... 128
3.14.2 Desain output Pembeli ... 141
BAB IV IMPLEMENTASI SISTEM ... 146
4.1 Implementasi halaman user ... 146
4.2 Implementasi halaman admin ... 156
BAB V ANALISA HASIL ... 202
BAB VI PENUTUP ... 213
6.1 Kesimpulan ... 213
6.2 Saran ... 214 DAFTAR PUSTAKA
DAFTAR GAMBAR
Keterangan Halaman
Gambar 2.1 Simbol Use Case 12
Gambar 2.2 Simbol Aktor 12
Gambar 2.3 Activity diagram poin 1 sampai 5 14 Gambar 2.4 Activity diagram poin 6 sampai 8 15 Gambar 2.5 Activity diagram poin 9 dan 10 16
Gambar 2.6 Sequence Diagram 18
Gambar 2.7 Arsitektur J2EE 20
Gambar 2.8 Arsitektur JSP 21
Gambar 3.1 Diagram Konteks 26
Gambar 3.2 Diagram Use-Case 27
Gambar 3.3 Diagram Activity Log in 59
Gambar 3.4 Diagram Activity Log out 59
Gambar 3.5 Diagram Activity Merakit Komputer 60 Gambar 3.6 Diagram Activity Mengisi Data Pembelian 60 Gambar 3.7 Diagram Activity Mengubah Data Pembelian 61 Gambar 3.8 Diagram Activity Menghapus Data Pembelian 61 Gambar 3.9 Diagram Activity Mengubah Status Penjualan 62 Gambar 3.10 Diagram Activity Menghapus Data Penjualan 63 Gambar 3.11 Diagram Activity Mengisi Komentar 64 Gambar 3.12 Diagram Activity Menjawab Komentar 65 Gambar 3.13 Diagram Activity Menghapus Komentar 66 Gambar 3.14 Diagram Activity Mengisi Berita 67 Gambar 3.15 Diagram Activity Mengubah Berita 68 Gambar 3.16 Diagram Activity Menghapus Berita 69 Gambar 3.17 Diagram Activity Mengisi Data Barang 70 Gambar 3.18 Diagram Activity Mengubah Data Barang 71 Gambar 3.19 Diagram Activity Menghapus Data Barang 72 Gambar 3.20 Diagram Activity Mencari Data Barang 72 Gambar 3.21 Diagram Activity Cetak Laporan 73 Gambar 3.22 Diagram Activity Membuat Account Baru 74 Gambar 3.23 Diagram Activity Menghapus Account 75 Gambar 3.24 Diagram Activity Mencatat Retur Barang 75
Gambar 3.25 Diagram class sistem 76
Gambar 3.26 Diagram sequence Log in 87
Keterangan Halaman Gambar 3.28 Diagram sequence Merakit computer 88
Gambar 3.29 Diagram sequence Mengisi data pembelian 89 Gambar 3.30 Diagram sequence Mengubah data pembelian 89 Gambar 3.31 Diagram sequence Menghapus data pembelian 90 Gambar 3.32 Diagram sequence Mengubah status penjualan 91 Gambar 3.33 Diagram sequence Menghapus data penjualan 92 Gambar 3.34 Diagram sequence Mengisi komentar 93 Gambar 3.35 Diagram sequence Menjawab komentar 93 Gambar 3.36 Diagram sequence Menghapus komentar 94 Gambar 3.37 Diagram Sequence Mengisi berita 94 Gambar 3.38 Diagram Sequence Mengubah berita 95 Gambar 3.39 Diagram Sequence Menghapus berita 95 Gambar 3.40 Diagram sequence Mengisi Data Barang 96 Gambar 3.41 Diagram Sequence Mengubah data barang 96 Gambar 3.42 Diagram Sequence Menghapus data barang 97 Gambar 3.43 Diagram Sequence Mencari data barang 97 Gambar 3.44 Diagram Sequence Cetak laporan 98 Gambar 3.45 Diagram Sequence Membuat account baru 99 Gambar 3.46 Sequence Diagram Menghapus account 99 Gambar 3.47 Diagram Sequence Mencatat retur barang 100 Gambar 3.48 Flowchart manajemen transaksi pembelian 113 Gambar 3.49 Flowchart manajemen transaksi penjualan 115
Gambar 3.50 Arsitektur Three Tier 116
Keterangan Halaman Gambar 3.65 Desain output halaman hapus data barang 131
Gambar 3.66 Desain output halaman cetak laporan penjualan 132 Gambar 3.67 Desain output halaman cetak laporan pembelian 133 Gambar 3.68 Desain output halaman cetak nota 134 Gambar 3.69 Desain output halaman catat retur penjualan 135 Gambar 3.70 Desain output halaman menu berita 136 Gambar 3.71 Desain output halaman hapus berita 137 Gambar 3.72 Desain output halaman menu komentar 138 Gambar 3.73 Desain output halaman hapus komentar 139 Gambar 3.74 Desain output halaman menu account 140 Gambar 3.75 Desain output halaman hapus account 141 Gambar 3.76 Desain output halaman utama Pembeli 142 Gambar 3.77 Desain output halaman cetak transaksi 143 Gambar 3.78 Desain output halaman berita 144 Gambar 3.79 Desain output halaman menu contact 145
Gambar 4.1 Halaman utama user 147
Gambar 4.2 Halaman belanja user 148
Gambar 4.3 Halaman detail belanja user 152
Gambar 4.4 Halaman berita 153
Gambar 4.5 Halaman komentar 154
Gambar 4.6 Halaman contact us 155
Gambar 4.7 Halaman cari produk 156
Gambar 4.8 Halaman login 157
Gambar 4.9 Halaman utama admin 160
Gambar 4.10 Halaman penjualan 161
Gambar 4.11 Halaman daftar retur 162
Gambar 4.12 Halaman ubah data penjualan 163 Gambar 4.13 Halaman detail penjualan 164 Gambar 4.14 Halaman retur penjualan 165
Gambar 4.15 Halaman cetak nota 166
Gambar 4.16 Halaman pembelian 170
Gambar 4.17 Halaman tambah pembelian 171 Gambar 4.18 Halaman ubah data pembelian 175
Gambar 4.19 Halaman cetak laporan 179
Keterangan Halaman
Gambar 4.23 Halaman berita 186
Gambar 4.24 Halaman tambah berita 187
Gambar 4.25 Halaman ubah berita 188
Gambar 4.26 Halaman upload foto berita 189
Gambar 4.27 Halaman komentar 190
Gambar 4.28 Halaman jawab komentar 191
Gambar 4.29 Halaman admin 192
Gambar 4.30 Halaman tambah admin 193
Gambar 5.1 Hasil pemasukan data processor Intel Core 2 Duo E7300 203 Gambar 5.2 Halaman pemesanan user 1 204 Gambar 5.3 Halaman pemesanan user 2 205 Gambar 5.4 Halaman detail pemesanan user 1 206 Gambar 5.5 Halaman detail pemesanan user 2 206 Gambar 5.6 Stok produk processor Intel Core 2 Duo setelah
pemesanan oleh 2 user secara bersamaan
207
Gambar 5.7 Data sampel harddisk Fujitsu MHZ 208 Gambar 5.8 Halaman pengisian data pembelian yang dilakukan oleh
user 1
209
Gambar 5.9 Halaman pengisian data pembelian yang dilakukan oleh user 2
210
Gambar 5.10 Halaman detail pembelian barang user 1 211 Gambar 5.11 Halaman detail pembelian barang user 2 211 Gambar 5.12 Stok harddisk Fujitsu MHZ setelah dilakukan
pencatatan pembelian secara bersamaan oleh user 1 dan user 2
DAFTAR LISTING PROGRAM
Keterangan Halaman Listing 4.1 Kelas ServletPenjualanTambah.java 149
Listing 4.2 Kelas ServletLogin.java 158
Listing 4.3 Kelas ServletCetakLaporan.java 166 Listing 4.4 Kelas ServletPembelianTambah.java 172
Listing 4.5 Method insertPembelian 174
Listing 4.6 Kelas ServletPembelianUbah.java 176 Listing 4.7 Kelas ServletPembelianHapus.java 177 Listing 4.8 Kelas ServletUploadBarangFoto.java 182 Listing 4.9 Stored procedure untuk penambahan data pembelian 195 Listing 4.10 Stored procedure untuk penambahan data penjualan 199
DAFTAR TABEL
Keterangan Halaman
Tabel 3.1 Ringkasan Use-Case 28
Tabel 3.2 Narasi Use-case Log in 30
Tabel 3.3 Narasi Use-case Log out 32
Keterangan Halaman Tabel 3.22 Narasi Use-case Menghapus account 56 Tabel 3.23 Narasi Use-case Mencatat retur barang 57 Tabel 3.24 Desain fisikal tabel admin 100 Tabel 3.25 Desain fisikal tabel barang 100 Tabel 3.26 Desain fisikal untuk tabel berita 101 Tabel 3.27 Desain fisikal untuk tabel jenis barang 102 Tabel 3.28 Desain fisikal untuk tabel komentar 102 Tabel 3.29 Desain fisikal untuk tabel pembeli 103 Tabel 3.30 Desain fisikal untuk tabel pembelian 103 Tabel 3.31 Desain fisikal untuk tabel pembelian_barang 103 Tabel 3.32 Desain fisikal untuk tabel penjualan 104 Tabel 3.33 Desain fisikal untuk tabel penjualan_barang 104 Tabel 3.34 Desain fisikal untuk tabel penjualan_retur 105 Tabel 3.35 Desain fisikal untuk tabel returpenjualan 105 Tabel 3.36 Daftar seluruh store procedure yang digunakan dalam sistem 107
Tabel 3.37 daftar stored procedure yang terkait dengan manajemen transaksi
110
BAB I
PENDAHULUAN
1.1Latar Belakang
Kebutuhan akan informasi pada saat ini sangat dibutuhkan.
Informasi yang diberikan harus cepat, tepat dan akurat. Dengan kemajuan
teknologi sekarang, informasi disajikan dalam berbagai macam perangkat
lunak (software). Peralihan sistem dari yang bersifat manual ke otomatis
mulai dilakukan oleh berbagai instansi, baik instansi pemerintahan
maupun instansi swasta. Pada instansi yang bergerak di bidang
perdagangan seperti toko komputer, sistem yang mengalami peralihan
adalah sistem transaksi dan sistem inventori.
Dalam setiap transaksi di toko komputer, pencatatan akan
penjualan barang dan pembelian merupakan hal yang penting untuk
dilakukan. Dengan adanya pencatatan ini toko komputer dapat mengetahui
keuntungan yang diperoleh ataupun kerugian yang dialami. Pencatatan
akan barang masuk dan barang keluar juga berguna untuk dilakukannya
pengecekan stok barang. Pengecekan stok ini dapat membantu untuk
melakukan keputusan penambahan ataupun pengurangan pemesanan
barang. Kegiatan-kegiatan tersebut harus dilakukan secara rutin dan
informasi yang dihasilkan harus sesuai dengan keadaan sebenarnya. Selain
barang-barang yang dijual secara detail. Informasi ini dibutuhkan oleh pembeli
untuk melakukan pembelian.
Pada transaksi pembelian, masalah muncul saat transaksi dilakukan
secara bersamaan. Pencatatan transaksi ini akan mengalami kesalahan jika
kedua transaksi mengakses dan melakukan perubahan terhadap data yang
sama. Hal ini dapat mengakibatkan data barang yang ter-update menjadi
hilang, pembacaan terhadap data salah, dan tidak konsistennya analisa
terhadap data.
Untuk meningkatkan kinerja toko komputer, maka perlu dibangun
sebuah sistem yang mampu untuk melakukan kegiatan transaksi dan
inventori barang pada toko komputer. Pada kegiatan transaksi pembelian
diperlukan manajemen transaksi untuk mengurangi kesalahan pencatatan
data pada saat transaksi berlangsung secara bersamaan.
1.2Batasan Masalah
Sistem yang dibangun mempunyai batasan sebagai berikut :
1. Dalam manajemen transaksi, sistem menangani masalah the lost
update problem dengan menggunakan Two Phase Locking (2PL).
2. Sistem dapat melakukan transaksi penjualan (pencatatan barang keluar,
retur penjualan, laporan penjualan) dan transaksi pembelian
(pencatatan barang masuk, laporan pembelian).
4. Sistem dibangun menggunakan bahasa pemrograman Java dengan
database MySQL Server 5.0.
1.3Tujuan dan Manfaat Penelitian
Tujuan dari pembuatan sistem adalah :
1. Terbentuknya Sistem Penjualan Komputer Rakitan Berbasis Web yang
diharapkan dapat diaplikasikan secara nyata di toko komputer sehingga
dapat meningkatkan kinerja toko komputer.
2. Adanya manajemen transaksi yang baik dalam Sistem Informasi
Penjualan Komputer Rakitan Berbasis Web.
Manfaat dari pembuatan sistem adalah :
1. Mempermudah pengguna untuk melakukan transaksi pembelian
dengan mengakses website.
2. Menghindari terjadinya kesalahan pencatatan data jika terjadi transaksi
secara bersamaan.
1.4Rumusan Masalah
Dari latar belakang yang telah dikemukakan, maka rumusan
masalah yang dapat diambil adalah :
1. Bagaimana membangun aplikasi sistem penjualan komputer berbasis
2. Bagaimana sistem mengatasi masalah the lost update problem pada
saat transaksi yang dilakukan bersamaan oleh user?
1.5Metodologi Penelitian
Metodologi yang digunakan untuk mengembangkan sistem ini
adalah studi kasus (case study) yang mempunyai beberapa tahapan, yaitu :
1. Wawancara
Wawancara dilakukan dengan pemilik toko komputer DATATEK
untuk mengetahui proses bisnis yang terjadi di toko tersebut dan
mengumpulkan materi-materi yang diperlukan untuk pembuatan
aplikasi.
2. Studi Pustaka
Studi Pustaka dilakukan untuk mendalami teori mengenai analisis,
perancangan dan pembuatan sistem.
3. Pembuatan Sistem Penjualan Komputer Rakitan Berbasis Web, dengan
tahap :
a. Analisis dan Perancangan Sistem
Analisis dan Perancangan Sistem menggunakan pemodelan
berorientasi obyek (object-oriented modeling). Pemodelan
dilakukan dengan menggunakan UML(Unified Modeling
Language) meliputi diagram Use Case, diagram Class, diagram
Sequence, dan diagram Activity.
Pembuatan aplikasi sistem menggunakan software Netbeans 6.5
untuk interface dan pengolahan data dan MySQL Server 5.0
sebagai software untuk database.
c. Pengujian Sistem
Aplikasi sistem yang telah selesai dibuat akan diujikan. Pengujian
dilakukan oleh penulis (pengujian tingkat alpha).
1.6Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, batasan masalah,
tujuan dan manfaat penelitian, rumusan masalah, metodologi
penelitian yang digunakan serta sistematika isi penulisan laporan.
BAB II LANDASAN TEORI
Bab ini berisi tentang dasar teori yang mana akan digunakan untuk
pembahasan dalam penulisan laporan tugas akhir ini.
BAB III ANALISA DAN PERANCANGAN SISTEM
Bab ini berisi tentang cara penerapan konsep dasar yang telah
diuraikan pada bab sebelumnya untuk menganalisa dan merancang
BAB IV IMPLEMENTASI SISTEM
Bab ini akan berisi tentang implementasi sistem dari perancangan
yang telah dibuat.
BAB V ANALISA HASIL
Bab ini berisi analisa hasil yang terdiri dari kelebihan dan kelemahan
sistem yang dibuat.
BAB VI PENUTUP
Bab ini berisi tentang kesimpulan dan saran dari penulisan laporan
BAB II
LANDASAN TEORI
2.1Manajemen Transaksi
Transaksi merupakan kegiatan atau sekumpulan kegiatan yang
dilakukan oleh seorang pengguna atau program aplikasi yang membaca atau
mengubah konten pada basis data. Transaksi mempunyai sifat yang disebut
ACID, yaitu (Haerder dan Reuter, 1983):
a. Atomicity, di mana sebuah transaksi merupakan sebuah unit yang tidak
dapat dibagi yang dilakukan secara keseluruhan atau tidak sama sekali.
b. Consistency, di mana sebuah transaksi dapat mengubah basis data dari
suatu keadaan konsisten ke keadaan konsisten lainnya.
c. Isolation, di mana transaksi dijalankan secara bebas. Dengan kata lain, jika
terjadi transaksi yang tidak selesai, maka transaksi lain tidak akan
terpengaruh.
d. Durability, di mana transaksi dapat tercatat secara permanen dalam basis
data dan tidak hilang karena kesalahan pada transaksi berikutnya.
Untuk menciptakan transaksi yang menciptakan hasil yang sesuai dan
dapat meningkatkan integritas dan konsistensi basis data, maka dibutuhkan
concurrency control. Concurrency control merupakan proses mengatur
mengganggu transaksi satu sama lain. Masalah yang dapat terjadi jika tidak
ada kontrol terhadap concurrency :
a. The lost update problem
Merupakan masalah yang terjadi jika data transaksi yang telah
di-update tidak diakses oleh transaksi yang lainnya. Misalnya transaksi A
melakukan perubahan pada data A. Kemudian transaksi B mengakses
data A sebelum diubah transaksi A dan kemudian melakukan perubahan
terhadap data A tersebut. Maka yang tercatat hanya perubahan data yang
dilakukan oleh transaksi B.
b. The uncommitted dependency (dirty read) problem
Masalah ini terjadi jika suatu transaksi melakukan perubahan data.
Kemudian data tersebut digunakan oleh transaksi lainnya, meskipun
transaksi yang melakukan perubahan data tersebut membatalkan
perubahan data yang dilakukan. Misalnya transaksi A mengubah data A
dan data tersebut digunakan transaksi B untuk melakukan perubahan
terhadap data A. Kemudian transaksi A membatalkan seluruh kegiatan
transaksinya, maka data A menjadi tidak akurat.
c. The inconsistent analysis problem
Masalah ini disebabkan oleh dua transaksi yang mengakses
sumber yang sama pada waktu yang bersamaan. Transaksi yang pertama
melakukan perubahan terhadap data, kemudian transaksi lainnya
menggunakan data yang belum diubah untuk menganalisa data lainnya.
perubahan pada data B berdasarkan data A yang belum mengalami
perubahan yang dilakukan oleh transaksi A. Ini menyebabkan data B
menjadi data yang tidak konsisten.
2.1.1 Locking Methods (Metode-metode penguncian)
Locking adalah suatu prosedur yang digunakan untuk
mengendalikan akses bersamaan pada suatu data. Saat sebuah
transaksi mengakses basisdata, suatu kunci (lock) boleh menolak
akses dari transaksi lain untuk mencegah hasil yang tidak benar. Sifat
dasar locking pada sebuah transaksi adalah transaksi harus dinyatakan
sebagai shared untuk proses baca (read) dan sepenuhnya terkunci
untuk proses tulis (write). Aturan pada locking adalah :
1. Shared lock yaitu jika suatu transaksi memiliki suatu shared lock
pada item datanya, maka data tersebut dapat dibaca namun tidak
dapat diubah.
2. Exclusive lock yaitu jika suatu transaksi memiliki suatu exclusive
lock pada item datanya, maka data tersebut dapat dibaca dan
dapat diubah.
Karena operasi baca tidak menimbulkan konflik, maka diijinkan
lebih dari 1 transaksi untuk melakukan lock bersama secara serentak
pada saat yang bersamaan. Sedangkan pada exclusive lock jika suatu
ada transaksi-transaksi lain dapat membaca atau mengubah item data
tersebut. Locks dapat dilakukan dengan cara sebagai berikut :
1. Setiap transaksi perlu mengakses suatu item data maka
pertama-tama ia harus meminta shared lock untuk akses baca saja atau
exclusive lock untuk akses baca dan tulis.
2. Jika item data tersebut belum dikunci oleh transaksi lain, maka lock
akan diberikan.
3. Jika item data tersebut sedang dikunci, DBMS akan menentukan
apakah permintaan tersebut cocok atau sesuai dengan kondisi
lock yang sedang aktif. Jika shared lock diminta pada saat suatu
item data tersebut sedang dalam kondisi shared lock, maka
permintaan shared lock akan diberikan. Sebaliknya jika tidak,
transaksi tersebut harus menunggu (waiting) sampai lock yang
sedang aktif dilepaskan atau dibuka.
4. Sebuah transaksi melakukan lock sampai dilepaskan pada saat
eksekusi atau saat operasi transaksi berakhir (abort atau commit).
Efek dari perubahan data dapat dilihat oleh transaksi lain hanya
pada saat exclusive lock telah dilepaskan.
Sebagai tambahan dari peraturan tersebut, beberapa sistem
mengijinkan untuk :
1. Upgrade the lock (meningkatkan penguncian) yaitu dari shared
2. Downgrade the lock (menurunkan penguncian) yaitu dari exclusive
lock ke shared lock.
2.1.2 Two Phase Locking (2PL)
Sebuah Transaksi menerapkan protokol 2PL jika semua operasi
locking mendahului operasi yang tak terkunci (unlock) dalam
transaksi tersebut. Menurut aturan tersebut, setiap transaksi dapat
dibagi mejadi 2 fase, yaitu :
1. Growing phase : memperoleh semua locks yang dibutuhkan tetapi
tidak dapat melepaskan satu locks pun.
2. Shrinking phase : melepaskan semua locks yang dimiliki tetapi
tidak dapat memperoleh locks yang baru.
Peraturan yang ditetapkan adalah sebagai berikut :
1. Sebuah transaksi harus memperoleh suatu lock pada suatu item
data, sebelum melakukan operasi terhadap data tersebut. Macam
lock dapat untuk read atau write tergantung kebutuhan.
2. Sekali transaksi tersebut melepaskan suatu lock, maka transaksi
tersebut tidak pernah bisa mendapatkan sejumlah lock baru yang
2.2Use Case Diagram
Diagram use case adalah sebuah diagram yang menggambarkan
interaksi antara sistem, eksternal sistem dan user. Secara grafis
menggambarkan siapa yang akan menggunakan sistem dan dengan cara
bagaimana user berinteraksi dengan sistem. Use case sendiri merupakan
bagian dari keseluruhan sistem yang digambarkan dalam bentuk elips
horisontal. Nama use case sendiri tertera di atas, di bawah atau di dalam
elips. Gambar 2.1 di bawah ini merupakan simbol use case :
Gambar 2.1 Simbol Use Case
Aktor merupakan segala sesuatu yg perlu berinteraksi dengan sistem
untuk mendapat/ mengubah informasi. Aktor dapat berupa orang, organisasi,
sistem informasi yang lain, piranti luar (external device) atau waktu kejadian.
Gambar 2.2 di bawah ini merupakan simbol aktor :
2.3Activity Diagram
Merupakan diagram yang digunakan untuk menggambarkan aliran
sebuah proses bisnis, sebuah langkah dalam use case atau logika dari sifat
objek. Notasi-notasi yang digunakan pada diagram ini antara lain:
1. Initial node : berbentuk lingkaran berwarna hitam yang menggambarkan
dimulainya suatu proses.
2. Actions : berbentuk segi empat yang sisinya melengkung. Notasi ini
menggambarkan langkah-langkah yang dilakukan secara berurutan untuk
membentuk kegiatan secara keseluruhan.
3. Flow : disimbolkan dengan anak panah yang mengindikasikan pergerakan
pada setiap kegiatan. Umumnya flow tidak diberi keterangan kecuali
digambarkan keluar dari decisions.
4. Decision : disimbolkan dengan diamond dengan satu flow yang masuk dan
dua atau lebih flow yang keluar. Flow yang keluar ditandai dengan suatu
kondisi.
5. Merge : disimbolkan dengan diamond dengan dua atau lebih flow yang
masuk dan satu flow yang keluar.
6. Fork : disimbolkan dengan bar hitam yang memiliki satu flow yang masuk
dan dua atau lebih flow yang keluar.
7. Join : disimbolkan dengan bar hitam yang memiliki dua atau lebih flow
yang masuk dan satu flow yang keluar. Semua actions yang masuk ke join
8. Activity final : digambarkan dengan lingkaran hitam yang berada di dalam
lingkaran putih. Simbol ini menandakan akhir dari sebuah proses.
9. Subactivity indicator : simbol dalam aksi ini menandakan bahwa aksi
dipecah menjadi diagram aktivitas yang terpisah. Hal ini untuk membantu
agar diagram aktivitas tidak menjadi kompleks.
10.Connector : merupakan huruf di dalam lingkaran yang membantu untuk
mengatur kompleksitas. Alur masuk ke dalam konektor akan melompat
ke alur keluar dengan huruf yang sesuai.
Gambar 2.3, 2.4 dan 2.5 berikut merupakan gambar dari notasi-notasi
yang telah dijelaskan sebelumnya.
2.4Class Diagram
2.4.1 Class Diagram Analisis
Class diagram analisis merupakan gambaran grafis dari
struktur obyek statis sistem. Class diagram ini menunjukkan
kelas-kelas obyek yang menyusun sistem serta relasi diantara kelas-kelas-kelas-kelas
obyek. Obyek pada class diagram ini dapat disimpan dalam dua 2
kelas, yaitu:
¾ Kelas Persisten adalah sebuah kelas yang mendeskripsikan
obyek yang akan tetap ada meskipun eksekusi program sudah
selesai dengan kata lain obyek tersebut disimpan secara
permanen di dalam basis data.
¾ Kelas obyek Transien adalah sebuah kelas yang
mendeskripsikan obyek yang dibuat secara temporer dan hanya
dikenali selama program dieksekusi.
2.4.2 Class Diagram Desain
Class diagram desain merupakan sebuah diagram yang
menggambarkan kelas-kelas yang berhubungan dengan komponen
software yang digunakan untuk membangun aplikasi software.
Diagram kelas ini berisi:
a.Kelas.
b. Relasi asosiasi, generalization/specialization, dan agregasi.
d. Metode dengan parameter.
e.Navigability.
f.Ketergantungan (dependensi).
2.5Sequence Diagram
Sequence diagram merupakan diagram UML yang memodelkan logika
dari use case dengan menggambarkan interaksi pesan-pesan antara obyek
dalam urutan waktu. Sequence diagram terdiri-dari beberapa bagian seperti
yang terlihat pada Gambar 2.6.
Gambar 2.6 Sequence Diagram
Keterangan Gambar:
1. Actor
2. Interface class
3. Controller class
5. Messages
6. Activation bars
7. Return messages
8. Self-call
9. Frame
2.6Java
Java merupakan suatu bahasa pemrograman yang bersifat
object-oriented, multi platform dan aman. Object-oriented merupakan suatu metode
pengembangan perangkat lunak di mana sebuah program merupakan
sekelompok objek yang bekerja bersama. Multi platform berarti dapat
dijalankan di berbagai macam sistem operasi jika mempunyai interpreter Java
yang dapat membaca bytecode.
2.6.1 Java 2 Platform Enterprise Edition (J2EE)
J2EE merupakan ekstensi dari J2SE(Java 2 Platform Standard
Edition) yang membuat Java Enterprise API dapat berfungsi dan dapat
diakses dengan cara diintegrasikan. J2EE digunakan untuk
membangun aplikasi enterprise berskala besar dan mempunyai
Gambar 2.7 Arsitektur J2EE
2.6.2 JSP(Java Server Pages)
JSP merupakan salah satu komponen J2EE yang digunakan
dalam pemrograman web sebagai penghubung antara HTML dan Java.
JSP menggunakan HTTP sebagai protokol untuk melakukan
komunikasi seperti meminta ke server dan merespon ke client. Hal ini
yang membuat JSP menjadi teknologi Web yang ideal untuk
digunakan.
Dalam arsitekturnya, JSP bergantung pada Java Servlet API
dan implementasi. Walaupun JSP ditulis oleh pembangun aplikasi,
tetapi pada akhirnya akan dikonversi ke Java Servlet. Implementasi
kelas pada JSP sebenarnya mendasari representasi servlet pada JSP.
Pembangun aplikasi dapat membuat komponen-komponen JSP
menggunakan element yang sesuai untuk penyajian seperti HTML,
XML, perintah-perintah JSP dan bahasa lainnya. Keuntungan yang
teknologi tersebut dilihat secara umum sebagai komponen Web dalam
J2EE yang merupakan mekanisme untuk konfigurasi dan manajemen
layanan. Gambar 2.8 beikut merupakan arsitektur JSP.
Gambar 2.8 Arsitektur JSP
2.7 SQL (Structured Query Language)
SQL merupakan suatu bahasa yang digunakan untuk mengakses basis
data. SQL dapat digunakan untuk menjelaskan struktur dari suatu data,
modifikasi data pada basis data dan menetapkan batasan keamanan. SQL
mempunyai terbagi atas beberapa bagian, yaitu :
a. Data-Definition Language(DDL) yang menyediakan perintah untuk
menjelaskan relasi, menghapus relasi dan memodifikasi relasi. DDL
1. CREATE nama_objek
2. ALTER nama_objek
3. DROP nama_objek
b. Data-Manipulation Language (DML) yang merupakan bahasa query
berbasis relational algebra dan tuple relational calculus. DML
menyediakan perintah-perintah seperti :
1. SELECT
Digunakan untuk membaca data dari basis data. Bentuk umum
perintah ini adalah :
SELECT * | {[DISTINCT|DISTINCTROW] column |
expression[alias], …}
FROM table
[WHERE condition(s)] [GROUP BY condition(s)] [HAVING
condition(s)]
[ORDER BY condition(s) [ASC|DEC]]
2. INSERT
Digunakan untuk menambahkan satu atau lebih data dari basis data.
INSERT INTO table (column1, column2, [columnN]) VALUES
(value1, value2, [valueN])
3. UPDATE
Digunakan untuk mengubah data pada satu atau lebih baris data pada
tabel. Bentuk umum perintah ini adalah :
UPDATE table SET column1 = value1, column2 = value2,
[columnN = valueN] [WHERE id_column = value]
4. DELETE
Digunakan untuk menghapus satu atau lebih data dari suatu tabel.
Bentuk umum perintah ini adalah :
DELETE FROM tablename [where field1 = value1 [AND | OR]
field2 = value2 [AND | OR] fieldN = valueN]
c. View-Definition yang merupakan bagian dari DDL yang menyediakan
perintah view untuk melihat data dari satu tabel atau lebih.
d. Transaction control yang menyediakan perintah untuk memulai dan
mengakhiri transaksi.
e. Embedded SQL yang menjelaskan di mana perintah SQL dapat
diintegrasikan ke dalam bahasa pemrograman seperti C, C++, Java, Cobol,
f. Integrity yang merupakan bagian dari DDL yang menyediakan perintah
untuk menspesifikasi integritas data yang masuk ke basis data.
g. Authorization yang merupakan bagian dari DDL yang menyediakan
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1Sistem yang Ada Saat Ini
Ketika pembeli ingin membeli barang komputer, maka pembeli akan
langsung ke toko komputer untuk merakit komputer. Perakitan komputer
dapat dilakukan oleh pembeli ataupun penjual. Setelah melakukan perakitan,
maka penjual akan memberikan nota sebagai bukti transaksi. Proses ini
kemudian dilanjutkan dengan pembayaran. Penjual kemudian mencatat
proses penjualan ke buku penjualan. Toko juga dapat membantu pembeli
untuk melakukan retur barang selama masa garansi masih berlaku. Rekap
laporan penjualan dilakukan 1 minggu sekali.
Pada proses pembelian barang, nota pembelian yang diperoleh dari
distributor akan dicatat ke dalam buku pembelian. Kemudian dari buku
pembelian, akan dicatat stok barang yang bertambah sesuai dengan
pembelian yang dilakukan. Rekap laporan pembelian dilakukan 1 minggu
sekali.
3.2Sistem yang Akan Dibangun
Sistem akan melakukan proses bisnis dari toko secara komputerisasi
meliputi pencatatan pembelian, penjualan, retur penjualan dan pencetakan
laporan. Sistem dibangun dengan berbasis website. Sistem juga akan
melalui website. Setelah itu pembeli dapat mengambil barang dan melakukan
pembayaran ke toko.
Selain membantu proses bisnis, pembeli atau pengunjung website juga
dapat berinteraksi dengan penjual dengan memberi komentar atau
pertanyaan. Pembeli atau pengunjung website juga dapat memperoleh berita
terbaru seputar komputer.
3.3Diagram Konteks
Gambar 3.1 berikut merupakan diagram konteks sistem.
Gambar 3.1 Diagram Konteks
3.4Diagram Use case
Pegawai Pemilik Pembeli Log in Merakit Komputer Subsistem Komentar Mengisi komentar Menjawab komentar Menghapus komentar Subsistem Data Barang Mengisi data barang Mengubah data barang Menghapus data barang Subsistem Berita Mengisi berita Mengubah berita Menghapus berita Log out Cetak laporan <<depends on>> <<depends on>> <<depends on>> <<depends on>> <<depends on>> <<depends on>> Membuat account baru Menghapus account <<depends on>> Subsistem Data Pembelian
Mengisi data pembelian Mengubah data pembelian Menghapus data pembelian
Subsistem Data Penjualan
Mengubah status penjualan Menghapus data penjualan Mencatat retur barang <<depends on>> Mencari data barang Admin «extends» «extends» <<depends on>> <<depends on>>
3.4.1 Ringkasan Use case
Ringkasan use-case sistem yang memuat use-case, deskripsi dan
pelaku yang berpartisipasi dapat dilihat pada :
Tabel 3.1 Ringkasan Use-case
No Nama Use-case Deskripsi Use-case Pelaku yang berpartisipasi
1 Log in Use case ini menggambarkan
proses untuk masuk ke sistem
Administrasi
Pegawai , Pemilik (primary
business)
2 Log out Use case ini menggambarkan
proses untuk keluar ke sistem
Administrasi
Pegawai , Pemilik (primary
business)
3 Merakit komputer Use case ini menggambarkan
proses merakit komputer dan
memperoleh bukti transaksi
Pembeli (primary business)
4 Mengisi data
pembelian
Use case ini menggambarkan
proses pencatatan data barang
yang telah dibeli dari distributor
Pegawai , Pemilik (primary
business)
5 Mengubah data
pembelian
Use case ini menggambarkan
proses pengubahan data
pembelian. Proses ini dapat berupa
penambahan data barang ataupun
pengubahan detail data pembelian
Pegawai , Pemilik (primary
business)
pembelian proses penghapusan data
pembelian
business)
7 Mengubah status
penjualan
Use case ini menggambarkan
proses pengubahan status dari
suatu penjualan
Pegawai , Pemilik (primary
business)
8 Menghapus data
penjualan
Use case ini menggambarkan
proses penghapusan data
penjualan
Pegawai , Pemilik (primary
business)
9 Mengisi komentar Use case ini menggambarkan
proses untuk pengisian komentar
Pembeli (primary business)
10 Menjawab
komentar
Use case ini menggambarkan
proses menjawab komentar yang
telah diisi oleh Pembeli
Pegawai , Pemilik (primary
business)
11 Menghapus
komentar
Use case ini menggambarkan
proses penghapusan komentar
Pegawai , Pemilik (primary
business)
12 Mengisi berita Use case ini menggambarkan
proses pengisian berita
Pegawai , Pemilik (primary
business)
13 Mengubah berita Use case ini menggambarkan
proses mengubah berita yang telah
ada
Pegawai , Pemilik (primary
business)
14 Menghapus berita Use case ini menggambarkan
proses penghapusan berita
Pegawai , Pemilik (primary
business)
barang proses penambahan data barang business)
16 Mengubah data
barang
Use case ini menggambarkan
proses pengubahan data barang
yang ada
Pegawai , Pemilik (primary
business)
17 Menghapus data
barang
Use case ini menggambarkan
proses penghapusan data barang
Pegawai , Pemilik (primary
business)
18 Mencari data
barang
Use case ini menggambarkan
proses pencarian data barang
Pegawai , Pemilik (primary
business)
19 Cetak laporan Use case ini menggambarkan
proses pencetakan laporan
Pegawai , Pemilik (primary
business)
20 Membuat account
baru
Use case ini menggambarkan
proses pembuatan account baru
untuk Pegawai
Pemilik (primary business)
21 Menghapus account Use case ini menggambarkan
proses penghapusan data Pegawai
Pemilik (primary business)
22 Mencatat retur
barang
Use case ini menggambarkan
proses pencatatan barang yang
akan diretur
Pegawai , Pemilik (primary
business)
3.4.2 Narasi Use-case
Narasi Use-case Log in dapat dilihat pada :
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Log in Jenis Use-case
Use-case ID: DTK-001 Business Requirements: √
Priority: High
Source: -
Primary Business Actor:
Pegawai, Pemilik
Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses masuk ke sistem Proses ini
berguna untuk menjaga keamanan dalam mengakses data.
Precondition: Pegawai / Pemilik telah memiliki password dan Pembeliname.
Trigger: Use case ini akan digunakan apabila ada Pegawai / Pemilik yang
akan mengakses atau melakukan manipulasi data. Typical Course
of event:
Actor Action System Response Step 1: Pegawai / Pemilik
mengakses halaman Log in.
Step 3: Pegawai / Pemilik memasukkan username dan password.
Step 4: Pegawai / Pemilik mengklik tombol OK
Step 2: Sistem meminta Pegawai / Pemilik memasukkan username dan password.
Step 5: Sistem mengecek validasi username dan password di database.
Step 6: Sistem masuk ke menu utama Admin.
Alternate Course:
Alt-Step 4: Pegawai tidak jadi memasukkan username dan password dengan mengklik tombol BATAL.
Alt-Step 5: Jika username dan password yang diinputkan tidak sesuai, maka sistem akan memberikan peringatan dan secara otomatis kembali ke halaman Log in.
Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil masuk ke
menu utama Pegawai.
Postcondition: • Pegawai / Pemilik berhasil masuk ke menu utama Admin.
• Pegawai / Pemilik tidak berhasil masuk ke menu utama Admin.
Business Rules: Pegawai / Pemilik memasukkan username dan password yang benar.
Implementation Constrains and
Narasi Use-case Log out dapat dilihat pada :
Tabel 3.3 Narasi Use-case Log out Specifications:
Assumptions: -
Open issues: Karena tidak hanya satu orang saja yang mengakses data-data yang
ada dikhawatirkan data yang harusnya tidak boleh dilihat oleh orang yang tidak memiliki wewenang pada akhirnya juga dapat dilihat.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Log out Jenis Use-case
Use-case ID: DTK-002 Business Requirements: √
Priority: High
Source: -
Primary Business Actor:
Pegawai, Pemilik
Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses keluar dari sistem Proses ini
berguna untuk menjaga keamanan setelah mengakses sistem.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan apabila ada Pegawai / Pemilik ingin
keluar dari sistem. Typical Course
of event:
Actor Action System Response Step 1: Pegawai / Pemilik
mengklik Log out.
Step 2: Sistem akan keluar.
Alternate Course:
-
Conclusion: Use case ini berhenti apabila Pegawai / Pemilik telah keluar dari
sistem.
Postcondition: Pegawai / Pemilik kembali ke menu Log in.
Business Rules: -
Implementation Constrains and Specifications:
Tampilan sistem berupa Web.
Assumptions: -
Narasi Use-case Merakit komputer dapat dilihat pada :
Tabel 3.4 Narasi Use-case Merakit komputer
ada dikhawatirkan data yang harusnya tidak boleh dilihat oleh orang yang tidak memiliki wewenang pada akhirnya juga dapat dilihat.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Merakit komputer Jenis Use-case
Use-case ID: DTK-003 Business Requirements: √
Priority: High
Source: -
Primary Business Actor: Pembeli Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses perakitan komputer. Proses ini
berguna untuk transaksi pembelian barang komputer. Dalam proses ini Pembeli melakukan perakitan dan mendapatkan kode transaksi untuk kemudian melakukan pembayaran dengan kode tersebut.
Precondition: Pembeli mengakses menu utama sistem.
Trigger: Use case ini akan digunakan apabila ada Pembeli ingin melakukan
transaksi pembelian barang komputer. Typical Course
of event:
Actor Action System Response Step 1: Pembeli meng-klik
menu produk
Step 4: Pembeli mengklik menu cart untuk
memasukkan produk tersebut ke keranjang belanja.
Step 5: Untuk mengakses data belanja, Pembeli meng-klik menu belanja.
Step 2: Sistem akan masuk ke menu produk.
Step 3: Sistem menampilkan data-data produk komputer.
Narasi Use-case Mengisi data pembelian dapat dilihat pada :
Tabel 3.5 Narasi Use-case Mengisi data pembelian Step 7: Pembeli mengisi data
jumlah produk kemudian meng-klik OK untuk menyetujui transaksi.
dibeli.
Step 8: Sistem menyimpan data transaksi yang telah disetujui oleh Pembeli.
Step 9: Sistem memberitahukan bahwa proses pembelian berhasil dan memberikan kode transaksi untuk melakukan pembayaran.
Alternate Course:
Alt-Step 6: Pembeli dapat membatalkan pembelian produk dengan meng-klik menu hapus pada data produk.
Alt-Step 7: Pembeli membatalkan transaksi dengan meng-klik tombol BATAL.
Conclusion: Use case ini berhenti apabila Pembeli telah menyetujui transaksi atau
membatalkan transaksi.
Postcondition: • Pembeli berhasil melakukan pembelian produk.
• Pembeli tidak berhasil melakukan pembelian produk.
Business Rules: Pembeli yang melakukan transaksi harus memberikan identitas diri
yang sebenarnya. Implementation
Constrains and Specifications:
Tampilan sistem berupa form yang disajikan dalam Web. Form ini berisi pilihan-pilihan barang komputer yang dapat dibeli. Pembeli hanya perlu meng-klik tombol yang disediakan untuk melakukan perakitan dan transaksi.
Assumptions: -
Open issues: Terkadang Pembeli malas untuk merakit komputer langsung di toko
komputer karena suasana dan kondisi toko komputer yang ramai dan kurang nyaman.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Mengisi data pembelian Jenis Use-case
Use-case ID: DTK-004 Business Requirements: √
Priority: High
Source: -
Primary Business Actor:
Pegawai, Pemilik
Participating Actor:
Other Interested Stakeholder:
-
Description: Use case ini menggambarkan proses pencatatan data pembelian.
Pencatatan pembelian dilakukan berdasarkan faktur pembelian yang ada.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan jika Pemilik / Pegawai akan melakukan
pencatatan barang yang telah dibeli. Typical Course
of event:
Actor Action System Response Step 1: Pemilik / Pegawai
meng-klik menu pembelian.
Step 4: Pemilik / Pegawai meng-klik menu tambah untuk melakukan
penambahan data pembelian.
Step 6: Pemilik / Pegawai mengisi data pembelian dan data barang pada form penambahan data pembelian.
Step 2: Sistem akan masuk ke menu pembelian.
Step 3: Sistem menampilkan data-data pembelian yang telah ada dalam database.
Step 5: Sistem menampilkan form penambahan data pembelian.
Step 7: Sistem menyimpan data pembelian yang telah diisikan.
Alternate Course:
Alt-Step 6: Pemilik / Pegawai tidak jadi mencatat data pembelian dengan meng-klik tombol Batal.
Conclusion: Use case ini berhenti apabila Pemilik / Pegawai telah mengisikan
semua data pembelian.
Postcondition: • Pemilik / Pegawai berhasil mengisikan data pembelian beserta
detail data barang yang dibeli.
• Pemilik / Pegawai tidak berhasil mengisikan data pembelian beserta detail data barang yang dibeli.
Business Rules: Pemilik / Pegawai harus memiliki faktur pembelian yang belum
dicatat untuk kemudian diisikan. Implementation
Constrains and Specifications:
Tampilan sistem berupa form yang disajikan dalam Web. Form ini berisi inputan untuk mengisikan data pembelian. Pada saat mengisi data pembelian baru, semua data harus diisikan. Jika data pembelian sudah ada, Pemilik / Pegawai hanya perlu mengisikan data barang saja.
Narasi Use-case Mengubah data pembelian dapat dilihat pada :
Tabel 3.6 Narasi Use-case Mengubah data pembelian
Open issues: Pemilik / Pegawai perlu untuk mencatat data pembelian agar dapat
melakukan penyesuaian antara stok barang yang tercatat dan yang tersedia.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Mengubah data pembelian Jenis Use-case
Use-case ID: DTK-005 Business Requirements: √
Priority: Low
Source: -
Primary Business Actor:
Pegawai, Pemilik
Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses pengubahan data pembelian jika
terjadi kesalahan pada saat melakukan penambahan.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan jika Pemilik / Pegawai akan melakukan
kesalahan pencatatan data pembelian. Typical Course
of event:
Actor Action System Response Step 1: Pemilik / Pegawai
meng-klik menu pembelian.
Step 4: Pemilik / Pegawai meng-klik menu ubah untuk melakukan pengubahan data pembelian.
Step 6: Pemilik / Pegawai mengubah data pembelian yang salah dan meng-klik Simpan untuk menyimpan
Step 2: Sistem akan masuk ke menu pembelian.
Step 3: Sistem menampilkan data-data pembelian yang telah ada dalam database.
Step 5: Sistem menampilkan form untuk mengubah data pembelian.
Narasi Use-case Menghapus data pembelian dapat dilihat pada :
Tabel 3.7 Narasi Use-case Menghapus data pembelian
data. kembali ke halaman pembelian.
Alternate Course:
Alt-Step 5: Pemilik / Pegawai tidak jadi mengubah data pembelian dengan meng-klik tombol Batal.
Conclusion: Use case ini berhenti apabila Pemilik / Pegawai telah mengganti data
pembelian yang salah dalam pencatatan.
Postcondition: • Pemilik / Pegawai berhasil mengubah data pembelian beserta
detail data barang yang dibeli.
• Pemilik / Pegawai tidak berhasil mengubah data pembelian beserta detail data barang yang dibeli.
Business Rules: -
Implementation Constrains and Specifications:
Tampilan sistem berupa form yang disajikan dalam Web. Form ini berisi data pembelian yang akan diubah. Data yang diubah hanya data pembelian, tidak data barang dari pembelian.
Assumptions: -
Open issues: Pemilik / Pegawai perlu untuk melakukan perubahan terhadap data
pembelian jika terjadi kesalahan pencatatan pada saat melakukan penambahan data pembelian.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Menghapus data pembelian Jenis Use-case
Use-case ID: DTK-006 Business Requirements: √
Priority: Low
Source: -
Primary Business Actor:
Pegawai, Pemilik
Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses penghapusan data pembelian
jika data tidak digunakan dan sudah diarsipkan.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan jika Pemilik / Pegawai akan menghapus
data-data pembelian yang tidak digunakan.
Narasi Use-case Mengubah status penjualan dapat dilihat pada :
Tabel 3.8 Narasi Use-case Mengubah status penjualan
of event: Step 1: Pemilik / Pegawai
meng-klik menu pembelian.
Step 4: Pemilik / Pegawai meng-klik menu hapus untuk melakukan penghapusan data pembelian.
Step 2: Sistem akan masuk ke menu pembelian.
Step 3: Sistem menampilkan data-data pembelian yang telah ada dalam database.
Step 5: Sistem menghapus data pembelian dan kembali ke halaman pembelian.
Alternate Course:
-
Conclusion: Use case ini berhenti apabila Pemilik / Pegawai berhasil menghapus
data pembelian.
Postcondition: • Pemilik / Pegawai berhasil menghapus data pembelian.
• Pemilik / Pegawai tidak berhasil menghapus data pembelian.
Business Rules: Data yang dihapus sebaiknya merupakan data yang sudah diarsipkan
agar dapat kembali direkap jika diperlukan. Implementation
Constrains and Specifications:
Tampilan sistem berupa form yang disajikan dalam Web. Form ini berisi data-data pembelian di mana terdapat menu untuk menghapus pada setiap datanya.
Assumptions: -
Open issues: Pemilik / Pegawai perlu melakukan proses penghapusan data untuk
mengurangi jumlah data pembelian sehingga tidak terjadi penumpukan data di database.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Mengubah status penjualan Jenis Use-case
Use-case ID: DTK-007 Business Requirements: √
Priority: High
Source: -
Primary Business Actor:
Pegawai, Pemilik
Other
Participating Actor:
Other Interested Stakeholder:
-
Description: Use case ini menggambarkan proses pengubahan status penjualan.
Status penjualan berubah jika pembeli telah melakukan pembayaran terhadap barang pesanan atau data pesanan telah habis masa pembayarannya.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan jika Pemilik / Pegawai akan mengubah
status terhadap suatu data penjualan. Typical Course
of event:
Actor Action System Response Step 1: Pemilik / Pegawai
meng-klik menu penjualan.
Step 4: Pemilik / Pegawai meng-klik menu ubah untuk melakukan pengubahan data penjualan.
Step 6: Pemilik / Pegawai mengganti status dari data penjualan.
Step 2: Sistem akan masuk ke menu penjualan.
Step 3: Sistem menampilkan data-data penjualan yang telah ada dalam database.
Step 5: Sistem menampilkan form yang berisi data penjualan yang akan diubah.
Step 7: Sistem melakukan
perubahan terhadap data penjualan dan kembali ke halaman penjualan.
Alternate Course:
-
Conclusion: Use case ini berhenti apabila Pemilik / Pegawai berhasil mengganti
status dari suatu data penjualan.
Postcondition: • Pemilik / Pegawai berhasil mengubah data penjualan.
• Pemilik / Pegawai tidak berhasil mengubah data penjualan .
Business Rules: Data yang akan diubah adalah data penjualan yang telah berhasil
melakukan pembayaran ataupun data penjualan yang telah habis masa pembayarannya.
Implementation Constrains and Specifications:
Narasi Use-case Menghapus data penjualan dapat dilihat pada :
Tabel 3.9 Narasi Use-case Menghapus data penjualan
Assumptions: -
Open issues: Pemilik / Pegawai perlu melakukan proses pengubahan status
penjualan untuk menjamin kebenaran data stok barang jika suatu penjualan batal.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Menghapus data penjualan Jenis Use-case
Use-case ID: DTK-008 Business Requirements: √
Priority: Low
Source: -
Primary Business Actor:
Pegawai, Pemilik
Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses penghapusan data penjualan
yang tidak digunakan dan telah direkap.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan jika Pemilik / Pegawai akan menghapus
data penjualan yang tidak digunakan. Typical Course
of event:
Actor Action System Response Step 1: Pemilik / Pegawai
meng-klik menu penjualan.
Step 4: Pemilik / Pegawai meng-klik menu hapus untuk melakukan penghapusan data penjualan.
Step 2: Sistem akan masuk ke menu penjualan.
Step 3: Sistem menampilkan data-data penjualan yang telah ada dalam database.
Narasi Use-case Mengisi komentar dapat dilihat pada :
Tabel 3.10 Narasi Use-case Mengisi komentar
ke menu penjualan. Alternate
Course:
-
Conclusion: Use case ini berhenti apabila Pemilik / Pegawai berhasil menghapus
data penjualan.
Postcondition: • Pemilik / Pegawai berhasil menghapus data penjualan.
• Pemilik / Pegawai tidak berhasil menghapus data penjualan .
Business Rules: Data yang dihapus adalah data yang status penjualannya batal atau
sudah bayar. Implementation
Constrains and Specifications:
Tampilan sistem berupa form yang disajikan dalam Web. Form ini berisi detail data penjualan. Untuk menghapus data penjualan langsung dengan meng-klik menu hapus.
Assumptions: -
Open issues: Pemilik / Pegawai perlu melakukan proses penghapusan data
penjualan untuk menghindari penumpukan data penjualan pada database sehingga akses data penjualan menjadi lebih cepat.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Mengisi komentar Jenis Use-case
Use-case ID: DTK-009 Business Requirements: √
Priority: High
Source: -
Primary Business Actor: Pembeli Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses pengisian komentar. Proses ini
berguna bagi Pembeli untuk memberi pertanyaan ataupun komentar seputar masalah komputer.
Precondition: Pembeli mengakses menu utama sistem.
Trigger: Use case ini akan digunakan apabila ada Pembeli yang akan
memberi komentar atau pertanyaan. Typical Course
of event:
Actor Action System Response
Narasi Use-case Menjawab komentar dapat dilihat pada :
Tabel 3.11 Narasi Use-case Menjawab komentar menu Komentar.
Step 3: Pembeli mengisikan form yang telah tersedia.
Step 4: Pembeli mengklik tombol KIRIM
komentar-komentar dan form untuk mengisikan komentar
Step 5: Sistem menyimpan komentar ke database.
Step 6: Sistem menampilkan komentar yang masuk ke database. Alternate
Course:
Alt-Step 4: Pembeli tidak jadi mengisikan form komentar dengan mengklik tombol BATAL.
Conclusion: Use case ini berhenti apabila Pembeli berhasil memasukkan
komentar atau membatalkan pengisian komentar.
Postcondition: Pembeli berhasil mengirimkan komentar.
Pembeli tidak jadi mengirimkan komentar.
Business Rules: -
Implementation Constrains and Specifications:
Tampilan sistem berupa Web di mana terdapat komentar-komentar yang telah masuk dan jawabannya, serta form untuk mengisikan komentar.
Assumptions: -
Open issues: Pembeli ingin tahu seputar masalah komputer dan memberi
komentar kepada toko komputer.
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Menjawab Komentar Jenis Use-case
Use-case ID: DTK-010 Business Requirements: √
Priority: High
Source: -
Primary Business Actor:
Pegawai, Pemilik
Narasi Use-case Menghapus komentar dapat dilihat pada :
Tabel 3.12 Narasi Use-case Menghapus komentar
Description: Use case ini menggambarkan proses menjawab komentar yang telah
diisikan oleh Pembeli. Komentar yang dijawab adalah komentar yang berupa pertanyaan yang berhubungan dengan komputer.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan apabila ada Pegawai / Pemilik yang
akan menjawab komentar yang telah diberikan oleh Pembeli. Typical Course
of event:
Actor Action System Response Step 1: Pegawai / Pemilik
mengklik menu Komentar.
Step 3: Pegawai / Pemilik memilih komentar yang akan dijawab kemudian mengklik tombol JAWAB.
Step 5: Pegawai / Pemilik mengisikan jawaban pada form yang telah tersedia.
Step 6: Pegawai / Pemilik mengklik OK untuk menyetujui jawaban komentar.
Step 2: Sistem akan menampilkan komentar-komentar yang ada pada database.
Step 4: Sistem akan menampilkan form untuk menjawab komentar.
Step 7: Sistem akan menampilkan pesan bahwa jawaban komentar berhasil dimasukkan.
Alternate Course:
Alt-Step 6: Pembeli tidak jadi mengisikan form komentar dengan mengklik tombol BATAL.
Alt-Step 7: Sistem akan menampilkan pesan bahwa jawaban komentar tidak berhasil dimasukkan.
Conclusion: Use case ini berhenti apabila Pegawai / Pemilik telah berhasil
mengisi komentar.
Postcondition: Pegawai / Pemilik berhasil menjawab komentar.
Pegawai / Pemilik tidak jadi menjawab komentar.
Business Rules: -
Implementation Constrains and Specifications:
Tampilan sistem berupa Web di mana terdapat tabel yang
menampilkan data-data komentar dan pilihan untuk menjawab setiap komentar.
Assumptions: -
Author : Johanes Taufan Sungkit
Date : 21 November 2008 Version : 1.0
Use-case Name: Menghapus komentar Jenis Use-case
Use-case ID: DTK-011 Business Requirements: √
Priority: Low
Source: -
Primary Business Actor:
Pegawai, Pemilik
Other Participating Actor: - Other Interested Stakeholder: -
Description: Use case ini menggambarkan proses penghapusan komentar atau
pertanyaan. Komentar atau pertanyaan yang dihapus adalah komentar yang tidak sesuai dengan masalah komputer.
Precondition: Pegawai / Pemilik telah Log in.
Trigger: Use case ini akan digunakan apabila ada Pegawai / Pemilik yang
ingin menghapus komentar. Typical Course
of event:
Actor Action System Response Step 1: Pegawai / Pemilik
mengklik menu Komentar.
Step 3: Pegawai / Pemilik memilih komentar yang akan dihapus.
Step 4: Pegawai / Pemilik meng-klik HAPUS.
Step 2: Sistem akan menampilkan komentar-komentar yang ada pada database.
Step 5: Sistem akan menghapus komentar dari database.
Alternate Course:
-
Conclusion: Use case ini berhenti apabila Pegawai / Pemilik telah keluar dari
sistem.
Postcondition: Pegawai / Pemilik berhasil menghapus komentar.
Pegawai / Pemilik tidak berhasil menghapus komentar.
Business Rules: -
Implementation Constrains and Specifications:
Ta