Post on 21-Jan-2021
PERANCANGAN SISTEM INFORMASI TIKET HELPDESK
PADA PT. WINCOR NIXDORF INDONESIA
BERBASIS WEB
SKRIPSI Sebagai salah satu syarat untuk memperoleh gelar Setrata Satu ( S1 )
Oleh :
ARIS MUNANDAR
12135010
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
NUSA MANDIRI
2017
i
PERANCANGAN SISTEM INFORMASI TIKET HELPDESK
PADA PT. WINCOR NIXDORF INDONESIA
BERBASIS WEB
SKRIPSI Sebagai salah satu syarat untuk memperoleh gelar Setrata Satu ( S1 )
Oleh :
ARIS MUNANDAR
12135010
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
NUSA MANDIRI
2017
ii
LEMBAR PERSEMBAHAAN
Alhamdulillah, puji syukur kepada-Mu ya Allah…
Diri ini tiada daya tanpa kekuatan dari-Mu. Shalawat serta salamku
kepada suri tauladanku Nabi Muhammad SAW…
Sujud syukurku kupersembahkan kepada-Mu Tuhan Yang Maha
Agung nan Maha Tinggi, atas takdirmu telah Kau jadikan aku manusia
yang senantiasa berfikir, berilmu, beriman, dan bersabar dalam menjalani
kehidupan ini.
Waktu yang sudah kujalani dengan jalan hidup yang sudah menjadi
takdirku, sedih, bahagia, dan bertemu dengan orang-orang yang memberiku
sejuta pengalaman yang telah memberi warna warni kehidupanku.
Kubersujud dihadapan-MU engkau berikan aku kesempatan untuk bisa
sampai di penghujung awal perjuanganku segala puji bagi-Mu ya Allah…
Semoga keberhasilan ini menjadi satu langkah awal bagiku untuk
meraih cita-cita besarku. Dengan segala ketulusan hati kupersembahkan
skripsi ini kepada orang-orang yang mempunyai ketulusan hati yang
senantiasa membimbingku dan menjadi sahabat selama aku dilahirkan
kedunia ini…
Yang Pertama
Ayah dan Ibunda tersayang…
Engkaulah guru pertama dalam hidupku…
pelita hatimu yang telah mengasihiku dan menyayangiku dari lahir sampai
mengerti luasnya ilmu di dunia ini dan sesuci do’a malam hari…
terima kasih atas semua yang telah engkau berikan kepadaku…
Yang Kedua
Semua dosen-dosen yang telah memberikan bimbingan serta kesabaran
dalam membimbingku hingga aku seperti sekarang ini.. tiada kata yang
bisa membalas semua jasa-jasamu hanya ucapan terima kasih yang sebesar-
iii
besarnya yang bisa aku berikan dan semoga Allah SWT membalas semua
jasa-jasamu…
Yang Ketiga
Special untuk kamu yang selalu ada disetiap cerita…
Untuk kamu yang selalu menjadi alasan aku tersenyum dan terus
melangkah walau goyah, untuk terus berusaha dan pantang menyerah…
Teruntuk kamu yang selalu mendampingi di kala susah dan senang…
Teruntuk kamu yang selalu berbagi cerita dan tawamu…
Aku berterima kasih kepada-Nya karena ngzinkanmu untuk menemaniku..
Yang Terakhir
Semua sahabat-sahabat seperjuanganku…
Terima kasih telah mengisi warna-warni dalam kehidupanku suka duka
telah kita lalui bersama hingga akhirnya kita berada di penghujung awal
perjuangan…
Kuatkan tekadmu tuk hadapi rintangan karena sesungguhnya Allah SWT
bersama kita…
“Kebahagianan bukan berasal dari sekelilingmu tapi kebahagiaan
berasal dari kamu dan pikiran mu”
“Harta yang tak pernah habis adalah ilmu pengetahuan dan ilmu
yang tak ternilai adalah pendidikan”
iv
v
vi
vii
PANDUAN PENGGUNAAN HAK CIPTA
Skripsi sarjana yang berjudul “Perancangan Sistem Informasi Tiket
Helpdesk pada PT. Wincor Nixdorf Indonesia” adalah hasil karya tulis asli
ARIS MUNANDAR dan bukan hasil terbitan sehingga peredaran karya tulis
hanya berlaku dilingkungan akademik saja, serta memiliki hak cipta. Oleh karena
itu, dilarang keras untuk menggandakan baik sebagian maupun seluruhnya karya
tulis ini, tanpa seizin penulis. Referensi kepustakaan diperkenankan untuk dicatat
tetapi pengutipan atau peringkasan isi tulisan hanya dapat dilakukan dengan seizin
penulis dan disertai ketentuan pengutipan secara ilmiah dengan menyebutkan
sumbernya. Untuk keperluan perizinan pada pemilik dapat menghubungi
informasi yang tertera di bawah ini:
Nama : ARIS MUNANDAR
Alamat : Dusun Cijeungjing No.16 RT/RW. 07/03 Desa Cijeungjing
Kecamatan Jatigede Kabupaten Sumedang 45374
Handphone : 0823-2102-7027
E-Mail : rhoghest22@gmail.com
viii
KATA PENGANTAR
Dengan mengucapkan puji syukur kehadirat Allah SWT atas
terselesaikannya skripsi dengan judul : "Perancangan Sistem Informasi Tiket
Helpdesk Pada PT. Wincor Nixdorf Indonesia Berbasis Web” yang merupakan
salah satu syarat memperoleh Gelar Program Strata Satu (S1) Program Studi
Teknik Informatika Sekolah Tinggi Manajemen Informatika dan Komputer Nusa
Mandiri.
Selama menyelesaikan skripsi ini, penulis telah banyak menerima
bimbingan, pengarahan, petunjuk dan saran, serta fasilitas yang membantu hingga
akhir dari penulisan skripsi ini. Untuk itu penulis menyampaikan ucapan terima
kasih yang sebesar-besarnya kepada yang terhormat:
1. Direktur Sekolah Tinggi Manajemen Infomatika dan Komputer Nusa
Mandiri.
2. Ketua Program Studi Sekolah Tinggi Manajemen Infomatika dan
Komputer Nusa Mandiri.
3. Hendra Supendar, M.Kom selaku Dosen Pembimbing I yang telah
memberikan bimbingan dan pengarahan dalam penyelesaian skripsi ini.
4. Sulistianto, MM, M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan dan pengarahan dalam penyelesaian skripsi ini.
5. Bapak Presdir PT. Wincor Nixdorf Indonesia.
6. Bapak Wakil Presdir PT. Wincor Nixdorf Indonesia.
7. Bapak Fajar Sudarmadi, S.E selaku HR & GA Supervisor PT. Wincor
Nixdorf Indonesia Jakarta.
ix
8. Muhammad Nahar, ST. selaku Rollout Manager PT. Wincor Nixdorf
Indonesia.
9. Bapak Rahmat Lahka Dea Sembilu, S.Kom selaku IT Supervisor PT.
Wincor Nixdorf Indonesia.
Akhirnya penulis berharap semoga skripsi ini bermanfaat bagi semua
pihak yang membantu, meskipun dalam skripsi ini masih banyak kekurangannya.
Oleh karena itu kritik dan saran yang membangun sangat penulis harapkan.
Jakarta, 17 Juli 2017
Penulis
x
ABSTRAK
Aris Munandar (12135010), Perancangan Sistem Informasi Tiket Helpdesk
pada PT. Wincor Nixdorf Indonesia Berbasis Web.
Banyak hal yang dilakukan pihak manajemen suatu perusahaan untuk
meningkatkan efisiensi. Akan tetapi, saat ini belum ada Perancangan Sistem
Informasi Tiket Helpdesk yang digunakan untuk memberikan laporan secara
sistematis. Semua pencatatan laporan, serta perhitungan masalah masih dilakukan
secara manual. Untuk mengatasi masalah tersebut maka penelitian dilakukan
untuk merancang dan membuat suatu sistem informasi tiket helpdesk yang
dinamis pada PT. Wincor Nixdorf Indonesia sehingga dapat mempermudah
karyawan dalam melakukan pekerjaannya serta dapat mengefesiensikan waktu
pengerjaan. Perangkat lunak yang digunakan untuk membuat program aplikasi ini
diantaranya Apache, Hypertext Prepocessor (PHP), My Structure Query
Language (MySQL), Twitter Bootstrap, dan Notepad++. Hasil yang ingin dicapai
adalah untuk mempercepat dan mempermudah karyawan dalam memberikan
laporan sehingga dapat mengefesiensikan waktu dalam proses pekerjaan juga
membantu mencari dan mengetahui masalah yang ada serta memberikan solusi
alternative terhadap permasalahan yang dihadapi.
Kata Kunci : Perancangan, Sistem Informasi, Tiket, Helpdesk, Apache, PHP,
MySQL, Bootstrap, Notepad++
xi
ABSTRACT
Aris Munandar (12135010), Information Systems Design Helpdesk Ticket at
PT. Wincor Nixdorf Indonesia Web Based.
Many things that the management of a company to improve efficiency. However,
there is currently no Helpdesk Ticket Information System Design that is used to
provide a systematic report. All report records, as well as problem calculations
are still done manually. To overcome these problems then the research is done to
design and create a dynamic helpdesk ticket information system at PT. Wincor
Nixdorf Indonesia in order to facilitate employees in doing their work and can
mengefesiensikan time of workmanship. The software used to create this
application program is Apache, Hypertext Prepocessor (PHP), My Structure
Query Language (MySQL), Twitter Bootstrap, and Notepad ++. The results to be
achieved is to accelerate and facilitate employees in providing reports so as to
mengefesiensikan time in the work process also helps find and find out the
problems and provide alternative solutions to problems encountered.
Keywords: Design, Information System, Ticket, Helpdesk, Apache, PHP,
MySQL, Bootstrap, Notepad ++
xii
DAFTAR ISI
LEMBAR JUDUL SKRIPSI.................................................................................... i
LEMBAR PERSEMBAHAN ................................................................................. ii
LEMBAR PERNYATAAN KEASLIAN SKRIPSI .............................................. iv
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH .... v
LEMBAR PERSETUJUAN DAN PENGESAHAN SKRIPSI ............................. vi
LEMBAR PANDUAN PENGGUNAAN HAK CIPTA....................................... vii
KATA PENGANTAR ......................................................................................... viii
ABSTRAK ............................................................................................................... x
DAFTAR ISI ........................................................................................................ xii
DAFTAR SIMBOL .............................................................................................. xiv
DAFTAR GAMBAR ........................................................................................... xvi
DAFTAR TABEL ............................................................................................... xvii
DAFTAR LAMPIRAN ...................................................................................... xviii
BAB I PENDAHULUAN ............................................................................... 1
1.1 Latar Belakang Masalah ................................................................. 1
1.2 Identifikasi Permasalahan .............................................................. 2
1.3 Perumusan Masalah ....................................................................... 2
1.4 Maksud dan Tujuan ........................................................................ 3
1.5 Metode Penelitian........................................................................... 4
1.5.1 Teknik Pengumpulan data ................................................... 4
1.5.2 Metode Pengembangan Sistem ........................................... 5
1.6 Ruang Lingkup ................................................................................ 5
BAB II LANDASAN TEORI .......................................................................... 7
2.1 Tinjauan Pustaka ............................................................................ 7
2.1.1 Pengertian Perancangan ..................................................... 7
2.1.2 Pengertian Sistem ............................................................... 7
2.1.3 Pengertian Informasi .......................................................... 8
2.1.4 Pengertian Sistem Informasi .............................................. 8
2.1.5 Pengertian Tiket ................................................................. 9
2.1.6 Pengertian Helpdesk ........................................................... 9
2.1.7 Website ............................................................................. 12
2.1.8 Web Browser .................................................................... 13
2.1.9 Pengertian Engineer ......................................................... 14
2.1.10 Internet ............................................................................. 14
2.1.11 Jaringan Internet ............................................................... 15
2.1.12 Apache .............................................................................. 15
2.1.13 Hypertext Prepocessor (PHP) .......................................... 16
2.1.14 My Structure Query Language (MySQL) ........................ 16 2.1.15 Twitter Bootstrap .............................................................. 17
2.1.16 Notepad++ ........................................................................ 18
2.1.17 Entity Relationship Diagram (ERD) ................................ 20
2.2 Penelitian Terkait ......................................................................... 22
xiii
BAB III ANALISA SISTEM BERJALAN ................................................... 24
3.1 Tinjauan Perusahaan .................................................................... 24
3.1.1 Sejarah Perusahaan .......................................................... 24
3.1.2 Struktur Organisasi ........................................................... 24
3.1.3 Divisi Service ................................................................... 25
3.2 Proses Bisnis Sistem Berjalan (Manual) ...................................... 26
3.3 Spesifikasi Dokumen Sistem Berjalan ......................................... 27
3.3.1 Spesifikasi Bentuk Dokument Masukan .......................... 27
3.3.2 Spesifikasi Bentuk Dokument Keluaran .......................... 28
3.3.3 Permasalahan .................................................................... 29
3.3.4 Alternatif Pemecahan Masalah ......................................... 30
BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN ................ 31
4.1 Analisa Kebutuhan Software ........................................................ 31
4.1.1 Tahap Analisis ................................................................. 31
4.2 Desain ........................................................................................... 32
4.2.1 Database .......................................................................... 32
4.2.2 Software Architecture ....................................................... 38
4.2.3 User Interface ................................................................... 39
4.3 Code Generation .......................................................................... 54
4.4 Testing ........................................................................................ 108
4.5 Support ....................................................................................... 113
4.5.1 Publikasi Web ................................................................. 113
4.5.2 Spesifikasi Hardware dan Software .............................. 113
4.6 Spesifikasi Dokument Sistem Usulan ........................................ 114
BAB V PENUTUP ....................................................................................... 115
5.1 Kesimpulan ................................................................................ 115
5.2 Saran ........................................................................................... 115
DAFTAR PUSTAKA
DAFTAR RIWAYAT HIDUP
LEMBAR KONSULTASI BIMBINGAN
SURAT KETERANGAN RISET
LAMPIRAN
Lampiran A Spesifikasi Bentuk Dokumen Masukan
Lampiran B1 Dokumen Field Engineer Report
Lampiran B2 Dokumen Rekapan
Lampiran C Spesifikasi Dokumen Sistem Usulan
xiv
DAFTAR SIMBOL
ERD (Entity Relationship Diagram)
Nama Simbol Simbol Arti
Entitas
Suatu kumpulan objek atau sesuatu dapat
dibedakan atau dapat didefinisikan
Relationship
Hubungan yang dapat terjadi antara suatu
entitas atau lebih
External Entity
Digunakan untuk menggambarkan asal
atau tujuan data
Atribut
Digunakan untuk memperjelas atribut
yang dimiliki oleh sebuah entitas.
Data Flow
Digunakan untuk menggambarkan aliran
data yang berjalan
xv
DAFTAR GAMBAR
Gambar 2.1 Browser Chrome ............................................................................ 13
Gambar 2.2 Notepad++ ..................................................................................... 18
Gambar 2.3 Navigasi Linier ............................................................................... 20
Gambar 2.4 Navigasi Hirarki ............................................................................. 21
Gambar 2.5 Navigasi Non Linier ....................................................................... 21
Gambar 2.6 Navigasi Komposit (Campuran) ..................................................... 22
Gambar 3.1 Struktur Organisasi ......................................................................... 27
Gambar 4.1 ERD Sistem Informasi Tiket Helpdesk ......................................... 35
Gambar 4.2 Logical Record Structure Sistem Informasi Tiket Halpdesk ......... 36
Gambar 4.3 Component Diagram Tiket Helpdesk ............................................. 40
Gambar 4.4 Deployment Diagram Tiket Helpdesk ............................................ 41
Gambar 4.5 Tampilan Halaman Login Admin .................................................... 41
Gambar 4.6 Tampilan Halaman Utama Admin .................................................. 42
Gambar 4.7 Tampilan Input Region ................................................................... 42
Gambar 4.8 Tampilan Daftar Region ................................................................. 43
Gambar 4.9 Tampilan Form User Leader Area dan Field Engineer ................. 43
Gambar 4.10 Tampilan Daftar User Leader Area dan Field Engineer ................ 44
Gambar 4.11 Tampilan Input Tipe Mesin ............................................................ 44
Gambar 4.12 Tampilan Daftar Tipe Mesin .......................................................... 45
Gambar 4.13 Tampilan Form Input Mesin .......................................................... 45
Gambar 4.14 Tampilan Daftar Mesin ................................................................... 46
Gambar 4.15 Tampilan Pilih Mesin Tiket ............................................................ 46
Gambar 4.16 Tampilan Form Buat Tiket ............................................................. 47
Gambar 4.17 Tampilan Daftat Tiket .................................................................... 47
Gambar 4.18 Tampilan Halaman Utama User Level Leader Area ...................... 48
Gambar 4.19 Tampilan Tambah User Field Engineer ......................................... 48
Gambar 4.20 Tampilan Daftar User Field Engineer ............................................ 49
Gambar 4.21 Kirim Tiket Field Engineer ............................................................ 49
Gambar 4.22 Tampilan Daftar Tiket Setelah Kirim Field Engineer .................... 50
Gambar 4.23 Tampilan Utama User Level Field Engineer .................................. 50
Gambar 4.24 Tampilan Rubah Status Waiting Tiket ........................................... 51
Gambar 4.25 Tampilan Daftar Tiket Status Replied ............................................ 51
Gambar 4.26 Tampilan Rubah Status Tiket Replied ............................................ 52
Gambar 4.27 Tampilan Daftar Tiket Status Processed ........................................ 52
Gambar 4.28 Tampilan Rubah Status Tiket Processed ........................................ 53
Gambar 4.29 Tampilan Daftar Tiket Status Resolved .......................................... 53
Gambar 4.30 Tampilan Form Create Report ....................................................... 54
Gambar 4.31 Tampilan Daftar Report .................................................................. 54
Gambar 4.31 Tampilan Halaman Utama User Level Customers ......................... 55
Gambar 4.31 Tampilan Daftar Tiket Setelah Resolve dan Create Report ........... 55 Gambar 4.31 Tampilan Daftar Report User Level Customers ............................. 56
xvi
DAFTAR TABEL
Tabel 4.1 Tabel Region ..................................................................................... 36
Tabel 4.2 Tabel User ......................................................................................... 37
Tabel 4.3 Tabel Tipe Mesin .............................................................................. 38
Tabel 4.4 Tabel Mesin ...................................................................................... 38
Tabel 4.5 Tabel Tiket ........................................................................................ 39
Tabel 4.6 Tabel Note ......................................................................................... 39
Tabel 4.7 Tabel Report ..................................................................................... 40
Tabel 4.8 Hasil Pengujian Black Box Testing Form Login User .................... 110
Tabel 4.9 Hasil Pengujian Black Box Testing Form Region ........................... 111
Tabel 4.10 Hasil Pengujian Black Box Testing Form Tipe Mesin .................... 111
Tabel 4.11 Hasil Pengujian Black Box Form Tambah User ............................. 112
Tabel 4.12 Hasil Pengujian Black Box Testing Form Tambah Mesin .............. 113
Tabel 4.13 Hasil Pengujian Black Box Testing Form Tambah Tiket ............... 113
Tabel 4.14 Hasil Pengujian Black Box Testing Form Tambah Report ............. 114
Tabel 4.15 Hasil Pengujian Tampilan Sistem Informasi Tiket Helpdesk ......... 115
xvii
DAFTAR LAMPIRAN
Lampiran A Spesifikasi Bentuk Dokumen Masukan ......................................... 29
Lampiran B1 Dokemnt Field Engineer Report .................................................... 30
Lampiran B2 Dokemnt Rekap .............................................................................. 31
Lampiran C Spesifikasi Dokumen Sistem Usulan ............................................ 116
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Seiring dengan perkembangan jaman, peranan teknologi informasi dan
komunikasi sangat berdampak positif dalam meningkatkan kualitas hidup
manusia. Banyak hal yang dilakukan pihak manajemen suatu perusahaan untuk
meningkatkan efisiensi. Perancangan Sistem Informasi Tiket Helpdesk sebagai
sebuah proses untuk mengumpulkan data dari berbagai narasumber yang ada dan
helpdesk dituntut untuk aktif memonitor dan merawat kebutuhan pengguna.
Adapun helpdesk bertujuan untuk memudahkan ruang lingkup perusahaan
maupun customers yang melaporkan setiap permasalahan yang dihadapi. Setiap
permasalahan yang telah selesai ditindaklanjuti akan secara otomatis
terdokumentasi dan dapat dijadikan referensi serta dapat menyajikan laporan
untuk memenuhi kebutuhan informasi dalam suatu perusahaan / instansi yang
dapat diakses dengan cepat dan mudah. Sehingga, dapat menghasilkan solusi yang
tepat dalam mengatur sumber daya yang ada.
Akan tetapi, saat ini belum ada Perancangan Sistem Informasi Tiket
Helpdesk yang digunakan untuk memberikan laporan secara sistematis. Semua
pencatatan laporan, serta perhitungan masalah masih dilakukan secara manual.
Hal ini memberi efek yang negatif, yakni : beresiko dicatat secara berulang,
adanya masalah yang tidak dicatat karena sibuknya operator dalam menerima
telpon, rekapan masalah tidak akurat karena dilakukan secara manual dan
perlunya majerial menunggu untuk mendapatkan laporan yang diinginkan.
2
Seperti pendapat Purwanto (2011) Helpdesk merupakan “Sistem
manajemen yang digunakan untuk membantu departement untuk menangani
kebutuhan dukungan bagi perusahaan yang mempunyai permasalahan yang
berkaitan dengan teknologi informasi”.
Oleh karena itu penulis ingin mengambil judul “Perancangan Sistem
Informasi Tiket Helpdesk Pada PT. Wincor Nixdorf Indonesia Berbasis Web”.
1.2 Identifikasi Masalah
Berdasarkan latar belakang masalah diatas, maka dapat diidentifikasi
masalah adalah diperlukannya sebuah sistem informasi tiket helpdesk yang
berfungsi menggantikan laporan dalam bentuk manual atau by phone sehingga
laporan akurat, cepat, dapat dilakukan secara online dan mengefesiensikan waktu
pengerjaan.
1.3 Perumusan Masalah
Permasalahan yang dihadapi dalam penelitian ini adalah bagaimana
membuat suatu sistem informasi tiket helpdesk yang dinamis pada PT. Wincor
Nixdorf Indonesia sehingga dapat mempermudah karyawan dalam melakukan
pekerjaannya serta dapat mengefesiensikan waktu pengerjaan, sehubungan dengan
hal tersebut dapat dirumuskan permasalahannya yaitu sebagai berikut :
1. Bagaimana penyajian informasi dan fasilitas pada PT. Wincor Nixdorf
Indonesia dapat disampaikan dengan baik pada user.
3
2. Langkah apa yang harus dilakukan agar sistem informasi tiket helpdesk
dapat diakses oleh user dengan cepat dan mudah khususnya pada Service
Division.
3. Bagaimana Sistem Informasi Tiket Helpdesk berbasis web pada Service
Division dapat dengan mudah di update setiap saat.
1.4 Maksud dan Tujuan Penelitian
Dalam penulisan skripsi ini ada beberapa maksud dan tujuan yang ingin
penulis capai diantaranya merancang tiket helpdesk untuk :
1. Memberikan pelayanan terbaik pada pengguna serta dapat mengurangi
biaya.
2. Untuk membantu pengontrolan terhadap keluhan yang dilaporkan
sehingga dapat dilakukan secara cepat.
2. Dapat memberikan solusi atas pertanyaan-pertanyaan dalam kurun waktu
yang singkat.
3. Dapat mengecek permasalahan yang ada dan mengatur pembagian staff
juga dapat meningkatkan efisiensi perusahaan dalam menangani
pertanyaan dan keluhan.
4. Dapat memberi laporan kerja perkembangan kinerja yang tercatat di
system.
4
1.5 Metode Penelitian
1.5.1 Teknik Pengumpulan Data
Adapun metode penelitian yang digunakan penulis dalam pencarian dan
pengumpulan data serta informasi-informasi yang mendukung, yaitu sebagai
berikut :
a. Observasi (Observation)
Penulis menggunakan teknik observasi didalam pengumpulan data yaitu
agar dapat melihat proses atau prosedur kerja secara langsung dan juga
untuk dapat mengetahui secara pasti segala sesuatu yang diperlukan saat
terjadinya proses.
b. Wawancara (Interview)
Tujuan penulis menggunakan teknik wawancara adalah untuk mencari dan
memeriksa kebenaran suatu informasi juga mendapatkan informasi yang
spesifik dan jelas dari orang yang memiliki pengetahuan yang
berhubungan dengan penulisan skripsi ini. Wawancara dilakukan dengan
Rahmat Lahka Dea Sembilu selaku IT Supervisor PT. Wincor Nixdorf
Indonesia.
c. Studi Pustaka (Library Study)
Sebagai pendukung untuk mencari berbagai informasi dengan mengambil
beberapa materi dari buku-buku, referensi, diktat dan catatan-catatan yang
berkaitan dengan penulisan skripsi ini.
5
1.5.2 Metode Pengembangan Sistem
a. Analisis
Merupakan tahap menganalisa hal-hal yang diperlukan dalam pembuatan
sebuah tiket helpdesk.
b. Sruktur Navigasi
Merupakan penggambaran alur proses dari sebuah tiket helpdesk.
c. Design
Merupakan tahap dimana untuk menentukan letak content-content seperti
form, agar sistem informasi tiket helpdesk terlihat lebih menarik.
d. Coding
Hasil Analisa dan Design harus diterjemahkan dalam coding ataupun
script agar dapat tercapai apa yang diinginkan.
e. Testing
Proses terakhir dari sebuah pembuatan Web adalah testing. Hal ini akan
memberikan informasi yang actual, apakah sudah berhasil website yang
kita rancang sesuai dengan apa yang dibutuhkan.
1.6 Ruang Lingkup
Untuk mempermudah penulisan skripsi ini agar lebih terarah dan tujuan
berjalan dengan baik, maka perlu kiranya dibuat suatu batasan masalah. Adapun
ruang lingkup permasalahan yang akan dibahas dalam penulisan skripsi ini, yaitu
sebagai berikut :
6
1. Peneliti hanya membahas tentang Perancangan Sistem Informasi Tiket
Helpdesk berbasis web.
2. Peneliti hanya mengakses informasi seputar kegiatan pelaporan kerusakan
mesin ATM dari client kepada Field Engineer.
3. Pelayanan tiket helpdesk dapat digunakan oleh client menggunakan email
atau langsung melalui sistem informasi tiket helpdesk berbasis web
perusahaan.
4. Batas waktu pelayanan dilakukan selama 1×24 jam.
5. Informasi yang didapat melalui Perancangan Sistem Informasi Tiket
Helpdesk berbasis web digunakan sebagai prosedur assignment problem
kepada Field Engineer .
6. Peneliti memberikan pelayanan tiket helpdesk berbasis web agar bisa
mengefesiensikan waktu pengerjaan.
7
BAB II
LANDASAN TEORI
2.1 Tinjauan Pustaka
2.1.1 Pengertian Perancangan
Perancangan adalah suatu proses yang bertujuan untuk menganalisis,
menilai, memperbaiki dan menyusun suatu system, baik fisik maupun non fisik
yang optimum, untuk waktu yang akan datang dengan memanfaatkan informasi
yang ada.
Menurut Soetam Rizky (2011:104), “Perancangan adalah sebuah proses
untuk mendefinisikan sesuatu yang akan dikerjakan dengan menggunakan teknik
yang bervariasi serta didalamnya melibatkan deskripsi mengenai arsitektur serta
detail mengenai komponen dan juga keterbatasan yang akan dialami dalam proses
pengerjaannya”.
2.1.2 Pengertian Sistem
Sistem berasal dari bahasa Latin (Systema) dan bahasa Yunani (Sustema)
adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan
bersama untuk memudahkan aliran informasi, materi atau energi untuk mencapai
suatu tujuan.
Menurut Yakub (2012:1), “Sistem adalah suatu jaringan kerja dari
prosedur-prosedur yang berhubungan, terkumpul bersama-sama untuk melakukan
suatu kegiatan atau tujuan tertentu”
8
2.1.3 Pengertian Informasi
Menurut Kadir (2013:31) bahwa “Informasi adalah data yang telah
diproses sedemikian rupa sehingga meningkatkan pengetahuan seseorang yang
menggunakan data tersebut”.
Menurut Laudon (2012:15) “Informasi adalah data yang telah diolah
menjadi sebuah bentuk yang berguna bagi penerima dan sangat berarti dalam
tindakan mengambil sebuah keputusan”.
2.1.4 Pengertian Sistem Informasi
Didalam suatu organisasi, informasi merupakan sesuatu yang penting di
dalam mendukung proses pengambilan suatu keputusan oleh pihak menejemen.
Sistem ini memanfaatkan perangkat keras dan perangkat lunak komputer,
prosedur manual, model manajemen dan basis data.
Menurut Laudon (2012:15), “Sistem informasi adalah perangkat
komputer yang saling terkait yang mana mengumpulkan, memproses,
menyimpan, dan mendistribusikan informasi untuk mendukung pengambilan
keputusan dan control dalam sebuah organisasi”.
Sistem informasi memiliki komponen berupa subsistem yang merupakan
elemen-elemen yang lebih kecil yang membentuk sistem informasi tersebut
misalnya bagian input, proses, output. Tanpa ketiga itu sistem informasi tidak
dapat berjalan dengan baik.
1. Input : sekumpulan data yang akan kita olah menjadi sebuah informasi
yang nantinya akan kita sajikan bagi pengguna.
9
2. Proses : suatu kegiatan dimana kita mengolah seluruh data yang ada untuk
menghasilkan suatu informasi.
3. Output : informasi-informasi yang dapat dengan mudah di peroleh, di
mengerti dan dimanfaatkan oleh pengguna.
2.1.5 Pengertian Tiket
Tiket adalah sebuah karcis gangguan ( laporan masalah dan surat perintah
kerja “SPK” ) yang digunakan suatu organisasi untuk melacak deteksi, pelaporan
dan resolusi dari beberapa jenis masalah. Trouble sistem tiket berasal dari
manufaktur sebuah dasar sistem pelaporan kertas. Sekarang kebanyakan berbasis
web dan terkait dengan hubungan manajemen pelanggan seperti call-center atau
e-businnes.
2.1.6 Pengertian Helpdesk
Helpdesk pada dasarnya adalah sebuah center poin dimana masalah atau
issue dilaporkan dan diatur secara terurut dan terorganisasi. Helpdesk merupakan
bagian dari perusahaan yang menyediakan dokumen fungsi produk, service, atau
tekhnologi dari perusahaan tersebut. Helpdesk digunakan untuk menjawab
masalah client, masalah dan jawaban dapat disampaikan melalui telpon, email
atau web.
Menurut Fred (2013:231) Helpdesk juga dapat berperan sebagai single
point of contact ketika pengguna membutuhkan bantuan teknis serta dapat
menjadi fasilitas komnikasi antara pengguna dengan tim pendukung di sebuah
perusahaan.
10
Helpdesk memberikan pelayanan terbaik pada penggunanya serta dapat
mengurangi biaya. Beberapa kelebihan helpdesk yaitu sebagai berikut :
1. Helpdesk dapat memberikan solusi atas pertanyaan-pertanyaan ataupun
keluhan yang masuk dalam kurun waktu yang lebih singkat.
2. Helpdesk dapat mengecek status permasalahan yang ada dan mengatur
pembagian kerja staf.
3. Helpdesk dapat meningkatkan efesiensi perusahaan dalam menangani
pertanyaan dan keluhan dari cabang.
4. Helpdesk member laporan kerja perkembangan kinerja para staf kepada
atasan.
A. Fungsi Helpdesk
Menurut Qoyyimah (2011) helpdesk memeliki beberapa fungsi, antara
lain:
1. Dari prespektif keuangan adalah untuk meningkatkan keuntungan,
meningkatkan jumlah pelanggan, meningkatkan kepuasan pelanggan, dan
meningkatkan mutu pelayanan.
2. Dari perspektif pelanggan adalah untuk menjalin kemitraan dengan
pelanggan dan meningkatkan kepercayaan pelanggan.
B. Peranan Helpdesk
Menurut Yulia (2012) oprator atau orang yang bertanggung jawab pada
helpdesk system memiliki beberapa tugas, yaitu :
11
1. Jawaban panggilan dari pengguna yang memiliki komputer yang
berhubungan dengan masalah atau mereka membutuhkan bantuan dalam
penggunaan perangkat lunak aplikasi spreadsheet, grafis, database, email
atau aplikasi pengolah kata.
2. Menjawab pertanyaan berdasarkan pengetahuan mereka tentang oprasi
komputer.
3. Mengajukan pertanyaan dari pengguna untuk membantu dalam
mendiagnosa masalah, menemukan solusi yang mungkin dan menerapkan
diagnostic procedures.
4. Berkonsultasi dengan ahli komputer lain untuk lebih mempelajari masalah
dan mengembangkan solusi, jika perlu.
5. Mampu menjelaskan error untuk para programmer dan
merekomendasikan perubahan program.
6. Tetap mengikui perkembangan dan memeperbaharui pengetahuan dan
keterampilan melalui komunikasi terus menerus dengan komputer dan
majalah perdagangan membaca, manual atau menghadiri seminar
pelatihan.
C. Tipe Helpdesk
Menurut Trimawangsari (2010) berdasarkan tipe customer yang ditangani,
helpdesk dapat dibagi menjadi dua jenis, yaitu :
1. Internal Helpdesk
Internal helpdesk adalah helpdesk yang memberikan pelayanan kepada
internal customer yaitu para karyawan yang bekerja pada perusahaan
12
tersebut. Tujuannya adalah untuk membantu karyawan agar dapat
memaksimalkan infrastruktur yang ada untuk mengoptimalkan kinerja
mereka.
2. External Helpdesk
External helpdesk adalah helpdesk yang terdapat pada perusahaan yang
melakukan penjualan produk atau pelayanan tertentu kepada pihak luar
perusahaan. Sehingga helpdesk ini ditekankan pada pelayanan terhadap
customer pengguna produk atau jasa perusahaan sebagai additional
services after sales terhadap penjualan perusahaan tersebut.
2.1.7 Website
Website atau situs juga dapat diartikan sebagai kumpulan halaman yang
menampilkan informasi data teks, data gambar diam atau gerak, data animasi,
suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun
dinamis yang membentuk satu rangkaian bangunan yang saling terkait.
Menurut Hakim Lukman (2004) Website merupakan fasilitas internet yang
menghubungkan dokumen dalam lingkup lokal maupun jarak jauh. Website yang
bersifat statis atau tetap, jarang berubah, dan isi informasinya searah hanya dari
pemilik website. Website bersifat dinamis apabila isi informasi website selalu
berubah-ubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta
pengguna website. Untuk website statis adalah berisi profil perusahaan, sedangkan
website dinamis adalah seperti Facebook, Google Plus.
13
Dalam sisi pengembangannya, website statis hanya bisa diupdate dengan
merubah langsung pada body oleh pemiliknya saja, sedangkan website dinamis
bisa diupdate oleh pengguna maupun pemilik.
2.1.8 Web Browser
Menurut Shelly dan velmaart Browser adalah perangkat lunak aplikasi
yang memungkinkan pengguna untuk mengakses dan melihat halaman web atau
mengakses program web 2.0.
Browser merupakan suatu program yang dirancang untuk mengambil
informasi-informasi dari suatu server komputer pada jaringan internet. Jadi untuk
mengakses web diperlukan suatu program yaitu web browser atau bisa disebut
browser saja. (Sutarman, 2007:8).
Sumber : Aplikasi Crome Versi 54.0.2840.99 m
Gambar 2.1 Browser Chrome
14
2.1.9 Pengertian Engineer
Engineer adalah pihak yang bertanggung jawab atas perbaikan terhadap
hal yang dikeluhkan oleh user. Berperan aktif dalam memberikan solusi via
telpon, email atau bahkan melakukan kunjungan ke lapangan bila diperlukan.
Engineer merupakan lapisan kedua pada risk management process.
2.1.10 Internet
Layanan internet meliputi komunikasi langsung (email, chat), diskusi
(Usenet News, email, milis), sumber daya informasi yang terdistribusi (World
Wide Web, Gopher), remote login dan lalu lintas file (Telnet, FTP), dan aneka
layanan lainnya.
Menurut Sibero (2011) “Internet atau yang merupakan kependekan dari
Inter-connected Network merupakan sebuah jaringan komputer yang
menghubungkan antar komputer secara global”.
Jaringan yang membentuk internet bekerja berdasarkan suatu set protokol
standar yang digunakan untuk menghubungkan jaringan komputer dan
mengalamati lalu lintas dalam jaringan. Protokol ini mengatur format data yang
diijinkan, penanganan kesalahan (error handling), lalu lintas pesan, dan standar
komunikasi lainnya. Protokol standar pada internet dikenal sebagai TCP/IP
(Transmission Control Protocol/Internet Protocol).
Protokol ini memiliki kemampuan untuk bekerja diatas segala jenis
komputer, tanpa terpengaruh oleh perbedaan perangkat keras maupun sistem
operasi yang digunakan.
15
Sebuah sistem komputer yang terhubung secara langsung ke jaringan
memiliki nama domain dan alamat IP (Internet Protocol) dalam bentuk numerik
dengan format tertentu sebagai pengenal. Internet juga memiliki gateway ke
jaringan dan layanan yang berbasis protokol lainnya.
2.1.11 Jaringan Internet
Jaringan komputer adalah suatu interkoneksi antara kelompok-kelompok
komputer dengan komputer dan perangkat lainnya seperti server, client dan
printer. (Putih, 2010). Informasi dan data bergerak melalui kabel-kabel sehingga
memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan
data, mencetak pada printer yang sama dan bersama-sama menggunakan
hardware/software yang terhubung dengan jaringan. Sebuah jaringan biasanya
terdiri dari 2 atau lebih komputer yang saling berhubungan diantara satu dengan
yang lain, dan saling berbagi sumber daya misalnya CDROM, Printer, pertukaran
file, atau memungkinkan untuk saling berkomunikasi secara elektronik. Komputer
yang terhubung tersebut, dimungkinkan berhubungan dengan media kabel, saluran
telepon, gelombang radio, satelit, atau sinar infra merah.
2.1.12 Apache
Apache adalah sebuah web server open source,vjadi semua orang dapat
menggunakannya secara gratis, bahkan anda bisa mengedit kode programnya.
Fungsi utama dari Apache yakni menghasilkan halaman web yang benar sesuai
dengan yang dibuat oleh seorang web programmer, dengan menggunakan kode
PHP.
16
2.1.13 Hypertext Prepocessor (PHP)
“PHP merupakan bahasa pemograman berbentuk script yang ditempatkan
dalam server dan diproses di server. Hasil dari pengolahan akan dikirimkan ke
klien, tempat pemakai menggunakan browser. Secara khusus, PHP dirancang
untuk membentuk web dinamis. Artinya, ia dapat membentuk suatu tampilan
berdasarkan permintaan terkini. Misalnya, kita bisa menampilkan isi database ke
halaman web. Pada prinsipnya, PHP mempunyai fungsi yang sama dengan script
seperti ASP (Actves Server Page), Cold Fusion, ataupun Perl” (Kadir, 2003).
2.1.14 My Structure Query Language (MySQL)
Salah satu aplikasi basis data adalah MySQL yang merupakan sebuah
program pembuat basis data yang bersifat open source, artinya siapa saja boleh
menggunakannya dan tidak dicekal. (Nugroho, 2004). “MySQL merupakan
sistem manajemen basis data yang fungsinya untuk menambah, mengakses, dan
memproses data yang disimpan dalam sebuah basis data komputer”. Kelebihan
yang dimiliki MySQL yaitu :
a. Ditulis dalam bahasa C dan C++.
b. Bekerja dalam berbagai platform ( misalnya Windows, Mac OS X, Solaris,
Unix, dan lain-lain).
c. Menyediakan mesin penyimpanan (engine storage) transaksi dan non
transaksi.
d. Server tersedia sebagai program yang terpisah untuk digunakan pada
lingkungan jaringan klien/server.
17
e. Mempunyai library yang dapat ditempelkan pada aplikasi yang berdiri
sendiri (standalone aplication) sehingga sistem tersebut dapat digunakan
pada komputer yang tidak mempunyai jaringan.
f. Mempunyai sistem password yang fleksibel dan aman.
g. Klien dapat terkoneksi ke MySQL server menggunakan socet TCP/IP
pada platform mana pun.
h. Server dapat mengirim pesan kesalahan ke klien dalam berbagai bahasa.
MySQL termasuk jenis RDBMS (Relational Database Management
System). Pada MySQL sebuah basis data terdiri atas tabel-tabel dan sebuah tabel
terdiri atas baris dan kolom.
2.1.15 Twitter Bootstrap
Twitter Bootstrap adalah sebuah alat bantu untuk membuat sebuah
tampilan halaman website yang dapat mempercepat pekerjaan seorang
pengembang website ataupun pendesain halaman website. Sesuai namanya,
website yang dibuat dengan alat bantu ini memiliki tampilan halaman yang sama /
mirip dengan tampilan halaman Twitter atau desainer juga dapat mengubah
tampilan halaman website sesuai dengan kebutuhan. Twitter Bootstrap dibangun
dengan teknologi HTML, PHP dan CSS yang dapat membuat layout halaman
website, tabel, tombol, form, navigasi, dan komponen lainnya dalam sebuah
website hanya dengan memanggil fungsi CSS (class) dalam berkas HTML yang
telah didefinisikan. Selain itu juga terdapat komponen-komponen lainnya yang
dibangun menggunakan JavaScript.
18
2.1.16 Notepad++
Notepad++ adalah teks editor dan editor kode skrip yang digunakan pada
Microsoft Windows. Notepad++ merupakan pengembangan dari Notepad yang
dirancang pada tahun 1985. Awalnya Notepad hanya untuk editor teks saja
dengan penyimpanan file berekstensi .txt dan tidak mempunyai format tags
ataupun style. Seiring perkembangannya Notepad++ bisa melakukan Plug-in dari
Kode Skrip bahasa pemrograman dari PHP, MySQL dan lain-lain.
Selain itu Notepad ++ juga merupakan software gratis yang disediakan
pada Source Forge.net, sampai saat ini Notepad++ juga telah diunduh lebih dari
28 Juta kali dan pengembangnya Source Forge Community mendapatkan
penghargaan untuk kategori Developer Tool terbaik.
Sumber : Aplikasi Notepa++ v7.2
Gambar 2.2 Notepad ++
Notepad ++ mempunyai fitur-fitur yang banyak digunakan oleh
Programmer, antara lain :
19
1) Tabbed document interface
2) Drag-and-drop
3) Multiple clipboards (Plugin required)
4) Split screen editing and syncroniezed scrolling
5) Spell checker (requires Aspell)
6) Supports etxt encoding seperti Unicode, UTF8, dan UTF-16 Encoding.
7) Find and replace : with regular expressions;over multiple
documents;and marking / summary of occurences.
8) Data Comparison
9) Zooming
10) Auto-completion
11) Bookmarks
12) Syntax Highlighting and syntax floding
13) Brace and indent highlighting
14) Project manager
15) Regular expression find and replace
16) Speech synthesis
17) FTP browser
18) Macro recording and execution
19) Various tools
20) File status auto-detection
21) Customizeable shortcut key mapping
22) Function list
Notepad ++ juga Unix line endings yang bekerja pada sistem operasi Unix.
20
2.1.17 Entity Relationship Diagram (ERD)
Menurut Sutanta (2011:91) “Entity Relationship Diagram (ERD)
merupakan suatu model data yang dikembangkan berdasarkan objek.” Entity
Relationship Diagram (ERD) digunakan untuk menjelaskan hubungan antar data
dalam basis data kepada pengguna secara logis
ERD (Entity Relationship Diagram) adalah suatu model untuk
menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar
data yang mempunyai hubungan antar relasi.
ERD untuk memodelkan struktur data dan hubungan antar data, untuk
menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada
tiga komponen yang digunakan, yaitu :
1. Entitas
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat
dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya
digambarkan dengan persegi panjang.
2. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi
untuk mendes-kripsikan karakteristik dari entitas tersebut. Isi dari atribut
mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu
dengan yang lain. Gambar atribut diwakili oleh simbol elips.
a. Atribut Key
Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat
membedakan semua baris data ( Row/Record ) dalam tabel secara unik.
21
Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris
data dengan nilai yang sama.
Contoh : ID Karyawan, NIM dan nomor pokok lainnya
b. Atribut simple
Atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi
Contoh : Alamat, penerbit, tahun terbit, judul buku.
c. Atribut Multivalue
Nilai dari suatu attribute yang mempunyai lebih dari satu (multivalue)
nilai dari atrribute yang bersangkutan
Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.
d. Atribut Composite
Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut
yang lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah
lagi atau mempunyai sub attribute.
Contoh : dari entitas nama yaitu nama depan, tengah, dan belakang.
e. Atribut Derivatif
Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut
yang dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini
dilambangkan dengan bentuk oval yang bergaris putus-putus.
3. Hubungan / Relasi
Hubungan antara entitas yang berasal dari himpunan entitas yang berbeda.
a. Derajat Relasi atau Kardinalitas Rasio
Menjelaskan jumlah maksimum hubungan antara satu entitas dengan
entitas lainnya
22
b. One to One (1:1)
Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota
entitas B, begitu pula sebaliknya.
c. One to many (1:M / Many)
Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota
entitas B tetapi tidak sebaliknya.
d. Many to Many (M:M)
Setiap entitas A dapat berhubungan dengan banyak entitas himpunan
entitas B dan demikian pula sebaliknya.
2.2 Penelitian Terkait
Dalam penyusunan skripsi ini, penulis sedikit banyak terinspirasi dan
mereferensi dari penelitian-penelitian sebelumnya yang berkaitan dengan latar
belakang masalah pada skripsi ini. Berikut ini penelitian terdahulu yang
berhubungan dengan skripsi ini antara lain :
Penelitian yang dilakukan oleh Moh. Saefudin, S.Kom, Jurnal Ilmiah
“Komputasi”, Vol.10 No.1, Juni 2011, Hal. 1-10, tentang “APLIKASI
TICKETING HELPDESK KANTOR DENGAN PHP DAN MYSQL”.
Persamaannya adalah dalam hal perancangan program menggunakan aplikasi
berbasis web PHP dan MySQL. Perbedaannya yaitu dalam skripsi penulis
menggunakan metode pengumpulan data dengan cara wawancara langsung
kepada narasumber sedangkan di skripsi terdahulu tidak.
Penelitian yang dilakukan oleh Stephannie Chintalois, 2015 tentang
“PERANCANGAN APLIKASI HELPDESK TICKETING SYSTEM BERBASIS
WEB PADA WILMAR GROUP”. Persamaan skripsi penulis dengan penelitian
terdahulu yaitu dalam hal teknik pengumpulan data yang digunakan sama-sama
menggunakan studi lapangan dan studi pustaka. Metodologi yang digunakan
sama-sama menggunakan perancangan, pembangunan, uji coba dan
implementasi. Perbedaannya yaitu dalam skripsi penulis menggunakan twitter
23
bootstrap, jQuery, dll, untuk mempermudah design tampilan sedangkan skripsi
terdahulu tidak.
Penelitian yang dilakukan oleh Qoyyimah, 2011 tentang “RANCANG
BANGUN HELPDESK TICKETING SYSTEM (STUDI KASUS : PT. PRIMUS
INDOJAYA)”. Persamaan skripsi penulis dengan penelitian terdahulu yaitu dalam
hal teknik pengumpulan data yang digunakan sama-sama menggunakan studi
lapangan dan studi pustaka. Metodologi yang digunakan sama-sama
menggunakan perancangan, pembangunan, uji coba dan implementasi.
Perbedaannya yaitu dalam struktur navigasi dan pemodelan ERD sedangkan
skripsi terdahulu tidak.
24
BAB III
ANALISA SISTEM BERJALAN
3.1 Tinjauan Perusahaan
3.1.1 Sejarah Perusahaan
PT. Wincor Nixdorf Indonesia merupakan perusahaan yang berlokasi di
Plaza 89 Building 3rd Floor, Suit 301 Jl. H.R. Rasuna Said Kav.X-7 No.6 Jakarta.
PT Wincor Nixdorf Indonesia merupakan perusahaan yang bermarkas di Jerman
dan menyediakan perangkat keras, perangkat lunak dan servis untuk ritel dan
perbankan ritel. Perusahaan ini terutama bergerak dalam penjualan, pembuatan,
instalasi dan layanan untuk sistem transaksi mandiri (seperti ATM).
Didirikan dengan nama Nixdorf Computer AG pada tahun 1952 oleh
Heinz Nixdorf, padatahun 1990 perusahaan ini dibeli oleh Siemens AG dan
berganti menjadi Siemens Nixdorf Informations systeme dan pada tahun 1990an
perusahaan tersebut telah memasuki pasar Indonesia, lalu akhirnya pada tahun
2004 menjadi Wincor Nixdorf setelah diakuisisi oleh Kohlberg Kravis Robert dan
Goldman Sachs Capital Partners. Selama beroperasi di Indonesia, PT Wincor
Nixdorf Indonesia telah menjual kurang lebih 35.000 mesin dari berbagai macam
jenis Mesin ATM.
3.1.2 Struktur Organisasi
Didalam struktur organisasi PT Wincor Nixdorf Indonesia terdapat 4
Divisi Utama, yaitu :
25
1. Divisi Commercial
2. Divisi HR-GA
3. Divisi Servis
4. Divisi Warehouse
Sumber : PT Wincor Nixdorf Indonesia diolah sendiri, 2017
Gambar 3.1 Struktur Organisasi
Dalam hal ini hanya akan dijelaskan mengenai Divisi Servis, karena dalam
penulisan penelitian ini hanya mencakup dengan divisi tersebut.
3.1.3 Divisi Service
Divisi service atau service division merupakan divisi yang berada didalam
PT Wincor Nixdorf Indonesia yang mempunyai tugas menangani kerusakan
Mesin ATM dilapangan. Dalam Divisi ini terdapat beberapa jabatan/fungsional
kerja :
1. Head of Service Division
Sebagai Perencana Strategis perusahaan.
2. Manager Field Engineer
President Director
Head of Warehouse
Helper Administrator
Head Service Division
Account Leader
Customers Service
Helpdesk
Manager Service
Field Engineer Administrator
Financial Director
Head HR/GA
26
Sebagai Pengelola, Perencana Evaluasi Kinerja Field Engineer.
3. Leader Field Engineer
Sebagai Pengawas, Monitoring Kinerja Field Engineer
4. Field Engineer
Sebagai Pelaksana tugas maintenance Mesin ATM dilapangan
5. Helpdesk
Sebagai Pelaksana tugas pemberian schedule maintenan ATM Kepada
Field Engineer
6. Hotspot Officer
Sebagai pelaksana Administrasi Field Engineer.
3.2 Proses Bisnis Sistem Berjalan
Berikut ini adalah sistem berjalan dari pembagian (routing) schedule
maintenance Mesin ATM :
a. Prosedur Penginputan data
Helpdesk menerima Laporan kerusakan Mesin ATM dari customers, lalu
penginputan data ( Ticket Problem ) seperti Nomor Tiket, ID Mesin, Bank,
Lokasi, Jenis Kerusakan kedalam komputer, dan menginformasikannya
pada Field Engineer berdasarkan daerah area kerja Field Engineer.
b. Prosedur Penyesuaian Area
Helpdesk menyortir sesuai area yang sudah ditentukan berdasarkan daerah
area kerja Field Engineer.
c. Prosedur Assignment Problem
27
Helpdesk melakukan penginputan data Assignment Problem kepada Field
Engineer (FE) dengan memasukan data ID FE tabel Assignment problem
dimana didalamnya sudah terdapat informasi mengenai ID Mesin, Bank,
Lokasi dan Jenis Kerusakan. Ditambahkan pula data Assignment Time,
PIC Vendor, Jenis Part yang harus dibawa by phone.
d. Prosedur pengerjaan
Setelah informasi diterima oleh Field Engineer, maka selanjutnya adalah
proses pengerjaan sesuai prosedur.
e. Prosedur pembuatan Laporan
Setelah Field Engineer selesai mengerjakan kerusakan Mesin ATM, maka
melalui Report yang wajib dibawa dan dituliskan status kerja tersebut pada
setiap lokasi dengan satu Report, kemudian diserahkan pada Hotsport
Officer untuk dibuatkan pengantar dokumen (dokumen rekapan) untuk
diserahkan ke kantor pusat.
3.3 Spesifikasi Dokument Sistem Berjalan
Dalam spesifikasi sistem berjalan akan didapatkan dokumen-dokumen
yang dipergunakan dalam proses pencatatannya. Dokumen-dokumen tersebut
meliputi dokumen input atau masukan dan dokumen output atau keluaran.
3.3.1 Spesifikasi Bentuk Dokumen Masukan
Dokumen input atau dokumen masukan adalah segala bentuk dokumen
masukan baik yang berasal dari lingkungan dalam maupun dari lingkungan luar
28
organisasi perusahaan, dimana dokumen akan diolah agar dapat menghasilkan
keluaran yang diinginkan. Adapun dokumen masukan tersebut adalah :
Nama dokumen : Tiket
Fungsi : Sebagai SPK (Surat Perintah Kerja)
Sumber : Customers ( by phone )
Tujuan : Dari Helpdesk ke Field Engineer ( by phone )
Media : Portal Web
Jumlah : Tidak tentu
Frekuensi : Setiap ada masalah pada mesin ATM
Bentuk : Lampiran A
3.3.2 Spesifikasi Bentuk Dokumen Keluaran
Dokumen output atau dokumen keluaran adalah segala bentuk dokumen
perusahaan berupa dokumen-dokumen yang akan mendukung kegiatan
manajemen serta merupakan dokumen hasil pencatatan atau laporan.
A. Dokumen Field Engineer Report
Dokumen field engineer report adalah dokumen hasil akhir setelah dalam
proses perbaikan mesin, dimana report tersebut digunakan sebagai status
perbaikan dan bukti mengenai penanganan yang dilakukan setiap perbaikan mesin
terjadi. Adapun dokumen keluaran tersebut adalah :
Nama dokumen : FE Report
Fungsi : Sebagai tanda bukti kunjungan perbaikan ATM
Sumber : Field Engineer
Disetujui : Vendor
29
Tujuan : Customer
Media : Kertas
Jumlah : Satu lembar dengan rangkap empat
Frekuensi : Setiap terjadi kerusakan
Bentuk : Lampiran B1
B. Dokumen Rekapan
Dokumen rekap adalah pengantar dokumen dari setiap pengerjaan Field
Engineer yang masuk ke hotspot officer untuk dibuatkan pengantar dokumen
sebelum dikirimkan ke kantor pusat. Adapun dokumen rekapan tersebut adalah :
Nama Dokument : Pengantar Dokumen
Fungsi : Sebagai daftar kerja field engineer
Sumber : Field Engineer
Disetujui : HotSpot Officer
Tujuan : Kantor Pusat
Media : Kertas
Jumlah : Tidak tentu (sesuai banyaknya FE Report
yang terkumpul).
Frekuensi : Setiap hari
Bentuk : Lampiran B2
3.3.3 Permasalahan
Sistem perbaikan mesin ATM pada PT. Wincor Nixdorf Indonesia masih
dilakukan secara manual. Oleh karena itu, menimbulkan beberapa masalah antara
lain, yaitu :
30
a. Semua arsip dan laporan masih dicatat dalam buku atau kertas sehingga
belum tersusun rapi dan ada kemungkinan data akan hilang.
b. Kurangnya ketelitian dan lambatnya proses penanganan perbaikan dan
pengumpulan laporan.
c. Sistem manual menyulitkan dalam mengolah data dan tidak efektif. Oleh
karena itu, sistem manual harus diubah menjadi terkomputerisasi.
3.3.4 Alternatif Pemecahan Masalah
Melihat keadaan pada proses ini kiranya peran suatu sistem pengolahan
data yang lebih baik sangat diperlukan. Pemecahan dari permasalahan diatas
adalah :
a. Semua arsip dan laporan akan disimpan pada sistem tiket helpdesk,
sehingga akan memudahkan dalam mencari data serta dapat mencegah
hilangnya data tersebut.
b. Dengan menggunakan program tiket helpdesk maka proses pengerjaan
akan lebih cepat serta dapat mengurangi terjadinya kesalahan dalam
peberian nomor tiket ( Ticket Problem ) kepada Field Engineer.
c. Penulis mengusulkan mengubah sistem manual menjadi terkomputerisasi
dengan menggunakan sistem informasi tiket helpdesk yang bisa diakses
dan di update online.
31
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisa Kebutuhan Software
4.1.1 Tahapan Analisis
Berikut ini adalah spesifikasi kebutuhan dari Perancangan Sistem Informasi
Tiket Helpdesk Berbasis Web yang dirancang sebagai media penunjang kinerja
untuk perbaikan mesin ATM pada PT. Wincor Nixdorf Indonesia, dintaranya :
1. Halaman Admnistrator :
a. Admin melakukan login
b. Admin dapat mengelola data region
c. Admin dapat mengelola data user
d. Admin dapat mengelola data tipe mesin
e. Admin dapat mengelola data mesin
f. Admin dapat mengelola data tiket
g. Admin dapat mengelola note tiket
h. Admin dapat mengelola data report
i. Admin melakukan logout
2. Halaman User Leader Area :
a. Leader Area dapat melakukan login
b. Leader Area dapat mengelola data User Filed Engineer dan Customer.
c. Leader Area dapat mengelola data mesin
d. Leader Area dapat mengelola data tiket
e. Leader Area dapat menambah note pada tiket
32
f. Leader Area dapat mengelola data report
g. Leader Area melakukan logout
3. Halaman User Field Engineer :
a. Field Engineer melakukan login
b. Field Engineer dapat melihat data mesin
c. Field Engineer dapat mengelola status tiket
d. Field Engineer dapat menambah note pada tiket
e. Field Engineer dapat mengelola data report
f. Field Engineer melakukan logout
4. Halaman User Customers :
a. Customers melakukan login
b. Customers dapat menambah data mesin
c. Customers dapat mengelola data tiket
d. Customers dapat menambah note pada tiket
e. Customers dapat melihat data report
f. Customers melakukan logout
4.2. Desain
Pada tahap ini akan dijelaskan tentang desain database, desain software
architecture dan desain interface dari sistem yang terdapat pada Perancangan
Sistem Informasi Tiket Helpdesk Berbasis Web pada PT. Wincor Nixdorf Indonesia.
4.2.1. Database
1. Entity Relationship Diagram (ERD)
Entity Relationship Diagram menjelaskan hubungan antara data dalam
basis data yang terdiri dari objek-objek dasar yang mempunyai hubungan atau
33
relasi antar objek - objek tersebut. ERD yang digunakan pada sistem ini adalah
sebagai berikut :
user
user_id
nama
region
level
password
mesin
id
customers
lokasi
Type ssb alamat
mesin_id
pic
region
time_created
report
report_id
user_id
mesin_id
tgl_report fe_report pm_report
tiket_no
time_created
lampiran
status
time_send
region
region_id
region_kode
region_nama
Tipe_mesin
tipe_mesin_id
tipe_mesin_code
tipe_mesin_nama
Update data Update data
Update data Update tiket
tgl_daftar user_ip jam_tgl_login status
nik
alamat_ktp
alamat_sek
perusahaan
jabatan
hp1
hp2photo
note
note_id
tiket_no siapa tanggal
message
tiket
tiket_id
user_created
mesin_id
subject
keterangan
time_created
tiket_no
action
user_send
assign_time
user_receiver
time_start
time_finish
status
Update report
Update Note
tmp_lahir
tgl_lahir
created_by
Sumber : Diolah Sendiri, 2017
Gambar 4.1
ERD Sistem Informasi Tiket Helpdesk pada PT. Wincor Nixdorf Indonesia
34
2. Logical Record Structure
Penggambaran dari Logical Record Structure (LRS) yang ada pada
Perancangan Sistem Informasi Tiket Helpdesk pada PT. Wincor Nixdorf Indonesia
adalah sebagai berikut :
Sumber : Diolah Sendiri, 2017
Gambar 4.2
Logical Record Structure Perancangan Sistem Informasi Tiket Halpdesk pada
PT. Wincor Nixdorf Indonesia
3. Struktur Tabel
Struktur tabel pada Perancangan Sistem Informasi Tiket Helpdesk ini adalah
sebagai berikut :
35
a. Tabel Region
Tabel Region digunakan untuk membatasi User, mesin dan tiket yang akan
dibuat pada Perancangan Sistem Informasi Tiket Helpdesk, diantaranya yaitu :
Tabel 4.1
Tabel Region
No Field Tipe Data Length Keterangan
1 region_id int 11 Auto Icrement, Primary Key
2 region_kode varchar 5
3 region_nama varchar 25
Sumber : Diolah Sendiri, 2017
b. Tabel User
Tabel User digunakan mengupdate tiket dan mesin pada lokasi yang
dibatatasi dengan region masing-masing. Dalam tabel ini terdapat informasi user
lengkap yang dibedakan dengan level yang berfungsi sebagai hak akses pada saat
pengaksesan database. Tabel user diantaranya yaitu :
Tabel 4.2
Tabel User
No Field Tipe
Data Length Keterangan
1 user_id int 11 Auto Icrement, Primary Key
2 nama varchar 30
3 email varchar 50
4 region varchar 5
5 level enum Administrator, Leader Area,
Field Engineer, Customers
6 password varchar 100
7 tgl_daftar varchar 20
8 user_ip varchar 30
9 jam_tgl_logi
n varchar 30
10 status varchar 15
11 nik varchar 16
12 tmp_lahir varchar 50
13 tgl_lahir varchar 30
14 alamat_ktp enum 200
15 alamat_sek varchar 200
36
16 perusahaan varchar 50
17 jabatan varchar 30
18 hp1 varchar 15
19 hp2 varchar 15
20 photo varchar 100
Sumber : Diolah Sendiri, 2017
c. Tabel Tipe Mesin
Tabel Tipe Mesin digunakan untuk mengelola tipe mesin ATM baru untuk
ditampilkan automatis pada saat melakukan penginputan data mesin.
Tabel 4.3
Tabel Tipe Mesin
No Field Tipe Data Length Keterangan
1 tipe_mesin_id int 11 Auto Icrement, Primary Key
2 tipe_mesin_kode varchar 15
3 tipe_mesin_nama varchar 25
Sumber : Diolah Sendiri, 2017
d. Tabel Mesin
Tabel Data Mesin digunakan untuk menyimpan data-data mesin, seperti
id_mesin, customers, lokasi, type, ssb, alamat, region, pic, created_by,
created_date.
Tabel 4.4
Tabel Mesin
No Field Tipe Data Length Keterangan
1 id int 11 Auto Icrement
2 mesin_id varchar 15 Primary Key
3 customers varchar 25
4 lokasi varchar 100
5 type varchar 20
6 ssb varchar 15
7 alamat varchar 150
8 region varchar 5
9 pic varchar 30
10 created_by varchar 11
11 create_date varchar 30
Sumber : Diolah Sendiri, 2017
37
e. Tabel Tiket
Tabel Tiket digunakan untuk menyimpan semua data transaksi tiket yang
diinput oleh User dengan level Customers dan Leader Area, tabel ini terdapat field-
field antara lain sebagai berikut :
Tabel 4.5
Tabel Tiket
No Field Tipe Data Length Keterangan
1 tiket_id int 12 Auto Icrement
2 tiket_no int 11 Primary Key
3 user_created varchar 11
4 action varchar 15
5 mesin_id varchar 20
6 subject varchar 150
7 keterangan varchar 150
8 time_create varchar 30
9 user_send int 11
10 assign_time varchar 30
11 user_receiver int 11
12 time_start varchar 30
13 time_finish varchar 30
14 status enum New, Waiting, Replied,
Processed, Pending, Resolve
Sumber : Diolah Sendiri, 2017
f. Tabel Note
Tabel Note digunakan untuk menyimpan diskusi semua user dengan semua
level pada no tiket yang sudah dibuat dan hanya user_created, user_send, dan
user_receiver pada tabel tiket yang bisa mengelola tabel Note, yaitu :
Tabel 4.6
Tabel Note
No Field Tipe Data Length Keterangan
1 note_id int 11 Auto Icrement, Primary Key
2 tiket_no int 11
3 siapa int 11
4 tanggal varchar 30
5 message varchar 150
Sumber : Diolah Sendiri, 2017
38
g. Tabel Report
Tabel report digunakan untuk menyimpan hasil akhir dari data transaksi
tiket yang diinput oleh User dengan level Field Engineer pada saat status tiket
sudah resolve.
Tabel 4.7
Tabel Report
No Field Tipe Data Length Keterangan
1 report_id int 11 Auto Icrement
2 tiket_no varchar 15 Primary Key
3 user_id int 11
4 mesin_id varchar 30
5 tgl_report varchar 30
6 fe_report varchar 15
7 pm_report varchar 15
8 lampiran varchar 100
9 time_created varchar 30
Sumber : Diolah Sendiri, 2017
4.2.2. Software Architecture
A. Component diagram
Sumber : Diolah Sendiri, 2017
Gambar 4.3
Component diagram tiket helpdesk
39
B. Deployment diagram
Sumber : Diolah Sendiri, 2017
Gambar 4.4
Deployment diagram tiket helpdesk
4.2.3. User Interface
1. Halaman Login Semua Level
Sumber : Diolah Sendiri, 2017
Gambar 4.5
Tampilan Halaman Login Admin
40
2. Halaman Utama Admin
Sumber : Diolah Sendiri, 2017
Gambar 4.6
Tampilan Halaman Utama Admin
3. Form Input Region
Sumber : Diolah Sendiri, 2017
Gambar 4.7
Tampilan Input Region
41
4. Daftar Region
Sumber : Diolah Sendiri, 2017
Gambar 4.8
Tampilan Daftar Region
5. Form Input User ( Leader Area dan Field Engineer )
Sumber : Diolah Sendiri, 2017
Gambar 4.9
Tampilan Form User Leader Area dan Field Engineer
42
6. Daftar User Leader Area dan Field Engineer
Sumber : Diolah Sendiri, 2017
Gambar 4.10
Tampilan Daftar User Leader Area dan Field Engineer
7. Form Input Tipe Mesin
Sumber : Diolah Sendiri, 2017
Gambar 4.11
Tampilan Input Tipe Mesin
43
8. Daftar Tipe Mesin
Sumber : Diolah Sendiri, 2017
Gambar 4.12
Tampilan Daftar Tipe Mesin
9. Form Input Mesin
Sumber : Diolah Sendiri, 2017
Gambar 4.13
Tampilan Form Input Mesin
44
10. Daftar Mesin
Sumber : Diolah Sendiri, 2017
Gambar 4.14
Tampilan Daftar Mesin
11. Pilih Mesin Tiket
Sumber : Diolah Sendiri, 2017
Gambar 4.15
Tampilan Pilih Mesin Tiket
45
12. Form Buat Tiket
Sumber : Diolah Sendiri, 2017
Gambar 4.16
Tampilan Form Buat Tiket
13. Daftar Tiket
Sumber : Diolah Sendiri, 2017
Gambar 4.17
Tampilan Daftar Tiket
46
14. Halaman Utama User Leader Area
Sumber : Diolah Sendiri, 2017
Gambar 4.18
Tampilan Halaman Utama User Field Engineer
15. Tambah User Field Engineer
Sumber : Diolah Sendiri, 2017
Gambar 4.19
Tampilan Tambah User Field Engineer
47
16. Daftar User Leader Area
Sumber : Diolah Sendiri, 2017
Gambar 4.20
Tampilan Tambah User Leader Area
17. Daftar Tiket Leader Area
Sumber : Diolah Sendiri, 2017
Gambar 4.21
Tampilan Daftar Tiket Leader Area
48
18. Kirim Tiket Field Engineer
Sumber : Diolah Sendiri, 2017
Gambar 4.22
Tampilan Daftar Tiket Field Engineer
19. Daftar Tiket Setelah Kirim Field Engineer
Sumber : Diolah Sendiri, 2017
Gambar 4.23
Tampilan Daftar Tiket Setelah Kirim Field Engineer
49
20. Halaman Utama User Level Field Engineer
Sumber : Diolah Sendiri, 2017
Gambar 4.24
Tampilan Halaman Utama User Field Engineer
21. Rubah Status Waiting Tiket
Sumber : Diolah Sendiri, 2017
Gambar 4.25
Tampilan Rubah Status Waiting Tiket
50
22. Daftar Tiket Status Replied
Sumber : Diolah Sendiri, 2017
Gambar 4.26
Tampilan Rubah Status Replied Tiket
23. Rubah Status Tiket Replied
Sumber : Diolah Sendiri, 2017
Gambar 4.27
Tampilan Rubah Status Tiket Replied
51
24. Daftar Tiket Status Processed
Sumber : Diolah Sendiri, 2017
Gambar 4.28
Tampilan Daftar Tiket Status Processed
25. Rubah Status Processed
Sumber : Diolah Sendiri, 2017
Gambar 4.29
Tampilan Daftar Report
52
26. Daftar Tiket Status Resolved
Sumber : Diolah Sendiri, 2017
Gambar 4.30
Tampilan Daftar Tiket Status Resolved
27. Create Report
Sumber : Diolah Sendiri, 2017
Gambar 4.31
Tampilan Form Create Report
53
28. Halaman Utama User Customers
Sumber : Diolah Sendiri, 2017
Gambar 4.34
Tampilan Utama User Customers
29. Daftar Tiket Setelah Create Report
Sumber : Diolah Sendiri, 2017
Gambar 4.35
Tampilan Daftar Tiket Setelah Resolved dan Create Report
54
30. Daftar Report Customers
Sumber : Diolah Sendiri, 2017
Gambar 4.36
Tampilan Daftar Report Customers
4.3. Code Generation
1. Halaman Login User
<!DOCTYPE html><html><head><meta charset="UTF-8">
<title>SITH | Sistem Informasi Tiket Helpdesk </title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
name="viewport">
<link href="../style/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="../style/css/font-awesome.min.css" rel="stylesheet">
<link href="../style/dist/css/AdminLTE.min.css" rel="stylesheet" type="text/css" />
</head> <body class="login-page">
<?php
session_start();
date_default_timezone_set("Asia/Jakarta");
55
// koneksi database -------------------------------------------->
$db = new mysqli ( "localhost" , "root" , "" , "sith" );
echo $db->connect_errno?'Koneksi gagal : '.$db->connect_error:'';
//<--------------------------------------------------------------
if(isset($_POST['email']) && ($_POST['password'])){
$email = $db->real_escape_string($_POST['email']);
$password = $db->real_escape_string($_POST['password']);
$sql = "select * from user where email = '$email' AND password = '$password'";
$result = $db->query($sql) or die($db->error.__LINE__);
$row = $result->fetch_assoc();
extract($row);
if ($result->num_rows == 1){
$jam_tgl_login =date('j-M-Y | h:i:s');
$_SESSION['nama'] = $row['nama'];
$_SESSION['level'] = $row['level'];
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['region'] = $row['region'];
$_SESSION['email'] = $row['email'];
$_SESSION['perusahaan'] = $row['perusahaan'];
$_SESSION['jabatan'] = $row['jabatan'];
$_SESSION['hp1'] = $row['hp1'];
$_SESSION['hp2'] = $row['hp2'];
header("location:../index.php");
echo "<meta http-equiv='refresh' content='0; url=index.php";
$_SESSION['pesan'] = '<p><div class="alert alert-success" id="success-
alert"><center>Anda login sebagai <b> '.$_SESSION['nama'].' </b></center></div></p>';
} else {
$_SESSION['error'] = "Username atau Password salah...!!!";
header("location:../index.php");
56
} } ?><br><br><br><br><br>
<div class="login-box"><div class="login-logo"></div>
<div class="login-box-body"><center><h3>Login</h3> <small>SITH | Sistem Informasi
Tiket Helpdesk</small></center>
<p class="login-box-msg"><hr></p>
<form method="POST" action="#" accept-charset="UTF-8">
<div class="form-group has-feedback" value="">
<?php if(isset($_SESSION['error'])){?>
<div class="alert alert-danger" id="success-alert">
<?php echo $_SESSION['error']; unset($_SESSION['error']);}?></div>
<input class="form-control" placeholder="Masukan E-Mail" type="text" name="email"
required><p>
<div class="form-group has-feedback">
<input class="form-control" placeholder="Masukan password..." type="password"
name="password" required><p><p>
<button type="submit" class="btn btn-primary btn-block btn-flat pull-right" name="login"
>Login
</div><br><center><hr></center></div></div></form><br></div>
<script src="../style/js/jquery.min.js" type="text/javascript"></script>
<script src="../style/js/bootstrap.min.js" type="text/javascript"></script>
</body></html>
2. Halaman Utama User Setelah login
<?php
include 'app/koneksi.php';
session_start();
ob_start();
if(empty($_SESSION['level']))
57
header('location:app/login.php') ;
date_default_timezone_set("Asia/Jakarta");
//tujuan seperti dibuat menggunakan $_SERVER['HTTP_HOST'] agar hostname berubah
sendiri secara dinamis
$base_url = 'http://'.$_SERVER['HTTP_HOST'].'/tiket-helpdesk/';
isset ($_GET['app']) ? $app = $_GET['app'] : $app = 'home'; ?>
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SITH | Administrator</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
name="viewport">
<link rel="stylesheet" type="text/css" href="style/css/DT_bootstrap.css">
<link href="style/css/bootstrap.css" rel="stylesheet">
<link href="style/css/font-awesome.min.css" rel="stylesheet">
<link href="style/css/dataTables.css" rel="stylesheet">
<link href="style/css/dataTables.responsive.css" rel="stylesheet">
<link rel="stylesheet" href="style/css/AdminLTE.css">
<script src="style/js/jquery.js"></script>
<link rel="stylesheet" href="style/css/skins.min.css">
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
</head>
<body class="hold-transition skin-blue layout-boxed sidebar-mini">
<div class="wrapper">
<header class="main-header">
<a href="#" class="logo">
<span class="logo-mini"><b>SD</b></span>
<span class="logo-lg"><b>Service Division</b></span></a>
58
<nav class="navbar navbar-static-top">
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
<span class="sr-only">Toggle navigation</span></a>
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">
<i class="fa fa-user"></i> <?php echo $_SESSION['nama'];?>
<strong class="caret"></strong></a>
<ul class="dropdown-menu">
<li><a href="index.php?app=profile" id=".$user_id."><span class="fa fa-user">
Profile</span></a></li>
<li><a href="logout.php"><span class="fa fa-power-off"> Sign out </span>
</a></li></ul></li></ul></div></nav></header>
<!-- =============================================== -->
<aside class="main-sidebar">
<section class="sidebar">
<ul class="sidebar-menu">
<li class="header"><center>MAIN NAVIGATION</center></li>
<li <?php echo $app=='home'?'class="active"':''; ?>>
<a href="index.php?app=home"><i class="fa fa-home"></i>
<span>Home</span></a></li>
<li <?php echo $app=='tiket_list'?'class="active"':''; ?>>
<a href="index.php?app=tiket_list"><i class="fa fa-ticket"></i>
<span>Tiket</span></a></li>
<?php if ($_SESSION['level']== 'Leader Area' or ($_SESSION['level']== 'Administrator'
)){ ?>
<li <?php echo $app=='user_list'?'class="active"':'';?>>
<a href="index.php?app=user_list"><i class="fa fa-user"></i><span> Office Area
59
</span></a></li>
<li <?php echo $app=='user_list_customers'?'class="active"':'';?>>
<a href="index.php?app=user_list_customers"><i class="fa fa-user"></i><span>
Customers</span></a></li>
<?php } ?>
<li <?php echo $app=='mesin_list'?'class="active"':''; ?>>
<a href="index.php?app=mesin_list"><i class="fa fa-file-o"></i><span>Mesin
</span></a></li>
<li <?php echo $app=='report_list'?'class="active"':''; ?>>
<a href="index.php?app=report_list"><i class="fa fa-book"></i> <span> Report </span>
</a></li>
<?php if($_SESSION['level']=='Administrator'){ ?>
<li class="header">Kategori</li>
<li <?php echo $app=='region_list'?'class="active"':''; ?>>
<a href="index.php?app=region_list"><i class="fa fa-circle-o text-aqua"></i>
<span>Region</span></a></li>
<li <?php echo $app=='tipe_mesin_list'?'class="active"':''; ?>>
<a href="index.php?app=tipe_mesin_list"><i class="fa fa-circle-o text-yellow"></i>
<span>Tipe Mesin</span></a></li></ul>
<?php } ?>
</section></aside>
<div class="content-wrapper">
<section class="content">
<?php
//menampilkan pesan setelah berhasil login
if(isset($_SESSION['pesan'])){echo $_SESSION['pesan']; unset($_SESSION['pesan']);}
if(isset($_SESSION['error'])){echo $_SESSION['error']; unset($_SESSION['error']);}
// jika tidak ada tampilkan pesan error
if(file_exists('app/'.$app.'.php')){
60
include ('app/'.$app.'.php');
}else{ echo '<div class="well">Error : Aplikasi tidak menemukan adanya file
<b>'.$app.'.php</div>'; } ?> </section>
<footer class="main-footer">
<center>© 2017 SITH | Sistem Informasi Tiket Helpdesk.</center>
</footer></div>
<script src="style/js/jquery.min.js"></script>
<script src="style/js/bootstrap.js"></script>
<script src="style/js/app.min.js"></script>
<!-- AdminLTE for demo purposes -->
<script src="style/js/demo.js"></script>
<script src="style/js/jquery.dataTables.js"></script>
<script src="style/js/dataTables.bootstrap.min.js"></script>
<script src="style/js/dataTables.responsive.js"></script>
</body></html><?php ob_flush(); ?>
<script> $("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500);
}); </script>
3. Halaman Form Region
<?php
include("koneksi.php");
empty( $app ) ? header('location:../index.php') : '' ;
$carikode = mysqli_query($koneksi, "select max(region_kode) from region") or die
(mysql_error());
$datakode = mysqli_fetch_array($carikode);
if ($datakode) {
$nilaikode = substr($datakode[0], 3, 5);
61
$kode_otomatis = $nilaikode + 1;
if($kode_otomatis<10) { $kode="RO-0".$kode_otomatis;
} else { $kode="RO-".$kode_otomatis; }
if(isset($_POST['add_region'])){
$region_kode = $_POST['region_kode'];
$region_nama = $_POST['region_nama'];
$cek = mysqli_query($koneksi, "SELECT * FROM region WHERE region_kode='$kode'
OR region_nama='$region_nama'");
if(mysqli_num_rows($cek) == 0){
$insert = mysqli_query($koneksi, "INSERT INTO region (region_kode,
region_nama)VALUES('$kode', '$region_nama')") or die(mysqli_error());
if($insert){$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-
alert">Data Region '.$region_kode.' Berhasil Di Simpan.</div></center>'; }else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data Region Gagal Di simpan !</div></center>';
}else{
$_SESSION['error'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Kode Region atau Nama Region sudah ada..!</div></center>';
} header("location:index.php?app=region_list"); } ?>
<section class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Input Region</h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<form class="row-border" action="#" method="POST">
<div class="panel-body">
<div class="form-group">
62
<label>Kode Region<span class="required">*</span></label>
<?php echo'<input name="region_kode" type="text" class="required form-control"
value="'.$kode.'" readonly="readonly">';?>
</div><div class="form-group">
<label>Nama Region<span class="required">*</span></label>
<input name="region_nama" type="text" class="required form-control"
placeholder="Daerah Region" required></div><p>
<button class="btn btn-info" type="submit" name="add_region" value="Simpan"> Tambah
Region</button>
<button class="btn btn-warning" type="reset">Reset</button>
</form></div></div></div></div></div></section>
<?php } ?>
4. Halaman Daftar Region
<?php
include("koneksi.php");
empty( $app ) ? header('location:../index.php') : '' ; ?>
<div class="content"><div class="row"><div class="panel panel-info">
<div class="panel-title pull-right">
<a href="index.php?app=region_form" class="fa fa-plus-square btn btn-lg">
Tambah</a></div>
<div class="panel-heading"><h3 class="panel-title">Daftar Region</h3>
</div>
<div class="panel-body no-padding"><div class="col-lg-12"><p>
<?php $sql=mysqli_query($koneksi, "SELECT * FROM region ORDER BY region_kode
ASC");
if(mysqli_num_rows($sql)==0)
{ echo '<div class="alert alert-danger"><center>Belum ada data Region !!!
63
</center></div>'; } else { ?>
<table width="100%" id='mytable' class="table table-hover table-condensed">
<thead><tr>
<th>No</th>
<th>Kode Region</th>
<th>Name Region</th>
<th>Action</th></tr>
</thead>
<?php
//menampilkan data mysql
$no = 0;
while($r=mysqli_fetch_array($sql)){
$no++;?><tr>
<td><?php echo $no; ?></td>
<td><?php echo $r['region_kode']; ?></td>
<td><?php echo $r['region_nama']; ?></td>
<td><center><a href="index.php?app=region_edit&id=<?php echo $r['region_id']; ?>"
class="btn btn-xs btn-success"><span class="fa fa-edit" name="edit_mesin" title="Edit
Mesin"></span></a>
<a href="#" onclick="confirm_modal('app/region_delete.php?region_id=<?php echo
$r['region_id']; ?>');" class="btn btn-xs btn-danger"><span class="fa fa-trash"
title='Hapus'></span></a></center></td>
</tr><?php } } ?></table>
</div></div></div></div></div>
<!-- Modal Popup untuk delete-->
<div class="modal fade" id="region_delete">
<div class="modal-dialog">
<div class="modal-content" style="margin-top:100px;">
<div class="modal-header">
64
<h4 class="modal-title" style="text-align:center;">Yakin ingin menghapus data tersebut
?</h4></div>
<div class="modal-footer" style="margin:0px; border-top:0px; text-align:center;">
<a href="#" class="btn btn-sm btn-danger" id="delete_link">Hapus</a>
<button type="button" class="btn btn-sm btn-success" data-
dismiss="modal">Batal</button></div></div></div></div>
<!-- Javascript untuk popup modal Delete-->
<script type="text/javascript">
function confirm_modal(delete_url)
{ $('#region_delete').modal('show', {backdrop: 'dinamic'});
document.getElementById('delete_link').setAttribute('href' , delete_url); }</script>
<script> $(document).ready(function() {
$('#mytable').DataTable({ responsive: true
}); }); </script>
<script> $("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500); }); </script>
5. Halaman Form User Administrator
<?PHP
if (isset($_POST['registrasi'])) { $error = array(); if (empty($_POST['level'])) {
$error[] = 'Level tidak boleh kosong'; } else {
$level =mysqli_real_escape_string($koneksi, $_POST['level']); }
if (empty($_POST['nik'])) { $error[] = 'NIK / ID Karyawan tidak boleh kosong';
} else { $nik =mysqli_real_escape_string($koneksi, $_POST['nik']); }
if (empty($_POST['nama'])) { $error[] = 'Nama lengkap tidak boleh kosong';
} else { $nama =mysqli_real_escape_string($koneksi, $_POST['nama']); }
$email = mysqli_real_escape_string($koneksi, $_POST['email']);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
65
$error[] = 'E-Mail kosong atau yang anda masukkan salah';
} else { $email = mysqli_real_escape_string($koneksi, $_POST['email']); }
if (empty($_POST['hp1'])) { $error[] = 'No HP tidak boleh kosong'; } else {
$hp1 = mysqli_real_escape_string($koneksi,$_POST['hp1']); }
if (empty($_POST['region'])) { $error[] = 'Region tidak boleh kosong'; } else {
$region =mysqli_real_escape_string($koneksi, $_POST['region']); }
$tgl_daftar=date("j-M-Y");
$jam_tgl_login =date("h:i:s | j-M-Y");
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$user_ip=$_SERVER['HTTP_CLIENT_IP']; }
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$user_ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{ $user_ip=$_SERVER['REMOTE_ADDR']; }
if (empty($error)){
// query untuk mencari email yg sdh ada di database
$query ="SELECT * FROM user WHERE email ='$email'";
$result = $koneksi->query($query) or die($koneksi->error.__LINE__);
if(!$result->num_rows > 0){
$insert="INSERT INTO user values('','$nama','$email', '$region', '$level', 'Wincor1234',
'$tgl_daftar', '$user_ip', '', 'Offline', '$nik', '', '', '','','PT. Wincor Nixdorf
Indonesia','$level','$hp1','','kosong.jpg')" or die($koneksi->error.__LINE__);
if($koneksi->query($insert) === false) {
echo'<center><div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>Maaf anda tidak bisa mendaftar karena sistem kami ada
kesalahan..!</div></center>';
} else {
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-
alert">Penambahan User berhasil...!</div></center>';
66
header("location:index.php?app=user_list"); }
} else {
echo'<center><div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">×</button>Maaf Sebelumnya akun ini sudah
terdaftar...!</div></center>'; }}
else {echo'<div class="alert alert-danger alert-dismissable"><ul>';
foreach ($error as $key => $values) { echo'<li>'.$values.'</li>';} echo'</ul></div>'; }
unset($_POST['registrasi']); mysqli_close($koneksi); } ?>
<section class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Form User | <small>Office Area</small></h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<form class="row-border" action="#" method="POST">
<div class="panel-body">
<div class="form-group">
<label>Level User <span class="required">*</span></label>
<select name="level" class="form-control">
<option value="">Pilih Level</option>
<option value="Leader Area">Leader Area</option>
<option value="Field Engineer">Field Engineer</option></select></div>
<div class="form-group">
<label>NIK | <small> Nomor Induk Karyawan </small> <span class="required">
*</span></label><input name="nik" type="text" class="required form-control"
placeholder="Example : 6XXXX"></div>
<div class="form-group"><label>Nama Lengkap <span class="required">
67
*</span></label>
<input name="region" type="hidden" value="'.$_SESSION['region'].'">
<input name="nama" type="text" class="required form-control" placeholder="Nama
Lengkap"></div>
<div class="form-group"><label>Email <span class="required">*</span></label>
<input name="email" type="email" class="required form-control"
placeholder="contoh@contoh.com"></div>
<div class="form-group"><label>Handphone <span class="required">
*</span></label><input name="hp1" type="text" class="required form-control"
placeholder="08XXXXXXXXX"></div>
<div class="form-group"><label>Region <span class="required"> *</span></label><select
name="region" class="form-control"><option value="">Pilih Region</option><?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "sith";
$koneksi = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if(mysqli_connect_errno())
{ echo 'Gagal melakukan koneksi ke Database : '.mysqli_connect_error(); }
$sql1=mysqli_query($koneksi, "SELECT * FROM region");
while($r=mysqli_fetch_array($sql1)){ ?>
<option value='<?php echo $r['region_kode'] ?>'><?php echo $r['region_kode'] ?> | <?php
echo $r['region_nama'] ?></option>
<?php } ?></select></div><p>
<button class="btn btn-primary" name="registrasi" type="submit">Tambah
User</button></form></div></div></div></div></div></section>
6. Form User Leader Area
68
<section class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Form Tambah User | <small>Office Area</small></h3>
</div><div class="panel-body no-padding"><div class="col-lg-12">
<p> <form class="row-border" action="#" method="POST">
<div class="panel-body"><div class="form-group">
<label>NIK | <small> Nomor Induk Karyawan </small> <span class="required">
*</span></label><input name="nik" type="text" class="required form-control"
placeholder="Example : 6XXXX"></div>
<div class="form-group"><label>Nama Lengkap <span class="required">
*</span></label>
<input name="region" type="hidden" value="'.$_SESSION['region'].'">
<input name="nama" type="text" class="required form-control" placeholder="Nama
Lengkap anda..."></div>
<div class="form-group"><label>Email <span class="required">*</span></label>
<input name="email" type="email" class="required form-control" placeholder="Example :
example@example.com"></div>
<div class="form-group"><label>Handphone <span class="required">
*</span></label><input name="hp1" type="text" class="required form-control"
placeholder="08XXXXXXXXX"></div>
<button class="btn btn-primary" name="registrasi" type="submit">Tambah
User</button></form></div></div></div></div></div>
7. Halaman Daftar User
<?php
include("koneksi.php");
69
empty( $app ) ? header('location:../index.php') : '' ; if(isset($_SESSION['level'])){?>
<style> .table tr th{ background : #9fc9f9; color:white; } </style>
<div class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-title pull-right">
<?php if($_SESSION['level']=='Administrator'){?>
<a href="index.php?app=user_form_admin" class="fa fa-plus-square btn btn-lg">
Tambah</a>
<?php } if($_SESSION['level']=='Leader Area'){?>
<a href="index.php?app=user_form" class="fa fa-plus-square btn btn-lg"> Tambah</a>
<?php } ?></div>
<div class="panel-heading">
<h3 class="panel-title">Daftar Office Area</h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<?php if($_SESSION['level']=='Administrator'){
$sql = mysqli_query($koneksi, "SELECT * FROM user WHERE level='Leader Area' or
level='Field Engineer' ORDER BY region ASC"); }
else if($_SESSION['level']=='Leader Area'){
$sql = mysqli_query($koneksi, "SELECT * FROM user WHERE
region='".$_SESSION['region']."' AND level='Field Engineer' ORDER BY user_id ASC");
} if(mysqli_num_rows($sql) == 0){
echo '<div class="alert alert-danger"><center>Untuk saat ini belum ada data Office Area
!!!</center></div>';
}else { ?>
<table width="100%" id='mytable' class="table table-hover table-condensed">
<thead><tr>
<th>#</th>
70
<th>NIK</th>
<th>Nama</th>
<th>E-Mail</th>
<th>Handphone</th>
<?php if($_SESSION['level']=='Administrator'){?>
<th>Region</th>
<?php } ?>
<th>Tanggal Login</th>
<th>Status</th>
<?php if($_SESSION['level']=='Leader Area'
or ($_SESSION['level']=='Administrator')){?>
<th>Aksi</th>
<?php } ?>
</tr></thead>
<?php
$no = 0;
while($row = mysqli_fetch_array($sql)){
$no++; ?>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $row['nik']; ?></td>
<td><a href="index.php?app=user_detail&id=<?php echo $row['user_id']; ?>"
name="select"><?php echo $row['nama']; ?></a></td>
<td><?php echo $row['email']; ?></td>
<td><?php echo $row['hp1']; ?></td>
<?php if($_SESSION['level']=='Administrator'){?>
<td><?php echo $row['region'];?></td>
<?php } ?>
<td><?php echo $row['jam_tgl_login']; ?></td>
71
<td><?php
if($row['status'] == 'Online'){ echo '<span class="label label-info">Online</span>';
} else if ($row['status'] == 'Offline' ) { echo '<span class="label label-
danger">Offline</span>'; } ?></td>
<td align="center">
<a href="index.php?app=user_edit&id=<?php echo $row['user_id']; ?>" class="btn btn-xs
btn-success"><span class="fa fa-edit" title='Edit'></span></a>
<a href="#" onclick="confirm_modal('app/user_delete.php?user_id=<?php echo
$row['user_id']; ?>');" class="btn btn-xs btn-danger"><span class="fa fa-trash"
title='Hapus'></span></a></td></tr>
<?php } } ?>
</table></div></div></div></div></div>
<!-- Modal Popup untuk delete-->
<div class="modal fade" id="user_delete">
<div class="modal-dialog">
<div class="modal-content" style="margin-top:100px;">
<div class="modal-header">
<h4 class="modal-title" style="text-align:center;">Yakin ingin menghapus data tersebut
?</h4></div>
<div class="modal-footer" style="margin:0px; border-top:0px; text-align:center;">
<a href="#" class="btn btn-sm btn-danger" id="delete_link">Hapus</a>
<button type="button" class="btn btn-sm btn-success" data-
dismiss="modal">Batal</button>
</div></div></div></div>
<!-- Javascript untuk popup modal Delete-->
<script type="text/javascript">
function confirm_modal(delete_url){
$('#user_delete').modal('show', {backdrop: 'dinamic'});
document.getElementById('delete_link').setAttribute('href' , delete_url);
72
} </script>
<script>
$(document).ready(function() {
$('#mytable').DataTable({
responsive: true,
"ordering": false }); });
</script>
<script>$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500); });
</script>
<?php }else{ header('location:../index.php'); } ?>
8. Halaman Form Tipe Mesin
<?php
include("koneksi.php");
empty( $app ) ? header('location:../index.php') : '' ;
if(isset($_POST['add_tipe_mesin'])){
$tipe_mesin_kode = $_POST['tipe_mesin_kode'];
$tipe_mesin_nama = $_POST['tipe_mesin_nama'];
$cek = mysqli_query($koneksi, "SELECT * FROM tipe_mesin WHERE
tipe_mesin_kode='$tipe_mesin_kode' OR tipe_mesin_nama='$tipe_mesin_nama'");
if(mysqli_num_rows($cek) == 0){
$insert = mysqli_query($koneksi, "INSERT INTO tipe_mesin (tipe_mesin_kode,
tipe_mesin_nama) VALUES ('$tipe_mesin_kode', '$tipe_mesin_nama')") or
die(mysqli_error());
if($insert){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
Region '.$tipe_mesin_kode.' Berhasil Di Simpan.</div></center>';
73
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data Region Gagal Di simpan !</div></center>';
} } else{
$_SESSION['error'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Kode Mesin atau Nama Mesin sudah ada..!</div></center>';
} header("location:index.php?app=tipe_mesin_list"); } ?>
<section class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Form Tipe Mesin</h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<form class="row-border" action="#" method="POST">
<div class="panel-body">
<div class="form-group"><label>Kode Tipe Mesin<span class="required">
*</span></label><input name="tipe_mesin_kode" type="text" class="required form-
control" placeholder="Tipe Mesin Kode" required></div>
<div class="form-group"><label>Nama Tipe Mesin<span class="required">
*</span></label><input name="tipe_mesin_nama" type="text" class="required form-
control" placeholder="Tipe Mesin Nama" required></div><p>
<button class="btn btn-info" type="submit" name="add_tipe_mesin"
value="Simpan">Tambah Tipe</button>
<button class="btn btn-warning" type="reset">Reset</button>
</form></div></div></div></div></div></section>
9. Halaman Daftar Tipe Mesin
74
<?php
include("koneksi.php");
empty( $app ) ? header('location:../index.php') : '' ; ?>
<!-- Awal Penampilan tabel Region -->
<div class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-title pull-right">
<a href="index.php?app=tipe_mesin_form" class="fa fa-plus-square btn btn-lg">
Tambah</a></div>
<div class="panel-heading">
<h3 class="panel-title">Daftar Tipe Mesin</h3>
</div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<?php
$sql=mysqli_query($koneksi, "SELECT * FROM tipe_mesin ORDER BY
tipe_mesin_kode ASC");
if(mysqli_num_rows($sql)==0){
echo '<div class="alert alert-danger"><center>Belum ada data Tipe Mesin
!!!</center></div>';
} else { ?>
<table width="100%" id='mytable' class="table table-hover table-condensed">
<thead><tr>
<th>No</th>
<th>Tipe Mesin</th>
<th>Nama Mesin</th>
<th>Action</th></tr>
</thead>
75
<?php
//menampilkan data mysql
include "koneksi.php";
$no = 0;
while($r=mysqli_fetch_array($sql)){
$no++; ?>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $r['tipe_mesin_kode']; ?></td>
<td><?php echo $r['tipe_mesin_nama']; ?></td>
<td width=20%><center><a href="index.php?app=tipe_mesin_edit&id=<?php echo
$r['tipe_mesin_id']; ?>" class="btn btn-xs btn-success"><span class="fa fa-edit"
name="edit_mesin" title="Edit Mesin"></span></a>
<a href="#" onclick="confirm_modal(' app/tipe_mesin_delete.php?tipe_mesin_id =<?php
echo $r['tipe_mesin_id']; ?> ');" class="btn btn-xs btn-danger"><span class="fa fa-trash"
title='Hapus'></span></a>
</center></td></tr><?php } }?></table></div></div></div></div></div>
<!-- Modal Popup untuk delete-->
<div class="modal fade" id="tipe_mesin_delete">
<div class="modal-dialog">
<div class="modal-content" style="margin-top:100px;">
<div class="modal-header">
<h4 class="modal-title" style="text-align:center;">Yakin ingin menghapus data tersebut
?</h4></div>
<div class="modal-footer" style="margin:0px; border-top:0px; text-align:center;">
<a href="#" class="btn btn-sm btn-danger" id="delete_link">Hapus</a>
<button type="button" class="btn btn-sm btn-success" data-
dismiss="modal">Batal</button>
</div></div></div></div>
76
<script type="text/javascript">
function confirm_modal(delete_url){
$('#tipe_mesin_delete').modal('show', {backdrop: 'dinamic'});
document.getElementById('delete_link').setAttribute('href' , delete_url); }
</script>
<script> $(document).ready(function() { $('#mytable').DataTable({ responsive: true
}); }); </script>
<script> $("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500);}); </script>
10. Halaman Form Tambah Mesin
<?php include ('koneksi.php'); if(isset($_POST['add_mesin'])){
$mesin_id = $_POST['mesin_id'];
$customers = $_POST['customers'];
$lokasi = $_POST['lokasi'];
$type = $_POST['type'];
$ssb = $_POST['ssb'];
$alamat = $_POST['alamat'];
$region = $_POST['region'];
$pic = $_POST['pic'];
$created_by = $_POST['created_by'];
$time_created = date('j-M-Y');
$cek = mysqli_query($koneksi, "SELECT * FROM mesin WHERE mesin_id='$mesin_id'
OR ssb='$ssb'");
if(mysqli_num_rows($cek) == 0){
$insert = mysqli_query($koneksi, "INSERT INTO mesin (mesin_id, customers, lokasi,
type, ssb, alamat, region, pic,created_by, time_created) VALUES ('$mesin_id','$customers',
'$lokasi', '$type', '$ssb', '$alamat', '$region', '$pic','Administrator', '$time_created')") or
77
die(mysqli_error());
if($insert){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
Mesin Berhasil Di Simpan.</div></center>';
}else{
$_SESSION['pesan'] ='<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data Mesin Gagal Di simpan !</div></center>'; }
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">ID Mesin / SBB Sudah Ada..!</div></center>';
} header("location:index.php?app=mesin_list"); } ?>
<section class="content">
<div class="row">
<div class="panel">
<div class="panel-body no-padding">
<div class="col-md-12">
<form method="POST" action="#">
<div class="box-body"><h3>Input Mesin</h3><hr></div>
<?php if(isset($_SESSION['error'])){?>
<div class="alert alert-error"><a class="close" data-dimdiss="alert" href="#">x</a>
<?php unset($_SESSION['error']);}?>
<div class="form-group">
<label for="Action" class="col-md-2 control-label">ID Mesin</label>
<div class="col-md-4">
<input type="text" name="mesin_id" class="form-control" placeholder="ID Mesin"
required></div>
<label for="Customers" class="col-md-2 control-label">Customers</label>
<div class="col-md-4">
<input class="form-control" placeholder="Customers / Bank" type="text"
78
name="customers" required></div></div>
<div class="form-group">
<label for="Lokasi" class="col-md-2 control-label">Lokasi</label><div class="col-md-
4">
<input class="form-control" placeholder="Lokasi" type="text" name="lokasi"
required></div>
<div class="form-group">
<label for="Tipe Mesin" class="col-md-2 control-label">Tipe Mesin</label>
<div class="col-md-4">
<select name="type" class="form-control"><option value="">Tipe Mesin</option>
<?php
$sql3=mysqli_query($koneksi, 'SELECT * FROM tipe_mesin');
while($tipe=mysqli_fetch_array($sql3)){ ?>
<option value='<?php echo $tipe['tipe_mesin_kode'] ?>'><?php echo
$tipe['tipe_mesin_kode'] ?> | <?php echo $tipe['tipe_mesin_nama'] ?></option>
<?php } ?></select></div></div></div>
<div class="form-group">
<label for="SSB" class="col-md-2 control-label">SSB Mesin</label>
<div class="col-md-4">
<input class="form-control" placeholder="SSB Mesin" type="text" name="ssb"
required></div>
<div class="form-group">
<label for="PIC" class="col-md-2 control-label">PIC</label>
<div class="col-md-4">
<input class="form-control" placeholder="PIC" type="text" name="pic"
required></div></div></div>
<div class="form-group">
<label for="Lokasi" class="col-md-2 control-label">Alamat</label>
<div class="col-md-4">
79
<textarea class="form-control" name="alamat" placeholder="Alamat"
required></textarea></div>
<div class="form-group">
<label for="Region" class="col-md-2 control-label">Region</label>
<div class="col-md-4">
<select name="region" class="form-control"><option value="">Pilih
Region</option><?php
$sql4=mysqli_query($koneksi, 'SELECT * FROM region');
while($rg=mysqli_fetch_array($sql4)){ ?>
<option value='<?php echo $rg['region_kode'] ?>'><?php echo $rg['region_kode'] ?> |
<?php echo $rg['region_nama'] ?></option>
<?php } ?>
</select></div></div>
<div class="form-group">
<div class="col-md-6" align=right><br>
<button class="btn-info btn-sm btn" type="submit" name="add_mesin"> Tambah
Mesin</button>
<a href="index.php?app=mesin_list" button class="btn-danger btn-sm
btn">Cancel</a></button>
</div></div></div></form>
<div class="col-md-12"><hr><center><small>
* Isi dengan data yang jelas dan sebenar-benarnya.<p><hr>
</small></center></div></div></section>
11. Halaman Daftar Mesin
<?php
include("koneksi.php");
empty( $app ) ? header('location:../index.php') : '' ;?>
80
<style> .table tr th{ background : #9fc9f9; color:white; } </style>
<section class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-title pull-right">
<?php if($_SESSION['level']=='Leader Area' or ($_SESSION['level']=='Customers') or
($_SESSION['level']=='Administrator')){?>
<a href="index.php?app=mesin_form" class="fa fa-plus-square btn btn-lg"> Tambah</a>
<?php } if ($_SESSION['level']=='Customers'){ ?>
<a href="index.php?app=mesin_cari" class="fa fa-search btn btn-lg"> Cari</a>
<?php } ?></div>
<div class="panel-heading">
<h3 class="panel-title">Daftar Mesin | <small>All</small></h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<?php if($_SESSION['level']=='Administrator') {
$sql = mysqli_query($koneksi, "SELECT * FROM mesin where id ORDER BY customers
ASC"); }
if($_SESSION['level']=='Leader Area' or ($_SESSION['level']=='Field Engineer')){
$sql = mysqli_query($koneksi, "SELECT * FROM mesin where
region='".$_SESSION['region']."' ORDER BY customers ASC"); }
else if ($_SESSION['level']=='Customers') {
$sql = mysqli_query($koneksi, "SELECT * FROM mesin where
created_by='".$_SESSION['user_id']."' ORDER BY customers ASC"); }
if(mysqli_num_rows($sql)==0){
echo '<div class="alert alert-danger"><center>Untuk saat ini belum ada data Mesin
!!!</center></div>';
} else { ?>
<table width="100%" id='mytable' class="table table-hover table-condensed">
81
<thead><tr>
<th>#</th>
<th>ID</th>
<th>Customers</th>
<th>Lokasi</th>
<th>Type</th>
<th>SSB</th>
<th>Alamat</th>
<?php if($_SESSION['level']=='Administrator'){?>
<th>Region</th>
<th>PIC</th>
<?php } if($_SESSION['level']=='Leader Area' or ($_SESSION['level']=='Field
Engineer')){?>
<th>PIC</th>
<?php } if($_SESSION['level']=='Leader Area'
or ($_SESSION['level']=='Customers')
or ($_SESSION['level']=='Administrator')){?>
<th>Action</th></tr>
<?php } ?></thead>
<?php $no = 0;
while($r=mysqli_fetch_assoc($sql)){
$no++; ?>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $r['mesin_id']; ?></td>
<td><?php echo $r['customers']; ?></td>
<td><?php echo $r['lokasi']; ?></td>
<td><?php echo $r['type']; ?></td>
<td><?php echo $r['ssb']; ?></td>
82
<td><?php echo $r['alamat']; ?></td>
<?php if($_SESSION['level']=='Administrator'){?>
<td><?php echo $r['region']; ?></td>
<td><?php echo $r['pic']; ?></td>
<?php } if ($_SESSION['level']=='Leader Area' or ($_SESSION['level']=='Field
Engineer')){?>
<td><?php echo $r['pic']; ?></td>
<?php } if($_SESSION['level']=='Leader Area'
or ($_SESSION['level']=='Customers')
or ($_SESSION['level']=='Administrator')){?>
<td><center>
<a href="index.php?app=mesin_edit&id=<?php echo $r['id']; ?>" class="btn btn-xs btn-
success"><span class="fa fa-edit" name="edit_mesin" title="Edit Mesin"></span></a>
<a href="#" onclick="confirm_modal('app/mesin_delete.php?mesin_id=<?php echo
$r['mesin_id']; ?>');" class="btn btn-xs btn-danger"><span class="fa fa-trash"
title='Hapus'></span></a>
</center></td>
<?php } } ?>
</tr>
</table></div></div></div><?php } ?></div></section>
<!-- Modal Popup untuk delete-->
<div class="modal fade" id="mesin_delete">
<div class="modal-dialog">
<div class="modal-content" style="margin-top:100px;">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h4 class="modal-title" style="text-align:center;">Yakin ingin menghapus data tersebut
?</h4></div>
83
<div class="modal-footer" style="margin:0px; border-top:0px; text-align:center;">
<a href="#" class="btn btn-sm btn-danger" id="delete_link">Hapus</a>
<button type="button" class="btn btn-sm btn-success" data-
dismiss="modal">Batal</button>
</div></div></div></div>
<!-- Javascript untuk popup modal Delete-->
<script type="text/javascript">
function confirm_modal(delete_url)
{ $('#mesin_delete').modal('show', {backdrop: 'static'});
document.getElementById('delete_link').setAttribute('href' , delete_url); }
</script>
<script>
$(document).ready(function() {
$('#mytable').DataTable({
responsive: true, "ordering": false });
}); </script>
<script>$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500); }); </script>
12. Halaman Create Tiket( Pilih Mesin )
<style> .table tr th{ background : #9fc9f9; color:white; } </style>
<?php empty( $app ) ? header('location:../index.php') : '' ;
include "koneksi.php";
if($_SESSION['level']=='Administrator') {
$sql = mysqli_query($koneksi, "SELECT * FROM mesin where id ORDER BY region
ASC"); }
else if($_SESSION['level']=='Leader Area') {
$sql = mysqli_query($koneksi, "SELECT * FROM mesin where
84
region='".$_SESSION['region']."' ORDER BY customers ASC"); }
else if ($_SESSION['level']=='Customers') {
$sql = mysqli_query($koneksi, "SELECT * FROM mesin where
created_by='".$_SESSION['user_id']."' ORDER BY mesin_id ASC"); }
if(mysqli_num_rows($sql)==0){
echo '<div content class="alert alert-danger"><center>Maaf, anda belum memasukan daftar
mesin anda !!!</center></div>'; } else { ?>
<div class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Daftar Mesin</h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p><center>
<div class="form-group">
<label class="control-label">Pilih dan cari mesin yang sedang bermasalah.
<small></label>
<p>Klik pilih pada sisi kiri untuk memilih lokasi mesin !!!</small></p></div>
<div class="row">
<div class="col-lg-12">
<table width="100%" id='mytable' class="table table-hover table-condensed">
<thead><tr>
<th>#</th>
<th>Bank</th>
<th>ID</th>
<th>SSB</th>
<th>Lokasi</th>
<th>Type</th>
<th>Alamat</th>
85
<th>Region</th>
</tr></thead>
<?php while($rows=mysqli_fetch_array($sql)){ ?>
<tr>
<td><a href="index.php?app=tiket_form&id=<?php echo $rows['id'];?>" class='btn btn-xs
btn-info'>Pilih</a></td>
<td><?php echo $rows['customers']?></td>
<td><?php echo $rows['mesin_id']?></td>
<td><?php echo $rows['ssb']?></td>
<td><?php echo $rows['lokasi']?></td>
<td><?php echo $rows['type']?></td>
<td><?php echo $rows['alamat']?></td>
<td><?php echo $rows['region']?></td>
</tr><?php } } ?>
</div></div></div></div></div></div></div></table>
<script> $(document).ready(function() {
$('#mytable').DataTable({ responsive: true, "ordering": false }); }); </script>
13. Halaman Form Tiket
<?php empty( $app ) ? header('location:../index.php') : '' ;
include ('koneksi.php');
$carikode = mysqli_query($koneksi, "select max(tiket_no) from tiket") or die
(mysql_error());
// menjadikannya array
$datakode = mysqli_fetch_array($carikode);
// jika $datakode
if ($datakode) {
$nilaikode = substr($datakode[0], 1);
86
// menjadikan $nilaikode ( int )
$kode = (int) $nilaikode;
// setiap $kode di tambah 1
$kode = $kode + 1;
$kode_otomatis = "30".str_pad($kode, 5, "0", STR_PAD_LEFT);
} else { $kode_otomatis = "3000001"; }
if(isset($_POST['add_tiket'])){
$tiket_no = $_POST['tiket_no'];
$user_created = $_POST['user_created'];
$action = $_POST['action'];
$mesin_id = $_POST['mesin_id'];
$subject = $_POST['subject'];
$keterangan = $_POST['keterangan'];
$time_created = date('j-M-Y | h:i:s');
$status = $_POST['status'];
$cek = mysqli_query($koneksi, "SELECT * FROM tiket WHERE
tiket_no='$kode_otomatis'");
if(mysqli_num_rows($cek) == 0){
$insert = mysqli_query($koneksi, "INSERT INTO tiket (tiket_no, user_created, action,
mesin_id, subject, keterangan, time_created, status) VALUES ('$kode_otomatis',
'$user_created', '$action', '$mesin_id', '$subject', '$keterangan',
'$time_created','$status'='New')") or die(mysqli_error());
if($insert){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
Tiket '.$tiket_no.' Berhasil Di Simpan.</div></center>';
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data Tiket Gagal Di simpan !</div></center>'; }
}else{
87
$_SESSION['error'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">No Tiket Sudah Ada..!</div></center>';
} header("location:index.php?app=tiket_list"); }
$id = $_GET['id'];
$sql = mysqli_query($koneksi, "SELECT * FROM mesin WHERE id='$id'");
while($r=mysqli_fetch_assoc($sql)){ ?>
<section class="content-header">
<div class="row">
<div class="panel">
<div class="panel-body no-padding">
<div class="col-md-12">
<form method="POST" action="#">
<div class="box-body"><h3>Create Tiket</h3><hr></div>
<?php if(isset($_SESSION['error'])){?>
<div class="alert alert-error"><a class="close" data-dimdiss="alert" href="#">x</a>
<?php unset($_SESSION['error']);}?>
<div class="form-group">
<input type="hidden" name="user_created" value="<?php echo $_SESSION['user_id'] ;
?>">
<input type="hidden" name="mesin_id" value="<?php echo $r['mesin_id'] ; ?>">
<input type="hidden" name="status" value="New">
<label for="NIK" class="col-md-2 control-label">Tiket No</label>
<div class="col-md-10">
<?php echo'<input class="form-control" type="text" name="tiket_no"
value='.$kode_otomatis.' disabled> ';?>
</div></div><hr>
<div class="form-group">
<label for="Action" class="col-md-2 control-label">Customers</label>
<div class="col-md-4">
88
<input class="form-control" type="text" value="<?php echo $r['customers'] ?>"
disabled></div>
<label for="ID Mesin" class="col-md-2 control-label">Lokasi</label>
<div class="col-md-4">
<input class="form-control" type="text" value="<?php echo $r['lokasi'] ?>"
disabled></div></div>
<div class="form-group">
<label for="Tipe Mesin" class="col-md-2 control-label">ID Mesin</label>
<div class="col-md-4">
<input class="form-control" type="text" name="mesin_id" value="<?php echo
$r['mesin_id'] ?>" disabled></div>
<div class="form-group">
<label for="Customers" class="col-md-2 control-label">SSB Mesin</label>
<div class="col-md-4">
<input class="form-control" type="text" value="<?php echo $r['ssb'] ?>" disabled>
</div></div></div>
<div class="form-group">
<label for="Tipe Mesin" class="col-md-2 control-label">Action</label>
<div class="col-md-4">
<select name="action" class="form-control">
<option value="">Action</option>
<option value="CM">CM | Corrective Maintance</option>
<option value="PM">PM | Perventtive Maintance</option>
<option value="AC">AC | Activation/Trade In</option>
<option value="UP">UP | Update/Upgrade</option></select></div>
<div class="form-group">
<label for="Subject" class="col-md-2 control-label">Subject</label>
<div class="col-md-4">
<input class="form-control" type="text" name="subject"
89
placeholder="Subject"></div></div></div>
<div class="form-group">
<label for="Keterangan" class="col-md-2 control-label">Keterangan</label>
<div class="col-md-4">
<textarea class="form-control" name="keterangan"
placeholder="Keterangan"></textarea></div>
<div class="col-md-6" align=right><br>
<button class="btn-info btn-sm btn" type="submit" name="add_tiket"> Tambah
Tiket</button>
<a href="index.php" button class="btn-danger btn-sm btn">Cancel</a></button>
</div></div></div></form>
<div class="col-md-12"><hr>
<center><small>
* Isi dengan data yang jelas dan sebebnar-benarnya.<p><hr>
</small></center></div></div></section><?php } ?>
14. Halaman Daftar Tiket
<?php empty( $app ) ? header('location:../index.php') : '' ;?>
<style> .table tr th{ background : #9fc9f9; color:white; } </style>
<section class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-title pull-right">
<?php if($_SESSION['level']=='Customers'
or ($_SESSION['level']=='Administrator')){?>
<a href="index.php?app=tiket_create" class="fa fa-plus-square btn btn-lg"> Buat Tiket
Baru</a><?php } ?></div>
<div class="panel-heading">
90
<h3 class="panel-title">Daftar Tiket | <small> All </small></h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<?php if($_SESSION['level']=='Administrator'){
$sql = mysqli_query($koneksi, "SELECT
`user`.user_id, `user`.nama, `user`.email, `user`.region, `user`.hp1, `user`.hp2,
mesin.mesin_id, mesin.customers, mesin.lokasi, mesin.region, mesin.type, mesin.ssb,
mesin.pic, tiket.tiket_id, tiket.tiket_no, tiket.user_created, tiket.action, tiket.mesin_id,
tiket.subject, tiket.time_created, tiket.`status` FROM mesin
INNER JOIN tiket ON tiket.mesin_id = mesin.mesin_id
INNER JOIN `user` ON `user`.user_id = tiket.user_created
WHERE tiket.tiket_no ORDER BY tiket.tiket_no DESC");
} if($_SESSION['level']=='Leader Area' ) {
$sql = mysqli_query($koneksi, "SELECT `user`.user_id, `user`.nama, `user`.email,
`user`.region, `user`.hp1, `user`.hp2, mesin.mesin_id, mesin.customers, mesin.lokasi,
mesin.region, mesin.type, mesin.ssb, mesin.pic, tiket.tiket_id, tiket.tiket_no,
tiket.user_created, tiket.action, tiket.mesin_id, tiket.subject, tiket.time_created, tiket.`status`
FROM mesin
INNER JOIN tiket ON tiket.mesin_id = mesin.mesin_id
INNER JOIN `user` ON `user`.user_id = tiket.user_created
WHERE mesin.region='".$_SESSION['region']."' ORDER BY tiket.tiket_no DESC"); }
else if ($_SESSION['level']=='Field Engineer'){
$sql = mysqli_query($koneksi, "SELECT `user`.user_id, `user`.nama, `user`.email,
`user`.region, `user`.hp1, `user`.hp2, mesin.mesin_id, mesin.customers, mesin.lokasi,
mesin.type, mesin.ssb, mesin.pic, tiket.tiket_id, tiket.tiket_no, tiket.user_created,
tiket.action, tiket.mesin_id, tiket.subject, tiket.time_created, tiket.`status` FROM mesin
INNER JOIN tiket ON mesin.mesin_id = tiket.mesin_id
INNER JOIN `user` ON `user`.user_id = tiket.user_created
WHERE tiket.user_receiver='".$_SESSION['user_id']."'
91
ORDER BY tiket.tiket_no DESC"); }
else if ($_SESSION['level']=='Customers') {
$sql = mysqli_query($koneksi, "SELECT `user`.user_id, `user`.nama, `user`.email,
`user`.region, `user`.perusahaan, `user`.hp1, `user`.hp2, mesin.mesin_id, mesin.customers,
mesin.lokasi, mesin.type, mesin.ssb, mesin.pic, tiket.tiket_id, tiket.tiket_no,
tiket.user_created, tiket.action, tiket.mesin_id, tiket.subject, tiket.time_created, tiket.`status`
FROM mesin
INNER JOIN tiket ON mesin.mesin_id = tiket.mesin_id
INNER JOIN `user` ON `user`.user_id = tiket.user_created
WHERE user_created='".$_SESSION['user_id']."'
ORDER BY tiket.tiket_no DESC"); }
$sql1 = mysqli_query($koneksi, "SELECT tiket_no, fe_report FROM report WHERE
tiket_no");
$row=mysqli_fetch_array($sql1);
if(mysqli_num_rows($sql) == 0){
echo '<div class="alert alert-danger"><center>Untuk saat ini belum ada tiket untuk anda
!!!</center></div>'; }else{ ?>
<table width="100%" id='mytable' class="table table-hover table-condensed">
<thead><tr>
<th>#</th>
<th>ACT</th>
<th>No. Tiket</th>
<th>Bank</th>
<th>ID</th>
<th>SSB</th>
<th>Lokasi</th>
<th>Subject</th>
<th>PIC</th>
<th>Status</th><?php if($_SESSION['level']=='Leader Area' or
92
($_SESSION['level']=='Customers') or ($_SESSION['level']=='Administrator')){?>
<th>Action</th>
<?php } ?></tr></thead>
<?php
$no = 0;
while($r = mysqli_fetch_assoc($sql)){
$no++; ?>
<tr>
<td><?php echo $no; ?></td>
<td><?php
if($r['action'] == 'CM'){
echo '<span class="label label-info">CM</span>'; }
else if ($r['action'] == 'PM' ){ echo '<span class="label label-warning">PM</span>'; } else
if ($r['action'] == 'AC' ){
echo '<span class="label label-danger">AC</span>'; }
else if ($r['action'] == 'UP' ){
echo '<span class="label label-success">UP</span>'; } ?></td>
<td><a href="index.php?app=tiket_select&id=<?php echo $r['tiket_no'];?>" title="Detail
ticket"><?php echo $r['tiket_no']?></a></td>
<td><?php echo $r['customers']; ?></td>
<td><?php echo $r['mesin_id']; ?></td>
<td><?php echo $r['ssb']; ?></td>
<td><?php echo $r['lokasi']; ?></td>
<td><?php echo $r['subject']; ?></td>
<td><?php echo $r['pic']; ?></td>
<td>
<?php
if($r['status'] == 'New'){ echo '<span class="label label-warning">New</span>'; }
if($_SESSION['level']=='Field Engineer'
93
or ($_SESSION['level']=='Administrator')){?>
<a href="index.php?app=tiket_status_edit&id=<?php echo $r['tiket_no'];?>" >
<?php } ?>
<?php
if ($r['status'] == 'Waiting' ){
echo '<span class="label label-default">Waiting</span>'; }
else if ($r['status'] == 'Replied' ){
echo '<span class="label label-default">Replied</span>'; }
else if ($r['status'] == 'Processed' ){
echo '<span class="label label-info">Processed</span>'; }
else if ($r['status'] == 'Pending' ){
echo '<span class="label label-danger">Pending</span>'; } ?></a>
<?php if($_SESSION['level']=='Customers'){
if ($row['tiket_no'] == $r['tiket_no']){
echo '<span class="label label-success">Report > '.$row['fe_report'].' </span>'; }
else if ($r['status'] == 'Resolve' or ($row['tiket_no'] == 1)){
echo '<span class="label label-info">Resolve</span>'; } } ?>
<?php if($_SESSION['level']=='Leader Area' or ($_SESSION['level']=='Field Engineer') or
($_SESSION['level']=='Administrator')){ ?>
<?php if ($row['tiket_no'] == $r['tiket_no']){
echo '<span class="label label-success">Report > '.$row['fe_report'].' </span>'; }
else if ($r['status'] == 'Resolve' or ($row['tiket_no'] == 1)){
echo '<a href="index.php?app=report_create&id='.$r['tiket_no'].'" title="Create
Report"><span class="label label-info" name="create_report">Create Report</span></a>';
} } ?> </td>
<?php if($_SESSION['level']=='Administrator'){?>
<td width=17%><center>
<a href="index.php?app=tiket_kirim&id=<?php echo $r['tiket_id'];?>" class='btn btn-xs
94
btn-default'><span class='fa fa-send' title='Kirim'></span></a>
<a href="index.php?app=tiket_edit&id=<?php echo $r['tiket_id'];?>" class='btn btn-xs btn-
success'><span class='fa fa-edit' title='Edit'></span></a>
<a href="#" onclick="confirm_modal('app/tiket_delete.php?tiket_id=<?php echo
$r['tiket_id']; ?>');" class="btn btn-xs btn-danger"><span class="fa fa-trash"
title='Hapus'></span></a></center></td>
<?php } if($_SESSION['level']=='Leader Area'){?>
<td><center>
<?php if ($row['tiket_no'] == $r['tiket_no']){
echo '<span class="label label-info"><i class="fa fa-check"> OK </i></span>'; }
else { ?>
<a href="index.php?app=tiket_kirim&id=<?php echo $r['tiket_id'];?>" class='btn btn-xs
btn-default'><span class='fa fa-send' title='Kirim'></span></a>
<?php } ?> </center> </td>
<?php } if($_SESSION['level']=='Customers'){?>
<td width=12%><center>
<a href="index.php?app=tiket_edit&id=<?php echo $r['tiket_id'];?>" class='btn btn-xs btn-
success'><span class='fa fa-edit' title='Edit'></span></a>
<a href="#" onclick="confirm_modal('app/tiket_delete.php?tiket_id=<?php echo
$r['tiket_id']; ?>');" class="btn btn-xs btn-danger"><span class="fa fa-trash"
title='Hapus'></span></a>
</center></td><?php } ?>
</tr><?php } } ?></table></div></div></div></div></section>
<!-- Modal Popup untuk delete-->
<div class="modal fade" id="tiket_delete">
<div class="modal-dialog">
<div class="modal-content" style="margin-top:50px;">
<div class="modal-header">
<h4 class="modal-title" style="text-align:center;">Yakin ingin menghapus data tersebut
95
?</h4></div>
<div class="modal-footer" style="margin:0px; border-top:0px; text-align:center;">
<a href="#" class="btn btn-sm btn-danger" id="delete_link">Hapus</a>
<button type="button" class="btn btn-sm btn-success" data-
dismiss="modal">Batal</button>
</div></div></div></div>
<!-- Javascript untuk popup modal Delete-->
<script type="text/javascript">
function confirm_modal(delete_url){
$('#tiket_delete').modal('show', {backdrop: 'static'});
document.getElementById('delete_link').setAttribute('href' , delete_url); }
</script>
<script>$(document).ready(function() {
$('#mytable').DataTable({
responsive: true,
"ordering": false }); }); </script>
<script>$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500); }); </script>
15. Halaman Kirim Tiket
<?php empty( $app ) ? header('location:../index.php') : '' ;
include "koneksi.php";
if(isset($_POST['user_receiver'])){
$tiket_id = $_POST['tiket_id'];
$user_send = $_POST['user_send'];
$assign_time = date('j-M-Y | h:i:s');
$user_receiver = $_POST['user_receiver'];
$update = mysqli_query($koneksi, "UPDATE tiket set tiket_id='$tiket_id',
96
user_send='$user_send',assign_time='$assign_time',user_receiver='$user_receiver',
status='Waiting' WHERE tiket_id='$tiket_id'") or die(mysqli_error());
if($update){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
tiket berhasil di update.</div></center>';
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data tiket gagal di simpan ! Mohon periksa ulangi
kembali</div></center>';
} header("location:index.php?app=tiket_list"); }
$id = $_GET['id'];
$sql = mysqli_query($koneksi, "SELECT * FROM tiket WHERE tiket_id='$id'");
while($r=mysqli_fetch_assoc($sql)){
$sql2=mysqli_query($koneksi, "SELECT * FROM user WHERE
region='".$_SESSION['region']."' AND level='Field Engineer'");
if($_SESSION['level']=='Administrator'){
$sql2=mysqli_query($koneksi, "SELECT * FROM user WHERE level='Leader Area' or
level='Field Engineer' ORDER BY level ASC"); } ?> </style>
<div class="content">
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Kirim Tiket</h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p><center>
<div class="form-group">
<label class="control-label">Status sekarang :
<?php if($r['status'] == 'New'){
echo '<span class="label label-warning">New</span>'; }
97
else if ($r['status'] == 'Waiting' ){
echo '<span class="label label-default">Waiting</span>'; }
else if ($r['status'] == 'Processed' ){
echo '<span class="label label-info">Processed</span>'; }
else if ($r['status'] == 'Pending' ){
echo '<span class="label label-danger">Pending</span>'; }
else if ($r['status'] == 'Resolve' ){
echo '<span class="label label-success">Resolve</span>'; } ?><small></label><p> Klik
pilih pada sisi kiri untuk memilih nama penerima tiket !!!</small></p><p>
</div>
<div class="row">
<div class="col-lg-12">
<form action="#" method="POST">
<table width="100%" class="table table-hover table-condensed table-border">
<thead><tr>
<th>Pilih</span></th>
<th>Region</th>
<th>Nama Lengkap</th>
<th>Level</th>
<th>Status</th></tr></thead>
<?php while($rows=mysqli_fetch_array($sql2)){ ?>
<tr>
<td><input type="hidden" name="tiket_id" value="<?php echo $r['tiket_id'] ; ?>">
<input type="hidden" name="user_send" value="<?php echo $_SESSION['user_id'] ; ?>">
<button class="btn btn-sm btn-success" type="submit" name="user_receiver"
value="<?php echo $rows['user_id'];?>" id="user_receiver">Pilih</button> </form> </td>
<td><?php echo $rows['region']?></td>
<td><?php echo $rows['nama']?></td>
<td><?php echo $rows['level']?></td>
98
<td><?php echo $rows['status']?></td></tr><?php } ?>
</table></div></div></div></div></div></div></div>
<?php } ?>
16. Halaman Rubah Status Tiket
<?php empty( $app ) ? header('location:../index.php') : ''
include "koneksi.php";
if(isset($_POST['replied'])){
$tiket_id = $_POST['tiket_id'];
$update = mysqli_query($koneksi, "UPDATE tiket set status='Replied' WHERE
tiket_id='$tiket_id'") or die(mysqli_error());
if($update){ $_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-
alert">Data tiket berhasil di update.</div></center>';
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data tiket gagal di simpan ! Mohon periksa ulangi
kembali</div></center>'; }
header("location:index.php?app=tiket_list"); }
if(isset($_POST['processed'])){
$tiket_id = $_POST['tiket_id'];
$time_start = date('j-M-Y | h:i:s');
$update = mysqli_query($koneksi, "UPDATE tiket set time_start='$time_start',
status='Processed' WHERE tiket_id='$tiket_id'") or die(mysqli_error());
if($update){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
tiket berhasil di update.</div></center>';
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
99
id="success-alert">Ups, Data tiket gagal di simpan ! Mohon periksa ulangi
kembali</div></center>'; }
header("location:index.php?app=tiket_list"); }
if(isset($_POST['resolve'])){
$tiket_id = $_POST['tiket_id'];
$time_finish = date('j-M-Y | h:i:s');
$update = mysqli_query($koneksi, "UPDATE tiket set
time_finish='$time_finish',
status='Resolve' WHERE tiket_id='$tiket_id'") or die(mysqli_error());
if($update){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
tiket berhasil di update.</div></center>'; }else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data tiket gagal di simpan ! Mohon periksa ulangi
kembali</div></center>';
} header("location:index.php?app=tiket_resolve"); }
if(isset($_POST['pending'])){
$tiket_id = $_POST['tiket_id'];
$time_finish = date('j-M-Y | h:i:s');
$update = mysqli_query($koneksi, "UPDATE tiket set time_finish='$time_finish',
status='Pending' WHERE tiket_id='$tiket_id'") or die(mysqli_error());
if($update){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
tiket berhasil di update.</div></center>';
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data tiket gagal di simpan ! Mohon periksa ulangi
kembali</div></center>'; }
header("location:index.php?app=tiket_pending"); }
100
if(isset($_POST['report'])){
$tiket_no = $_GET['tiket_no'];
header("location:index.php?app=report_create&id=$tiket_no"); }
$id = $_GET['id'];
$sql = mysqli_query($koneksi, "SELECT * FROM tiket WHERE tiket_no='$id'");
$sql1 = mysqli_query($koneksi, "SELECT tiket_no, fe_report FROM report WHERE
tiket_no='$id'");
$row=mysqli_fetch_array($sql1);
while($r=mysqli_fetch_array($sql)) { ?>
<section class="content-header">
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Status Tiket</h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<form action="#" method="POST">
<input class="form-control" type="hidden" name="tiket_id" value="<?php echo
$r['tiket_id']?>"> <center>
<div class="form-group">
<label class="control-label">Status Tiket :
<?php
if($r['status'] == 'New'){
echo '<span class="label label-warning">New</span>'; }
else if ($r['status'] == 'Waiting' ){
echo '<span class="label label-default">Waiting</span>'; }
else if ($r['status'] == 'Replied' ){
echo '<span class="label label-default">Replied</span>'; }
else if ($r['status'] == 'Processed' ){
101
echo '<span class="label label-info">Processed</span>'; }
else if ($r['status'] == 'Pending' ){
echo '<span class="label label-danger">Pending</span>'; }
else if ($r['status'] == 'Resolve' ){
echo '<span class="label label-success">Resolve</span>'; } ?>
<small></label><?php
if($r['tiket_no'] == $row['tiket_no']){
echo '<br>Maaf nomor tiket sudah dibuatkan report dengan nomor <a
href="index.php?app=user_select&id='.$row['fe_report'].'"><h2>'.$row['fe_report'].'</a>';
} else if($r['status']){ ?>
<p>Klik menu dibawah ini untuk perubahan status tiket anda !!!</small></p><p>
<?php if($r['status'] == 'Waiting' ){ ?>
<button class="btn btn-sm btn-info" type="submit" name="replied">Replied</button>
<?php } if($r['status'] == 'Replied' ){ ?>
<button class="btn btn-sm btn-info" type="submit" name="processed">Processed</button>
<?php } if($r['status'] == 'Processed' ){ ?>
<button class="btn btn-sm btn-success" type="submit" name="resolve">Resolve</button>
<button class="btn btn-sm btn-danger" type="submit" name="pending">Pending</button>
<?php } if($r['status'] == 'Resolve' ){ ?>
<a href="index.php?app=report_create&id=<?php echo $r['tiket_no'];?>" title="Create
Report"><span class="btn btn-sm btn-info" name="create_report">Create
Report</span></a>
<?php } } } ?><p></div></center></div></form><br></div></div></section>
17. Halaman Form Buat Report
<?php empty( $app ) ? header('location:../index.php') : '' ;
include ("koneksi.php");
if(isset($_POST['simpan_report'])){
102
$report_id = $_POST['report_id'];
$tiket_no = $_POST['tiket_no'];
$mesin_id = $_POST['mesin_id'];
$tgl_report = date("j-M-y");
$user_id = $_POST['user_id'];
$fe_report = $_POST['fe_report'];
$pm_report = $_POST['pm_report'];
$lampiran = $_POST['lampiran'];
$time_created = date("j-M-Y | h:i:s");
$cek = mysqli_query($koneksi, "SELECT * FROM report WHERE tiket_no='$tiket_no'");
if(mysqli_num_rows($cek) == 0){
$insert = mysqli_query($koneksi, "INSERT INTO report (report_id, tiket_no, mesin_id,
tgl_report, user_id, fe_report, pm_report, lampiran, time_created) VALUES ('$report_id',
'$tiket_no', '$mesin_id', '$tgl_report', '$user_id', '$fe_report', '$pm_report', '$lampiran',
'$time_created')") or die(mysqli_error());
if($insert){
$_SESSION['pesan'] = '<center><div class="alert alert-success" id="success-alert">Data
Tiket '.$tiket_no.' Berhasil Di Simpan.</div></center>';
}else{
$_SESSION['pesan'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">Ups, Data Tiket Gagal Di simpan !</div></center>'; }
}else{
$_SESSION['error'] = '<center><div class="alert alert-danger alert-dismissable"
id="success-alert">No Tiket Sudah Ada..!</div></center>'; }
header("location:index.php?app=report_list"); }
$id = $_GET['id'];
$sql1 = mysqli_query($koneksi, "SELECT * FROM tiket WHERE tiket_no='$id'");
while($r=mysqli_fetch_assoc($sql1)){ ?>
<section class="content">
103
<div class="row">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Create Report</h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<form action="#" method="POST"><center>
<input type="hidden" name="report_id">
<input type="hidden" name="tiket_no" value="<?php echo $r['tiket_no']; ?>">
<input type="hidden" name="mesin_id" value="<?php echo $r['mesin_id']; ?>">
<input type="hidden" name="user_id" value="<?php echo $_SESSION['user_id'];
?>"><p>
<div class="form-group">
<label class="control-label">
INPUT NOMOR REPORT ANDA </label><p><small>
FE REPORT WAJIB DIISI !!! </small></div><p>
<div class="col-lg-6">
<input type="text" name="fe_report" class='form-control' placeholder="FE Report anda..."
required></div>
<div class="col-lg-6">
<input type="text" name="pm_report" class='form-control' placeholder="PM Report
anda..."></div>
<div class="col-lg-12 form-group"><br>
Pilih Lampiran (jika menggunakan)<p><p><center>
<textarea class='form-control' name="lampiran" placeholder="lampiran apa
saja..."></textarea></div><p>
<input type="hidden" name="status" value="Unsend">
<footer class="footer"><center><br>
<button type="submit" name="simpan_report" value="Simpan" class="btn btn-
104
info">Simpan</button>
<button type="" name="simpan" value="Simpan" class="btn btn-
danger">Batal</button></center></footer><br></div></div></div></section>
<?php } ?>
18. Halaman Daftar Report
<?php
empty( $app ) ? header('location:../index.php') : '' ; ?>
<style>.table tr th{ background : #9fc9f9; color:white; } </style>
<section class="content"><div class="row"><div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Daftar Report | <small> All </small></h3></div>
<div class="panel-body no-padding">
<div class="col-lg-12"><p>
<?php if($_SESSION['level']=='Administrator') {
$sql = mysqli_query($koneksi, "SELECT `user`.user_id, `user`.nama, `user`.region,
tiket.tiket_no, report.tiket_no, report.report_id, report.user_id, report.mesin_id,
report.tgl_report, report.fe_report, report.pm_report, tiket.action, tiket.mesin_id,
tiket.subject, mesin.mesin_id, mesin.customers, mesin.lokasi, mesin.ssb, mesin.type
FROM report
INNER JOIN `user` ON `user`.user_id = report.user_id
INNER JOIN tiket ON tiket.tiket_no = report.tiket_no AND tiket.mesin_id =
report.mesin_id
INNER JOIN mesin ON mesin.mesin_id = report.mesin_id
WHERE report_id ORDER BY mesin.customers ASC"); }
if($_SESSION['level']=='Leader Area') {
$sql = mysqli_query($koneksi, "SELECT `user`.user_id, `user`.nama, `user`.region,
tiket.tiket_no, report.tiket_no, report.report_id, report.user_id, report.mesin_id,
105
report.tgl_report, report.fe_report, report.pm_report, tiket.action, tiket.mesin_id,
tiket.subject, mesin.mesin_id, mesin.customers, mesin.lokasi, mesin.ssb, mesin.type
FROM report
INNER JOIN `user` ON `user`.user_id = report.user_id
INNER JOIN tiket ON tiket.tiket_no = report.tiket_no AND tiket.mesin_id =
report.mesin_id
INNER JOIN mesin ON mesin.mesin_id = report.mesin_id
WHERE `user`.region = '".$_SESSION['region']."' ORDER BY mesin.customers ASC"); }
else if ($_SESSION['level']=='Field Engineer') {
$sql = mysqli_query($koneksi, "SELECT
`user`.user_id, `user`.nama, `user`.region, tiket.tiket_no, report.tiket_no, report.report_id,
report.user_id, report.mesin_id, report.tgl_report, report.fe_report, report.pm_report,
tiket.user_created, tiket.action, tiket.mesin_id, tiket.subject, mesin.mesin_id,
mesin.customers, mesin.lokasi, mesin.ssb, mesin.type FROM report
INNER JOIN `user` ON `user`.user_id = report.user_id
INNER JOIN tiket ON tiket.tiket_no = report.tiket_no AND tiket.mesin_id =
report.mesin_id
INNER JOIN mesin ON mesin.mesin_id = report.mesin_id
WHERE report.user_id='".$_SESSION['user_id']."' ORDER BY report.report_id ASC"); }
else if ($_SESSION['level']=='Customers') {
$sql = mysqli_query($koneksi, "SELECT `user`.user_id, `user`.nama, `user`.region,
tiket.tiket_no, report.tiket_no, report.report_id, report.user_id, report.mesin_id,
report.tgl_report, report.fe_report, report.pm_report, tiket.user_created, tiket.action,
tiket.mesin_id, tiket.subject, mesin.mesin_id, mesin.customers, mesin.lokasi, mesin.ssb,
mesin.type FROM report
INNER JOIN `user` ON `user`.user_id = report.user_id
INNER JOIN tiket ON tiket.tiket_no = report.tiket_no AND tiket.mesin_id =
report.mesin_id
INNER JOIN mesin ON mesin.mesin_id = report.mesin_id
106
WHERE tiket.user_created='".$_SESSION['user_id']."' ORDER BY report.report_id
ASC"); }
if(mysqli_num_rows($sql) == 0){
echo '<div class="alert alert-danger"><center>Untuk saat ini belum ada data
report.</center></div>'; } else { ?>
<table width="100%" id='mytable' class="table table-hover table-condensed">
<thead><tr>
<th>No</th>
<th>ACT</th>
<th>Bank</th>
<th>Subject</th>
<th>Lokasi</th>
<th>ID</th>
<th>SSB</th>
<th>Type</th>
<th>Tgl Report</th>
<th>FE Report</th>
<?php if($_SESSION['level']=='Administrator' or ($_SESSION['level']=='Leader
Area')){?>
<th>Field Engineer</th><?php } ?>
<th>PM Report</th>
<?php if($_SESSION['level']=='Administrator' or ($_SESSION['level']=='Leader Area') or
($_SESSION['level']=='Field Engineer')){?>
<th>Action</th><?php } ?></tr></thead>
<?php }
$no =0;
while($r = mysqli_fetch_assoc($sql)){
$no++; ?>
<tr>
107
<td><?php echo $no; ?></td>
<td><a href="index.php?app=tiket_select&id=<?php echo $r['tiket_no'];?>" title="Detail
ticket"><?php
if($r['action'] == 'CM') { echo '<span class="label label-info">CM</span>'; }
else if ($r['action'] == 'PM' ){
echo '<span class="label label-warning">PM</span>'; }
else if ($r['action'] == 'AC' ){ echo '<span class="label label-danger">AC</span>';}
else if ($r['action'] == 'UP' ){echo '<span class="label label-success">UP</span>'; }
?></a></td>
<td><?php echo $r['customers']?></td>
<td><?php echo $r['subject']; ?></td>
<td><?php echo $r['lokasi']; ?></td>
<td><?php echo $r['mesin_id']; ?></td>
<td><?php echo $r['ssb']; ?></td>
<td><?php echo $r['type']; ?</td>
<td><?php echo $r['tgl_report']; ?</td>
<td><?php echo $r['fe_report']; ?></td>
<?php if($_SESSION['level']=='Administrator' or ($_SESSION['level']=='Leader Area'))
{?>
<td><?php
$sql3 = mysqli_query($koneksi, "SELECT user_id, nama FROM user");
while($row=mysqli_fetch_array($sql3)){
if($r['user_id'] == $row['user_id']){
echo ''.$row['nama'].''; }}} ?> </td>
<td><?php echo $r['pm_report']; ?></td>
<?php if($_SESSION['level']=='Administrator' or ($_SESSION['level']=='Leader Area' or
($_SESSION['level']=='Field Engineer'))){?>
<td><a href="index.php?app=report_edit&id=<?php echo $r['report_id'];?>" class='btn
btn-xs btn-success'><span class='fa fa-edit' title='Edit'></span></a>
108
<?php } if($_SESSION['level']=='Administrator' or ($_SESSION['level']=='Leader
Area')){?>
<a href="#" onclick="confirm_modal('app/tiket_delete.php?tiket_id=<?php echo
$r['tiket_id']; ?>');" class="btn btn-xs btn-danger"><span class="fa fa-trash"
title='Hapus'></span></a></td>
<?php }} ?> </tr></table></div></div></div></div></section>
<script>$(document).ready(function() {
$('#mytable').DataTable({
responsive: true, "ordering": false }); }); </script>
<script>$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500); }); </script>
4.4. Testing
Pembahasan mengenai pengujian sistem yang dibuat dengan menggunakan
black box testing untuk pengujian proses input dan output pada Perancangan Sistem
Informasi Tiket Helpdesk adalah sebagai berikut :
Tabel 4.8
Hasil Pengujian Black Box Testing Form Login User
No Skenario Pengujian Test Case Diharapkan Hasil Kesimpulan
1. Mengosongkan semua
isian data login pada
login username, lalu
langsung kllik tombol
“login”
Username:
(Kosong)
Password:
(Kosong)
Sistem akan
menolak akses
login, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
2. Hanya mengisi data
username dan
mengosongkan
password, lalu klik
tombol “login”
Username:
naharcool
Password:
(Kosong)
Sistem akan
menolak akses
login, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
3. Hanya mengisi data
Password dan
mengosongkan
username id, lalu klik
tombol “login”
Username:
(Kosong)
Password:
admin
Sistem akan
menolak akses
login, dan
menampilkan pesan
“Please fill out this
Sesuai
harapan
Valid
109
field”
4. Mengisi data
username dan
password dengan
salah, lalu klik tombol
“login”
Username:
(acak)
Password:
(acak)
Sistem akan
menolak akses
login, dan
menampilkan pesan
”Maaf ada yang
salah ! Periksa
kembali username
dan password”
Sesuai
harapan
Valid
5. Mengisi data
username dan
password dengan
benar, lalu klik
tombol “login”
Username:
naharcool
Password:
admin
Sistem akan
menerima akses
login, dan kemudian
masuk ke halaman
utama
Sesuai
harapan
Valid
Sumber : Diolah Sendiri, 2017
Tabel 4.9
Hasil Pengujian Black Box Testing Form Region
No Skenario Pengujian Test Case Diharapkan Hasil Kesimpulan
1. Mengosongkan isian
data tambah region
pada form tambah
region, lalu langsung
kllik tombol “Tambah
Region”
Kode Region:
(Kode Acak)
Nama Region:
(Kosong)
Sistem akan menolak
akses pendambahan
data, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
2. Mengisi data nama
region, lalu klik
tombol “Tambah
Region”
Kode Region:
(Kode Acak)
Nama Region:
(Jakarta Pusat)
Sistem akan
menerima akses
tambah region,
kemudian masuk ke
halaman daftar region
dan menampilkan
pesan “ Data Region
berhasil disimpan”
Sesuai
harapan
Valid
Sumber : Diolah Sendiri, 2017
Tabel 4.10
Hasil Pengujian Black Box Testing Form Tipe Mesin
No. Skenario
Pengujian Test Case Diharapkan Hasil Kesimpulan
110
1. Mengosongkan
isian data
tambah tipe
pada form
tambah tipe,
lalu langsung
kllik tombol
“Tambah Tipe”
Kode Tipe Mesin:
(Kosong)
Nama Tipe Mesin:
(Kosong)
Sistem akan menolak
akses pendambahan
data, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
2. Mengisi data
nama tipe, lalu
klik tombol
“Tambah Tipe”
Kode Tipe Mesin:
(P280)
Nama Tipe Mesin:
(ProCash 280)
Sistem akan menerima
akses Tambah Tipe,
kemudian masuk ke
halaman daftar tipe
mesin dan
menampilkan pesan “
Data Tipe Mesin
berhasil disimpan”
Sesuai
harapan
Valid
Sumber : Diolah Sendiri, 2017
Tabel 4.11
Hasil Pengujian Black Box Testing Form Tambah User
No Skenario Pengujian Test Case Diharapkan Hasil Kesimpulan
1. Mengosongkan
semua isian data
form pada tambah
user, lalu langsung
kllik tombol
“Tambah User”
Level : Pilih
( Kosong )
Nama Lengkap :
( Kosong )
E-Mail :
( Kosong )
Region :
( Kosong )
Sistem akan menolak
akses Form User, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
2. Mengisi data level,
nama lengkap,
email, dan region
(region pilih dari
yang sudah di buat
sebelumnya) lalu
klik tombol
“Tambah User”
Level : Pilih
1. Leader Area
2. Field Engineer
Nama Lengkap :
Aris Munandar
E-Mail :
rhoghest22@gmail.
com
Region :
RO-01
Sistem akan
menerima akses
create, memasukan
level, nama lengkap,
email, region,
password otomatis
(Wincor1234),
tanggal daftar, user ip,
status, perusahaan dan
photo otomatis
(kosong.jpg)
kemudian masuk ke
halaman Daftar
Office Area dan
menampilkan pesan “
Penambahan user
berhasil…!!!”
Sesuai
harapan
Valid
Sumber : Diolah Sendiri, 2017
111
Tabel 4.12
Hasil Pengujian Black Box Testing Form Tambah Mesin
No Skenario
Pengujian Test Case Diharapkan Hasil Kesimpulan
1. Mengosongkan
semua isian data
form pada tambah
mesin, lalu
langsung kllik
tombol “Tambah
Mesin”
ID Mesin :
( Kosong )
Customers :
( Kosong )
Lokasi :
( Kosong )
SSB :
( Kosong )
Type Mesin :
( Kosong )
PIC :
( Kosong )
Alamat :
( Kosong )
Sistem akan menolak
akses form tambah
mesin, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
2. Mengisi semua
data pada form
tambah mesin lalu
klik tombol
“Tambah Mesin”
ID Mesin :
345D
Customers :
BCA
Lokasi :
Season City
SSB :
56BM111222
Type Mesin :
P280
PIC :
Armorindo
Alamat :
Jl. Penjaringan
Timur No.22 Mall
Season City
Sistem akan menerima
akses penambahan data
mesin, kemudian
otomatis memasukan
field created_by (user
yang menambahkan)
dan time_created
(waktu menambahkan)
ke tabel mesin pada
database lalu masuk
halaman Daftar Mesin
dan menampilkan
“Penambahan mesin
berhasil…!!!”
Sesuai
harapan
Valid
Sumber : Diolah Sendiri, 2017
Tabel 4.13
Hasil Pengujian Black Box Testing Form Tambah Tiket
No Skenario Pengujian Test Case Diharapkan Hasil Kesimpulan
1. Mengosongkan
semua isian data
form pada tambah
user, lalu langsung
kllik tombol
“Tambah User”
Level : Pilih
( Kosong )
Nama Lengkap :
( Kosong )
E-Mail :
( Kosong )
Region :
( Kosong )
Sistem akan menolak
akses Form User, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
2. Mengisi data level,
nama lengkap,
email, dan region
Level : Pilih
1. Leader Area
2. Field Engineer
Sistem akan
menerima akses
create, memasukan
Sesuai
harapan
Valid
112
(region pilih dari
yang sudah di buat
sebelumnya) lalu
klik tombol
“Tambah User”
Nama Lengkap :
Aris Munandar
E-Mail :
rhoghest22@gmail.
com
Region :
RO-01
level, nama lengkap,
email, region,
password otomatis
(Wincor1234),
tanggal daftar, user ip,
status, perusahaan dan
photo otomatis
(kosong.jpg)
kemudian masuk ke
halaman Daftar
Office Area dan
menampilkan pesan “
Penambahan user
berhasil…!!!”
Sumber : Diolah Sendiri, 2017
Tabel 4.14
Hasil Pengujian Black Box Testing Form Tambah Report
No Skenario Pengujian Test Case Diharapkan Hasil Kesimpulan
1. Mengosongkan
semua isian data
form pada tambah
user, lalu langsung
kllik tombol
“Tambah Report”
FE Report:
( Kosong )
PM Report :
( Kosong )
Lampiran :
( Kosong )
Sistem akan menolak
akses Form Report, dan
menampilkan pesan
“Please fill out this
field”
Sesuai
harapan
Valid
2. Mengisi data FE
Report lalu klik
tombol “Tambah
User”
FE Report:
612345
PM Report :
( Kosong)
Lampiran :
( Kosong )
Sistem akan menerima
akses create, FE Report
kemudian masuk ke
halaman Daftar Report
dan menampilkan pesan
“ Penambahan Report
berhasil…!!!”
Sesuai
harapan
Valid
3. Mengisi data FE
Report, PM Report
lalu klik tombol
“Tambah User”
FE Report:
612345
PM Report :
512346
Lampiran :
( Kosong )
Sistem akan menerima
akses create, FE
Report, dan PM Report
kemudian masuk ke
halaman Daftar Report
dan menampilkan pesan
“ Penambahan Report
berhasil…!!!”
Sesuai
harapan
Valid
4. Mengisi data FE
Report, PM Report,
dan memilih
Lampiran lalu klik
tombol “Tambah
User”
FE Report:
612345
PM Report :
512346
Lampiran : Pilih
1. BAST
2. Go-Live
Sistem akan menerima
akses create, FE
Report, PM Report, dan
Lampiran kemudian
masuk ke halaman
Daftar Report dan
menampilkan pesan “
Penambahan Report
berhasil…!!!”
Sesuai
harapan
Valid
Sumber : Diolah Sendiri, 2017
113
Tabel 4.16
Hasil Pengujian Tampilan Perancangan Sistem Informasi Tiket Helpdesk pada
PT. Wincor Nixdorf Indonesia
No Nama Pengujian Firefox Chrome Opera Explorer
1 Tampilan Berjalan Baik Berjalan Baik Berjalan Baik Berjalan Baik
2 Proses Input Berjalan Baik Berjalan Baik Berjalan Baik Berjalan Baik
3 Proses Edit Berjalan Baik Berjalan Baik Berjalan Baik Berjalan Baik
4 Proses Delete Berjalan Baik Berjalan Baik Berjalan Baik Berjalan Baik
5 Proses Update Berjalan Baik Berjalan Baik Berjalan Baik Berjalan Baik
Sumber : Diolah Sendiri, 2017
4.5. Support
4.5.1. Publikasi Web
Publikasi Perancangan Sistem Informasi Tiket Helpdesk pada PT. Wincor
Nixdorf Indonesia dilakukan dengan mempromosikannya melalui orang-orang yang
terlibat langsung pada perbaikan mesin ATM. Hal ini dilakukan untuk
mempermudah bagi Leader Area, Field Engineer maupun Customers agar dapat
menunjang peningkatan proses perbaikan mesin ATM PT. Wincor Nixdorf
Indonesia.
4.5.2. Spesifikasi Hardware dan Software
a. Spesifikasi Hardware
Adapun spesifikasi perangkat keras yang digunakan untuk Implementasi
Perancangan Sistem Informasi Tiket Helpdesk pada PT. Wincor Nixdorf Indonesia
tersebut sebagai berikut :
1. Laptop HP F000AU dengan Processor AMD A4-1200 CPU 1.00Ghz
2. Ram 2 GB, HDD 320GB
3. Display 10”
114
b. Spesifikasi Software
Adapun spesifikasi perangkat lunak yang digunakan untuk implementasi
Perancangan Sistem Informasi Tiket Helpdesk pada PT. Wincor Nixdorf Indonesia
tersebut sebagai berikut :
1. Sistem Operasi Windows 7 32 Bit
2. Notepad ++ sebagai Editor
3. Xampp v3.2.1
4. Php & mySql
5. Web Browser Opera, Mozilla Firefox dan Chrome
4.6. Spesifikasi Dokumen Sistem Usulan
Spesifikasi sistem usulan yang dimaksudkan adalah Daftar Report dari
Perancangan Sistem Informasi Tiket Helpdesk pada PT. Wincor Nixdorf Indonesia
Berbasis Web. Lampiran dari dokumen sistem usulan adalah sebagai berikut :
a. Nama dokumen : Laporan FE Report
Fungsi : Sebagai bukti laporan pengerjaan
Sumber : User ( Level = Field Engineer )
Tujuan : User ( Level = Leader Area dan Administrator )
Media : Sistem Informasi Tiket Helpdesk
Frekuensi : Setiap ada tiket perbaikan mesin
Format : Lampiran C
115
BAB V
PENUTUP
5.1 Kesimpulan
Kesimpulan dari skripsi yang berjudul Perancangan Sistem Informasi Tiket
Helpdesk pada PT. Wincor Nixdorf Indonesia Berbasis Web sebagai berikut :
1. Sistem Informasi Tiket Helpdesk ini dibangun untuk mempercepat dan
mempermudah karyawan dalam memberikan laporan sehingga dapat
mengefesiensikan waktu dalam proses pekerjaannya.
2. Sistem Informasi Tiket Helpdesk ini dapat membantu mencari dan
mengetahui masalah yang ada serta memberikan solusi alternative terhadap
permasalahan yang dihadapi.
3. Sistem Informasi Tiket Helpdesk ini dapat memberikan Pelayanan tiket
helpdesk yang bisa digunakan oleh client menggunakan email atau langsung
melalui sistem informasi tiket helpdesk berbasis web perusahaan.
5.2 Saran
Dalam membangun Aplikasi Perancangan Sistem Informasi Tiket Helpdesk
pada PT. Wincor Nixdorf Indonesia Berbasis Web ini masih belum sempurna dan
masih banyak kekurangannya. Oleh karena itu perlu dilakukan pengembangan dan
penyempurnaan lebih lanjut. Adapun saran agar aplikasi ini lebih optimal dan lebih
menarik adalah sebagai berikut:
116
1. Pembuatan website ini masih terbilang sederhana, terutama dari segi
tampilan dan keamanan, ada baiknya untuk tahap pengembangan sistem
baru diharapkan dibuat semenarik mungkin dan dikembangkan lebih lanjut
dengan lebih cepat respon lagi sehingga dapat lebih berguna bagi
pengelola dan pengguna website tersebut.
2. Agar website ini dapat ditampilkan dengan optimal maka diperlukan
adanya dukungan perangkat keras dan perangkat lunak yang memadai.
3. Dengan adanya laporan tugas akhir yang telah dibuat ini diharapkan
perusahaan yang bersangkutan dapat memanfaatkan program ini.
DAFTAR PUSTAKA
Abdul Kadir. 2013. “Pengertian MySQL”. Buku Pintar Programer Pemula.
Yogyakarta. Mediakom.
Ariesto Hadi Sutopo. 2007. Multimedia interaktif dengan flash. Graha Ilmu:
Yogyakarta
Beisse, Fred. 2013. “A Guide to Computer User Support for Help Desk & Support
Specialist”, Edisi ke-5. USA. Course Technology.
Bunafit Nugroho. 2004. “Aplikasi Pemograman Web Dinamis dengan PHP dan
MySQL”. Yogyakarta : Gava Media.
Indarti, Yulia 2012. “Rancang Bangun Helpdesk pada PT.Palyja”.
Jakarta. UIN Syarif Hidayatullah Jakarta
Iwan, Purwanto. (2011). “Desain Sistem Helpdesk Troubleshooting Hardware dan
Software Online”. Bandar Lampung: STMIK Teknokrat Lampung.
Laudon, Kenneth C. & Laudon Jane. 2012. “Management Information System :
Managing the Digital Firm”. New Jersey : Pearson Prentice Hall.
Moh. Saefudin. 2011. “Aplikasi Ticketing Helpdesk Kantor Dengan PHP dan
MySQL”. STMIK Jakarta STI&K. Journal
Napitupulu, D.B. 2008. “Perancangan Sistem Informasi Pelatihan Koprasi Uji
Mutu Berbasis Web”. MTI-UI, Tangerang.
Putih, Tim Air. 2010. “Modul Panduan Administrasi Jaringan Linux”.
Jakarta:Air Putih.
Qoyyimah. 2011. “Rancang Bangun Helpdesk Ticketing System”. Universitas Islam
Negeri Syarif Hidayatullah. Jakarta. Journal
Sibero, Alexander F.K. 2011. “Kitab Suci Web Programming”. Yogyakarta :
Mediakom.
Stephannie Chintalois. 2015. “ Perancangan Aplikasi Helpdesk Ticketing System
Berbasis Web pada Wilmar Group”. STMIK TIME MEDAN. Journal
A. Sutarman. 2007. “Membangun Aplikasi Web dengan PHP & MySQL”.
Yogyakarta. Graha Ilmu.
Sutanta, Edhy. 2011. Basis Data Dalam Tinjauan Konseptual. Yogyakarta : Andi
Offset
Rizky, Soetam. 2011. Konsep Dasar Rekayasa Perangkat Lunak. Jakarta. Presentasi
Pustaka
Sumber : PT. Wincor Nixdorf Indonesia diolah sendiri, 2017
Lampiran A Spesifikasi Bentuk Dokument Masukan
Sumber : PT. Wincor Nixdorf Indonesia diolah sendiri, 2017
Lampiran B1 Dokumen Field Engineer Report
Sumber : PT. Wincor Nixdorf Indonesia diolah sendiri, 2017
Lampiran B2 Dokumen Rekapan
Sumber : Sistem Informasi Tiket Helpdesk diolah sendiri, 2017
Lampiran C Laporan FE Report