i
(Studi Kasus di HRD PT. Konimex Solo)
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
Disusun oleh:
Nama : Irenius Lijun Pratama NIM : 025314052
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
“BANK OF COMPLAINTS INFORMATION SYSTEMS BASED
ON WEB USING PHP AND MYSQL AT LINUX”
( ACASE STUDY AT HUMAN RESOURCES DEVELOPMENT, PT. KONIMEX SOLO)
A Thesis
Presented as Partial Fullfillment of the Requirements To Obtain the Sarjana Teknik Degree
In Informatics Engineering
By :
Name : Irenius Lijun Pratama Student Number : 025314052
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
HALAMAN PERSEMBAHAN
Karya ini kupersembahkan untuk :
...
Allah Bapa Yang Maha Kuasa yang selalu mengasihi, mencintai dan
memberikan anugerah terindah dalah hidupku serta selalu mengabulkan
doa-doaku,
...
Yesus Sang Juru Selamat-ku dan Sahabatku Sejati yang selalu mencintai
dan membimbingku dalam menghadapi berbagai persoalan hidup serta
selalu memberikan anugerah terindah dalam hid upku,
...
Kedua orang tuaku yang telah membesarkan dan mendidik aku dengan
cinta, kelembutan dan penuh dengan pengorbanan, sungguh merupakan
anugerah yang tak terkira mempunyai o rang tua yang selalu memberikan
yang terbaik bagi diriku,
...
Adik-adikku yang telah menjadi kekuatanku dalam melangkah, kalian
membuat hidupku semakin berarti
...
Keluarga-keluargaku yang telah memberikan motivasi dan doa
...
Seseorang yang selalu setia menemani hari-hariku, baik suka maupun
duka,
...
Dan seluruh sahabat-sahabatku yang memberikan kehangatan dalam
HALAMAN MOTTO
Tidak akan pernah menyerah
Sebelum mencoba
Ketidaktahuan adalah malam dari pikiran, tapi
malam tanpa bulan dan bintang
Kegagalan adalah sebuah proses perjalanan
menuju keberhasilan
Dalam dunia ini tidak ada yang tidak mungkin,
karena selalu ada jalan menuju Roma
Orang sukses tidak santai, orang santai tidak
sukses, jika orang bekerja 40 jam seminggu,
PERNYATAAN KEASLIAN KARYA
Dengan ini saya sebagai penulis tugas akhir menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali pemikiran, metode atau hasil penelitian orang lain yang diambil disebutkan dengan jelas sebagai acuan.
Yogyakarta, Mei 2007
ABSTRAKSI
Sistem Informasi Penanganan Komplain ini dibuat untuk mendukung Divisi Human Resources Development (HRD) di PT. Konimex Solo agar bisa menangani komplain yang ada dengan akurat dan secepat mungkin.
Sistem ini dibuat untuk lingkunganmulti user agar mendukungsharing data. Fasilitas dalam sistem ini adalah bisa menambah kategori, mengupdate kategori dan analisa komplain, menambah analisa komplain, melihat laporan analisa komplain menurut periode serta kategori, melakukansearching data-data kategori berdasarkankeyword , bantuan untuk mengisi analisa komplain, serta melakukan backup danrestore database.
ABSTRACT
Handling Of Complaints Information System is developed to support Human Resouces Development at PT. Konimex Solo that can handle the complaint accurately and quickly.
The system is made for muti user area to support sharing data. Facilities in this system is can add category, updates category and complaint analysis, adds complaint analysis, sees complaint analysis report according to period and category, does searching category data based on keyword , help to fill complain analysis, and does backing up and restore database.
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini. Penulisan tugas akhir ini ditujukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.
Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena itu, penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan, petunjuk, kerjasama, kritikan, maupun saran, antara lain kepada:
1. Bapak JB. Budi Darmawan, S.T., M.Sc., selaku Dosen Pembimbing , yang telah banyak membantu terutama dalam memberikan bimbingan, dukungan, dan penyediaan sarana yang mendukung, sehingga penulis dapat menyelesaikan laporan tugas akhir ini. Terima kasih banyak pak, atas semuanya.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma dan Dosen Pembimbing Akademik yang telah memberikan dukungan selama penulis kuliah.
3. Ibu Polina, Bapak Yudi, dan Bapak Wisnu selaku Dosen Penguji TA.
5. Bapak St.Yudianto Asmoro, S.T sebagai sound enginer penulis dalam menyalurkan hobby bermusik. Terima kasih atas pengetahuan tentang sound yang diberikan dan alat-alat yang telah dipinjamkan.
6. Kedua orang tua penulis yang sangat penulis kasihi, yang telah memberikan semua yang mereka miliki kepada penulis, tanpa mengarapkan imbalan apapun. Terima kasih Tuhan karena telah memberikan orang tua seperti mereka kepada penulis.
7. Susana Meisiana Dwi Kartika dan Tri Pasca Natalis yang sangat penulis kasihi dan selalu menjadi kekuatan penulis selama ini.
8. Sima yang telah memberikan doa dan dukungan serta menemani penulis dalam suka dan duka, walaupun jarak kita terpisah. Terima kasih karena mau menjadi bagian dalam hidupku. Met Ultah Ya, ini Kadoku buatmu.
9. Om Noto yang selalu memberikan nasehat dan bantuan spiritual bagi penulis. 10. Lia yang telah memberikan dukungan bagi penulis dalam proses untuk
menyelesaikan Tugas Akhir ini, thanks juga buat komputer dan hardisknya saat komputerku lagi rewel. Aku udah selesai nich, cepat beresin Tugas Akhirmu ya.
11. Kakek dan nenek di Sintang, yang telah memberikan semangat bagi penulis, Kakek dan Nenek dari Bapak (ini kupersembahkan bagi kalian, semoga selalu damai di dalam surga), Kakek dan Nenek dari ibu (semoga kakek berbahagia di dalam surga, dan Nenek selalu sehat selalu).
13. Pijey yang telah menjadi teman seperjuangan penulis dalam bermusik (Circle Core Band) dan sahabat yang baik. Mantap jey, akhirnya kita bisa membuat sebuah band yang sesuai dengan keinginan kita, cita-cita telah tercapai, semoga di lain waktu kita bisa kembali bersama dalam band. Thanks juga atas nasehat dan waktu untuk mendengarkan segala keluh kesahku, juga atas doa-doamu (he2....). Terima kasih juga atas pinjaman jas nya, titip salam buat keluargamu. Semoga cepat dapat kerja ya.
14. Teman-teman di Circle Core Band. Mantik, Billy, dan Endi, terima kasih karena sudah selalu mendorong penulis agar cepat menyelesaikan Tugas Akhir ini. Kalian membuat impianku menjadi kenyataan, teruslah berkarya dan tetaplah maju walaupun tanpa aku (please...).
15. Yoseph Rostandy (Cecep), thanks pek atas pinjaman alatmu, atas diskusi seputar kuliah, tentang hidup, dan dukungan darimu serta telah menjadi sahabat serta Om yang selalu memberikan nasehat dan menemaniku. Cepat beresin Tugas Akhirmu, banyak pekerjaan menunggu.
16. Bang Kris yang telah banyak memberikan bantuan dalam proses pemahaman terhadap hidup. Kamu abang yang terbaik bagiku. Terima kasih atas hari-hari yang telah kamu berikan, dukungan yang tiada henti, dan guru yang baik bagi hobbyku bermain bola (jadi maniak bola nich sekarang,he2..).
18. Bang Leo, Bang Anderson, Bang Kris, Edvan, Thomas, Teguh, Coky, Nano, Andi dan Ulis sebagai teman satu kost.
19. White Angel FC, Anilop FC dan Sintang FC yang telah memberikan tempat bagiku untuk bermain bola, thanks buat semuanya,
20. Dan seluruh pihak yang telah ikut ambil bagian dalam penyelesaian laporan tugas akhir ini yang tidak dapat penulis sebutkan satu-persatu.
Seperti kata pepatah, “Tak ada gading yang tak retak”, maka penulis menyadari segala keterbatasan dalam menyelesaikan laporan tugas akhir ini. Oleh karena itu, penulis ingin menyampaikan mohon maaf apabila terdapat kesalahan dan kekurangan. Untuk itu, penulis mengharapkan kritik dan saran yang membangun dari seluruh pihak yang membutuhkan laporan tugas akhir ini.
Semoga laporan tugas akhir ini dapat memberikan manfaat bagi siapa saja yang membutuhkannya. Atas segala perhatiannya dan kerjasamanya, penulis ucapkan terima kasih.
Yogyakarta, Mei 2007
DAFTAR ISI
Halaman Judul ...i
Halaman Judul ...ii
Halaman Persetujuan...iii
Halaman Pengesahan...iv
Halaman Persembahan ... v
Halaman Motto ...vi
Halaman Pernyataan ...vii
Abstraksi...viii
Abstract...ix
Kata Pengantar ...x
Daftar Isi ... xv
Daftar Tabel ...xix
Daftar Gambar ... xx
Daftar Listing... xxiv
BAB I PENDAHULUAN...1
1.1 Latar Belakang ...1
1.2 Rumusan Masalah ...2
1.3 Batasan Masalah...2
1.4 Tujuan dan Manfaat...3
1.5 Metodologi Penelitian ...3
1.6 Sistematika Penulisan...4
BAB II LANDASAN TEORI...6
2.1 Use Case Diagram ...7
2.2 Basis Data ...7
2.2.1 Entity Relationship Diagram (ERD)...8
2.4 Web / Homepage...14
2.5 Hypertext Markup Language (HTML)...16
2.6 PHP...16
2.9 Konsep-konsep Transaksi untuk Recovery dan Concurency Control..27
2.10 Tipe Level Isolasi Transaksi ...30
2.10 Timestamp...31
2.11 Store Procedure ... 31
BAB III ANALISA DAN PERANCANGAN SISTEM...33
3.1 Analisa Sistem...33
3.1.1 Analisa Sistem Lama ...33
3.1.2 Analisa Umum Sistem Bank Of Complaints yang Baru...34
3.1.2.1 Proses Pengumpulan Kebutuhan...36
3.1.2.2 Pemodelan Proses (Data Flow Diagram) ...39
3.1.2.3 Pemodelan Data (Conceptual Database Design) ...46
3.2 Perancangan Sistem...47
3.2.1 Desain Database (Logical Database Design)...47
3.2.3 Hierarki Modul Bank Of Complaints ...51
3.2.4 Disain Pengguna Bank Of Complaints ...55
3.2.5 Disain Input...57
3.2.6 Disain Output ...63
BAB IV IMPLEMENTASI SISTEM...67
4.1 Karateristik Sistem ... 67
4.2 Kebutuhan Sistem ...67
4.3 Pembuatan basis data SIPK menggunakan MySQL ...68
4.4 Koneksi PHP dan MySQL...69
4.5 User Interface...70
4.5.1 User Interface Proses Login ...70
4.5.2 User Interface Proses Data User...80
4.5.2.1 User Interface Proses Menambah Data User ...80
4.5.2.2 User Interface Proses Melihat Data User ...83
4.5.2.3 User Interface Proses Menghapus Data User ...85
4.5.3 User Interface Proses Data Kategori...87
4.5.6.1 User Interface Proses Melihat Laporan berdasarkan Kategori
... 117
4.5.6.2 User Interface Proses Melihat Laporan berdasarkan Periode ... 122
4.5.6.3 User Interface Proses Melihat Laporan berdasarkan Kategori dan Periode ...123
4.5.6.4 User Interface Proses Melihat Laporan berdasarkan Narasumber... 124
4.5.7 User Interface Proses Backup...126
BAB V ANALISA HASIL...131
5.1 Pengujian Aplikasi ...131
5.1.1 Pengujian Aplikasi Tanpa menggunakan Timestamp dan Manajemen Transaksi ...131
5.1.2 Pengujian Aplikasi menggunakan Teknik Timestamp dan Manajemen Transaksi ...135
5.1.2.1 Pengujian Terhadap masalah Hilangnya Data Yang Diubah (The Lost Update Problem)... 135
5.2 Kelebihan dan Kekurangan Sistem ... 142
5.2.1 Kelebihan Sistem...142
5.2.2 Kekurangan Sistem ...143
BAB VI PENUTUP... 144
5.1 Kesimpulan ...144
DAFTAR TABEL
2.1 Tipe Data MySQL ...20
2.2 Tabel Operator Equality dan Inequality ...24
2.3 Tabel Operator Logika...24
3.1 Tabel Login...48
3.2 Tabel Kategori...48
3.3 Tabel Analisa ...49
DAFTAR GAMBAR
2.6 Simbol Arus Data dengan Laporan SIPK...13
2.7 Simbol Proses Lihat Kategori ...14
2.8 Simbol Media Penyimpanan Data...14
2.9 Diagram Transaksi State...28
3.1 Use Case Diagram ...37
3.2 Context Diagram ...38
3.3 Decomposition Diagram ...39
3.4 Overwiew Diagram Level 0...40
3.10 Overwiew Diagram Proses 6 Level 1 ...43
3.11 Overwiew Diagram Proses 7 Level 1 ...44
3.12 Overwiew Diagram Proses 8 Level 1 ...44
3.13 Diagram Gabungan...45
3.14 E-R Diagram ...46
3.15 Relational Model BOC ...47
3.16 Hierarki Modul Untuk Admin...51
3.17 Hierarki Modul Untuk Operator...52
3.18 Hierarki Modul Untuk User bank...53
3.19 Hierarki Modul Untuk Manager...54
3.21 Menu Untuk Operator...55
3.22 Menu Untuk Admin...56
3.23 Menu Untuk Manager...56
3.24 Menu Untuk Login ...56
3.25 Form Menu Untuk Login...57
3.26 Form Tambah User...57
3.27 Form Input untuk Kategori ...57
3.28 Form Edit Kategori...58
3.29 Form Tambah Kata kunci ...58
3.30 Form Edit Kata Kunci ...58
3.31 Form Input untuk Analisa Komplain...59
3.32 Form Edit Analisa ...60
3.33 Form Melihat Laporan berdasarkan Kategori...61
3.34 Form Melihat Laporan berdasarkan Periode...61
3.35 Form Melihat Laporan berdasarkan Kategori dan Periode...61
3.36 Form Pencarian ...62
3.37 Form Restore Data...62
3.38 Output Lihat kategori...63
3.39 Output Lihat User ...63
3.40 Output Lihat Analisa ...63
3.41 Output Laporan Analisa Komplain berdasarkan Kategori ...64
3.42 Output Laporan Analisa Komplain berdasarkan Periode ...64
3.43 Output Laporan Analisa Komplain berdasarkan Kategori dan Periode65 3.44 Output Hasil Pencarian jika ditemukan ... 65
3.45 Output Panduan Mengisi Analisa...66
3.46 Output Hasil Pencarian jika Tidak Ditemukan ...66
3.47 Output jika Proses Restore Berhasil ...66
3.48 Output jika Login Tidak Valid... 66
4.1 Field Tabel Login beserta tipe datanya...68
4.2 Field Tabel Kunci beserta tipe datanya ...68
4.4 Field Tabel Analisa beserta tipe datanya ...69
4.5 User Interface Proses Login...71
4.6 User Interface Untuk Admin...77
4.7 User Interface Proses Menambah Data User ...81
4.8 User Interface Proses Melihat Data User... 83
4.9 User Interface Proses Menghapus Data User...86
4.10 User Interface Proses Menambah Data Kategori ... 88
4.11 User Interface Proses Melihat Data Kategori ...90
4.12 User Interface Proses Memilih Data Kategori Yang Akan Diubah ....91
4.13 User Interface Proses Mengubah Data Kategori...94
4.14 User Interface Proses Menghapus Data Kategori ...99
4.15 User Interface Proses Menambah Data Analisa... 102
4.16 User Interface Proses Melihat Data Analisa ... 104
4.17 User Interface Untuk Melakukan Pencarian berdasarkan Kata Kunci ... 107
4.18 User Interface Proses Memilih Data Analisa Yang Akan Diubah .... 108
4.19 User Interface Proses Mengubah Data Analisa... 109
4.20 User Interface Proses Menghapus Data Analisa ... 112
4.21 User Interface Proses Menambah Data Kata Kunci ... 113
4.22 User Interface Proses Melihat Data Kata Kunci ... 115
4.23 User Interface Proses Menghapus Data Kata Kunci ... 116
4.24 User Interface Proses Melihat Laporan berdasarkan Kategori ... 118
4.25 User Interface Proses Melihat Laporan berdasarkan Periode ... 122
4.26 User Interface Proses Melihat Laporan berdasarkan Kategori dan Periode ...123
4.27 User Interface Proses Melihat Laporan berdasarkan Narasumber .... 125
4.28 Gambar Hasil Laporan berdasarkan Kategori... 126
4.29 User Interface Proses Backup ... 127
5.2 User Interface Simulasi Tak Ada Teknik timestamp dan Manajemen Transaksi 1 ... 132 5.3 User Interface Simulasi Tak Ada teknik timestamp dan Manajemen
Transaksi 2 ... 133 5.4 Interface Data Kategori Akhir Pengujian Aplikasi Tanpa Penggunaan
Teknik timestamp dan Manajemen Transaksi... 134 5.5 User Interface Data Kategori Awal Pengujian Terhadap Masalah
Hilangnya Data Yang Diubah (The Lost Update Problem) Dengan Menggunakan Teknik timestamp dan Manajemen Transaksi... 136 5.6 User Interface Simulasi Ada Teknik timestamp Manajemen Transaksi
1 ...137 5.7 User Interface Simulasi Ada Teknik timestamp dan Manajemen
Transaksi 2 ... 139 5.8 User Interface Reaksi Yang Terjadi Jika 2 Simulasi Aplikasi Yang
Menggunakan Teknik timestamp dan Manajemen Transaksi Saling Bertabrakan Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem)...140 5.9 User interface Data Kategori Akhir Pada Pengujian Masalah
DAFTAR LISTING
4.30 Store Procedure laporan berdasarkan periode... 122 4.31 Store Prosedur laporan berdasarkan kategori dan periode ... 124 4.32 Store Prosedur laporan berdasarkan narasumber ... 125 4.33 Listing backup.php ...127 5.1 Proses Delay... 133 5.2 Store Procedure Update Kategori...133 5.3 Proses Delay... 137 5.4 Store Procedure update deskripsi ... 138
1 1.1. Latar Belakang
Seiring dengan perkembangan teknologi informasi yang semakin berkembang, banyak perusahaan mulai menerapkan sebuah sistem informasi yang berbasis web. Sebuah sistem informasi tidak dapat menjalankan fungsinya dengan baik, cepat, serta akurat jika sistem informasi tersebut masih manual.
Pada PT. Konimex khususnya bagian Human Resources Development (HRD) sering mendapat komplain dari semua pihak yang menggunakan jasa HRD. Oleh karena itu, Human Resources Development menganggap penting mengambil keputusan untuk membuat sebuah sistem informasi yang nantinya dapat mengelola komplain-komplain yang terjadi. Namun sistem yang sudah ada sekarang masih belum menggunakan sebuah sistem informasi yang berbasis web serta masih mempunyai beberapa kekurangan. Dengan mempertimbangkan beberapa masalah yang ada dalam mengelola komplain-komplain yang terjadi maka penyusun mencoba untuk membuat sebuah sistem informasi berbasis web serta dapat mengatasi kekurangan pada sistem yang sudah ada sebelumnya.
fasilitas pencarian berdasarkan kategori menggunakan kata kunci, serta belum adanya panduan untuk mengisi analisa komplain.
Penulis tertarik untuk membuat sebuah sistem informasi yang dapat mengelola komplain-komplain yang terjadi di HRD PT. Konimex Solo. Sebagai contoh,userdapat melihat data analisa, dan tidak hanya satuusersaja yang dapat mengaksesnya, namunmultiuser. Sistem informasi yang akan dibangun ini akan dinamakan sebagai Sistem Informasi Penanganan Komplain (selanjutnya akan disingkat dengan SIPK).
1.2. Rumusan Masalah
Dari latar belakang masalah di atas, dapat dirumuskan suatu masalah “Bagaimana membangun sebuah sistem informasi berbasis web yang dapat mengelola komplain-komplain yang terjadi di dalam sub divisiHuman Resources Development di PT. Konimex Solo dalam lingkunganmultiuser?”.
1.3. Batasan Masalah
Dalam batasan masalah ini, penyusun membatasi permasalahan yang perlu, yaitu:
1. SIPK ini digunakan oleh Human Resources Development (HRD) PT. Konimex.
3. SIPK yang dibuat tidak membahas keamanan jaringan.
4. Panduan untuk membantu pengisian analisa komplain pada SIPK hanya berdasarkan kasus-kasus yang serupa atau yang sudah ada sebelumnya.
1.4. Tujuan dan Manfaat
Tujuan dan manfaat pembuatan SIPK adalah sebagai berikut:
1. Membuat sebuah sistem informasi yang dapat menangani komplain-komplain yang terjadi di dalam Sub Divisi Human Resources Development di PT . Konimex Solo (menggunakan PHP dan MySQL) dalam lingkungan multiuser
2. Mempermudah user dalam membuat analisa komplain dan melakukan pencarian.
3. Meringankan kerja operator dalam pembuatan laporan.
1.5. Metodologi Penelitian
Metodologi pengembangan perangkat lunak yang digunakan dalam pembuatan Sistem Informasi Penanganan Komplain (SIPK) adalah metodologi terstruktur (Whitten, J.L., at. all., 2004), dengan tahapan sebagai berikut :
a. Analisis Sistem(System Analysis)
1. Mempelajari buku-buku, laporan-laporan, karya ilmiah maupun makalah yang dapat dijadikan sebagai bahasan masukkan informasi dalam menyelesaikan masalah-masalah yang ada..
2. Melakukan wawancara dengan pihak yang bersangkutan dalam hal ini di HRD PT. Konimex. untuk memperoleh informasi yang akurat berkaitan dengan masalah yang ada.
b. Desain sistem(System Design)
1. Membuat use case diagram, diagram arus data (DFD) dan diagram relasi entitas (ERD) dalam perancangan sistem.
2. Membuat desain database, menu, input, output dan user interface. c. Implementasi sistem(System Implementation)
Setelah sistem selesai dirancang dan dibangun, tahap selanjutnya adalah tahap implementasi yakni meletakkan sistem supaya siap dioperasikan d. Testing dan Analisa Hasil
Sistem ini akan dicoba terlebih dahulu di Laboratorium Teknik Informatika Universitas Sanata Dharma, kemudian dilakukan analisis hasil dari sistem yang dibuat.
1.6. Sistematika Penulisan
Secara garis besar, sistematika penulisan dari Tugas Akhir ini adalah sebagai berikut:
Bab ini membahas tentang latar belakang penulisan tugas akhir, batasan masalah, rumusan masalah, tujuan penulisan dan metodologi penelitian tugas akhir.
BAB II LANDASAN TEORI
Bab ini berisi tentang landasan teori yang digunakan oleh penyusun dalam membuat dan menyelesaikan Tugas Akhir ini.
BAB III PERANCANGAN SISTEM
Bab ini berisi tentang pembahasan rancangan sistem yang akan dibangun. BAB IV IMPLEMENTASI PROGRAM
Bab ini membahas tentang implementasi perancangan program kedalam bahasa perograman.
BAB V ANALISA HASIL
Bab ini berisi jawaban dari rumusan masalah yang telah dinyatakan pada pendahuluan.
BAB VI KESIMPULAN
6
Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan (Robert A.Leitch/K. roscoe Davis, 1983). Kebutuhan akan informasi dan sistem-sistem pendukungnya semakin luas, yang tentunya disesuaikan dengan konsumen informasi tersebut, sepertiinvestor yang memerlukan informasi tentang keuangan dan prospek bisnis masa depan atau agen-agen pemerintah yang memerlukan informasi untuk membuat laporan-laporan keuangan serta aktivitas pengoperasian pajak atau kebijakan-kebijakan pemerintah lainnya.
Sistem informasi sebagai satu kesatuan yang terintegrasi dari berbagai unsur membentuk informasi harus mencakup berbagai aspek diantaranya keakuratan, relevansi dan tepat waktu agar mudah diterima dan diterjemahkan oleh konsumen. Ketiga hal tersebut mutlak adanya dalam suatu sistem informasi karena akan sangat mempengaruhi penilaian konsumen terhadap informasi yang dibutuhkannya.
sehingga mampu menyediakan informasi optimal yang diperlukan pemakainya. (Marlinda, 2004)
2.1 Use Case Diagram
Use case diagram menggambarkan secara grafis perilaku software aplikasi. Dengan kata lain, use case diagram menggambarkan secara grafikal tentang siapa yang akan menggunakan sistem dan dengan cara bagaimana user berinteraksi dengan sistem (A.Suhendar, 2002).
Use case menggambarkan perilaku software aplikasi, termasuk didalamnya interaksi antaractordengansoftware aplikasi tersebut.
Actor menggambarkan pengguna software aplikasi (user). Actor membantu memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software aplikasi. Sebagai contoh, sebuahactordapat memberikan input ke dalam dan menerima informasi dari software aplikasi. Perlu dicatat bahwa sebuahactor berinteraksi denganuse case, tetapi tidak memiliki kontrol atasuse-case. Sebuah actormungkin seorang manusia, satu device hardware, atau sistem informasi lain. Actordinotasikan seperti gambar di bawah ini:
Gambar 2.1 Actor 2.2 Basis Data
perangkat lunak tertentu untuk memanipulasinya. Basis data merupakan salah satu komponen yang penting dalam suatu sistem informasi, karena berfungsi sebagai basis penyedia informasi bagi para pemakainya. Penerapan basis data dalam sistem informasi disebut dengan database system. Sistem basis data ini adalah suatu sistem informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan yang lainnya dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam di dalam suatu organisasi.
2.2.1 Diagram Entity Relationship ( ERD )
Komponen-komponen pembentuk ERD (Fathansyah, 2004), yaitu : 1. Entitas
Merupakan individu yang mewakili sesuatu yang nyata (esistensinya) dan dapat dibedakan dari sesuatu yang lain.
2. Relasi
Menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Model Entity-Relationship yang berisi komponen-komponen himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi dengan atribut-atribut yang mempresentasikan seluruh fakta dari ‘dunia nyata’ yang kita tinjau, dapat digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R). Notasi-notasi simbolik di dalam Diagram E-R yang dapat kita gunakan adalah:
• Persegi panjang, menyatakan Himpunan Entitas.
• Lingkaran/Elip, menyatakan Atribut (Atribut yang berfungsi sebagaikey
• Belah Ketupat, menyatakan Himpunan Relasi .
• Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan
Entitas dan Himpunan Entitas dengan Atributnya.
• Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang
atau dengan pemakaian angka (1 dan 1 untuk relasi satu-ke-satu, dan N untuk relasi satu-ke—banyak atau N dan N untuk relasi banyak-ke-banyak).
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas Relasi yang terjadi di antara 2 himpunan entitas (misalnya A dan B) dapat berupa:
E Himpunan Entitas E R Himpunan Relasi R
1. Satu-ke-satu(one-to-one)
Gambar 2.2 Relasi One-to-One
Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu pula sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
2. Satu-ke-banyak(one-to-many)
Gambar 2.3 Relasi One-to-Many
Entitas 1
Entitas 2 Entitas 2
Entitas 3
Entitas 2 Entitas 2
Entitas 3 Entitas 3
Entitas 4 Entitas 1
B A
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
3. Relasibanyak-ke-banyak(many-to-many)
Gambar 2.4 Relasi Many-to-many
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, dan demikian juga sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan banyak entitas pada himpunan entitas A.
2.3 Data Flow Diagram ( DFD )
DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau suatu sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misalnya
Entitas 1
Entitas 2 Entitas 2
Entitas 3
Entitas 4
Entitas 3
Entitas 4 Entitas 1
lewat telepon, surat dan sebagainya) atau lingkungan fisik dimana data tersebuat akan disimpan (misalnya file kartu, hardisk, dan sebagainya). DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur (struktured Analysis and design) (Jogiyanto, 1999). DFD merupakan alat yang cukup populer sekarang ini, karena dapat menggambarkan arus data di dalam sistem dengan terstruktur dan jelas.
Berikut ini simbol-simbol yang sering digunakan dalam diagram arus data : 1. Kesatuan luar
Merupakan suatu kesatuan di lingkungan luar sistem yag dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak.
Gambar 2.5 Simbol kesatuan luar User 2. Arus data
Arus data di DFD diberi simbol suatu panah. Arus data ini mengalir diantara proses, simpanan data dan kesatuan luar. Arus data ini menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem.
Gambar 2.6 Simbol arus data dengan nama Laporan SIPK
3. Proses
Merupakan kegiatan atau kerja yang dilakukan orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk menghasilkan arus data yang akan keluar dari proses. Pada proses terjadi berbagai kemungkinan arus data. Untuk physical data flow diagram ( PDFD ), proses dapat dilakukan pleh orang, mesin atau komputer, sedangkan untuklogical data flow diagram ( LDFD ), suatu proses hanya menunjukkan proses dari komputer. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang dengan sudut-sudutnya yang tumpul.
Setiap proses harus diberi penjelasan yang lengkap meliputi : a. Identifikasi proses
Identifikasi ini umumnya berupa angka yang menunjukkan nomor acuan dari proses dan ditulis pada bagian atas simbol proses.
b. Nama proses
Nama proses menunjukkan apa yang dikerjakan oleh proses tersebut. Nama proses harus jelas dan lengkap menggambarkan kegiatan proses.
Nama proses biasanya berbentuk suatu kalimat yang diawali dengan kata kerja dan letaknya berada di bawah identifikasi proses.
c. Pemroses
Untuk PDFD yang menunjukkan proses yang tidak hanya dari komputer, tetapi juga proses manual, maka pemroses harus ditunjukkan. Pemroses ini menunjukkan siapa dan dimana suatu proses dilakukan. Untuk LDFD yang prosesnya hanya menunjukkan proses komputer saja, maka pemroses tidak perlu disebutkan. Untuk LDFD, bila pemroses akan disebutkan dapat juga untuk menyebutkan nama dari program yang melakukan prosesnya. Keterangan pemroses ini dapat diletakkan di bawah nama proses.
Gambar 2.7 Simbol proses Lihat Kategori
4. Media penyimpanan data, dapat berupa file / basis data di sistem komputer, arsip / catatan manual, kotak tempat data di meja seseorang, tabel acuan manual, agenda buku.
Gambar 2.8 Simbol media penyimpanan data Lihat
Kategori 2
2.4 Web / Homepage
Web pada dasarnya sama dengan homepage karena homepage pada situs web berbentuk sebuah halaman yang ditulis dalam bahasa pemrograman web, dengan isi informasi individu / personal atau kelompok / organisasi tertentu ataupun informasi tertentu yang lebih spesifik. Hompage merupakan dokumen pertama yang akan dilihat oleh user, setiap kali mengakses sebuah Web Server. Web dapat dirancang dengan menggunakan bahasa pemrograman web yang banyak tersedia di pasaran. Apabila situs yang dibangun telah hampir selesai dibangun, maka yang perlu dilakukan adalah memilih domain yang akan digunakan untuk situs tersebut.
Web hosting merupakan tempat dimana seseorang dapat menyimpan data atau dokumen di sebuahweb server.Data atau dokumen ini terhubung ke internet dengan harapan dapat diakses orang lain.
2.5 Hypertext Markup Language ( HTML )
Merupakan salah satu format yang digunakan dalam pembuatan dokumen dan aplikasi yang berjalan di halamanweb.Merupakan protokol yang digunakan untuk mentransfer data antara web server ke web browser. Protokol ini mentransfer dokumen-dokumen web yang ditulis atau berformat HTML. Dikatakan markup language karena HTML berfungsi untuk memformat file dokumen teks biasa untuk bisa ditampilkan pada web browser dengan bantuan tanda-tanda yang sudah ditentukan. Hal tersebut dapat dilakukan dengan menambah elemen atau yang sering disebuttag.
2.6 PHP
PHP merupakan bahasa standar yang digunakan dalam dunia web site. PHP adalah bahasa program yang berbentuk script yang diletakkan di dalam server web. Jika kita lihat dari sejarah, mulanya PHP diciptakan dari ide Rasmus Lerdof yang membuat sebuah script perl. Script tersebut sebenarnya dimaksudkan untuk digunakan sebagai program untuk dirinya sendiri. Akan tetapi, kemudian dikembangkan lagi sehingga menjadi sebuah bahasa yang disebut “Personal Home Page”. Inilah awal mula munculnya PHP sampai saat ini.
PHP telah dicipta terutama untuk kegunaan web dan boleh menghubungkan query basis data dan menggunakan simple task yang boleh diluruskan dengan 3 atau 4 baris kod saja. PHP sebenarnya merupakan program yang berjalan pada platform LINUX sehingga membuat program ini free ware. Selanjutnya PHP mengalami perkembangan yakni dibuat dalam versi windows (Bunafit Nugroho, 2004)
2.7 MySQL
SQL ( Structured Query Language ) adalah bahasa yang berisi perintah-perintah untuk memanipulasi basis data, seperti menghapus, mengubah, memilih, menggabungkan data. SQL yang secara tidak resmi menjadi bahasa standar basis data adalah bahasa yang efisien, mudah untuk mempelajari dibandingkan dengan semua bahasa basis data ((Marlinda, 2004).
Pada DDL hal terpenting adalah pembentukan basis data dengan objek utama tabel, indeks, mengubah tabel, menghapus tabel dan membuat domain. Domain dalam hal ini adalah kemampuan basis data untuk membentuk suatu tipe baru yang pada dasarnya mengacu pada tipe dasar.
• Creating tables;untuk membuat tabel
• Creating indices; untuk membuat indeks.
• Altering tables; untuk mengubah tabel.
• Dropping tables; untuk menghapus tabel.
• Creating domain; untuk membuat tipe data baru.
2. DML (Data Manipulation Language)
Pada DML yang terpenting adalah melakukan operasi atau manipulasi terhadap basis data dengan objek utama insert, delete, selection, pembentukan view dan update. Pembentukan view sebenarnya tidak dilakukan dalam servis DDL karena view bukan merupakan base tables. Dalam hal ini tak ada tabel yang secara fisik terbentuk dengan digunakan view.
• Inserting ;penyisipan data
• Updating; pengubahan data
• Deletion ; penghapusan data
• Selection ; seleksi data
• Creating views; membuat tabel maya.
Pada DCL hal terpenting adalah memberi otoritas, konfirmasi penyimpanan basis data, menunda perubahan dan menghapus otoritas yang telah diberikan. Pada beberapa basis data juga dapat diatur basis data spaceper user.
• Commit ;konfirmasi penyimpanan data dimemorykebasis data
• Rollback ; mengembalikan status transaksi sebelum penyimpanan
• Grant ; pemberian haka dari satu user ke user lain
• Revoke ; penghapusan hak yang diberikan
MySQL (My Structure Query Language) adalah sebuah program pembuat basis data yang bersifat open source, artinya siapa saja boleh menggunakannya dan tidak dicekal. MySQL sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya yang open source, dia dapat dijalankan pada semua platform baik Windows maupun Linux. Selain itu, MySQL juga merupakan program pengakses basis data yang bersifat jaringan sehingga dapat digunakan untuk aplikasi Multi User. Saat ini basis data MySQL telah digunakan hampir oleh semua programer basis data, apalagi dalam pemrograman web.
hampir semua program aplikasi baik yang open source seperti PHP maupun yang tidak, yang ada pada platform seperti Visual Basic, Delphi, dan lainnya.
Pada pertengahan tahun 2001, MySQL mendapatkan penghargaan dari Linux Magazine Editor Choice Award karena kemudahan instalasi, fleksibilitas dan ketersediaannya dalam berbagai platform. Hal ini semakin mengukuhkan keberadaan MySQL dalam berbagai aplikasi berbasis basis data. Bukan hanya pada sistem operasi Linux, tapi juga menyebar pada sistem operasi lain.
2.7.1Basis data,tabel, baris, dan kolom
Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data, sedangkan kolom sering disebut sebagai attributes atau field. Keseluruhan tabel itu dihimpun dalam satu kesatuan yang disebutbasis data.
2.7.2 Tipe Data pada MySQL
Berikut ini tabel tipe data yang dapat digunakan untuk field-field tabel padabasis data MySQL:
Tipe
Data Keterangan Ukuran
INT[(M)]
[UNSIGN
Data numeris yang tidak memiliki komponen desimal atau disebut juga bilangan
bulat. Signed range –2147483648 – 2147483647
ED]
[ZEROFI
LL]
Unsigned range 0 – 4294967295.
TIMEST
AMP[(M)
]
Timestamp/tanda waktu otomatis. Berisi waktu pada saat tabel diakses, dalam
UNIX time.
4
DATE Untuk menyimpan informasi tanggal.
Format : ‘YY-MM-DD’, ‘YYYY-MM-DD’, dan ‘YYMMDD’.
Range 0000-00-00 to 9999-12-31.
4
TIME Untuk menyimpan informasi waktu.
Format : ‘HH:MM:SS, ‘HHMMSS’, ‘HHMM’, ‘HH’
3
DATETI
ME
Untuk menyimpan informasi tanggal dan waktu.
Format : “YYYY-MM-DD HH:MM:SS”.
Range ‘0000-01-01 00:00:00’ – ‘9999-12-31 23:59:59’.
8
YEAR Informasi tahun. 1
CHAR(M
)[binary]
String dengan panjang tetap, selalu tersimpan sesuai dengan panjang yang
ditentukan. Range 1 – 255 karakter. Seluruh space akhiran dibuang saat di-retriev.
Di-sortir dan dibandingkan secara case insentive kecuali jika diberikan binary
keyword.
M
VARCH
AR(M)
[binary]
String dengan panjang variable, tersimpan sesuai dengan panjangnya saat itu.
Range 1 – 255 karakter. Seluruh space akhiran dibuang saat di-retriev. Di-sortir
dan dibandingkan secara case insentive kecuali jika diberikan binary keyword
L+1
TINYBL
OB
TINYTE
XT
Teks dengan ukuran yang pendek.
Dengan panjang maksimum 255 karakter
L+1
BLOB
TEXT
Deretan karakter yang panjang. Biasa dipakai sebagai pengganti format data text
karena keterbatasan ukuran format text. Dengan panjang maksimum 65535
karakter
L+2
BLOB
Teks dengan ukuran yang panjang.
Dengan panjang maksimum 4294967295 karakter
L+4
SET Objek string yang dapat mempunyai lebih dari satu nilai dari nilai yang
dimungkinkan (atau NULL).
1 - 8
Tabel 2.1 Tipe data pada MySQL (Bertha Sidik, Ir , 2005) 2.7.3 MembuatBasis data
Untuk membuat basis data gunakan perintah berikut ini : mysql>CREATE BASIS DATA nama_basis data;
2.7.4 Membuka Basis data
Untuk membuka suatu basis data gunakan perintah berikut ini : mysql>USE nama_basis data
2.7.5 Membuat Tabel
Setelah basis data terbuat dan kita telah membukanya, kita seharusnya membuat tabel yang akan menyimpan data yang kita butuhkan. Setiap perintah SQL pada MySQL harus diakhiri dengan titik koma (;). Pada prompt mysql ketikkan perintah berikut untuk membuat tabel.
mysql>nama_field2 tipe_data2, . . .
mysql>);
2.7.6 Insert Query
Untuk mengisi data pada suatu tabel, kita gunakan perintah INSERT. Sintaks penulisannya adalah sebagai berikut :
mysql>INSERT INTO nama_tabel (field1, field2, ... ) VALUES (nilai_field1, nilai_field2, ... );
2.7.7 Select Query
Perintah ini digunakan untuk melihat data dari satu atau beberapa tabel. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel;
Untuk melihat semua kolom / field pada suatu tabel, sintaks penulisannya adalah sebagai berikut :
mysql>SELECT * FROM nama_tabel;
2.7.8 Menyaring Hasil Select Query dengan WHERE
Kita dapat membatasi hasil select query dengan keyword WHERE sehingga record-record yang dikeluarkan hanyalah record yang sesuai dengan kriteria yang diinginkan. Sintaks penulisannya adalah sebagi berikut :
Operator Keterangan
= Operan kiri sama dengan operan kanan <> atau != Operan kiri tidak sama dengan operan kanan > Operan kiri lebih besar dari operan kanan
>= Operan kiri lebih besar atau sama dengan dari operan kanan < Operan kiri lebih kecil dari operan kanan
<= Operan kiri lebih kecil atau sama dengan dari operan kanan
Tabel 2.2 Tabel operatorEqualitydanInequality
Operator Keterangan
And Operator logika ‘dan’ Or Operator logika ‘atau’
Tabel 2.3 Tabel operator logika
2.7.9 Mensortir Data
Hasil query dapat disortir sesuai dengan kebutuhan dengan keyword ORDER BY. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel ORDER BY kriteria;
Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel ORDER BY kriteria DESC;
2.7.10 Delete Query
Berfungsi untuk menghapus suatu record dengan kriteria tertentu. Sintaks penulisannya adalah sebagai berikut :
mysql>DELETE FROM nama_tabel WHERE kriteria;
Untuk menghapus seluruh record pada suatu tabel, gunakan perintah DELETE tanpa menentukan kriterianya.
mysql>DELETE FROM nama_tabel WHERE kriteria;
2.7.11 Update Query
Berfungsi untuk memodifikasi nilai kolom / field dari suatu record. Sintaks penulisannya adalah sebagai berikut :
mysql>UPDATE nama_tabel SET nama_field1=nilai_baru1, nama_field2=nilai_baru2, ... WHERE kriteria;
Untuk memodifikasi nilai suatu kolom /field secara keseluruhan gunakan perintah UPDATE tanpa menentukan kriterianya.
mysql> UPDATE nama_tabel SET nama_field1=nilai_baru1, ...;
Apache merupakan web server yang paling banyak dipergunakan di Internet. Program ini pertama kali didisain untuk sistem operasi lingkungan UNIX. Namun demikian, pada beberapa versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows.
Berdasarkan sejarahnya, Apache dimulai oleh veteran developer NCSA httpd (National Center for Supercomputing Application ). Saat itu pengembangan NCSA httpd sebagaiweb servermengalami stagnasi. Rob Mc Cool meninggalkan NCSA dan memulai sebuah proyek baru bersama para webmaster lainnya, menambal bug, dan menambahkan fitur pada NCSA httpd. Mereka mengembangkan program ini lewat mailing list. Dengan berpijak pada NCSA httpd versi 1.3, Team Apache mengeluarkan rilis pertama kali secara resmi Apache versi 0.6.2. Nama Apache diambil dari “ A Patchy Server”, server perbaikan yang penuh dengan tambalan ( patch ). Tambalan yang dimaksud adalah penambahan fitur dan penambalanbugdari NCSA httpd Versi 1.3.
Saat ini Apache dipergunakan secara luas. Hal ini disebabkan karena programnya yang gratis dengan kinerja relatif stabil. Dalam pengembangannya pun mempergunakan sistem terbuka, yakni tiap orang dibuka kesempatan seluas-luasnya untuk dapat memberikan kontribusi dalam mengembangkan program. Kontribusi dikomunikasikan lewat mailing list. Apache mempunyai program pendukung yang cukup banyak. Hal ini memberikan layanan yang cukup lengkap bagi penggunanya.
Kontrol ini dapat dijalankan berdasarkan nama hostatau nomor IP.
2. CGI (Common Gateway Interface), yang paling terkenal untuk digunakan adlah Perl ( Practical Extraction and Report Language ), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl).
3. PHP ( PHPHypertext Processor), program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik.
Platform yang didukung oleh Apache saat ini antara lain Linux, SunOS, UnixWare, FreeBSD, Solaris, AIX, OpenBSD, IRIX, SCO, NetBSD, HPUX, BSDI, Digital Unix.
2.9 Konsep-konsep Transaksi untuk Recovery dan Concurency Control Konsep-konsep transaksi ini diambil dari buku Sistem Basis Data (Marlinda,2004).
a. Operasi Read dan Write dari suatu transaksi
Read_item(X) : membaca item X dari basis data dan memasukkannya ke dalam program X
Write_item(X) : menulis isi dari suatu program X ke dalam item basis data X.
b. State-state dari Transaksi
Perlu diketahui kapan suatu transaksi mulai, selain melakukan operasi apa saja, dan commit untuk keperluan recovery.
• READ/WRITE : operasi-operasi pada transaksi
• END_TRANSACTION : akhir transaksi, diperiksa apakah perubahan yang disebabkan suatu transaksi dapat dibuat permanen atau harus digagalkan.
• COMMIT_TRANSACTION : memberi signal bahwa suatu transaksi sukes sehingga perubahan-perubahan yang dilakukan dapat dibuat permanen di basis data.
• Selain itu, diperlukan juga beberapa operasi:
• ROLLBACK(abort) : memberi signal bahwa suatu transaksi gagal sehingga semua perubahan pada basis data harus dihapuskan.
• UNDO : sama seperti roolback, tetapi hanya untuk satu operasi saja.
• REDO : mengulang operasi-operasi tertentu dari suatu transaksi
Diagram transaksi state dari suatu transaksi adalah sebagai berikut:
Gambar 2.9 Diagram Transaksi State
Setelah transaksi selesai, maka akan masuk ke partially commited state. Dicek apakah:
§ Tidak ada kegagalan sistem pada saat menyimpan perubahan-perubahan karena suatu transaksi secara permanen
Bila kedua test tersebut di atas sukses, maka transaksi akan masuk ke state COMMIT. UPDATE dibuat permanen dan transaksi kemudian selesai. Bila salah satu/kedua test gagal, maka transaksi masuk ke state FAILED. Transaksi juga bisa masuk ke state FAILED kalau digagalkan (abort) pada AKTIVE state. Transaksi yang berada di state FAILED harus dirollback untuk meniadakan efek update terhadap basis data, baru transaksi selesai.
Sifat-sifat transaksi:
a) Atomicity : transaksi adalah unit prosessing yang unik. Transaksi harus dilaksanakan secara keseluruhan atau tidak sama sekali.
b) Consistency: eksekusi yang tepat dari suatu transaksi membawa basis data dari suatu konsisten ke state konsisten state yang lain.
c) Permanency: perubahan basis data yang sudah commit harus tetap ada, meski ada kegagalan-kegagalan setelah itu.
d) Isolasi : update transaksi yang belum commit tidak boleh dilihat oleh transaksi lain.
e) Seriability : efek pelaksanaan transaksi-transaksi secara bersamaan harus ekivalen dengan pelaksanaan transaksi-transaksi secara serial.
Ada 3 hal masalah yang dapat disebabkan oleh concurency, salah satunya adalah sebagai berikut:
a) Masalah hilangnya data yang diubah (the lost update problem)
Suatu operasi update yang sukses oleh seorang user dapat disampingkan oleh user yang lain. Sebagai contoh :
Waktu T1 T2 balx
t1 begin_transaction 100
t3 read(balx) balx=balx+100 100
t4 balx=balx-10 write(balx) 200
t5 write(balx) commit 90
t6 commit 90
Solusi dari problem adalah mencegah transaksi T1 membaca nilai balx sampai transaksi T2 selesai melakukan perubahan data.
2.10 Tipe Level Isolasi Transaksi
Level isolasi adalah setting yang menetukan level sebuah transaksi menerima data yang tidak konsisten, yaitu tingkatan sebuah transaksi diisolasi dari transaksi lain (Martina, Ir. Inge., 2003). Ada empat level isolasi, yaitu :
1. Serializable merupakan level isolasi tertinggi. Transaksi terisolasi dari transaksi lainnya. Hasil yang diperoleh dari transaksi konkuren pada sebuah database sama dengan jika transaksi dijalankan secara serial (satu per satu)
2. Read Committed merupakan level default dari SQL Server. Pada level ini, pembacaan data diperbolehkan hanya pada data yang telah di-commit. 3. Read Uncomitted merupakan level terendah. Pada level ini transaksi
diisolasi hanya untuk menjadi data yang rusak fisik tidak dapat dibaca. 4. Repeatable read merupakan pembacaan berulang pada data yang dipakai
2.11 Timestamp
Sebuah kolom TIMESTAMP bermanfaat karena merekam tanggal dan waktu dari suatu operasi INSERT atau UPDATE. Secara default, kolom pertama TIMESTAMP di suatu tabel akan diset secara otomatis pada tanggal dan waktu saat operasi dijalankan jika nilainya tidak dimasukkan. kolom TIMESTAMP pada tanggal dan waktu yang ada dengan memberikan suatu nilai NULL
Suatu nilai TIMESTAMP dikembalikan sebagai suatu string di dalam bentuk 'YYYY-MM-DD HH:MM:SS' dengan lebar 19 karakter.
Waktu TIMESTAMP akan terisi secara otomatis pada saat operasi INSERT atau UPDATE dengan current_timestamp atau waktu saat operasi tersebuat dijalankan dijalankan. (MySQL 5.0 Reference Manual,2006)
Contoh dari penggunaan timestamp adalah sebagai berikut:
CREATE TABLE t2 (ts TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00');
INSERT INTO t2 VALUES (CURRENT_TIMESTAMP);
2.12 Store Procedure
Store Procedure adalah suatu sub program atau sekelompok perintah SQL yang tersimpan dan menyatu dalam suatu basis data. Store Procedure disimpan dalam Mysql server bukan di komputer client dan akan menyatu dengan sebuah basis data dalam server. (M. Agus J. Alam, 2005)
Create procedure <namaStoredProcedure> <isiStoreProcedure>;
Sedangkan untuk menjalankan Store Procedure dalam lingkungan MySQL server, dapat digunakan perintahCall, dengan penulisannya secara sederhana seperti berikut ini :
33 3.1 Analisa Sistem
3.1.1 Analisa Sistem Lama
PT. Konimex khususnya bagian Human Resources Development selama ini menangani komplain-komplain secara manual. Adapun yang menjadi latar belakang sehingga penyusun harus mengembangkan sistem ini adalah karena sistem yang lama masih diolah dengan menggunakan Spreadsheet dengan sistem operasi Linux. Sistem ini menangani adanya komplain yang terjadi di bagian Human Resources Development.
Kekurangan-kekurangan yang ada pada sistem lama yang ditemukan dan dianalisis oleh penyusun adalah sebagai berikut:
1. Dalam sistem yang lama belum diberikan fasilitas untuk melakukan pencarian berdasarkan kata kunci.
2. Dalam sistem yang lama belum diberikan fasilitas panduan untuk mengisi analisa komplain.
3. Belum adanya pembagian hak akses dalam penggunaan Sistem informasi penanganan komplain-komplain-komplain.
menyelesaikan masalah di atas antara lain dengan membuat desainuser interface berbasis Web yang mudah-mudahan dapat dirasa lebih menarik daripada yang lama.
3.1.2 Gambaran Umum Sistem Sistem informasi penanganan komplain-komplain yang baru
Sistem Sistem informasi penanganan komplain-komplain ini dibuat untuk membantu PT. Konimex Solo khususnya Divisi Human Resources Development (HRD). Sistem ini merupakan pengembangan dari Kerja Praktek di HRD PT. Konimex . Dengan sistem ini, divisi HRD bisa menangani komplain yang ada dengan akurat dan secepat mungkin.
Adapun gambaran dari Sistem informasi penanganan komplain-komplain yang akan dibuat adalah sebagai berikut:
Sistem ini digunakan oleh lebih satu user dengan pertimbangan untuk sharing data dan mendukung penggunaan secara multiuser, karena menggunakan teknologi manajemen transaksi dan teknik timestamp. Fasilitas yang diperoleh oleh user jika mengakses sistem adalah bisa menambah kategori, mengupdate kategori dan analisa komplain, menambah analisa komplain, melihat laporan analisa komplain menurut periode serta kategori, melakukan searching data-data kategori berdasarkan keyword , bantuan untuk mengisi analisa komplain, serta melakukan backup dan restore database.
pemrograman, Apache sebagai Web Server, dan databasenya menggunakan MySql.
3.1.3.1 Proses pengumpulan kebutuhan
Pihak-pihak yang menggunakan Sistem informasi penanganan komplain-komplain ini antara lain adalah :
1. Admin
Admin bertugas untuk menangani user yang menggunakan Sistem informasi penanganan komplain-komplain yaitu operator dan user bank. Fasilitas untuk admin antara lain menambah user serta menghapus user.
2. Operator
Fasilitas operator dalam SIPK ini antara lain dapat menambah kategori, mengupdate kategori, menambah analisa komplain, mengupdate analisa komplain, melihat laporan SIPK, membackup data, merestore data, dan melakukan pencarian. Fasilitas ini dapat diakses jika telah melakukan proses login dan valid.
3. User Bank
Fasilitas user bank dalam SIPK ini antara lain dapat menambah kategori, mengupdate kategori, menambah analisa komplain, mengupdate analisa komplain, melihat laporan SIPK, dan melakukan pencarian. Fasilitas ini dapat diakses jika telah melakukan proses login dan valid.
4. Manager
operator
user_bank
admin login
depends on
melihat laporan penanganan
komplain-komplain
membackup data
merestore data menambah kategori
update kategori
tambah user
pencarian
logout
update analisa komplain menambah analisa
komplain
update user
manager
3.1.2.2 Pemodelan proses (Data Flow Diagram (DFD))
Gambar 3.5 Proses 1 level 1
Gambar 3.7 Proses 3 level 1
Gambar 3.9 Proses 5 level 1
6p pencarian user_bank
operator
keyword,kategori,komplain Hasil pencarian
D4 kategori
Data kategori yang dibaca
keyword,kategori,komplain
Hasil pencarian
1
User valid
6
D5 analisa komplain
Data analisa yang dibaca
manager
keyword,kategori,komplain Hasil pencarian
7.1p
Gambar 3.11 Proses 7 level 1
Gambar 3.12 Proses 8 level 1
manajer
3.2.1 Desain Database (Logical Database Design)
Gambar 3.15 Relational Model SIPK
Keterangan : * = primary key ** = secondary key
Entitas-entitas yang ada adalah sebagai berikut :
1. Login, dengan atribut-atributnya adalah id_login, username, password, hak dan status.
2. Kategori, dengan atribut-atributnya adalah kode_ktg, deskripsi, dan jam. 3. Analisa, dengan atribut-atributnya adalah id_analisa, tanggal, narasumber,
kode_ktg, id_login, isi_komp, jawaban, tindakan, sebab, preventif, protektif, sistem_info dan jam.
4. Kunci, dengan atribut-atributnya adalah id_kunci dan kata kunci
3.2.2 Physical Database Design Tabel Login
Primary Key : id_login
Field Name Data Type Field Size Description
id_login int 10 Id login
username varchar 25 Nama user
password varchar 25 Password user
hak int 10 Hak user
status int 1 Status User
Tabel 3.1 Tabel Login
Tabel Kategori
Primary Key : kode_ktg
Field Name Data Type Field Size Description
kode_ktg int 11 Kode kategori
deskripsi varchar 30 Deskripsi kategori
jam timestamp Timestamp
timestamp. Field ini digunakan untuk teknik timestamp yang digunakan untuk merekam tanggal dan waktu dari suatu proses insert atau update.
Tabel Analisa
Primary Key : id_analisa
Field Name Data Type Field Size Description
id_analisa int 9 Id analisa
tanggal date 20 Tanggal analisa
narasumber varchar 30 Nara sumber analisa
kode_ktg int 11 Kode kategori
id_kunci int 11 Id kunci
isi_komp text - Isi komplain
jawaban text - Jawaban dari komplain
tindakan text - Tindakan terhadap
komplain
sebab text - Sebab dari komplain
preventif text - Preventif
protektif text - Protektif
sistem_info text - System info
jam timestamp Timestamp
Tabel 3.3 Tabel Analisa
Primary Key : id_kunci, id_analisa
Field Name Data Type Field Size Description
id_kunci int 11 Id kunci
Kata kunci varchar 30 Kata kunci
komplain
Gambar 3.16 Hierarki Modul Untuk Admin
menu_login.html
index.html
cek_login.php
admin.php
tambahuser.php prosestambahuser.ph p
lihatuser.php formhapususer.php proseshapususer.php
Gambar 3.17 Hierarki Modul Operator
menu_login.html
cek_login.php
operator.php
tambahktg.php prosestambahktg.php
lihatktg.php formeditktg.php proseseditktg.php
formhapusktg.php proseshapusktg.php
lihatanalisa.php formeditanalisa.php proseseditanalisa.php
formhapusanalisa.php proseshapusanalisa.php tambahanalisa.php prosestambahanalisa.php
Pesan tidak valid
laporananalisa.php laporananalisapilih.php proseslap_analisa_pil ihkategori.php
proseslap_analisa_pil ihkategoriperiode.ph proseslap_analisa_pil ihperiode.php
logout.php
backup.php tbl_dump.php
restore.php read_dump.php
Gambar 3.18 Hierarki Modul User_Bank
menu_login.html
cek_login.php
user.php
tambahktg.php prosestambahktg.php
lihatktg.php formeditktg.php proseseditktg.php
formhapusktg.php proseshapusktg.php
lihatanalisa.php formeditanalisa.php proseseditanalisa.php
formhapusanalisa.php proseshapusanalisa.php tambahanalisa.php prosestambahanalisa.php
Pesan tidak valid
laporananalisa.php laporananalisapilih.php proseslap_analisa_pil ihkategori.php
proseslap_analisa_pil ihkategoriperiode.ph proseslap_analisa_pil ihperiode.php
logout.php
Gambar 3.19 Hierarki Modul Untuk Manager
manager.php
laporananalisa.php laporananalisapilih.p hp
proseslap_analisa_pi lihkategori.php
proseslap_analisa_pi lihkategoriperiode.p hp
proseslap_analisa_pi lihperiode.php
pencarian.php prosescari.php
menu_login.html
index.html
cek_login.php
komplain-komplain
Gambar 3.20 Menu Untuk User
Gambar 3.21 Menu Untuk Operator tambah kategori
lihat kategori analisa complaint
lihat analisa
laporan bank of complaint
Handling Of Complaints
KONIMEX
Pharmaceutical laboratoriesSolo-Indonesiapencarian logout
tambah kategori lihat kategori analisa complaint
lihat analisa
laporan bank of complaint
Handling Of Complaints
KONIMEX
Pharmaceutical laboratoriesSolo-IndonesiaGambar 3.22 Menu Untuk Admin
Gambar 3.23 Menu Untuk Manager
Gambar 3.24 Menu Untuk Login tambah user
lihat user
ADMIN AREA
KONIMEX
Pharmaceutical laboratoriesSolo-Indonesialogout
laporan SIPK
pencarian
Handling Of
Complaints
KONIMEX
Pharmaceutical laboratoriesSolo-IndonesiaKONIMEX
Pharmaceutical laboratoriesSolo-Indonesiausername
password
Gambar 3.25 Menu untuk login
Gambar 3.26 Tambah user
Gambar 3.27 Input Untuk Kategori
username
password
login reset
username :
password :
simpan reset
hak :
<<home | tambah user
Kode kategori
Deskripsi
simpan reset
Gambar 3.28 Edit Kategori
Gambar 3.29 Tambah kata kunci
Gambar 3.30 edit kata kunci
Kode kategori
Deskripsi
proses reset
Id kunci
Kata kunci
simpan reset
<<home | tambah kata kunci
Id kunci
Kata kunci
proses reset
Gambar 3.31 Input Untuk Analisa Komplain
Tanggal
Sumber
-Kategori
Komplain
Jawab
Tindakan
Sebab yang mungkin
Preventi
Protektif
Sistem info
submit reset
panduan
<<home | analisa komplain
Gambar 3.32 Edit Analisa
Tanggal
Sumber
-Kategori
Komplain
Jawab
Tindakan
Sebab yang mungkin
Preventif
Protektif
Sistem info
proses reset
<<home |lihat analisa| edit analisa
Gambar 3.33 Melihat laporan berdasarkan kategori
Gambar 3.34 Melihat laporan berdasarkan periode
Gambar 3.35 Melihat laporan berdasarkan kategori dan periode kategori :
print save
Silahkan pilih kategori di bawah ini :
<<home |laporan analisa komplain | laporan berdasarkan kategori
Kategori :
Tanggal:
save reset
- - s/d -
-Silahkan pilih kategori dan isi periode tanggal di bawah ini : <<home |laporan analisa komplain | laporan berdasarkan kategori dan periode
Tanggal:
save reset
- - s/d -
-Silahkan isi periode tanggal di bawah ini :
Gambar 3.36 Pencarian
Gambar 3.37 Restore data
cari
Masukkan kata kunci :
reset
berdasarkan
restore
Silahkan klik tombol browse untuk melakukan restore database :
browse
Gambar 3.38 lihat kategori
username Password hak status hapus
admin 43e9a4ab75570f5b 0 aktif hapus
lijun 75cf8d3826b07d68 1 tidak aktif hapus
sima 6b5f0f306accea57 2 tidak aktif hapus
Gambar 3.39 Lihat user
tanggal kategori komplain jawaban tindakan
08-01-2005 undangan undangan hasil training tidak diberi cc nya
minta maaf, segera mengirimkan cc undangannya
cek ke PA kalau memang belum dikirm, beri teguran
lisan supaya tidak terjadi lagi
sebab preventif Kata
kunci
protektif sistem edit hapus
nama, SKU
training - - edit hapus
Gambar 3.40 lihat analisa
kode kategori deskripsi edit kategori hapus kategori
1 undangan edit hapus
2 admisnistrasi edit hapus
<<home | lihat kategori
<<home | lihat user
LAPORAN ANALISA KOMPLAIN
kategori komplain jawaban tindakan
08-01-2005 training SKU undangan undangan hasil training tidak
cek ke PA kalau memang belum dikirm, beri teguran lisan supaya tidak terjadi lagi
sebab preventif protektif sistem
nama, SKU terlewatkan Buat daftar nama penerima undangan, termasuk ccnya untuk
diacc oleh atasan
-
-Gambar 3.41 Laporan analisa komplain berdasarkan kategori
LAPORAN ANALISA KOMPLAIN Untuk periode01-01-2000 sampai dengan31-12-2005
tanggal Kata
kunci
Nara sumber
kategori komplain jawaban tindakan
08-01-2005 training SKU undangan undangan hasil training tidak
sebab preventif protektif sistem
nama, SKU terlewatkan Buat daftar nama penerima undangan, termasuk ccnya untuk
diacc oleh atasan
-
LAPORAN ANALISA KOMPLAIN
Untuk kategoriundangandan periode01-01-2000sampai dengan31-12-2005
tanggal Kata
kunci
Nara sumber
kategori komplain jawaban tindakan
08-01-2005 training SKU undangan undangan hasil training tidak
sebab preventif protektif sistem
nama, SKU terlewatkan Buat daftar nama penerima undangan, termasuk ccnya untuk
diacc oleh atasan
-
-Gambar 3.43 Laporan analisa komplain berdasarkan kategori dan periode
Hasil pencarian dengan kata kuncitraining:
deskripsi tanggal komplain jawaban tindakan
undangan 08-01-2005 undangan hasil training tidak diberi cc nya
minta maaf, segera mengirimkan cc undangannya
cek ke PA kalau memang belum dikirm, beri teguran lisan supaya tidak terjadi lagi
sebab preventif protektif Kata kunci sistem
nama, SKU terlewatkan Buat daftar nama penerima undangan, termasuk ccnya untuk
diacc oleh atasan
- training
tanggal Nara sumber kategori komplain jawaban tindakan
08-01-2005 SKU undangan undangan hasil training tidak
sebab preventif protektif Kata kunci sistem
nama, SKU terlewatkan Buat daftar nama penerima undangan, termasuk ccnya untuk
diacc oleh atasan
- training
-Gambar 3.45 Panduan mengisi analisa
Hasil pencarian dengan kata kuncitrainingtidak ditemukan!
Gambar 3.46 Hasil pencarian jika tidak ditemukan
Gambar 3.47 Output jika proses restore data berhasil
Gambar 3.48 Output jika login tidak valid <<home |pencarian | hasil pencarian
<<home |restore data | proses restore data
Anda telah sukses melakukan restore file
Login anda tidak valid!!!
IMPLEMENTASI SISTEM
4.1 KARAKTERISTIK SISTEM
Sistem Informasi ini dibangun untuk Human Resources Development (HRD) PT. Konimex Solo.Sistem ini akan digunakan secaramulti user.
Sistem ini dapat mendukung penggunaan secara multi user dikarenakan sistem ini menggunakan TeknikTimestampdan teknologi Manajemene Transaksi dengan level isolasiSerializable.
Pada sistem ini terdapat manajer yang mempunyai fasilitas melihat laporan SIPK dan melakukan pencarian. Admin bertugas untuk menangani user yang menggunakan Sistem Informasi Penanganan Komplain yaitu operator, user, dan manager. Fasilitas untuk admin antara lain menambah user serta menghapus user. Kemudian Operator yang mempunyai fasilitas menambah dan mengupdate kategori, menambah dan mengupdate analisa komplain, melihat laporan SIPK, membackup data, merestore data, dan melakukan pencarian. User mempunyai fasilitas dapat menambah kategori, mengupdate kategori, menambah dan mengupdate analisa komplain, melihat laporan SIPK, dan melakukan pencarian. Semua fasilitas ini bisa diakses jika telah melakukan proses login dan valid.
4.2 KEBUTUHAN SISTEM