• Tidak ada hasil yang ditemukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

N/A
N/A
Protected

Academic year: 2021

Membagikan "PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI"

Copied!
72
0
0

Teks penuh

(1)

i

PENERAPAN MANAJEMEN TRANSAKSI DALAM

SISTEM INFORMASI PRODUKSI PRINTING OUTDOOR

Skripsi

HALAMAN JUDUL BAHASA INDONESIA

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

Agnes Kartikasari NIM : 085314021

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

IMPLEMENTATION OF TRANSACTION MANAGEMENT IN

PRINTING PRODUCTION SYSTEM OUTDOOR

A Thesis

HALAMAN JUDUL BAHASA INGGRIS

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree In Informatics Engineering Department

By:

Agnes Kartikasari NIM : 085314021

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2015

(3)
(4)
(5)

v

(6)

vi

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

(7)

vii

ABSTRAK

Percetakan yang ada saat ini telah memasuki era digital printing, yaitu percetakan yang berbasis digital dan menggunakan format digital dalam pengolahannya. Kegiatan utama yang dilakukan di percetakan adalah transaksi penjualan. Untuk meningkatkan kinerja usaha percetakan, maka perlu dibangun sebuah sistem yang mampu melakukan kegiatan transaksi penjualan.

Pada Tugas Akhir ini akan dibuat sebuah sistem untuk menangani masalah

the lost update problem dengan menggunakan Two Phase Locking (2PL) untuk

mengurangi kesalahan pencatatan data pada saat transaksi berlangsung secara bersamaan. Sistem ini dikembangkan menggunakan bahasa pemrograman Java dengan database MySQL Server.

Hasil akhir yang diperoleh dari penggunaan Two Phase Locking (2PL) adalah proses manajemen transaksi dapat berjalan sehingga dapat mengatasi masalah data yang hilang (the lost update problem) ketika 2 atau lebih user melakukan transaksi secara bersamaan.

(8)

viii

ABSTRACT

Currently, printing production has entered the era of digital printing , which is digital -based printing and use the digital format in its processing . The main activities are conducted in the printing of sales transactions . To improve business performance printing , it is necessary to build a system capable of conducting sales transactions .

In this final project will be created a system to deal with the lost update problem by using Two Phase Locking ( 2PL ) to reduce data recording errors when the transaction takes place simultaneously . This system was developed using the Java programming language with MySQL database server .

The final results obtained from the use of Two Phase Locking ( 2PL ) is a transaction management process can be run so as to overcome the problem of lost data ( the lost update problem ) when two or more users conduct transactions simultaneously .

(9)

ix

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yesus Kristus yang telah senantiasa memberikan berkat dan rahmat yang tak berkesudahan serta kesempatan yang sangat berharga sehingga penulis dapat menyelesaikan skripsi dengan judul “Penerapan Manajemen Transaksi Dalam Sistem Informasi Produksi Printing Outdoor“.

Dalam kesempatan ini, penulis juga ingin mengucapkan terima kasih sebesar-besarnya terhadap semua pihak yang telah memberi dukungan dan semangat sehingga skripsi ini dapat selesai :

1. Ibu Ridowati Gunawan, S.Kom., M.T., selaku ketua jurusan Teknik Informatika sekaligus dosen pembimbing. Terima kasih atas semua bantuan , bimbingan, pengorbanan waktu, kesabaran, ilmu serta semangat yang telah diberikan.

2. Ibu Sri Hartati W., S.Si., M.Kom. dan ibu Paulina Heruningsih Prima Rosa, S.si., M.Sc. selaku dosen penguji. Terima kasih atas saran dan kritik yang telah diberikan.

3. Kedua orang tua serta adik-adikku tercinta, Terima kasih untuk semua kasih sayang dan perhatian yang tak terhingga.

4. Untuk Surya, Angga, Endra, Petra, Devi, Siska, Esy, Putri, Itha, Ela, Bebeth, Rista, Ade, Jnez, Ocha dan seluruh teman-teman Teknik Informatika angkatan 2008. Terima kasih atas dukungannya.

(10)

x

Penulis menyadari masih banyak kekurangan yang terdapat dalam laporan tugas akhir ini. Saran dan kritik sangat diharapkan untuk hasil yang lebih baik di masa depan.

Yogyakarta, 23 Juni 2015

(11)

xi

DAFTAR ISI

HALAMAN JUDUL BAHASA INDONESIA ... i

HALAMAN JUDUL BAHASA INGGRIS ... ii

HALAMAN PERSETUJUAN PEMBIMBING ... iii

HALAMAN PENGESAHAN... iv

PERNYATAAN KEASLIAN KARYA ... v

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vi

ABSTRAK ... vii

ABSTRACT ... viii

KATA PENGANTAR ... ix

DAFTAR ISI ... xi

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xiv

BAB I ... 1

PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 2

1.4. Tujuan dan Manfaat Penelitian... 3

1.5. Metodologi Penelitian ... 3

1.6. Sistematika Penulisan ... 5

BAB II ... 7

LANDASAN TEORI ... 7

2.1. Pengertian Informasi, Sistem Informasi dan Teknologi Informasi ... 7

2.2. Manajemen Transaksi... 7

2.2.1. Kontrol Konkurensi (Concurrency Control) ... 8

2.2.2. Two Phase Locking (2PL) ... 9

BAB III ... 14

(12)

xii

3.1. Analisis Sistem ... 14

3.1.1. Fase Definisi Ruang Lingkup (Scope Definition Phase) ... 14

3.1.2. Fase Analisis Masalah (Problem Analysis Phase) ... 14

3.1.2.1. Gambaran Sistem Lama ... 14

3.1.2.2. Gambaran Sistem yang Dikembangkan ... 15

3.1.3. Fase Analisis Kebutuhan (Requirement Analysis Phase) ... 15

3.1.3.1. Diagram Use Case ... 15

3.1.3.2. Ringkasan Use Case ... 16

3.1.3.3. Narasi use case ... 18

3.2. Perancangan Sistem ... 28

3.2.1. Fase Desain Logikal (Logical Design Phase) ... 28

3.2.1.1 Diagram Aktivitas (Activity Diagram)... 28

3.2.1.2 Pemodelan Data Konseptual (ER-Diagram) ... 35

3.2.1.3 Relational Model ... 36

3.2.2. Fase Desain Fisikal ... 37

3.2.2.1. Desain Fisikal Tabel (Physical Database Design) ... 37

3.2.2.2. Perancangan Manajemen Transaksi ... 39

3.2.2.3. Store procedure untuk manajemen transaksi ... 41

3.2.2.4. Perancangan Antarmuka (Interface) ... 41

BAB IV ... 44

IMPLEMENTASI SISTEM ... 44

4.1. Antarmuka Sistem Informasi Produksi Outdoor ... 44

4.1.1. Antarmuka Login ... 44

4.1.2. Antarmuka Pemesanan Order Outdoor ... 44

4.1.3. Antarmuka Pembayaran Order Outdoor ... 46

4.1.4. Antarmuka Penggabungan Order Outdoor ... 48

4.2. Implementasi Manajemen Transaksi ... 48

BAB V... 52

ANALISA HASIL ... 52

BAB VI ... 56

(13)

xiii

6.1 Kesimpulan ... 56 6.2 Saran ... 56 DAFTAR PUSTAKA ... 57

(14)

xiv

DAFTAR TABEL

Tabel 3. 1 Ringkasan Use Case ... 17

Tabel 3. 2 Narasi Use-Case Login ... 18

Tabel 3. 3 Narasi Use-Case Tambah order outdoor ... 19

Tabel 3. 4 Narasi Use-Case Hapus order outdoor ... 20

Tabel 3. 5 Narasi Use-Case Ubah order outdoor ... 21

Tabel 3. 6 Narasi Use-Case Lihat order outdoor ... 22

Tabel 3. 7 Narasi Use-Case Tambah pembayaran outdoor ... 22

Tabel 3. 8 Narasi Use-Case Ubah pembayaran outdoor ... 23

Tabel 3. 9 Narasi Use-Case Lihat pembayaran outdoor ... 24

Tabel 3. 10 Narasi Use-Case Tambah penggabungan outdoor ... 25

Tabel 3. 11 Narasi Use-Case Ubah penggabungan outdoor ... 26

Tabel 3. 12 Narasi Use-Case Lihat penggabungan outdoor ... 27

Tabel 3. 13 Tabel Fisikal User ... 37

Tabel 3. 14 Tabel Fisikal Barang ... 37

Tabel 3. 15 Tabel Fisikal Kategori... 37

Tabel 3. 16 Tabel Fisikal SalesOrderOutdoor ... 38

Tabel 3. 17 Tabel Fisikal PelunasanKuitansiOutdoor ... 38

Tabel 3. 18 Tabel Fisikal Gabung ... 38

Tabel 3. 19 Tabel Fisikal Pelanggan ... 38

DAFTAR GAMBAR

Gambar 3. 1 Diagram Use Case ... 16

Gambar 3. 2 Diagram Aktivitas Login ... 28

Gambar 3. 3 Diagram Tambah Sales Order Outdoor ... 29

Gambar 3. 4 Diagram Aktivitas Hapus Sales Order Outdoor ... 30

Gambar 3. 5 Diagram Aktivitas Ubah Sales Order Outdoor ... 30

Gambar 3. 6 Diagram Aktivitas Lihat Sales Order Outdoor ... 31

Gambar 3. 7 Diagram Aktivitas Tambah Pembayaran Outdoor ... 31

Gambar 3. 8 Diagram Aktivitas Ubah Pembayaran Outdoor ... 32

Gambar 3. 9 Diagram Aktivitas Lihat Pembayaran Outdoor ... 33

Gambar 3. 10 Diagram Aktivitas Tambah Penggabungan Outdoor ... 33

Gambar 3. 11 Diagram Aktivitas Ubah Penggabungan Outdoor ... 34

Gambar 3. 12 Diagram Aktivitas Lihat Penggabungan Outdoor ... 34

Gambar 3. 13 ER Diagram ... 35

Gambar 3. 14 Tabel Relasi ... 36

(15)

xv

Gambar 3. 23 Perancangan Login ... 41

Gambar 3. 24 Perancangan Sales Order Outdoor ... 42

Gambar 3. 25 Perancangan Pembayaran Outdoor ... 42

Gambar 3. 26 Perancangan Penggabungan Outdoor ... 43

Gambar 4. 1 Menu Login Outdoor ... 44

Gambar 4. 2 Menu Sales Order Outdoor (1) ... 45

Gambar 4. 3 Menu Sales Order Outdoor (2) ... 45

Gambar 4. 4 Menu Pembayaran Order Outdoor (1) ... 46

Gambar 4. 5 Menu Pembayaran Order Outdoor (2) ... 47

Gambar 4. 6 Menu Pembayaran Order Outdoor (2) ... 47

Gambar 4. 7 Menu Penggabungan Outdoor (1) ... 48

Gambar 5. 1 Menu Penggabungan Outdoor user 1 ... 53

Gambar 5. 2 Menu Penggabungan Outdoor user 2 ... 53

Gambar 5. 3 Hasil Penggabungan Outdoor user 1 ... 54

Gambar 5. 4 Hasil Penggabungan Outdoor user 2 ... 55

DAFTAR LISTING

Listing 4. 1 Store Procedure untuk Status Penggabungan Outdoor ... 51

(16)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan teknologi informasi dan komputer saat ini telah mempengaruhi kehidupan manusia menjadi semakin mudah dalam melakukan kegiatan sehari-hari. Kemajuan di bidang pendidikan, transportasi, penjualan, perbankan dan lain-lain merupakan contoh bahwa teknologi informasi semakin dibutuhkan. Percetakan merupakan salah satu bisnis yang cukup berkembang dan sering digunakan di bidang periklanan.

Percetakan yang ada saat ini telah memasuki era digital printing, yaitu percetakan yang berbasis digital dan menggunakan format digital dalam pengolahannya. Percetakan “XYZ” termasuk percetakan yang bergerak di bidang digital printing di Yogyakarta. Pada percetakan “XYZ” tersedia berbagai jasa percetakan mulai dari jasa pembuatan brosur, flyer, spanduk, dan lain-lain. Dua jenis produk yang ditawarkan yaitu Indoor dan Outdoor yang masing-masing dapat digunakan sesuai dengan kondisi dan lokasi dari penggunaan produk tersebut. Jenis indoor merupakan jenis cetakan yang tidak tahan hujan dan panas matahari, sedangkan jenis outdoor merupakan jenis cetakan khusus di luar ruangan. Kegiatan utama yang dilakukan di percetakan adalah transaksi penjualan jasa dan proses produksi. Transaksi penjualan di percetakan digital, dilakukan dengan cara memesan barang terlebih dahulu lalu melakukan pembayaran sehingga selanjutnya barang dapat diproduksi.

(17)

Pada saat proses produksi jenis outdoor, masalah muncul saat pencatatan transaksi dilakukan secara bersamaan. Pencatatan transaksi ini dilakukan pada proses penggabungan outdoor, kesalahan terjadi ketika kedua transaksi mengakses dan melakukan perubahan terhadap data yang sama dan hal ini dapat mengakibatkan data gagal ter-update (the lost update problem).

Untuk meningkatkan kinerja usaha percetakan, maka perlu dibangun sebuah sistem yang mampu melakukan kegiatan transaksi penjualan dan produksi. Khusus pada proses produksi penggabungan order outdoor diperlukan manajemen transaksi untuk mengurangi kesalahan pencatatan data pada saat transaksi berlangsung secara bersamaan.

1.2. Rumusan Masalah

Dari latar belakang yang telah dikemukakan, maka rumusan masalah yang dapat diambil adalah :

1. Bagaimana membangun aplikasi desktop Sistem Informasi Printing Outdoor menggunakan bahasa pemrograman Java?

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

1.3. Batasan Masalah

Sistem yang dibangun mempunyai batasan sebagai berikut :

1. Dalam manajemen transaksi, sistem menangani masalah the lost

(18)

2. Sistem dapat melakukan transaksi pencatatan order outdoor, pembayaran order outdoor, dan penggabungan outdoor.

3. Sistem tidak dapat menangani proses produksi printing outdoor, finishing outdoor dan pengambilan outdoor.

4. Sistem dibangun menggunakan bahasa pemrograman Java dengan database MySQL Server.

1.4. Tujuan dan Manfaat Penelitian

Tujuan dari pembuatan sistem adalah :

1. Terbentuknya Sistem Informasi Produksi Printing dengan menerapkan konsep manajemen transaksi pada proses Penggabungan Outdoor. Manfaat dari pembuatan sistem adalah :

2. Menghindari terjadinya kesalahan pencatatan data jika terjadi transaksi secara bersamaan.

1.5. Metodologi Penelitian

Metode penelitian yang digunakan untuk melakukan penelitian ini adalah studi kasus dengan langkah-langkah sebagai berikut:

a) Studi Lapangan

Pada tahap ini dilakukan observasi/pengamatan langsung ke percetakan digital “XYZ”. Pengamatan dilakukan untuk memahami sistem yang ada di sana dan data-data yang digunakan. Kemudian dilakukan wawancara secara langsung dengan pegawai percetakan untuk mengetahui masalah-masalah yang ada di percetakan digital “XYZ”.

(19)

b) Studi Pustaka

Studi Pustaka dilakukan untuk mendalami teori mengenai analisis, perancangan dan pembuatan sistem.

c) Pembuatan sistem dengan menggunakan metode FAST (Framework for

the Application of Sistem Thinking). Metode FAST memiliki

langkah-langkah sebagai berikut:

1. Fase Definisi Ruang Lingkup (Scope Definition Phase) : Fase ini merupakan fase penentuan batasan sistem yang akan dibuat, serta mengidentifikasi garis besar dan kesempatan. Hasil dari tahap ini adalah pernyataan masalah yang dihadapi.

2. Fase Analisis Masalah (Problem Analysis Phase) : Fase ini merupakan fase untuk melakukan analisis secara menyeluruh terhadap permasalahan dari sistem yang ada sekarang. Dalam tahap ini akan dihasilkan analisa sebab-akibat (cause-effect analysis) dari sistem yang ada sekarang.

3. Fase Analisis Kebutuhan (Requirement Anlysis Phase) : Fase ini merupakan fase untuk melakukan pengumpulan data kebutuhan. Hasil dari tahap ini direprenstasikan dengan use case diagram dan use

case narrative.

4. Fase Desain Logikal (Logical Design Phase) : Dalam fase ini

business requirement yang ada diterjemahkan dalam bentuk

gambar-gambar. Pada tahap ini menggunakan diagram aktivitas untuk menggambarkan proses bisnis, langkah-langkah use case, dan logika

(20)

perilaku obyek. Selain itu, tahap ini menggunakan ER-Diagram dan

Class Diagram sebagai model sistemnya.

5. Desain Fisikal dan Integrasi (Physical Design and Integration) : Fase ini merupakan tahap perancangan sistem secara fisik berupa perancangan database, dan desain user interface.

6. Konstruksi dan Pengujian (Construction and Testing) : Fase ini merupakan tahap pembangunan sistem berdasarkan rancangan yang telah dibuat pada tahap desain fisikal, kemudian menguji komponen-komponen sistem tersebut.

1.6.Sistematika Penulisan

Secara umum dalam penelitian ini, sistematika penulisan yang akan digunakan adalah sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, rumusan masalah, tujuan penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II : LANDASAN TEORI

Bab ini berisi tentang teori-teori mengenai pengertian dan metode yang akan digunakan dalam pengembangan aplikasi.

BAB III : ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis sistem yang meliputi Scope

Definition Phase, Problem Analysis Phase dan Requirement

(21)

dibuat sebuah rancangan sistem untuk menyelesaikan masalah dalam penelitian ini yang meliputi Logical Design Phase dan

Physical Design and Integration.

BAB IV : IMPLEMENTASI SISTEM DAN HASIL

Bab ini berisi tentang penjelasan mengenai proses implementasi sistem informasi sesuai dengan analisis dan rancangan dari sistem yang dibuat.

BAB VI : PENUTUP

Bab ini berisi penjelasan tentang kelebihan dan kekurangan sistem, kesimpulan dan saran.

(22)

BAB II

LANDASAN TEORI

2.1. Pengertian Informasi, Sistem Informasi dan Teknologi Informasi Istilah dunia rekayasa perangkat lunak menurut (Whitten et.al, 2004) :

1. Informasi adalah data yang telah diproses menjadi bentuk yang lebih berarti bagi penerimanya.

2. Sistem Informasi (SI) / Information System (IS) adalah suatu susunan dari orang, data, proses, dan teknologi informasi yang saling berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan output berbentuk informasi yang dibutuhkan untuk mendukung organisasi.

3. Teknologi Informasi / Information Technology (IT) adalah kombinasi dari teknologi komputer (hardware dan software) dengan teknologi telekomunikasi (data, image, dan voice networks).

2.2. Manajemen Transaksi

Transaksi adalah sebuah aksi atau serangkaian aksi yang dilakukan oleh user atau aplikasi untuk mengubah isi dari database. Transaksi mempunyai sifat yang disebut ACID (Haerder dan Reuter,1983), yaitu:

a. Automicity, di mana sebuah transaksi merupakan sebuah unit yang tidak

(23)

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.

2.2.1. Kontrol Konkurensi (Concurrency Control)

Kontrol konkurensi dibutuhkan untuk menciptakan transaksi yang sesuai dan dapat meningkatkan integritas dan konsistensi basis data. (Darmawan, 2007). Kontrol konkurensi merupakan proses untuk mengelola operasi yang bersamaan dalam database tanpa saling mengganggu satu sama lain. Dengan tujuan untuk mencegah interferensi ketika satu atau lebih user mengakses database secara bersamaan dan paling tidak salah satu meng-update data. Teknik kontrol konkurensi dibutuhkan untuk menghindari beberapa masalah berikut :

a. The lost update problem

Merupakan masalah yang timbul akibat informasi yang diabaikan pada saat ada melakukan update yang waktunya hampir bersamaan dengan transaksi lain.

(24)

Merupakan masalah kebergantungan terhadap transaksi yang belum

commit.

c. The inconsisten analysis problem

Merupakan masalah analisa yang tidak konsisten.

2.2.2. Two Phase Locking (2PL)

Sebuah transaksi menerapkan 2PL jika semua operasi locking mendahului operasi yang tak terkunci (unlock) dalam transaksi tersebut menurut aturan, setiap transaksi dapat dibagi menjadi 2 fase, yaitu (Darmawan, 2007) :

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.

Dalam hal ini tidak ada kebutuhan bahwa semua locks diperoleh secara serentak. Umumnya, suatu transaksi memperoleh sejumlah locks, kemudian melakukan sejumlah proses, dan selanjutnya meminta tambahan

locks sesuai kebutuhan. Berikut ini adalah penjelasan mengenai peraturan

yang ditetapkan:

a. Sebuah transaksi harus mendapatkan sebuah lock pada item sebelum beroperasi pada item tersebut. Lock tersebut bisa berupa baca atau tulis, tergantung dari tipe akses yang dibutuhkan.

b. Sebelum transaksi melepaskan sebuah locks, transaksi tersebut tidak akan pernah mendapat lock baru lainnya

(25)

Protocol 2PL ini dapat digunakan untuk memecahkan masalah yang teridentifikasi. Berikut ini adalah kegunaan dari protocol 2PL:

a. Mencegah masalah hilangnya data yang diubah (the lost update

problem). Tabel 2.1 merupakan table penjelasan mengenai masalah

hilangnya data yang diubah.

Tabel 2. 1 Masalah Hilangnya Data yang Diubah

Waktu T1 T2 balx

t1 begin transaction 100

t2 begin transaction write_lock(balx) 100

t3 write_lock(balx) read(balx) 100

t4 WAIT balx= balx + 100 100

t5 WAIT write(balx) 200 t6 WAIT commit/unlock(balx) 200 t7 read(balx) 200 t8 balx= balx + 100 200 t9 write(balx) 190 t10 commit/unlock(balx) 190 Keterangan :

Untuk mencegah terjadinya masalah hilangnya data yang diubah, maka: Pertama-tama T2 meminta suatu exclusive lock pada balx. Setelah itu T2 dapat melakukan proses baca nilai balx, menambahnya dengan nilai 100, dan menuliskan nilai baru dari balx tersebut ke dalam database.

Saat T1 memulai transaksi, T1 juga meminta suatu exclusive lock pada balx, namun karena balx sedang berada dalam posisi exclusive lock oleh T2, maka permintaan read balx, tidak segera diberikan kepada T1 dan

(26)

T1 harus menunggu sampai lock dilepaskan oleh T2. Hal ini terjadi saat T2 melaksanakan operasi commit atau unlock balx (Connolly, 2005). b. Mencegah masalah ketergantungan transaksi yang belum dilaksanakan

(the uncommitted dependency problem). Tabel 2.2 merupakan table

penjelasan mengenai masalah ketergantungan transaksi yang belum dilaksanakan.

Tabel 2. 2Masalah Ketergantungan Transaksi yang Belum Dilaksanakan

Waktu T3 T4 balx

t1 begin transaction 100

t2 write_lock(balx) 100

t3 read(balx) 100

t4 begin transaction balx= balx + 100 100

t5 write_lock(balx) write(balx) 200 t6 WAIT commit/unlock(balx) 100 t7 read(balx) 100 t8 balx= balx + 100 100 t9 write(balx) 90 t10 commit/unlock(balx) 90 Keterangan :

Untuk mencegah terjadinya masalah ketergantungan transaksi yang belum dilaksanakan, maka : Pertama-tama T4 meminta suatu exclusive lock pada balx. Setelah itu, T4 dapat melakukan proses baca nilai balx dari database, menambahnya dengan nilai 100, dan menuliskan nilai baru balx tersebut ke dalam basis data. Saat rollback dieksekusi, peng-update-an pada transaksi T4 tidak jadi dilakukan dan nilai dalam basis data dikembalikan ke kondisi semula yaitu 100.

(27)

Saat T3 memulai transaksi, T3 juga meminta suatu exclusive lock pada balx, namun karena balx sedang dalam posisi exclusive lock oleh T4, maka permintaan tersebut tidak segera diberikan kepada T3, dan T3 harus menunggu sampai lock dilepaskan oleh T4. Hal ini terjadi saat T4 melaksanakan operasi rollback atau unlock balx, barulah T3 dapat melakukan proses baca nilai balx (Connolly,2005).

c. Mencegah masalah analisis yang tidak konsisten (the inconsisten

analysis problem). Tabel 2.3 merupakan table penjelasan mengenai

masalah analisis yang tidak konsisten.

Tabel 2. 3 Masalah Analisis yang Tidak Konsisten

Waktu T5 T6 balx

t1 begin transaction

t2 begin transaction sum=0 0

t3 write_lock(balx) 0

t4 read(balx) read_lock(balx) 0

t5 balx = balx - 10 WAIT 0

t6 write(balx) WAIT 0

t7 write_lock(balz) WAIT 0

t8 read(balz) WAIT 0

t9 balz = balz + 100 WAIT 0

t10 write(balz) WAIT 0

t11 commit/unlock (balx,

balz)

WAIT

t12 read(balx) 0

t13 sum = sum + balx 90

t14 read_lock(baly) 90

t15 read(baly) 90

t16 sum = sum + baly 140

t17 read_lock(balz) 140

t18 read(balz) 140

t19 sum = sum + balz 175

t20 commit/unlock (balx,

baly, balz)

(28)

Keterangan :

Untuk mencegah terjadinya masalah analisis yang tidak konsisten, maka : T5 mengawali meminta exclusive lock pada balx. T5 juga meminta suatu

exclusive lock pada baly. Saat T6 ingin membaca nilai balx, ia harus

menunggu sampai lock dilepaskan oleh T5. Hal ini terjadi saat T5 melaksanakan operasi commit atau unlock balx, barulah T6 dapat membaca nilai balx (Connoly, 2005).

Untuk mengatasi masalah di atas, mesin basis data Innodb MySQL mempunyai kemampuan mendukung transaksi dengan metode 2PL yang dapat menjamin konsistensi data. Ketiga contoh permasalahan yang dapat timbul akibat dua atau lebih transaksi yang dieksekusi secara bersamaan

(concurrently) dapat diselesaikan dengan menerapkan :

a. Tingkat isolasi serializable b. Autocommit dibuat disable

c. Operasi pembacaan data yang akan diikuti dengan operasi update data tersebut memberikan exclusive lock dengan cara memberikan perintah

for update setelah perintah select. Teknik ini merupakan salah satu

alternatif dalam menerapkan 2PL dalam mesin basis data Innodb

MySQL sehingga tidak menutup kemungkinan melakukan penelitian

untuk mencari alternatif lain dalam menjaga konsistensi data (Darmawan, 2007)

(29)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1.Analisis Sistem

3.1.1. Fase Definisi Ruang Lingkup (Scope Definition Phase)

Percetakan “XYZ” adalah salah satu percetakan digital yang ada di Yogyakarta. Percetakan “XYZ” menyediakan berbagai jasa percetakan mulai dari jasa pembuatan brosur, flyer, spanduk, dan lain-lain. Kegiatan utama yang dilakukan di percetakan xyz adalah penjualan jasa dan proses produksi. Pada proses produksi terdapat beberapa kegiatan yang dilakukan oleh operator/pegawai, yakni penggabungan order outdoor, printing order outdoor, finishing order outdoor dan pengambilan order outdoor. Proses penggabungan outdoor merupakan proses yang digunakan untuk menggabungkan barang pesanan untuk dicetak dengan printer yang sama pada satu waktu. Proses ini dapat mengakibatkan barang yang dicetak dapat terduplikasi, hal ini dikarenakan ada lebih dari satu pegawai/operator yang menjalankan proses ini.

3.1.2. Fase Analisis Masalah (Problem Analysis Phase) 3.1.2.1. Gambaran Sistem Lama

Saat ini transaksi penjualan dan produksi yang dilakukan oleh pegawai percetakan selama ini masih secara manual. Sehingga proses transaksi yang dilakukan menghabiskan banyak

(30)

waktu dan menjadi kurang efisien. Faktor utama pembuatan sistem informasi ini adalah untuk meningkatkan kualitas pelayanan percetakan dan mengatasi permasalahan pada saat proses produksi di penggabungan order outdoor.

3.1.2.2. Gambaran Sistem yang Dikembangkan

Sistem Informasi Printing Outdoor adalah sebuah sistem yang digunakan untuk melakukan proses pengelolaan data dari percetakan digital “XYZ” secara terkomputerisasi. Sistem Informasi Printing Outdoor dibangun menggunakan bahasa pemrograman Java dan database MySQL dengan berbasis desktop.

3.1.3. Fase Analisis Kebutuhan (Requirement Analysis Phase) 3.1.3.1. Diagram Use Case

Merupakan sebuah diagram yang menggambarkan interaksi antara sistem dan eksternal sistem dan user. Pada aplikasi sistem informasi ini mempunyai diagram use case sebagai berikut :

(31)

Pegawai Login Sistem Informasi Printing

Outdoor

Tambah order outdoor Ubah order outdoor Hapus order outdoor

Lihat order outdoor Subsistem sales order outdoor

Tambah pembayaran outdoor Ubah pembayaran outdoor Lihat pembayaran outdoor Subsistem pembayaran outdoor

Subsistem penggabungan outdoor Tambah penggabungan outdoor

Ubah penggabungan outdoor Lihat penggabungan outdoor

<<depends on>> <<depends on>> Subsistem User Tambah user Ubah user Hapus user Pemilik

Gambar 3. 1 Diagram Use Case

Sistem Informasi Printing Outdoor yang akan dikembangkan dapat diakses oleh 2 aktor pengguna yaitu Pemilik dan pegawai. Pada table di bawah ini akan dipaparkan mengenai deskripsi untuk tiap-tiap aktor pengguna :

3.1.3.2. Ringkasan Use Case

(32)

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

Pegawai, Pemilik 2. Tambah order

outdoor

Use case ini menggambarkan proses

penambahan data transaksi order

Pegawai, Pemilik 3. Ubah order outdoor Use case ini menggambarkan proses

pengubahan data transaksi order. Proses ini dapat berupa penambahan data order ataupun pengubahan detail data transaksi order

Pegawai, Pemilik

4. Hapus order outdoor Use case ini menggambarkan proses

penghapusan data transaksi order

Pegawai, Pemilik 5. Lihat order outdoor Use case ini menggambarkan proses untuk

melihat detail data transaksi order

Pegawai, Pemilik 6. Tambah

pembayaran outdoor

Use case ini menggambarkan proses

penambahan data pembayaran order

Pegawai, Pemilik 7. Ubah pembayaran

outdoor

Use case ini menggambarkan proses

pengubahan detail data pembayaran order

Pegawai, Pemilik 8. Lihat pembayaran

outdoor

Use case ini menggambarkan proses untuk

melihat detail data pembayaran order

Pegawai, Pemilik 9. Tambah

penggabungan outdoor

Use case ini menggambarkan proses

pencatatan data status penggabungan order outdoor

Pegawai, Pemilik

10. Ubah penggabungan outdoor

Use case ini menggambarkan proses

pengubahan detail data penggabungan order outdoor

Pegawai, Pemilik

11. Lihat penggabungan outdoor

Use case ini menggambarkan proses untuk

melihat daftar data penggabungan order

Pegawai, Pemilik

(33)

outdoor

12. Tambah user Use case ini menggambarkan proses

pembuatan user baru untuk pegawai

Pemilik

13. Ubah user Use case ini menggambarkan proses

pengubahan data user pegawai

Pemilik

14. Hapus user Use case ini menggambarkan proses

penghapusan data user pegawai

Pemilik

3.1.3.3. Narasi use case 1. Login

Tabel 3. 2 Narasi Use-Case Login

Nama Use Case : Login

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses login sebelum masuk ke sistem

Kondisi Awal : Aktor telah memiliki hak akses username dan

password.

Pemicu : Use case ini akan digunakan apabila ada aktor yang

akan mengakses data.

Langkah Umum : Kegiatan Aktor Respon Sistem

Langkah 1 : Pemilik / pegawai membuka tampilan pertama sistem. Langkah 3 :

Pemilik/pegawai memasukkan username dan password lalu mengklik tombol Login. Langkah 5 :

Pemilik/pegawai mendapat pemberitahuan bahwa berhasil masuk ke sistem.

Langkah 2 : Sistem menampilkan halaman login dan meminta untuk memasukkan username dan password.

Langkah 4 : Sistem melakukan cek validasi di database.

Langkah 6: Sistem menampilkan menu halaman utama.

(34)

Langkah Alternatif : Alt- Langkah 3: Pemilik /pegawai mengklik tombol Batal, sehingga sistem tidak jadi masuk ke menu utama dan kembali ke menu Login.

Alt- Langkah 3: Jika username dan password yang dimasukkan tidak sesuai maka sistem akan

memberikan peringatan dan secara otomatis kembali ke menu Login.

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah berhasil masuk ke dalam menu utama.

Kondisi Akhir : a. Pemilik/pegawai berhasil login dan masuk ke menu utama.

b. Pemilik/pegawai tidak jadi masuk ke sistem. 2. Tambah order outdoor

Tabel 3. 3 Narasi Use-Case Tambah order outdoor

Nama Use Case : Tambah order outdoor Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses pencatatan data order/pemesanan outdoor.

Kondisi Awal : Pegawai/Pemilik telah Login.

Pemicu : Use case ini digunakan jika Pegawai/Pemilik akan melakukan pencatatan order.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik /

pegawai meng-klik menu sales order outdoor. Langkah 3 :

Pemilik/pegawai mengisi data order barang outdoor pada form penambahan data order.

Langkah 4 :

Pemilik/pegawai meng-klik menu tambah untuk melakukan penambahan order

Langkah 2 : Sistem akan masuk ke menu sales order outdoor.

Langkah 5: Sistem menyimpan data order yang telah ditambahkan.

Langkah Alternatif : Alt- Langkah 3: Pemilik/Pegawai tidak jadi mencatat data pembelian dengan meng-klik tombol Batal. Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah

(35)

Kondisi Akhir : a. Pemilik/pegawai berhasil mengisikan data order beserta detail data barang dipesan.

b. Pemilik/pegawai tidak berhasil mengisikan data order beserta detail data barang dipesan.

3. Hapus order outdoor

Tabel 3. 4 Narasi Use-Case Hapus order outdoor

Nama Use Case : Hapus order outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses penghapusan data order outdoor.

Kondisi Awal : Pemilik/Pegawai telah memiliki password. Pemicu : Use case ini digunakan jika Pegawai/Pemilik

akan menghapus data-data order yang tidak digunakan.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik /

pegawai meng-klik menu sales order outdoor. Langkah 3 : Pemilik/pegawai meng-klik tombol Lihat Order Langkah 5: Pemilik/pegawai memilih data yang akan dihapus dan meng-klik tombol hapus untuk melakukan penghapusan data order.

Langkah 2 : Sistem akan masuk ke menu sales order outdoor.

Langkah 4: Sistem menampilkan daftar order yang telah ada dalam database.

Langkah6 : Sistem menghapus data order.

Langkah Alternatif : -

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah berhasil menghapus data order.

Kondisi Akhir : a. Pemilik/pegawai berhasil menghapus data order.

(36)

order. 4. Mengubah order outdoor

Tabel 3. 5 Narasi Use-Case Ubah order outdoor

Nama Use Case : Mengubah order outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses pengubahan data order jika terjadi kesalahan pada saat

melakukan penambahan. Kondisi Awal : Pemilik telah Login.

Pemicu : Use case ini digunakan jika Pegawai/Pemilik telah melakukan kesalahan pencatatan data order. Langkah Umum : Kegiatan Aktor Respon Sistem

Langkah 1 :Pemilik / pegawai meng-klik menu sales order outdoor. Langkah 3: Pemilik/pegawai meng-klik tombol Lihat Order Langkah 5 : Pemilik/pegawai memilih data order yang akan diubah. Langkah 7: Pemilik/pegawai meng-klik tombol Edit dan mengubah data yang salah. Lalu meng-klik Simpan.

Langkah 2 : Sistem masuk ke menu sales order outdoor.

Langkah 4 : Sistem menampilkan data order yang telah ada dalam database.

Langkah 6: Sistem menampilkan detail order yang dipilih.

Langkah 8: Sistem menyimpan data order yang telah diubah. Langkah Alternatif : Alt- Langkah 4: Pegawai/Pemilik tidak jadi

mengubah data order dengan meng-klik tombol Batal.

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah merubah data order yang salah dalam pencatatan.

Kondisi Akhir : a. Pemilik/pegawai berhasil mengubah data order beserta detail data barang yang dipesan. b. Pemilik/pegawai tidak berhasil mengubah

(37)

data order beserta detail data barang yang dipesan.

5. Melihat order outdoor

Tabel 3. 6 Narasi Use-Case Lihat order outdoor

Nama Use Case : Melihat order outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses melihat data order.

Kondisi Awal : Pemilik/Pegawai telah Login . Pemicu : Use case ini digunakan apabila ada

Pemilik/pegawai ingin melihat data order outdoor.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik /

pegawai meng-klik tombol Daftar Order. Langkah 3 :

Pemilik/pegawai memilih data berdasar tanggal.

Langkah 2 : Sistem menampilkan Daftar Order.

Langkah 4 : Sistem menampilkan data order yang ada dalam database sesuai tanggal yang dipilih.

Langkah Alternatif : Alt- Langkah 3: Aktor batal melihat data order outdoor.

Kesimpulan : Use case ini berhenti jika Pemilik/pegawai telah selesai melihat data order outdoor atau batal melihat data order.

Kondisi Akhir : Pemilik/pegawai mendapatkan informasi yang ingin diketaui tentang data order beserta detail barangnya.

6. Tambah pembayaran outdoor

Tabel 3. 7 Narasi Use-Case Tambah pembayaran outdoor

Nama Use Case : Tambah pembayaran outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses pencatatan pembayaran data order outdoor.

(38)

Kondisi Awal : Pegawai/Pemilik telah Login.

Pemicu : Use case ini digunakan jika Pegawai/Pemilik akan melakukan pencatatan pembayaran order. Langkah Umum : Kegiatan Aktor Respon Sistem

Langkah 1 :Pemilik / pegawai meng-klik menu sales order outdoor.

Langkah 3 : Pemilik/pegawai meng-klik tombol Order Belum Lunas, lalu memilih order yang akan dibayar. Langkah 5 : Pemilik/pegawai mengisi jumlah pembayaran dan meng-klik Simpan untuk melakukan pembayaran order

Langkah 2 : Sistem akan masuk ke menu pembayaran order outdoor. Langkah 4 : Sistem menampilkan detail order. Langkah 7: Sistem menyimpan data pembayaran order yang telah dibayar.

Langkah Alternatif : Alt- Langkah 4: Pemilik/Pegawai tidak jadi mencatat data pembayaran dengan meng-klik tombol Batal.

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah megisikan semua data pembayaran order. Kondisi Akhir : a. Pemilik/pegawai berhasil mengisikan data

pembayaran order.

b. Pemilik/pegawai tidak berhasil mengisikan data pembayaran order.

7. Ubah pembayaran outdoor

Tabel 3. 8 Narasi Use-Case Ubah pembayaran outdoor

Nama Use Case : Ubah pembayaran order outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses pengubahan data pembayaran order.

Kondisi Awal : Pemilik telah Login.

(39)

telah melakukan kesalahan pencatatan data pembayaran order.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik / pegawai meng-klik menu pembayaran outdoor. Langkah 3 : Pemilik/pegawai meng-klik tombol Daftar Belum Lunas. Langkah 5: Pemilik/pegawai memilih data pembayaran yang akan diubah Langkah 7 : Pemilik/pegawai meng-klik tombol Edit dan memasukan password untuk dapat mengubah data yang diinginkan. Klik Simpan. Langkah 2 : Sistem menampilkan menu pembayaran outdoor. Langkah 4 : Sistem menampilkan daftar order yang belum lunas dari database.

Langkah 6 : Sistem menampilkan detail data order.

Langkah 8: Sistem menyimpan data pembayaran order yang telah diubah.

Langkah Alternatif : Alt- Langkah 5: Pegawai/Pemilik tidak jadi mengubah data pembayaran order dengan meng-klik tombol Batal.

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah merubah data pembayaran order yang salah dalam pencatatan.

Kondisi Akhir : a. Pemilik/pegawai berhasil mengubah data pembayaran order beserta detail data barang yang dipesan.

b. Pemilik/pegawai tidak berhasil mengubah data pembayaran order beserta detail data barang yang dipesan.

8. Lihat pembayaran outdoor

Tabel 3. 9Narasi Use-Case Lihat pembayaran outdoor

(40)

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses melihat data pembayaran order.

Kondisi Awal : Pemilik/Pegawai telah Login . Pemicu : Use case ini digunakan apabila ada

Pemilik/pegawai ingin melihat data pembayaran order outdoor.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik / pegawai meng-klik tombol Daftar Pelunasan. Langkah 3 : Pemilik/pegawai memilih melihat data bedasar tanggal.

Langkah 2 : Sistem menampilkan Daftar Pembayaran yang telah lunas.

Langkah 4 : Sistem menampilkan data pembayaran order yang ada dalam database sesuai tanggal yang dipilih.

Langkah Alternatif : Alt- Langkah 3: Aktor batal melihat data order outdoor.

Kesimpulan : Use case ini berhenti jika Pemilik/pegawai telah selesai melihat data pembayaran order outdoor atau batal melihat data order.

Kondisi Akhir : Pemilik/pegwai mendapatkan informasi yang ingin diketaui tentang data pembayaran order beserta detail barangnya.

10. Tambah penggabungan outdoor

Tabel 3. 10 Narasi Use-Case Tambah penggabungan outdoor

Nama Use Case : Tambah penggabungan outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses untuk melakukan penggabungan order.

Kondisi Awal : Pemilik/pegawai telah Login. Pemicu : Use case ini digunakan apabila ada

Pemilik/pegawai akan melakukan penggabungan order.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik / Langkah 2 : Sistem

(41)

pegawai membuka menu Gabung Outdoor.

Langkah 3 : Pemilik/pegawai memilih order yang ingin digabungkan dan meng-klik tombol

checklist Ubah.

menampilkan halaman Gabung Outdoor. Dan sistem akan

menampilkan daftar order yang dapat digabungkan.

Langkah 4 : Sistem akan menambahkan data order yang digabungkan. Langkah Alternatif : -

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah berhasil menambahkan penggabungan. Kondisi Akhir : a. Pemilik/pegawai berhasil menambahkan data

order yang digabungkan.

b. Pemilik/pegawai tidak berhasil menambahkan data order yang digabungkan.

11. Ubah penggabungan outdoor

Tabel 3. 11 Narasi Use-Case Ubah penggabungan outdoor

Nama Use Case : Ubah penggabungan outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses mengubah data penggabungan order outdoor.

Kondisi Awal : Pemilik/pegawai telah Login. Pemicu : Use case ini digunakan apabila ada

Pemilik/pegawai yang ingin melakukan perubahan data penggabungan.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik / pegawai meng-klik menu Penggabungan Outdoor. Langkah 3 : Pemilik/pegawai memilih tab Batal. Langkah 5 : Langkah 2 : Sistem menampilkan menu Penggabungan Outdoor Langkah 4 : Sistem menampilkan daftar penggabungan yang dibatalkan. Langkah 4 : Sistem melakukan perubahan

(42)

Pemilik/pegawai memilih data order penggabungan yang ingin diubah.

data order menjadi digabungkan.

Langkah Alternatif : -

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah berhasil melakukan perubahan data penggabungan.

Kondisi Akhir : a. Pemilik/pegawai berhasil mengubah data penggabungan yang dibatalkan.

b. Pemilik/pegawai tidak berhasil mengubah data penggabungan yang dibatalkan. 12. Lihat penggabungan outdoor

Tabel 3. 12 Narasi Use-Case Lihat penggabungan outdoor

Nama Use Case : Lihat penggabungan outdoor

Aktor : Pemilik, Pegawai

Deskripsi Use Case : Use case ini menggambarkan proses untuk melihat data order yang digabungkan Kondisi Awal : Pemilik/pegawai telah Login.

Pemicu : Use case ini digunakan apabila ada

Pemilik/pegawai yang ingin melihat data order yang digabungkan.

Langkah Umum : Kegiatan Aktor Respon Sistem Langkah 1 :Pemilik / pegawai membuka menu Penggabungan Outdoor. Langkah 3 : Pemilik/pegawai memilih printer yang digunakan atau memasukan data yang diinginkan dan meng-klik tombol Lihat.

Langkah 2 : Sistem menampilkan menu Gabung Outdoor. Langkah 4 : Sistem menampilkan daftar order. Langkah Alternatif : -

Kesimpulan : Use case ini berhenti apabila Pemilik/pegawai telah berhasil melihat daftar order yang digabungkan.

(43)

Kondisi Akhir : a. Pemilik/pegawai berhasil melihat daftar order yang digabungkan.

b. Pemilik/pegawai tidak berhasil melihat daftar order yang digabungkan.

3.2.Perancangan Sistem

3.2.1. Fase Desain Logikal (Logical Design Phase) 3.2.1.1 Diagram Aktivitas (Activity Diagram)

Berikut adalah diagram aktivitas dari use case di atas. 1. Login

User Sistem

Menjalankan aplikasi SI Meminta masukan username dan password

Meminta masukan username dan password

Memeriksa validasi username dan password

Masuk ke menu utama [Klik tombol CANCEL]

[Klik tombol OK]

[username dan password BENAR] [username dan password SALAH]

(44)

2. Tambah Sales Order Outdoor

User Sistem

Meng-klik menu sales order outdoor Menampilkan menu sales order outdoor

Memasukan data order

Menyimpan data order

[Klik tombol CANCEL] [Klik tombol OK] Meng-klik tombol Simpan

Gambar 3. 3 Diagram Tambah Sales Order Outdoor

3. Hapus Sales Order Outdoor

User Sistem

Meng-klik menu sales order outdoor Menampilkan menu sales order outdoor

Meng-klik tombol Lihat Order

Menghapus data order yang dipilih

[Klik tombol CANCEL] [Klik tombol OK] Memilih data order yang

mau dihapus

Menampilkan data order yang ada di database

(45)

Gambar 3. 4 Diagram Aktivitas Hapus Sales Order Outdoor

4. Ubah Sales Order Outdoor

User Sistem

Meng-klik menu sales order outdoor Menampilkan menu sales

order outdoor

Meng-klik tombol Lihat Order

Menyimpan data order yang diubah

[Klik tombol CANCEL] [Klik tombol OK] Memilih data order yang mau

diubah

Menampilkan data order yang ada di database

Menampilkan detail order yang dipilih

Meng-klik tombol Edit

Mengubah data yang salah

Meng-klik Simpan

Gambar 3. 5 Diagram Aktivitas Ubah Sales Order Outdoor

(46)

User Sistem

Meng-klik menu sales order outdoor Menampilkan menu sales order outdoor

Meng-klik tombol Lihat Order Menampilkan data order yang ada di database

Gambar 3. 6Diagram Aktivitas Lihat Sales Order Outdoor

6. Tambah pembayaran Outdoor

User Sistem

Meng-klik menu Pembayaran Outdoor Menampilkan menu Pembayaran Outdoor

Meng-klik tombol Order Belum Lunas

Menyimpan data pembayaran order

[Klik tombol CANCEL] [Klik tombol OK] Memilih data order yang mau

dibayar

Menampilkan data order yang ada di database

Menampilkan detail order yang dipilih

Memasukan jumlah pembayaran

Meng-klik Simpan.

(47)

7. Ubah Pembayaran Outdoor

User Sistem

Meng-klik menu Pembayaran Outdoor Menampilkan menu

Pembayaran Outdoor

Meng-klik tombol Order Belum Lunas

Menyimpan data pembayaran order yang

diubah

[Klik tombol CANCEL] [Klik tombol OK] Memilih data order yang mau

diubah

Menampilkan data order yang ada di database

Menampilkan detail order yang dipilih

Meng-klik Edit

Mengubah data

Meng-klik Simpan

(48)

8. Lihat Pembayaran Outdoor

User Sistem

Meng-klik menu Pembayaran Outdoor Menampilkan menu

Pembayaran Outdoor

[Klik tombol l Daftar Pelunasan] [Klik tombol Order Belum

Lunas]

Menampilkan data order yang belum lunas di

database

Menampilkan data order yang sudah lunas di database

Gambar 3. 9 Diagram Aktivitas Lihat Pembayaran Outdoor

9. Menambah Penggabungan Outdoor

User Sistem

Meng-klik menu Penggabungan Outdoor

Menampilkan menu Penggabungan Outdoor

[Klik tombol Batal] [Klik tombol Simpan]

Menampilkan data order yang sudah lunas di database

Memilih data yang akan digabungkan dengan me-klik

tombol checklist

Menampilkan daftar order yang belum digabungkan

(49)

10. Ubah Penggabungan Outdoor

User Sistem

Meng-klik menu Penggabungan Outdoor

Menampilkan menu Penggabungan Outdoor

[Klik tombol OK]

[Klik tombol Cancel]

Membatalkan data order yang digabung Memilih data yang akan dibatalkan

Menampilkan daftar order yang sudah digabungkan Mengklik tab menu Batal

Menampilkan validasi perubahan

Gambar 3. 11 Diagram Aktivitas Ubah Penggabungan Outdoor

11. Melihat Penggabungan Outdoor

User Sistem

Meng-klik menu Penggabungan Outdoor

Menampilkan menu Penggabungan Outdoor

Menampilkan daftar order sesuai printer Memilih printer yang ingin

ditampilkan

(50)

3.2.1.2 Pemodelan Data Konseptual (ER-Diagram)

1

n

kodeKategorinamaKategoriinOutKategori kategori kodeBarang namaBarang jumlahStock barang panjang noSO salesOrderOutdoor

lebar judul kekuranganBayarUang muka

pelunasanKuitansiOutdoor

kodePelanggannamaPelanggantelpalamat pelanggan noGabungtglGabung noGabungDetail

gabung operatorGabung punya printer punya punya punya punya punya punya punya punya punya kodePrinternamaPrinter noPelunasan n 1 1 n n 1 n 1 n n 1 1 n 1 user username

password nama level

1 1 1 n punya 1 n Gambar 3. 13 ER Diagram

(51)

3.2.1.3 Relational Model user PK username password nama barang PK kodeBarang kodeKategori (FK) namaBarang jumlahStock kategori PK kodeKategori namaKategori inOutKategori salesOrderOutdoor PK noSO kodeBarang (FK) nama (FK) kodePrinter (FK) namaPelanggan (FK) judul panjang lebar banyak tglPesan tglJadi pelunasanKuitansiOutdoor PK noPelunasan noSO (FK) namaPelanggan (FK) kodeBarang (FK) uangMuka kekuranganBayar tglKuitansi hargaSatuan total gabung PK noGabung noSO (FK) tglGabung noGabungDetail pelanggan PK kodePelanggan namaPelanggan telp alamat printer PK kodePrinter namaPrinter 1..n n..1 1..n n..1 1..n n..1 1..n n..1 1..1 1..1 1..n n..1 n..1 n..1 1..n 1..n 1..n

(52)

3.2.2. Fase Desain Fisikal

3.2.2.1. Desain Fisikal Tabel (Physical Database Design)

Dari relasi table di atas selanjutnya dirancang struktur data masing-masing table.

1. Tabel user

Nama Tipe Keterangan

username varchar(10) Primary Key password varchar(100)

nama varchar(100)

Tabel 3. 13Tabel Fisikal User

2. Tabel barang

Nama Tipe Keterangan

kodeBarang varchar(50) Primary Key namaBarang varchar(100)

jumlahStock double

Tabel 3. 14Tabel Fisikal Barang

3. Tabel kategori

Nama Tipe Keterangan

kodeKategori varchar(3) Primary Key namaKategori varchar(50)

inOutkategori varchar(10)

Tabel 3. 15Tabel Fisikal Kategori

4. Tabel salesOrderOutdoor

Nama Tipe Keterangan

noSO char(12) Primary Key judul varchar(255)

(53)

lebar double banyak double tglPesan date tglJadi date

Tabel 3. 16Tabel Fisikal SalesOrderOutdoor

5. Tabel pelunasanKuitansiOutdoor

Nama Tipe Keterangan

noPelunasan varchar(20) Primary Key uangMuka double

kekuranganBayar double

Tabel 3. 17Tabel Fisikal PelunasanKuitansiOutdoor

6. Tabel gabung

Nama Tipe Keterangan

noGabung varchar(25) Primary Key tglGabung date

noGabungDetail varchar(100)

Tabel 3. 18Tabel Fisikal Gabung

7. Tabel pelanggan

Nama Tipe Keterangan

kodePelanggan varchar(12) Primary Key namaPelanggan varchar(50)

telp varchar(30) alamat varchar(255)

(54)

3.2.2.2. Perancangan Manajemen Transaksi

Pada database terdapat manajemen transaksi penggabungan outdoor untuk mengatur proses transaksi order outdoor yang digabungkan secara bersamaan. Proses pengaturan ini digambarkan pada Gambar 3.3 berupa flowchart manajemen transaksi.

(55)

START pStatusGabung = Y AND vStat=N Set pStat=0 UPDATE statusGabung COMMIT END YA TIDAK Inisialisasi vStat untuk kode Status

Gabung dan

pNoGabungDetail,pSatusGabung,pOpera torGabung,pNamaBahan, pStatusPesan, pNoSo, pNamaBarang untuk parameter

masukan data yg dipilih dan pStat untuk parameter keluaran

SELECT statusGabung into

vStat FOR UPDATE

Data dipilih

Set pStat=1 ROLLBACK

pStatusGabung=Y

(56)

3.2.2.3. Store procedure untuk manajemen transaksi

Nama store procedure Alasan Keterangan

SPUpdateGabung Mengantisipasi perubahan data pada tabel

salesorderoutdoordetail

Kondisi awal AUTOCOMMIT=0 Status commit jika perubahan data berhasil dilakukan.

Status rollback jika perubahan data tidak berhasil dilakukan. Setelah proses selesai nilai AUTOCOMMIT=1.

3.2.2.4. Perancangan Antarmuka (Desain Interface) 3.2.2.4.1. Antarmuka Login

Gambar 3. 16Perancangan Login

3.2.2.4.2. Antarmuka Order outdoor

Interface Order outdoor merupakan desain yang digunakan untuk

(57)

Gambar 3. 17Perancangan Sales Order Outdoor

3.2.2.4.3. Antarmuka Pembayaran outdoor

Interface pembayaran outdoor merupakan desain yang digunakan

untuk mengelola data pembayaran order.

(58)

3.2.2.4.4. Antarmuka Penggabungan outdoor

Interface penggabungan outdoor merupakan desain yang

digunakan untuk mengelola data penggabungan order outdoor.

(59)

BAB IV

IMPLEMENTASI SISTEM

Implementasi merupakan tahap membangun aplikasi dari hasil rancangan yang telah dijelaskan pada bab sebelumnya. Pada bab ini dijelaskan implementasi dari konsep manajemen transaksi pada sistem informasi ini.

4.1.Antarmuka Sistem Informasi Produksi Outdoor

4.1.1. Antarmuka Login

Sebelum masuk ke menu yang dituju user perlu melakukan login terlebih dahulu.

Gambar 4. 1Menu Login Outdoor

Menu-menunya adalah Order Outdoor, Pembayaran Outdoor, Gabung

Outdoor, Printing Outdoor, Finishing Outdoor, Pengambilan Outdoor.

4.1.2. Antarmuka Pemesanan Order Outdoor

Pada menu Order Outdoor, user dapat melakukan pemesanan barang dengan memilih bahan-bahan yang akan digunakan dan memasukan detail

(60)

bahan yang digunakan. Data yang telah dipilih akan muncul pada tabel daftar faktur. Setelah semua bahan telah dipilih user meng-klik Simpan, untuk mendapatkan nomor pemesanan barang.

Gambar 4. 2Menu Sales Order Outdoor (1)

(61)

4.1.3. Antarmuka Pembayaran Order Outdoor

Pada menu Pembayaran Outdoor user dapat melakukan pembayaran dari barang yang telah dipesan sebelumnya pada proses pemesanan order

outdoor. Jika user belum mendapatkan nomor pemesanan barang proses

pembayaran tidak dapat dilakukan karena proses pembayaran dilakukan dengan mencari nomor pemesanan barang yang akan dibayarkan. Gambar 4.4 merupakan menu pembayaran outdoor, ertama user meng-klik tombol Order Belum Lunas, pada menu Daftar Outdoor Gambar 4.5, pilih nomor pemesanan barang yang akan dibayarkan, lalu klik tombol Lihat Detail, akan ditampilkan kembali menu awal Pembayaran Outdoor, masukan jumlah pembayaran, dan klik simpan untuk mendapatkan nomor pembayaran.

(62)

Gambar 4. 5Menu Pembayaran Order Outdoor (2)

(63)

4.1.4. Antarmuka Penggabungan Order Outdoor

Pada menu Gabung Outdoor user dapat melakukan penggabungan barang. Proses penggabungan dapat dilakukan jika user telah mendapatkan nomor pemesanan dan nomor pembayaran. Barang yang telah dipesan dan dibayarkan akan muncul dalam daftar Gabung Gambar 4.7. Pertama user memilih barang yang akan digabungkan, setelah selesai klik Simpan.

Gambar 4. 7Menu Penggabungan Outdoor (1)

4.2.Implementasi Manajemen Transaksi

Manajemen transaksi digunakan dalam proses penggabungan, dengan skenario sebagai berikut :

Waktu (t) Transaksi 1 (T1) Transaksi 2 (T2) Status Gabung (s)

(64)

t2 t3 t4 t5 t6 t7 t8 t9 SELECT s FOR UPDATE; IF(pStatusGabung=Y AND status T1=s); UPDATE s=Y; COMMIT; ELSE ROLLBACK; END IF; Start Transaction T2; WAITING… WAITING… WAITING… SELECT s FOR UPDATE; IF(pStatusGabung=Y AND status T2=s); UPDATE s=Y; COMMIT; ELSE ROLLBACK; END IF; N N N Y (T1) Y (T1) Y (T1) Y (T1) Y (T1)

Query berikut menunjukkan manajemen transaksi dengan metode 2 Phase Locking pada transaksi penggabungan outdoor. 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 pada koneksi yang digunakan saat ini. Mula-mula dilakukan locking terhadap data status gabung agar tidak

(65)

digunakan oleh transaksi lain. Locking ini dilakukan dengan perintah SELECT...FOR UPDATE. Kemudian data status gabung tersebut dicek apakah bernilai N. Jika memenuhi kondisi tersebut, maka akan dilakukan perubahan data. Jika semua proses telah berhasil dilakukan, maka status pencatatan data akan diatur = 1 dan transaksi COMMIT. Transaksi akan ROLLBACK jika status gabung telah berubah. Setelah transaksi dilakukan AUTOCOMMIT kembali diatur menjadi 1.

DELIMITER $$

CREATE DEFINER='root'@'localhost'PROCEDURE

'SPUpdateGabung' (IN pNoGabungDetail varchar(100), IN pStatusGabung char(5), IN pOperatorGabung varchar(40), IN pNamaBahan varchar(50), IN pStatusPesan char(5),IN pNoSo char(12), IN pNamaBarang varchar(50), OUT pStat int)

BEGIN

declare vStat char(1);

SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET AUTOCOMMIT=0;

START TRANSACTION;

SELECT statusGabung into vStat from cobaisupdated where noso like pNoSo AND namaBarang like pNamaBarang for update;

--CEK statusGabung

IF (pStatusGabung='Y' AND vStat='N') THEN

UPDATE cobaisupdated SET noGabungDetail=pNoGabungDetail, statusGabung='Y', OperatorGabung=pOperatorGabung, namaBahan=pNamaBahan, statusPesan='Y', where noso=pNoSo AND namaBarang=pNamaBarang;

SET pStat=1; COMMIT; ELSE SET pStat=0; ROLLBACK; END IF; SET AUTOCOMMIT=1; END $$ DELIMITER;

(66)

Listing 4. 1Store Procedure untuk Status Penggabungan Outdoor

Listing 4. 2 Listing untuk View Cobaisupdate

DROP VIEW IF EXISTS `dss_spectrum`.`cobaisupdated`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `cobaisupdated` AS (select `salesorderoutdoor`.`kodePelanggan` AS

`kodePelanggan`, `salesorderoutdoor`.`namakomputer` AS `namakomputer`,`salesorderoutdoordetail`.`kodeBarang` AS `kodeBarang`,`salesorderoutdoordetail`.`namaBarang` AS `namaBarang`, `salesorderoutdoordetail`.`printernya` AS `printernya`,`salesorderoutdoordetail`.`namaBahan` AS `namaBahan`,`salesorderoutdoordetail`.`operatorGabung` AS `operatorGabung`, `salesorderoutdoor`.`noSo` AS `noso`,`salesorderoutdoordetail`.`judul` AS `judul`,`salesorderoutdoordetail`.`banyak` AS `banyak`,`salesorderoutdoordetail`.`panjang` AS `panjang`, `salesorderoutdoordetail`.`lebar` AS `lebar`,`salesorderoutdoordetail`.`statusGabung` AS `statusGabung`,`salesorderoutdoordetail`.`statusPesan` AS `statusPesan`,`salesorderoutdoordetail`. `noGabungdetail` AS `noGabungdetail`,`salesorderoutdoor`.`cicilan` AS `cicilan`,`salesorderoutdoordetail`.`jumlahGabung` AS `jumlahgabung`,`salesorderoutdoordetail`.`sisaGabung` AS `sisaGabung` from (`salesorderoutdoordetail` join `salesorderoutdoor`

on((`salesorderoutdoordetail`.`noSo` = `salesorderoutdoor`.`noSo`))) where ((`salesorderoutdoordetail`.`statusGabung` = _latin1'N') and

(67)

BAB V

ANALISA HASIL

Pada bab ini akan dibahas mengenai hasil implementasi dari proses manajemen transaksi pada bagian Penggabungan Outdoor dari Sistem Informasi Printing Outdoor. Manajemen transaksi yang digunakan pada saat proses penggabungan outdoor berfungsi mengatasi pemilihan data yang akan digabung secara bersamaan. Proses transaksi ini akan mempengaruhi perubahan status dari data yang digabung. Manajemen transaksi dalam ruang lingkup ini menggunakan teknik Two Phase Locking (2PL) untuk mengatasi masalah the lost update

problem.

Pengujian manajemen transaksi penggabungan dilakukan dengan cara berikut :

1. Proses penggabungan barang akan dilakukan secara bersamaan oleh User 1 dan User 2. Proses penggabungan User 1 akan berhasil, sedangkan pada User 2 proses tidak akan berhasil dan user akan diperingatkan bahwa data sudah dipilih.

(68)

Gambar 5. 1Menu Penggabungan Outdoor user 1

(69)

2. User 1 melakukan penggabungan barang. Gambar 5.3 merupakan halaman penggabungan barang yang dilakukan user 1.

Gambar 5. 3Hasil Penggabungan Outdoor user 1

3. User 2 melakukan penggabungan barang yang sama seperti user 1. Gambar 5.4 merupakan halaman penggabungan barang yang dilakukan

(70)
(71)

BAB VI

PENUTUP

Pada bab akhir ini akan dibahas kesimpulan dan saran dari hal-hal yang berkaitan dengan konsep Manajemen Transaksi pada Sistem Produksi Outdoor yang mengambil contoh percetakan XYZ.

6.1 Kesimpulan

Dari implementasi Manajemen Transaksi dengan metode 2 Phase Locking dengan studi kasus pada sistem produksi printing outdoor di toko xyz dapat disimpulkan bahwa :

1. Manajemen transaksi yang ada dapat berjalan dalam proses penggabungan outdoor.

2. Penggunaan metode 2 Phase Locking pada sistem produksi printing outdoor dapat mengatasi masalah lost update problem akibat transaksi yang dilakukan bersamaan oleh 2 user.

6.2 Saran

Penggunaan metode 2 Phase Locking pada sistem produksi printing outdoor hanya untuk mengatasi masalah the lost update problem. Saran yang dapat diberikan adalah untuk mengembangkan implementasi ini untuk mengatasi masalah concurrency control lainnya.

(72)

DAFTAR PUSTAKA

Connolly, T. M. 2005. Database Systems : A Practical Approach to Design,

Implementation and Management 3rd Edition, Pearson Education Limited

England.

Darmawan, JB. B. 2007. Teknik Kontrol Concurrency Menggunakan 2PL Dalam

MySQL untuk Menangani Masalah Dalam Concurrency, Seminar Nasional

Sains dan Teknologi Universitas Sanata Dharma, Pemanfaatan Potensi Lokal Untuk Meningkatkan Daya Saing Bangsa, halaman 279-287

Haerder,T; Reuter,A. 1983. Principles of Transaction-Oriented Database

Recovery. ACM Computing Surveys 15:287.

Whitten, Jeffrey L., Bentley,Lonnie D., & with Kevin C Ditman. 2004. System

Gambar

Tabel 2. 2 Masalah Ketergantungan Transaksi yang Belum Dilaksanakan
Tabel 2. 3 Masalah Analisis yang Tidak Konsisten
Gambar 3. 1  Diagram Use Case
Tabel 3. 3 Narasi Use-Case Tambah order outdoor  Nama Use Case :  Tambah order outdoor
+7

Referensi

Garis besar

Dokumen terkait

Contohnya adalah Techniche Hoogeschool atau yang saat ini disebut Institut Teknologi Bandung (ITB) merupakan tempat dimana Ir.Soekarno menimba ilmu dan mendapatkan gelarnya.

Dispenser pada proyek akhir ini berbeda dengan dispenser yang sudah ada, dalam hal kontrol suhu, pemakaian energi listrik, serta waktu untuk memanaskan air.?. 2 tanpa

Nilai soft skill yang diharapkan adalah mahasiswa dapat bekerjasama, bertanggung jawab, berani mengemukakan pendapat dan bertanya, menghargai pendapat orang lain,

Karena hal itulah sekolah perlu mengambil tindakan tegas untuk siswa yang masih kurang dalam mematuhi tata tertib yang ada di sekolah agar siswa terbiasa disiplin.Dan keluarga juga

Ruang lingkup dari permasalahan yang diteliti adalah hanya sebatas hubungan rasio Leverage (debt ratio, debt to equity ratio, long term debt to equity ratio, time interest

Fakultas Hukum Universitas 17 Agustus 1945 Semarang yang telah mengabdi kepada bangsa dan Negara selama 40 tahun dalam perkembangannya telah membentuk potensi dasar yang

Penjelasan Digunakan untuk mencatat Penerimaan Setoran/Potongan PFK 3% luran Jaminan Kesehatan dari Pemberi Kerja Pegawai Pemerintah Non PNS yang Berasal dari APBD... 81116

Azospirillum yang menghasilkan IAA mampu mempercepat pertumbuhan tanaman, perkembangan akar lateral, merangsang kerapatan dan panjang rambut akar, yang pada akhirnya