• Tidak ada hasil yang ditemukan

SISTEM INFORMASI TERINTEGRASI PADA PT. GRAHA SARANA GRESIK.

N/A
N/A
Protected

Academic year: 2017

Membagikan "SISTEM INFORMASI TERINTEGRASI PADA PT. GRAHA SARANA GRESIK."

Copied!
85
0
0

Teks penuh

(1)

SISTEM INFORMASI TERINTEGRASI

PADA PT. GRAHA SARANA GRESIK

SKRIPSI

Oleh:

ARLITA RETYANDIAS NPM: 0634010106

K e p a d a

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR

(2)

YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

FAKULTAS TEKNOLOGI INDUSTRI

________________________________________________________________________________________________________________________

HALAMAN PENGESAHAN

Mahasiswa dengan nama dan NPM yang tertera di bawah ini:

Nama : Arlita Retyandias

NPM : 0634010106

Progdi : Teknik Informatika

Dengan ini telah melaksanakan Ujian Negara Lisan pada tahun akademik 2009/2010.

Judul Skripsi:

SISTEM INFORMASI TERINTEGRASI PADA PT. GRAHA SARANA GRESIK

Menyetujui,

Dosen Pembimbing I

M. Irwan Afandi, ST, MSc. NPT. 37607 070 220

Dosen Pembimbing II

Doddy Riwandono, S.Kom NPT. 37805 070 218

Ketua Program Studi Teknik Informatika

Basuki Rahmat, S.Si, MT NPT. 36907 060 209

D E K A N

Fakultas Teknologi Industri

(3)

YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

FAKULTAS TEKNOLOGI INDUSTRI

________________________________________________________________________________________________________________________

SKRIPSI

SISTEM INFORMASI TERINTEGRASI PADA PT. GRAHA SARANA GRESIK

Disusun oleh:

ARLITA RETYANDIAS NPM: 0634010106

Telah dipertahankan dan diterima di hadapan Tim Penguji Tugas Akhir Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur Pada tanggal 11 Juni 2010

Susunan Tim Penguji:

1. Penguji I,

Ir. Purnomo Edy Sasongko, MP NPT. 030 194 662

2. Penguji II,

Fetty Tri Anggraeny, S.Kom NPT. 38202 060 208

3. Penguji III,

(4)

YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

FAKULTAS TEKNOLOGI INDUSTRI

________________________________________________________________________________________________________________________

LEMBAR BEBAS REVISI

Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut:

Nama : Arlita Retyandias NPM : 0634010106 Progdi : Teknik Informatika

Telah mengerjakan revisi Tugas Akhir Ujian Lisan Gelombang V, TA. 2009/2010 dengan judul:

SISTEM INFORMASI TERINTEGRASI PADA PT. GRAHA SARANA GRESIK

Dosen Penguji yang memerintahkan revisi:

1. Ir. Purnomo Edy Sasongko, MP

NPT. 030 194 662 ( ……… )

2. Fetty Tri Anggraeny, S.Kom

NPT. 38202 060 208 ( ……… )

3. Yusron Rijal, S.Si, MT

NPT. 0715 067 901 ( ……… )

Mengetahui,

Dosen Pembimbing I

M. Irwan Afandi, ST, MSc. NIP. 37607 070 220

Dosen Pembimbing II

(5)

ARLITA RETYANDIAS (0634010106) SISTEM INFORMASI TERINTEGRASI PADA PT. GRAHA SARANA GRESIK

Dosen Pembimbing I : M. Irwan Afandi, ST, MSc. Dosen Pembimbing II : Doddy Ridwandono, S.Kom

___________________________________________________________________________________________________

ABSTRAK

Perusahaan sekelas PT. Graha Sarana Gresik yang memiliki 10 urusan unit dengan bidang yang berbeda-beda dan total omzet lebih dari 5 miliyar rupiah setiap bulannya seharusnya memiliki suatu sistem informasi utama yang mengintegrasikan sistem informasi yang terdapat di dalam masing-masing urusan unit, sehingga proses penyusunan laporan konsolidasinya dapat dilakukan secara otomatis oleh sistem informasi utama tersebut. Namun dalam kenyataannya, PT. Graha Sarana Gresik belum memiliki sistem informasi utama tersebut. Sehingga proses penyusunan laporan konsolidasi pun harus dilakukan secara manual. Perbedaan bidang yang mencolok antara masing-masing urusan unit menyebabkan proses penyusunan yang dilakukan secara manual tersebut memerlukan waktu yang semakin panjang.

Hal itu mengakibatkan pihak Top Manager harus menunggu hingga akhir bulan untuk mendapatkan laporan konsolidasi, padahal proses pengambilan keputusan tidak bisa selalu menunggu selama itu. Seringkali muncul masalah-masalah urgent yang harus secepatnya diputuskan penyelesaiannya. Namun saat ini belum memungkinkan apabila pihak manajer atau direksi meminta laporan konsolidasi sewaktu-waktu.

Solusi yang dibutuhkan oleh PT. Graha Sarana Gresik adalah sebuah sarana yang mampu menjembatani perbedaan bidang yang mencolok antara masing-masing urusan unit yang ada. Sarana yang mampu mengintegrasikan setiap transaksi yang terjadi dalam masing-masing urusan unit dan mengolahnya menjadi data untuk penyusunan laporan konsolidasi. Sarana yang mampu menyajikan laporan konsolidasi tersebut dengan cepat dan tepat.

Dalam pengerjaan Tugas Akhir ini, sarana yang dibutuhkan di atas dikembangkan dalam bentuk website berupa Sistem Informasi Terintegrasi. Website ini dibangun dengan bahasa pemrograman PHP dan menggunakan Wamp Server 2.0 sebagai web server dan MySQL sebagai database server.

Kata kunci: sistem informasi, integrasi.

(6)

KATA PENGANTAR

Syukur alhamdulillah penulis panjatkan ke hadirat Allah SWT, yang telah

melimpahkah rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan

laporan Tugas Akhir yang berjudul Sistem Informasi Terintegrasi Pada PT. Graha

Sarana Gresik ini dengan baik dan tepat waktu sebagaimana yang telah

ditetapkan..

Pada kesempatan ini, penulis juga ingin mengucapkan terima kasih yang

sebesar-besarnya kepada:

1. Orang tua tercinta atas dukungan moril maupun materil.

2. Elia Patrick Lipesik, S.Kom yang selalu setia mendampingi, membantu,

mendukung dan memberi semangat setiap waktu.

3. Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Indonesia Universitas

Pembangunan Nasional ”Veteran” Jawa Timur.

4. Basuki Rahmat, S.Kom, M.Kom selaku Ketua Jurusan Teknik Informatika

Universitas Pembangunan Nasional ”Veteran” Jawa Timur.

5. M. Irwan Afandy, S.T, M.Sc selaku Dosen Pembimbing I Tugas Akhir.

6. Doddy Ridwanndono, S.Kom selaku Dosen Pembimbing II Tugas Akhir.

7. Seluruh anggota keluarga yang telah memberikan dorongan, baik secara

moril maupun materil, sehingga laporan ini dapat selesai tepat pada

waktunya.

Penulis menyadari adanya keterbatasan kemampuan dan pengetahuan

dalam menyusun laporan ini, sehingga tak lupa penulis memohon maaf yang

sebesar-besarnya kepada semua pihak atas segala kesalahan, baik yang disengaja

(7)

maupun yang tidak disengaja, selama mengerjakan dan menyusun laporan Tugas

Akhir ini.

Akhir kata, penulis berharap semoga laporan Tugas Akhir ini dapat ikut

menunjang perkembangan ilmu pengetahuan dan dapat bermanfaat bagi kita

semua, sehingga untuk saran dan kritik yang bersifat membangun sangat

diharapkan.

Surabaya, 12 Juni 2010

Penulis

(8)

THANKS TO

Pada kesempatan kali ini, aku ingin mengucapkan terima kasih kepada Allah

SWT yang atas rahmat dan limpahan hidayah-Nya sajalah akhirnya aku bisa

menyelesaikan TA ini. Ya Allah, terima kasih banyak atas kemudahan, kelancaran dan

kesempatan indah yang telah Engkau anugerahkan kepada hambamu ini.

Ayah dan Bundaku tercinta, terima kasih banyak atas bantuan moril dan

materil yang telah Ayah dan Bunda berikan. Terima kasih pula atas limpahan kasih

sayang Ayah dan Bunda selama ini.

Elia Patrick Lipesik, S.Kom, yang selalu rajin dan sabar mendorongku untuk

menyelesaikan TA ini. Terima kasih telah rela mengajariku mati-matian sampai larut

malam agar bisa menyelesaikan ujian dengan baik. Terima kasih juga karena selalu

ada saat suntuk dan stress melandaku. Terima kasih telah menemaniku selama ini.

Mbak Chenty, yang selalu sabar dan rela menggantikan tugas-tugasku di

rumah, yang juga telah mengantar dan menemaniku rias ke salon untuk foto ijasah.

Mas Dofan Reo Sandias, S.Kom, yang mau berbagi pengalamannya saat TA dan

terima kasih juga atas masukan dan perhatiannya. Keponakanku tercinta Raihan,

senyummu selalu menghibur tantemu ini saat stress melanda. Mas Rangga yang telah

meluangkan waktu dan tenaga serta skillnya memfotoku untuk foto ijasah. Emak,

Yangti dan Yangkung atas do’anya yang tak pernah putus untukku. Tante-tanteku,

Om-omku dan sepupu-sepuku.

Yoan, Nana, Ririn, Meme dan Tumi, atas pinjaman sepatu dan printernya,

terima kasih juga karena telah menjadi sahabat-sahabatku yang baik. Mbak

Faradillah, S.E yang telah rela mngerjakan tugas kantorku saat aku tidak masuk

karena harus mengurus TA ini. Pak Sofyan Kurniyawan Effendy yang selalu

memberikan ijin tidak masuk kerja untuk mengurus TA ini.

Semua Pihak-pihak yang belum disebutkan namanya disini, Thanks to all...!!!

(9)

v

This book is dedicated to

Elia “Puss” Patrick Lipesik

(10)

DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... ii

THANKS PAGE ... iv

DAFTAR ISI ... vi

DAFTAR GAMBAR ... viii

BAB I PENDAHULUAN……….…….. ……… 1

1.1 Latar Belakang ……….………... 1

1.2 Perumusan Masalah……….……... 3

1.3 Batasan Masalah……….…….... 4

1.4 Sistematika dan Metodologi……….……….…... 4

1.5 Tujuan ………...……….……… 5

1.6 Manfaat ………...………... 6

BAB II LANDASAN TEORI ………..……….. 7

2.1 Sistem Informasi Terintegrasi ……...……….………..……. 7

2.2. Data Flow Diagram ……….. 9

2.3 PHP ..……….…………..…... 12

2.4 CMS ………...….………... ………. 18

2.5 Wamp Server………...….………... …… 19

2.4 MySQL………...….………... …………. 20

BAB III ANALISA DAN PERANCANGAN SISTEM ………... 23

3.1 Data Flow Diagram ………..………...……….. 23

3.2 Data Model ………. 28

3.2 Desain User Interface ……… 33

BAB IV HASIL DAN PEMBAHASAN………...………... 36

4.1 Website ..……… 36

4.1.1 Halaman Utama ………. 36

4.1.2 Halaman User………... 39

4.1.3 Halaman Admin …………... 44

4.1.4 Koneksi Database……... 45

4.1.5 Secutiry …………... 46

(11)

4.2 Database ...………... 47

4.2.1 Menu Analisa ………... 47

4.2.2 Menu Laporan dan Advanced Report ... 48

4.2.3 Menu Transaksi…………... 49

4.2.4 Menu Biaya ……... 50

4.2.5 Menu Profile …... 51

BAB V UJI COBA DAN EVALUASI ……….. 52

5.1 Uji Coba Sistem ………. 52

5.2 Evaluasi Sistem ……….. 60

5.2.1 Form Login ………... 60

5.2.2 Form Pengaturan Profile …... 61

BAB VI KESIMPULAN DAN SARAN ………..………... 64

6.1 Kesimpulan ………... 64

6.2 Saran ..………... 64

DAFTAR PUSTAKA………. 66

(12)

DAFTAR GAMBAR

Gambar 2.1 Simbol Process ...

Gambar 2.2 Simbol Data Flow ………

Gambar 2.3 Simbol Data Store ………...

Gambar 2.4 Simbol External Entity ………

Gambar 3.1 DFD Level 0 ………...

Gambar 3.2 DFD Level 1 ………...

Gambar 3.3 DFD level 2 Login User ……….

Gambar 3.4 DFD level 2 Login Admin ………..

Gambar 3.5 DFD Level 2 Mengisi Transaksi ………...

Gambar 3.6 CDM (part-1) ………...

Gambar 3.7 CDM (part-2) ………..

Gambar 3.8 PDM ...………...

Gambar 3.9 Desain Halaman Utama ………..

Gambar 3.10 Desain Halaman User………

Gambar 3.11 Desain Halaman Back-end Admin………

Gambar 3.12 Desain Halaman Admin ………...

Gambar 4.1 Halaman Utama ………...

Gambar 4.2 Halaman User ………...

Gambar 4.3 Hasil Plugin JpGraph ………..

Gambar 4.4 Menu Profile………

Gambar 4.5 Back-end Admin………...

Gambar 4.6 Halaman Admin ………...

Gambar 4.7 Menu Admin Manager………....

Gambar 5.1 Menu Analisa ………...

Gambar 5.2 Menu Laporan………...

Gambar 5.3 Form Advance Report ………...

Gambar 5.4 Transaksi Hall ………...

Gambar 5.5 Transaksi Kantin ………...

Gambar 5.6 Transaksi Perdagangan ………...

(13)

ix

Gambar 5.8 Transaksi Laundry ………...

Gambar 5.9 Transaksi Travel ………...

Gambar 5.10 Kwitansi Transaksi ………...

Gambar 5.11 Menu Biaya ………...

Gambar 5.12 Menu Kategori ………...

Gambar 5.13 Form Tambah Kategori ………...

Gambar 5.14 Menu Membership ………...

Gambar 5.15 Form Tambah Member ………...

Gambar 5.16 Fitur Cari Member ………...

Gambar 5.17 Menu Profile ………...

Gambar 5.18 Pesan Kesalahan pada Form Login ………...

Gambar 5.19 Penulisan Email yang Salah ………...

Gambar 5.20 Pesan Kesalahan Email Belum Benar ………...

Gambar 5.21 Nama yang Terlalu Panjang ………...

(14)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

PT. Graha Sarana Gresik merupakan anak perusahaan PT. Petrokimia

Gresik yang memiliki tiga unit usaha, yaitu Gedung, Hotel dan Travel. Seperti

namanya, PT. Graha Sarana Gresik merupakan perusahaan yang berbasis di

Gresik, namun beberapa urusan unitnya ada yang berbasis di luar kota Gresik,

seperti Sidoarjo, Tuban hingga bahkan di pulau Bali. Omzet yang diraup

perusahaan ini mencapai lebih dari 5 miliyar rupiah setiap bulannya.

Unit usaha Gedung memiliki 3 buah urusan unit, yaitu Convention Hall,

Kantin dan Perdagangan Umum. Convention Hall bergerak di bidang penyewaan

ruang pertemuan utama milik PT. Graha Sarana Gresik. Sedangkan Kantin,

seperti namanya, bergerak dalam bidang penyediaan makanan dalam skala yang

besar. Perdagangan Umum bergerak dalam bidang makelar proyek-proyek

pengadaan barang dan jasa, baik untuk PT. Petrokimia Gresik maupun anak-anak

perusahaannya. Unit usaha Gedung yang bertempat di gedung utama PT. Graha

Sarana Gresik ini mampu meraup pendapatan hingga 2 miliyar rupiah setiap

bulannya.

Unit usaha Hotel memiliki 2 buah urusan unit, yaitu Puri dan Laundry.

Urusan Puri bergerak dalam bidang penyewaan pondok peristirahatan. Berbeda

dengan hotel pada umumnya, pondok peristirahatan yang disewakan hanya 2 buah

dan sasarannya lebih ke internal PT. Petrokimia Gresik dan anak-anak

(15)

2

YangDiPrintCumaHalaman1nyaDoankBoz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(16)

2

pakaian. Sasaran utamanya adalah karyawan PT. Petrokimia Gresik yang tinggal

di perumahan dinas PT. Petrokimia Gresik serta hotel-hotel di kota Gresik dan

sekitarnya. Omzet kedua urusan unit di atas mencapai hingga 100 juta setiap

bulannya.

Unit usaha Travel memiliki 5 urusan unit yang tersebar di 4 kota, 2 di

Gresik, 1 di Sidoarjo, 1 di Tuban dan yang terakhir di Denpasar, Bali. Travel PT.

Graha Sarana Gresik yang mempekerjakan sekitar 40 karyawan ini ternyata cukup

diminati oleh internal PT. Petrokimia Gresik yang merupakan sasaran utama dari

unit usaha ini. Hal itu terbukti dari omzet per bulannya yang mencapai sekitar 3

miliyar rupiah dan merupakan penyumbang keuntungan terbesar bagi PT. Graha

Sarana Gresik.

Dengan perbedaan yang sangat mencolok pada bidang-bidang yang

digeluti oleh masing-masing urusan unit di atas, maka laporan konsolidasi

menjadi sangat penting artinya untuk mengevaluasi kinerja masing-masing urusan

unit, apakah urusan unit tersebut telah mampu meraup keuntungan seperti yang

ditargetkan sebelumnya atau malah stagnan bahkan merugi. Yang dimaksud

dengan laporan konsolidasi adalah hasil rekapitulasi laporan transaksional

masing-masing urusan unit yang dimiliki oleh PT. Graha Sarana Gresik. Laporan

konsolidasi ini disusun setiap akhir bulan dan digunakan sebagai landasan utama

dari proses pengambilan keputusan yang dilakukan oleh para manajer dan segenap

jajaran direksi.

Perusahaan sekelas PT. Graha Sarana Gresik yang memiliki 10 urusan unit

dengan bidang yang berbeda-beda dan total omzet lebih dari 5 miliyar rupiah

(17)

3

mengintegrasikan sistem informasi - sistem informasi yang terdapat di dalam

masing-masing urusan unit, sehingga proses penyusunan laporan konsolidasinya

dapat dilakukan secara otomatis oleh sistem informasi utama tersebut. Namun

dalam kenyataannya, PT. Graha Sarana Gresik belum memiliki sistem informasi

utama tersebut. Sehingga proses penyusunan laporan konsolidasi pun harus

dilakukan secara manual. Perbedaan bidang yang mencolok antara masing-masing

urusan unit menyebabkan proses penyusunan yang dilakukan secara manual

tersebut memerlukan waktu yang semakin panjang.

Hal itu mengakibatkan pihak Top Manager harus menunggu hingga akhir

bulan untuk mendapatkan laporan konsolidasi, padahal proses pengambilan

keputusan tidak bisa selalu menunggu selama itu. Seringkali muncul

masalah-masalah urgent yang harus secepatnya diputuskan penyelesaiannya. Namun saat

ini belum memungkinkan apabila pihak manajer atau direksi meminta laporan

konsolidasi sewaktu-waktu.

Solusi yang dibutuhkan oleh PT. Graha Sarana Gresik adalah sebuah

sarana yang mampu menjembatani perbedaan bidang yang mencolok antara

masing-masing urusan unit yang ada. Sarana yang mampu mengintegrasikan

setiap transaksi yang terjadi dalam masing-masing urusan unit dan mengolahnya

menjadi data untuk penyusunan laporan konsolidasi. Sarana yang mampu

menyajikan laporan konsolidasi tersebut dengan cepat dan tepat.

1.2. Perumusan Masalah

Berdasarkan latar belakang di atas, maka dibuat suatu perumusan masalah,

(18)

4

“Bagaimana cara membuat suatu sarana yang mampu mengintegrasikan

informasi transaksional lintas unit usaha agar dapat menghasilkan laporan

konsolidasi secara cepat?”

1.3. Batasan Masalah

Ruang lingkup permasalahan dalam Tugas Akhir ini adalah pembuatan

aplikasi sistem informasi terintegrasi berbasis website dengan mengangkat studi

kasus lintas unit usaha yang terjadi pada PT. Graha Sarana Gresik.

Tugas Akhir ini tidak akan membahas:

 Proses input transaksi masing-masing urusan unit secara mendalam, karena

fokus utamanya adalah penyusunan laporan konsolidasi.

 Fitur-fitur website yang tidak ada hubungannya dengan proses penyusunan

laporan konsolidasi.

 Desain website secara mendalam.

Proses implementasi dan deployment system secara fisik pada PT. Graha

Sarana Gresik, karena data-data perusahaan tersebut hanya digunakan sebagai

dasar studi kasus.

1.4. Sistematika dan Metodologi

Laporan Tugas Akhir ini akan dibagi menjadi 6 bab dengan sistematika

penulisan dan metodologi pengerjaan sebagai berikut:

 Bab I PENDAHULUAN

Bab I berisikan latar belakang yang mendasari pelaksanaan Tugas Akhir

(19)

5

metodologi, tujuan dan manfaat Tugas Akhir ini.

 Bab II LANDASAR TEORI

Bab II merupakan penjelasan mengenai teori-teori yang digunakan dalam

Tugas Akhir ini.

 Bab III ANALISA DAN PERANCANGAN SISTEM

Bab III merupakan tahap analisa dan perancangan terhadap sistem yang

dikembangkan dalam Tugas Akhir ini.

 Bab IV HASIL DAN PEMBAHASAN

Bab IV menjelaskan hasil implementasi konsep dan pengembangan sistem

yang dibangun dalam Tugas Akhir ini.

 Bab V UJI COBA DAN EVALUASI SISTEM

Bab V merupakan tahap testing terhadap sistem yang telah dibangun dan

kemudian dilakukan evaluasi terhadap hasil testing tersebut.

 Bab VI KESIMPULAN DAN SARAN

Bab VI merupakan hasil yang diperoleh dari Tugas Akhir ini, mencakup

kesimpulan yang dihasilkan dari pengujian sistem. Selain itu terdapat

saran-saran konstruktif untuk pengembangan sistem ini selanjutnya.

1.5. Tujuan

Tujuan yang ingin dicapai dari Tugas Akhir ini adalah membuat sarana

integrasi lintas unit usaha yang mampu mengolah dan menyajikan laporan

(20)

6

1.6. Manfaat

Manfaat dari Tugas Akhir ini adalah:

 Mengefektifkan proses transaksi yang terjadi sehari-hari.

 Mengintegrasikan setiap proses transaksi yang terjadi pada masing-masing

urusan unit.

 Memudahkan proses rekapitulasi laporan transaksional masing-masing urusan

unit.

 Mengefisienkan proses penyusunan laporan konsolidasi.

 Menyajikan laporan konsolidasi sewaktu-waktu.

Memberikan bahan pertimbangan yang valid bagi pihak Top Manager dalam

(21)

BAB II

LANDASAN TEORI

2.1. Sistem Informasi Terintegrasi

Sistem Informasi Terintegrasi adalah konfigurasi yang membantu untuk

mengkoordinasikan operasi mekanik dalam suatu organisasi. Sistem ini diakui

satu langkah di depan sistem informasi manajemen. Sistem Informasi Terintegrasi

membantu penyediaan informasi yang dibutuhkan dengan tujuan mendukung

proses pengambilan keputusan dalam sebuah organisasi. Hal ini dikatakan sebagai

salah satu yang sangat krusial karena integrasi melibatkan pemahaman banyak

masalah teknis.

Sistem Informasi Terintegrasi sebenarnya bukanlah suatu konsep yang

baru. Sistem ini sudah muncul sejak beberapa tahun yang lalu. Namun sistem ini

seringkali tidak mampu memenuhi ekspektasi yang diharapkan. Hal itu

disebabkan Sistem Informasi Terintegrasi hanyalah alat dan baru akan

memberikan pengaruh maksimal dan memberikan hasil yang lebih baik apabila

sistem-sistem yang telah ada berfungsi sebagaimana yang dibutuhkan oleh Sistem

Informasi Terintegrasi ini. Ketika sistem-sistem pendukung lainnya belum

berfungsi dengan maksimal atau bahkan mungkin malah belum ada, konsep utama

yang diusung oleh Sistem Informasi Terintegrasi akan sia-sia. Dan keberadaan

sistem ini malah akan menambah beban organisasi tersebut.

Untuk mengimplementasikan Sistem Informasi Terintegrasi yang dapat

mencakup semua aplikasi yang telah ada sebelumnya, suatu perusahaan harus

melakukan banyak penelitian dan pelatihan terlebih dahulu. Langkah pertama

(22)

8

YangDiPrintCumaHalaman1nyaDoankBoz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(23)

8

tentunya adalah menganalisa kebutuhan perusahaan dari sisi organisasinya.

Penelitian tersebut harus focus pada pertanyaan besar, “Mengapa Sistem

Informasi Terintegrasi dibutuhkan di perusahaan ini?” dan “Bagaimana sistem

tersebut akan memenuhi tujuan perusahaan ini?”. Hasil dari penelitian itu akan

digunakan untuk melakukan langkah-langkah selanjutnya dalam penelitian dan

implementasi. Hasil tersebut harus diuji lagi dengan mengajukan pertanyaan

langsung pada orang-orang yang nantinya diharapkan akan menggunakan atau

mendapatkan hasil dari implementasi Sistem Informasi Terintegrasi tersebut.

Misalnya manajer, direksi dan pihak-pihak lain yang berkepentingan dalam proses

pengambilan keputusan. Beberapa pertanyaan yang perlu mereka jawab adalah,

“Bagaimana koordinasi ini akan dapat menguntungkan kita? Akankah ini menjadi

solusi yang efektif?”. Langkah-langkah analisa selanjutnya adalah sebagai

berikut:

 Gap Analysis

Gap Analysis akan mengidentifikasi faktor-faktor pendorong yang perlu

disediakan dalam upaya menyelaraskan de-stabilisasi yang telah ada di dalam

suatu organisasi. Analisa ini akan mengeksploitasi kekurangan-kekurangan

yang ada pada sistem yang telah ada dan menyarankan pembetulan–

pembetulan yang diperlukan. Kekurangan-kekurangan tersebut akan dianalisa

dalam setiap aspek seperti teknologi, penguasaan informasi dan

praktek-praktek relevan lainnya. Gap Analysis harus menghasilkan cukup banyak

saran untuk menyingkirkan faktor-faktor yang menyebabkan kemunduran

organisasi. Saran-saran tersebut ditindaklanjuti setelah berkonsultasi dengan

(24)

9

Sistem Informasi Terintegrasi akan berjalan nantinya. Gap Analysis ini

dibutuhkan untuk membuat Sistem Informasi Terintegrasi menjadi se-user

friendly mungkin.

 Implementation

Proses implementasi Sistem Informasi Terintegrasi hanya dapat dimulai jika

semua saran-saran yang dihasilkan dari analisa atau proses sebelumnya sudah

dilakukan. Proses implementasi ini bisa menjadi sesuatu yang sangat rumit

karena banyaknya kesulitan-kesulitan praktis yang mungkin muncul dan

memberikan tantangan kepada konsep utama Sistem Informasi Terintegrasi.

 Assessment

Setiap orang yang berhubungan baik secara langsung maupun tidak langsung

dengan Sistem Informasi Terintegrasi ini harus memberikan feedback untuk

membantu technical team menentukan sejauh mana Sistem Informasi

Terintegrasi berjalan setelah diimplementasikan.

Sistem Informasi Terintegrasi adalah suatu fungsi yang sangat krusial

untuk perusahaan. Keberhasilan sistem ini akan sangat bergantung pada

keselarasannya dengan aplikasi perusahaan yang lain, misalnya Sistem Informasi

Eksekutif.

(Sumber: ERP Wire, 2009)

2.2. Data Flow Diagram

Data Flow Diagram (DFD) adalah suatu grafik yang menjelaskan sebuah

sistem dengan menggunakan bentuk-bentuk atau simbol untuk menggambarkan

(25)

10

input, process dan output yang terjadi dalam suatu sistem. DFD juga

menggambarkan aliran data dalam sebuah sistem.

Dalam mendokumentasikan sebuah sistem, DFD mempunyai level-level

mulai dari yang terkecil, yaitu level 0 atau sering disebut context diagram.

Context diagram ini merupakan gambaran paling umum dari sistem, yang hanya

memiliki satu proses saja untuk mewakili seluruh sistem. Semakin bertambahnya

level dalam DFD akan semakin detail digambarkannya proses-proses yang ada

pada sistem, tetapi yang boleh bertambah hanya proses dan data flow saja.

Sedangkan untuk data source, jumlahnya harus tetap dengan yang ada pada

context diagram. Khusus untuk data store, pada context diagram masih belum

digambarkan, baru mulai tampak pada level 1 dan konsisten jumlahnya sampai

pada level berikutnya.

Simbol-simbol yang digunakan dalam DFD terdiri dari 4 macam, yaitu:

process, data flow, data store dan external entity. Berikut uraian singkat mengenai

4 simbol tersebut.

Process adalah simbol yang mengubah suatu data dari suatu bentuk menjadi

bentuk yang lain. Dengan kata lain, proses menerima masukan data dan

mengeluarkan keluaran data lain yang telah diproses. Simbol process dapat

dilihat pada Gambar 2.1 berikut ini.

(26)

11

Data flow atau aliran data adalah aliran yang menunjukkan perpindahan data

dari satu bagian ke bagian lain dalam suatu sistem. Data flow dalam DFD

digambarkan dengan tanda panah dan diberi keterangan di sampingnya yang

menunjukkan data yang mengalir. Simbol data flow dapat dilihat pada

Gambar 2.2 berikut ini.

Gambar 2.2 Simbol Data Flow

Data store adalah tempat penyimpanan data dalam suatu sistem, baik secara

manual maupun secara elektronik. Simpanan data digunakan jika suatu proses

perlu menggunakan lagi data tersebut. Simbol data store dapat dilihat pada

Gambar 2.3 berikut ini.

Gambar 2.3 Simbol Data Store

External entity mewakili entitas eksternal yang berkomunikasi dengan sistem

yang sedang dikembangkan. Ada 2 macam external entity, yaitu source dan

sink. External entity source merupakan sumber data, sedangkan external entity

sink merupakan tujuan data. Simbol keduanya dapat dilihat pada Gambar 2.4

berikut ini.

Gambar 2.4 Simbol External Entity

(27)

12

2.3. PHP

PHP yang merupakan singkatan dari PHP Hypertext Prepocessor,

sebenarnya adalah sebuah produk yang bernama asli “Personal Home Page

Tools” (Pemrograman Web dengan PHP, Betha Sidik, 2001). PHP adalah suatu

bahasa yang bersifat server side dan didesain khusus untuk aplikasi website. PHP

dapat disisipkan di antara bahasa HTML. Karena merupakan bahasa server side,

maka bahasa PHP akan dieksekusi di server, sehingga yang dikirimkan ke

browser adalah “hasil jadi” dalam bentuk HTML dan kode PHP tidak terlihat lagi.

(Sumber: Digital Library UK Petra, 2007)

2.3.1. Struktur Program PHP

Kode program PHP menyatu dengan tag-tag HTML dalam satu file. Kode

PHP diawali dengan tag <? Atau <?php dan ditutup dengan tag ?>. Berikut struktur

penulisan sintaks PHP dalam HTML:

<HTML> <HEAD>

<TITLE>Contoh</TITLE> </HEAD>

<BODY> <?-script PHP-?> </BODY> </HTML>

(Sumber: Johan Firdaus – Dasar PHP, 2008)

2.3.2. Variabel

Dalam PHP, variabel diawali dengan tanda dollar “$”, sedang untuk

menugaskan sebuah nilai pada variabel tersebut digunakan tanda “=”. Jadi untuk

membuat sebuah variabel dan menugaskan sebuah nilai dapat dilakukan dengan

(28)

13

$Nama = “Arlita Retyandias”

Nama adalah identifier (nama variabel) dan string “Arlita Retyandias”

telah ditugaskan atau disimpan dalam variabel tersebut.

(Sumber: Johan Firdaus – Dasar PHP, 2008)

2.3.3. Tipe Data

Tipe data yang dapat diolah oleh PHP di antaranya adalah tipe data

numerik (integer dan float), string dan object.

 Tipe Data Numerik

Terdiri atas integer, float dan double, tipe integer merupakan data numerik

yang berupa bilangan bulat, sementara float dapat menampung nilai numerik

dalam bentuk nilai desimal.

Tipe Data String

Tipe data yang menampung informasi tekstual seperti huruf, kata dan kalimat.

Isi dari string diapit oleh tanda kutip, seperti yang terlihat berikut ini:

$type_string = “Tata”

Tipe Data Object

Tipe data ini merupakan pengembangan yang dilakukan PHP untuk

mendukung pemrograman berorientasi objek. Tipe data object adalah tipe data

yang di dalamnya mempunyai data dan method. Data yang dimiliki oleh suatu

object dikenal dengan nama atribut dan method umumnya berupa sebuah

fungsi. Data object di sini didefenisikan dengan membuat defenisi kelas

terlebih dahulu. Suatu variabel yang bertipe object diinisialisasi

(dideklarasikan) dengan menggunakan perintah new diikuti nama object

(29)

14

<?php class objek {

function counter ( ) {

(Sumber: Johan Firdaus – Dasar PHP, 2008)

2.3.4. Percabangan

Sintaks PHP dijalankan secara urut dari baris pertama hingga baris terakhir

secara urutan (sequence). Akan tetapi aplikasi yang dikembangkan dengan PHP

tidak selalu mempunyai struktur kontrol yang berurutan, sering kali urutan

perintah tidak harus dikerjakan apabila ada suatu kondisi yang tidak terpenuhi.

Berikut ini adalah daftar perintah yang dapat digunakan untuk melakukan

pengecekan kondisi:

Pernyataan IF

IF (ekspresi) {

Perintah; ………. }

Pernyataan ELSE

IF (ekspresi) {

(30)

15

Pernyataan IF – ELSEIF

IF (ekspresi)

Pernyataan SWITCH

SWITCH ($var)

(Sumber: Johan Firdaus – Dasar PHP, 2008)

2.3.5. Perulangan

PHP memungkinkan suatu perintah dilakukan berulang kali selama

kondisi blok perulangan bernilai benar (true) dan akan berhenti begitu kondisi

(31)

16

Pernyataan WHILE

WHILE (kondisi) {

Pernyataan FOR

FOR (inisialisasi; kondisi; increment) {

blok pernyataan; }

(Sumber: Johan Firdaus – Dasar PHP, 2008)

2.3.6. Session dan Cookies

Aplikasi yang melakukan otentikasi (login pemakainya) membutuhkan

model yang bukan connectionless agar semua aktifitas user dapat diketahui mulai

dari saat user login sampai dengan ketika user logout (keluar aplikasi). PHP

mempunyai mekanisme yang disebut session dan cookies. Session dan cookies

merupakan cara yang digunakan untuk mengetahui state atau koneksi dari seorang

pengunjung dari sebuah komputer sedang atau telah melakukan koneksi kepada

server atau belum.

Kondisi connectionless menyebabkan pengunjung tidak dapat dideteksi

dengan akurat, karena setiap kali akses dianggap sebagai pengunjung baru. Maka

(32)

17

akan dicatat kejadiannya, jika pengunjung melakukan akses lagi ke dalam server

maka tidak perlu dicatat sebagai pengunjung baru.

Session dan cookies berbeda dalam mengimplementasi data state atau

koneksi. Session akan mencatat data koneksi pada server sedangkan cookies

mencatat data pada client (browser).

(Sumber: Johan Firdaus – Dasar PHP, 2008)

2.3.7. Plugin

Plugin PHP adalah semacam fungsi atau fitur tambahan yang digabungkan

ke dalam script untuk menambah kemampuan dan kinerja dari sistem yang akan

dibuat.

2.3.7.1. JpGraph

JpGraph merupakan suatu library berbasis Object Oriented Programming

(OOP) yang ditulis dengan bahasa PHP. Library ini dapat digunakan untuk

membuat bermacam-macam grafik untuk keperluan penyajian data secara statistik

dengan cara yang cukup mudah dan perintah sesederhana mungkin.

JpGraph memiliki banyak sekali fitur dan kelebihan, antara lain:

 Fleksibilitas dalam skala.

 Mendukung pembuatan grafik berformat JPG, PNG dan GIF.

 Mampu menampilkan grafik ke dalam website.

 Mendukung penggunaan image sebagai latar belakang grafik.

(33)

18

Mendukung line plot, pie plot 2D dan 3D, bar plot, scatter plot, gantt chart

dan radar plot.

 Mendukung pemberian legenda pada grafik.

 Mampu menggabungkan beberapa grafik ke dalam satu grafik.

(Sumber: Aditus Consulting, 2009)

2.3.7.2. TinyMCE

TinyMCE adalah sebuah platform independen berbasis website yang

menggunakan Javascript HTML WYSIWYG editor control. Dirilis sebagai open

source di bawah LGPL oleh Moxiecode Systems AB. Plugin ini memiliki

kemampuan untuk mengkonversi HTML TEXTAREA fields atau HTML

elements menjadi editor instances. TinyMCE sangat mudah diintegrasikan ke

dalam Content Management Systems (CMS).

Kelebihan yang dimiliki oleh TinyMCE adalah:

 Mudah diatur sesuai kebutuhan.

Dapat digunakan dalam berbagai macam browser.

Proses load sangat cepat.

AJAX compatible.

 Mendukung berbagai macam bahasa internasional.

(Sumber: TinyMCE Official Website, 2010)

2.4. Content Management System

Content Management System (CMS) adalah sistem aplikasi yang

(34)

19

website, yang diatur oleh CMS adalah semua file yang membangun website

tersebut. Bahkan dalam perkembangannya, hal-hal yang bisa diatur oleh sebuah

CMS semakin banyak. Contohnya block atau module position, front page

manager, bahkan templates atau themes dari tampilan website.

Struktur CMS secara garis besar terdiri dari dua bagian, yaitu front end

dan back end. Front end adalah tampilan utama halaman website, yaitu halaman

yang diakses oleh pengunjung umum. Sedangkan back end adalah bagian

administrasi yang hanya bisa diakses sang pemilik website maupun orang-orang

yang telah ditunjuk untuk melakukan manajemen website. Istilah umumnya

adalah halaman administrator (administrator page).

(Sumber: Wikipedia – Sistem Manajemen Konten, 2010)

2.5. WAMP Server

WAMP Server adalah sebuah aplikasi yang dapat merubah personal

computer (PC) menjadi sebuah server. Kegunaan WAMP Server ini adalah

membuat local network sendiri di sebuah PC. Dengan begitu maka fase

pembuatan website dapat dilakukan secara offline di PC milik programmer.

Dengan di tempatkannya banyak file pendukung website di PC maka programmer

tidak perlu buka tutup internet. Hal ini menghemat waktu, tenaga dan biaya.

WAMP merupakan paket web server Apache, database server MySQL dan

bahasa pemrograman PHP yang berjalan di sistem operasi Windows. Dengan

mengemas keempat tools di atas dalam satu paket, maka WAMP menjadi pilihan

utama para programmer website.

(35)

20

2.6. MySQL

Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel- tabel

yang secara logik merupakan struktur dua dimensi terdiri dari baris (row atau

record) dan kolom (column atau field). Sedangkan dalam sebuah database dapat

terdiri dari beberapa table.

MySQL merupakan software resmi yang dikembangkan oleh perusahaan

Swedia bernama MySQL AB, yang awalnya bernama TcX Data Konsult AB.

Pada awalnya MySQL memakai nama mSQL atau “mini SQL” sebagai antarmuka

yang digunakan, namun ternyata dengan menggunakan mSQL itu ditemui banyak

hambatan, yaitu lambat dan tidak fleksibel. Oleh karena itu, Michael Widenius

berusaha mengembangkan interface yang akhirnya disebut MySQL. Kala itu,

MySQL didistribusikan secara khusus, yakni untuk keperluan nonkomersial

bersifat gratis, sedangkan untuk kebutuhan komersial diharuskan membayar

lisensi. Barulah sejak versi 3.23.19, MySQL dikategorikan software berlisensi

GPL, yakni dapat dipakai tanpa biaya untuk kebutuhan apapun. Hingga kini,

MySQL dapat dijalankan di berbagai sistem operasi misalnya Linux, Unix,

Windows. Kelebihan MySQL adalah pada kecepatan akses, biaya, konfigurasi,

ketersediaan source code karena MySQL dibawah Open Source License dan

menjadi database open source yang sangat populer. MySQL merupakan database

relational (RDBMS) yang mempunyai kemampuan yang sangat cepat untuk

menjalankan SQL dengan multithread dan multiuser. Oleh karena itu, dengan

dengan melihat begitu tingginya potensi MySQL untuk dijadikan sebagai database

yang andal, segala fitur pendukung terus dikembangkan agar penggunaan MySQL

(36)

21

Ada beberapa alasan mengapa MySQL menjadi database yang sangat

populer dan digunakan oleh banyak orang, antara lain ialah :

 MySQL merupakan database yang memiliki kecepatan yang tinggi dalam

melakukan pemrosesan data, dapat diandalkan dan mudah digunakan serta

mudah dipelajari.

 MySQL mendukung banyak bahasa pemrograman seperti Java, C, C++,

Phyton, dan PHP.

 Koneksi, kecepatan dan keamanan membuat MySQL sangat cocok diterapkan

untuk pengaksesan database melalui internet dengan menggunakan bahasa

pemrograman Perl atau PHP sebagai interface-nya.

 MySQL dapat menangani database dengan skala yang sangat besar, dapat

menampung 60 ribu tabel, dan juga bisa menampung 5 miliyar baris data,

selain itu batas indeks pada tiap tabel dapat menampung mencapai 32 indeks.

 Dalam hal relasi antar tabel pada suatu database, MySQL menerapkan metode

yang sangat cepat yaitu dengan menggunakan metode one sweep multijoin.

MySQL sangat efesien dalam mengelola informasi yang kita minta yang

berasal dari banyak tabel sekaligus.

Multiuser, yaitu dalam satu database server pada MySQL dapat diakses oleh

beberapa user dalam waktu yang sama tanpa mengalami konflik atau crash.

Security yang dimiliki database MySQL dikenal baik karena memilki lapisan

serkuritas seperti subnetmask, nama host dan izin akses user dengan sistem

perizinan yang khusus serta password yang dimiliki setiap user dalam bentuk

data terenkripsi.

(37)

22

Beberapa tipe data dalam MySQL yang sering dipakai untuk membuat

suatu database:

Tipe data Keterangan

INT(M) [UNSIGNED] Angka

-2147483648 s/d 2147483647

FLOAT(M,D) Angka pecahan

DATE Tanggal Format : YYYY-MM-DD

DATETIME Tanggal dan Waktu

Format : YYYY-MM-DD HH:MM:SS CHAR(M) String dengan panjang tetap sesuai

yang

ditentukan. Panjangnya 1 – 255

VARCHAR(M) String dengan panjang yang berubah – ubah sesuai dengan yang disimpan saat itu. Panjangnya 1 – 255 karakter

BLOB Teks dengan panjang maksimum

65535 karakter

LONG BLOB Teks dengan panjang maksimum 4294967295 karakter

(38)

BAB III

ANALISA DAN PERANCANGAN SISTEM

Pada tahap analisa dan perancangan, Sistem Informasi Terintegrasi ini

akan digambarkan menggunakan DFD yang kemudian dilengkapi dengan CDM

dan PDM serta desain User Interface. Pengguna website akan dibagi menjadi 2

kelompok utama untuk memudahkan perancangan sistem, yaitu Admin dan User.

Admin adalah administrator website yang bertugas mengelola website, sedangkan

User adalah pengguna website yang mengakses Sistem Informasi Terintegrasi.

User dibagi lagi menjadi 3 level, yaitu level Pegawai, Manajer dan Direksi.

Pegawai adalah User yang bertugas mengisikan transaksi dan biaya ke dalam

database sistem. Pegawai adalah karyawan masing-masing urusan unit. Manajer

adalah kepala unit usaha. Sedangkan Direksi adalah pemimpin PT. Graha Sarana

Gresik. Manajer dan Direksi berkepentingan mendapatkan laporan kosolidasi

yang diolah dan disajikan oleh sistem.

3.1. Data Flow Diagram (DFD)

DFD level 0 Sitem Informasi Terintegrasi ini digambarkan dengan 1

process dan 5 external entity. Proses utama pada DFD level ini dinamakan Sistem

Informasi Terintegrasi, sebagaimana judul Tugas Akhir ini. Lima external entity

yang disebutkan tadi adalah Admin, User, Pegawai, Manajer dan Direksi. Admin

mengalirkan info ke dalam sistem, yang kemudian disajikan kepada User.

Sedangkan pegawai mengisikan data transaksi untuk diolah dan disajikan kepada

Manajer dan Direksi. Untuk lebih jelasnya dapat dilihat pada Gambar 3.1.

(39)

24

Gambar 3.1 DFD Level 0

Pada DFD Level 0 di atas, entitas Pegawai, Manajer dan Direksi

sebenarnya juga merupakan bagian dari entitas User. Hanya saja, baru pada DFD

Level 1 ketiga entitas tersebut dikenali dan diberikan hak akses oleh sistem.

izi n akses

laporan pi li han laporan

(40)

25

Segera setelah proses Login User dilakukan, User yang semula belum

dikenali langsung diberikan hak akses sesuai levelnya masing-masing. Dan

kemudian ketiga level user itu mengakses proses yang berberda, entitas Pegawai

mengakses proses Mengisi Transaksi, sedangkan entitas Manajer dan Direksi

mengakses proses Menyajikan Laporan. Sedangkan Admin mengakses proses

Mengelola Website.

DFD level 2 akan dibagi menjadi 2 bagian, yang pertama untuk membedah

lagi proses Login User dan Login Admin, kemudian yang lainnya untuk

membedah proses Mengisi Transaksi.

DFD Level 2 Login User memiliki 4 buah proses, yaitu proses Menerima

Username dan Password, proses Menyaring Character, proses Verifikasi

Username dan Password dan proses Memberi Hak Akses. Pada proses yang

pertama, entitas yang dikenali hanyalah User saja. User mengalirkan data

username beserta password ke dalam sistem dan diterima oleh proses Menerima

Username dan Password. Selanjutnya data username dan password yang telah

diinputkan User tersebut dikirim ke proses kedua, yaitu Menyaring Character.

Proses ini bertujuan menyaring karakter berbahaya yang mungkin disisipkan di

dalam string username dan password yang diinputkan oleh User. Hal ini berkaitan

erat dengan security website. Kemudian baru hasil filterisasinya dialirkan ke

proses Verifikasi Username dan Password. Di proses inilah terletak inti dari Login

User. Username dan password hasil filterisasi pada proses sebelumnya itu

kemudian dicocokkan dengan username dan password yang tersimpan pada data

storage User. Karena password yang disimpan di dalam data storage sudah dalam

(41)

26

Gambar 3.3 DFD Level 2 Login User

Pemberian privilage atau hak akses kepada entitas User membuat entitas

User dikenali sebagai salah satu dari entitas Pegawai, Manajer atau Direksi. Hal

itu bisa terjadi karena di dalam data storage User telah tersimpan informasi level

User yang menandakan apakah pemilik username tersebut masuk dalam level

Pegawai, Manajer atau Direksi. Begitu entitas User tersebut memiliki hak akses

tertentu, maka selanjutnya mereka tidak akan dianggap sebagai User biasa lagi,

melainkan diasumsikan sebagai salah satu dari entitas Pegawai, Manajer atau

Direksi.

DFD Level 2 Login Admin tidak jauh berbeda dengan DFD Level 2 Login

User di atas. Jika DFD Level 2 Login User terdiri atas 4 buah proses, maka pada

(42)

27

Menerima Username dan Password, proses Menyaring Character dan proses

Verifikasi Username dan Password. Untuk lebih jelasnya dapat dilihat pada

Gambar 3.4 berikut ini.

izin akses

Gambar 3.4 DFD Level 2 Login Admin

DFD Level 2 Mengisi Transaksi terdiri atas 2 proses, yaitu Mengisi Form

Transaksi dan Menyimpan Data Transaksi. Proses Mengisi Transaksi dilakukan

oleh Pegawai, kemudian data transaksi yang dimasukkan tersebut dialirkan ke

proses selanjutnya, yaitu Menyimpan Data Transaksi. Proses ini mengakses data

storage Transaksi. MENYIMPAN DAT A

TRANSAKSI

(43)

28

3.2. Data Model

Tahap Data Model ini akan dibagi menjadi 2 bagian, yaitu Conceptual

Data Model (CDM) dan Physical Data Model (PDM). CDM untuk Sistem

(44)

29

(45)

30

(46)

31

CDM di atas terdiri atas 16 buah tabel. Pembahasan bagian CDM ini akan

dibagi menjadi bagian untuk menekan tingkat kerumitannya. Bagian yang pertama

terdiri atas 2 buah tabel, yaitu Admin dan Info. Kedua tabel ini erat kaitannya

dengan tugas Admin membuat info atau pengumuman yang kemudian akan

disajikan pada front end website. Tabel Admin menyimpan semua informasi

administrator website dan digunakan untuk kepentingan Login Admin. Tabel ini

berelasi 1 to many ke tabel Info.

Bagian selanjutnya terdiri atas 3 buah tabel, yaitu User, Unit_Usaha dan

Urusan_Unit. Sama seperti tabel Admin, tabel User juga menyimpan semua

informasi terkait user yang mengakses Sistem Informasi Terintegrasi ini, termasuk

di dalamnya level_user. Field level_user inilah yang merupakan bentuk nyata dari

hak akses yang banyak disinggung dalam sub bab DFD di atas. Tabel User

berkaitan erat dengan tabel Unit_Usaha danUrusan_Unit, karena setiap user

dikelompokkan ke dalam unit usaha dan urusan unit tertentu di dalam setiap

proses bisnis yang terjadi sehari-harinya.

Dua bagian sisanya akan membahas seputar transaksi dan biaya. Yang

dimaksud dengan istilah transaksi di sini adalah setiap transaksi yang dilakukan

oleh masing-masing urusan unit dan mendatangkan pendapatan bagi perusahaan.

Sedangkan istilah biaya digunakan untuk beban yang harus dibayarkan

perusahaan setiap bulannya.

Tabel Biaya dan Keluar berelasi many to 1 karena tabel Keluar berisi

kategori yang digunakan untuk mengelompokkan biaya. Jadi untuk beban yang

dibayar oleh perusahaan setiap bulannya, akan dimasukkan dalam kategori

(47)

32

Tabel Transaksi merupakan tabel yang paling banyak berelasi dengan

tabel-tabel lainnya. Pertama-tama tabel ini berelasi many to 1 dengan tabel

Member. Hal ini menggambarkan informasi membership akan disimpan dalam

setiap transaksi yang dilakukan oleh seorang member perusahaan.

Kemudian tabel Transaksi juga berelasi dengan 6 tabel detail transaksi,

yaitu Detail_Hall, Detail_Perdagangan, Detail_Kantin, Detail_Puri,

Detail_Laundry dan Detail Travel. Keenam tabel detail ini akan digunakan untuk

menyimpan semua informasi detail dari transaksi yang dilakukan. Karena berelasi

1 to many pada keenam tabel tersebut, maka pada setiap transaksi memungkinkan

penjualan lebih dari 1 barang atau jasa. Alasan mengapa sampai diperlukan 6

buah tabel untuk menyimpan informasi transaksi adalah karena setiap urusan unit

memiliki bidang yang berbeda-beda, jadi tentu saja membutuhkan field yang

berbeda-beda pula. Misalnya pada urusan Laundry tidak akan memerlukan field

check_in & check_out seperti yang ada pada urusan Puri. Sehingga sangat tidak

memungkinkan apabila keenam bidang yang digeluti oleh urusan unit PT. Graha

Sarana Gresik dipaksakan dalam sebuah tabel saja.

Masing-masing tabel detail tersebut juga berelasi dengan tabel Masuk.

Tabel Masuk ini memiliki fungsi yang sama persis dengan tabel Keluar pada

konteks biaya. Tabel Masuk ini menyimpan informasi kategori yang digunakan

untuk mengelompokkan transaksi yang dilakukan. Perbedaannya terletak pada

relasi tabel Masuk dengan tabel Urusan_Unit. Hal ini menandakan bahwa kategori

masing-masing urusan unit berbeda-beda. Sedangkan dalam tabel Keluar tidak

berelasi dengan tabel Urusan_Unit, dikarenakan kategori biaya diseragamkan

(48)

33

PDM hasil generate dari CDM yang telah dibahas panjang lebar di atas

dapat dilihat pada Gambar 3.8 berikut ini.

(49)

34

3.3. Desain User Interface

Desain user interface merupakan hal yang sangat penting dalam tahap

analisa dan perancangan sistem. Terlebih lagi jika sarana yang dibangun adalah

website. Hal ini dikarenakan user interface merupakan penghubung antara sistem

dengan end user.

Halaman Utama adalah halaman yang akan pertama kali menyambut

semua kelompok pengguna website. Karena website yang dikembangkan ini

adalah website internal, maka desain Halaman Utama tentunya tidak sesemarak

halaman utama seperti website pada umumnya. Form login diletakkan di tempat

yang mudah terlihat. Tepat di bawah form login ditampilkan menu dan info

terbaru yang diinputkan oleh Admin.

(50)

35

Setelah berhasil melakukan proses login, maka user akan diarahkan ke

Halaman User. Menu-menu yang disediakan antara lain Analisa, Laporan,

Advance Report, Transaksi, Biaya, Kategori, Membership dan Profil.

Gambar 3.10 Desain Halaman User

Untuk mengakses Halaman Admin tidak bisa melalui form login yang ada

pada Halaman Utama, melainkan melalui back-end website seperti yang

ditunjukkan pada Gambar 3.11 berikut ini.

(51)

36

Jika berhasil Login, maka tampilan Halaman Admin akan seperti pada

Gambar 3.12 berikut ini.

Gambar 3.12 Desain Halaman Admin

Menu-menu yang disediakan pada Halaman Admin ini antara lain

Manajemen Admin, Manajemen User, Edit Menu Admin, Edit Menu User dan

(52)

BAB IV

HASIL DAN PEMBAHASAN

Sistem Informasi Terintegrasi berbasis website ini ditulis dengan bahasa

PHP dan membutuhkan web server serta database server dalam proses

implementasinya. Adapun web server yang digunakan dalam Tugas Akhir ini

adalah WAMP Server dan MySQL sebagai database server. Sistem yang

dibangun ini terdiri atas dua unsur utama, user interface dan basis data. User

interface direpresentasikan oleh halaman-halaman website yang digunakan.

Sedangkan data yang diolah dan disajikan berasal dari database. Karena itu,

uraian pada bab ini akan dibagi berdasarkan kedua unsur tersebut.

4.1. Website

Website penyajian data akademik dan keuangan mahasiswa ini terdiri atas

tiga halaman utama, yaitu Halaman Utama (front-end), Halaman User dan

Halaman Admin. Halaman Utama adalah halaman yang pertama kali diakses oleh

pengguna website dan di sana terdapat form login untuk User. Halaman User yang

merupakan inti dari Sistem Informasi Terintegrasi ini. Halaman User bisa diakses

apabila proses login telah berhasil. Sedangkan Halaman Admin adalah halaman

bagi administrator website untuk mengelola content website. Halaman Admin

diakses melalui back-end.

4.1.1. Halaman Utama

Halaman Utama memiliki tampilan seperti yang ditunjukkan pada

(53)

37

YangDiPrintCumaHalaman1nyaDoankBoz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(54)

37

Gambar 4.1 berikut ini.

Gambar 4.1 Halaman Utama

Form Login dibuat dengan sintaks form PHP yang dipadukan dengan

sintaks HTML. Ketika tombol Login ditekan, maka module cek_login akan

diakses dan inputan User akan dikirim dengan metode POST. Pada module

cek_login, inputan User tadi akan diperiksa dulu, apakah formatnya sudah benar

atau belum dengan menggunakan fungsi ctype_alnum() yang akan memberikan

nilai 0 atau FALSE apabila inputan mengandung karakter selain huruf dan angka.

Hal ini akan dibahas lebih lanjut pada sub bab Security.

Setelah lolos dari filterisasi di atas, barulah username dan password yang

(55)

38

dalam database. Proses pemeriksaan ini sekaligus mengambil semua data User

dari database, yang apabila proses login ini berhasil, semua data tersebut akan

langsung didaftarkan pada session untuk memberikan hak akses pada User

tersebut. Untuk lebih jelasnya dapat dilihat pada potongan script berikut ini:

$password=md5($_POST[password]);

$login=mysql_query("select * from user where

kode_user='$_POST[username]' and password_user='$password'"); $ketemu=mysql_num_rows($login);

mysql_query("update user set session_user='$id_session' where kode_user='$r[kode_user]'");

header('location:user/media.php?module=home'); }

else

echo

"<h1>Login Gagal!</h1>

<p align=justify>

Username dan password yang Anda masukkan tidak cocok! </p>";

Blok pernyataan di dalam if($ketemu>0) merupakan proses pemberian hak

akses pada User. Fungsi session_regenerate_id() adalah untuk menghasilkan id

session yang baru. Kode session yang baru itu akan digunakan sebagai tanda

pengenal yang lebih unik dari sekedar username. Jika mengandalkan username

saja, bahayanya adalah username tersebut dapat disalahgunakan oleh User lain.

Karena itulah digunakan kode session yang merupakan karakter acak. Kode

session lama yang ada di dalam database langsung di-update dengan yang baru

(56)

39

Statement header(’location:user/media.php?module=home’); di dalam

potongan script di atas menandakan apabila user berhasil melakukan proses Login

User, maka dia akan diarahkan pada halaman lain yang merupakan Halaman User.

4.1.2. Halaman User

Halaman User adalah halaman bagi User yang telah berhasil melakukan

proses Login User. Halaman User ini digunakan oleh tiga macam level User, yaitu

Pegawai, Manajer dan Direksi. Tampilan Halaman User akan seperti Gambar 4.2

berikut ini.

Gambar 4.2 Halaman User

Menu-menu yang ada di halaman ini tidak semuanya dapat diakses oleh

setiap level user. Misalnya menu Analisa tidak dapat diakses oleh User dengan

level Pegawai. Hal itu dikarenakan halaman Analisa memang didesain khusus

untuk kepentingan pengambilan keputusan oleh Top Manager. Maka dari itu

pembatasan akses User dilakukan di setiap halaman menu yang ada. Perwujudan

pembatasan akses memanfaatkan statement IF dan dapat dilihat pada potongan

(57)

40

elseif($_SESSION[level_user]=='manager')

header('location:?module=analisa&act=grafik_unit'); elseif($_SESSION[level_user]=='employee')

echo "Anda tidak berhak untuk mengakses halaman ini!";

Jika level User adalah Manajer, maka langsung diarahkan ke bagian script

yang lain, yaitu grafik_unit. Jika bukan, maka akan muncul peringatan, “Anda

tidak berhak untuk mengakses halaman ini!” seperti yang terlihat pada potongan

script di atas.

Untuk mendukung kerapian file yang digunakan, terutama untuk

menu-menu yang ada pada Halaman User, maka potongan script di bawah ini sangat

besar manfaatnya.

$module=$_GET[module];

$query="SELECT * FROM menu_user ORDER BY urutan_menu"; $mssql=mssql_query($query);

while($data=mssql_fetch_row($mssql))

{ if($module==substr(($data[2]),8))

include "modul/modul_".$module."/".$module.".php";}

Dengan statement GET yang ada di atas, maka setiap link menu yang

ditekan oleh User akan dibedakan berdasarkan module-nya. Jika module-nya

sudah didapatkan, maka akan dicocokkan dengan daftar menu yang ada di dalam

tabel menu_user. Kemudian setelah ditemukan yang cocok dengan module

tersebut, maka statement include akan dieksekusi. Hal ini berarti setiap script

menu terletak di dalam directory modul/modul_module/module.php. Dengan cara

ini, maka setiap script tertata rapi di dalam folder modul dan terpisah-pisah

berdasarkan nama module-nya. Hal ini juga memudahkan apabila ada

penambahan menu di kemudian hari, karena programmer hanya perlu

menambahkan data module-nya di tabel menu_user dan meletakkan script

menunya pada folder modul. Selain itu, agar menu barunya muncul maka di tabel

(58)

41

Menu Analisa merupakan menu spesial bagi Direksi dan Manajer. Dari

sisi pemrograman sedikit berbeda dengan halaman menu yang lain karena analisa

yang ditampilkan disajikan menggunakan plugin PHP yang memang khusus untuk

chart, yaitu JPGraph.

Gambar 4.3 Hasil Plugin JPGraph

Untuk menghasilkan bar chart seperti di atas, diperlukan script seperti

berikut ini:

$graph = new Graph(750,300,'auto'); $graph->SetScale("textlin"); $b1plot = new BarPlot($datay1);

$b2plot = new BarPlot($datay2);

(59)

42

$gbplot=new GroupBarPlot(array($b1plot,$b2plot)); $gbplot->SetWidth(0.8);

$graph->Add($gbplot);

$graph->xaxis->SetTickLabels($datax); $graph->xaxis->title->Set("Unit");

$graph->title->SetFont(FF_FONT1,FS_BOLD);

$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->Stroke();

Script di atas berbasis OOP dan membutuhkan file library bawaan

JPGraph lainnya. Di atas terlihat object bernama Graph yang didefinisikan dengan

new. Kemudian ditentukan skala dan marginnya. BarPlot adalah diagram batang.

Statement new barPlot berarti $bplot diplot sebagai diagram batang baru yang

didefinisikan berisi $datay. Variabel $datay ini adalah array yang menampung

data-data yang akan ditampilkan dalam bentuk grafik. $graph->Add($bplot);

berarti $bplot diletakkan pada object $graph. Dan untuk menampilkan chart harus

dengan statement $graph->Stroke();. Untuk data yang disajikan akan dibahas

lebih lanjut pada sub bab Database. Demikian pula untuk Menu Laporan,

Advance Report, Transaksi dan Biaya.

Menu Profile adalah menu bagi User untuk merubah informasi profil

mereka. Informasi yang dimaksud melingkupi Password, Nama dan Email, seperti

pada Gambar 4.4 berikut ini.

(60)

43

Form Profile ini sangat terbuka dengan kemungkinan injeksi oleh user

yang tidak bertanggung jawab. Karena itu semua kolom isian yang disediakan di

atas disaring lagi dengan fungsi anti_injeksi(). Fungsi ini akan dibahas lebih lanjut

pada sub bab Security.

Begitu lolos dari proses penyaringan, maka data-data yang telah diisikan

oleh User akan disimpan ke dalam tabel user. Karena terdapat kolom password

yang boleh diisi boleh tidak, maka statement update dibedakan menjadi dua

bagian. Untuk lebih jelasnya dapat melihat potongan script berikut ini.

if(empty($_POST[password_user]) && empty($_POST[password_confirm]) ){

mysql_query("UPDATE user SET nama_user = '$nama_user', email_user = '$email_user'

WHERE session_user = '$_POST[session_user]'");

header('location:?module=profile');

echo “Password hanya boleh berisi huruf dan angka."; elseif(strlen($password_user)<4)

echo "Minimal password terdiri atas 4 karakter."; else

{

$enkripsi=md5($password_user); mysql_query("UPDATE user SET

password_user = '$enkripsi',

nama_user = '$nama_user',

email_user = '$email_user'

WHERE session_user = '$_POST[session_user]'"); header('location:?module=profile');

} }

Jika kolom password dan confirm password kosong, maka query update

hanya dilakukan terhadap kolom nama_user dan email_user. Sedangkan jika tidak

kosong, maka password dicocokkan dulu dengan confirm password. Jika sama,

barulah tabel user di-update dengan query yang nyaris sama, hanya saja ditambah

(61)

44

4.1.3. Halaman Admin

Halaman Admin adalah halaman bagi administrator website untuk

mengelola content website. Halaman ini diakses melalui back-end seperti konsep

CMS pada umumnya.

Gambar 4.5 Back-end Admin

Script yang digunakan untuk membuat form Login Admin di atas sama

dengan script form Login User. Jika Admin berhasil melewati proses login ini,

maka Admin akan diarahkan pada Halaman Admin yang berfungsi sebagai sarana

pengelolaan content website, terutama konten yang disajikan pada User. Hal itu

ditunjukkan dengan menu-menu yang tersedia bagi Admin, seperti yang terlihat

pada Gambar 4.6 berikut ini.

(62)

45

Sama seperti Halaman User, pada Halaman Admin ini juga terdapat lebih

dari satu level admin yang bisa mengaksesnya, yaitu Super Administartor dan

Administrator. Super Administrator di sini “berkuasa” penuh atas segala

pengaturan content website. Sedangkan Administrator hanya dapat menambahkan

User baru dan membuat info yang ditampilkan di Halaman Utama. Cara

membedakan menu kedua kelompok user itu sama dengan potongan script yang

digunakan pada pembatasan akses Halaman User.

Dalam setiap menu yang disediakan bagi Admin, terdapat 3 macam aksi

yang mungkin dilakukan oleh Admin, yaitu tambah, ubah dan hapus. Tambah

diwakili oleh tombol Tambah, sedangkan ubah dan hapus diwakili oleh icon,

seperti yang terlihat pada Gambar 4.7 berikut ini.

Gambar 4.7 Menu Admin Manager

Pada fitur tambah, maka script yang dijalankan berisi statement insert.

Statement update untuk ubah dan delete untuk hapus. Masing-masing menu

mengakses tabelnya sendiri-sendiri. Hal ini akan dibahas pada sub bab Database.

4.1.4. Koneksi Database

Script yang digunakan untuk melakukan menghubungkan PHP dengan

(63)

46

<?php

$server = "localhost"; $username = "root"; $password = "";

$database = "dbgraha";

mysql_connect ($server,$username,$password) or die ("gagal"); mysql_select_db ($database)or die ("Database tidak ditemukan"); ?>

Nama server MySQL yang diakses adalah localhost. Menggunakan login

root dan melakukan koneksi dengan statement mysql_connect. Setelah terkoneksi,

langkah berikutnya adalah memilih database aktif yang terdapat di dalam server

dengan statement mysql_select_db. Dalam script di atas, terlihat bahwa database

dbgraha yang merupakan database inti website ini diatur sebagai default

database. Nantinya, ketika diperlukan pengaksesan ke database yang lain, pada

script tersebut cukup disertakan statement mysql_select_db.

4.1.5. Security

Dengan cukup banyaknya kolom isian yang tersedia bagi User, baik pada

Halaman Utama, Halaman User maupun Halaman Admin, maka security

merupakan aspek yang harus diberi perhatian lebih. Karena itulah dalam setiap

script yang mengandung field input bagi User, minimal harus disaring dengan

salah satu fungsi ctype. Misalnya untuk harga atau jumlah. Karena keduanya

memiliki karakter yang sama, yaitu hanya boleh terdiri atas angka saja, maka field

inputannya harus disaring terlebih dulu dengan ctype_digit(). Fungsi ini akan

menghasilkan nilai 0 atau False apabila di dalam string terdapat karakter selain

angka. Demikian halnya untuk ctype_alnum() untuk angka dan huruf saja. Fungsi

ctype_alnum() digunakan untuk menyaring username dan password, baik ketika

(64)

47

Selain fungsi ctype, untuk menangani injeksi-injeksi yang marak di

internet, maka digunakan fungsi_anti_injeksi yang dikembangkan sendiri selama

pengerjaan Tugas Akhir ini. Fungsi ini merupakan kombinasi beberapa fungsi

PHP yang memang ditujukan untuk penanganan isi string yang cenderung

berbahaya. Script fungsi_anti_injeksi adalah sebagai berikut:

<?php

function anti_injection($data) {

$filter=mysql_real_escape_string(stripslashes(strip_tags(htm lspecialchars($data,ENT_QUOTES))));

return $filter;

}

Fungsi htmlspecialchars() bertujuan untuk mengkonversi semua karakter

spesial yang terkandung di dalam $data, yang merupakan parameter. Misalnya

karakter ‘&’ dikonversi menjadi ‘&amp’. Kemudian strip_tags() bertujuan untuk

menonaktifkan tag HTML atau tag PHP. Seringkali injeksi disisipkan di dalam

tag-tag HTML atau PHP. Fungsi stripslashes() berguna untuk menghapus semua

tanda double backslash \\. Dan fungsi mysql_real_escape_string() berguna untuk

mengamankan query dari karakter seperti \x00, \n, \r, ‘, “, \x1a.

4.2. Database

Pembahasan pada sub bab Database ini akan dibagi-bagi sesuai dengan

menunya masing-masing dengan tujuan mempermudah pemahaman akan

penggunaan setiap tabel.

4.2.1. Menu Analisa

Untuk menampilkan grafik perbandingan pendapatan dan pengeluaran

Gambar

Gambar 3.1 DFD Level 0
Gambar 3.3 DFD Level 2 Login User
Gambar 3.5 DFD Level 2 Mengisi Transaksi
Gambar 3.6 CDM  (part I)
+7

Referensi

Dokumen terkait

Pengalihan penyelesaian perkara anak dari proses peradilan pidana ke proses di luar peradilan pidana dengan cara musyawarah yang melibatkan anak, orang tua anak dan

Ketiga, penelitian ini diharapkan dapat digunakan sebagai masukan dan tambahan wawasan serta bukti empiris mengenai pengaruh besaran akrual, tingkat hutang, volatilitas

“Tanggungjawab Perawat Terhadap Pasien Dalam Pelimpahan Kewenangan Dokter Kepada Perawat”, JOM Fakultas Hukum Volume II Nomor 1. INTERNET :

This study tested using a simple linear regression analysis and intellectual capital measurement model using Pulic model the value added intellectual capital coefficient (VAIC TM

Pada saat ini profesi akuntan menjadi sorotan tajam bagi para pelaku bisnis dan masyarakat karena dianggap sebagai salah satu pihak yang mampu memberikan

[r]

Media bimbingan dan konseling berbasis islami dengan media mainan bagi pembentukan karakter kemandirian pada anak usia dini dilakukan menjadi beberapa tahapan pada setiap

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas berkat dan anugerahNya sehingga karya akhir “Perbedaan Tekanan Darah dan Arterial Stiffness setelah Minum