MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

242
i 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 2009

Transcript of MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

Page 1: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

i  

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

2009

Page 2: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

ii  

TRANSACTION MANAGEMENT ON WEB BASED SELLING SYSTEM OF COMPOSED COMPUTER

(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

YOGYAKARTA

2009 

Page 3: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

Page 4: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

Page 5: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

v  

MOTTO

 

“SEGALA SESUATU DAPAT TERJADI JIKA KITA MELAKUKANNYA DENGAN SUNGGUH-SUNGGUH DAN

TANPA PUTUS ASA”

“I BELONG TO JESUS”

Page 6: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

vi  

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

problem.

Page 7: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

vii  

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

function to solve the lost update problem.

Page 8: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

viii  

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

kasih atas dukungan dan bantuannya selama ini.

Page 9: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

ix  

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.

Page 10: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

x  

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

Johanes Taufan Sungkit

Page 11: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …
Page 12: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xii  

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.3 Activity Diagram ............................................................................................... 13

Page 13: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xiii  

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

4.3 Implementasi Manajemen Transaksi .............................................................. 193

Page 14: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xiv  

BAB V ANALISA HASIL ............................................................................................. 202

BAB VI PENUTUP ........................................................................................................ 213

6.1 Kesimpulan ..................................................................................................... 213

6.2 Saran ............................................................................................................... 214 

DAFTAR PUSTAKA

LAMPIRAN 

Page 15: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xv  

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 Gambar 3.27 Diagram sequence Log out 87

Page 16: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xvi  

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 Gambar 3.51 Desain input halaman Log in 117 Gambar 3.52 Desain input halaman tambah data barang 118 Gambar 3.53 Desain input halaman ubah data barang 119 Gambar 3.54 Desain input halaman cetak laporan 120 Gambar 3.55 Desain input halaman data penjualan 121 Gambar 3.56 Desain input halaman cari data retur penjualan 122 Gambar 3.57 Desain input halaman tambah berita 123 Gambar 3.58 Desain input halaman ubah berita 124 Gambar 3.59 Desain input halaman jawab komentar 125 Gambar 3.60 Desain input halaman buat account 126 Gambar 3.61 Desain input halaman perakitan komputer 127 Gambar 3.62 Desain input halaman pengisian komentar 128 Gambar 3.63 Desain output halaman Utama Admin 129 Gambar 3.64 Desain output halaman menu data barang 130

Page 17: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xvii  

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 Gambar 4.20 Halaman laporan pembelian 180 Gambar 4.21 Halaman pengaturan jenis barang 181 Gambar 4.22 Halaman ubah data barang 185

Page 18: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xviii  

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

212

Page 19: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xix  

DAFTAR LISTING PROGRAM

Keterangan HalamanListing 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 HalamanTabel 3.1 Ringkasan Use-Case 28 Tabel 3.2 Narasi Use-case Log in 30 Tabel 3.3 Narasi Use-case Log out 32 Tabel 3.4 Narasi Use-case Merakit Komputer 33 Tabel 3.5 Narasi Use-case Mengisi data pembelian 34 Tabel 3.6 Narasi Use-case Mengubah data pembelian 36 Tabel 3.7 Narasi Use-case Menghapus data pembelian 37 Tabel 3.8 Narasi Use-case Mengubah status penjualan 38 Tabel 3.9 Narasi Use-case Menghapus data penjualan 40 Tabel 3.10 Narasi Use-case Mengisi komentar 41 Tabel 3.11 Narasi Use-case Menjawab komentar 42 Tabel 3.12 Narasi Use-case Menghapus komentar 43 Tabel 3.13 Narasi Use-case Mengisi berita 45 Tabel 3.14 Narasi Use-case Mengubah berita 46 Tabel 3.15 Narasi Use-case Menghapus berita 48 Tabel 3.16 Narasi Use-case Mengisi data barang 49 Tabel 3.17 Narasi Use-case Mengubah data barang 50 Tabel 3.18 Narasi Use-case Menghapus data barang 52 Tabel 3.19 Narasi Use-case Mencari data barang 53 Tabel 3.20 Narasi Use-case Cetak laporan 54 Tabel 3.21 Narasi Use-case Membuat account baru 55

Page 20: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

xx  

Keterangan HalamanTabel 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

 

Page 21: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

1  

BAB I

PENDAHULUAN 

1.1 Latar 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

itu, toko komputer juga harus dapat memberikan informasi tentang barang-

Page 22: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

2  

  

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.2 Batasan 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).

3. Sistem tidak menangani laporan keuangan (neraca, rugi laba).

Page 23: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

3  

  

4. Sistem dibangun menggunakan bahasa pemrograman Java dengan

database MySQL Server 5.0.

1.3 Tujuan 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.4 Rumusan Masalah

Dari latar belakang yang telah dikemukakan, maka rumusan

masalah yang dapat diambil adalah :

1. Bagaimana membangun aplikasi sistem penjualan komputer berbasis

web menggunakan java?

Page 24: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

4  

  

2. Bagaimana sistem mengatasi masalah the lost update problem pada

saat transaksi yang dilakukan bersamaan oleh user?

1.5 Metodologi 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.

b. Implementasi Aplikasi Sistem

Page 25: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

5  

  

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.6 Sistematika 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

aplikasi berbasis web.

Page 26: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

6  

  

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

tugas akhir yang disusun.

Page 27: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

7  

BAB II

LANDASAN TEORI 

2.1 Manajemen 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

kegiatan yang terjadi secara bersamaan pada basis data tanpa harus

Page 28: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

8  

 

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.

Misalnya transaksi A mengubah data A. Transaksi B melakukan

Page 29: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

9  

 

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

transaksi melakukan exclusive lock pada suatu item data, maka tidak

Page 30: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

10  

 

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

lock ke exclusive lock.

Page 31: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

11  

 

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

lain.

Page 32: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

12  

 

2.2 Use 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 :

Gambar 2.2 Simbol Aktor

Page 33: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

13  

 

2.3 Activity 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

harus diselesaikan terlebih dahulu sebelum proses berlanjut.

Page 34: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

14  

 

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.

Gambar 2.3 Activity diagram poin 1 sampai 5

Page 35: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

15  

 

Gambar 2.4 Activity diagram poin 6 sampai 8

Page 36: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

16  

 

Gambar 2.5 Activity diagram poin 9 dan 10

Page 37: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

17  

 

2.4 Class 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

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.

c. Informasi atribut dan tipe atribut.

Page 38: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

18  

 

d. Metode dengan parameter.

e. Navigability.

f. Ketergantungan (dependensi).

2.5 Sequence 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

4. Entity classes

Page 39: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

19  

 

5. Messages

6. Activation bars

7. Return messages

8. Self-call

9. Frame

2.6 Java

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

arsitektur multi-tier. Gambar 2.7 merupakan arsitektur J2EE.

Page 40: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

20  

 

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

dihasilkan oleh Java Servlet dan komponen JSP sama karena kedua

Page 41: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

21  

 

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

menyediakan perintah-perintah seperti :

Page 42: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

22  

 

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.

Bentuk umum perintah ini adalah :

Page 43: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

23  

 

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,

Pascal dan lain-lain.

Page 44: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

24  

 

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

perintah untuk menspesifikasi aturan akses.

Page 45: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

25  

BAB III

ANALISIS DAN PERANCANGAN SISTEM 

3.1 Sistem 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.2 Sistem 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

memberikan keleluasan bagi pembeli untuk melakukan perakitan komputer

Page 46: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

26  

  

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.3 Diagram Konteks

Gambar 3.1 berikut merupakan diagram konteks sistem.

Gambar 3.1 Diagram Konteks

3.4 Diagram Use case

Gambar 3.2 berikut merupakan diagram use case sistem.

Page 47: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

27  

  

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

 

Gambar 3.2 Diagram Use-case

Page 48: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

28  

  

Page 49: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

29  

  

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)

6 Menghapus data Use case ini menggambarkan Pegawai , Pemilik (primary

Page 50: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

30  

  

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)

15 Mengisi data Use case ini menggambarkan Pegawai , Pemilik (primary

Page 51: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

31  

  

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 :

Tabel 3.2 Narasi Use-case Log in

Page 52: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

32  

  

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

Tampilan sistem berupa Web.

Page 53: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

33  

  

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: - Open issues: Karena tidak hanya satu orang saja yang mengakses data-data yang

Page 54: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

34  

  

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. Step 6: Sistem menampilkan form untuk mengisi identitas diri dan mengisi jumlah produk yang akan

Page 55: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

35  

  

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

Other -

Page 56: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

36  

  

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.

Assumptions: -

Page 57: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

37  

  

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. Step7: Sistem menyimpan data pembelian yang telah diubah dan

Page 58: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

38  

  

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. Typical Course Actor Action System Response

Page 59: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

39  

  

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:

-

Page 60: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

40  

  

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:

Tampilan sistem berupa form yang disajikan dalam Web. Form ini berisi detail data penjualan. Pada form ini hanya dapat dilakukan pengubahan data status penjualan saja.

Page 61: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

41  

  

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. Step 5: Sistem akan menghapus data penjualan yang dipilih dan kembali

Page 62: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

42  

  

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 Step 1: Pembeli mengakses Step 2: Sistem menampilkan

Page 63: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

43  

  

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

Other Participating Actor:

-

Other Interested Stakeholder:

-

Page 64: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

44  

  

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: - Open issues: Pegawai / Pemilik perlu untuk berinteraksi dengan Pembeli.

Page 65: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

45  

  

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:

Tampilan sistem berupa Web di mana terdapat tabel yang menampilkan data-data komentar dan pilihan untuk menghapus setiap komentar.

Assumptions: - Open issues: Pegawai / Pemilik perlu melakukan seleksi terhadap komentar atau

pertanyaan yang ada. Jika tidak sesuai, maka komentar atau

Page 66: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

46  

  

Narasi Use-case Mengisi berita dapat dilihat pada :

Tabel 3.13 Narasi Use-case Mengisi berita

pertanyaan tersebut dihapus.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Mengisi berita Jenis Use-case Use-case ID: DTK-012 Business Requirements: √ Priority: High Source: Majalah, Internet Primary Business Actor:

Pegawai, Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses pengisian berita. Berita yang diisikan adalah berita seputar komputer atau informasi terbaru yang dimiliki oleh toko komputer.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila ada Pegawai / Pemilik yang

ingin mengisikan berita. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik mengklik menu Berita. Step 3: Pegawai / Pemilik meng-klik TAMBAH. Step 5: Pegawai / Pemilik mengisi data berita. Step 6: Pegawai / Pemilik mengklik OK untuk memasukkan berita.

Step 2: Sistem akan menampilkan data-data berita yang ada di database. Step 4: Sistem menampilkan form untuk memasukkan berita. Step 7: Sistem akan memasukkan data berita ke database. Step 8: Sistem akan menampilkan pesan bahwa data berita berhasil dimasukkan.

Alternate Alt-Step 6: Pembeli tidak jadi mengisi berita dengan meng-klik

Page 67: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

47  

  

Narasi Use-case Mengubah berita dapat dilihat pada :

Tabel 3.14 Narasi Use-case Mengubah berita

Course: tombol BATAL. Alt-Step 8: Sistem akan menampilkan pesan bahwa data berita tidak berhasil dimasukkan.

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil memasukkan data berita.

Postcondition: Pegawai / Pemilik berhasil memasukkan berita. Pegawai / Pemilik tidak berhasil memasukkan berita.

Business Rules: Pegawai / Pemilik mempunyai data berita yang lengkap. Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana terdapat tabel yang menampilkan data-data berita dan pilihan untuk menambah berita. Jika Pembeli meng-klik TAMBAH maka akan ditampilkan form untuk mengisi berita baru.

Assumptions: - Open issues: Pegawai / Pemilik merasa perlu untuk memberi informasi terbaru

tentang komputer. Hal ini merupakan salah satu cara Pegawai / Pemilik untuk berinteraksi dengan pengunjung Website agar tertarik untuk mengaksesnya.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Mengubah berita Jenis Use-case Use-case ID: DTK-013 Business Requirements: √ Priority: Low Source: Majalah, Internet Primary Business Actor:

Pegawai, Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses pengubahan berita. Berita yang diubah adalah berita yang salah dalam pemasukkannya ataupun berita yang informasinya salah.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila Pegawai / Pemilik ingin

Page 68: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

48  

  

memperbaiki berita yang telah ada. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik mengklik menu Berita. Step 3: Pegawai / Pemilik memilih data berita dan meng-klik UBAH. Step 5: Pegawai / Pemilik mengubah data berita. Step 6: Pegawai / Pemilik mengklik OK untuk menyimpan data berita yang diubah.

Step 2: Sistem akan menampilkan data-data berita yang ada di database. Step 4: Sistem menampilkan form yang telah berisi data berita yang akan diubah. Step 7: Sistem akan memasukkan data berita yang diubah ke database. Step 8: Sistem akan menampilkan pesan bahwa data berita berhasil diubah.

Alternate Course:

Alt-Step 6: Pembeli tidak jadi mengubah berita dengan meng-klik tombol BATAL. Alt-Step 8: Sistem akan menampilkan pesan bahwa data berita tidak berhasil disimpan.

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil menyimpan data berita.

Postcondition: Pegawai / Pemilik berhasil mengubah berita. Pegawai / Pemilik tidak berhasil mengubah berita.

Business Rules: Pegawai / Pemilik mempunyai data berita yang lengkap. Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana terdapat tabel yang menampilkan data-data berita dan pilihan untuk mengubah berita. Jika Pembeli meng-klik UBAH maka akan ditampilkan form untuk mengubah berita.

Assumptions: - Open issues: Kesalahan dalam pemasukkan data sering terjadi. Selain itu, berita

yang diperoleh tidak sepenuhnya akurat dan terpercaya.

Page 69: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

49  

  

Narasi Use-case Menghapus berita dapat dilihat pada :

Tabel 3.15 Narasi Use-case Menghapus berita

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Menghapus berita Jenis Use-case Use-case ID: DTK-014 Business Requirements: √ Priority: Low Source: - Primary Business Actor:

Pegawai, Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses penghapusan berita. Berita yang dihapus adalah berita yang salah informasinya dan berita yang sudah lama.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila Pegawai / Pemilik ingin

menghapus berita. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik mengklik menu Berita. Step 3: Pegawai / Pemilik memilih berita yang akan dihapus. Step 4: Pegawai / Pemilik meng-klik HAPUS.

Step 2: Sistem akan menampilkan data berita yang ada pada database. Step 5: Sistem akan menghapus berita dari database.

Alternate Course:

-

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil menghapus data berita.

Postcondition: Pegawai / Pemilik berhasil menghapus berita. Pegawai / Pemilik tidak berhasil menghapus berita.

Business Rules: - Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana terdapat tabel yang menampilkan data-data berita dan pilihan untuk menghapus berita. Jika Pembeli meng-klik HAPUS maka akan ditampilkan form untuk

Page 70: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

50  

  

Narasi Use-case Mengisi data barang dapat dilihat pada :

Tabel 3.16 Narasi Use-case Mengisi data barang

menghapus berita. Assumptions: - Open issues: Kesalahan dalam mengambil berita untuk dimasukkan ke Website

sering terjadi. Selain itu juga penghapusan berita-berita yang lama perlu dilakukan untuk mencegah data yang terlalu banyak.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Mengisi data barang Jenis Use-case Use-case ID: DTK-015 Business Requirements: √ Priority: High Source: Nota Pembelian Primary Business Actor:

Pegawai, Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses pengisian data barang. Barang yang dibeli dari distributor langsung disimpan ke database.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila ada Pegawai / Pemilik yang

ingin mengisikan data barang. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik mengklik menu Pembelian. Step 3: Pegawai / Pemilik meng-klik detail. Step 5: Pegawai / Pemilik meng-klik tambah. Step 7: Pegawai / Pemilik mengisi data barang dan mengklik OK untuk

Step 2: Sistem akan menampilkan data-data pembelian yang ada di database. Step 4: Sistem menampilkan data-data pembelian barang. Step 6: Sistem akan menampilkan form pengisian data barang. Step 8: Sistem akan memasukkan data barang ke database.

Page 71: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

51  

  

Narasi Use-case Mengubah data barang dapat dilihat pada :

Tabel 3.17 Narasi Use-case Mengubah data barang

memasukkan data barang. Alternate Course:

Alt-Step 7: Pembeli tidak jadi mengisi barang dengan meng-klik tombol BATAL.

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil memasukkan data barang.

Postcondition: Pegawai / Pemilik berhasil memasukkan data barang. Pegawai / Pemilik tidak berhasil memasukkan data barang.

Business Rules: Pegawai / Pemilik mempunyai data barang yang lengkap. Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana terdapat tabel yang menampilkan data-data barang dari suatu data pembelian dan pilihan untuk menambah data barang. Jika Pembeli meng-klik TAMBAH maka akan ditampilkan form untuk mengisi data barang baru.

Assumptions: - Open issues: Dalam penyimpanan barang terdapat barang-barang baru yang perlu

dicatat agar informasi tentang barang tersebut dapat diakses.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Mengubah data barang Jenis Use-case Use-case ID: DTK-016 Business Requirements: √ Priority: High Source: Nota Pembelian Primary Business Actor:

Pegawai, Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses pengubahan data barang. Data barang yang diubah adalah data barang yang mengalami penambahan stok.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila Pegawai / Pemilik ingin

mengubah data barang yang ada. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik mengklik menu Barang.

Step 2: Sistem akan menampilkan data-data barang yang ada di

Page 72: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

52  

  

Step 3: Pegawai / Pemilik memilih data barang dan meng-klik UBAH. Step 5: Pegawai / Pemilik mengubah data barang. Step 6: Pegawai / Pemilik mengklik OK untuk menyimpan data barang yang diubah.

database. Step 4: Sistem menampilkan form yang telah berisi data barang yang akan diubah. Step 7: Sistem akan menyimpan data barang yang diubah ke database. Step 8: Sistem akan menampilkan pesan bahwa data barang berhasil diubah.

Alternate Course:

Alt-Step 6: Pembeli tidak jadi mengubah data barang dengan meng-klik tombol BATAL. Alt-Step 8: Sistem akan menampilkan pesan bahwa data barang tidak berhasil disimpan.

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil menyimpan data barang.

Postcondition: Pegawai / Pemilik berhasil mengubah data barang. Pegawai / Pemilik tidak berhasil mengubah data barang.

Business Rules: Pegawai / Pemilik mempunyai data barang yang akan diubah. Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana terdapat tabel yang menampilkan data-data barang dan pilihan untuk mengubah. Jika Pembeli meng-klik UBAH maka akan ditampilkan form untuk mengubah data barang.

Assumptions: - Open issues: Data-data barang yang telah dicatat dapat mengalami perubahan

khususnya kuantitas barang.

Page 73: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

53  

  

Narasi Use-case Menghapus data barang dapat dilihat pada :

Tabel 3.18 Narasi Use-case Menghapus data barang

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Menghapus data barang Jenis Use-case Use-case ID: DTK-017 Business Requirements: √ Priority: Low Source: - Primary Business Actor:

Pegawai, Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses penghapusan data barang. Data barang yang akan dihapus adalah data barang yang tidak dijual lagi oleh toko komputer.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila Pegawai / Pemilik ingin

menghapus data barang. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik mengklik menu Barang. Step 3: Pegawai / Pemilik memilih data barang yang akan dihapus. Step 4: Pegawai / Pemilik meng-klik HAPUS.

Step 2: Sistem akan menampilkan data barang yang ada pada database. Step 5: Sistem akan menghapus data barang dari database.

Alternate Course:

-

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil menghapus data barang.

Postcondition: Pegawai / Pemilik berhasil menghapus data barang. Pegawai / Pemilik tidak berhasil menghapus data barang.

Business Rules: - Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana terdapat tabel yang menampilkan data-data berita dan pilihan untuk menghapus data barang.

Page 74: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

54  

  

Narasi Use-case Mencari data barang dapat dilihat pada :

Tabel 3.19 Narasi Use-case Mencari data barang

Assumptions: - Open issues: Data barang-barang yang tidak diproduksi atau tidak dijual lagi tidak

perlu disimpan.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Mencari data barang Jenis Use-case Use-case ID: DTK-018 Business Requirements: √ Priority: High Source: - Primary Business Actor:

Pembeli

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses pencarian data barang. Barang dicari sesuai dengan kategori yang diinginkan.

Precondition: Pembeli telah mengakses website. Trigger: Use case ini akan digunakan apabila Pembeli ingin mencari data

barang / produk yang mereka inginkan. Typical Course of event:

Actor Action System Response Step 1: Pembeli masuk ke website. Step 3: Pembeli memasukkan kata kunci yang sesuai dan meng-klik CARI.

Step 2: Sistem akan menampilkan inputan untuk pencarian produk di setiap menu. Step 4: Sistem melakukan pencarian data barang sesuai dengan kata kunci yang dimasukkan kemudian menampilkan hasil pencarian.

Alternate Course:

-

Conclusion: Use case ini berhenti apabila Sistem berhasil menampilkan hasil pencarian data barang.

Postcondition: Pegawai / Pemilik memperoleh hasil pencarian. Pegawai / Pemilik tidak memperoleh hasil pencarian.

Business Rules: -

Page 75: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

55  

  

Narasi Use-case Cetak laporan dapat dilihat pada :

Tabel 3.20 Narasi Use-case Cetak laporan

Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana pada setiap menu terdapat inputan untuk melakukan pencarian berdasarkan kata kunci dan kategori yang diinginkan.

Assumptions: - Open issues: Barang-barang komputer mempunyai jenis dan merk yang berbeda-

beda. Pencarian secara manual akan memerlukan waktu yang cukup lama.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Cetak laporan Jenis Use-case Use-case ID: DTK-019 Business Requirements: √ Priority: High Source: - Primary Business Actor:

Pegawai, Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses pencetakan laporan penjualan dan laporan pembelian.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila Pegawai / Pemilik ingin

mencetak laporan. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik mengklik menu Cetak Laporan pada menu pembelian atau penjualan. Step 3: Pegawai / Pemilik memilih tanggal yang diinginkan kemudian klik OK. Step 5: Pegawai / Pemilik

Step 2: Sistem akan menampilkan pilihan tanggal untuk mencetak laporan Step 4: Sistem menampilkan data-data yang akan dicetak. Step 6: Sistem melakukan

Page 76: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

56  

  

Narasi Use-case Membuat account baru dapat dilihat pada :

Tabel 3.21 Narasi Use-case Membuat account baru

meng-klik CETAK . pencetakan laporan. Alternate Course:

Alt-Step 5: Pegawai / Pemilik membatalkan pencetakan laporan dengan meng-klik BATAL.

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil mencetak laporan.

Postcondition: Pegawai / Pemilik memperoleh laporan. Pegawai / Pemilik tidak memperoleh laporan.

Business Rules: - Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana Pegawai / Pemilik dapat mencetak laporan sesuai dengan tanggal yang diinginkan.

Assumptions: - Open issues: Pembelian atau penjualan yang dilakukan dalam kurun waktu

tertentu perlu dilaporkan untuk mengetahui laba yang diperoleh atau kerugian yang dialami.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Membuat account baru Jenis Use-case Use-case ID: DTK-020 Business Requirements: √ Priority: High Source: - Primary Business Actor:

Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses membuat account untuk Pegawai yang baru. Account baru akan dibuat jika Pemilik memiliki pegawai baru.

Precondition: Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila Pemilik akan membuat account

baru. Typical Course of event:

Actor Action System Response Step 1: Pemilik meng-klik menu Account

Step 2: Sistem akan menampilkan data-data Pegawai

Page 77: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

57  

  

Narasi Use-case Menghapus account dapat dilihat pada :

Tabel 3.22 Narasi Use-case Menghapus account

Step 3: Pemilik meng-klik tambah Step 5: Pemilik mengisikan data Pegawai yang baru dan meng-klik OK

Step 4: Sistem menampilkan form untuk menambah data Pegawai baru. Step 6: Sistem menyimpan data Pegawai yang baru ke database. Step 7: Sistem menampilkan pesan berhasil membuat account.

Alternate Course:

Alt-Step 5: Pemilik membatalkan pembuatan account baru dengan meng-klik BATAL. Alt-Step 7: Sistem menampilkan pesan tidak berhasil membuat account.

Conclusion: Use case ini berhenti apabila Pemilik berhasil membuat account. Postcondition: Pemilik berhasil membuat account.

Pemilik tidak berhasil membuat account. Business Rules: - Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana Pemilik dapat membuat account baru.

Assumptions: - Open issues: Pemilik merasa Pegawai yang baru harus memiliki account agar

dapat mengakses data dan melakukan manipulasi data.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Menghapus account Jenis Use-case Use-case ID: DTK-021 Business Requirements: √ Priority: Low Source: - Primary Business Actor:

Pemilik

Other Participating Actor:

-

Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses menghapus account. Account

Page 78: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

58  

  

Narasi Use-case Mencatat retur barang dapat dilihat pada :

Tabel 3.23 Narasi Use-case Mencatat retur barang

yang tidak digunakan akan dihapus untuk mengurangi data yang tidak diperlukan.

Precondition: Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila account tidak digunakan lagi

oleh Pegawai. Typical Course of event:

Actor Action System Response Step 1: Pemilik meng-klik menu Account Step 3: Pemilik memilih data Pegawai yang akan dihapus dan meng-klik HAPUS.

Step 2: Sistem akan menampilkan data-data Pegawai Step 4: Sistem menghapus data Pegawai dari database.

Alternate Course:

-

Conclusion: Use case ini berhenti apabila Pemilik berhasil menghapus account. Postcondition: Pemilik berhasil menghapus account.

Pemilik membatalkan penghapusan account. Business Rules: - Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana Pemilik dapat menghapus account yang tidak digunakan lagi.

Assumptions: - Open issues: Pemilik merasa data-data Pegawai yang sudah tidak bekerja lagi

tidak diperlukan. Hal ini untuk menjaga keamanan agar data tidak dapat diakses oleh Pegawai yang sudah tidak berhak untuk mengakses sistem.

Author : Johanes Taufan Sungkit Date : 21 November 2008 Version : 1.0

Use-case Name: Mencatat retur barang Jenis Use-case Use-case ID: DTK-022 Business Requirements: √ Priority: High Source: Nota Penjualan Primary Business Actor:

Pegawai, Pemilik

Other Participating

-

Page 79: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

59  

  

Actor: Other Interested Stakeholder:

-

Description: Use case ini menggambarkan proses pencatatan barang yang diretur. Barang yang diretur dapat berupa barang rusak yang bergaransi. Barang yang habis masa garansinya tidak dapat diretur.

Precondition: Pegawai / Pemilik telah Log in. Trigger: Use case ini akan digunakan apabila ada Pegawai / Pemilik yang

akan mencatat barang yang diretur. Typical Course of event:

Actor Action System Response Step 1: Pegawai / Pemilik meng-klik menu Retur pada menu detail penjualan. Step 3: Pegawai / Pemilik memasukkan data barang retur. Step 4: Pegawai / Pemilik mengklik tombol OK

Step 2: Sistem menampilkan data barang retur dan form untuk memasukkan barang retur. Step 5: Sistem menyimpan data barang retur ke database. Step 6: Sistem menampilkan pesan bahwa proses retur barang berhasil.

Alternate Course:

Alt-Step 4: Pegawai tidak jadi memasukkan data barang retur dengan mengklik tombol BATAL. Alt-Step 6: Sistem menampilkan pesan bahwa proses retur barang tidak berhasil.

Conclusion: Use case ini berhenti apabila Pegawai / Pemilik berhasil mencatat data barang retur.

Postcondition: • Pegawai / Pemilik berhasil mencatat data retur barang. • Pegawai / Pemilik tidak berhasil mencatat data retur barang .

Business Rules: Pegawai / Pemilik memiliki nota penjualan barang yang masih bergaransi.

Implementation Constrains and Specifications:

Tampilan sistem berupa Web di mana terdapat data-data barang retur dan form untuk memasukkan data barang retur.

Assumptions: - Open issues: Barang yang dijual dapat mengalami kerusakan pada saat masa

garansi. Toko wajib untuk menerima barang retur dan mengurusi penukaran barang tersebut ke distributor.

Page 80: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

60  

  

3.5 Diagram Activity

Gambar 3.3 berikut merupakan diagram activity untuk proses Log in.

Gambar 3.3 Diagram Activity Log in

Gambar 3.4 berikut merupakan diagram activity untuk proses Log out.

Gambar 3.4 Diagram Activity Log out

Page 81: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

61  

  

Gambar 3.5 berikut merupakan diagram activity untuk proses Merakit

Komputer.

Gambar 3.5 Diagram Activity Merakit Komputer

 

Gambar 3.6 berikut merupakan diagram activity untuk proses Mengisi Data

Pembelian. 

SistemPemilik / Pegawai

Meng-klik menu pembelian Masuk ke menu pembelian

Menampilkan data pembelian yang ada di databaseMeng-klik menu ubah

Menampilkan form untuk mengubah data pembelian

Mengganti data pembelian yang salahdengan data pembelian baru

Menyimpan data pembelian yang telah diubah

[BATAL]

Gambar 3.6 Diagram Activity Mengisi Data Pembelian 

Page 82: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

62  

  

Gambar 3.7 berikut merupakan diagram activity untuk proses Mengubah

Data Pembelian. 

Gambar 3.7 Diagram Activity Mengubah Data Pembelian 

Gambar 3.8 berikut merupakan diagram activity untuk proses Menghapus

Data Pembelian.

Gambar 3.8 Diagram Activity Menghapus Data Pembelian

 

Page 83: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

63  

  

Gambar 3.9 berikut merupakan diagram activity untuk proses Mengubah

Status Penjualan.

SistemPemilik / Pegawai

Meng-klik menu penjualan Masuk ke menu penjualan

Menampilkan data-data penjualan

Meng-klik menu ubah pada data penjualan Sistem menampilkan form ubah status penjualan

Mengganti status dari data penjualan

Menyimpan data status ke database

Gambar 3.9 Diagram Activity Mengubah Status Penjualan

Gambar 3.10 berikut merupakan diagram activity untuk proses Menghapus

Data Penjualan.

Page 84: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

64  

  

Pembeli Sistem

Menampilkan data-data produk komputer

Meng-klik menu cart

[OK]

[Hapus]

Meng-klikk menu produk Masuk ke menu produk

Meng-klik menu belanja Menampilkan form untuk mengisi identitas diri dan mengisi jumlah produk yang akan dibeli

Mengisi data jumlah produk

Menyimpan data transaksi yang telah disetujui oleh Pembeli

[BATAL]

Memberitahukan bahwa proses pembelian berhasil dan memberikan kode transaksi untuk melakukan

pembayaran

Gambar 3.10 Diagram Activity Menghapus Data Penjualan

Gambar 3.11 berikut merupakan diagram activity untuk proses Mengisi

Komentar.

Page 85: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

65  

  

Gambar 3.11 Diagram Activity Mengisi Komentar

Gambar 3.12 berikut merupakan diagram activity untuk proses Menjawab

Komentar.

Page 86: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

66  

  

Mengakses menu Komentar Menampilkan komentar yang ada di database

Memilih komentar yang akan dijawab dan meng-klik JAWAB

Menampilkan form untuk menjawab komentar

Pemilik / Pegawai Sistem

Mengisi jawaban pada form yang tersedia

Menampilkan pesan komentar berhasil

dimasukkan

Menampilkan pesan komentar tidak

berhasil dimasukkan

[Klik tombol OK]

[Klik tombol BATAL]

[Data berhasil masuk] [Data gagal masuk]

Menyimpan jawaban ke database

Gambar 3.12 Diagram Activity Menjawab Komentar

Gambar 3.13 berikut merupakan diagram activity untuk proses Menghapus

Komentar.

Page 87: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

67  

  

Gambar 3.13 Diagram Activity Menghapus Komentar

Gambar 3.14 berikut merupakan diagram activity untuk proses Mengisi

Berita.

Page 88: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

68  

  

Gambar 3.14 Diagram Activity Mengisi Berita

Gambar 3.15 berikut merupakan diagram activity untuk proses Mengubah

Berita.

Page 89: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

69  

  

Gambar 3.15 Diagram Activity Mengubah Berita

Gambar 3.16 berikut merupakan diagram activity untuk proses Menghapus

Berita.

Page 90: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

70  

  

Gambar 3.16 Diagram Activity Menghapus Berita

Gambar 3.17 berikut merupakan diagram activity untuk proses Mengisi Data

Barang.

Page 91: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

71  

  

Gambar 3.17 Diagram Activity Mengisi Data Barang

Gambar 3.18 berikut merupakan diagram activity untuk proses Mengubah

Data Barang.

Page 92: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

72  

  

Gambar 3.18 Diagram Activity Mengubah Data Barang

Gambar 3.19 berikut merupakan diagram activity untuk proses Menghapus

Data Barang.

Page 93: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

73  

  

Gambar 3.19 Diagram Activity Menghapus Data Barang

Gambar 3.20 berikut merupakan diagram activity untuk proses Mencari Data

Barang.

Gambar 3.20 Diagram Activity Mencari Data Barang

Gambar 3.21 berikut merupakan diagram activity untuk proses Cetak

Laporan.

Page 94: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

74  

  

Gambar 3.21 Diagram Activity Cetak Laporan

Gambar 3.22 berikut merupakan diagram activity untuk proses Membuat

Account Baru.

Page 95: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

75  

  

Gambar 3.22 Diagram Activity Membuat Account Baru

Gambar 3.23 berikut merupakan diagram activity untuk proses Menghapus

Account.

Page 96: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

76  

  

Gambar 3.23 Diagram Activity Menghapus Account

Gambar 3.24 berikut merupakan diagram activity untuk proses Mencatat

Retur Barang.

G

ambar 3.24 Diagram Activity Mencatat Retur Barang

Page 97: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

77  

  

Page 98: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

78  

  

3.6 Diagram Class

Gambar 3.25 berikut merupakan diagram class sistem.

 

Gambar 3.25 Diagram class sistem

Page 99: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

79  

  

3.7 Diagram Sequence

Identifikasi Kelas dalam Use-case Design

Use case Log in

Interface, Controller, dan Entity Classes dari Use-case LOG IN

Interface Classes Controller Classes Entity Classes

W01 - Halaman

Login

cekLogin Admin

Use case Log out

Interface, Controller, dan Entity Classes dari Use-case LOG OUT

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

cekLogout Admin

Use case Merakit computer

Interface, Controller, dan Entity Classes dari Use-case Merakit

komputer

Interface Classes Controller Classes Entity Classes

W03 - Halaman

Utama Pembeli

W04 – Halaman

Produk

transaksiJual Pembeli

Penjualan

Penjualan_Barang

Barang

Page 100: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

80  

  

Use case Mengisi data pembelian

Interface, Controller, dan Entity Classes dari Use-case Mengisi data

pembelian

Interface

Classes

Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W17 –

Halaman Menu

Pembelian

W24 –

Halaman Menu

Tambah

Pembelian

ManipulasiPembelian Pembelian

Pembelian_Barang

Barang

Use case Mengubah data pembelian

Interface, Controller, dan Entity Classes dari Use-case Mengubah

data pembelian

Interface Classes Controller Classes Entity Classes

W17 – Halaman

Menu Pembelian

W02 - Halaman

Utama Admin

W26 – Halaman

ManipulasiPembelian Pembelian

Page 101: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

81  

  

Menu Ubah

Pembelian

Use case Menghapus data pembelian

Interface, Controller, dan Entity Classes dari Use-case Menghapus

data pembelian

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W17 – Halaman

Menu Pembelian

ManipulasiPembelian Pembelian

Use case Mengubah status penjualan

Interface, Controller, dan Entity Classes dari Use-case Mengubah

status penjualan

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W17 – Halaman

Menu Penjualan

W26 – Halaman

Menu Ubah

Penjualan

ManipulasiPenjualan Penjualan

Use case Menghapus data penjualan

Page 102: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

82  

  

Interface, Controller, dan Entity Classes dari Use-case Menghapus

account

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W17 – Halaman

Menu Penjualan

ManipulasiPenjualan Penjualan

Use case Mengisi komentar

Interface, Controller, dan Entity Classes dari Use-case Mengisi

komentar

Interface Classes Controller Classes Entity Classes

W03 - Halaman

Utama Pembeli

W05 – Halaman

Komentar

ManipulasiKomentar Komentar

Use case Menjawab komentar

Interface, Controller, dan Entity Classes dari Use-case Menjawab

komentar

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W06 – Halaman

Menu Komentar

ManipulasiKomentar Komentar

Page 103: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

83  

  

W07 – Halaman

Jawab Komentar

Use case Menghapus komentar

Interface, Controller, dan Entity Classes dari Use-case Menghapus

komentar

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W06 – Halaman

Menu Komentar

W08 – Halaman

Hapus Komentar

ManipulasiKomentar Komentar

Use case Mengisi berita

Interface, Controller, dan Entity Classes dari Use-case Mengisi berita

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W09 – Halaman

Menu Berita

W10 – Halaman

Tambah Berita

ManipulasiBerita Admin

Berita

Page 104: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

84  

  

Use case Mengubah berita

Interface, Controller, dan Entity Classes dari Use-case Mengubah berita

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W09 – Halaman

Menu Berita

W11 – Halaman

Ubah Berita

ManipulasiBerita Admin

Berita

Use case Menghapus berita

Interface, Controller, dan Entity Classes dari Use-case Menghapus

berita

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W09 – Halaman

Menu Berita

W12 – Halaman

Hapus Berita

ManipulasiBerita Berita

Page 105: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

85  

  

Use case Mengisi data barang

Interface, Controller, dan Entity Classes dari Use-case Mengisi data

barang

Interface Classes Controller

Classes

Entity Classes

W02 - Halaman

Utama Admin

W25 – Halaman

Menu Detail

Pembelian

W14 – Halaman

Tambah Data

Barang

Manipulasi

Pembelian

Pembelian

Barang

Pembelian_Barang

Use case Mengubah data barang

Interface, Controller, dan Entity Classes dari Use-case Mengubah

data barang

Interface

Classes

Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W13 – Halaman

Menu Barang

W15 – Halaman

Ubah Data

ManipulasiBarang Pembelian

Barang

Pembelian_Barang

Page 106: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

86  

  

Barang

Use case Menghapus data barang

Interface, Controller, dan Entity Classes dari Use-case Menghapus

data barang

Interface

Classes

Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W13 – Halaman

Menu Barang

W16 – Halaman

Hapus Data

Barang

ManipulasiBarang Pembelian

Barang

Pembelian_Barang

Use case Mencari data barang

Interface, Controller, dan Entity Classes dari Use-case Mencari data

barang

Interface Classes Controller Classes Entity Classes

W03 - Halaman

Utama Pembeli

ManipulasiBarang Barang

Page 107: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

87  

  

Use case Cetak laporan

Interface, Controller, dan Entity Classes dari Use-case Mencetak

laporan

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W17 – Halaman

Menu Pembelian

W18 – Halaman

Menu Penjualan

W19 – Halaman

Cetak Laporan

CetakLaporan Pembelian_Barang

Pembelian

Penjualan

Penjualan_Barang

Barang

Use case Membuat account baru

Interface, Controller, dan Entity Classes dari Use-case Membuat

account baru

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W20 – Halaman

Menu Account

W21 – Halaman

Buat Account

ManipulasiAccount Admin

Page 108: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

88  

  

Use case Menghapus account

Interface, Controller, dan Entity Classes dari Use-case Menghapus

account

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W20 – Halaman

Menu Account

W22 – Halaman

Hapus Account

ManipulasiAccount Admin

Use case Mencatat retur barang

Interface, Controller, dan Entity Classes dari Use-case Mencatat retur

barang

Interface Classes Controller Classes Entity Classes

W02 - Halaman

Utama Admin

W23 – Halaman

Menu Retur

ManipulasiRetur Retur Penjualan

Penjualan_Retur

Page 109: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

89  

  

Diagram Sequence untuk Use-case Log in

Gambar 3.26 Diagram sequence Log in

Diagram Sequence untuk Use-case Log out

Pemilik / Pegawai

<<interface>>Halaman Utama

Admin

<<controller>> cekLogout

Admin

Login berhasil

Pilih menu Log out

cekLogout()

Keluar dari halaman Admin

Gambar 3.27 Diagram sequence Log out

Page 110: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

90  

  

Diagram Sequence untuk Use-case Merakit komputer

Gambar 3.28 Diagram sequence Merakit computer

Page 111: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

91  

  

Diagram Sequence untuk Use-case Mengisi data pembelian

Gambar 3.29 Diagram sequence Mengisi data pembelian

Diagram Sequence untuk Use-case Mengubah data pembelian

Gambar 3.30 Diagram sequence Mengubah data pembelian

Page 112: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

92  

  

Diagram Sequence untuk Use-case Menghapus data pembelian

Gambar 3.31 Diagram sequence Menghapus data pembelian

Page 113: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

93  

  

Diagram Sequence untuk Use-case Mengubah status penjualan 

Gambar 3.32 Diagram sequence Mengubah status penjualan

 

Page 114: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

94  

  

Diagram Sequence untuk Use-case Menghapus data penjualan 

Gambar 3.33 Diagram sequence Menghapus data penjualan

Page 115: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

95  

  

Diagram Sequence untuk Use-case Mengisi komentar

Gambar 3.34 Diagram sequence Mengisi komentar

Diagram Sequence untuk Use-case Menjawab komentar

Gambar 3.35 Diagram sequence Menjawab komentar

Page 116: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

96  

  

Diagram Sequence untuk Use-case Menghapus komentar

Gambar 3.36 Diagram sequence Menghapus komentar

Diagram Sequence untuk Use-case Mengisi berita

Gambar 3.37 Diagram Sequence Mengisi berita

Page 117: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

97  

  

Diagram Sequence untuk Use-case Mengubah berita

Gambar 3.38 Diagram Sequence Mengubah berita

Diagram Sequence untuk Use-case Menghapus berita

Gambar 3.39 Diagram Sequence Menghapus berita

Page 118: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

98  

  

Diagram Sequence untuk Use-case Mengisi data barang

Gambar 3.40 Diagram Sequence Mengisi data barang

Diagram Sequence untuk Use-case Mengubah data barang

 

Gambar 3.41 Diagram Sequence Mengubah data barang

Page 119: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

99  

  

Diagram Sequence untuk Use-case Menghapus data barang

Gambar 3.42 Diagram Sequence Menghapus data barang

Diagram Sequence untuk Use-case Mencari data barang

Alt-step

<<interface>>Halaman Utama

Pembeli

<<controller>> manipulasi

Barang

data ketemu

Barang

setelah Login

memasukkan kata kuncicariBarang(kataKunci)

data tidak ketemu

tampilkan data

tampilkan pesan data tidak ada

Pembeli

Gambar 3.43 Diagram Sequence Mencari data barang

Page 120: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

100  

  

Page 121: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

101  

Diagram Sequence untuk Use-case Cetak laporan

Gambar 3.44 Diagram Sequence Cetak laporan

Page 122: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

102  

  

Page 123: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

103  

  

Diagram Sequence untuk Use-case Membuat account baru

Alt-step

<<interface>>Halaman Utama

Admin

<<controller>> manipulasi

AccountAdmin

<<interface>>Halaman menu

Account

nilai salah

nilai benar

<<interface>>Halaman Buat

Account

setelah login

mengakses menu account

buat account barumengisi data account baru

account berhasil dibuat

account gagal dibuat

tambahAdmin(user,pass,status)

Pemilik

Gambar 3.45 Diagram Sequence Membuat account baru

Sequence Diagram untuk Use-case Menghapus account

Gambar 3.46 Sequence Diagram Menghapus account

Page 124: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

104  

  

Diagram Sequence untuk Use-case Mencatat retur barang

Alt-step

<<interface>>Halaman Utama

Admin

<<controller>> manipulasi

Retur

Retur Penjualan

<<interface>>Halaman menu

Retur

nilai salah

nilai benar

setelah login

mengakses menu retur

mengisi data barang returcatatRetur()

data retur ditambahkan

data retur gagal ditambahkan

Penjualan_Retur

catatBarangRetur(barang, jumlah)

Pemilik / Pegawai

Gambar 3.47 Diagram Sequence Mencatat retur barang

3.8 Diagram Class Desain (lampiran)

3.9 Desain Fisikal Tabel

Tabel 3.24 merupakan desain fisikal tabel admin.

Nama field Tipe data lebar keterangan

username varchar 255 nama admin (primary

key)

password varchar 255 kata sandi

status enum ‘pegawai’,’pemilik’ status admin

Tabel 3.25 merupakan desain fisikal tabel barang.

Nama field Tipe data lebar keterangan

Page 125: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

105  

  

idBarang varchar 50 kode barang(primary key)

nama varchar 255 nama barang

stokBarang int 11 stok barang

harga double 11 harga jual barang

garansi int 11 garansi barang

keterangan text infromasi detail mengenai

barang

file_gambar varchar 50 nama file untuk gambar

barang

tanggal_data_masuk timestamp tanggal data barang masuk

idJenisBarang int 11 kode jenis barang (foreign

key)

Tabel 3.26 merupakan desain fisikal untuk tabel berita.

Nama field Tipe data lebar keterangan

idBerita int 11 kode berita (primary key)

judulBerita varchar 255 judul berita

isiBerita text isi berita

gambar varchar 255 nama file untuk gambar

berita

tanggalBerita date tanggal berita masuk

username varchar 255 nama user yang

Page 126: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

106  

  

memasukkan berita

(foreign key)

Tabel 3.27 merupakan desain fisikal untuk tabel jenis barang

Nama field Tipe data lebar keterangan

idJenisBarang int 11 kode jenis barang

(primary key)

namaJenisBarang varchar 255 jenis barang

Tabel 3.28 merupakan desain fisikal untuk tabel komentar

Nama field Tipe data lebar keterangan

idKomentar int 11 kode komentar (primary

key)

nama varchar 255 user yang memberi 

komentar

email varchar 255 email user

isiKomentar text isi komentar

tglKomentar date tanggal komentar masuk

jawabanKomentar text jawaban komentar

username varchar 255 nama user yang

menjawab komentar

(foreign key)

Page 127: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

107  

  

Tabel 3.29 merupakan desain fisikal untuk tabel pembeli

Nama field Tipe data lebar keterangan

idPembeli int 11 kode pembeli (primary

key)

nama varchar 255 nama pembeli

alamat varchar 255 alamat pembeli

email varchar 100 email pembeli

noTelpon varchar 20 nomor telpon pembeli

Tabel 3.30 merupakan desain fisikal untuk tabel pembelian

Nama field Tipe data lebar keterangan

idPembelian int 11 kode pembelian (primary

key)

noFaktur varchar 50 nomor faktur pembelian

distributor varchar 255 namam distributor

tanggalPembelian date tanggal data pembelian

keterangan varchar 255 keterangan pembayaran

Tabel 3.31 merupakan desain fisikal untuk tabel pembelian_barang

Nama field Tipe data lebar keterangan

idBeli_barang int 11 kode detail pembelian

(primary key)

Page 128: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

108  

  

idBarang varchar 50 kode barang (foreign

key)

idPembelian int 11 kode pembelian (foreign

key)

hargaBeli double harga pembelian barang

jumlah int 11 jumlah barang yang

dibeli

Tabel 3.32 merupakan desain fisikal untuk tabel penjualan

Nama field Tipe data lebar keterangan

idPenjualan int 11 kode penjualan (primary

key)

idPembeli int 11 kode pembeli (foreign

key)

noNota varchar 50 nomor nota penjualan

tanggalPenjualan date tanggal penjualan

statusPenjualan enum 'belum bayar',

'sudah bayar', 'batal'

status pembayaran

penjualan

Tabel 3.33 merupakan desain fisikal untuk tabel penjualan_barang

Nama field Tipe data lebar keterangan

idJual_barang int 11 kode detail penjualan

(primary key)

Page 129: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

109  

  

idBarang varchar 50 kode barang (foreign

key)

idPenjualan int 11 kode penjualan (foreign

key)

hargaJual double harga penjualan barang

jumlah int 11 jumlah barang yang

dijual

Tabel 3.34 merupakan desain fisikal untuk tabel penjualan_retur

Nama field Tipe data lebar keterangan

idJual_retur int 11 kode detail retur

(primary key)

idRetur varchar 20 kode retur (foreign key)

idPenjualan int 11 kode penjualan (foreign

key)

idBarang varchar 50 kode barang (foreign

key)

jumlah int 11 jumlah barang yang

diretur

Tabel 3.35 merupakan desain fisikal untuk tabel returpenjualan

Nama field Tipe data lebar keterangan

idRetur varchar 20 kode retur (primary key)

Page 130: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

110  

  

tanggalRetur date tanggal retur barang

Page 131: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

107  

3.10 Daftar Stored Procedure

Sistem yang dibangun menggunakan stored procedure untuk melakukan manipulasi data di basis data. Tabel 3.36

merupakan daftar seluruh stored procedure yang digunakan pada sistem ini.

Tabel 3.36 daftar seluruh stored procedure yang digunakan dalam sistem

Nama Stored Procedure

Penjelasan Proses Sequence

Input dan Output Tabel dan Field yang bersangkutan

SPAdminTambah Digunakan untuk menambah data admin.

Membuat account baru

Input : pUsername pPassword, pStatus. Output : konfirmasi.

Tabel : admin. Field : username, password, status.

SPAdminSelect Digunakan untuk melakukan pengecekan username dan password.

Log in Input : pUsername pPassword, pStatus. Output : konfirmasi.

Tabel : admin. Field : username, password, status.

SPAdminHapus Digunakan untuk menghapus data admin.

Menghapus account

Input : pUsername pPassword. Output : konfirmasi.

Tabel : admin. Field : username, password.

SPBarangTambah Digunakan untuk menambah data barang

Mengisi data barang

Input : pIdBarang, pNama, pHargaPokok, pGaransi, pJenisBrg. Output : konfirmasi

Tabel : barang. Field : idBarang, nama, stokBarang, harga, garansi, idJenisBarang, keterangan

Page 132: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

108  

SPBarangUbah Digunakan untuk mengubah data barang

Mengubah data barang

Input : pIdBarang, pNama, pHarga, pGaransi, pKeterangan, pIdJenis. Output : konfirmasi.

Tabel : barang Field : idBarang, nama, stokBarang, harga, garansi, idJenisBarang, keterangan

SPBarangHapus Digunakan untuk menghapus data barang

Menghapus data barang

Input : pIdBarang. Output : konfirmasi.

Tabel : barang, penjualan_barang, pembelian_barang, penjualan_retur Field : idBarang

SPBarangUpload Digunakan untuk mengubah data nama file gambar barang

Mengubah data barang

Input : pIdBarang, pFile. Output : konfirmasi.

Tabel : barang. Field : file_gambar, idBarang.

SPBeritaTambah Digunakan untuk menambah data berita.

Mengisi berita Input : pJudul, pIsiBerita, pUsername. Output : konfirmasi.

Tabel : berita Field : judulBerita, isiBerita, tanggalBerita, username.

SPBeritaUbah Digunakan untuk mengubah data berita.

Mengubah berita

Input : pId, pJudul, pIsiBerita, pUsername. Output : konfirmasi.

Tabel : berita Field : idBerita, judulBerita, isiBerita, username.

SPBeritaHapus Digunakan untuk menghapus data berita.

Menghapus berita

Input : pId. Output : konfirmasi.

Tabel : berita Field : idBerita.

SPBeritaUpload Digunakan untuk mengubah data nama file gambar berita.

Mengubah berita

Input : pId, pGambar. Output : konfirmasi.

Tabel : berita. Field : idBerita, gambar.

SPKomentarMasuk Digunakan untuk memasukkan data komentar.

Mengisi komentar

Input : pNama, pEmail, pIsi. Output : konfirmasi.

Tabel : komentar. Field : nama, email, isiKomentar, tglKomentar.

Page 133: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

109  

SPKomentarJawab Digunakan untuk mengubah data komentar.

Menjawab komentar

Input : pId, pJawaban, pUsername. Output : konfirmasi.

Tabel : komentar. Field : idKomentar, jawabanKomentar, username.

SPKomentarHapus Digunakan untuk menghapus data komentar.

Menghapus komentar

Input : pId. Output : konfirmasi.

Tabel : komentar. Field : idKomentar.

SPPembelianTambah Digunakan untuk menambah data pembelian

Mengisi data pembelian

Input : pNoFaktur, pDistributor, ptglBeli, pKeterangan, pIdBarang, pHargaBeli, pJumlah Output : konfirmasi.

Tabel : pembelian, pembelian_barang, barang. Field : noFaktur, distributor, tanggalPembelian, keterangan, idBarang, idPembelian, hargaBeli, jumlah.

SPPembelianUbah Digunakan untuk mengubah data pembelian

Mengubah data pembelian

Input : pIdBeli, pNoFaktur, pDistributor, ptglBeli, pKeterangan. Output : konfirmasi.

Tabel : pembelian Field : idPembelian, noFaktur, distributor, tanggalPembelian, keterangan.

SPPembelianHapus Digunakan untuk menghapus data pembelian.

Menghapus data pembelian

Input : pIdBeli. Output : konfirmasi.

Tabel : pembelian Field : idPembelian.

SPPenjualanTambah Digunakan untuk menambah data penjualan.

Merakit komputer

Input : pNamaPembeli, pAlamat, pEmail, pTelpon, pJumlahBarang, pIdBarang, pNota. Output : konfirmasi

Tabel : barang, penjualan, penjualan_barang, pembeli Field : nama, alamat, email, noTelpon, idPembeli, noNota, tanggalPenjualan, idBarang, idPenjualan, hargaJual, jumlah, stokBarang.

Page 134: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

110  

SPPenjualanUbah Digunakan untuk mengubah status penjualan.

Mengubah status penjualan

Input : pIdPenj, pStatus Output : konfirmasi.

Tabel : barang, penjualan, penjualan_barang Field : jumlah, idBarang, statusPenjualan, stokBarang.

SPPenjualanHapus Digunakan untuk menghapus penjualan.

Menghapus data penjualan

Input : pIdJual Output : konfirmasi

Tabel : penjualan Field : idPenjualan.

SPReturTambah Digunakan untuk menambah data retur.

Mencatat retur barang

Input : pIdRetur , pTglRetur, pIdJual, pIdBrg, pJumlahRetur Output : konfirmasi

Tabel : penjualan_barang, penjualan_retur, returpenjualan Field : idRetur, idPenjualan, idBarang, jumlah.

Daftar stored procedure yang terkait dengan manajemen transaksi ditampilkan pada tabel 3.37 berikut.

Tabel 3.37 daftar stored procedure yang terkait dengan manajemen transaksi

Nama stored procedure

Alasan Keterangan

SPPembelianTambah Penambahan data pembelian, data detail pembelian dan update stok barang yang terdapat pada tabel barang. Mengantisipasi data detail pembelian yang masuk secara bersamaan dan mengantisipasi jika pada proses penambahan ini tidak semua commit.

Kondisi awal AUTOCOMMIT=0 Status commit jika data pembelian, data detail pembelian telah dimasukkan dan data stok barang telah di-update.Data pembelian akan dimasukkan jika belum ada di database. Status rollback jika data detail pembelian telah ada di database. Setelah proses selesai nilai AUTOCOMMIT=1.

Page 135: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

111  

SPPenjualanTambah Penambahan data penjualan, data detail penjualan dan update stok barang yang terdapat pada tabel barang. Mengantisipasi data detail penjualan yang meng-update data stok barang secara bersamaan dan mengantisipasi proses penambahan ini tidak semua commit.

Kondisi awal AUTOCOMMIT=0 Status commit jika data penjualan, data pembeli, data detail penjualan telah dimasukkan dan data stok barang telah di-update.Data penjualan dan data pembeli akan dimasukkan jika belum ada di database. Status rollback jika data stok barang = 0 atau jumlah barang dipesan > stok barang. Setelah proses selesai nilai AUTOCOMMIT=1.

Page 136: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

112  

  

3.11 Desain Manajemen Transaksi

Pada basisdata terdapat manajemen transaksi pembelian untuk mengatur

transaksi pembelian yang masuk ke basisdata secara bersamaan. Proses

pengaturan ini digambarkan pada Gambar 3.48 berupa flowchart manajemen

transaksi.

Page 137: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

113  

  

Gambar 3.48 flowchart manajemen transaksi pembelian

Page 138: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

114  

  

Selain pada transaksi pembelian, transaksi penjualan juga menggunakan

manajemen transaksi untuk mengatur data penjualan yang masuk. Gambar

3.49 merupakan flowchart manajemen transaksi penjualan.

Page 139: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

115  

  

Gambar 3.49 flowchart manajemen transaksi penjualan

Page 140: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

116  

  

3.12 Desain Teknologi

Sistem yang akan dibangun berbasis web dengan database. Arsitektur sistem

ditunjukkan dengan Gambar 3.50 di bawah ini.

 

Gambar 3.50 Arsitektur Three Tier

Page 141: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

117  

  

3.13 Desain Input

3.13.1 Desain input Pegawai

Gambar 3.51 merupakan desain input untuk halaman Log in.

Gambar 3.51 halaman Log in

Gambar 3.52 merupakan desain input pada menu barang yang digunakan

Pegawai untuk mengisikan data pembelian barang.

Page 142: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

118  

  

Gambar 3.52 Halaman tambah data barang

Gambar 3.53 merupakan desain input yang digunakan Pegawai untuk

mengubah data barang.

Page 143: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

119  

  

Gambar 3.53 Halaman ubah data barang

Gambar 3.54 merupakan desain input pada menu cetak untuk melakukan

pencetakan laporan penjualan maupun pembelian sesuai dengan inputan

yang dimasukkan.

Page 144: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

120  

  

Gambar 3.54 Halaman cetak laporan

Gambar 3.55 merupakan desain input menu cetak laporan untuk mengakses

data penjualan yang akan dibuatkan nota.

Page 145: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

121  

  

Gambar 3.55 Halaman data penjualan

Gambar 3.56 merupakan desain input pada menu cetak laporan untuk

mencari data retur penjualan.

Page 146: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

122  

  

Gambar 3.56 Halaman cari data retur penjualan

Gambar 3.57 merupakan desain input pada menu berita untuk menambah

berita.

Page 147: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

123  

  

Gambar 3.57 Halaman tambah berita

Gambar 3.58 merupakan desain input pada menu berita untuk mengubah

berita sesuai pilihan.

Page 148: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

124  

  

Gambar 3.58 Halaman ubah berita

Gambar 3.59 merupakan desain input pada menu komentar untuk menjawab

komentar dari Pembeli.

Page 149: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

125  

  

Gambar 3.59 Halaman jawab komentar

Gambar 3.60 merupakan desain input pada menu komentar untuk menjawab

komentar dari Pembeli.

Page 150: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

126  

  

Gambar 3.60 Halaman buat account

3.13.2 Desain input Pembeli

Gambar 3.61 merupakan desain input untuk Pembeli dalam perakitan

komputer. Pada desain ini terdapat inputan untuk mengisi identitas Pembeli

dan komponen yang akan dibeli. Pada halaman ini, manajemen transaksi

akan mengatur transaksi yang terjadi jika dilakukan bersamaan untuk

masalah lost update problem.

Page 151: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

127  

  

Gambar 3.61 Halaman perakitan komputer

Gambar 3.62 merupakan desain input untuk Pembeli dalam pengisian

komentar.

Page 152: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

128  

  

Gambar 3.62 Halaman pengisian komentar

3.14 Desain Output

3.14.1 Desain output Pegawai

Gambar 3.63 merupakan desain output Halaman Utama Admin.

Page 153: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

129  

  

Gambar 3.63 Halaman Utama Admin 

Gambar 3.64 merupakan desain output yang menampilkan data barang yang

ada di toko komputer. Pada halaman ini terdapat fasilitas pencarian data

barang.

Page 154: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

130  

  

Gambar 3.64 Halaman menu data barang

Gambar 3.65 merupakan desain output yang menampilkan detail dari data

barang yang akan dihapus.

Page 155: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

131  

  

Gambar 3.65 Halaman hapus data barang 

Gambar 3.66 merupakan desain output yang menampilkan data penjualan

yang akan dicetak.

Page 156: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

132  

  

Gambar 3.66 Halaman cetak laporan penjualan 

Gambar 3.67 merupakan desain output yang menampilkan data pembelian

yang akan dicetak.

Page 157: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

133  

  

Gambar 3.67 Halaman cetak laporan pembelian 

Gambar 3.68 merupakan desain output menu cetak laporan untuk mencetak

nota penjualan.

Page 158: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

134  

  

Gambar 3.68 Halaman cetak nota

Gambar 3.69 merupakan desain output menu cetak laporan untuk mencatat

retur penjualan.

Page 159: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

135  

  

Gambar 3.69 Halaman catat retur penjualan

Gambar 3.70 merupakan desain output yang menampilkan data berita.

Page 160: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

136  

  

Gambar 3.70 Halaman menu berita 

Gambar 3.71 merupakan desain output yang menampilkan detail dari data

berita yang akan dihapus.

Page 161: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

137  

  

Gambar 3.71 Halaman hapus berita 

Gambar 3.72 merupakan desain output yang menampilkan data komentar.

Page 162: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

138  

  

Gambar 3.72 Halaman menu komentar 

Gambar 3.73 merupakan desain output yang menampilkan detail dari data

komentar yang akan dihapus.

Page 163: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

139  

  

Gambar 3.73 Halaman hapus komentar 

Gambar 3.74 merupakan desain output yang menampilkan detail dari data

account yang terdapat di database.

Page 164: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

140  

  

Gambar 3.74 Halaman menu account 

Gambar 3.75 merupakan desain output yang menampilkan detail dari data

account yang akan dihapus.

Page 165: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

141  

  

Gambar 3.75 Halaman hapus account 

3.14.2 Desain output Pembeli

Gambar 3.76 merupakan desain output untuk menampilkan halaman utama

Pembeli.

Page 166: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

142  

  

Gambar 3.76 Halaman utama Pembeli 

Gambar 3.77 merupakan desain output untuk menampilkan detail data

transaksi dan melakukan pencetakan bukti transaksi.

Page 167: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

143  

  

Gambar 3.77 Halaman cetak transaksi

Gambar 3.78 merupakan desain output untuk menampilkan berita-berita

terbaru dari toko komputer.

Page 168: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

144  

  

Gambar 3.78 Halaman berita 

Gambar 3.79 merupakan desain output untuk menampilkan data Pegawai

yang dapat dihubungi jika ada komplain dari Pembeli.

Page 169: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

145  

  

Gambar 3.79 Halaman menu contact

Page 170: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

146  

BAB IV

IMPLEMENTASI SISTEM 

Implementasi merupakan tahap membangun aplikasi dari perancangan yang

telah dijelaskan pada bab sebelumnya. Pada bab ini dijelaskan implementasi konsep

manajemen transaksi pada website penjualan komputer DATATEK. Konsep

manajemen transaksi digunakan pada pencatatan penjualan dan pembelian.

4.1 Implementasi halaman user

Pada halaman user terdapat beberapa menu yang dapat diakses. Halaman

utama user berisi informasi mengenai produk terbaru, komentar yang masuk dan

berita terbaru seputar komputer. Gambar 4.1 merupakan halaman utama user.

Page 171: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

147  

  

Gambar 4.1 Halaman utama user

Pada menu belanja user dapat melihat daftar barang yang dipesan dan dapat

melakukan pemesanan dengan mengisi identitas diri terlebih dahulu. Untuk

menambah daftar barang pesanan user dapat mengakses menu produk kemudian

mengklik cart pada produk yang diinginkan. Gambar 4.2 merupakan halaman belanja

user.

Page 172: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

148  

  

Gambar 4.2 halaman belanja user

Pada saat user meng-klik tombol Order, maka proses akan berlanjut ke

ServletPenjualanTambah.java. Pada kelas ini dilakukan proses validasi data input-an

dengan mengecek apakah data yang masuk kosong atau tidak. Selain itu juga

dilakukan validasi terhadap data e-mail dan daftar barang pesanan. Setelah proses

validasi berhasil maka dilakukan proses penambahan data penjualan. Sebelum

melakukan penambahan data terlebih dahulu dibentuk 3 buah obyek dari kelas

penjualan.java, penjualan_barang.java dan barang.java. Setelah itu data yang masuk

diinisialisasi ke setiap obyek dan kemudian dilakukan penambahan data melalui kelas

Page 173: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

149  

  

penjualan.java. Data penjualan yang tidak berhasil masuk akan ditampung di

session.Session ini akan dikirimkan ke halaman detail belanja di mana user dapat

mengetahui status pemesanan user. Pada kelas ServletPenjualanTambah.java juga

terdapat suatu method getCode untuk membuat kode transaksi yang juga menjadi

nomor nota penjualan. Kelas ServletPenjualanTambah.java dapat dilihat pada Listing

4.1 di bawah ini.

package Servlet; import DataModel.Pembeli; import DataModel.Penjualan; import DataModel.Penjualan_Barang; import java.io.IOException; import java.io.PrintWriter; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Vector; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * * @author Fan */ public class ServletPenjualanTambah extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher rd = null; PrintWriter pw = response.getWriter(); Penjualan p = new Penjualan(); Penjualan_Barang pb = new Penjualan_Barang(); Pembeli pmb = new Pembeli(); String idBarang = null; String jumlahBarang = null; // ambil session dari halaman sebelumnya HttpSession produk = request.getSession();

Page 174: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

150  

  

String nama = request.getParameter("textNama"); String alamat = request.getParameter("textAlamat"); String email = request.getParameter("textEmail"); String telpon = request.getParameter("textTelpon"); if(nama.isEmpty()==true || alamat.isEmpty()==true || email.isEmpty()==true || telpon.isEmpty()==true || email.contains("@")==false || produk.getAttribute("belanja")==null) { pw.println("<script language=\"javascript\">" + "window.alert('Terdapat data yang tidak diisikan atau data pesanan kosong');" + "history.back();" + "</script>"); } else { // set data pembeli pmb.setNamaPembeli(nama); pmb.setAlamat(alamat); pmb.setEmail(email); pmb.setNoTelpon(telpon); String sessionID = produk.getId(); Vector jumlah = (Vector) produk.getAttribute("belanja"); // set noNota Calendar cal = new GregorianCalendar(); int tahun = cal.get(Calendar.YEAR); String kodeNota = getCode(sessionID); String nota = "datatek/" + tahun + "/" + kodeNota; p.setNoNota(nota); // buat session untuk tampung data yang gagal masuk HttpSession produkKosong = request.getSession(); Vector tampungData = new Vector(); for (int i = 0; i < jumlah.size(); i++) { if (jumlah.get(i) != null) { idBarang = request.getParameter("idBarang" + i); jumlahBarang = request.getParameter("jumlah" + i); // set data barang pb.setJumlahBarang(Integer.valueOf(jumlahBarang)); pb.setIdBarang(idBarang); pw.println("<br>id barang dan jumlah : " + idBarang + " " + jumlahBarang); if (p.insertPenjualan(pmb, pb)==0) { tampungData.addElement(idBarang); } } } produk.removeAttribute("belanja"); produkKosong.setAttribute("produkKosong", tampungData);

Page 175: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

151  

  

rd = request.getRequestDispatcher("belanjadetail.jsp?id="+kodeNota); rd.forward(request, response); } } public String getCode(String sessionID){ StringBuffer code = new StringBuffer(); String enkripsi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; int index = 0; for(int i=0;i<sessionID.length();i++) { index = (int) Math.floor(Math.random()*sessionID.length()); code.append(enkripsi.charAt(index)); } return code.toString(); } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }

Listing 4.1 Kelas ServletPenjualanTambah.java

Setelah proses transaksi selesai, user mendapat konfirmasi status pemesanan.

Pada halaman ini, user diberi kode transaksi untuk melakukan pembayaran. Selain

itu, user juga mendapat informasi apakah semua produk dapat dipesan atau terdapat

Page 176: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

152  

  

produk yang gagal dipesan dikarenakan stok produk yang tidak mencukupi jumlah

pesanan. Gambar 4.3 merupakan halaman detail belanja user.

Gambar 4.3 halaman detail belanja user

Selain melakukan transaksi pemesanan, user juga dapat mengakses berita-

berita terbaru yang disajikan di website ini, informasi mengenai produk-produk yang

ada, memberikan komentar serta melakukan pencarian data produk. Untuk

mengakses berita-berita user dapat mengakses menu berita. Gambar 4.4 merupakan

halaman berita.

Page 177: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

153  

  

Gambar 4.4 halaman berita

User dapat melakukan pengisian komentar pada halaman komentar. Pada

halaman ini juga ditampilkan komentar-komentar yang telah masuk. Gambar 4.5

merupakan halaman komentar.

Page 178: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

154  

  

Gambar 4.5 halaman komentar

Selain itu website ini juga menyediakan menu contact us yang berisi informasi

toko komputer DATATEK. Gambar 4.6 merupakan halaman contact us.

Page 179: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

155  

  

 Gambar 4.6 halaman contact us

Pada setiap halaman terdapat input-an untuk pencarian produk. Pencarian

produk ini dilakukan berdasarkan nama produk dan jenis produk. Gambar 4.7

merupakan halaman hasil pencarian produk.

Page 180: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

156  

  

Gambar 4.7 halaman cari produk

4.2 Implementasi halaman admin

Sebelum mengakses halaman admin terlebih dahulu dilakukan login agar tidak

semua user dapat masuk ke halaman admin. Gambar 4.8 merupakan halaman login.

Page 181: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

157  

  

Gambar 4.8 halaman login

Proses login dimulai dari halaman login dengan mengisikan Username dan

password yang telah tersedia. Selain itu juga dipilih status login sebagai pegawai atau

pemilik. Setelah admin meng-klik tombol login maka proses dilanjutkan ke

ServletLogin.java. Kelas ini melakukan pengecekan data admin yang dimasukkan

dengan data yang ada di database. Username dan password yang diinputkan diterima

untuk melakukan pengecekan di database dengan membuat obyek dari kelas admin

untuk kemudian memanggil method cekLogin pada kelas admin. Method ini yang

melakukan koneksi ke database kemudian mengecek data input-an yang masuk

Page 182: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

158  

  

sudah sesuai atau tidak. Jika sesuai maka proses dilanjutkan ke halaman utama admin

sedangkan jika tidak sesuai maka proses akan dilanjutkan ke halaman index.jsp yang

merupakan halaman kosong. Listing 4.2 berikut merupakan kelas ServletLogin.java.

package Servlet; import DataModel.Admin; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * * @author Fan */ public class ServletLogin extends HttpServlet { // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Admin admin = new Admin(); RequestDispatcher rd = null; PrintWriter pw = response.getWriter(); String user = request.getParameter("Username"); String pass = request.getParameter("password"); String status = request.getParameter("status"); admin.setUsername(user); admin.setPassword(pass); admin.setStatus(status);

Page 183: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

159  

  

if(admin.cekLogin()) { HttpSession login = request.getSession(); login.setAttribute("loginStatus", status); rd = request.getRequestDispatcher("/datatekAdmin/adminMain.jsp"); rd.forward(request, response); } else { rd = request.getRequestDispatcher("index.jsp"); rd.forward(request, response); } pw.close(); } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }

Listing 4.2 Kelas ServletLogin.java

Gambar 4.9 merupakan halaman utama admin. Halaman ini tampil jika proses

login sebagai admin berhasil dilakukan.

Page 184: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

160  

  

Gambar 4.9 halaman utama admin

Pada halaman ini berisi data penjualan terbaru dan komentar baru yang telah

masuk. Pada halaman admin terdapat beberapa menu seperti penjualan, pembelian,

barang, berita, komentar, dan account. Menu penjualan mempunyai beberapa menu

untuk melakukan melihat daftar retur, pengubahan status penjualan, penghapusan

data penjualan dan pencetakan laporan. Pada halaman penjualan ditampilkan data

penjualan yang masuk. Gambar 4.10 merupakan halaman penjualan.

Page 185: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

161  

  

Gambar 4.10 halaman penjualan

Jika menu daftar retur di-klik maka halaman akan berpindah ke halaman daftar

retur. Halaman ini berisi data barang yang telah diretur. Admin dapat menghapus data

retur dengan meng-klik menu hapus yang terdapat pada setiap data. Gambar 4.11

merupakan halaman daftar retur.

Page 186: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

162  

  

Gambar 4.11 halaman daftar retur

Pada penjualan juga dapat dilakukan pengubahan status penjualan. Untuk

mengubah status penjualan admin meng-klik menu ubah yang terdapat pada setiap

data penjualan. Pada halaman ubah data penjualan, admin hanya dapat mengubah

status penjualan dari data penjualan yang belum melakukan pembayaran. Gambar

4.12 merupakan halaman ubah data penjualan.

Page 187: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

163  

  

Gambar 4.12 halaman ubah data penjualan

Untuk menghapus data penjualan admin dapat meng-klik menu hapus pada

setiap data yang ada di halaman penjualan. Admin dapat melihat detail dari data

penjualan dengan meng-klik menu detail pada setiap data. Detail data penjualan

disajikan pada halaman detail penjualan. Jika penjualan telah dibayarkan, maka pada

menu detail penjualan akan muncul menu retur untuk melakukan retur barang.

Gambar 4.13 dan 4.14 merupakan halaman detail penjualan dan halaman retur

penjualan.

Page 188: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

164  

  

 Gambar 4.13 halaman detail penjualan

Page 189: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

165  

  

Gambar 4.14 halaman retur penjualan

Pada halaman detail penjualan admin juga dapat mencetak nota penjualan

dengan meng-klik menu cetak nota. Gambar 4.15 merupakan halaman cetak nota.

Page 190: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

166  

  

Gambar 4.15 halaman cetak nota

Proses cetak nota dilakukan di kelas ServletCetakLaporan.java. Pada kelas ini

diterima input berupa tipe laporan. Dari tipe laporan ini kemudian dilakukan proses

pemanggilan file dengan ekstensi .jasper yang merupakan file laporan tersebut. Tipe

laporan berupa beli, jual dan nota. Listing 4.3 berikut adalah kode dari kelas

ServletCetakLaporan.java.

package Servlet; import DataModel.ConnectionUtil; import java.util.HashMap; import java.io.*; import java.io.IOException; import java.io.PrintWriter; import java.sql.*;

Page 191: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

167  

  

import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.jasperreports.engine.JasperRunManager; /** * * @author Fan */ public class ServletCetakLaporan extends HttpServlet { // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String tipe = request.getParameter("radioLaporan"); if(tipe.equals("beli")){ String tanggalawal=request.getParameter("tanggal_awal"); String tanggalakhir=request.getParameter("tanggal_akhir"); ConnectionUtil connection; ServletOutputStream servletOutputStream = response.getOutputStream(); InputStream reportStream = this.getServletContext().getResourceAsStream("/report/pembelianDatatek.jasper"); HashMap parameterMap = new HashMap(); parameterMap.put("tanggal_awal", tanggalawal); parameterMap.put("tanggal_akhir", tanggalakhir); try { connection = new ConnectionUtil(); JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameterMap, connection.getConnection()); connection.closeConnection(); response.setContentType("application/pdf");

Page 192: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

168  

  

servletOutputStream.flush(); servletOutputStream.close(); } catch (Exception e) { // display stack trace in the browser StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); e.printStackTrace(printWriter); response.setContentType("text/plain"); response.getOutputStream().print(stringWriter.toString()); } } else if(tipe.equals("jual")) { String tanggalawal=request.getParameter("tanggal_awal"); String tanggalakhir=request.getParameter("tanggal_akhir"); ConnectionUtil connection; ServletOutputStream servletOutputStream = response.getOutputStream(); InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream("/report/penjualanDatatek.jasper"); HashMap parameterMap = new HashMap(); parameterMap.put("tanggal_awal", tanggalawal); parameterMap.put("tanggal_akhir", tanggalakhir); try { connection = new ConnectionUtil(); JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameterMap, connection.getConnection()); connection.closeConnection(); response.setContentType("application/pdf"); servletOutputStream.flush(); servletOutputStream.close(); } catch (Exception e) { // display stack trace in the browser StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); e.printStackTrace(printWriter); response.setContentType("text/plain"); response.getOutputStream().print(stringWriter.toString()); } } else if(tipe.equals("nota")) { String idJual=request.getParameter("idj");

Page 193: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

169  

  

// String tanggalakhir=request.getParameter("tanggal_akhir"); ConnectionUtil connection; ServletOutputStream servletOutputStream = response.getOutputStream(); InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream("/report/notaDatatek.jasper"); HashMap parameterMap = new HashMap(); parameterMap.put("idJual", idJual); // parameterMap.put("tanggal_akhir", tanggalakhir); try { connection = new ConnectionUtil(); JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameterMap, connection.getConnection()); connection.closeConnection(); response.setContentType("application/pdf"); servletOutputStream.flush(); servletOutputStream.close(); } catch (Exception e) { // display stack trace in the browser StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); e.printStackTrace(printWriter); response.setContentType("text/plain"); response.getOutputStream().print(stringWriter.toString()); } } } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }

Listing 4.3 kelas ServletCetakLaporan.java.

Page 194: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

170  

  

Halaman pembelian mempunyai beberapa menu seperti menambah data

pembelian, mengubah data pembelian, menghapus data pembelian dan mencetak

laporan. Halaman ini juga menampilkan data-data pembelian. Gambar 4.16

merupakan halaman pembelian.

Gambar 4.16 halaman pembelian

Untuk menambah data pembelian admin perlu meng-klik menu tambah

pembelian yang kemudian akan menampilkan form untuk mengisi data pembelian

dan data barang. Gambar 4.17 merupakan halaman tambah pembelian.

Page 195: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

171  

  

Gambar 4.17 halaman tambah pembelian

Pada halaman tambah pembelian terdapat tombol simpan untuk menyimpan

data pembelian dan barang. Proses pencatatan data pembelian dilakukan di kelas

ServletPembelianTambah.java. Pada kelas ini mula-mula dilakukan pengecekan

input-an. Jika terdapat input-an yang kosong maka proses akan kembali ke halaman

tambah pembelian dengan peringatan bahwa terdapat data yang tidak diisikan. Proses

pencatatan data ke database dilakukan jika proses pengecekan berhasil. Data

pembelian dan data barang yang masuk akan disimpan di obyek pembelian dan obyek

barang yang dibentuk dari masing-masing kelas. Kemudian dilakukan pemanggilan

Page 196: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

172  

  

method insertPembelian pada kelas pembelian dengan parameter masukan berupa

obyek barang dan obyek pembelian_barang. Setelah method insertPembelian

dijalankan proses akan berlanjut ke halaman detail pembelian. Listing 4.4 berikut

merupakan kelas ServletPembelianTambah.java.

package Servlet; import DataModel.Barang; import DataModel.Pembelian; import DataModel.Pembelian_Barang; import java.io.IOException; import java.io.PrintWriter; import java.sql.Date; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * @author Fan */ public class ServletPembelianTambah extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Pembelian pembelian = new Pembelian(); Barang barang = new Barang(); Pembelian_Barang p_barang = new Pembelian_Barang(); RequestDispatcher rd = null; PrintWriter pw = response.getWriter(); String path; String status = request.getParameter("status"); String idPembelian; String faktur = request.getParameter("noFaktur"); String distributor = request.getParameter("distributor");

Page 197: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

173  

  

String tglBeli = request.getParameter("tglBeli"); String keterangan = request.getParameter("keterangan"); String idBarang = request.getParameter("idBarang"); String hargaBeli = request.getParameter("hargaBeli"); String jumlah = request.getParameter("jumlah"); if (faktur == "" || distributor == "" || tglBeli == "" || keterangan == "" || idBarang == "" || hargaBeli == "" || jumlah == "") { pw.println("<script language=\"javascript\"> " + "window.alert('Terdapat data yang tidak diisikan');" + "history.back(); " + "</script>"); } else { pembelian.setNoFaktur(faktur); pembelian.setDistributor(distributor); pembelian.setTanggalBeli(Date.valueOf(tglBeli)); pembelian.setKeteranganBeli(keterangan); barang.setIdBarang(idBarang); p_barang.setHargaBeli(Double.valueOf(hargaBeli)); p_barang.setJumlahBarang(Integer.valueOf(jumlah)); pembelian.insertPembelian(barang, p_barang); if (status.equals("insert")) { idPembelian = pembelian.getID(faktur); path = "/datatekAdmin/adminPembelianDetail.jsp?id=" + idPembelian; } else { idPembelian = request.getParameter("id"); path = "/datatekAdmin/adminPembelianDetail.jsp?id=" + idPembelian; } rd = request.getRequestDispatcher(path); rd.forward(request, response); } pw.close(); }

Page 198: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

174  

  

@Override public String getServletInfo() { return "Short description"; }// </editor-fold> }

Listing 4.4 kelas ServletPembelianTambah.java

Method insertPembelian dari kelas penjualan ditampilkan di bawah ini. Pada

method ini dilakukan pemanggilan prosedur untuk menambah data pembelian.

Kemudian parameter dengan tanda “?” dari prosedur diisikan dan prosedur

dijalankan. Listing 4.5 berikut merupakan method insertPembelian.

public boolean insertPembelian(Barang brg, Pembelian_Barang p_brg) { boolean insert_status = false; conn = new ConnectionUtil(); String query = "call SPPembelianTambah(?,?,?,?,?," + "?,?)"; try { cstmt = conn.getConnection().prepareCall(query); // tabel Pembelian cstmt.setString(1, this.noFaktur); cstmt.setString(2, this.distributor); cstmt.setDate(3, this.tanggalBeli); cstmt.setString(4, this.keteranganBeli); // tabel Barang cstmt.setString(5, brg.getIdBarang()); // tabel pembelian_barang cstmt.setDouble(6, p_brg.getHargaBeli()); cstmt.setInt(7, p_brg.getJumlahBarang()); cstmt.executeQuery(); insert_status = true; cstmt.close(); conn.closeConnection(); } catch(SQLException ex) {System.out.println(ex);} return insert_status; }

Listing 4.5 method insertPembelian

Page 199: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

175  

  

Admin dapat mengubah data pembelian dengan meng-klik menu ubah yang

terdapat pada setiap data pembelian. Pada halaman ubah data pembelian admin

hanya mengubah detail dari data pembelian tanpa menghapus data barang yang ada

pada pembelian. Gambar 4.18 merupakan halaman ubah data pembelian.

Gambar 4.18 halaman ubah data pembelian

Proses pengubahan data pembelian dilakukan di kelas

ServletPembelianUbah.java. Pada kelas ini dilakukan pengecekan data input kosong

atau tidak. Jika kosong proses akan kembali ke halaman ubah data pembelian dengan

peringatan bahwa terdapat data yang belum diisikan. Jika proses pengecekan ini

Page 200: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

176  

  

berhasil, maka akan dilanjutkan dengan pencatatan data pembelian yang akan diubah.

Proses pencatatan ini dilakukan dengan memanggil method updatePembelian yang

terdapat pada kelas pembelian. Listing 4.6 berikut merupakan kelas

ServletPembelianUbah.java.

package Servlet; import DataModel.Pembelian; import java.io.IOException; import java.io.PrintWriter; import java.sql.Date; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * @author Fan */ public class ServletPembelianUbah extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Pembelian pembelian = new Pembelian(); RequestDispatcher rd = null; PrintWriter pw = response.getWriter(); String idBeli = request.getParameter("idBeli"); String noFaktur = request.getParameter("noFaktur"); String distributor = request.getParameter("distributor"); String tglBeli = request.getParameter("tglBeli"); String keterangan = request.getParameter("keterangan"); if(distributor.isEmpty() || tglBeli.isEmpty() || keterangan.isEmpty()) { pw.println("<script language=\"javascript\">" +

Page 201: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

177  

  

"window.alert('Terdapat data yang tidak diisikan');" + "history.back();" + "</script>"); } else { pembelian.setIdBeli(Integer.valueOf(idBeli)); pembelian.setNoFaktur(noFaktur); pembelian.setDistributor(distributor); pembelian.setTanggalBeli(Date.valueOf(tglBeli)); pembelian.setKeteranganBeli(keterangan); pembelian.updatePembelian(); rd = request.getRequestDispatcher("/datatekAdmin/adminPembelian.jsp"); rd.forward(request, response); } pw.close(); } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }

Listing 4.6 kelas ServletPembelianUbah.java

Admin dapat menghapus data dengan meng-klik menu hapus pada halaman

pembelian. Proses penghapusan data pembelian dilakukan oleh

ServletPembelianHapus.java. Pada kelas ini dilakukan penghapusan data dengan

membentuk obyek dari kelas pembelian. Kemudian dengan obyek tersebut dipanggil

method deletePembelian untuk menghapus data pembelian berdasarkan idPembelian.

Listing 4.7 berikut merupakan kelas ServletPembelianHapus.java.

package Servlet; import DataModel.Pembelian; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException;

Page 202: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

178  

  

import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * @author Fan */ public class ServletPembelianHapus extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Pembelian beli = new Pembelian(); RequestDispatcher rd = null; PrintWriter pw = response.getWriter(); String id = request.getParameter("idPemb"); beli.setIdBeli(Integer.valueOf(id)); if(beli.deletePembelian()) { pw.println("<script language=\"javascript\">" + "window.alert('Pembelian terhapus');" + "</script>"); } else { pw.println("<script language=\"javascript\">" + "window.alert('Pembelian tidak terhapus');" + "</script>"); } rd = request.getRequestDispatcher("/datatekAdmin/adminPembelian.jsp"); rd.forward(request, response); pw.close(); } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() {

Page 203: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

179  

  

return "Short description"; }// </editor-fold> }

Listing 4.7 kelas ServletPembelianHapus.java

Untuk mencetak laporan admin meng-klik menu cetak laporan kemudian

proses dilanjutkan ke halaman cetak laporan. Pada halaman ini dapat dicetak laporan

pembelian maupun penjualan berdasarkan tanggal pembelian maupun penjualan.

Gambar 4.19 merupakan halaman cetak laporan.

Gambar 4.19 halaman cetak laporan

Page 204: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

180  

  

Untuk menampilkan laporan pembelian maupun penjualan admin dapat meng-

klik tombol preview pada halaman cetak laporan. Proses cetak laporan dilakukan oleh

ServletCetakLaporan.java. Gambar 4.20 merupakan halaman laporan pembelian.

Gambar 4.20 halaman laporan pembelian

Pada halaman barang ditampilkan data barang yang telah masuk dari

pembelian. Halaman ini mempunyai menu seperti pengaturan jenis barang, upload

foto barang dan ubah data barang. Pada halaman pengaturan jenis barang admin dapat

menambah, mengubah dan menghapus jenis barang yang ada. Untuk menambah

barang admin mengisikan input jenis barang kemudian meng-klik tombol simpan.

Page 205: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

181  

  

Untuk mengubah data jenis barang admin meng-klik menu ubah pada data jenis

barang kemudian mengganti data tersebut pada input-an dan menyimpannya dengan

meng-klik tombol simpan. Untuk menghapus data jenis barang admin meng-klik

menu hapus. Gambar 4.21 merupakan halaman pengaturan jenis barang.

Gambar 4.21 halaman pengaturan jenis barang

Admin dapat meng-klik menu upload untuk meng-upload foto barang. Pada

halaman upload foto admin hanya dapat meng-upload file yang bertipe jpg, bmp atau

png. Pengaturan upload dilakukan oleh ServletUploadBarangFoto.java. Kelas ini

melakukan pengecekan tipe file yang di-upload. Jika sesuai maka file akan disimpan

Page 206: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

182  

  

dan proses dilanjutkan ke ServletSimpanDataUpload.java untuk kemudian

menyimpan nama file gambar ke database. Listing 4.8 berikut merupakan kelas

ServletUploadBarangFoto.java.

package Servlet; import java.io.*; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItemIterator; import org.apache.commons.fileupload.FileItemStream; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.fileupload.util.Streams; /** * * @author Fan */ public class ServletUploadBarangFoto extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter pw = response.getWriter(); RequestDispatcher rd = null; String filename=null; try { //variabel untuk mengambil nilai request berupa multipart ato tidak boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { ServletFileUpload upload = new ServletFileUpload();

Page 207: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

183  

  

FileItemIterator iter = upload.getItemIterator(request); if(iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); filename = getRealName(item.getName()); String idBarang = request.getParameter("idBarang"); if(cekIsImage(filename)==false) { pw.println("<script language=\"javascript\">" + "window.alert('Cek ekstensi file'); " + "history.back();" + "</script>"); } // pw.println(name + " " + filename + "<br>" + // this.getServletContext().getRealPath("/") + idBerita); else { InputStream stream = item.openStream(); FileOutputStream savedFile; if (!item.isFormField()) { File file = new File (this.getServletContext().getRealPath("/")+ "DatatekPic/Produk/" + filename); if (file.exists()) { file.delete(); } savedFile = new FileOutputStream(file); Streams.copy(stream, savedFile, true); pw.println("File berhasil disimpan "); rd = request.getRequestDispatcher("../datatekAdmin/" + "ServletSimpanDataUpload?id="+idBarang+"&data=barang&file="+filename); rd.forward(request, response); } } } } else { pw.println("not multipart"); } } catch (Exception ex) {

Page 208: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

184  

  

} } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> public String getRealName(String name) { int lastIndex = name.length(); int newIndex = name.lastIndexOf("\\"); String real = name.substring(newIndex + 1, lastIndex); return real; } public boolean cekIsImage(String filename) { boolean kondisi = false; String fileEKS = filename.substring(filename.length()-3,filename.length()); String[] ekstension = {"JPG","jpg","PNG","png","BMP","bmp"}; for(int i=0;i<ekstension.length;i++) { if(fileEKS.equals(ekstension[i])) { kondisi = true; } } return kondisi; } }

Listing 4.8 kelas ServletUploadBarangFoto.java

Pada halaman barang admin juga dapat mengubah data barang. Dengan meng-

klik ubah pada data yang akan diubah maka proses akan berlanjut ke halaman ubah

data barang. Pada halaman ini admin dapat mengganti data barang tetapi tidak dapat

mengubah stok barang. Gambar 4.22 merupakan halaman ubah data barang.

Page 209: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

185  

  

Gambar 4.22 halaman ubah data barang

Pada menu berita admin dapat menambah, mengubah, menghapus dan upload

foto berita. Untuk menambah berita admin dapat meng-klik menu tambah. Kemudian

proses akan berlanjut ke halaman tambah berita dan admin dapat mengisikan data

berita kemudian meng-klik tombol simpan untuk menyimpan data berita. Admin

dapat meng-klik menu ubah untuk mengubah data berita yang ada. Setelah meng-klik

menu ubah maka proses akan berlanjut ke halaman ubah berita dan admin dapat

mengganti data berita. Untuk menghapus data berita admin hanya perlu meng-klik

menu hapus pada halaman berita. Menu upload foto berita digunakan untuk

Page 210: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

186  

  

menambah atau mengubah gambar yang akan ditampilkan pada suatu berita. Proses

upload ini sama dengan proses upload foto barang. Gambar 4.23, 4.24, 4.25 dan 4.26

menunjukkan halaman berita, halaman tambah berita, halaman ubah dan halaman

upload foto berita.

Gambar 4.23 halaman berita

Page 211: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

187  

  

Gambar 4.24 halaman tambah berita

Page 212: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

188  

  

Gambar 4.25 halaman ubah berita

Page 213: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

189  

  

Gambar 4.26 halaman upload foto berita

Menu komentar digunakan untuk menjawab dan menghapus komentar. Pada halaman

komentar ditampilkan data-data komentar yang masuk. Komentar dapat ditampilkan

semua atau komentar yang belum dijawab. Admin dapat meng-klik menu jawab

untuk menjawab komentar. Selain itu admin juga dapat menghapus data komentar

dengan meng-klik menu hapus pada halaman komentar. Gambar 4.27 dan 4.28

merupakan halaman komentar dan halaman jawab komentar.

Page 214: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

190  

  

Gambar 4.27 halaman komentar

Page 215: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

191  

  

Gambar 4.28 halaman jawab komentar

Menu account merupakan menu yang hanya dapat diakses oleh admin yang

berstatus pemilik. Pada halaman ini admin dapat menambah dan menghapus data

admin. Admin dapat meng-klik menu tambah untuk menambah data admin. Pengisian

data admin baru dilakukan di halaman tambah account kemudian data dapat disimpan

dengan meng-klik tombol simpan. Admin dapat meng-klik menu hapus untuk

melakukan penghapusan data admin. Gambar 4.29 dan 4.30 merupakan halaman

admin dan halaman tambah admin.

Page 216: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

192  

  

Gambar 4.29 halaman admin

Page 217: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

193  

  

Gambar 4.30 halaman tambah admin 

4.3 Implementasi Manajemen Transaksi

Manajemen transaksi digunakan pada pencatatan penjualan dan pencatatan

pembelian. Skenario Manajemen Transaksi untuk pencatatan 2 pembelian sebagai

berikut :

Waktu (t)

Transaksi 1 (T1) Transaksi 2 (T2) Stok Barang (s)

t1 t2 t3

Start transaction T1; IF not exists(T1) then IF not exists(data pembelian T1) then

Start transaction T2; WAITING…

s s s

Page 218: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

194  

  

t4 t5 t6 t7 t8 t9 t10 t11

INSERT data pembelian; END IF; SELECT s FOR UPDATE; s = s + stok T1; IF exists(data pembelian T1) then INSERT data detail pembelian; END IF; COMMIT; ELSE ROLLBACK; END IF;

WAITING… WAITING… WAITING… IF not exists(T2) then IF not exists(data pembelian T2) then INSERT data pembelian; END IF; SELECT s FOR UPDATE; s = s + stok T2; IF exists(data pembelian T2) then INSERT data detail pembelian; END IF; COMMIT; ELSE ROLLBACK; END IF;

s s + stok T1 s + stok T1 s + stok T1 s + stok T1 s + stok T1 s + stok T1 + stok T2 s + stok T1 + stok T2

Skenario di atas diimplementasikan dalam pemrograman sebagai berikut :

Page 219: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

195  

  

DELIMITER $$ DROP PROCEDURE IF EXISTS `datatekkom`.`SPPembelianTambah`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `SPPembelianTambah`(pNoFaktur varchar(50), pDistributor varchar(255), ptglBeli date,pKeterangan varchar(255), pIdBarang varchar(50), pNama varchar(255), pHargaPokok double, pGaransi int(11), pJenisBrg int(11), pHargaBeli double, pJumlah int(11) ) BEGIN declare vPembelian int(11); -- declare vIdJenis int(11); declare vStok int(11); SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET AUTOCOMMIT=0; START TRANSACTION; -- cek data pembelian(tidak boleh 1 pembelian, barangnya sama) IF NOT EXISTS(select * from pembelian_barang where idBarang like pIdBarang AND idPembelian=(select idPembelian from pembelian where noFaktur like pNoFaktur and distributor like pDistributor)) THEN -- insert ke tb pembelian IF NOT EXISTS(select * from pembelian where noFaktur like pNoFaktur and distributor like pDistributor) THEN INSERT INTO pembelian(noFaktur,distributor,tanggalPembelian,keterangan) VALUES(pNoFaktur,pDistributor,ptglBeli,pKeterangan); END IF; -- insert ke tb barang SELECT stokBarang into vStok from barang where idBarang like pIdBarang FOR UPDATE; UPDATE barang SET stokBarang=if(isnull(vStok),0,vStok)+pJumlah WHERE idBarang like pIdBarang; -- insert ke tb pembelian_barang select idPembelian into vPembelian from pembelian where noFaktur like pNoFaktur AND distributor like pDistributor; IF EXISTS(select * from pembelian p, barang b where b.idBarang like pIdBarang and p.noFaktur like pNoFaktur and

Page 220: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

196  

  

distributor like pDistributor) THEN insert into pembelian_barang(idBarang,idPembelian,hargaBeli,jumlah) values(pIdBarang,vPembelian,pHargaBeli,pJumlah); END IF; COMMIT; ELSE ROLLBACK; END IF; SET AUTOCOMMIT=1; END$$ DELIMITER ;

Listing 4.9 Stored procedure untuk penambahan data pembelian 

Query di atas menunjukkan manajemen transaksi dengan metode 2 Phase

Locking pada pencatatan pembelian. Sebelum transaksi dimulai, AUTOCOMMIT

untuk transaksi ini diatur menjadi 0 agar data tidak tercatat secara otomatis sebelum

COMMIT. Selain itu level transaksi juga diatur menjadi SERIALIZABLE dan

transaksinya bertipe SESSION. Level transaksi SERIALIZABLE berarti transaksi

dijalankan satu per satu dan SESSION berarti level transaksi ini ditujukan untuk

transaksi yang akan dijalankan pada koneksi yang digunakan saat ini. Pada saat data

akan masuk, dilakukan pengecekan apakah data pembelian suatu barang yang masuk

sudah tercatat atau belum. Jika belum, maka dilakukan pengecekan terhadap data

pembelian. Jika data pembelian belum ada maka dilakukan penambahan data

pembelian. Kemudian proses dilanjutkan pada pengecekan data barang. Jika data

barang telah ada, maka data stok barang akan di-update. Dengan perintah

SELECT…FOR UPDATE, data stok barang dikunci(lock) terhadap akses transaksi

Page 221: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

197  

  

lain untuk kemudian dilakukan penambahan stok barang. Jika data barang tidak ada,

maka akan dilakukan penambahan data barang dengan perintah INSERT. Setelah

proses data barang dilakukan maka proses berlanjut ke pengecekan data detail

pembelian untuk kemudian dilakukan penambahan ke data detail pembelian. Setelah

proses detail data pembelian dilakukan, maka transaksi akan COMMIT. Transaksi

akan ROLLBACK jika data pembelian yang akan dimasukkan telah ada. Setelah

transaksi dilakukan AUTOCOMMIT kembali diatur menjadi 1.

Skenario Manajemen Transaksi untuk pencatatan penjualan sebagai berikut :

Waktu (t) Transaksi 1 (T1) Transaksi 2 (T2) Stok Barang (s)

t1 t2 t3 t4 t5 t6 t7

Start transaction T1; SELECT s FOR UPDATE; IF(s>0 and stok T1 <= s) IF not exists(data penjualan) then IF not exists(data pembeli) then INSERT data pembeli; END IF; INSERT data penjualan; END IF; INSERT detail penjualan; UPDATE s = s – stok T1; SELECT statusInsert = 1;

Start transaction T2; WAITING… WAITING… WAITING… WAITING… WAITING… WAITING… WAITING…

s s s s s s s s s - stok T1

Page 222: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

198  

  

t8 t9 t10 t11 t12 t13 t14 t15 t16

COMMIT; ELSE SELECT statusInsert = 0; ROLLBACK; END IF;

WAITING… SELECT s FOR UPDATE; IF(s>0 and stok T2 <= s) IF not exists(data penjualan) then IF not exists(data pembeli) then INSERT data pembeli; END IF; INSERT data penjualan; END IF; INSERT detail penjualan; UPDATE s = s – stok T2; SELECT statusInsert = 1; COMMIT; ELSE SELECT statusInsert = 0; ROLLBACK; END IF;

s - stok T1 s - stok T1 s - stok T1 s - stok T1 s - stok T1 s - stok T1 s - stok T1 s - stok T1 - stok T2 s - stok T1 - stok T2

Page 223: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

199  

  

Skenario di atas diimplementasikan dalam pemrograman sebagai berikut :

DELIMITER $$ DROP PROCEDURE IF EXISTS `datatekkom`.`SPPenjualanTambah`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `SPPenjualanTambah`(pNamaPembeli varchar(255), pAlamat varchar(255), pEmail varchar(100), pTelpon varchar(20), pJumlahBarang INT, pIdBarang varchar(50), pNota varchar(50), OUT pInsertStatus INT) BEGIN declare v_stok_barang INT; declare v_idPembeli INT; declare v_hargajual DOUBLE; declare v_statusInsert INT default 1; declare v_idPenjualan INT; SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET AUTOCOMMIT=0; START TRANSACTION; select harga into v_hargajual from barang where idBarang like pIdBarang; -- CEK STOK BARANG select stokBarang into v_stok_barang from barang where idBarang like pIdBarang FOR UPDATE; IF(v_stok_barang > 0 AND pJumlahBarang <= v_stok_barang) THEN -- cek data penjualan IF NOT EXISTS(select * from penjualan where noNota like pNota) THEN -- cek data pembeli IF NOT EXISTS(SELECT * FROM pembeli WHERE nama like pNamaPembeli AND email like pEmail AND noTelpon like pTelpon) THEN INSERT INTO pembeli(nama,alamat,email,noTelpon) VALUES(pNamaPembeli,pAlamat,pEmail,pTelpon); END IF; SELECT idPembeli INTO v_idPembeli FROM pembeli WHERE nama like pNamaPembeli AND email like pEmail AND noTelpon like pTelpon;

Page 224: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

200  

  

INSERT INTO penjualan(idPembeli,noNota,tanggalPenjualan) VALUES(v_idPembeli,pNota,now()); END IF; SELECT idPenjualan INTO v_idPenjualan FROM penjualan WHERE noNota like pNota; INSERT INTO penjualan_barang(idBarang,idPenjualan,hargaJual,jumlah) VALUES(pIdBarang,v_idPenjualan,v_hargajual,pJumlahBarang); -- UPDATE STOK BARANG UPDATE barang SET stokBarang = v_stok_barang - pJumlahBarang WHERE idBarang like pIdBarang; SELECT v_statusInsert INTO pInsertStatus; COMMIT; ELSE SET v_statusInsert=0; SELECT v_statusInsert INTO pInsertStatus; ROLLBACK; END IF; SET AUTOCOMMIT=1; END$$ DELIMITER ;

Listing 4.10 Stored procedure untuk penambahan data penjualan 

Query di atas menunjukkan manajemen transaksi dengan metode 2 Phase

Locking pada transaksi pencatatan penjualan. Sebelum transaksi dimulai,

AUTOCOMMIT untuk transaksi ini diatur menjadi 0 agar data tidak tercatat secara

otomatis sebelum COMMIT. Selain itu level transaksi juga diatur menjadi

SERIALIZABLE dan transaksinya bertipe SESSION. Level transaksi

SERIALIZABLE berarti transaksi dijalankan satu per satu dan SESSION berarti level

transaksi ini ditujukan untuk transaksi yang dijalankan pada koneksi yang digunakan

saat ini. Mula-mula dilakukan locking terhadap data stok barang agar tidak digunakan

oleh transaksi lain. Locking ini dilakukan dengan perintah SELECT…FOR

Page 225: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

201  

  

UPDATE. Kemudian data stok barang tersebut dicek apakah lebih dari 0 dan jumlah

barang pada data penjualan <= stok barang. Jika memenuhi kondisi tersebut, maka

proses akan berlanjut ke pengecekan data penjualan. Jika data penjualan belum ada

maka dilakukan penambahan data penjualan dan penambahan data pembeli. Data

pembeli akan ditambahkan jika data belum tercatat di database atau belum pernah

melakukan pembelian. Setelah pengecekan data penjualan dilakukan penambahan

data detail penjualan dan kemudian pengurangan data stok barang karena telah

dipesan. Jika semua proses telah berhasil dilakukan, maka status pencatatan data akan

diatur = 1 dan transaksi COMMIT. Transaksi akan ROLLBACK jika stok barang <=

0 atau jumlah pemesanan barang melebihi stok yang tersedia. Setelah transaksi

dilakukan AUTOCOMMIT kembali diatur menjadi 1. 

Page 226: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

202  

BAB V

ANALISA HASIL 

Pada bab ini dibahas mengenai hasil dari implementasi Manajemen Transaksi

pada pencatatan pembelian dan penjualan barang di toko komputer Datatek. Pada

pencatatan data pembelian, Manajemen Transaksi digunakan untuk mengatasi stok

barang yang dapat berubah setiap saat. Pada pencatatan penjualan, Manajemen

Transaksi digunakan untuk mengatasi suatu transaksi pemesanan barang yang diakses

secara bersamaan oleh pembeli. Transaksi pemesanan ini akan mempengaruhi stok

barang yang ada sehingga dapat terjadi pembeli tidak mendapatkan barang yang

diinginkan karena pemesanan terhadap barang yang sama telah dilakukan oleh

pembeli lain pada saat yang bersamaan sehingga stok tidak mencukupi untuk

dilakukan pemesanan. Manajemen transaksi dalam ruang lingkup ini menggunakan

teknik Two Phase Locking (2PL) untuk mengatasi masalah the lost update problem.

Pengujian manajemen transaksi penjualan dilakukan dengan skenario berikut :

1. Mula-mula dilakukan pemasukan data sampel barang. Contoh : processor Intel

Core 2 Duo E7300 sebanyak 2 buah. Gambar 5.1 adalah hasil pemasukan data

processor Intel Core 2 Duo E7300.

Page 227: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

203  

 

Gambar 5.1 hasil pemasukan data processor Intel Core 2 Duo E7300

2. User 1 melakukan pemesanan processor Intel Core 2 Duo E7300 sebanyak 2

buah. Gambar 5.2 merupakan halaman pemesanan yang dilakukan User 1.

Page 228: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

204  

 

Gambar 5.2 halaman pemesanan User 1

3. User 2 melakukan pemesanan produk yang sama sebanyak 2 buah. Gambar 5.3

merupakan halaman pemesanan yang dilakukan User 2.

Page 229: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

205  

 

Gambar 5.3 halaman pemesanan User 2

4. Pemesanan dilakukan secara bersamaan oleh User 1 dan User 2. User 1

mendapatkan produk yang dipesan dan User 2 tidak mendapatkan produk yang

sama karena stok barang sudah habis. Gambar 5.4 dan 5.5 adalah halaman

detail pemesanan User 1 dan User 2.

Page 230: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

206  

 

Gambar 5.4 halaman detail pemesanan User 1

Gambar 5.5 halaman detail pemesanan User 2

Page 231: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

207  

 

Gambar 5.6 merupakan stok produk processor Intel Core 2 Duo setelah terjadi

pemesanan oleh 2 User secara bersamaan.

Gambar 5.6 stok produk processor Intel Core 2 Duo setelah pemesanan oleh 2 User secara

bersamaan

Dari pengujian skenario di atas dapat disimpulkan bahwa manajemen transaksi

untuk penjualan dapat berfungsi dengan baik. Hal ini dibuktikan dengan salah satu

User tidak dapat melakukan pemesanan produk dikarenakan produk tersebut telah

dipesan terlebih dahulu oleh User yang lain.

Pengujian manajemen transaksi pembelian dilakukan dengan skenario berikut :

Page 232: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

208  

 

1. Mula-mula dimasukkan data sampel barang. Contoh : harddisk Fujitsu MHZ

sebanyak 2 buah. Gambar 5.7 adalah hasil pemasukan data sampel harddisk

Fujitsu MHZ.

Gambar 5.7 data sampel harddisk Fujitsu MHZ

2. User 1 melakukan pencatatan pembelian harddisk Fujitsu MHZ sebanyak 1

buah. Gambar 5.8 merupakan halaman pengisian data pembelian yang

dilakukan oleh User 1.

Page 233: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

209  

 

Gambar 5.8 halaman pengisian data pembelian yang dilakukan oleh User 1

3. User 2 melakukan pencatatan pembelian harddisk Fujitsu MHZ sebanyak 1

buah. Gambar 5.9 merupakan halaman pengisian data pembelian yang

dilakukan oleh User 2.

Page 234: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

210  

 

Gambar 5.9 halaman pengisian data pembelian yang dilakukan oleh User 2

4. User 1 dan User 2 melakukan pencatatan pembelian terhadap barang berupa

harddisk Fujitsu MHZ secara bersamaan. Gambar 5.10 dan 5.11 merupakan

halaman detail pembelian barang User 1 dan User 2.

Page 235: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

211  

 

Gambar 5.10 halaman detail pembelian barang User 1

Gambar 5.11 merupakan halaman detail pembelian barang User 2

Gambar 5.12 merupakan stok harddisk Fujitsu MHZ setelah dilakukan

pencatatan pembelian secara bersamaan oleh User 1 dan User 2.

Page 236: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

212  

 

Gambar 5.12 stok harddisk Fujitsu MHZ setelah dilakukan pencatatan pembelian

secara bersamaan oleh User 1 dan User 2

Dari pengujian skenario di atas dapat disimpulkan bahwa manajemen transaksi

untuk pembelian dapat berfungsi dengan baik. Hal ini dibuktikan dengan tidak

adanya kesalahan dalam pencatatan stok barang Fujitsu MHZ yang dilakukan secara

bersamaan oleh User 1 dan User 2.

Page 237: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

213  

BAB VI

PENUTUP 

Pada bab akhir dibahas kesimpulan dan saran dari hal-hal yang berkaitan

dengan konsep Manajemen Transaksi pada sistem penjualan komputer yang

mengambil contoh toko komputer DATATEK.

6.1 Kesimpulan

Dari implementasi Manajemen Transaksi dengan metode 2 Phase Locking

pada sistem penjualan komputer dengan mengambil studi kasus pada toko komputer

DATATEK dapat disimpulkan bahwa :

1. Manajemen transaksi dalam sistem penjualan komputer rakitan berbasis web

ini dapat berfungsi dengan baik.

2. Metode 2 Phase Locking yang digunakan pada sistem manajemen transaksi ini

dapat mengatasi masalah lost update problem akibat transaksi yang dilakukan

oleh 2 user dalam waktu yang bersamaan. Dengan metode ini dilakukan

locking pada proses yang mengakses data yang sama agar proses dijalankan

satu per satu. Metode ini dapat menjamin konsistensi data.

Page 238: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

214  

 

6.2 Saran

1. Implementasi website menggunakan metode 2 Phase Locking ini dilakukan

hanya untuk mengatasi masalah the lost update problem. Saran yang dapat

diberikan adalah mengembangkan implementasi ini untuk mengatasi masalah

concurrency control lainnya seperti the uncommitted dependency problem dan

the inconsistency analysis.

Page 239: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

 

DAFTAR PUSTAKA

Connoly, Thomas & Begg, Carolyn. Database Systems : A Practical Approach to

Design, Implementation and Management (ed.4). England : Addison-

Wesley. 2005.

Whitten, Jeffrey L., Bentley, Lonnie D., & with Kevin C Dittman. Systems Analysis

and Design Methods (ed.5). New York : McGraw-Hill. 2001.

Bruegge, Bernd & Dutoit, Allen H. Object-Oriented Software Engineering : Using

UML, Patterns and Java (ed.2). USA : Pearson Education, Inc. 2004.

Darmawan, J.B.Budi, S.T., M.Sc. Teknik Kontrol Concurrency Menggunakan 2PL

dalam MySQL untuk Menangani Masalah dalam Concurrency. Jurusan

Teknik Informatika Universitas Sanata Dharma. 2007.

Horstmann, Cay S & Cornell, Gary. Core Java 2 Volume II Advanced Features

(ed.7). California : Prentice Hall PTR. 2004.

Foenandioen, S.Kom., MM & Prakoso, Samuel, S.Kom. Pedoman Praktis :

Pengembangan Aplikasi Web Database Menggunakan Java Server Page.

Yogyakarta : Penerbit Andi. 2008.

Swastika, Rindra. Resep CSS (Cascading Style Sheet). Jakarta : Dian Rakyat. 2006. 

Page 240: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

  

LAMPIRAN

Page 241: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

Lampiran - 1  

 

 

 

 

 

 

 

Page 242: MANAJEMEN TRANSAKSI DALAM SISTEM PENJUALAN …

 

Lampiran - 2