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

   

  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

   

  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

   

   

   

   

  

MOTTO

   

  

“SEGALA SESUATU DAPAT TERJADI JIKA KITA

MELAKUKANNYA DENGAN SUNGGUH-SUNGGUH DAN

TANPA PUTUS ASA”

  

“I BELONG TO JESUS”

   

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 .

   

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.

   

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.

   

  8. Teman-teman TI 05 : Tepan, Mas Goundrex, Tomi, Cahyo, April, Icha, Kingkin, Ami, Ita, Niko dan teman-teman lain yang tidak dapat disebutkan satu-persatu. Terima kasih atas persahabatannya selama ini.

  9. Van Deventer-Maas Stichting (VDMS), terima kasih atas beasiswa yang telah diberikan kepada penulis sehingga berguna dalam perjalanan studi penulis.

  Dan semua teman-teman yang tidak dapat disebutkan satu-persatu.

   

PERNYATAAN KEASLIAN KARYA

  Saya menyatakan sesungguhnya bahwa Tugas Akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan daftar pustaka, sebagaimana karya ilmiah.

  Yogyakarta, 12 Agustus 2009 Penulis

  Johanes Taufan Sungkit

   

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

   

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

  Input

  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

   

  BAB V ANALISA HASIL ............................................................................................. 202 BAB VI PENUTUP ........................................................................................................ 213

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

  6.2 Saran ............................................................................................................... 214  DAFTAR PUSTAKA LAMPIRAN  

   

DAFTAR GAMBAR Keterangan Halaman

  12 Gambar 2.2 Simbol Aktor

  72 Gambar 3.21 Diagram Activity Cetak Laporan

  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

  73 Gambar 3.22 Diagram Activity Membuat Account Baru

  65 Gambar 3.13 Diagram Activity Menghapus Komentar

  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

  66 Gambar 3.14 Diagram Activity Mengisi Berita

  64 Gambar 3.12 Diagram Activity Menjawab Komentar

  12 Gambar 2.3 Activity diagram poin 1 sampai 5

  26 Gambar 3.2 Diagram Use-Case

  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

  27 Gambar 3.3 Diagram Activity Log in

Gambar 2.1 Simbol Use Case

  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

   

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

   

Gambar 4.12 Halaman ubah data penjualan 163Gambar 4.6 Halaman contact us 155Gambar 4.7 Halaman cari produk 156Gambar 4.8 Halaman login

  157

Gambar 4.9 Halaman utama admin 160Gambar 4.10 Halaman penjualan 161Gambar 4.11 Halaman daftar retur 162Gambar 4.13 Halaman detail penjualan 164

  153

Gambar 4.14 Halaman retur penjualan 165Gambar 4.15 Halaman cetak nota 166Gambar 4.16 Halaman pembelian 170Gambar 4.17 Halaman tambah pembelian 171Gambar 4.18 Halaman ubah data pembelian 175Gambar 4.19 Halaman cetak laporan 179Gambar 4.20 Halaman laporan pembelian 180Gambar 4.21 Halaman pengaturan jenis barang 181Gambar 4.5 Halaman komentar 154Gambar 4.4 Halaman berita

  Keterangan Halaman

Gambar 3.72 Desain output halaman menu komentar 138Gambar 3.65 Desain output halaman hapus data barang 131Gambar 3.66 Desain output halaman cetak laporan penjualan 132Gambar 3.67 Desain output halaman cetak laporan pembelian 133Gambar 3.68 Desain output halaman cetak nota 134Gambar 3.69 Desain output halaman catat retur penjualan 135Gambar 3.70 Desain output halaman menu berita 136Gambar 3.71 Desain output halaman hapus berita 137Gambar 3.73 Desain output halaman hapus komentar 139Gambar 4.3 Halaman detail belanja user 152Gambar 3.74 Desain output halaman menu account 140Gambar 3.75 Desain output halaman hapus account 141Gambar 3.76 Desain output halaman utama Pembeli 142Gambar 3.77 Desain output halaman cetak transaksi 143Gambar 3.78 Desain output halaman berita 144Gambar 3.79 Desain output halaman menu contact 145Gambar 4.1 Halaman utama user 147Gambar 4.2 Halaman belanja user 148Gambar 4.22 Halaman ubah data barang 185

   

Gambar 5.4 Halaman detail pemesanan user 1 206Gambar 5.12 Stok harddisk Fujitsu MHZ setelah dilakukan pencatatan pembelian secara bersamaan oleh user 1 danGambar 5.11 Halaman detail pembelian barang user 2 211Gambar 5.10 Halaman detail pembelian barang user 1 211

  210

Gambar 5.9 Halaman pengisian data pembelian yang dilakukan oleh user 2

  209

Gambar 5.8 Halaman pengisian data pembelian yang dilakukan oleh user 1Gambar 5.7 Data sampel harddisk Fujitsu MHZ 208

  207

Gambar 5.6 Stok produk processor Intel Core 2 Duo setelah pemesanan oleh 2 user secara bersamaanGambar 5.5 Halaman detail pemesanan user 2 206Gambar 5.3 Halaman pemesanan user 2 205

  Keterangan Halaman

Gambar 5.2 Halaman pemesanan user 1 204Gambar 5.1 Hasil pemasukan data processor Intel Core 2 Duo E7300 203Gambar 4.30 Halaman tambah admin 193

  192

Gambar 4.29 Halaman adminGambar 4.28 Halaman jawab komentar 191Gambar 4.27 Halaman komentar 190Gambar 4.26 Halaman upload foto berita 189Gambar 4.25 Halaman ubah berita 188Gambar 4.24 Halaman tambah berita 187

  186

Gambar 4.23 Halaman berita

  user 2 212

   

DAFTAR LISTING PROGRAM Keterangan Halaman

  Listing 4.1 Kelas ServletPenjualanTambah.java 149 Listing 4.2 Kelas ServletLogin.java 158 Listing 4.3 Kelas ServletCetakLaporan.java 166 Listing 4.4 Kelas ServletPembelianTambah.java 172 Listing 4.5 Method insertPembelian 174 Listing 4.6 Kelas ServletPembelianUbah.java 176 Listing 4.7 Kelas ServletPembelianHapus.java 177 Listing 4.8 Kelas ServletUploadBarangFoto.java 182 Listing 4.9 Stored procedure untuk penambahan data pembelian 195 Listing 4.10 Stored procedure untuk penambahan data penjualan 199  

DAFTAR TABEL Keterangan Halaman

  30 Tabel 3.3 Narasi Use-case Log out

  46 Tabel 3.15 Narasi Use-case Menghapus berita

Tabel 3.1 Ringkasan Use-Case

  55

  54 Tabel 3.21 Narasi Use-case Membuat account baru

  53 Tabel 3.20 Narasi Use-case Cetak laporan

  52 Tabel 3.19 Narasi Use-case Mencari data barang

  50 Tabel 3.18 Narasi Use-case Menghapus data barang

  49 Tabel 3.17 Narasi Use-case Mengubah data barang

  48 Tabel 3.16 Narasi Use-case Mengisi data barang

  45 Tabel 3.14 Narasi Use-case Mengubah berita

  32 Tabel 3.4 Narasi Use-case Merakit Komputer

  43 Tabel 3.13 Narasi Use-case Mengisi berita

  28 Tabel 3.2 Narasi Use-case Log in

  41 Tabel 3.11 Narasi Use-case Menjawab komentar

  40 Tabel 3.10 Narasi Use-case Mengisi komentar

  38 Tabel 3.9 Narasi Use-case Menghapus data penjualan

  37 Tabel 3.8 Narasi Use-case Mengubah status penjualan

  36 Tabel 3.7 Narasi Use-case Menghapus data pembelian

  34 Tabel 3.6 Narasi Use-case Mengubah data pembelian

  33 Tabel 3.5 Narasi Use-case Mengisi data pembelian

  42 Tabel 3.12 Narasi Use-case Menghapus komentar

   

  Keterangan Halaman

Tabel 3.22 Narasi Use-case Menghapus account

  56 Tabel 3.23 Narasi Use-case Mencatat retur barang

  57 Tabel 3.24 Desain fisikal tabel admin 100

Tabel 3.25 Desain fisikal tabel barang 100Tabel 3.26 Desain fisikal untuk tabel berita 101Tabel 3.27 Desain fisikal untuk tabel jenis barang 102Tabel 3.28 Desain fisikal untuk tabel komentar 102Tabel 3.29 Desain fisikal untuk tabel pembeli 103Tabel 3.30 Desain fisikal untuk tabel pembelian 103Tabel 3.31 Desain fisikal untuk tabel pembelian_barang 103Tabel 3.32 Desain fisikal untuk tabel penjualan 104Tabel 3.33 Desain fisikal untuk tabel penjualan_barang 104Tabel 3.34 Desain fisikal untuk tabel penjualan_retur 105Tabel 3.35 Desain fisikal untuk tabel returpenjualan 105Tabel 3.36 Daftar seluruh store procedure yang digunakan dalam sistem 107Tabel 3.37 daftar stored procedure yang terkait dengan manajemen 110 transaksi

   

   

   

PENDAHULUAN

  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-

  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.

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

  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?

  4    

  2. Bagaimana sistem mengatasi masalah the lost update problem pada saat transaksi yang dilakukan bersamaan oleh user?

  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

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

  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.

  6    

   

  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

  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

  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.

  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

  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.

  11  

  2. Downgrade the lock (menurunkan penguncian) yaitu dari exclusive lock ke shared lock.

  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.

  12  

  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

  13  

  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.

  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

  15  

Gambar 2.4 Activity diagram poin 6 sampai 8

  16  

Gambar 2.5 Activity diagram poin 9 dan 10

  17  

  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.

  18   d. Metode dengan parameter.

  e. Navigability.

  f. Ketergantungan (dependensi).

  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

  19   5.

   Messages 6. Activation bars 7. Return messages 8. Self-call 9. Frame

  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.

  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.

  20  

Gambar 2.7 Arsitektur J2EE

  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

  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

  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 :

  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 :

  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.

  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.

     

  3.1 Sistem yang Ada Saat Ini