• Tidak ada hasil yang ditemukan

PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK SISTEM REPORT EVENT BERBASIS WEB MENGGUNAKAN METODE BERORIENTASI OBYEK.

N/A
N/A
Protected

Academic year: 2017

Membagikan "PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK SISTEM REPORT EVENT BERBASIS WEB MENGGUNAKAN METODE BERORIENTASI OBYEK."

Copied!
196
0
0

Teks penuh

(1)

i

PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK

SISTEM REPORT EVENT BERBASIS WEB

MENGGUNAKAN METODE BERORIENTASI OBYEK

TUGAS AKHIR

Diajukan Oleh :

MARETHA MAYANG PUTRI NPM. 0534010012

Kepada

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI - FTI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN“

(2)

ii ABSTRAK

Perancangan dan pembuatan perangkat lunak pada aplikasi website sangat berguna bagi perusahaan yang bersangkutan supaya sistem informasi yang telah berjalan secara manual dapat terkomputerisasi. Gambaran Awal pada sistem sebelum merancang serta membuat aplikasi web biasanya, TL (Team Leader) akan mencatat penjualan serta data customer pada buku laporan. Report/laporan event pada Event Organizer yang ditunjuk oleh klien perusahaan akan dikerjakan oleh para TL (Team Leader) yang hanya dibuat terlebih dahulu pada buku laporan kemudian disusun dalam bentuk excel dan mengirimkannya ke e-mail admin pada Event Organizer yang bersangkutan, dimana admin nantinya akan terlebih dahulu menge-cek report/laporan tersebut. Baru setelah itu dikirim kembali melalui email oleh admin ke klien perusahaan produk di masing-masing kota yang bersangkutan Aplikasi ini dibangun menggunakan bahasa pemrogaman PHP dan untuk perancangan database-nya menggunakan MySQL. Perancangan sistemnya menggunakan UML (United Modelling Language), perancangan interface dan pembuatan aplikasinya menggunakan Dreamweaver Mx 2004 tools untuk membuat halaman web. Setelah itu akan digunakan active database/database aktif untuk otomatisasi penghitungan penjualan pada sistem sehingga akan lebih efektif dalam membuat laporan dari event yang telah dilaksanakan. Pada aplikasi website sistem report event ini nantinya akan ditampilkan berupa grafik yang berguna untuk mengukur hasil penjualan pada masing-masing event produk susu balita, sehingga para SPG (Sales Promotion Girl) maupun TL (Team Leader) dapat lebih giat lagi dalam melakukan penjualan produk pada event selanjutnya.

Hasil uji coba membuktikan bahwa aplikasi ini dapat memberikan kemudahan kepada user dalam membuat sistem manajemen data yang lebih rapi untuk report/laporan event sehingga lebih efektif dan lebih efisien.

(3)

iii

KATA PENGANTAR

Alhamdulillahirabbil„alamin, Sembah sujudku dan segala puji syukur kepada Allah Subhanahu Wa Ta'ala, karena hanya dengan kehendak dan kuasa-Nya, penulis dapat menyelesaikan pembuatan Tugas Akhir yang berjudul

“PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK SISTEM

REPORT EVENT BERBASIS WEB MENGGUNAKAN METODE

BERORIENTASI OBYEK”.

Tugas Akhir dengan beban 4 SKS ini disusun dan diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada program studi Teknik Informatika, Fakultas Teknologi Industri, Universitas Pembangunan Nasional ”Veteran” Jawa Timur Surabaya.

Penulis menyadari bahwasanya dalam menyelesaikan Tugas Akhir ini telah mendapat bantuan dan dukungan yang tidak sedikit dari berbagai pihak. Untuk itu penulis secara khusus mengucapkan terima kasih yang sebesar-besarnya kepada : 1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jatim.

2. Bapak Basuki Rahmat, S.Si, MT selaku Ketua Program Studi Teknik Informatika Universitas Pembangunan Nasional “Veteran” Jatim.

3. Bapak Nur Cahyo Wibowo, S.Kom, M.Kom, selaku dosen wali, dosen pembimbing, dosen penguji pada seminar TA dan dosen penguji pada sidang Lisan yang dengan bijaknya memberikan arahan serta revisi untuk penyempurnaan program pada laporan yang penulis buat.

4. Bapak Doddy Ridwandono, S.Kom, selaku dosen pembimbing dan dosen penguji pada sidang Lisan yang dengan sabar memberikan inspirasi dan arahannya selama pembuatan Tugas Akhir ini.

(4)

iv

6. Hj. Asti Dwi Irfianti, S.kom, M.Kom selaku dosen penguji pada sidang Proposal yang dengan bijaknya memberikan revisi untuk penyempurnaan program serta laporan yang penulis buat.

7. Ibu Dra. Nining Martiningtyas, M.MT selaku dosen penguji pada sidang Lisan yang dengan bijaknya memberikan revisi untuk penyempurnaan program serta laporan yang penulis buat.

8. Segenap dosen, karyawan dan admik di program studi Teknik Informatika. 9. Ibu, Bapak, serta adik ku Hamzah dan Ruben tersayang, mbak Ni dan seluruh

keluarga besar yang senantiasa mengingatkan dan mendoakan serta memberikan dukungannya supaya Tugas Akhir ini segera penulis selesaikan. 10.Tante, Mbak Lia, Mbak Rin dan juga Adek Reza atas dukungan serta

semangat yang diberikan.

11.Firmansyah tersayang yang tidak pernah berhenti memberikan dukungan,

semangat dan Do‟a-Nya selama ini.

12.Teman-Teman NET-ID Web Development Renditya Pramaseto, Arif Rahman Sujatmika, Yulien Yohanes, Vicky Altovan dan Hani Priyantoko terima kasih atas dukungan dan bantuannya dalam proses pengerjaan Tugas Akhir.

13.Teman-Teman TF Paralel A Dina Anggraheni, Erlynda, Sindu Kadafi, Andi Plantika, Prasetyo Adhi, Firman Cahaya P, Yudistira Arya, Gandhi Novanto, Ervin Dwi P, Didik Krisdayanto, Maryudha, Febriana Sumarsheila, Fitri Indah yang senantiasa mengingatkan dan mendoakan serta memberikan dukungannya.

Di dalam Tugas Akhir ini mungkin masih terdapat banyak kekurangan yang belum bisa penulis sempurnakan. Untuk itu saran dan masukan sangatlah penulis harapkan untuk perbaikan ke depan.

(5)

v

2.1 Pengantar Pemodelan Visual ...8

2.1.1 UML ( United Modelling Language ) ...8

2.1.2 Diagram - Diagram dalam UML ...9

2.2 PHP ...10

2.4 Pengantar Berorientasi Obyek (Object Oriented) ...14

2.4.1 Object dan Class ...16

2.4.2 Properties dan Method ...18

2.4.3 Mendefinisikan Class ...18

2.5 Active Database ( Basisdata Aktif ) ...24

2.5.1 Perbedaan Basisdata Aktif dan Pasif ...25

(6)

vi

3.2 Analisa dan Perancangan Perangkat Lunak ...40

3.2.1 Kebutuhan Perangkat Lunak ...40

3.2.2 Diagram Use Case Perangkat Lunak ...41

3.2.3 Activity Diagram ...42

3.2.3.1 Activity Diagram pada Input Pegawai ...43

3.2.3.2 Activity Diagram pada Edit Pegawai ...44

3.2.3.3 Activity Diagram pada Delete Pegawai ...44

3.2.3.4 Activity Diagram pada Input Produk ...45

a. Input Nama Produk ...45

b. Input Detail Produk ...46

3.2.3.5 Activity Diagram pada Edit Produk ...47

a. Edit Nama Produk ...47

b. Edit Detail Produk ...48

3.2.3.6 Activity Diagram pada Delete Produk ...49

a.Delete Nama Produk ...49

b. Delete Detail Produk ...50

3.2.3.7 Activity Diagram pada Input Event...51

a. Input Nama Event ...51

b. Input Detail Event ...52

3.2.3.8 Activity Diagram pada Edit Event ...53

a. Edit Nama Event...53

(7)

vii

3.2.3.9 Activity Diagram pada Delete Event...55

a. Delete Nama Event ...55

b. Delete Detail Event ...56

3.2.3.10 Activity Diagram pada Input Penjualan ...57

3.2.3.11 Activity Diagram pada Edit Data Customer ...59

3.2.3.12 Activity Diagram pada Delete Data Customer ...60

3.2.3.13 Activity Diagram pada Cek Laporan ...60

3.2.4 Sequence Diagram ...61

3.2.4.1 Sequence Diagram pada Input Pegawai ...61

3.2.4.2 Sequence Diagram pada Edit Pegawai ...62

3.2.4.3 Sequence Diagram pada Delete Pegawai ...63

3.2.4.4 Sequence Diagram pada Input Produk ...65

a. Input Nama Produk ...65

b. Input Detail Produk ...66

3.2.4.5 Sequence Diagram pada Edit Produk ...67

a. Edit Nama Produk ...67

b. Edit Detail Produk ...68

3.2.4.5 Sequence Diagram pada Delete Produk ...69

a. Delete Nama Produk ...69

b. Delete Detail Produk ...70

3.2.4.6 Sequence Diagram pada Input Event ...71

a. Input Nama Event ...71

b. Input Detail Event ...72

3.2.4.7 Sequence Diagram pada Edit Event ...73

a. Edit Nama Event...73

b. Edit Detail Event ...74

3.2.4.8 Sequence Diagram pada Delete Event ...75

a. Delete Nama Event ...75

b. Delete Detail Event ...76

3.2.4.9 Sequence Diagram pada Input Penjualan ...77

(8)

viii

3.2.4.11 Sequence Diagram pada Delete Data Customer ...79

3.2.4.12 Sequence Diagram pada Cek Laporan ...80

3.2.5 Class Diagram ...80

3.2.6 Perancangan Antarmuka ...83

a. Untuk Admin ...83

b. Untuk TL (Team Leader) ...95

c. User Umum/Klien Perusahaan ...98

BAB IV ...101

IMPLEMENTASI SISTEM ...101

4.1 Kebutuhan Sistem ...101

4.1.1 Perangkat Sistem ...101

4.2 Koneksi Database ...102

4.6.1 Form Input Data Pegawai ...129

4.6.2 Form Edit Data Pegawai ...130

4.6.3 Form Hapus Data Pegawai ...131

4.6.4 Form Input Data Produk ...131

4.6.5 Form Edit Data Produk ...133

4.6.6 Form Hapus Data Produk ...134

4.6.7 Form Input Data Event ...136

4.6.8 Form Edit Data Event ...137

4.6.9 Form Hapus Data Event ...139

(9)

ix

4.6.11 Form Edit Data Customer ...141

4.6.12 Form Hapus Data Customer ...143

4.6.13 Form Hasil Cek Report/Laporan...143

4.6.14 Form Hasil Cek Data Customer Keseluruhan ...145

4.6.15 Form Hasil Grafik Data Penjualan...146

BAB V ...148

UJI COBA & EVALUASI ...148

5.1 Uji Coba ...148

5.2 Pelaksanaan Uji Coba ...149

5.2.1 Uji Coba Input Data Pegawai...149

5.2.2 Uji Coba Edit Data Pegawai ...150

5.2.3 Uji Coba Hapus Data Pegawai ...152

5.2.4 Uji Coba Input Data Produk ...153

5.2.4.1 Nama Produk ...153

5.2.4.2 Detail Produk ...154

5.2.5 Uji Coba Edit Data Produk ...155

5.2.5.1 Nama Produk ...155

5.2.5.2 Detail Produk ...156

5.2.6 Uji Coba Hapus Data Produk ...158

5.2.6.1 Nama Produk ...158

5.2.6.2 Detail Produk ...159

5.2.7 Uji Coba Input Data Event ...161

5.2.7.1 Nama Event ...161

5.2.7.2 Detail Event ...161

5.2.8 Uji Coba Edit Data Event ...163

5.2.8.1 Nama Event ...163

5.2.8.2 Detail Event ...164

5.2.9 Uji Coba Hapus Data Event ...165

5.2.9.1 Nama Event ...165

5.2.9.2 Detail Event ...167

(10)

x

5.2.11 Uji Coba Edit Data Customer ...169

5.2.12 Uji Coba Hapus Data Customer ...170

5.2.13 Hasil Cek Report/Laporan ...172

a. Menggunakan User : Klien Perusahaan ...172

b. Menggunakan User : TL (Team Leader) ...173

c. Menggunakan User : Admin ...174

5.2.14 Hasil Cek Data Customer Keseluruhan ...174

a. Menggunakan User : Klien Perusahaan ...174

b. Menggunakan User : TL (Team Leader) ...175

c. Menggunakan User : Admin ...176

5.2.15 Hasil Grafik Data Penjualan ...176

a. Menggunakan User : Klien Perusahaan ...176

b. Menggunakan User : TL (Team Leader) ...177

(11)

xi

DAFTAR GAMBAR

Gambar 2.1 Passive Database ...27

Gambar 2.2 Active Database ...27

Gambar 2.3 Grafik Batang pada Browser ...35

Gambar 2.4 Grafik Batang Horizontal pada Browser ...36

Gambar 2.5 Grafik Pie pada Browser ...37

Gambar 2.6 Grafik Garis pada Browser...38

Gambar 3.1 Skema System Flow Sistem Report Event Produk Susu Balita ...40

Gambar 3.2 Diagram Use Case Perangkat Lunak Sistem Report Event ...42

Gambar 3.3 Activity Diagram pada Input Pegawai ...43

Gambar 3.4 Activity Diagram pada Edit Pegawai ...44

Gambar 3.5 Activity Diagram pada Delete Pegawai ...45

Gambar 3.6 Activity Diagram pada Input Nama Produk ...46

Gambar 3.7 Activity Diagram pada Input Detail Produk ...47

Gambar 3.8 Activity Diagram pada Edit Nama Produk ...48

Gambar 3.9 Activity Diagram pada Edit Detail Produk ...49

Gambar 3.10 Activity Diagram pada Delete Nama Produk...50

Gambar 3.11 Activity Diagram pada Delete Detail Produk ...51

Gambar 3.12 Activity Diagram pada Input Menu Nama Event ...52

Gambar 3.13 Activity Diagram pada Input Menu Detail Event ...53

Gambar 3.14 Activity Diagram pada Edit Nama Event...54

Gambar 3.15 Activity Diagram pada Edit Detail Event ...55

Gambar 3.16 Activity Diagram pada Delete Nama Event ...56

Gambar 3.17 Activity Diagram pada Delete Detail Event...57

Gambar 3.18 Activity Diagram pada Input Penjualan ...58

Gambar 3.19 Activity Diagram pada Edit Data Customer ...59

Gambar 3.20 Activity Diagram pada Delete Data Customer...60

Gambar 3.21 Activity Diagram pada Cek Laporan ...61

Gambar 3.22 Sequence Diagram pada Input Pegawai ...62

Gambar 3.22 Sequence Diagram pada Edit Pegawai ...63

(12)

xii

Gambar 3.24 Sequence Diagram pada Input Nama Produk ...65

Gambar 3.25 Sequence Diagram pada Input Detail Produk ...66

Gambar 3.26 Sequence Diagram pada Edit Nama Produk ...67

Gambar 3.27 Sequence Diagram pada Edit Detail Produk ...68

Gambar 3.28 Sequence Diagram pada Hapus Nama Produk...69

Gambar 3.29 Sequence Diagram pada Hapus Detail Produk ...70

Gambar 3.30 Sequence Diagram pada Input Nama Event...71

Gambar 3.31 Sequence Diagram pada Input Detail Event ...72

Gambar 3.32 Sequence Diagram pada Edit Nama Event ...73

Gambar 3.33 Sequence Diagram pada Edit Detail Event ...74

Gambar 3.34 Sequence Diagram pada Delete Nama Event...75

Gambar 3.35 Sequence Diagram pada Delete Detail Event ...76

Gambar 3.36 Sequence Diagram pada Input Penjualan ...77

Gambar 3.37 Sequence Diagram pada Input Data Customer ...78

Gambar 3.38 Sequence Diagram pada Delete Data Customer ...79

Gambar 3.39 Sequence Diagram pada Cek Laporan ...80

Gambar 3.40 Class Diagram Sistem Report Event ...81

Gambar 3.41 Interface Login Sistem Report Event ...83

Gambar 3.42 Interface-Admin-Menu Input Data Pegawai Sistem Report Event ..84

Gambar 3.43 Interface-Admin-Menu Edit Data Pegawai Sistem Report Event....85

Gambar 3.44 Interface-Admin-Menu Hapus Data Pegawai Sistem Report Event 86 Gambar 3.45 Interface-Admin-Menu Input Nama Produk Sistem Report Even ...86

Gambar 3.46 Interface-Admin-Menu Input Detail Produk Sistem Report Event..87

Gambar 3.47 Interface-Admin-Menu Edit Nama Produk Sistem Report Event....88

Gambar 3.48 Interface-Admin-Menu Edit Detail Produk Sistem Report Event ...89

Gambar 3.49 Interface-Admin-Menu Hapus Data Produk Sistem Report Event ..90

Gambar 3.50 Interface-Admin-Menu Input Nama Event Sistem Report Event ..91

Gambar 3.51 Interface-Admin-Menu Input Detail Event Sistem Report Event ..91

Gambar 3.52 Interface-Admin-Menu Edit Nama Event Sistem Report Event ....92

(13)

xiii

Gambar 3.54 Interface-Admin-Menu Edit Hapus Nama Event Sistem Report

Event ...94

Gambar 3.55 Interface-Admin-Menu Edit Hapus Detail Event Sistem Report Event ...95

Gambar 3.56 Interface-TL-Menu Input Penjualan Sistem Report Event ...96

Gambar 3.57 Interface Login-Team Leader-Menu Edit Data Customer Sistem Report Event ...97

Gambar 3.58 Interface Login-TL-Menu Hapus Data Customer Sistem Report Event ...98

Gambar 3.59 Interface-Menu Lihat Laporan Sistem Report Event ...98

Gambar 3.60 Interface-Menu Lihat Data Customer Sistem Report Event ...99

Gambar 3.61 Interface-Menu Lihat Grafik Sistem Report Event ...100

Gambar 4.1 Script Koneksi Database cikalbakalcreative ...102

Gambar 4.2 Script Class Menu Pegawai ...104

Gambar 4.3 Script Input Pemanggilan Class Pegawai ...105

Gambar 4.4 Script Edit Pemanggilan Class Pegawai ...106

Gambar 4.5 Script Hapus Pemanggilan Class Pegawai ...106

Gambar 4.6 Script Class Menu Produk ...108

Lanjutan Gambar 4.6 Script Class Menu Produk ...109

Gambar 4.7 Script Input Pemanggilan Class Produk ...110

Gambar 4.8 Script Edit Pemanggilan Class Produk ...110

Gambar 4.9 Script Hapus Pemanggilan Class Produk ...111

Gambar 4.10 Script Class Menu Event ...112

Lanjutan Gambar 4.10 Script Class Menu Event ...113

Gambar 4.11 Script Input Pemanggilan Class Event ...114

Gambar 4.12 Script Edit Pemanggilan Class Event ...115

Gambar 4.13 Script Hapus Pemanggilan Class Event ...115

Gambar 4.14 Script Class Menu Penjualan ...116

Lanjutan Gambar 4.14 Script Class Menu Penjualan ...117

Gambar 4.15 Script Input Pemanggilan Class Penjualan ...118

(14)

xiv

Gambar 4.17 Script Edit Pemanggilan Class Customer ...120

Gambar 4.18 Script Hapus Pemanggilan Class Customer ...120

Gambar 4.19 Tabel Database Cikalbakalcreative ...122

Gambar 4.20 Trigger ...128

Gambar 4.20 Form Input Data Pegawai...129

Gambar 4.21 Form Edit Data Pegawai ...130

Gambar 4.22 Form Hapus Data Pegawai ...131

Gambar 4.23 Form Input Nama Produk ...132

Gambar 4.24 Form Input Detail Produk ...132

Gambar 4.25 Form Edit Nama Produk ...133

Gambar 4.26 Form Edit Detail Produk ...134

Lanjutan Gambar 4.26 Form Edit Detail Produk ...134

Gambar 4.27 Form Hapus Nama Produk ...135

Gambar 4.28 Form Hapus Detail Produk ...136

Gambar 4.29 Form Input Nama Event ...136

Gambar 4.30 Form Input Detail Event...137

Gambar 4.31 Form Edit Nama Event...138

Gambar 4.32 Form Edit Detail Event ...139

Gambar 4.33 Form Hapus Nama Event ...140

Gambar 4.34 Form Hapus Detail Event ...140

Gambar 4.35 Form Input Data Penjualan ...141

Gambar 4.36 Form Edit Data Customer ...142

Gambar 4.37 Form Hapus Data Customer ...143

Gambar 4.38 Form Cek Report/Laporan ...144

Gambar 4.39 Form Hasil Cek Data Customer Keseluruhan ...145

Lanjutan Gambar 4.39 Form Hasil Cek Data Customer Keseluruhan ...146

Gambar 4.40 Form Hasil Grafik Data Penjualan Klien Perusahaan ...146

Lanjutan Gambar 4.40 Form Hasil Grafik Data Penjualan Klien Perusahaan...147

Gambar 4.41 Form Hasil Grafik Data Penjualan TL(Team Leader) ...147

Gambar 5.1 Uji Coba Input Data Pegawai ...150

(15)

xv

Gambar 5.3 Uji Coba Hapus Data Pegawai ...152

Lanjutan Gambar 5.3 Uji Coba Hapus Data Pegawai ...153

Gambar 5.4 Uji Coba Input Data Nama Produk ...153

Lanjutan Gambar 5.4 Uji Coba Input Data Nama Produk ...154

Gambar 5.5 Uji Coba Input Data Detail Produk ...154

Lanjutan Gambar 5.5 Uji Coba Input Data Detail Produk ...155

Gambar 5.6 Uji Coba Edit Nama Produk ...155

Lanjutan Gambar 5.6 Uji Coba Edit Nama Produk ...156

Gambar 5.7 Uji Coba Edit Detail Produk ...157

Gambar 5.8 Uji Coba Hapus Nama Produk ...158

Lanjutan Gambar 5.8 Uji Coba Hapus Nama Produk ...159

Gambar 5.9 Uji Coba Hapus Detail Produk ...160

Gambar 5.10 Uji Coba Input Nama Event ...161

Gambar 5.11 Uji Coba Input Detail Event ...162

Gambar 5.12 Uji Coba Edit Nama Event ...163

Gambar 5.13 Uji Coba Edit Detail Event ...164

Lanjutan Gambar 5.13 Uji Coba Edit Detail Event ...165

Gambar 5.14 Uji Coba Hapus Nama Event ...166

Gambar 5.15 Uji Coba Hapus Detail Event ...167

Lanjutan Gambar 5.15 Uji Coba Hapus Detail Event ...168

Gambar 5.16 Uji Coba Input Data Penjualan ...169

Gambar 5.17 Form Edit Data Customer ...170

Gambar 5.18 Form Hapus Data Customer ...171

Gambar 5.19 Form Hasil Cek Report/Laporan : Klien Perusahaan ...173

Gambar 5.20 Form Hasil Cek Data Customer Keseluruhan : Klien Perusahaan .175 Gambar 5.21 Form Hasil Grafik Data Penjualan : Klien Perusahaan ...177

(16)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Pada Event Organizer yang bergerak pada bidang jasa, dimana setiap saat apabila ada event yang berlangsung harus selalu berhubungan dengan banyak klien dari perusahaan besar. Terutama perusahaan produk yang dikhususkan untuk produk susu balita sehingga dibutuhkan suatu sistem manajemen data. Yang dimaksud sistem manajemen data tersebut adalah aplikasi sistem untuk laporan (report) event. Event biasanya berlangsung dalam kurun waktu beberapa bulan diharapkan dapat ditampilkan pada website aplikasi yang akan dirancang dan dibuat supaya TL (Team Leader) dapat memasukkan laporan secara langsung. Supaya permasalahan dalam efektivitas waktu pada peng-input-an laporan dapat lebih baik lagi. Klien perusahaan yang bersangkutan dapat melihat secara langsung progress/kemajuan event di setiap kota yang ditampilkan melalui grafik pada aplikasi web. Sehingga TL dan kota yang bersangkutan dapat lebih giat lagi dalam melakukan penjualan.

(17)

2

tepat, melakukan verifikasi bahwa model yang dibuat memenuhi syarat sistem, dan menambahkan detail menjadi implementasi. Aplikasi yang akan dirancang dan dibangun menggunakan PHP yang didalamnya berisi class dan objek.

Pemrogaman berorientasi objek atau object-oriented programming (OOP) merupakan suatu pendekatan pemrograman yang menggunakan object dan class. Saat ini konsep OOP sudah semakin berkembang. OOP bukanlah sekedar cara penulisan sintaks progam yang berbeda, namun lebih dari itu, OOP merupakan cara pandang dalam menganalisa sistem dan permasalahan pemrograman. Dalam OOP, setiap bagian dari progam adalah object. Sebuah object mewakili suatu bagian progam yang akan diselesaikan.

Salah satu keuntungan progam yang didefinisikan dengan konsep OOP (Object Oriented Programming) adalah adanya pengkapsulan (Encapsulation) progam dalam class dan object, dimana programmer yang menggunakan class tersebut tidak perlu mengetahui isi dan jalannya class secara detail, hanya perlu tahu bagaimana cara menggunakannya. Selain itu pada database yang nantinya akan dirancang dan dibangun, digunakan active database dimana semua data yang di-input-kan ke dalam database dapat dipantau ketika data tersebut dimasukkan, dihapus ataupun dirubah dengan kondisi tertentu.

1.2 Rumusan Masalah

(18)

3

merancang dan membuat Aplikasi Sistem Report Event Berbasis Web menggunakan metode berorientasi obyek.

1.3 Batasan Masalah

Batasan Masalah dalam aplikasi sistem ini adalah sebagai berikut : a. Tidak menghitung sisa dari :

Stok produk dalam gudang (inventory) di masing-masing store/toko pada kota yang bersangkutan, stok hadiah (gimmick) pada event karena hadiah tersebut selalu diberikan kepada customer yang membeli produk, dan sisa produk sample yang dipakai.

b. Tidak menghitung tanggal kadaluarsa/expayate dari produk yang bersangkutan karna permasalahan tersebut menjadi tanggung jawab toko yang bersangkutan.

c. Hanya memantau laporan pada event yang di inputkan oleh TL (Team Leader).

d. Event yang berlangsung hanya untuk produk susu balita karena selalu ramai di setiap event-nya dan setiap event untuk 1 (satu) merk produk susu dengan beberapa jenis/varian susu, serta TL (Team Leader) yang bertanggung jawab hanya untuk 1 (satu) event saja dalam 1 (satu) waktu.

1.4 Tujuan

(19)

4

a. Untuk mengetahui sistem manajemen data aplikasi report yang berjalan menggunakan pemodelan berorientasi obyek dengan UML (United Modelling Language).

b. Untuk merancang sistem manajemen data aplikasi report yang efektif dan efisien pada Event Organizer.

1.5 Manfaat

Adapun manfaat dari Tugas Akhir ini adalah Untuk memberikan solusi alternatif dalam membuat sistem manajemen data untuk report/laporan guna memberikan kemudahan sehingga lebih efektif dan lebih efisien kepada admin/pihak yang bersangkutan (klien perusahaan) dan juga Team Leader di Event Organizer.

1.6 Metodologi

Pelaksanaan Tugas Akhir ini meliputi tahapan-tahapan sebagai berikut : a. Study Literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan yang ada kaitannya dengan judul penelitian tugas akhir.

b. Observasi / Pengamatan

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

(20)

5

Teknik Pengumpulan data dengan melakukan tanya jawab terhadap orang yang terlibat dalam permasalahan yang diteliti.

d. Implementasi perangkat lunak

Melakukan pembuatan perangkat lunak dari rancangan yang telah dibuat sebelumnya.

e. Pengujian

Melakukan pengujian terhadap perangkat lunak yang telah diimplementasi, yaitu bagaimana active database dapat meng-otomasisasi sistem report event yang berjalan.

1.7 Sistematika Penulisan

Adapun Sistematika Penulisan Tugas Akhir kali ini sebagai berikut :

BAB I PENDAHULUAN

Berisi latar belakang, rumusan dan batasan masalah, tujuan, manfaat serta sistematika penulisan Tugas Akhir.

BAB II TINJAUAN PUSTAKA

Pada bab ini akan disajikan landasan teori yang akan digunakan sebagai penyelesaian permasalahan dalam Tugas Akhir.

BAB III ANALISA DAN PERANCANGAN

Pada bab ini akan diuraikan metode-metode analisa dan desain antarmuka yang digunakan dalam Tugas Akhir.

(21)

6

Melakukan pembuatan perangkat lunak dari rancangan yang telah dibuat sebelumnya.

BAB V UJI COBA DAN EVALUASI

Melakukan pengujian terhadap perangkat lunak yang telah diimplementasi.

BAB VI PENUTUP

(22)

7

BAB II

TINJAUAN PUSTAKA

(23)

8

perusahaan di masing-masing kota tidak dapat melihat progress/kemajuan setiap penjualan di kota lain.

Sistem yang dibuat adalah Sistem untuk peng-input-an laporan (report). Event biasanya berlangsung dalam kurun waktu beberapa bulan diharapkan dapat ditampilkan pada website aplikasi. Yang akan dirancang dan dibuat supaya TL (Team Leader) dapat memasukkan laporan secara langsung, supaya permasalahan dalam efektivitas waktu pada peng-input-an laporan dapat lebih baik lagi. Klien perusahaan produk yang bersangkutan dapat melihat secara langsung progress/kemajuan event di setiap kota yang ditampilkan melalui grafik pada aplikasi web. Sehingga TL dan kota yang bersangkutan dapat lebih giat lagi dalam melakukan penjualan.

Dalam bab ini diuraikan dasar-dasar teori yang mendukung pelaksanaan Tugas Akhir ini, diantaranya :

2.1 Pengantar Pemodelan Visual

Menurut Quatrani (1998:1) pemodelan visual adalah suatu cara berpikir tentang persoalan menggunakan model-model yang diorganisasikan seputar dunia nyata. Model berguna untuk memahami persoalan, mengkomunikasikan dengan orang-orang yang terlibat dalam proyek (customer, ahli bidangnya, analis, designer, dll.), memodelkan perusahaan, menyiapkan dokumentasi, merancang program, dan merancang basisdata.

2.1.1 UML ( United Modelling Language )

(24)

9

dan lainnya. Jacobson menulis tentang pendefinisian persyaratan sistem yang disebut use case. Juga mengembangkan sebuah metode untuk perancangan sistem yang disebut Object-Oriented Software Enginnering (OOSE) yang berfokus pada analisis. Booch, Rombough dan Jacobson biasa disebut dengan 3 sekawan (tree amigos). Semuanya bekerja di Rational Software Corporation dan berfokus pada standarisasi dan perbaikan ulang UML. 1

Sholiq. (2006). Pemodelan Sistem Informasi Berorientasi Obyek

dengan UML. Graha Ilmu. Jogjakarta.

2.1.2 Diagram - Diagram dalam UML a. Diagram Use Case (Use Case Diagram)

Menyajikan interaksi antara use case dan actor. Aktor dapat berupa orang, peralatan, atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case menggambarkan fungsionalitas sistem atau persyaratan yang harus dipenuhi sistem dari pandangan pemakai.

b. Diagram Aktivitas (Activity Diagram)

Menggambarkan aliran fungsionalitas sistem atau diagram aktifitas yang digunakan untuk menunjukkan aliran kerja bisnis (business workflow), yakni berisi langkah-langkah apa saja yang terjadi dalam aliran kerja.

c. Diagram Sekuensial (Sequence Diagram)

(25)

10 d. Diagram Kelas (Class Diagram)

Menunjukkan interaksi antar kelas dalam sistem. Para programmer menggunakan diagram ini untuk mengembangkan kelas. Case Tool seperti Rational Rose, membangkitkan struktur kode sumber untuk kelas-kelas, kemudian para programmer menyempurnakan dengan bahasa pemrograman yang dipilih saat coding. Para analis menggunakan diagram ini untuk menunjukkan detail sistem, sedangkan arsitek sistem mempergunakan diagram ini untuk melihat rancangan sistem. (1Sholiq. 2006)

2.2 PHP

PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memprogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain.

2.2.1 Kelebihan PHP

Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak

(26)

11

PHP adalah bahasa open source yang dapat digunakan di berbagai

sistem operasi (Linux, Unix, Macintosh, Windows).

PHP mampu berjalan di beberapa server yang ada, misalnya : Apache,

Microsoft IIS, PWS, AOLserver, dan lain-lain.

PHP juga mendukung akses ke beberapa database yang sudah ada, baik

yang bersifat free/gratis maupun komersial. Database tersebut antara lain : MySQL, PosgreSQL, Microsoft SQL server, dan lain-lain. 2

Madcoms. (2004).

Aplikasi Program PHP & MySQL Untuk Membuat Website Interaktif, ANDI OFFSET,

Yogyakarta.

2.2.2 Struktur Program PHP

Kode program PHP menyatu dengan tag-tag HTML (Hypertext Markup Language) dalam satu file. Kode PHP diawali dengan tag <? Atau <?php dan ditutup dengan tag ?>. Berikut struktur penulisan sintaks PHP dalam HTML (Hypertext Markup Language) :

(27)

12

</HTML>

2.3 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen berbasis data SQL (Database Management System) atau DBMS yang multi thread, multi user. Berbeda dengan proyek-proyek seperti Apache, dimana MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, yang memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

2.3.1 Kelebihan MySQL

MySQL merupakan Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language).

(28)

13

Sebagai database server, MySQL dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selain itu MySQL memiliki keistimewaan, antara lain :

● Open Source. MySQL didistribusikan secara open source (gratis), di

bawah lisensi GPL (General Public License).

● Multi user. MySQL dapat digunakan oleh beberapa user dalam waktu

yang bersamaan tanpa mengalami masalah atau konflik.

● Column types. MySQL memiliki tipe kolom, seperti signed/unsigned

integer, float, double, char, text, date, timestamp, dan lain-lain.

● Command dan functions. MySQL memiliki operator dan fungsi secara

penuh yang mendukung perintah Select dan Where dalam query.

Clients dan tools. MySQL dilengkapi dengan tools yang dapat

digunakan untuk administrasi database.

Struktur tabel MySQL memiliki struktur tabel yang lebih fleksibel

dalam menangani alter table. 2.3.2 Konektivitas PHP-MySQL

Untuk menjalankan perintah-perintah MySQL dari dalam script PHP dibutuhkan fungsi koneksi tersendiri. Yaitu :

(29)

14

PHP menyediakan fungsi ini untuk membuat koneksi ke MySQL server. Fungsi ini membutuhkan tiga buah argumen : hostname, database username, dan database user password.

Contoh : mysql_connect (“hostname”, ”database user name”, ”database

Contoh : mysql_select_db(“nama_database”). c. mysql_query( )

Fungsi ini digunakan untuk melakukan query terhadap database yang terpilih. Fungsi ini membutuhkan sebuah argumen, yaitu query. Fungsi ini hanya dapat dilakukan jika user telah melakukan koneksi ke MySQL dan memilih database yang akan digunakan.

Contoh : $hasil=mysql_query(”select * from nama_tabel”). (2Syafi‟i,M. 2006, Membangun Aplikasi Berbasis PHP dan MySQL , CV. ANDI OFFSET, Jakarta)

2.4 Pengantar Berorientasi Obyek (Object Oriented)

(30)

15

PHP 5, script yang menggunakan konsep object-oriented akan lebih cepat dan lebih efisien.

Berorientasi obyek atau object oriented merupakan paradigma baru dalam rekayasa perangkat lunak yang memandang sistem sebagai kumpulan obyek-obyek diskrit yang saling berinteraksi. Dimana dalam mengorganisasikan perangkat lunak sebagai kumpulan obyek diskrit yang bekerja sama antara informasi atau struktur data dan perilaku yang mengaturnya.

Orientasi objek mempunyai bidang aplikasi yang sangat luas dalam bidang rekayasa perangkat lunak, antara lain : pemrogaman, pemodelan sistem informasi, manajemen proyek, perangkat keras, testing dan sebagainya. Pada pemrograman, berorientasi obyek didefinisikan sebagai suatu cara membuat progam yang mempunyai beberapa keuntungan. Dimana dimulai dengan membuat sebuah sistem yang merupakan kumpulan obyek, kemudian saat pengembangan sistem dilakukan dengan menambahkan komponen-komponen yang sudah ada. Akhirnya, jika membangun sistem baru, maka cukup dengan menggunakan kembali obyek yang telah dibuat ke sistem baru yang sedang dibangun.

Pemrogaman berorientasi objek atau object-oriented programming (OOP) merupakan suatu pendekatan pemrograman yang menggunakan object dan class. Saat ini konsep OOP sudah semakin berkembang. Hampir setiap perguruan tinggi di dunia mengajarkan konsep OOP ini pada mahasiswanya. Pemrogaman banyak dipakai dalam penerapan konsep OOP adalah Java dan C++.

(31)

16

dan permasalahan pemrograman. Dalam OOP, setiap bagian dari progam adalah object. Sebuah object mewakili suatu bagian progam yang akan diselesaikan. Beberapa konsep OOP dasar, antara lain :

a. Encapsulation (Class dan Object), yang mencegah pengaksesan langsung ke fungsi atau variabel yang ingin dilindungi.

b. Inheritance (Penurunan Sifat), yang memungkinkan pendefinisian kelas baru yang diturunkan dari kelas yang sudah ada.

c. Polymorphisme, yang memungkinkan pengaksesan ke suatu metode bergantung dari tipe data objek yang diakses. Proses ini disebut juga dengan dynamic binding, yaitu penentuan alamat dari metode atau variabel yang akan diakses dilakukan pada saat run time.

d. Selain itu ada beberapa istilah berorientasi obyek yang lainnya, yakni : Abrtraksi (Abstraction), Pengiriman Pesan (Message Sending), Assosiasi (Assosiation), dan Aggregasi (Aggregration).

PHP 5 sudah mendukung beberapa konsep OOP. Akan tetapi PHP 5 tidak mendukung konsep Multiple-Inheritance dan Polymorphisme.

2.4.1 Object dan Class

Bagian dasar dari sebuah progam yang berorientasi objek adalah

objects. Secara mudah dipahami mengenai object ini. Sebagai contoh,

(32)

17

bisa dilakukan dengan mobil), seperti mengisi bensin, menyalakan mesin, berjalan dan sebagainya.

Biasanya object adalah sebuah kata benda. Orang adalah object. Demikian juga mobil, pohon, bunga, komputer, TV, buku dan sebagainya. Namun, object tidak selamanya sebuah objek fisik. Bisa saja sebuah benda abstrak, seperti account bank, sebuah file di komputer, database, pesan email, acara TV dan sebagainya.

Class merupakan penjelasan atau deskripsi dari objek. Di dalam

class terdapat penjelasan tentang suatu object termasuk properties yang dimilikinya serta kelakuan atau method yang bisa dilakukan oleh object. Sebagai contoh, class Orang. Class orang tentu setidaknya memiliki beberapa bagian seperti tangan, kaki, mata, telinga, dan sebagainya. Class orang juga setidaknya harus bisa jalan, bisa loncat, bisa lari, bisa melihat, bisa bicara dan sebagainya.

(33)

18

menjalankan mobil, bagaimana menghentikan mobil dan fungsi mobil lainnya.

2.4.2 Properties dan Method

Setiap class memiliki properties dari sebuah mobil misalnya warna, ukuran, harga dan sebagainya. Di dalam class, properties dinyatakan dengan sebuah variabel. Misalnya $warna, $harga dan sebagainya. Method merupakan sesuatu yang bisa dilakukan oleh object. Method yang mungkin dipunyai dari sebuah mobil misalnya, method untuk menghidupkan mobil, menjalankan mobil, menghentikan mobil dan sebagainya. Penamaan properties dan method memiliki aturan yang sama dengan penamaan sebuah variabel atau fungsi. Akan tetapi berdasarkan kesepakatan (convention), penamaan properties dan method harus menggunakan camel caps, dimana tiap kata diawali dengan huruf besar kecuali kata pertama, setiap kata digabung tanpa spasi atau under-score (_)

2.4.3 Mendefinisikan Class

Bentuk umum mendefisikan sebuah class adalah sebagai berikut :

Penamaan namaClass pada dasarnya sama dengan penamaan variabel. Penamaan bebas, boleh apa saja, kecuali stdClass. PHP sudah menggunakan nama stdClass sebagai nama class built-in. Isi tubuh class terletak di antara tanda kurung kurawal buka ( { ) dan kurawal tutup ( } ).

Class namaclass

{ Deklarasikan dan definisikan properties di sini

(34)

19

Di tubuh class terdapat pendefinisian properties (variabel) dan method-method class.

a.Menambahkan Properties (Variabel)

Perhatikan Contoh pendefinisian class beserta propertiesnya, sebagai berikut :

Class Mobil

{ var $warna ;

var $merk ;

var $harga ;

//tambahkan pendefinisian method di sini

}

Pendeklarasian variabel dalam class seperti pada contoh di atas, bukanlah suatu keharusan, karena dalam PHP variabel tidak perlu dideklarasikan, cukup digunakan saja.

Namun demikian, pendeklarasian variabel yang digunakan sangat dianjurkan untuk kemudahan pembacaan dan pemahaman progam. Variabel Class juga dapat langsung diinialisasi dengan sebuah nilai. Namun inisialisasi variabel tidak boleh mengandung operasi aritmatika maupun operasi yang lainnya.

Perhatikan contoh sebagai berikut :

Class Mobil

{ var $warna = “Biru” ;

var $merk = “BMW” ;

var $harga = “10000000” ;

//tambahkan pendefinisian method di sini

(35)

20 b.Menambahkan Method

Untuk menambahkan method, tinggal mendefinisikan method seperti halnya fungsi biasa. Misalnya akan ditambahkan fungsi atau method untuk mengganti warna mobil dan untuk menampilkan warna mobil. Nama method pada dasarnya terserah (mengikuti aturan nama variabel). Namun demikian, jangan menggunakan nama method yang diawali dengan dua buah under-score (_) yaitu __construct(), __destruct() dan __clone() karena ketiga fungsi tersebut mempunyai arti tersendiri di PHP. Lihat contoh menambahkan method sebagai berikut :

Class Mobil

Pada listing progam diatas sudah ditambahkan fungsi atau method gantiwarna() dan tampilWarna(). Untuk mengakses properties (variabel) bisa menggunakan keyword $this. Keyword ini me-refer pada class tempatnya berada. Method gantiwarna() mempunyai satu parameter, yaitu $warnaBaru.

c.Menambahkan Konstruktor

(36)

21

namun dalam satu class hanya boleh ada satu konstruktor. Method kostruktor biasanya berisi pemberian nilai default dari masing-masing properties (variabel). Untuk membuat konstruktor, cukup dengan mendefinisikan suatu fungsi dengan nama __construct( ).

Perhatikan contoh sebagai berikut :

Class Mobil

Untuk menggunakan sebuah objek, harus dibentuk objek dari classnya. Dari sebuah class bisa dibentuk beberapa objek sekaligus. Bentuk umum pembentukan objek adalah sebagai berikut : $namaObjek =

new namaClass () ; Sedangkan untuk memanggil anggota (member) dari

class dapat dengan format sebagai berikut :

$namaObjek->variabel ;

(37)

22

Progam 10.1

Nama File : pbo01.php

Deskripsi : Progam sederhana pendefinisian class dan pemanggilan class.

<?

Deskripsi : Progam class untuk membuat sebuah form inputan sederhana

<? php

/*

Nama Class : Form

Deskripsi : Class untuk membuat form inputan text sederhana

(38)

23

{ echo “<form action=‟”.this->action.”‟ method=‟POST‟>”;

echo “<table width=‟100%‟>”;

for ($j=0; $j<count($this->fields);$j++)

{ echo “ <tr> <td align =‟right‟>”. $this->fields[$j] [„label‟].”</td>

Progam 10.3

Nama File : pbo03.inc.php

Deskripsi : Progam memanfaatkan Progam 10.2 untuk membuat form inptan sederhana.

<?php

Include “pbo02.inc.php”;

echo“<html><head><title>Mahasiswa</title></head><body>”; $form = new Form (“”,”Input Form”);

$form->addfield (“txtnim”,”Nim”);

$form->addfield (“txtnama”,”Nama”);

$form->addfield (“txtalamat”,”Alamat”);

Echo “<h3>Silahkan isi form berikut ini :</h3>”;

$form->displayForm();

echo”</body></html>”;

?>

Penjelasan Progam 10.3

(39)

24 e.Memanfaatkan Class yang tersedia

Dengan adanya konsep pemrogaman berorientasi objek, pada programmer PHP di seluruh dunia dapat lebih mudah berbagi teknik programming. Dapat dibuat suatu class dan programmer lain dapat dengan mudah menggunakannya tanpa perlu mengetahui proses jalannya class tersebut. Di internet saat ini bertebaran begitu banyak class dengan fungsinya masing-masing yang tersedia secara cuma-cuma dan dapat dimodifikasi secara bebas. (1

Sholiq. 2006.)

2.5 Active Database ( Basisdata Aktif )

Basisdata aktif yang juga disebut Active Database adalah suatu sistem basisdata yang tidak hanya menyimpan data tetapi juga dapat melakukan suatu aksi tertentu terhadap sebuah event dengan menambahkan suatu elemen dinamis dan memiliki kemampuan memantau event untuk mendeteksi ketika data tertentu dimasukkan, dihapus, diubah, atau dipilih kemudian secara otomatis mengeksekusi suatu aksi sebagai respon dari event yang terjadi dan kondisi tertentu terpenuhi. Basisdata aktif merupakan aspek prosedural dari keseluruhan lingkungan yang dikelola oleh basisdata dan terdeklarasi eksplisit.

Basisdata aktif merupakan kombinasi dari basisdata statis tradisional dan active rules , yang berarti mekanisme secara otomatis untuk memelihara integritas data dan memberi fasilitas dalam memperlengkapi fungsionalitas basis data.

(40)

tabel-25

tabel dalam basisdata. Model yang digunakan untuk menspesifikasi aturan basisdata aktif adalah model ECA (Event-Condition-Action).

Aturan dalam model ECA memiliki tiga komponen yaitu :

a. Event [WHEN] → Event yang memicu suatu rule tersebut biasanya berupa operasi perubahan basisdata yang secara eksplisit ditambahkan ke basisdata. Tipe event yakni : INSERT, DELETE, atau UPDATE.

b. Condition [IF]→ Condition menentukan apakah suatu rule dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition ( bersifat optional ) akan dievaluasi jika didefinisikan oleh yang membuat trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule dijalankan.

c. Action [THEN]→ Aksi yang dilakukan. Action biasanya berupa statemen sql yang dieksekusi secara otomatis.

Fasilitas–fasilitas yang dimiliki oleh basisdata aktif antara lain logika pengolahan ada di dalam database dan dikelola oleh DBMS dan tidak dikelola oleh program aplikasi, bentuk monitoring event dan kondisi yang mempengaruhi data disediakan oleh DBMS, serta sarana untuk men-trigger logika ada di dalam DBMS.

2.5.1 Perbedaan Basisdata Aktif dan Pasif

(41)

26

luar basisdata. Sedangkan basisdata aktif merupakan pengembangan dari database yang memindahkan sifat reactive program ke dalam database.

Salah satu contoh fungsi yang secara efisien dapat dilakukan oleh basisdata aktif, akan tetapi di dalam basisdata pasif harus diprogram di dalam aplikasi adalah integrity constraint dan triggers. Basisdata pasif memiliki keterbatasan untuk mengontrol bentuk-bentuk integrity constraint seperti adanya data tertentu yang harus memenuhi nilai unik atau beberapa data yang harus berisi keterhubungan dengan data lain. Selain itu pada penggunaan triggers pada basisdata pasif, jika terjadi perubahan pada konstrain atau triggers itu sendiri maka harus bisa menemukan dan memodifikasi program atau kode yang relevan di setiap aplikasi. Sedangkan pada basisdata aktif, memiliki kemampuan untuk mengontrol integrity constraint pada keseluruhan database dan penggunaan triggers yang mampu menjalankan suatu aksi ketika mendeteksi suatu kejadian tertentu tanpa mencari kode-kode yang relevan pada program aplikasi untuk ikut diubah.

2.5.2 Arsitektur Basisdata Aktif

(42)

27

Bentuk dari arsitektur basisdata pasif digambarkan sebagai berikut :

Gambar 2.1 Passive Database

Sedangkan bentuk dari arsitektur basisdata aktif digambarkan sebagai berikut :

Gambar 2.2 Active Database ACTIVE DATABASE

DATA TABLE,OBJECT

PROGRAM DB TOOLS

OPERASI MANAJEMEN DAN FUNGSI

RULE BASE (COVERING ACTION) : TRIGGER PASSIVE DATABASE

DATA TABLE,OBJECT

PROGRAM DB TOOLS

(43)

28

Keterangan gambar pada arsitektur database aktif :

a. Data Tables, Object : Tabel yang berisikan data–data objek yang akan digunakan pada database.

b. Progam : Aplikasi sistem report.

c. DB Tools : Power Designer, yang nantinya administratornya yakni user/pengguna dan DBMS (Database Management System) sendiri yakni mySQL.

d. Rule Base : Aturan yang nantinya akan dijalankan pada aplikasi web dimana akan menyesuaikan dengan Condition/kondisi yang ada. Dimana akan dijalankan dengan Action (UPDATE, misalnya) setelah trigger nanti diaktifkan.

Beberapa hal yang perlu diperhatikan yang menjadi sifat dari tingkah laku rule dalam sebuah basisdata aktif yaitu :

a. Termination, suatu eksekusi dari aksi dapat menyebabkan terjadinya event yang lain dan bisa jadi event ini merupakan rule lain yang dijalankan. Apabila tidak ada suatu kondisi terminal, maka hal ini akan terus berulang menjadi loop tanpa akhir.

b. Priority, jika beberapa rule di-trigger oleh event yang sama, maka harus dieksekusi berdasarkan urutan rule-nya.

c. Error handling, jika eksekusi dari rule menghasilkan error maka sistem harus bisa menangani.

(44)

29

a. Secara alami bersifat algoritmik, dimana rule tersebut dijalankan sesuai dengan kondisi yang berlaku.

b. Kondisi yang ditetapkan adalah data pengguna.

c. Deskripsi kerjanya adalah mengubah dan meng-query data oleh pengguna sesuai dengan rule yang dijalankan.

4. Output yang ditentukan secara lengkap oleh spesifikasi dari query/ perubahan yang dilakukan. (3Library IT Telkom : Active Database. 2008.)

2.6 Trigger

Trigger adalah suatu prosedur yang dilakukan oleh DBMS jika terjadi perubahan pada tabel database. Beberapa prosedur yang dapat dilakukan oleh trigger antara lain verifikasi data, melacak perubahan yang terjadi pada sebuah tabel atau melakukan pengecekan business rule. Tabel yang dijadikan acuan untuk pembuatan trigger disebut tabel trigger. Sepintas trigger mirip dengan store procedure, tetapi trigger tidak dapat dieksekusi secara langsung. Trigger harus didasarkan kepada salah satu statement SQL insert, update, atau delete, dan SQL server akan secara otomatis mengeksekusi trigger ketika user mengeksekusi salah satu statement SQL tersebut.

(45)

30

memanggil sebuah rollback transaction, maka SQL server akan me-rollback tiap langkah eksekusi dari trigger sekaligus tiap langkah dari transaksi user. Hal ini dapat menyebabkan penurunan performance data dilakukan sebelum proses transaksi user.

Beberapa alasan mengapa perlu menggunakan trigger adalah sebagai berikut :

a. Untuk memaksakan integritas data.

Trigger digunakan untuk memaksakan integritas data, bukan untuk menghasilkan sebuah data sebagai hasil query. Trigger biasanya dieksekusi apabila ada perubahan data pada tabel. Ketika data pada sebuah tabel diubah (melalui proses update atau delete), maka perubahan tersebut dapat mempengaruhi data pada tabel-tabel lainnya. Hal ini dapat menyebabkan inkonsistensi data sehingga trigger dapat digunakan untuk

“memaksa” perubahan di tabel-tabel yang terpengaruh agar database tetap

konsisten.

Misalnya digunakan trigger untuk melakukan cascading delete pada sebuah tabel pelanggan di database rental VCD. Sebelum data seorang pelanggan tersebut harus dihapus terlebih dahulu. Setelah itu data pelanggan yang bersangkutan dapat dihapus, tanpa menimbulkan ketidakstabilan database.

b. Untuk memaksakan business rule.

(46)

31

untuk dikerjakan oleh constraint. Misalkan seorang pelanggan tidak diperbolehkan meminjam sebuah film jika belum mengembalikan film yang sebelumnya dipinjam, yang sudah habis batas pinjamnya.

c. Untuk menghasilkan nilai dari sebuah perhitungan.

Misalkan ingin membuat nomor pelanggan berdasarkan nama dan nomor teleponnya, maka dapat digunakan trigger untuk melakukan proses pengambilan substring dari nama dan nomor telepon dan menggabungkannya sehingga menjadi sebuah nomor pelanggan.

d. Untuk melacak perubahan (atau update) pada sebuah tabel.

Misalkan pada database kepegawaian terdapat sebuah tabel pegawai yang sekaligus memuat data gaji pegawai. Jika data gaji tersebut diubah (dilakukan proses update) maka update trigger dapat melakukan perubahan record tidak hanya pada tabel pegawai, tetapi juga pada tabel audit keuangan yang melakukan penghitungan pajak penghasilan dari pegawai.

Sepintas trigger juga mirip dengan constraint, tetapi trigger merupakan prosedur yang reaktif (karena dilakukan setelah sebuah statement SQL dikerjakan), sedangkan constraint merupakan prosedur yang proaktif (karena dilakukan sebelum sebuah statement SQL dikerjakan).

Pada MySQL trigger untuk insert, update dan delete dapat diawali dengan AFTER atau FOR adalah untuk membuat trigger biasa, misal untuk

(47)

32

UPDATE (SQL server 2000 menggunakan awalan AFTER, sedangkan FOR

digunakan pada SQL server versi sebelumnya). INSTEAD OF adalah untuk

membuat trigger pengganti dari trigger yang sudah didefinisikan sebelumnya pada tabel atau view dengan action yang sama. Misal sebuah trigger INSTEAD OF INSERT pada sebuah view untuk menggantikan trigger

yang sudah didefinisikan untuk tabel asalnya. Berikut beberapa contoh pembuatan Trigger :

a. INSERT

CREATE TRIGGER trigger_name

ON table_name

AFTER INSERT

AS Commands

Contoh :

CREATE TRIGGER audit_changes ON [dbo][roysched]

FOR INSERT

(48)

33

yang diberi nama audit_trail. Tabel ini harus memiliki nama kolom dan tipe data yang sama dengan tabel roysched jika ingin mengkopi seluruh informasi baris. Jika ingin mengkopi kolom title_id dan royalty saja, maka cukup dibuat dua kolom pada tabel audit_trail.

b. UPDATE

Update trigger akan dijalankan pada sebuah tabel jika isi salah satu atau beberapa kolomnya berubah (diupdate). Contoh update trigger berikut akan menambahkan baris baru pada tabel audit_trail jika nilai kolom royalty di tabel roysched diupdate. Nilai royalty untuk title_id TC7777 yang tadinya 16 akan diupdate menjadi 20. Prosedur ini diperlukan untuk menyimpan perubahan yang terjadi pada tabel roysced, khususnya pada kolom royalty. Contoh :

CREATE TRIGGER audit_update ON roysched

FOR UPDATE AS IF UPDATE (royalty)

BEGIN

Delete trigger berikut akan menghapus record pada tabel audit_trail jika record yang bersesuaian dengannya di tabel roysced dihapus. Contoh :

CREATE TRIGGER delete_audit_trail ON roysched

FOR DELETE

(49)

34

where title_id in (select title_id from deleted)

Opsi WITH ENCRYPTION dapat digunakan jika ingin membuat trigger yang terenkripsi, sehingga user lain tidak dapat melihat definisi trigger tersebut. Hampir semua sintaks SQL dapat digunakan untuk membuat trigger, seperti penggunaan IF untuk pengecekan kondisi logic dari trigger. Beberapa keyword yang tidak dapat digunakan dalam trigger adalah sebagai berikut : didowload gratis pada www.libchart.com .

2.7.1 Grafik Batang Vertikal

include "libchart/libchart.php";

$chart = new VerticalBarChart(500, 250);

(50)

35

$dataSet = new XYDataSet();

$dataSet->addPoint(new Point("Jan 2005", 273));

$dataSet->addPoint(new Point("Feb 2005", 321));

$dataSet->addPoint(new Point("March 2005", 442));

$dataSet->addPoint(new Point("April 2005", 711));

Pada grafik ditambahkan 4 (empat) batang, untuk itu dibuat data set dan tambahkan beberapa batang untuk itu. Setiap bar adalah (label,value) yang biasa disebut point.

$chart->setDataSet($dataSet);

Kemudian ambil data tersebut untuk membuat grafik.

$chart->setTitle("Monthly usage for www.example.com");

$chart->render("generated/demo1.png");

Tampilkan judulnya dan juga render grafik tersebut menjadi file PNG image. Untuk hasilnya dapat dilihat pada Gambar 2.3 Tampilan Grafik Batang pada Browser.

(51)

36 2.7.2 Grafik Batang Horizontal

Sama seperti sebelumnya, untuk membuat grafik batang horizontal dapat dilihat pada sourcode dibawah ini dan hasilnya seperti pada Gambar 2.4 Tampilan Grafik Batang Horizontal pada Browser.

$chart = new HorizontalBarChart(500, 170);

$dataSet = new XYDataSet();

$dataSet->addPoint(new Point("/wiki/Instant_messenger", 50));

$dataSet->addPoint(new Point("/wiki/Web_Browser", 83));

$dataSet->addPoint(new Point("/wiki/World_Wide_Web", 142));

$chart->setDataSet($dataSet);

$chart->setTitle("Most visited pages for www.example.com");

$chart->render("generated/demo2.png");

Gambar 2.4 Grafik Batang Horizontal pada Browser

2.7.3 Grafik Pie

Untuk membuat grafik pie, masukkan 3 (tiga) point yang berisi nilai-nilai yang berkaitan sesuai dengan presentase yang dihitung secara otomatis. Dapat dilihat seperti dibawah ini untuk source code-nya seperti pada Gambar 2.5 Tampilan Grafik Pie pada Browser.

$chart = new PieChart(500, 250);

(52)

37

$dataSet->addPoint(new Point("Mozilla Firefox (80)", 80));

$dataSet->addPoint(new Point("Konqueror (75)", 75));

$dataSet->addPoint(new Point("Other (50)", 50));

$chart->setDataSet($dataSet);

$chart->setTitle("User agents for www.example.com");

$chart->render("generated/demo3.png");

Gambar 2.5 Grafik Pie pada Browser

2.7.4 Grafik Garis/Line

Dapat dilihat sebelumnya dalam pembuatan XYDataSet. Ada beberapa macam dari DataSet, XYSeriesDataSet yang memungkinkan beberapa garis atau bar secara bersamaan ditampilkan. Dapat dilihat pada source code-nya dan seperti pada Gambar 2.6 Tampilan Grafik Garis pada Browser.

include "../libchart/classes/libchart.php";

$chart = new LineChart(500, 250);

(53)

38

$serie2 = new XYDataSet();

$serie2->addPoint(new Point("06-01", 280));

$serie2->addPoint(new Point("06-02", 300));

$serie2->addPoint(new Point("06-03", 212));

$serie2->addPoint(new Point("06-04", 542));

$serie2->addPoint(new Point("06-05", 600));

$serie2->addPoint(new Point("06-06", 850));

(54)

39

BAB III

ANALISA DAN PERANCANGAN

3.1 Analisa Sistem

Bab ini mencakup deskripsi umum sistem seperti bagaimana proses penginputan report event yang sudah dilaksanakan, serta bagaimana otomatisasi active database bekerja.

Sistem informasi pada aplikasi website yang akan dirancang dan dibuat yakni sistem report event produk susu balita yang biasanya dilaksanakan oleh Event Organizer yang bersangkutan. Biasanya klien dari perusahaan susu tersebut sudah mem-booking terlebih dahulu kepada Event Organizer yang ditunjuk untuk jangka waktu event promosi produk tersebut yang akan dilaksanakan. Biasanya akan dilaksanakan setiap weekend yakni hari sabtu dan minggu karena di kedua hari tersebut toko dan supermarket selalu ramai.

(55)

40

Gambar 3.1 Skema System Flow Sistem Report Event Produk Susu Balita

3.2 Analisa dan Perancangan Perangkat Lunak

Berikut ini akan dijelaskan tentang kebutuhan perangkat lunak, diagram use case, diagram activity, diagram sequence, diagram class, serta perancangan antarmuka.

3.2.1 Kebutuhan Perangkat Lunak

(56)

41

a. Laporan dapat di-inputkan oleh TL (Team Leader) pada hari itu juga setelah event selesai. Diberi kemudahan akses juga pada TL (Team Leader) untuk inputan laporan, apabila terjadi kendala dalam melakukan proses input laporan (misalnya : lampu mati).

b. Setelah report/laporan sudah di-input-kan, maka active database diharapkan mampu menghitung dan menyusun laporan tersebut secara otomatis. Aplikasi ini dapat menampilkan progress/kemajuan setiap event di setiap kota melalui grafik progress.

3.2.2 Diagram Use Case Perangkat Lunak

Untuk memberikan gambaran umum mengenai proses-proses apa saja yang terjadi dalam perangkat lunak maka digunakan diagram use case. Seperti pada Gambar 3.2 Diagram Use Case Perangkat Lunak Sistem Report Event. Admin merupakan pengguna yang melakukan proses input untuk ‟input pegawai‟,

input produk‟ dan ‟input event’. Selain itu ada proses edit untuk ‟edit pegawai‟,

edit produk‟ dan ‟edit event’. Dan proses delete untuk ‟delete pegawai‟, ‟delete

produk‟ dan ‟delete event.

(57)

42

Gambar 3.2 Diagram Use Case Perangkat Lunak Sistem Report Event

3.2.3 Activity Diagram

Untuk memperjelas proses-proses pada tiap use case pasa sistem report event, digunakan activity diagram. Dari aktor admin yang merupakan pengguna yang melakukan proses yang terdiri dari ‟input pegawai‟, ‟input produk‟ dan

input event’. Selain itu ada proses ‟edit pegawai‟, ‟edit produk‟ dan ‟edit event’.

Dan proses ‟delete pegawai‟, ‟delete produk‟ dan ‟delete event.

Sedangkan untuk aktor TL (Team Leader) merupakan pengguna yang melakukan proses ‟input penjualan‟, ‟edit penjualan‟ dan ‟delete data customer’.

(58)

43

3.2.3.1 Activity Diagram pada Input Pegawai

Sistem menampilkan form halaman admin, kemudian admin memilih menu input pegawai. Setelah itu admin akan menginputkan nama pegawai, username, password, pilih jabatan pegawai, pilih jenis kelamin pegawai, alamat telepon pegawai, nomor telepon pegawai, dan input gaji pegawai. Baru setelah itu klik submit untuk proses insert selanjutnya ke dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.3 Activity Diagram pada Input Pegawai.

(59)

44 3.2.3.2 Activity Diagram pada Edit Pegawai

Sistem menampilkan form halaman admin, kemudian admin memilih menu edit pegawai. Setelah itu admin akan memilih data-data pegawai yang akan diedit. Baru setelah itu admin memperbaiki kesalahan yang ada pada isian tabel data pegawai, klik submit untuk proses update selanjutnya ke dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.4 Activity Diagram pada Edit Pegawai.

Gambar 3.4 Activity Diagram pada Edit Pegawai

3.2.3.3 Activity Diagram pada Delete Pegawai

(60)

45

yang akan dihapus dengan mencentang data mana yang akan dihapus. Baru setelah itu, klik hapus untuk proses delete selanjutnya dari dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.5 Activity Diagram pada Delete Pegawai.

Gambar 3.5 Activity Diagram pada Delete Pegawai

3.2.3.4 Activity Diagram pada Input Produk

a. Input Nama Produk

(61)

46

web seperti yang terlihat pada Gambar 3.6 Activity Diagram pada Input Nama Produk.

Gambar 3.6 Activity Diagram pada Input Nama Produk

b. Input Detail Produk

(62)

47

web seperti yang terlihat pada Gambar 3.7 Activity Diagram pada Input Detail Produk.

Gambar 3.7 Activity Diagram pada Input Detail Produk

3.2.3.5 Activity Diagram pada Edit Produk

a. Edit Nama Produk

(63)

48

akan diedit. Baru setelah itu admin memperbaiki kesalahan yang ada pada isian tabel data nama produk, klik submit untuk proses update selanjutnya ke dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.8 Activity Diagram pada Edit Nama Produk.

Gambar 3.8 Activity Diagram pada Edit Nama Produk

b. Edit Detail Produk

(64)

49

update selanjutnya ke dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.9 Activity Diagram pada Edit Detail Produk.

Gambar 3.9 Activity Diagram pada Edit Detail Produk

3.2.3.6 Activity Diagram pada Delete Produk

a.Delete Nama Produk

(65)

50

dihapus. Baru setelah itu, klik hapus untuk proses delete selanjutnya dari dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.10 Activity Diagram pada Delete Nama Produk.

Gambar 3.10 Activity Diagram pada Delete Nama Produk

b. Delete Detail Produk

(66)

51

dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.11 Activity Diagram pada Delete Detail Produk.

Gambar 3.11 Activity Diagram pada Delete Detail Produk

3.2.3.7 Activity Diagram pada Input Event

a. Input Nama Event

(67)

52

Gambar 3.12 Activity Diagram pada Input Menu Nama Event

b. Input Detail Event

(68)

53

Gambar 3.13 Activity Diagram pada Input Menu Detail Event

3.2.3.8 Activity Diagram pada Edit Event

a. Edit Nama Event

(69)

54

selanjutnya ke dalam database, nantinya akan ditampilkan pada aplikasi web. Seperti yang terlihat pada Gambar 3.14 Activity Diagram pada Edit Nama Event.

Gambar 3.14 Activity Diagram pada Edit Nama Event

b. Edit Detail Event

Gambar

Gambar 3.1 Skema System Flow Sistem Report Event Produk Susu Balita
Gambar 3.2 Diagram Use Case Perangkat Lunak Sistem Report Event
Gambar 3.3 Activity Diagram pada Input Pegawai
Gambar 3.4 Activity Diagram pada Edit Pegawai
+7

Referensi

Dokumen terkait

Ada beberapa cara yang dapat dilakukan untuk melakukan pertukaran data dari sebuah red5 server dengan aplikasi client yang dikembangkan, perlu dicatat bahwa dalam tugas

Pada Gambar 3.2 diatas mempunyai tiga entitas yaitu admin, intansi, dan atasan Pada entitas admin terdapat data admin, data absensi, data intansi,data pegawai, data nama

dasar itulah penulis dalam tugas ak:hir ini menggunakan metode ijl;nrP·rm,(JrKJna sebagai alternatif yang efektif untuk mempertahankan keberadaan data wnjrPnnn,·K

Sedangkan pada penjualan retail, customer mencari barang yang akan dibeli, kemudian pihak toko akan menyiapkan barang yang telah dipesan, jika barang yang disediakan sudah

Sedangkan pada penjualan retail, customer mencari barang yang akan dibeli, kemudian pihak toko akan menyiapkan barang yang telah dipesan, jika barang yang disediakan sudah

Tujuan dari penelitian ini yaitu untuk membuat suatu aplikasi yang berfungsi melakukan pendeteksian serangan dengan menganalisa header dari paket-paket data

Penjualan produk pada web telah menjadi sumber pendapatan baru yang.. berkembang dengan cepat pada banyak bisnis yang sebelumnya

Bahan penelitian yang digunakan di dalam penelitian ini adalah data event yang telah diselenggarakan oleh beberapa event organizer di Surabaya sebagai dataset, antara lain nama event,