• Tidak ada hasil yang ditemukan

RANCANG BANGUN SISTEM INFORMASI PENGELOLAAN DATA TOKO BARANG MENGGUNAKAN FRAMEWORK CODEIGNITER DAN MYSQL STUDI KASUS DI TOKO IPC.

N/A
N/A
Protected

Academic year: 2017

Membagikan "RANCANG BANGUN SISTEM INFORMASI PENGELOLAAN DATA TOKO BARANG MENGGUNAKAN FRAMEWORK CODEIGNITER DAN MYSQL STUDI KASUS DI TOKO IPC."

Copied!
128
0
0

Teks penuh

(1)

MENGGUNAKAN FRAMEWORK CODEIGNITER

DAN MYSQL

STUDI KASUS DI TOKO IPC

TUGAS AKHIR

Disusun Oleh :

YUDHA WICAKSONO

NPM : 0634 015 044

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL

″VETERAN″

(2)

RANCANG BANGUN SISTEM INFORMASI PENGELOLAAN

DATA TOKO BARANG MENGGUNAKAN FRAMEWORK

CODEIGNITER DAN MYSQL

STUDI KASUS DI TOKO IPC

Disusun Oleh :

YUDHA WICAKSONO

NPM. 0634 015 044

Telah disetujui untuk mengikuti Ujian Negara Lisan

Gelombang V Tahun Akademik 2010/2011

Pembimbing Utama Pembimbing Pendamping

M. Irwan Afandi, ST, M.Sc Wahyu S.J. Saputra, S.Kom

NPT. 376 070 702 201 NPT. 3860 1002 951

Mengetahui,

Ketua Jurusan Teknik Informatika

Fakultas Teknologi Industri

UPN ”Veteran” Jawa Timur

(3)

TOKO BARANG MENGGUNAKAN FRAMEWORK CODEIGNITER

DAN MYSQL

STUDI KASUS DI TOKO IPC

Disusun Oleh :

YUDHA WICAKSONO

NPM. 0634 015 044

Telah dipertahankan dihadapan dan diterima oleh Tim Penguji Tugas Akhir Jurusan Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jawa Timur Pada Tanggal 10 Juni 2011

Pembimbing :

Yusron Rijal, S.Si, MT NIDN. 0715067901 2.

Wahyu S.J Saputra, S.Kom NPT. 386 081 002 951

2.

Elvi Fatma, S.kom, MM NIDN. 0717037602 3.

Chrystia Aji Putra, S.Kom NPT. 386 101 002 961

Mengetahui

Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran”

Jawa Timur, Surabaya

(4)

CODEIGNITER DAN MYSQL

STUDI KASUS DI TOKO IPC

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagai Persyaratan

Dalam Memperoleh Gelar Sarjana Komputer

Jurusan Teknik Informatika

Disusun oleh:

YUDHA WICAKSONO

NPM. 0634 015 044

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL

″VETERAN″

(5)

Jl. Raya Rungkut Madya Gunung Anyar Telp. (031) 8782179(Hunting). Fax. (031)872257 Surabaya 60294

KETERANGAN REVISI

Mahasiswa dengan nama dan NPM yang tertera di bawah ini:

Nama : Yudha Wicaksono

NPM : 0634015044

Jurusan : Teknik Informatika

Telah mengerjakan Revisi/ tidak ada revisi*) Tugas Akhir Ujian Lisan Gelombang V TA.2010/2011 dengan judul :

“RANCANG BANGUN SISTEM INFORMASI PENGELOLAAN DATA

TOKO BARANG MENGGUNAKAN FRAMEWORK CODEIGNITER

DAN MYSQL STUDI KASUS DI TOKO IPC”

Surabaya, 14 Juni 2011 Dosen Penguji yang memerintahkan revisi

(6)

Pembimbing II : Wahyu S.J. Saputra, S.Kom Penyusun : Yudha Wicaksono

i

ABSTRAK

Dalam kegiatan pengelohan data barang di sebuah toko saat ini masih banyak yang menggunakan cara manual. Sekarang ini tuntutan untuk menggunakan teknologi komputer sangatlah wajar karena zaman sudah canggih Banyaknya data barang yang ada membuat pegawainya kerepotan dalam merapikan setiap data yang ada. Untuk mempermudah hal tersebut dibutuhkan sebuah aplikasi yang dapat mendukung proses tersebut.

Data barang yang ada di toko IPC cukup banyak. Dengan demikian data yang cukup banyak tersebut perlu ditata dan dikelompokkan sesuai dengan kriteria yang ada dengan menggunakan sebuah aplikasi pengolahan data toko barang yang berbasis framework codeigniter dengan menggunakan metode Model View Controller (MVC). Dengan adanya aplikasi diharapkan dapat membatu pihak toko untuk dapat mengelola datanya dengan baik.

Aplikasi ini merupakan sarana untuk mempermudah proses pengelolan data barang di dalam toko yang meliputi stok barang, pembelian, penjualan, retur pembelian dan pembayaran kredit oleh pihak toko secara komputerisasi dan aplikasi ini berjalan secara offline. Supaya tidak menggunakan sistem manual lagi dalam merekapitulasi data.

(7)

ii

Segala puji syukur penyusun panjatkan kehadirat Allah SWT atas segala limpahan rahmat dan hidayahNya sehingga penyusun akhirnya dapat menyelesaikan Tugas Akhir yang berjudul “Rancang Bangun Sistem Informasi Pengelolaan Data Toko Barang Menggunakan Framework CodeIgniter Dan Mysql Studi Kasus di Toko IPC” dengan tepat waktu.

Penulisan Tugas Akhir ini disusun sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) di jurusan Teknik Informatika Fakultas Teknologi Industri UPN ″VETERAN″ Jawa Timur. Walaupun banyak kesulitan yang harus dihadapi penyusun dalam menyelesaikan tugas akhir ini, namun berkat bantuan dan dorongan dari berbagai pihak, akhirnya tugas akhir ini dapat terselesaikan dengan baik.

Akhir kata, penyusun menyadari bahwa Tugas Akhir ini masih jauh dari sempurna, tak lebih karena berbagai keterbatasan yang dimiliki penyusun. Oleh karena itu penyusun mengharapkan kritik dan saran yang bersifat membangun dari para pembaca untuk pengembangan aplikasi lebih lanjut.

Surabaya, Juni 2011

(8)

iii

Penyusunan laporan ini tidak lepas dari bantuan serta kerja sama dari banyak pihak. Untuk itu dengan segala kerendahan hati kami mengucapkan terima kasih yang sebesar – besarnya kepada:

1. Kedua Orang Tua tercinta terima kasih atas semua doa, dukungan serta harapannya sehingga penulis dapat menyelesaikan Tugas Akhir ini.

2. Bapak Ir. SUTIYONO, MT selaku Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur.

3. Bapak Basuki Rahmat, S.Si, MT selaku Kepala Juruan Teknik Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur.

4. Bapak M. Irwan Affandi, ST, M.Sc, selaku dosen pembimbing I dan Bapak Wahyu S.J Saputra, S.Kom, selaku dosen pembimbing II. Terima kasih atas semua bimbingannya selama menyelesaikan Tugas Akhir ini.

5. Bapak Yusron Rijal S.Si, MT, Ibu Elvi Fatma, S.Kom, MM, dan Bapak Chrystia Aji Saputra, S.Kom Selaku dosen penguji Ujian Lisan Tugas Akhir yang juga memberikan semangat, saran dan motivasi kepada kami.

6. Kedua adikku (Lukman dan Ulum) tercinta terima kasih atas semua doa dan dukungannya sehingga penulis dapat menyelesaikan Tugas Akhir ini.

7. Mas Aswin terima kasih atas bantuannya dalam tugas akhir ini. Buat Dedy terima kasih untuk pinjaman laptopnya dan printnya, buat alief trima kasih telah boleh ngprint di tempatnya.

(9)

iv

anak Kost Monster (Mbh Yudha, Kentunk, Jaya, Ulo, Rois, mas yanto). 9. Teman-teman seperjuangan dalam menempuh dan mengerjakan tugas akhir

dan teman-teman jurusan Informatika yang telah memberikan dorongan dan doa, yang tak bisa penulis sebutkan satu persatu. Terima Kasih yang tak terhingga untuk kalian semua.

(10)

iv

2.2.2 Arsitektur dan Klarifikasi Sistem Informasi ... 16

1) Arsitektur Sistem Informasi ... 16

2) Klarifikasi Sistem Informasi ... 16

2.3 UML (Unified Modelling Language) ... 18

2.4 PHP ... 19

(11)

v

2.6.2 Struktur File CodeIgniter ... 25

2.6.3 Installasi CodeIgniter ... 26

2.6.4 Fungsi dan Class dalam CodeIgniter ... 29

2.7 Database MySQL ... 34

BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Permasalahan ... 39

4.4 Implementasi MVC (Model-View-Controller) ... 79

4.4.1 Impelementasi Controller ... 79

4.4.2 Implementasi Model ... 81

(12)

vi

4.5.2 Tampilan Halaman Master Barang ... 83

4.5.3 Tampilan Halaman Master Supplier ... 84

4.5.4 Tampilan Halaman Transaksi Penjualan ... 85

4.5.5 Tampilan Halaman Transaksi Pembelian ... 86

4.5.6 Tampilan Halaman Tahap Pembayaran ... 86

5.3.10 Ujicoba Transaksi Penjualan ... 100

5.3.11 Ujicoba Lihat Transaksi Penjualan ... 100

5.3.12 Ujicoba Retur Pembelian ... 101

5.3.13 Ujicoba Detail Penjualan ... 102

5.3.14 Ujicoba Detail Pembelian ... 103

(13)

vii

BAB VI PENUTUP

6.1 Kesimpulan ... 109 6.2 Saran ... 110

(14)
(15)
(16)

x

Gambar 5.19 Laporan Penjualan dan Pembelian Bulanan ... 104

Gambar 5.20 Laporan Penjualan dan pembelian Tahunan ... 105

Gambar 5.21 Laporan Penjualan dan pembelian Mingguan ... 106

Gambar 5.22 Grafik Penjualan dan Pembelian Bulanan ... 107

Gambar 5.23 Grafik Penjualan dan Pembelian Mingguan ... 107

Gambar 5.24 Grafik Penjualan dan Pembelian Tahunan ... 108

(17)

xi

Tabel 3.1 Tabel Barang ... 66

Tabel 3.2 Tabel Supplier ... 66

Tabel 3.3 Tabel Tahap Pembayaran ... 67

Tabel 3.4 Tabel Pembelian ... 67

Tabel 3.5 Tabel Penjualan ... 68

Tabel 3.6 Tabel Detail Pembelian ... 68

Tabel 3.7 Tabel Detail Penjualan ... 69

Tabel 3.8 Tabel Retur Pembelian ... 69

(18)

1

PENDAHULUAN

1.1 Latar Belakang

Seiring dengan perkembangan era globalisasi yang semakin pesat, sebagian besar masyarakat merasakan informasi telah menjadi salah satu kebutuhan pokok. Informasi telah berubah bentuk menjadi suatu komoditi yang dapat diperdagangkan sehingga mengakibatkan semakin tingginya tingkat persaingan dalam dunia usaha. Dan tidak dapat dipungkiri bahwa pengaruh kemajuan teknologi informasi sudah tidak dapat dihindarkan lagi, seperti penggunaan telepon, faksimili, komputer, dan satelit dalam berbagai aktivitas sarana berkomunikasi perusahaan.

Dengan perkembangan teknologi informasi yang ada saat ini dapat melakukan pengolahan data dengan mudah, dapat menghasilkan suatu informasi yang dibutuhkan dengan akurat dan mengefektifkan waktu, serta dengan biaya yang dikeluarkan lebih efisien. Keunggulan inilah yang menjadikan teknologi informasi saat ini banyak berperan serta dalam segala bidang dan aspek kehidupan yang ada, dan berkembang sesuai dengan kebutuhan masyarakat.

(19)

untuk pengelolaan data toko barang tersebut bukan hanya dapat mempermudah pihak yang terkait dalam perusahaan dalam menghasilkan laporan sebuah data.

Pengelolaan informasi dengan komputer umumnya memiliki jumlah yang besar dari segi data yang dikelola, dan juga memerlukan perangkat-perangkat pendukung dengan biaya pengelolaan dan perawatan yang besar, akan tetapi informasi yang dihasilkan lebih akurat, cepat dan efisien. Dalam melakukan tugasnya, bagian manajer di toko IPC melakukan proses pengolahan data toko barang dan pencatatan secara manual ke dalam buku besar.

Informasi mengenai tentang pembukuan data toko barang di toko IPC merupakan hal yang utama, sehingga diperlukan suatu sistem yang dapat mengelola data-data keuangan dengan baik sehingga memudahkan dalam menyediakan informasi tentang data-data perhitungan data barang secara cepat dan tepat.

Di sini kebutuhan akan informasi secara akurat dan tepat sangat dibutuhkan, maka dari itu dibuatlah suatu aplikasi yang dapat menangani semua masalah pembukuan keuangan di toko IPC. Dikarenakan banyaknya kelemahan yang ditimbulkan karena pengolahan data secara manual, maka pada tugas akhir ini akan berorientasi pada pembangunan aplikasi perangkat lunak untuk menangani masalah pengolahan data toko barang di toko IPC agar lebih terkomputerisasi.

(20)

Informasi Pengelolaan Data Toko Barang Menggunakan Framework Codeigniter Dan Mysql Studi Kasus di Toko IPC”.

1.2 Perumusan Masalah

Permasalahan yang ingin dipecahkan dalam Tugas Akhir ini diantaranya sebagai berikut:

a. Bagaimana merancang suatu sistem yang dapat menggantikan cara yang manual menjadi komputerisasi .

b. Bagaimana cara membuat suatu sistem aplikasi tersebut dengan menggunakan pendekatan OOP (Object Oriented Programing).

c. Bagaimana cara menerapkan aplikasi yang menggunakan pendekatan OOP kedalam pemrogaman yang berbasis web.

1.3 Batasan Masalah

Pada pembuatan aplikasi ini perlu didefinisikan batasan masalah mengenai sejauh mana pembuatan aplikasi ini akan dikerjakan. Beberapa batasan masalah tersebut antara lain:

a. Pembangunan software penggunakan bahasa pemrogaman PHP berbasis framework CodeIgniter.

b. Menggunakan database MySql untuk menyimpan data.

c. Sistem informasi ini besifat offline, hanya digunakan oleh admin atau pegawai di toko IPC.

(21)

tunai dari pelanggan dan retur pembelian kepada supplier.

1.4 Tujuan

Tujuan yang dicapai dari Sistem Informasi ini adalah sebagai berikut: a. Agar tercipta suatu sistem yang dapat menggantikan cara manual

dalam pengisian data menjadi proses komputerisasi.

b. Agar terbuat suatu sistem aplikasi yang menggunakan pendekatan OOP (Object Oriented Programing).

c. Agar sistem aplikasi tersebut yang menggunakan pendekatan OOP dapat diterapkan dalam pemrograman berbasis web.

1.5 Manfaat

Adanya tugas akhir ini diharapkan dapat memberikan manfaat bagi customer dan pemilik toko, yaitu diantaranya:

a. Dapat melihat laporan keuangan setiap minggu, bulan dan tahun. b. Dapat melihat daftar barang yang tersedia pada gudang (jumlah stok).

c. Dapat mencatat transaksi penjualan dan pembelian.

d. Dapat merapikan data barang, data transaksi penjualan dan pembelian supaya tidak berantakan.

1.6 Metode Penelitian

(22)

a. Studi literatur.

Mengumpulkan referensi baik dari internet, maupun sumber-sumber yang lainnya yang berhubungan dengan penyusunan sistem informasi ini serta optimasi-optimasi yang telah ada sebagai tambahan referensi Tugas Akhir ini.

b. Analisa dan perancangan Aplikasi.

Menganalisa semua informasi yang terkait dengan Sistem Informasi data toko barang mulai dari yang masih menngunakan sistem manual, mengidentifikasi masalah dan merumuskan solusi secara konseptual. c. Pembuatan Aplikasi.

Pada tahap ini merupakan tahap yang paling banyak memerlukan waktu karena analisis masalah, model dan rancangan aplikasi yang telah dibuat diimplementasikan dengan menggunakan bahasa pemrograman PHP berbasis framework CodeIgniter dan menggunakan database MySQL. d. Uji coba dan evaluasi aplikasi.

Pada tahap ini setelah aplikasi selesai dibuat maka dilakukan pengujian sistem untuk mengetahui apakah aplikasi tersebut telah bekerja dengan benar dan sesuai dengan konsep yang diajukan dan masalah yang ada.

e. Penyusunan Buku Tugas Akhir.

(23)

f. Pembuatan Kesimpulan.

Pada tahap ini dalam bagian akhir pembuatan Tugas Akhir. Dibuat kesimpulan dan saran dari hasil pembuatan aplikasi yang diperoleh sesuai dengan dasar teori yang mendukung dalam pembuatan aplikasi tersebut dan telah dikerjakan secara keseluruhan.

1.7 Sistematika Penulisan

Pada laporan Tugas Akhir ini akan menjelaskan tentang pembuatan Aplikasi Sistem Informasi Pengelolaan Data Toko Barang Menggunakan Framework Codeigniter Dan Mysql Studi Kasus di Toko IPC. Agar lebih

memahami materi, laporan Tugas Akhir ini dibagi menjadi enam bab yang dilengkapi dengan penjelasan langkah-langkah dan ilustrasinya.

BAB I PENDAHULUAN

Bab ini akan menjelaskan tentang Latar Belakang, Perumusan Masalah, Batasan Masalah, Tujuan Penulisan, Manfaat, Metodologi Penulisan, dan Sistematika Penulisan.

BAB II TINJAUAN PUSTAKA

Bab ini menjelaskan tentang dasar teori yang berkaitan dengan pembuatan Tugas Akhir ini diantaranya Sistem Informasi, PHP,

(24)

BAB III ANALISA DAN PERANCANGAN SISTEM

Dalam bab ini dijelaskan tentang analisa dan perancangan sistem informasi yang antara lain berisi tentang analisa aplikasi yang akan dibuat, deskripsi umum sistem, kebutuhan sistem, dan kebutuhan basis data.

BAB IV IMPLEMENTASI SISTEM

Pada bab ini akan membahas tentang implementasi berdasarkan konsep perancangan yang ada pada BAB III beserta penjelasan tentang kebutuhan sistem supaya aplikasi yang dikerjakan sesuai dengan tujuan dari penulisan Tugas Akhir.

BAB V UJI COBA DAN ANALISA SISTEM

Bab ini menjelaskan tentang pengujian yang dilakukan untuk mengetahui apakah aplikasi yang dibuat bisa bekerja sesuai dengan konsep yang sebenarnya.

BAB VI PENUTUP

Bab ini akan menjelaskan tentang Kesimpulan dari keseluruhan isi dari laporan Tugas Akhir serta Saran yang disampaikan penulis untuk pengembangan aplikasi yang ada demi kesempurnaan aplikasi yang lebih baik.

DAFTAR PUSTAKA

(25)

8

TINJAUAN PUSTAKA

Sebagai penunjang, di bawah ini akan disajikan sejumlah dasar-dasar teori yang digunakan sebagai dasar dalam penyusunan Tugas Akhir ini.

2.1 Sekilas Profil Toko IPC

Toko IPC atau Indomedia Perdana Celuler adalah salah satu usaha pertokoan yang bergerak dibidang jual dan beli handphone baru yang bertempat di jalan Balongsari no.56-57 Surabaya. Proses pelayanan terhadap customer dilakukan melalui beberapa sistem manajemen yang telah di terapkan oleh toko IPC itu sendiri, besarnya jumlah pembelian dan penjualan produk diharapkan seimbang sehingga bisa memenuhi omzet yang di targetkan. Pemenuhan kualitas barang terhadap customer adalah sesuatu yang menjadi fokus utama dari toko IPC

(26)

lebih kecil, karena handphone yang ada di toko ini dikirim oleh supplier atau agen yang selalu memasok barang ke toko ini.

2.2 Konsep Dasar Sistem Informasi

Sistem informasi merupakan suatu sistem yang tujuannya memberikan informasi. Informasi adalah data yang diolah menjadi bentuk yang berguna bagi para pemakaianya. Agar informasi tersebut berguna, maka informasi harus didukung oleh tiga pilar yaitu: tepat kepada orangnya atau relevan ( relevance ), tepat waktu (timeliness) dan tepat nilainya atau akurat (accurate) [2]. Output yang tidak didukung oleh ketiga pilar ini tidak dapat dikatakan sebagai informasi yang berguna, tetapi merupakan sampah (garbage) seperti yang ditunjukkan pada Gambar 2.1.

Gambar 2.1 Pilar-Pilar Informasi yang Berguna

Tugas sistem informasi adalah untuk melakukan siklus pengolahan data dimana untuk melakukan siklus ini, maka sebagai suatu sistem diperlukan komponen-komponen tertentu. Siklus ini disebut dengan siklus pengolahan data

(27)

(data processing life cycle) atau disebut juga dengan nama siklus informasi (information life cycle).

Untuk melakukan siklus pengolahan data diperlukan tiga buah komponen, yaitu komponen input, komponen model dan komponen output. Data yang masih

belum diolah perlu disimpan untuk pengolahan lebih lanjut, karena tidak semua data yang diperoleh disimpan terlebih dahulu yang nantinya setiap saat dapat diambil untuk diolah menjadi informasi. Data ini disimpan di simpanan (storage) dalam bentuk basis data (database). Proses pengolahan data dari basis data yang diolah menjadi informasi disebut dengan extended data processing life cycle yang ditunjukkan pada Gambar 2.2 dibawah ini [4].

Gambar 2.2 Extended Data Processing Life Cycle

Basis data (database) adalah kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan pada perangkat keras (hardware) komputer dan dapat digunakan pada perangkat lunak (software) untuk memanipulasi data–

(28)

Dari konsep dasar sistem informasi dan basis data dapat dilakukan manajemen/ pengolahan data informasi sehingga data dapat diproses sewaktu-waktu ketika dibutuhkan karena sistem informasi menggunakan sistem storage/ penyimpanan data dalam sebuah database.

2.2.1 Komponen dan Elemen Sistem Informasi

Sistem informasi memilki beberapa komponen dan elemen yang berguna untuk mengerjakan suatu sistem informasi agar menjadi lebih baik.

1. Komponen Sistem Informasi

Sistem informasi terdiri dari komponen-komponen yang disebut blok bangunan (building blok), yang terdiri dari komponen input, komponen model, komponen output, komponen teknologi, komponen hardware, komponen software, komponen basis data, dan komponen kontrol. Semua komponen tersebut

saling berinteraksi satu dengan yang lain membentuk suatu kesatuan untuk mencapai sasaran.

(29)

Berikut keterangan dan penjelasan dari gambar diatas: a. Komponen Input

Input mewakili data yang masuk kedalam sistem informasi. Input disini

termasuk metode dan media untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar.

b. Komponen Model

Komponen ini terdiri dari kombinasi prosedur, logika, dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah ditentukan untuk menghasilkan keluaran yang diinginkan.

c. Komponen Output

Hasil dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua pemakai sistem. Dan diharapkan berguna bagi masyakat luas yang akan memakai sistem informasi ini.

d. Komponen Teknologi

Teknologi merupakan “tool box” dalam sistem informasi, Teknologi

digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, meghasilkan dan mengirimkan keluaran, dan membantu pengendalian dari sistem secara keseluruhan.

e. Komponen Hardware

Hardware berperan penting sebagai suatu media penyimpanan vital bagi

(30)

lebih mudah dikatakan sebagai sumber data dan informasi untuk memperlancar dan mempermudah kerja dari sistem informasi.

f. Komponen Software

Software berfungsi sebagai tempat untuk mengolah, menghitung dan

memanipulasi data yang diambil dari hardware untuk menciptakan suatu informasi.

g. Komponen Basis Data

Basis data (database) merupakan kumpulan data yang saling berkaitan dan berhubungan satu dengan yang lain, tersimpan di pernagkat keras komputer dan menggunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan dalam basis data untuk keperluan penyediaan informasi lebih lanjut. Data di dalam basis data perlu diorganisasikan sedemikian rupa supaya informasi yang dihasilkan berkualitas. Organisasi basis data yang baik juga berguna untuk efisiensi kapasitas penyimpanannya. Basis data diakses atau dimanipulasi menggunakan perangkat lunak paket yang disebut DBMS (Database Management System).

h. Komponen Kontrol

(31)

2. Elemen Sistem Informasi

Sistem informasi terdiri dari elemen-elemen yang terdiri dari orang, prosedur, perangkat keras, perangkat lunak, basis data, jaringan komputer dan komunikasi data. Semua elemen ini merupakan komponen fisik.

Gambar 2.4 Hubungan Elemen Sistem Informasi

Berikut keterangan dan penjelasan dari gambar diatas: a. Orang

Orang atau personil yang dimaksud yaitu operator komputer, analis sistem, programmer, personil data entry, dan manajer sistem informasi/EDP.

b. Prosedur

(32)

c. Perangkat Keras

Perangkat keras bagi suatu sistem informasi terdiri atas komputer (pusat pengolah, unit masukan/keluaran), peralatan penyiapan data, dan terminal masukan/keluaran.

d. Perangkat Lunak

Perangkat lunak dapat dibagi dalam 3 jenis utama:

a. Sistem perangkat lunak umum, seperti sistem pengoperasian dan sistem manajemen data yang memungkinkan pengoperasian sistem komputer.

b. Aplikasi perangkat lunak umum, seperti model analisis dan keputusan. c. Aplikasi perangkat lunak yang terdiri atas program yang secara

spesifik dibuat untuk setiap aplikasi. e. Basis Data

File yang berisi program dan data dibuktikan dengan adanya media

penyimpanan secara fisik seperti diskette, hard disk, magnetic tape, dan sebagainya. File juga meliputi keluaran tercetak dan catatan lain diatas kertas, mikrofilm, dan lain sebagainya.

f. Jaringan Komputer

(33)

g. Komunikasi Data

Komunikasi data adalah merupakan bagian dari telekomunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer-komputer dan piranti-piranti yang lain dalam bentuk digital

yang dikirimkan melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat digital. Komunikasi data merupakan bagian vital dari suatu sistem informasi karena sistem ini menyediakan infrastruktur yang memungkinkan sebuah komputer dapat berkomunikasi satu sama lain.

2.2.2 Arsitektur dan Klasifikasi Sistem Informasi

Didalam sistem informasi terdapat arsitektur untuk membuat sistem informasi secara maksimal. Sistem informasi juga dapat di klasifikasikan dari berbagai sudut pandang. Berikut penjelasan dari arsitektur dan klasifikasi sistem informasi.

1. Arsitektur Sistem Informasi

Sistem informasi dapat di bentuk sesuai kebutuhan organisasi masing-masing. Oleh karena itu, untuk dapat menerapkan sistem yang efektif dan efisien diperlukan perencanaan, pelaksanaan, pengaturan, dan evaluasi sesuai keinginan masing-masing organisasi. Guna dari sistem yang efektif dan efisien tidak lain untuk mendapatkan keunggulan dalam berkompetisi. Semua orang dapat menggunakan sistem informasi dalam organisasi, tetapi faktor efisiensi setiap sistem adalah berbeda.

2. Klasifikasi Sistem Informasi

(34)

untuk setiap kasus yang terjadi yang ada di dalam sistem tersebut. Untuk dapat membedakan setiap kasus yang ada maka sistem informasi dibeda-bedakan kedalam klasifikasitertentu. Oleh karena itu, sistem dapat di klasifikasikan dari beberapa sudut pandang, diantaranya:

a. Sistem Abstrak Atau Sistem Fisik

Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik, misalnya sistem teologia, yaitu sistem yang berupa pemikiran hubungan antara manusia dengan Tuhan. Sistem fisik merupakan sistem secara fisik, misalnya sistem komputer.

b. Sistem Alamiah Dan Sistem Buatan Manusia

Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, misalnya sistem perputaran bumi. Sistem buatan manusia merupakan sistem yang melibatkan interaksi manusia dengan mesin, yang disebut human machine system. Sistem informasi berbasis internet merupakan contoh

human machine system karena menyangkut penggunaan komputer yang

berinteraksi dengan manusia.

c. Sistem Deterministik Dan Sistem Probabilistik

Sistem deterministik adalah sistem yang beroperasi dengan tingkah laku yang dapat diprediksi. Sistem probabilistik dalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilistik.

d. Sistem Terbuka Dan Sistem Tertutup

(35)

tidak terpengaruh oleh lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa campur tangan pihak luar.

2.3 UML ( Unified Modelling Language )

Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class

dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan

piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk

(36)

Abstraksi konsep dasar UML yang terdiri dari structural classification,

dynamic behavior, dan model management. Main concepts bisa kita pandang

sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut. UML mendefinisikan diagram-diagram sebagai berikut:

a. use case diagram;

b. class diagram;

Script PHP (PHP: Hypertext Preprocessor) merupakan bahasa web server side yang bersifat open source. Bahasa PHP menyatu dengan script HTML yang

sepenuhnya dijalankan pada server.

Kelebihan dari bahasa pemrograman PHP adalah sebagai berikut:

a. Sebuah script yang tidak melakukan kompilasi dalam penggunanya.

b. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari

mulai IIS sampai dengan dengan Apache, dengan konfigurasi yang sangat mudah.

(37)

yang membantu dalam pengembangannya.

d. Pada sisi pemahaman, PHP adalah bahasa scripting yang paling mudah dikuasai karena referensi yang mudah ditemukan.

PHP adalah bahasa pemrograman Open Source yang dapat digunakan

diberbagai Sistem Operasi (Unix, Linux, Windows) dan dapat dijalankan secara runtime melalui console ataupun terminal serta dapat dijalankan dengan

perintah-perintah sistem.

2.5 OOP ( Object Oriented Programming )

Object Oriented Programming (OOP) adalah istilah yang sangat popular

akhir-akhir ini di dunia pemograman. Bahasa pemrograman modern biasanya mendukung pendekatan OOP untuk membangun software. OOP menggunakan

klasifikasi, relasi dan properti pada objek di sistem untuk membantu pembangunan program.

Bagi pemula, logika pemrograman OOP mungkin sedikit rumit. Tidak seperti pemrograman prosedural yang lebih mudah dipahami. Namun, pendekatan OOP mempunyai proyek yang cerah untuk menyelesaikan pekerjaan-pekerjaan yang cukup komplek.

Beberapa istilah pada OOP: a. Abstraksi ( abstraction ) b. Pewarisan ( inheritance )

(38)

f. Assosiasi ( association ) g. Agregasi ( aggregation )

2.6 CODEIGNITER

CodeIgniter merupakan salah satu dari sekian banyak framework PHP

yang ada. CodeIgniter dikembangkan oleh Rick Ellis. Tujuan dari pembuatan framework CodeIgniter ini menurut user manualnya adalah untuk menghasilkan

framework yang akan dapat digunakan untuk pengembangan proyek pembuatan

website secara lebih cepat dibandingkan dengan pembuatan website dengan cara

coding secara manual, dengan menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter membiarkan kita untuk memfokuskan diri pada pembuatan website dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan website. Kelebihan dari bahasa pemrograman PHP CodeIgniter adalah sebagai berikut: a. Gratis.

CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source

license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita.

b. Berjalan di PHP versi 4 dan 5.

(39)

c. Ringan dan Cepat.

Secara default CodeIgniter hanya berjalan dengan memutar beberapa pustaka saja, dengan demikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa diputar sesuai dengan kebutuhan.

d. Menggunakan MVC.

CodeIgniter menggunakan lingkungan pengembangan dengan metode

Model View Controller (MVC) yang membedakan antara logika dan

presentasi/tampilan, sehingga tugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya. e. Dokumentasi.

Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada dalam CodeIgniter. Mulai dari langkah installasi sampai dokumentasi fungsi-fungsinya tersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.

f. Pustaka yang Lengkap.

CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai

(40)

2.6.1 Konsep Model-View-Controller (MVC)

Konsep MVC adalah konsep pemisahan antara logic dengan tampilan dan database. Manfaat konsep ini adalah, membuat coding logic lebih mudah, karena sudah dipisah dengan code untuk tampilan dan membuat programmer dapat bekerja secara terpisah dengan designer. Programmer mengerjakan logic, sedangkan designer berkutat dengan design dan tampilan. Konsep MVC (Model view Controller) dapat dilihat pada gambar 2.5 beserta penjelasan dari gambar tersebut.

Gambar 2.5 Pola Desain MVC

Pola desain MVC (Model-View-Controller) memberikan pemecahan

(41)

penjelasan dari gambar pola desain MVC (Model-View-Controller) yang ada pada gambar 2.5:

a. Model : Merupakan code struktur data. Model berisi fungsi di dalam pengolahan database. Script Sql masuk di sini. Model merepresentasikan lapisan data enterprise dan logika atau rule bisnis yang akan mengakses dan mengupdate data tersebut. Pada bagian model juga merepresentasikan proses riil yang terjadi pada suatu objek. Bisa termasuk dalam bagian ini adalah javabeans dengan properti dan method yang dimiliki (getters,

setters dan constructors). Javabeans berhubungan dengan konsep

kegunaan dari website yang kita buat yang akan digunakan oleh user. b. View : Merupakan code untuk menampilkan tampilan suata program.

Tampilan dapat berupa Web page, header, footer dan apa saja yang

berjenis tampilan.Bagian ini bisa dibangun dengan teknologi JSP. Bagian ini yang akan memberikan tampilan kepada user, dari data yang didapatkan dari lapisan model. Jadi JSP digunakan disini hanya untuk menampilkan data saja. Bagian ini bisa juga disebut presentation layer. Selain JSP bisa juga dengan menggunakan JSF.

(42)

2.6.2 Struktur File CodeIgniter

CodeIgniter adalah sebuah php framework yang berupa kumpulan folder

dan file php, java script,css,txt dan file berbasis web lainnya dengan setting tertentu untuk menggunakannya dan menyediakan library dan helper yang dapat dimanfaatkan didalam pemrograman php. CodeIgniter di jalankan under web dan harus dengan web server. Program CodeIgniter cukup di letakkan di bawah folder directory web server anda. Struktur file codeigniter dapat dilihat pada gambar 2.6

beserta penjelasannya.

Gambar 2.6 Struktur File CodeIgniter

CodeIgniter

System User guide

Scaffolding Application

Cache

Codeigniter

Database

Fonts

Helpers

Language

Libraries

Logs

(43)

2.6.3 Installasi CodeIgniter

Meskipun namanya installasi tetapi karena CodeIgniter adalah aplikasi berbasis website maka yang sebenarnya dilakukan adalah menyalin folder aplikasi

CodeIgniter kedalam DocumentRoot dari web server yang sudah diinstall

sebelumnya. Bukan melakukan installasi seperti pada aplikasi sistem. Untuk melakukan installasi cukup ektrak file yaitu file CodeIgniter_1.6.1.zip, kemudian letakan folder hasil ekstrak tadi di DocumentRoot web server, yaitu folder htdocs didalam direktori C:\\apachefriends\xampp bagi yang menggunakan XAMPP di Windows. Folder hasil ekstrak tersebut bisa dirubah namanya agar memudahkan kita, misal direname menjadi ci (default hasil ekstrak adalah CodeIgniter_1.6.1). Didalam folder tersebut ada 2 folder lagi yaitu sistem dan user_guide, silahkan saja untuk memindahkan folder user_guide ke tempat lain karena inti aplikasi ada

di folder sistem dan folder user_guide berisi dokumentasi dari CodeIgniter. Didalam folder sistem masih terdapat beberapa folder lain, yang akan sering diakses adalah folder application karena di folder inilah script-script kita akan disimpan. Beberapa folder yang ada di dalam direktori sistem adalah:

a. Application, di folder inilah kode-kode yang kita buat nantinya akan disimpan didalam folder yang sesuai. Model disimpan di folder model, Controller di folder controller dan View di folder views. Folder-folder

yang terdapat di dalam direktori application adalah: a. Model untuk menyimpan model yang kita buat. b. Controller untuk menyimpan controller.

(44)

d. Config untuk menyimpan konfigurasi website yang akan kita buat. Mulai dari konfigurasi dasar, basis data, routing dan lain-lain.

e. Error berisi file-file yang akan ditampilkan jika ada error pada script yang kita buat.

f. Libraries untuk menyimpan pustaka yang kita tambahkan atau

pustaka buatan kita sendiri.

g. Hooks untuk meyimpan hook yang kita buat.

b. Cache, untuk meyimpan caching dari website.

c. CodeIgniter, berisi file-file yang akan me-load inti dari framework.

d. Database, berisi class-class yang akan digunakan untuk bekerja dengan

basis data, termasuk didalamnya driver-driver untuk beberapa server basis data yang didukung oleh CodeIgniter.

e. Fonts, digunakan untuk menyimpan font yang nanti akan kita gunakan di

dalam website.

f. Helpers, berisi helper.

g. Language, digunakan untuk menyimpan file-file dukungan bahasa.

h. Libraries, berisi pustaka-pustaka yang disediakan untuk digunakan untuk pembuatan website.

i. Logs, berisi file-file catatan yang mencatat log dari website kita.

j. Plugins, untuk menyimpan plugin.

k. Scafollding, berisi file-file untuk keperluan scafollding.

Setelah itu, misal foldernya bernama ci maka website bisa diakses lewat http://localhost/ci, tapi sebelum itu jangan lupa untuk melakukan sedikit

(45)

system/application/config/config.php. Di file inilah konfigurasi dasar CodeIgniter

disimpan. Yang perlu dirubah untuk installasi awal ini adalah pada bagian base

URL.

$config['base_url'] = "www.your-site.com";

Pada bagian www.your-site.com ganti dengan URL anda. Karena saya hanya mencoba di localhost dengan nama folder ci, maka base URL nya saya ganti menjadi:

$config['base_url'] = "http://localhost/ci/";

Setelah itu silahkan dibuka alamat http://localhost/ci. Installasi sudah selesai dan sekarang kita siap membuat website menggunakan framework CodeIgniter.

(46)

2.6.4 Fungsi dan Class dalam CodeIgniter

a. Library

Library atau pustaka merupakan kumpulan class dan fungsi yang

disediakan CodeIgniter. Lewat library inilah CodeIgniter menyediakan fungsi-fungsi yang bisa digunakan dalam pembuatan website. Misalnya saja library untuk akses ke basis data, library untuk mengirim email, library untuk validasi input dan lain-lain. Library diletakan didalam direktori system/libraries atau bisa

juga di dalam system/application/libraries. Untuk dapat menggunakan sebuah library maka library tersebut harus di-load lebih dahulu di dalam controller yang

akan menggunakannya.

$this->load->library(‘[nama_library]’);

Selain di-load secara manual di dalam controller, library yang ingin digunakan juga bisa di-load secara otomatis sehingga bisa digunakan pada semua controller dengan menambahkannya pada array pada file autoload.php didalam

direktori system/application/config/ pada bagian:

$autoload['libraries'] = array();

Berikut beberapa library yang ada di CodeIgniter:

a. Library Database.

b. Library E-mail.

c. Library Uploading File

d. Pagination Library

(47)

b. Helpers

Helpers adalah kumpulan fungsi-fungsi dalam berbagai kategori yang

seperti halnya library juga kita gunakan untuk pembuatan website. Misalnya saja

URL helpers untuk berkerja dengan URL, Form helpers untuk bekerja dengan

form HTML dan masih banyak lagi. Helpers dalam CodeIgniter tidak seperti

library yaitu tidak ditulis dalam OOP tetapi menggunakan struktur pemrograman

biasa. Mungkin saja hal itu untuk memudahkan saja karena sebuah fungsi di dalam helpers akan berguna hanya untuk menyelesaikan satu masalah. Misalnya saja fungsi anchor() digunakan untuk membuat hyperlink. Helpers secara default tersimpan di dalam direktori system/helpers meskipun begitu kita juga bisa menyimpannya didalam direktori system/application/helpers. Nama file helpers memiliki standar [nama_helper]_helper.php sehingga helpers form akan memiliki file dengan nama form_helper.php. Untuk dapat menggunakan helper maka

terlebih dahulu kita me-loadnya didalam controller yang akan menggunakannya. Setelah dibuka helpers tersebut akan bisa digunakan dalam controller tersebut dan dalam views yang dipanggil dari controller bersangkutan.

$this->load->helper(‘[nama_helper]’);

Sehingga $this->load->helper(‘form’) akam me-load form helpers. Kita juga bisa membuka beberapa helpers sekaligus dengan memasukan helpers-helpers yang akan dibuka ke dalam array.

(48)

semua controller. Caranya buka file system/application/config/autoload.php kemudian masukan helpers yang akan dibuka dalam array di baris:

$autoload['helper'] = array();

c. Plugin

Plugin, seperti halnya helpers dan library juga berisi fungsi yang dapat

digunakan untuk membantu pekerjaan pembuatan website. Bedanya satu plugin hanya untuk menyelesaikan satu buah tugas saja. Tidak seperti di dalam helpers yang bisa memiliki beberapa fungsi untuk tugas yang berbeda meskipun masih berhubungan. Selain itu jika helpers dan library termasuk kedalam inti sistem dari

CodeIgniter, maka plugin merupakan tambahan yang dibuat oleh para

pengembang di luar CodeIgniter dan biasanya didistribusikan sendiri. Plugin disimpan di dalam direktori system/plugin dengan standar nama file [nama_plugin]_pi.php sehingga jika ada plugin login maka nama filenya adalah

login_pi.php. Sampai CodeIgniter versi 1.6.1 CodeIgniter hanya menyertakan dua

buah plugin yaitu captcha dan calendar. Untuk dapat menggunakan plugin terlebih dahulu plugin tersebut harus di-load terlebih dahulu di dalam controller yang akan menggunakan plugin tersebut.

$this->load->plugin(‘[nama_plugin]’);

Plugin juga dapat dibuka secara otomatis dengan menambahkannya

kedalam file system/application/config/autoload.php pada bagian:

$autoload['plugin'] = array();

d. Scaffolding

Pada saat melakukan konfigurasi routing pada file system/application/config/routes.php kita menemukan sebuah istilah yang disebut

(49)

dan cepat untuk melakukan akses ke basis data, misalnya untuk input, edit atau delete data tanpa perlu menggunakan aplikasi lain. Dengan memasukan sebuah

kata kedalam konfigurasi $route['scaffolding_trigger'] kita dapat mengakses tabel dalam basis data hanya dengan meyertakan kata tersebut saat membuka alamat website. Tentunya dengan asumsi bahwa semua konfigurasi untuk melakukan

akses ke server basis data sudah benar. Fitur ini sangat berguna dalam masa pengembangan dan sebaiknya tidak lagi digunakan jika website sudah kita upload ke internet. Secara sederhana skenario penggunaan scaffolding adalah sebagai berikut: dalam membuat website dengan basis data tentu saja kita harus membuat tabel kemudian melakukan pengisian data, edit atau delete data. Hal tersebut bisa dilakukan dengan perintah-perintah SQL atau menggunakan aplikasi semacam

phpMyAdmin atau MySQL-front bagi yang menggunakan MySQL. Fitur

scaffolding menyediakan sebuah interface web browser untuk melakukan hal

tersebut. Yang perlu dilakukan adalah buat tabelnya, kemudian tentukan kata yang akan kita gunakan untuk dapat membuka tabel yang kita buat.

e. Penanganan Error

Error atau kesalahan seringkali terjadi, mulai dari saat pengembangan

sampai saat website sudah jadi dan di upload pun error masih sering ditemukan. Saat pengembangan pesan error sangat penting untuk mengetahui dimana kesalahan terjadi. Secara default CodeIgniter menampilkan semua error yang terjadi. Konfigurasinya terdapat pada file index.php pada bagian:

error_reporting(E_ALL);

(50)

menjadi nilai lain agar PHP tidak menampilkan semua error yang terjadi. Karena pesan error bisa menjadi masalah. Orang lain bisa menggunakan pesan error untuk mendapatkan informasi tentang kelemahan yang ada pada website. CodeIgniter menyediakan fungsi-fungsi yang berkaitan dengan error.

Fungsifungsi tersebut tidak perlu di-load terlebih dahulu karena sudah termasuk kedalam inti sistem CodeIgniter yang dibuka secara otomatis. Tampilan untuk pesan error tersimpan pada direktori system/application/error/.

f. Cache

CodeIgniter menyediakan fasilitas caching untuk menaikan performa saat

website diakses. Dengan fasilitas caching ini maka semua halaman yang diakses

akan disimpan kedalam cache sehingga saat ada user lain yang mengakses maka akan diberikan halaman hasil caching. Hal ini dapat mempercepat proses loading

halaman website dan tentu saja akan mengurangi beban kerja dari web server. Fasilitas caching termasuk kedalam class library output, dan untuk melakukan caching pada setiap halaman website bisa dengan meletakan fungsi:

$this->output->cache([angka]);

Dimana [angka] adalah jumlah menit sebelum halaman tersebut akan kadaluarsa diputar ulang. Saat sebuah halaman di akses untuk pertama kali maka cache dari halaman tersebut akan disimpan di dalam direktori system/cache/.

Pastikan direktori tersebut bisa ditulisi oleh web server. Jika ada pengunjung mengakses halaman yang sama maka akan diambilkan halaman hasil cache tersebut. Jika halaman tersebut sudah expired (umurnya sudah melebihi batas angka yang diberikan) maka hasil cache akan dihapus dan diganti dengan yang

(51)

g. Keamanan

Masalah keamanan adalah maslah klasik yang selalu menghantui semua pengguna dan pengembang website. Meskipun CodeIgniter sudah menyediakan beberapa kemampuan untuk melakukan pengamanan tetapi tetap saja aman atau tidaknya suatu website lebih ditentukan oleh web masternya. CodeIgniter menyediakan batasan karakter apa saja yang bisa digunakan dalam pembuatan alamat URI yaitu berupa huruf dan angka atau jika menggunakan karakter lain hanya tilde (~ ), period (.), colon ( : ), underscore ( _) dan dash ( -) yang diperbolehkan. CodeIgniter juga tidak memperbolehkan penggunaan metode GET pada input form dan secara default semua input form menggunakan metode POST. Saat sebuah controller di-load maka CodeIgniter akan menghilangkan semua

inputan yang menggunakan metode GET yang ditemukan,melakukan filter

terhapap input dengan metode POST jika ditemukan, melakukan filter pada cookies jika ditemukan, menyediakan XSS filtering serta meyamakan karakter

baris baru dengan \n. Cross Scripting Hack adalah salah satu jenis cracking website dengan memasukan kode-kode jahat kedalam website kita. CodeIgniter

memiliki fitur XSS filtering yang akan menyaring semua input kemungkinan adanya kode-kode jahat.

2.7 DATABASE MySQL

MySQL merupakan database server di mana pemrosesan data terjadi di

server, dan client hanya mengirim data serta meminta data. Oleh karena

(52)

komputer telah terhubung ke server. Lain halnya dengan database desktop di mana segala pemrosesan data seperti penambahan data ataupun penghapusan data harus dilakukan pada komputer yang bersangkutan.

MySQL termasuk dalam kategori database manajemen sistem, yaitu

database yang terstruktur dalam pengolahan dan penampilan data. Sejak

komputer dapat menangani data yang besar, database manajemen sistem memegang peranan yang sangat penting dalam pengolahan data. Hal ini sangat diperlukan, karena data tersebut dapat diatur sesuai dengan kebutuhan pemakainya. MySQL merupakan Relational Database Manajemen Sistem (RDBMS) yaitu hubungan antar tabel yang berisi data-data pada suatu database. Hal tersebut lebih baik daripada jika semua data terkumpul menjadi satu dalam satu tabel. Kelebihan hal di atas, yaitu dapat mempercepat pencarian suatu tabel. Tabel-tabel tersebut di link oleh suatu relasi yang memungkinkan untuk mengkombinasikan data dari beberapa tabel ketika seorang user menginginkan menampilkan informasi dari suatu database.

Ada beberapa alasan mengapa MySQL menjadi program database yang sangat popular dan digunakan oleh banyak orang. Alasan-alasan tersebut diantaranya ialah:

a. MySQL merupakan database yang memiliki kecepatan yang tinggi dalam

(53)

di sekitar yang siap membangun menyelesaikan masalah tersebut serta dukungan manual maupun referensi yang banyak bertebaran di internet.

b. MySQL mendukung banyak bahasa pemrograman seperti C, C++, Perl,

Phython, Java, dan PHP. Dengan menggunakan bahasa pemrograman tersebut

untuk berinterakasi maupun berkomunikasi dengan MySQL, atau dapat digunakan sebagai komponen pembentuk antarmuka (interface) dari suatu database MySQL.

c. Koneksi, kecepatan, dan keamanan membuat MySQL sangat cocok diterapkan untuk pengaksesan database melalui internet, dengan menggunakan bahasa pemrograman Perl atau PHP sebagai antarmukanya.

d. MySQL dapat melakukan koneksi dengan client menggunakan protocol

TCP/IP, Unix socket (Unix), atau Named Pipes (NT).

e. MySQL dapat menangani database dengan skala yang sangat besar dengan

jumlah record mencapai lebih dari 50 juta, dapat menampung 60 ribu tabel, dan juga bisa menampung 5 milyar baris data. Selain itu, batas indek pada tiap tabel dapat menampung mencapai 32 indek.

f. Dalam hal relasi antartabel pada suatu database, MySQL menerapkan metode yang sangat cepat yaitu dengan menggunakan metode one-sweep multijoin. MySQL sangat efisien dalam mengelola informasi yang di minta yang berasal

dari banyak tabel sekaligus.

g. Multiuser, yaitu dalam satu database server pada MySQL dapat diakses oleh beberapa user dalam waktu yang sama tanpa mengalami konflik atau crash.

(54)

sistem perizinan yang khusus serta password yang dimiliki setiap user dalam bentuk data terenkripsi.

i. MySQL merupakan software database yang bersifat free atau gratis, jadi tidak perlu susah-susah mengeluarkan isi kantong di untuk hanya sekedar membayar lisensi kepada pembuat software. Hal ini sangat berbeda jika menggunakan software database seperti IBM DB@ ataupun Oracle, karena harus membayar mahal untuk mendapatkan lisensinya.

A. Structured Query Language ( SQL )

SQL adalah bahasa standard yang digunakan oleh hampir semua database seperti MySQL, Oracle atau Microsoft SQL Server. Database menggunakan perintah SQL untuk memodifikasi data di dalam tabel, karena SQL dirancang dengan mudah untuk menguraikan hubungan antara tabel dengan baris. Perintah SQL yang sering digunakan antara lain Insert, Select, Update dan Delete.

a) Perintah INSERT

Insert merupakan perintah untuk menambahkan data baru ke dalam tabel. Sintaks:

INSERT INTO nama_tabel (fields) VALUES(nilai_fields);

b) Perintah SELECT

Select merupakan perintah untuk menampilkan data dari tabel. Dalam menampilkan data, dapat pula menambahkan kondisi-kondisi tertentu sesuai dengan kebutuhan.

Sintaks:

SELECT ekspresi_dan_fields FROM nama_tabel [ WHERE kondisi ]

(55)

[ LIMIT offset, rows ] ;

c) Perintah UPDATE

Update adalah perintah SQL yang digunakan untuk memodifikasi satu atau lebih field di dalam satu tabel.

Sintaks:

UPDATE nama_tabel

SET field1=’nilai_baru1’, Field2=’nilai_baru2’ [ WHERE kondisi ]

d) Perintah DELETE

Pada saat menggunakan perintah Delete, harus diperhatikan spesifikasi field yang akan dihapus, karena pada saat menjalankan perintah Delete tidak

terdapat pesan konfirmasi sebelumnya yang akan mengakibatkan data terhapus semua.

Sintaks:

(56)

39

3.1 Analisis Permasalahan

Aplikasi yang akan dibuat pada Tugas Akhir ini adalah sebuah sistem informasi pengelolaan data toko barang dan aplikasi ini merupakan suatu aplikasi

berbasis CodeIgniter dan menggunakan MySQL sebagai database, dimana sistem

informasi ini dapat memudahkan admin toko dalam mencatat semua transaksi yang ada di

toko tersebut. Tetapi sistem informasi ini meskipun berbasis framework

CodeIgniter yang pada umumnya merupakan bahasa pemrogaman berbasis web,

sistem informasi ini bersifat offline dan hanya digunakan oleh admin toko.

Dengan memanfaatkan aplikasi ini diharapkan sebuah toko mampu meningkatkan pelayanan terhadap konsumennya. Sehingga tingkat kepuasan konsumen lebih terjamin dan dapat memperlancar proses jual beli baik secara kredit maupun tunai.

3.2 Perancangan Sistem

Perancangan sistem berisikan penjelasan tentang deskripsi umum sistem yang meliputi kebutuhan perangkat lunak, kebutuhan perangkat keras dan kebutuhan fungsional sistem. Kemudian perancangan proses-proses tersebut akan dijabarkan dalam Use case diagram, activity diagram, entitiy relationship

diagram, garis besar basis data yang akan digunakan dalam aplikasi ini dan

(57)

3.2.1 Deskripsi Umum Sistem

Berikut Gambar deskripsi arsitektur sistem informasi yang akan dibangun pada aplikasi ini:

Gambar 3.1 Deskripsi Sistem Informasi

Dengan mengidentifikasi arsitektur pada Gambar 3.1 telah diketahui bahwa deskripsi dari sistem adalah sebagai berikut:

A. User atau pengguna menjalankan sistem informasi untuk mengolah data

dan mencatat transaksi yang terjadi dalam komputer atau laptop.

B. Laptop atau komputer adalah media yang digunakan untuk meletakkan sistem informasi pengelolaan data toko.

(58)

D. Proses penambahan data terjadi.

E. User dapat menyimpan transaksi-transaksi, di sini user bisa menyimpan keseluruhan transaksi yang ada pada sistem pada menu transaksi.

F. Proses penyimpanan terjadi.

G. User dapat merekap laporan keuangan selama transaksi per bulan dan grafik penjualan barang yang ada di toko.

H. User mendapatkan laporan keuangan data transaksi dalam bentuk laporan

neraca dan grafik.

3.2.2 Kebutuhan Sistem

Dengan mengidentifikasi deskripsi pada Gambar 3.1 telah diketahui bahwa terdapat beberapa fokus utama pada sistem yaitu berupa proses penambahan data-data yang diperlukan toko seperti data-data barang dan data-data supplier, proses melakukan

transaksi serta rekapitulasi transaksi, ataupun laporan neraca dan diagram transaksi, semua proses data tersebut merupakan kebutuhan pengguna.

1. Kebutuhan Perangkat Keras

(59)

2. Kebutuhan Perangkat Lunak

Untuk memenuhi kebutuhan pengguna dalam berinteraksi dengan sistem diperlukan perangkat lunak sebagai jembatan untuk mengimplementasikan system informasi ini ke dalam perangkat keras. Perangkat lunak yang akan digunakan dalam perancangan aplikasi ini adalah:

a. PHP berbasis framework CodeIgniter b. MySQL

c. Dreamweaver d. Apache Server e. SQL yog

3. Kebutuhan Fungsional

Kebutuhan fungsional adalah kebutuhan yang harus diimplementasikan pada saat pembuatan aplikasi atau sistem. Spesifikasi kebutuhan fungsional untuk pengguna diantaranya:

a. Halaman utama atau login, user langsung lakukan login untuk bisa mengakses sistem ini.

b. Menu master, terdiri dari menu data barang dan data supplier.

c. Menu pembelian, terdiri dari proses transaksi pembelian, daftar pembelian, retur pembelian, tahap pembayaran, detail pembelian.

d. Menu penjualan, terdiri dari proses transaksi penjualan, daftar penjualan, detail penjualan.

(60)

3.3 Perancangan Proses

Dengan melihat hasil analisis dan deskripsi diatas maka sistem informasi tersebut digunakan untuk mengGambarkan sejumlah proses terstruktur dalam sistem, berorientasikan pada aliran proses yang terjadi, agar memperjelas proses alur sistem yang dibuat.

Aplikasi ini terdiri dari beberapa modul. Modul-modul tersebut saling terkait membentuk tiga bagian utama dalam aplikasi. Modul-modul tersebut antara lain:

a. Modul master barang, modul ini berfungsi mengatur data barang yang dijual termasuk di dalamnya operasi penambahan, perubahan dan penampilan data barang.

b. Modul master supplier, modul ini berfungsi mengatur data supplier yang memasok barang ke toko termauk di dalamnya operasi penambahan, perubahan dan penampilan data supplier.

c. Modul pembelian, modul ini merupakan inti dari aplikasi ini, modul ini akan mengatur pembelian barang termasuk di dalamnya operasi penambahan dan penampilan proses pembelian barang.

d. Modul detail pembelian, modul ini berfungsi mengatur rincian lengkap pembelian barang termasuk di dalamnya operasi penampilan.

e. Modul retur pembelian, modul ini berfungsi mengatur pengembalian barang yang rusak ketika di beli dari supplier termasuk di dalamnya operasi penambahan dan penampilan.

(61)

g. Modul detail penjualan, modul ini berfungsi mengatur rincian lengkap proses penjualan barang termasuk di dalamnya operasi penampilan.

h. Modul tahap pembayaran, modul ini berfungsi mengatur mengatur proses pembayaran kredit kepada supplier termasuk di dalamnya operasi

penambahan dan penampilan.

i. Modul user, modul ini berfungsi mengatur user yang berhak login kedalam aplikasi ini.

Secara garis besar modul-modul di atas terdiri dari operasi penambahan, pengubahan, dan penghapusan. Operasi dalam pembahasan selanjutnya akan disebut dengan action. Berdasarkan penjelasan modul di atas maka perlu dibuat suatu basis data dan beberapa tabel yang digunakan untuk menyimpan informasi setiap modul.

3.3.1 UML (Unified Modeling Language)

Berikut tahap-tahap pemodelan UML dari analisis program diatas.

1. Use Case Diagram

Pemodelan use case adalah pemodelan sistem dari perspektif pandangan pemakai akhir (end user). Model use case menangkap penggunaan-penggunaan

sistem, sedangkan model rancangan merepresentasikan pembangunan dari sistem. Dalam sebuah sistem dimungkinkan mempunyai beberapa diagram Use case yang merupakan kelompok-kelompok yang diorganisasikan dengan tujuan

(62)

Login

Tambah barang

Tambah pembelian Tambah penjualan

Lihat laporan penjualan dan pembelian

Gambar 3.2 Use Case Diagram.

a. Use caseLogin

Use case login berfungsi untuk melakukan verifikasi dimana hanya user

tertentu yang dapat melakukan kewenangan tertentu. Fungsi untuk melakukan validasi pengguna sistem guna menentukan fungsi apa saja yang dapat dilakukan dan fungsi apa saja yang tidak boleh dilakukan oleh pengguna.

Pada proses login, Administrator harus memasukkan username dan password masing – masing yang sesuai dengan yang dipunyai. Jika salah akan

muncul peringatan login ulang. Jika benar maka administrator akan dialihkan ke

(63)

b. Use case Tambah barang

Yang dapat menambah barang hanya aktor admin. Pada proses tambah barang kriteria harus sama dengan yang ditentukan oleh owner toko. Didalam tambah barang tidak bisa mengisi jumlah stok karena akan terisi melalui proses pembelian.

c. Use case Lihat Barang

Pada proses ini user hanya melihat barang-barang apa saja yang ada di

dalam toko. Untuk memastikan jumlah stok barang tersebut aman. Yang mengakses halaman ini admin.

d. Use case Ubah Barang

Sama seperti halnya dengan menambah barang, proses perubahan harus sesuai perkembangan jenis brang tersebut. Terlihat yang terlibat dalam perubahan data barang hanyalah aktor admin.

e. Use case Tambah Supplier

Yang dapat menambah barang hanya aktor admin. Pada proses tambah alamat supplier yang menjual barang harus jelas supaya apabila ada barang rusak dapat dihubungi. Karena barang yang rusak akan masuk dalam retur pembelian.

f. Use case Lihat Supplier

Pada proses ini user hanya melihat data supplier yang selama ini memasok barang ke toko. Untuk memastikan data tentang supplier benar. Yang mengakses halaman ini admin.

g. Use case Ubah Supplier

(64)

h. Use case Tambah Pembelian

Pada proses ini seorang admin transaksi pembelian barang kepada supplier, tapi sebelumnya nama supplier tersebut sudah dicatat di dalam form

supplier. Ini dilakukan bila toko melakukan pembayaran secara kredit terhadap

supplier tersebut, maka akan masuk ke menu tahap pembayaran. Yang mengakses

adalah seorang admin.

i. Use case Lihat Pembelian

Use case ini digunakan untuk melihat pembelian yang telah dilakukan.

Apakah dalam melakukan proses pembelian ada yang salah saat memasukkan data atau tidak.

j. Use case Lihat Detail Pembelian

Use case berikut ini menunjukkan detail data pembelian yang dilakukan

oleh admin. Karena dalam proses pembelian tadi hanya serah terima tanda jadi belinya saja belum untuk rincian yang lain-lainnya. Disini akan dijelaskan secara detail.

k. Use case Tambah Retur Pembelian

Use case ini digunakan dilakukan untuk mengembalikan barang yang

rusak atau cacat ketika proses pembelian dari supplier dan akan diganti oleh supplier. Disini harus menyerahkan perjanjian, kapan barang yang rusak atau

cacat ini akan diganti.

l. Use case Tahap Pembayaran

Use case ini digunakan untuk mencatat hutang yang dipunyai toko

(65)

dibeli dengan tunai ketika didalam kas uangnya kosong maka melakukan proses kredit.

m. Use case Tambah Penjualan

Pada proses ini dilakukan proses penjualan kepada customer. Didalam proses ini nama customer akan dicatat untuk catatan sebagai pelanggan yang sering membeli barang di toko.

n. Use case Lihat Penjualan

Use case ini digunakan untuk melihat penjualan yang telah dilakukan.

Apakah dalam melakukan proses penjualan ada yang salah saat memasukkan data atau tidak.

o. Use case Lihat Detail Penjualan

Use case ini digunakan untuk melihat rincian penjualan yang telah

dilakukan. Apabila user lupa akan rincian penjualan bisa langsung melihatnya di detail penjualan.

p. Use case Melihat Laporan

Use case ini digunakan untuk melihat laporan keuangan setiap bulan.

Dapat melihat setiap transaksi yang terjadi setiap bulannya. Laporan dapat dilihat dalam bentuk neraca dan grafik.

2. Activity Diagram

(66)
(67)
(68)
(69)

Start

(70)
(71)
(72)
(73)
(74)
(75)

Start

(76)

3. Class Diagram

Diagram kelas digunakan untuk menampilkan kelas-kelas atau paket-paket di dalam sistem dan relasi antar mereka. Memberikan Gambaran sistem secara statis. Merupakan alat perancangan terbaik yang membantu pengembang mendapatkan struktur sistem sebelum menuliskan kode program, membantu untuk memastikan bahwa sistem adalah rancangan terbaik. Gambar class diagram dilihatkan seperti pada Gambar 3.13.

(77)

Terdapat beberapa kelas yang membungkus informasi dan perilaku. Pada diagram kelas diatas terdapat 9 kelas yaitu barang, supplier, pembelian, detail pembelian, penjualan, detail penjualan, retur pembelian, tahap pembayaran, user. Terlihat pada diagram kelas pembelian berelasi dengan 4 kelas diantaranya supplier, retur pembelian, tahap pembayaran dan detail pembelian. Relasi dari

pembelian ke supplier adalah many to one artinya banyak proses pembelian dapat dilakukan terhadap satu supplier. Begitu juga pada retur pembelian adalah one to many artinya satu pembelian dapat dilakukan banyak retur pembelian. Relasi dari

pembelian ke tahap pembayaran adalah one to many artinya satu kali melakukan pembelian dapat melakukan sebanyak-banyaknya tahap pembayaran. Pada kelas user hak aksesnya terbagi menjadi 3 yaitu admin, kasir, dan owner yang

masing-masing mempunyai hak akses yang berbeda-beda.

Untuk kelas barang memiliki relasi dengan 2 kelas yaitu detail pembelian dan detail penjualan. Relasi dari barang ke detail pembelian adalah one to many artinya banyak barang karena dilakukan banyak detail pembelian. Sedangkan relasi dari barang ke detail penjualan adalah one to many artinya banyak barang dapat dilkakukan banyak penjualan.

Untuk kelas user tidak mempunyai hubungan ke kelas yang lain karena tidak ada kelas yang berelasi dengan kelas user.

3.3.2 Diagram E-R (Entity Relational)

ERD merupakan model jaringan yang menggunakan susunan data yang

(78)

profesional sistem untuk berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih kepada:

1. Data apa saja yang diperlukan untuk bisnis mereka? 2. Bagaimana data tersebut berelasi dengan data lainnya? 3. Siapa saja yang diperbolehkan mengakses data tersebut? Notasi yang digunakan pada perancangan E-R diagram.

Gambar 3.14 Notasi E-R Diagram

Dalam pembuatan ERD kami menggunakan software Power Designer 12.

Pada Power Designer 12 ini terdapat beberapa bagian, yaitu Conceptual Data Model (CDM), dan Physical Data Model (PDM). Conceptual Data Model (CDM)

(79)

menyicil

Conceptual Data Model pada aplikasi sistem ini merepresentasikan

rancangan basis data konseptual di server. Sesuai dengan database yang akan dibangun, dimana tiap database akan terdiri dari beberapa tabel. Oleh karena itu

pada CDM ini akan mempersiapkan beberapa tabel yang dibutuhkan sistem. Berikut ini Gambar conceptual data model yang dapat dilihat pada Gambar 3.15.

Gambar

Gambar 2.4  Hubungan Elemen Sistem Informasi
Gambar 2.5 Pola Desain MVC
Gambar 2.6 Struktur File CodeIgniter
Gambar 2.7  Tampilan awal setelah CodeIgniter di install.
+7

Referensi

Dokumen terkait

Keberadaan gen GH melalui penyandi enzim restriksi Msp1 + pada fragmen rantai DNA sepanjang 327 bp, dapat dilakukan pula pada generasi anak G1 yang berasal dari induk

Berdasarkan dari hasil analisis yang di- lakukan, maka dapat ditarik kesimpulan sebagai berikut: (1) pengawasan tidak berpe- ngaruh langsung melalui kinerja terhadap

Sistem Informasi Penjadwalan Dokter Berbassis Web Dengan Menggunakan Framework Codeigniter (Studi Kasus: Rumah Sakit Yukum Medical Centre).. Asuhan Kehamilan untuk

Hasil penelitian (Wiley- Blackwell, 2011) menunjukkan bahwa berat lahir anak yang baru lahir meningkat dengan meningkatnya BMI ibu hamil, dan bahwa berat lahir

HARTINY BINTI ABD KAHAR ROSWADY BIN ABDUL WAHAB MASFIZAIZAN BINTI MANAF MINARNI BINTI SAIRI SADIAH BINTI ABDUL WAHAB AZAHAR BIN.. JOHARI MASFIZAIZAN

Dengan kata lain, bahan tambahan adalah bahan-bahan yang dibutuhkan sebagai pelengkap bahan baku untuk sama-sama membentuk barang jadi, dimana komponen bahan tambahan ini

Percobaan lapangan menggunakan tiga perlakuan yakni: 1) bahan plastik penutup berproteksi UV, 2) kemiringan atap penutup rumah plastik dengan bidang horizontal, dan 3) jenis

Tujuan dari penelitian ini adalah untuk mengetahui perbedaan hasil belajar siswa dengan metode langsung dan seberapa besar peningkatan tersebut khususnya dalam