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

(1)

PENGELOLAAN DATA TOKO BARANG

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″

JAWA TIMUR

2011


(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

Basuki Rahmat, S.Si., MT NPT. 36907 0602 091


(3)

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 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 : 1.

M. Irwan Afandi, ST, M.Sc NPT. 376 070 702 201

Tim Penguji : 1.

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

Ir. Sutiyono, MT NIP. 19600713 198703 1001


(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″

JAWA TIMUR

2011


(5)

FAKULTAS TEKNOLOGI INDUSTRI

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

1) Yusron Rijal, S.Si, MT

( )

NIDN. 0715067901

2) Elvi Fatma, S.kom, MM

( )

NIDN. 0717037602

3) Chrystia Aji Putra, S.Kom

( )

NPT. 386101002961

Mengetahui,

Dosen Pembimbing I Dosen Pembimbing II

M. Irwan Afandi, ST, Msc Wahyu S.J Saputra, S.Kom NPT. 376 070 702 201 NPT. 38608 1002 951


(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.

8. Teman-teman Gank Parasit (Chimie, Bagus, Dedy, Jadid, Rhandy, Erik, Rina, Bahrul) yang jadi teman sepermainan dan teman untuk senang-senang,


(9)

iv

harus tetep main futsal bersama-sama walaupun sudah lulus menjadi sarjana, 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.

Aku hanya ucapkan tetap SEMANGAT buat anak-anak Teknik Informatika. Semoga kalian semua selalu sabar dalam menempuh kuliah.


(10)

iv

HALAMAN JUDUL LEMBAR PENGESAHAN

ABSTRAK ... i

KATA PENGANTAR ... ii

UCAPAN TERIMA KASIH ... iii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xi

BAB I PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.4 Tujuan ... 4

1.5 Manfaat ... 4

1.6 Metode Penelitian ... 4

1.7 Sistematika Penulisan ... 6

BAB II TINJAUAN PUSTAKA 2.1 Sekilas Profil Toko IPC ... 8

2.2 Konsep Dasar Sistem Informasi ... 9

2.2.1 Komponen dan Elemen Sistem Informasi ... 11

1) Komponen Sistem Informasi ... 11

2) Elemen Sistem Informasi ... 14

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.1 Konsep Model-View-Controller (MVC) ... 23

2.6.2 Struktur FileCodeIgniter ... 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

3.2 Perancangan Sistem ... 39

3.2.1 Deskripsi Umum Sistem ... 40

3.2.2 Kebutuhan Sistem ... 41

1) Kebutuhan Perangkat Keras ... 41

2) Kebutuhan Perangkat Lunak ... 42

3) Kebutuhan Fungsional ... 42

3.3 Perancangan Proses ... 43

3.3.1 UML (Unified Modelling Language) ... 44

1) Use Case Diagram ... 44

2) Activity Diagram ... 48

3) Class Diagram ... 59

3.3.2 Diagram E-R (Entity Relational) ... 60

3.4 Perancangan Database ... 66

3.5 Perancangan Desain Interface ... 70

BAB IV IMPLEMENTASI SISTEM 4. 1 Lingkungan Implementasi ... 76

4.2 Lingkungan Ujicoba ... 76

4.3 Implementasi Proses ... 77

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

4.5.7 Tampilan Halaman Detail Penjualan ... 87

4.5.8 Tampilan Halaman Detail Pembelian ... 88

4.5.9 Tampilan Halaman Retur Pembelian ... 88

4.5.10 Tampilan Halaman Laporan ... 89

4.5.11 Tampilan Halaman Grafik ... 90

BAB V UJI COBA DAN EVALUASI 5.1 Lingkungan Ujicoba dan Evaluasi ... 91

5.2 Skenario Ujicoba ... 91

5.3 Pelaksanaan Ujicoba ... 93

5.5.1 Ujicoba Halaman Utama Atau Login ... 93

5.3.2 Ujicoba Tambah Master Barang ... 94

5.3.3 Ujicoba Lihat Master Barang ... 95

5.3.4 Ujicoba Edit Master Barang ... 96

5.3.5 Ujicoba Tambah Master Supplier ... 96

5.3.6 Ujicoba Lihat Master Supplier ... 97

5.3.7 Ujicoba Edit Master Supplier ... 98

5.3.8 Ujicoba Transaksi Pembelian ... 98

5.3.9 Ujicoba Lihat Transaksi Pembelian ... 99

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

5.3.17 Ujicoba Halaman Grafik ... 106

BAB VI PENUTUP

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


(14)

viii

Gambar 2.1 Pilar-pilar Informasi yang Berguna ... 8

Gambar 2.2 Extended Data Processing Life Cycle ... 10

Gambar 2.3 Interaksi Sistem Informasi ... 11

Gambar 2.4 Hubungan Elemen Sistem Informasi ... 14

Gambar 2.5 Pola Desain MVC ... 23

Gambar 2.6 Struktur File CodeIgniter ... 25

Gambar 2.7 Tampilan awal setelah CodeIgniter di install ... 28

Gambar 3.1 Deskripsi Sistem Informasi ... 40

Gambar 3.2 Use Case Diagram ... 45

Gambar 3.3 Diagram Aktivitas Login ... 49

Gambar 3.4 Diagram Aktivitas Tambah Barang ... 50

Gambar 3.5 Diagram Aktivitas Tambah Supplier ... 51

Gambar 3.6 Diagram Aktivitas Pembelian ... 52

Gambar 3.7 Diagram Aktivitas Detail Pembelian ... 53

Gambar 3.8 Diagram Aktivitas Retur Pembelian ... 54

Gambar 3.9 Diagram Tahap Pembayaran ... 55

Gambar 3.10 Diagram Aktivitas Penjualan ... 56

Gambar 3.11 Diagram Aktivitas Detail Penjualan ... 57

Gambar 3.12 Diagram Aktivitas Lihat Laporan ... 58

Gambar 3.13 Class Diagram ... 59

Gambar 3.14 Notasi E-R Diagram ... 61

Gambar 3.15 CDM (Conceptual Data Model) ... 62

Gambar 3.16 PDM (Physical Data Model) ... 65

Gambar 3.17 Desain Interface Halaman Utama dan Login ... 71

Gambar 3.18 Desain Master Barang ... 71

Gambar 3.19 Desain Master Supplier ... 72

Gambar 3.20 Desain Transaksi Pembelian ... 72

Gambar 3.21 Desain Transaksi Penjualan ... 73

Gambar 3.22 Desain Transaksi Retur Pembelian ... 73


(15)

ix

Gambar 3.25 Desain Pengolahan Detail Pembelian ... 75

Gambar 4.1 Halaman Login ... 82

Gambar 4.2 Halaman Utama ... 83

Gambar 4.3 Master Tambah Barang ... 83

Gambar 4.4 Master Daftar Barang ... 84

Gambar 4.5 Master Tambah Supplier ... 84

Gambar 4.6 Master Daftar Supplier ... 85

Gambar 4.7 Halaman Transaksi Penjualan ... 85

Gambar 4.8 Halaman Transaksi Pembelian ... 86

Gambar 4.9 Halaman Tahap Pembayaran ... 87

Gambar 4.10 Halaman Detail Penjualan ... 87

Gambar 4.11 Halaman Detail Pembelian ... 88

Gambar 4.12 Halaman Retur Pembelian ... 89

Gambar 4.13 Halaman Laporan ... 89

Gambar 4.14 Halaman Grafik ... 90

Gambar 5.1 Halaman Utama atau login ... 93

Gambar 5.2 Proses Login Dengan Inputan Yang Salah ... 94

Gambar 5.3 Menu Utama Sistem Pengolahan Data Toko Barang ... 94

Gambar 5.4 Tambah Master Barang ... 95

Gambar 5.5 Lihat Master Barang ... 95

Gambar 5.6 Edit Master Barang ... 96

Gambar 5.7 Halaman Master Supplier ... 97

Gambar 5.8 Lihat Master Supplier ... 97

Gambar 5.9 Edit Master Supplier ... 98

Gambar 5.10 Transaksi Pembelian ... 99

Gambar 5.11 Lihat Transaksi Pembelian ... 99

Gambar 5.12 Transaksi Penjualan ... 100

Gambar 5.13 Lihat Transaksi Penjualan ... 101

Gambar 5.14 Halaman Retur Pembelian ... 101

Gambar 5.15 Hasil Retur Pembelian ... 102


(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.

Demikian halnya dalam pengelolaan data toko barang, teknologi informasi menjadi hal penting perusahaan dalam melakukan pengelolaan data toko barang karena telah dipercaya dapat membantu bagian pembukuan data toko barang dalam menghasilkan laporan keuangan yang lebih akurat, dan mengefektifkan waktu dalam penyusunannya. Tentunya teknologi informasi yang digunakan


(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.

Pada Tugas Akhir ini, saya menggunakan sistem komputerisasi untuk sistem informasi pengolahan data toko barang di toko IPC. Dari uraian diatas Tugas Akhir ini mengangkat sebuah judul yaitu: “Rancang Bangun Sistem


(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.

d. Sistem informasi ini hanya mencatat daftar jenis dan stok barang, transaksi pembelian secara tunai atau kredit dari supplier, transaksi penjualan secara


(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 keuangansetiap 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

Dalam pembuatan Tugas Akhir kali ini, penulis akan menjelaskan tentang metode yang digunakan selama penulis menyusun dan membuat Tugas Akhir ini.


(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.

Pada tahap ini merupakan tahap terakhir dari pengerjaan Tugas Akhir. Buku ini disusun sebagai laporan dari seluruh proses pengerjaan Tugas Akhir. Dari penyusunan buku ini diharapkan dapat memudahkan pembaca yang ingin menyempurnakan dan mengembangkan sistem lebih lanjut.


(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,

CodeIgniter, dan MySql yang digunakan sebagai penunjang serta referensi dalam pembuatan laporan Tugas Akhir ini.


(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

Pada bagian ini akan dipaparkan tentang sumber-sumber literatur, tutorial, buku maupun situs-situs yang digunakan dalam pembuatan laporan Tugas Akhir ini.


(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 pertokoanyang 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 yang berdiri tepat 13 April tahun 2007. Tindakan yang dilakukan oleh pihak toko dalam rangka pemenuhan kualitas handphone adalah dengan cara memeriksa kecacatan dan kerusakan handphone sebelum dijual kepada customer yang akan membeli handphone dari toko IPC. Sejak berdiri sampai sekarang pengelolaan data yang ada di toko IPC ini masih menggunakan cara manual dengan cara mencatat data-datanya menggunakan Microsoft excel. Owner toko ini adalah seorang pegawai swasta yang ingin berbisnis. Mula-mulanya toko ini adalah toko kecil yang kini menjadi besar dan sekarang mempunyai 10 orang pegawai. Toko ini hanya melayani jual beli handphone baru. Toko ini bukanlah sebuah agen atau supplier yang biasanya menyuplai barang-barang ke toko-toko handphone yan


(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

R

el

ev

an

T

ep

at

W

ak

tu

A

kur


(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.2Extended 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– datanya.


(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 sistem informasi. Yang berfungsi sebagai tempat untuk menampung database atau


(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

Banyak hal yang dapat merusak sistem informasi, seperti bencana alam, api, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, ketidakefisienan, sabotase dan lain sebagainya. Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi sebuah kesalahan dapat langsung cepat diatasi.


(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

Prosedur merupakan elemen fisik. Hal ini di sebabkan karena prosedur disediakan dalam bentuk fisik seperti buku panduan dan instruksi. Ada 3 jenis prosedur yang dibutuhkan, yaitu instruksi untuk pemakai, instruksi untuk penyiapan masukan, instruksi pengoperasian untuk karyawan pusat komputer.


(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

Jaringan komputer adalah sebuah kumpulan komputer, printer dan peralatan lainnya yang terhubung dalam satu kesatuan. Informasi dan data bergerak melalui kabel-kabel atau tanpa kabel sehingga memungkinkan pengguna jaringan komputer dapat saling bertukar dokumen dan data. Dengan jaringan komputer perpindahan suatu informasi menjadi cepat tanpa butuh waktu yang lama.


(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

Sistem informasi merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain karena sistem informasi memiliki sasaran yang berbeda


(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

Sistem terbuka adalah sistem yang berhubungan dan di pengaruhi oleh lingkunagn luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk subsistem lainnya. Sistem tertutup adalah sistem yang tidak terhubung dan


(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 menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).


(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; c. statechart diagram; d. activity diagram; e. sequence diagram; f. collaboration diagram; g. component diagram;

h. deployment diagram.

2.4 PHP

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 )

c. Banyak bentuk ( polymorphism ) d. Pembungkusan ( encapsulation ) e. Pengiriman pesan ( message sending )


(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.

Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang tetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter

dikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 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 kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi. Dengan adanya pustaka yang lengkap memungkinkan seorang programmer mengembangkan aplikasinya supaya menjadi yang lebih baik lagi.


(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 permasalahan coupling yang tinggi tersebut dengan menduplikasi lapisan data access, business logic, dan data presentation atau user interaction. Berikut ini


(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.

c. Controller : Merupakan code untuk logic, algoritma dan sebagai

penghubung antara model, view, dan sumber lain yang di perlukan untuk mengolah HTTP request dan generate web page. Bagian ini digunakan untuk menerima setiap request dan memformulasikan sutau response

untuk request tersebut. Ini bisa dilakukan dengan teknologi servlet, yang bisa juga diimplementasikan dengan JSP atau 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 DocumentRootweb 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 folderuser_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. c. View untuk menyimpan view tampilan website.


(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 modifikasi pada bagian konfigurasi CodeIgniter. Buka file


(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

e. HTML Table 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.

Selain dibuka di dalam controller, yang menyebabkan helpers tersebut hanya bisa digunakan di dalam controller tersebut, kita juga bisa melakukan load


(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);

Fungsi tersebut membuat PHP akan menampilkan semua error yang terjadi.Jika tidak ingin semua error tampil kita bisa mengganti nilai 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 baru.


(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 pemrosesan terjadi di server sehingga pengaksesan data tidak terbatas. Pengaksesan dapat dilakukan di mana saja oleh siapa saja dengan catatan


(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 melakukan pemrosesan data, dapat diadalkan dan mudah digunakan serta mudah dipelajari. Mengapa mudah digunakan? Sebab MySQL telah banyak digunakan di manapun sehingga jika mempunyai masalah dengan database


(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

databaseMySQL.

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. h. Security yang dimiliki databaseMySQL dikenal baik, karena memiliki lapisan


(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 ]

[ ORDER BY field [ ASC | DESC ] ] [ LIKE field [ 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:

DELETE FROM nama_tabel [ WHERE kondisi ]


(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 Gambaran perancangan antarmuka aplikasi.


(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.

C. User dapat menambah data stok barang dan data supplier, disini user bisa menambahkan jumlah stok barang dan supplier dengan mengklik tanda tambah pada menu master.


(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

Perangkat keras yang digunakan adalah perangkat keras yang dapat mendukung beberapa perangkat lunak yang akan digunakan selama menyelesaikan tugas akhir ini dan memiliki kemampuan atau tampilan grafis yang cukup baik. Adapun perangkat keras yang dibutuhkan untuk membangun aplikasi berdasarkan arsitektur pada Gambar 3.1, yaitu di antaranya komputer atau laptop

dengan spesifikasi minimum kecepatan RAM yang disarankan 512 MB dengan kapasitas harddisk 40 GB.


(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.

e. Menu laporan, terdiri dari laporan keuangan selama sebulan yaitu berupa laporan neraca dan grafik atau diagram.


(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.

f. Modul penjualan, modul ini berfungsi mengatur penjualan barang ke konsumen 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 tertentu. Diagram Use case mempunyai tujuan khusus yaitu mendokumentasikan beberapa aktor, beberapa Use case dan hubungan antar mereka. Berikut Gambar


(62)

Login

Tambah barang

Tambah pembelian Tambah penjualan

Lihat laporan penjualan dan pembelian

Lihat laporan stok barang

Tambah retur pembelian

Lihat barang

Lihat supplier

Lihat pembelian Lihat penjualan

Lihat detail penjualan

Lihat detail pembelian

Lihat retur pembelian Tambah tahap pembayaran

Lihat tahap pembayaran

Tambah supllier

Ubah Barang

ubah supplier Admin

Lihat grafik

Gambar 3.2Use 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 menu administrator. Didalam aplikasi ini seorang administrator yang menjalakan semua operasi tidak ada user lain.


(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

Sama seperti halnya dengan menambah barang, proses perubahan harus sesuai perkembangan jenis barang tersebut.


(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 terhadap seorang supplier. Karena pihak toko tidak selalu membayar barang yang


(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

Dengan diagram use case, akan didapatkan informasi tentang bisnis apa yang organisasi lakukan tanpa rincian dari masing-masing use case. Sedangkan untuk menjelaskan bagaimana proses bisnis dilakukan yaitu dengan menggunakan diagram aktivitas.


(66)

(67)

(68)

(69)

Start


(70)

(71)

(72)

(73)

(74)

(75)

Start


(1)

106

Untuk laporan mingguan meliputi laporan dari minggu pertama di awal tahun sampai minggu ke-52 di akhir tahun. Gambar laporan mingguan dapat dilihat seperti pada Gambar 5.21.

Gambar 5.21 Laporan Mingguan.

5.3.17 Ujicoba Halaman Grafik

Pada halaman ini user dapat melihat grafik pemasukan dan pengeluaran keuangan setiap minggu, setiap bulan, dan setiap tahun. Di dalam halaman grafik ini dapat dilihat adalah grafik pemasukan dan pengeluaran, grafik stok barang, grafik laba/rugi. Grafik-grafik ini berguna untuk melihat peningkatan atau penurunan penjualan dan pembelian. Gambar grafik penjualan dan pembelian setiap bulannya terlihat seperti pada Gambar 5.22.


(2)

Gambar 5.22 Grafik Pembelian Dan Penjualan Bulanan

Didalam aplikasi juga disediakan grafik pembelian dan penjualan untuk perhitungan per minggunya. Gambar grafik per minggu dapat dilihat seperti pada Gambar 5.23.


(3)

108

Untuk melihat perkembangan omzet toko per tahunnya juga disediakan grafik untuk pembelian dan penjualan per tahun. Grafik per tahun tersebut dapa dilihat seperti pada Gambar 5.24.

Gambar 5.24 Grafik Pembelian Dan Penjualan Tahunan

Untuk grafik barang digunakan untuk melihat keluar masuknya barang setiap bulan. Gambar grafik barang terlihat seperti pada Gambar 5.25.


(4)

109

PENUTUP

Dengan terselesaikannya Tugas Akhir ini dengan judul Rancang Bangun Sistem Informasi Pengelolaan Data Toko Barang Menggunakan Framework CodeIgniter Studi Kasus di Toko IPC ini diharapkan dapat bermanfaat bagi penggunanya dan orang lain, sehingga apa yang telah dikerjakan tidak menjadi hal yang sia-sia.

6.1 Kesimpulan

Dari pelaksanaan ujicoba yang telah dilakukan didapatkan kesimpulan sebagai berikut:

a. Sistem ini dirancang sesuai dengan cara pengelolaan data yang ada di toko, sehingga mempermudah pegawai toko dalam memasukkan data transaksi dan barang ke dalam komputer .

b. Sistem ini dibuat dengan cara membuat file php yang berisi class-class yang sesuai dengan tabel yang ada. Kemudian class-class tersebut akan dipanggil dalam script html dengan membuat penghubung diantara keduanya yang biasa disebut controller.

c. Sistem ini diterapkan dengan cara menggunakan framework codeigniter. Karena didalam framework ini menggunakan metode MVC ( model-view-controller ) yaitu salah satu metode yang menerapkan pendekatan OOP.


(5)

110

6.2 Saran

Berikut beberapa saran yang dapat diberikan berdasarkan hasil perancangan, implementasi, dan uji coba yang telah dilakukan sebelumnya, yaitu:

a. Untuk proses pengembangan lebih lanjut dapat ditambah menu-menu yang lain agar lebih lengkap.


(6)

Basuki, Awan Pribadi. ”MEMBANGUN WEB BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER”, Penerbit LOKOMEDIA. Juni 2010

John Burch, Gary Crudnitski, Information System Theory and Practice.Edisi keempat; New York: John Wiley & Sons, l986. hal. 3. 15/10/2010

Syafii. M,. “Membangun Aplikasi Berbasis PHP dan MySQL”, Penerbit ANDI,

Yogyakarta, 2004 – 2005

Tessy Badriyah, SKom. MT. “UML Class Diagram”, diakses online 27-09-2010

dari http://lecturer.eepis-its.edu/~tessy/tutorial/java/5UMLClassDiagram.pdf