KATA PENGANTAR
Puji
dan syukur penulis panjatkan kehadirat Allah SWT karena telah memberikan rahmat
dan karunia-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir sistem basis data
Dalam
kesempatan ini penulis ingin mengucapkan banyak terima kasih kepada yang
terhormat bapak
Yopi Hidayatul Akbar selaku dosen basis data,
kepada rekan-rekan yang telah membantu pengerjaan laporan ini, dan tak lupa
kepada kedua orang tua dan seluruh keluarga tercinta yang telah memberikan do’a
dan dorongan baik secara moril maupun secara materiil.
Penulis
menyadari bahwa dalam penyusunan laporan ini masih banyak kekurangan, mengingat
adanya kemampuan dan pengetahuan yang kami miliki masih sangat terbatas, maka
dari itu penulis mengharapkan saran dan kritik demi menyempurnakan laporan
tugas akhir. Semoga laporan tugas akhir ini dapat memberikan banyak manfaat.
DAFTAR ISI
Halaman
KATA PENGANTAR……………………………………………………. 1
DAFTAR ISI…………………………………………………………….... 2
BAB I PENDAHULUAN
1.1 Pendahuluan……………………………………………………. 4
1.2 Tujuan………………………………………………………….. 4
1.3 Manfaat………………………………………………………… 5
BAB II PEMBAHASAN
2.1 Pengertian dan Fungsi NetBeans,
XAMPP,Code Igniter................6
2.2 Menggunakan Aplikasi
POS...........................................................12
2.3 source
code......................................................................................13
BAB III PENUTUP
3.1 Kesimpulan………………………………………………..…..
... 18
3.2 Kemungkinan Pengembangan…...……………………………... 18
BAB I
PENDAHULUAN
I.1 Latar Belakang
Seiring perkembangan teknologi informasi yang
sedemikian cepatnya telah membawa
dunia memasuki era baru yang lebih cepat dari yang pernah dibayangkan sebelumnya.
Perkembangan teknologi saat ini telah membawa banyak perubahan bagi
kehidupan manusia. Salah satu dari program teknologi informasi yang dihasilkan
adalah aplikasi aplikasi yang membantu manusia dalam melakukan pekerjaan.
Aplikasi adalah program yang di buat untuk melaksanakan suatu fungsi bagi
pengguna. Aplikasi ini bertujuan agar dapat dimanfaatkan oleh masyarakat pada
umumnya Salah satu contoh aplikasi yang
sering digunakan adalah
aplikasi Point Of Sales
1.1
Tujuan
Tujuan
dari pengerjaan tugas ini adalah sebagai berikut:
1. Sebagai
salah satu
syarat untuk memenuhi tugas
mata kuliah system basis data
2. Merancang dan membangun point of sales (POS) standart sesuai dengan kebutuhan
1.2
Manfaat
Manfaat
dari pengerjaan tugas akhir ini adalah sebagai berikut:
1. Meningkatkan kualitas pelayanan
2. Peningkatan citra usaha
3. Keuntungan dalam berkompetisi
BAB II
PEMBAHASAN
2.1 Pengertian dan Fungsi NetBeans, XAMPP,Code Igniter
2.1.1
Pengertian NetBeans
Netbeans
merupakan sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing.
Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat
berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan
lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat
lunak yang menyediakan Graphic User
Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.
Netbeans
juga digunakan oleh sang programmer
untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans
yang ditulis dalam bahasa pemrograman java namun selain
itu dapat juga mendukung bahasa pemrograman lainnya dan program ini
pun bebas untuk digunakan dan untuk membuat professional desktop, enterprise,
web, and mobile applications dengan Java language, C/C++, dan bahkan dynamic
languages seperti PHP, JavaScript, Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang suksesdengan
pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hamper 100
mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka
NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun
netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform
Netbeans merupakan framework yang dapat digunakan kembali
(reusable) untuk menyederhanakan pengembangan aplikasi deskto dan Platform
NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop,
mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi
2.1.2 Fungsi Netbeans
Fungsi Java Netbeans IDE sendiri adalah untuk
membuat dan mengembangkan sebuah aplikasi Desktop, contoh dari aplikasi
netbeans adalah seperti aplikasi yang ada di toko toko sembako. selain untuk membuat
dan mengembangkan sebuah aplikasi Netbeans juga digunakan oleh programer untuk
mencompile, linker, debugger DLL. karena IDE sendiri secara global berarti
“editor”. IDE adalah sebuah lingkungan terintegritas yang menyediakan semua
kebutuhan programer.
2.1.3 Pengertian XAMPP
XAMPP adalah perangkat lunak
bebas, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa
program. Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang
terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa
yang ditulis dengan bahasa pemrograman PHP dan Perl.
Nama XAMPP merupakan singkatan
dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini
tersedia dalam GNU General Public License dan bebas, merupakan web server yang
mudah digunakan yang dapat melayani tampilan halaman web yang dinamis.
2.1.4
Fungsi XAMPP
Fungsi utama dari xampp adalah
bagaimana software ini mampu menjalankan berbagai macam bahasa premograman web
terutama cms, pada bagian ini hal yang paling banyak digunakan pada xampp
adalah htdocs, folder htdocs ini berfungsi sebagai server/media penyimpanan
(hosting) namun dalam bentuk virtual hosting (localhost).
Yang tak kalah
pentingnya adalah phpmyadmin pada halaman ini pengguna xampp akan membuat
database baru berupa mysql yang berguna untuk menyimpan database.
Selain itu
kontrol panel utama xampp adalah bagian terpenting karena tanpanya xampp tidak
akan berjalan.
Dengan xampp kita bisa membuat
berbagai macam project website seperti menginstal cms wordpress, atau cms
prestashop, dll. Berikut ini adalah proses Instalasi Xampp dan Pembuatan
Database dan Cara menginstal Cms di software xampp.
2.1.5 Code Igniter
CodeIgniter adalah
sebuah framework berbasis PHP yang kuat dengan footprint yang
sangat kecil, dibangun untuk pengembang yang
membutuhkan toolkit sederhana dan elegan untuk membuat aplikasi web
dengan fitur lengkap. Lantas Apa
itu framework? Framework atau dalam bahasa indonesia
dapat diartikan sebagai "kerangka kerja"
merupakan sebuah toolyang bekerja pada suatu konsep tertentu dan terdiri
dari berbagai fungsi yang dapat dengan mudah dijabarkan atau dialih-gunakan
untuk membuat fungsi-fungsi lain yang lebih kompleks. Maksudnya jika seorang
Programmer menggunakan sebuah framework sebagai lingkup kerjanya, dia harus
mematuhi segala ketentuan dari framework tersebut. Lebih lanjut ia dapat
membangun berbagai fungsi yang rumit dan kompleks dengan menggunakan fungsi-fungsi
yang telah disediakan oleh Framework tersebut. Jadi dia tidak perlu lagi
menulis ulang semua coding, Ia cukup mempelajari cara menggunakan
kerangka (frame) yang telah tersedia dari framework tersebut.
CodeIgniter pertama kali ditulis oleh Rick
Ellis (http://www.ellislab.com), seorang musisi rock yang beralih profesi menjadi
programmer dalam riset kecil-kecilannya dan menghasilkan suatu framework PHP
yang berukuran kecil, ringan serta memenuhi fitur umum aplikasi PHP. Namun,
sejak tahun 2014 CodeIgniter telah dimiliki oleh British Columbia Institute of
Technology (BCIT).
2.1.6
Fungsi Code Igniter
CodeIgniter adalah sebuah kerangka kerja yang berisi berbagai
fungsi yang dapat digunakan untuk membuat fungsi-fungsi yang kompleks. Dalam
membangun sebuah web, kita biasa sangat berkutat pada script koneksi database,
pagination, proses login, query database. Dengan menggunakan
sebuah framework, CodeIgniter tentu saja, kita tidak perlu lagi menuliskan
perintah mysql_connect, myql_select_db atau semacamnya, karena CodeIgniter
sudah menyediakan semua itu. Kita hanya perlu tau bagaimana cara
menggunakannya. Dan saya rasa, semua itu tidaklah terlalu susah. Anda dapat
membacanya sendiri dihttp://www.codeigniter.com/user_guide. Jadi intinya adalah
ia mampu mempercepat dan mempermudah kita dalam pembuatan website.
Disamping itu, penggunaan CodeIgniter juga akan menghasilkan
suatu struktur pemrograman yang sangat rapi, baik dari segi kode maupun
struktur file phpnya. Struktur aplikasi yang rapi tentu sangat diperlukan dari
sebuah aplikasi. Misalnya, jika terjadi suatu error dalam aplikasi,
dengan code yang rapi kita dapat dengan mudah menemukan kesalahan tersebut.
Bukan hanya itu, bayangkan suatu saat aplikasi yang kita bangun membutuhkan
fungsi-fungsi lain yang sangat penting, tentu akan diperlukan pengembangan
lebih lanjut. Dan sekali lagi, hal itu juga sangat memerlukan
struktur coding yang rapi. Dengan menggunakan CodeIgniter, untuk
mewujudkan struktur kode yang rapi sangat-sangat mungkin terjadi. Hal itu
dikarenakan CodeIgniter dibangun berbasis MVC (Model, View,
Controller) yang memisahkan antara tampilan dan logic aplikasi.
1.
Model adalah bagian yang bertanggung jawab terhadap operasi
database, baik itu create, read, update ataudelete. Ia berupa
fungsi-fungsi operasional database yang dapat dipanggilkan oleh Controller.
2.
View adalah bagian yang menangani tampilan. bagian inilah yang
bertugas untuk mempresentasikan data kepada user. Ia berbentuk struktur HTML
yang berisikan variabel data yang dikirimkan oleh Controller.
3.
Controller adalah bagian yang mengatur hubungan antara Model dan
View. Ia adalah otak dari kinerja aplikasi. Ia terdiri dari fungsi-fungsi yang
bersifat operasional dan logikal. Saat ada request yang masuk, ia
akan menangani dan memprosesnya untuk kemudian ditampilkan dalam View.
Fungsi kedua adalah memberikan Standar Coding sehingga memudahkan
kita atau orang lain untuk mempelajari kembali sistem aplikasi yang dibangun.
2.2 Menggunakan Aplikasi POS
Tampilan Login
Tampilan Index
Tampilan Kategori Barang
Tampilan Tambah Kategori
Tampilan Edit Data Kategori
Tampilan Data Barang
Tampilan Transaksi Barang
Tampilan Laporan Transaksi Perperiode
2.3 Source Code
Source Controler
auth.php
<?php
class auth extends CI_Controller{
function
__construct() {
parent::__construct();
$this->load->model('model_operator');
}
function
login(){
if(isset($_POST['login'])){
//proses disini
$username=
$this->input->post('username');
$password=
$this->input->post('password');
$hasil=
$this->model_operator->login($username,$password);
if($hasil==1){
//
update last login
$this->db->where('username',$username);
$this->db->update('operator',array('last_login'=>date('Y-m-d')));
$this->session->set_userdata(array('status_login'=>'oke',
'username'=>$username));
redirect('dashboard');
}else{
redirect('auth/login');
}
}
else{
//$this->load->view('form_login');
$this->template->load('template_1','form_login');
}
}
function
logout()
{
$this->session->sess_destroy();
redirect('auth/login');
}
}
barang.php
<?php
class barang extends CI_Controller{
function
__construct() {
parent::__construct();
$this->load->model('model_barang');
chek_session();
}
function index()
{
$this->load->library('pagination');
$config['base_url'] = base_url().'index.php/barang/index/';
$config['total_rows'] =
$this->model_barang->tampil_data()->num_rows();
$config['per_page'] = 3;
$this->pagination->initialize($config);
$data['paging'] =$this->pagination->create_links();
$halaman = $this->uri->segment(3);
$halaman = $halaman==''?0:$halaman;
$data['record']=
$this->model_barang->tampilkan_data_paging($halaman,$config['per_page']);
//$data ['record']=
$this->model_barang->tampil_data()->result();
//$this->load->view('barang/tampil_data',$data);
$this->template->load('template','barang/tampil_data',$data);
}
function
post(){
if(isset($_POST['submit']))
{
//proses input
$nama=
$this->input->post('nama_barang');
$kategori=
$this->input->post('kategori');
$harga=
$this->input->post('harga');
$data=array('nama_barang'=>$nama,'kategori_id'=>$kategori,'harga'=>$harga);
$this->model_barang->post($data);
redirect('barang');
}
else
{
$this->load->model('model_kategori');
$data['kategori']=
$this->model_kategori->tampilkandata()->result();
//$this->load->view('barang/form_input',$data);
$this->template->load('template','barang/form_input',$data);
}
}
function
edit(){
if(isset($_POST['submit']))
{
//proses input
$id = $this->input->post('id');
$nama = $this->input->post('nama_barang');
$kategori = $this->input->post('kategori');
$harga
=
$this->input->post('harga');
$data =
array('nama_barang'=>$nama,'kategori_id'=>$kategori,'harga'=>$harga);
$this->model_barang->edit($data,$id);
redirect('barang');
}
else
{
$id=
$this->uri->segment(3);
$this->load->model('model_kategori');
$data['kategori']=
$this->model_kategori->tampilkandata()->result();
$data['record']=
$this->model_barang->getone($id)->row_array();
//$this->load->view('barang/form_edit',$data);
$this->template->load('template','barang/form_edit',$data);
}
}
function
delete($id){
$id= $this->uri->segment(3);
$this->model_barang->delete($id);
redirect('barang');
}
}
dashboar.php
<?php
class dashboard extends CI_Controller{
function
index(){
//$this->load->view('view_dashboard');
$this->template->load('template','view_dashboard');
}
}
kategori.php
<?php
class kategori extends CI_Controller{
function
__construct() {
parent::__construct();
$this->load->model('model_kategori');
chek_session();
}
function index()
{
$this->load->library('pagination');
$config['base_url'] = base_url().'index.php/kategori/index/';
$config['total_rows'] = $this->model_kategori->tampilkandata()->num_rows();
$config['per_page'] = 3;
$this->pagination->initialize($config);
$data['paging']
=$this->pagination->create_links();
$halaman = $this->uri->segment(3);
$halaman = $halaman==''?0:$halaman;
$data['recod']=
$this->model_kategori->tampilkan_data_paging($halaman,$config['per_page']);
//$this->load->view('kategori/lihat_data',$data);
$this->template->load('template','kategori/lihat_data',$data);
}
function post()
{
if(isset($_POST['submit']))
{
//proses input
$this->model_kategori->post();
redirect('kategori');
}
else
{
//$this->load->view('kategori/form_input');
$this->template->load('template','kategori/form_input');
}
}
function edit()
{
if(isset($_POST['submit'])){
//
proses kategori
$this->model_kategori->edit();
redirect('kategori');
}
else{
$id=
$this->uri->segment(3);
$data['record']=
$this->model_kategori->getone($id)->row_array();
//$this->load->view('kategori/form_edit',$data);
$this->template->load('template','kategori/form_edit',$data);
}
}
function
delete(){
$id= $this->uri->segment(3);
$this->model_kategori->delete($id);
redirect('kategori');
}
}
operator.php
<?php
class operator extends CI_Controller{
function
__construct() {
parent::__construct();
$this->load->model('model_operator');
chek_session();
}
function
index(){
$data['record']= $this->model_operator->tampildata();
//$this->load->view('operator/lihat_data',$data);
$this->template->load('template','operator/lihat_data',$data);
}
function
post(){
if(isset($_POST['submit']))
{
//proses data
//$this->model_kategori->post();
//proses ke database di lakukan disi (controler)
$nama = $this->input->post('nama',true);
$username = $this->input->post('username',true);
$password = $this->input->post('password',true);
$data = array(
'nama_lengkap'=>$nama,
'username'=>$username,
'password'=>md5($password));
$this->db->insert('operator',$data);
redirect('operator');
}
else
{
//$this->load->view('operator/form_input');
//$this->load->view('operator/lihat_data',$data);
$this->template->load('template','operator/form_input');
}
}
function
edit(){
if(isset($_POST['submit'])){
//
proses operator
$id=
$this->input->post('id',true);
$nama = $this->input->post('nama',true);
$username = $this->input->post('username',true);
$password = $this->input->post('password',true);
if(empety($password)){
$data = array(
'nama_lengkap'=>$nama,
'username'=>$username);
}else{
$data = array(
'nama_lengkap'=>$nama,
'username'=>$username,
'password'=> md5($password));
}
$this->db->where('operator_id',$id);
$this->db->update('operator',$data);
redirect('operator');
}
else{
$id=
$this->uri->segment(3);
$data['record']=
$this->model_operator->getone($id)->row_array();
//$this->load->view('operator/form_edit',$data);
$this->template->load('template','operator/form_edit',$data);
}
}
function
delete()
{
$id=
$this->uri->segment(3);
$this->db->where('operator_id',$id);
$this->db->delete('operator');
redirect('operator');
}
}
transaksi.php
<?php
class transaksi extends CI_Controller{
function
__construct() {
parent::__construct();
$this->load->model(array('model_barang','model_transaksi'));
chek_session();
}
function
index(){
if(isset($_POST['submit']))
{
$this->model_transaksi->simpan();
redirect('transaksi');
}
else
{
$data['barang']=
$this->model_barang->tampil_data();
$data['detail']=
$this->model_transaksi->tampilkan_detail_transaksi()->result();
$this->template->load('template','transaksi/form_transaksi',$data);
}
}
function
hapusitem()
{
$id= $this->uri->segment(3);
$this->model_transaksi->hapusitem($id);
redirect('transaksi');
}
function
selesai_belanja()
{
$tanggal=date('Y-m-d');
$user=
$this->session->userdata('username');
$id_op=
$this->db->get_where('operator',array('username'=>$user))->row_array();
$data=array('operator_id'=>$id_op['operator_id'],'tanggal_transaksi'=>$tanggal);
$this->model_transaksi->selesai_belanja($data);
redirect('transaksi');
}
function
laporan()
{
if(isset($_POST['submit']))
{
$tanggal1=
$this->input->post('tanggal1');
$tanggal2=
$this->input->post('tanggal2');
$data['record']=
$this->model_transaksi->laporan_periode($tanggal1,$tanggal2);
$this->template->load('template','transaksi/laporan',$data);
}
else
{
$data['record']=
$this->model_transaksi->laporan_default();
$this->template->load('template','transaksi/laporan',$data);
}
}
function
excel()
{
header("Content-type=appalication/vnd.ms-excel");
header("content-disposition:attachment;filename=laporantransaksi.xls");
$data['record']=
$this->model_transaksi->laporan_default();
$this->load->view('transaksi/laporan_excel',$data);
}
function pdf()
{
$this->load->library('cfpdf');
$pdf=new
FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B','L');
$pdf->SetFontSize(14);
$pdf->Text(10, 10, 'LAPORAN TRANSAKSI');
$pdf->SetFont('Arial','B','L');
$pdf->SetFontSize(11);
$pdf->Cell(10, 10,'','',1);
$pdf->Cell(10, 7, 'No', 1,0);
$pdf->Cell(27, 7, 'Tanggal', 1,0);
$pdf->Cell(30, 7, 'Operator', 1,0);
$pdf->Cell(38, 7, 'Total Transaksi', 1,1);
//Tampil
dari database
$pdf->SetFont('Arial','','L');
$data=
$this->model_transaksi->laporan_default();
$no=1;
$total=0;
foreach
($data->result() as $r)
{
$pdf->Cell(10, 7, $no, 1,0);
$pdf->Cell(27, 7, $r->tanggal_transaksi, 1,0);
$pdf->Cell(30, 7, $r->nama_lengkap, 1,0);
$pdf->Cell(38, 7, $r->total, 1,1);
$no++;
$total=$total+$r->total;
}
// end
$pdf->Cell(67,7,'Total',1,0,'R');
$pdf->Cell(38,7,$total,1,0);
$pdf->Output();
}
}
Source Model
model_barang.php
<?php
class model_barang extends CI_Model{
function
tampil_data(){
$query=
"SELECT b.barang_id,b.nama_barang,b.harga,kb.nama_kategori
FROM barang as b,kategori_barang as kb
WHERE b.kategori_id=kb.kategori_id";
return
$this->db->query($query);
}
function
tampilkan_data_paging($halaman)
{
$query =
"SELECT b.barang_id,b.nama_barang,b.harga,kb.nama_kategori
FROM barang as b,kategori_barang as kb
WHERE b.kategori_id=kb.kategori_id limit $halaman,3";
return
$this->db->query($query);
}
function
post($data){
$this->db->insert('barang',$data);
}
function
getone($id){
$param=array('barang_id'=>$id);
return
$this->db->get_where('barang',$param);
}
function
edit($data,$id){
$this->db->where('barang_id',$id);
$this->db->update('barang',$data);
}
function
delete($id)
{
$this->db->where('barang_id',$id);
$this->db->delete('barang');
}
}
model_kategori.php
<?php
class Model_kategori extends CI_Model{
function
tampilkandata(){
return
$this->db->get('kategori_barang');
}
function
post(){
$data=array(
'nama_kategori'=>
$this->input->post('kategori')
);
$this->db->insert('kategori_barang',$data);
}
function
tampilkan_data_paging($halaman,$batas)
{
return
$this->db->query("select * from kategori_barang limit
$halaman,$batas");
}
function
getone($id){
$param=array('kategori_id'=>$id);
return
$this->db->get_where('kategori_barang',$param);
}
function
edit(){
$data=array(
'nama_kategori'=>
$this->input->post('kategori')
);
$this->db->where('kategori_id',$this->input->post('id'));
$this->db->update('kategori_barang',$data);
}
function
delete($id){
$this->db->where('kategori_id',$id);
$this->db->delete('kategori_barang');
}
}
model_operator.php
<?php
class model_operator extends CI_Model{
function
login($username,$password)
{
$check=$this->db->get_where('operator',array('username'=>$username,'password'=> md5($password)));
if($check->num_rows()>0){
return
1 ;
}
else{
return
0 ;
}
}
function
tampildata()
{
return
$this->db->get('operator');
}
function
getone($id){
$param=array('operator_id'=>$id);
return
$this->db->get_where('operator',$param);
}
}
model_transaksi.php
<?php
class model_transaksi extends CI_Model{
function
simpan(){
$nama_barang = $this->input->post('barang');
$qty =
$this->input->post('qty');
$idbarang =
$this->db->get_where('barang',array('nama_barang'=>$nama_barang))->row_array();
$data =
array('barang_id'=>$idbarang['barang_id'],
'qty'=>$qty,
'harga'=>$idbarang['harga'],
'status'=>'0');
$this->db->insert('transaksi_detail',$data);
}
function
tampilkan_detail_transaksi(){
$query ="SELECT
td.t_detail_id,td.qty,td.harga,b.nama_barang
FROM transaksi_detail as td,barang as b
WHERE b.barang_id=td.barang_id and td.status='0'";
return
$this->db->query($query);
}
function
hapusitem($id)
{
$this->db->where('t_detail_id',$id);
$this->db->delete('transaksi_detail');
}
function
selesai_belanja($data)
{
$this->db->insert('transaksi',$data);
$last_id=
$this->db->query("select transaksi_id from transaksi order by
transaksi_id desc")->row_array();
$this->db->query("update transaksi_detail set
transaksi_id='".$last_id['transaksi_id']."' where status='0'");
$this->db->query("update transaksi_detail set status='1'
where status='0'");
}
function
laporan_default()
{
$query= "SELECT
t.tanggal_transaksi,o.nama_lengkap,sum(td.harga*td.qty) as total
FROM transaksi as t,transaksi_detail as td,operator as o
WHERE td.transaksi_id=t.transaksi_id and o.operator_id=t.operator_id
group by t.transaksi_id";
return
$this->db->query($query);
}
function
laporan_periode($tanggal1,$tanggal2)
{
$query="SELECT
t.tanggal_transaksi,o.nama_lengkap,sum(td.harga*td.qty) as total
FROM transaksi as t,transaksi_detail as td,operator as o
WHERE td.transaksi_id=t.transaksi_id and o.operator_id=t.operator_id
and
t.tanggal_transaksi between '$tanggal1' and '$tanggal2'
group by t.transaksi_id";
return
$this->db->query($query);
}
}
Source View
from_login.php
<?php
echo form_open('auth/login');
?>
<div class="container">
<div class="col-md-0
col-md-offset-0">
<div class="outter-form-login">
<div class="logo-login">
<div class="col-md-4"><em class="glyphicon
glyphicon-user"></em></div><br>
<div>
<h3 class="text-left
title-login"> Login</h3>
<div class="form-group">
<label> Username</label><br>
<div
class="col-md-4"><input type="text"
name="username" class="form-control"
placeholder="username" required></div>
<br><br>
</div>
</div>
<div class="form-group">
<label> Password</label><br>
<div class="col-md-4"><input
type="password"
class="form-control"name="password"
placeholder="Password" required></div>
</div>
</div><br><br>
<div class="col-md-4"><button type="submit"
class="btn btn-primary form-control"
name="login">Login</button></div>
</div>
</div>
</form>
template.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible"
content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title>Point Of Salles Application</title>
<!-- Bootstrap core CSS -->
<link href="<?php echo
base_url('assets1/css/datepicker.css');?>"
rel="stylesheet">
<link href="<?php echo
base_url();?>assets/css/bootstrap.min.css"
rel="stylesheet">
<link href="<?php echo base_url('assets1/css/plugins/morris/morris-0.4.3.min.css');?>"
rel="stylesheet">
<link href="<?php echo
base_url('assets1/css/plugins/timeline/timeline.css');?>"
rel="stylesheet">
<!-- Custom styles for this template -->
<link href="navbar-static-top.css"
rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy these 2 lines!
-->
<!--[if lt IE 9]><script
src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script
src="../../assets/js/ie-emulation-modes-warning.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script
src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and
media queries -->
<!--[if lt IE 9]>
<script
src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script
src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-default navbar-static-top"
role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a
class="navbar-brand" href="<?php echo
site_url('dashboard');?>">Point Of Sales</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><?php echo
anchor('kategori','Kategori Barang');?></li>
<li><?php echo anchor('barang','Data Barang');?></li>
<li><?php echo anchor('operator','Operator
Sistem');?></li>
<li class="dropdown">
<a href="#"
class="dropdown-toggle" data-toggle="dropdown">Transaksi
<span class="caret"></span></a>
<ul
class="dropdown-menu" role="menu">
<li><?php echo
anchor('transaksi','Form Transaksi');?></li>
<li><?php echo
anchor('transaksi/laporan','Laporan Transaksi');?></li>
<li><?php echo
anchor('transaksi/excel','Laporan Excel');?></li>
<li><?php echo
anchor('transaksi/pdf','Laporan PDF');?></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li
class="acttive"><?php echo
anchor('auth/logout','Logout');?></li></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<?php echo $contents;?>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster
-->
<script src="<?php echo
base_url()?>assets/js/jquery.min.js"></script>
<script src="<?php echo
base_url()?>assets/js/bootstrap.min.js"></script>
<script src="<?php echo base_url('assets/js/holder.js');?>"></script>
<script src="<?php echo
base_url('assets1/js/bootstrap-datepicker.js');?>"></script>
<script src="<?php echo
base_url('assets1/js/application.js');?>"></script>
<script src="<?php echo
base_url('assets1/js/plugins/metisMenu/jquery.metisMenu.js');?>"></script>
<script src="<?php echo
base_url('assets1/js/plugins/morris/raphael-2.1.0.min.js');?>"></script>
<script src="<?php echo
base_url('assets1/js/plugins/morris/morris.js');?>"></script>
<script src="<?php echo
base_url('assets1/js/sb-admin.js');?>"></script>
<script src="<?php echo
base_url('assets1/js/demo/dashboard-demo.js');?>"></script>
</body>
</html>
template_1.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible"
content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title>Point Of Salles Application</title>
<!-- Bootstrap core CSS -->
<link href="<?php echo
base_url();?>assets/css/bootstrap.min.css"
rel="stylesheet">
<!-- Custom styles for this template -->
<link href="navbar-static-top.css"
rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy these 2 lines!
-->
<!--[if lt IE 9]><script
src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script
src="../../assets/js/ie-emulation-modes-warning.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script
src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and
media queries -->
<!--[if lt IE 9]>
<script
src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script
src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-default navbar-static-top"
role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span
class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Point Of
Sales</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<?php echo $contents;?>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster
-->
<script src="<?php echo
base_url()?>assets/js/jquery.min.js"></script>
<script src="<?php echo base_url()?>assets/js/bootstrap.min.js"></script>
</body>
</html>
view_dashboard.php
<ul>
<li><?php echo anchor('kategori','Kategori
Barang');?></li>
<li><?php echo anchor('barang','Data Barang');?></li>
<li><?php echo anchor('operator','Operator');?></li>
<li><?php echo anchor('transaksi','Form
Transaksi');?></li>
<li><?php echo anchor('auth/logout','Logout');?></li>
</ul>
Source View Barang
form_edit.php
<h3>Edit Data Barang</h3>
<?php
echo form_open('barang/edit');
?>
<input type="hidden" name="id"
value="<?php echo $record['barang_id'];?>">
<table class="table
tablebordered">
<tr>
<td width='130'>Nama Barang</td>
<td><div class="col-sm-5"><input
type="text" class="form-control"
name="nama_barang" value="<?php echo $record['nama_barang'];?>"
placeholder="Nama Barang"required </td></div>
</tr>
<tr>
<td width='130'>Kategori</td>
<td><div class="col-sm-5"><select
name="kategori" class="form-control">
<?php
foreach ($kategori as $k)
{
echo "<option
value='$k->kategori_id'";
echo
$record['kategori_id']==$k->kategori_id?'selected':'';
echo">$k->nama_kategori</option>";
}
?>
</select></div>
</td>
</tr>
<tr>
<td width='130'>Harga</td>
<td><div class="col-sm-5"><input
type="text" class="form-control" name="harga"
value="<?php echo $record['harga'];?>" placeholder="Harga"
required </td></div>
</tr>
<tr>
<td colspan="2"><button class="btn
btn-primary" type="submit"
name="submit">Simpan</button>
<?php echo anchor('barang','Kembali',array('class'=>'btn
btn-default'))?>
</td>
</tr>
</table>
</form>
form_input.php
<h3>Tambah Data Barang</h3>
<?php
echo form_open('barang/post');
?>
<table class="table
tablebordered">
<tr>
<td width='130'>Nama Barang</td>
<td><div class="col-sm-5"><input
type="text" class="form-control"
name="nama_barang" placeholder="Nama Barang"required
</td></div>
</tr>
<tr>
<td width='130'>Kategori</td>
<td><div class="col-sm-5"><select
name="kategori" class="form-control">
<?php
foreach ($kategori as $k)
{
echo "<option
value='$k->kategori_id'>$k->nama_kategori</option>";
}
?>
</select></div>
</td>
</tr>
<tr>
<td width='130'>Harga</td>
<td><div class="col-sm-5"><input
type="text" class="form-control" name="harga"
placeholder="Harga" required </td></div>
</tr>
<tr>
<td colspan="2"><button type="submit"
class="btn btn-primary"
name="submit">Simpan</button>
<?php echo anchor('barang','Kembali',array('class'=>'btn
btn-default'))?>
</td>
</tr>
</table>
</form>
tampil_data.php
<h3>Data Barang</h3>
<?php
echo anchor('barang/post','Tambah Data',array('class'=>'btn
btn-primary btn-sm')) ;
?>
<hr>
<table class="table table-hover
table-striped">
<tr><th>No</th><th>Nama
Barang</th><th>Kategori
Barang</th><th>Harga</th><th
colspan="2">Operasi</th></tr>
<?php
$no=1;
foreach ($record->result() as $r)
{
echo "<tr>
<td width='10'>$no</td>
<td>$r->nama_barang</td>
<td>$r->nama_kategori</td>
<td>$r->harga</td>
<td width='20'>".anchor('barang/edit/'.$r->barang_id,'Edit',array('class'=>'btn
btn-warning btn-sm'))."</td>
<td
width='20'>".anchor('barang/delete/'.$r->barang_id,'Delete',array('class'=>'btn
btn-danger btn-sm'))."</td>
</tr>";
$no++;
}
?>
</table>
<?php
echo $paging;
?>
Source View Kategori
form_edit.php
<h3>Edit Data Kategori</h3>
<?php
echo form_open('kategori/edit');
?>
<input type="hidden"
value="<?php echo $record['kategori_id']?>"
name="id">
<table class="table
tablebordered">
<tr>
<td width='130'>Nama Kategori</td>
<td><div class="col-sm-4"><input
type="text" class="form-control" name="kategori"
required
value="<?php echo $record['nama_kategori'];?>"
</td></div>
</tr>
<tr>
<td colspan="2"><button type="submit"
class="btn btn-primary"
name="submit">Simpan</button>
<?php echo anchor('kategori','Kembali',array('class'=>'btn
btn-default'))?>
</td>
</tr>
</table>
</form>
form_input.php
<h3>Tambah Data Kategori</h3>
<?php
echo form_open('kategori/post');
?>
<table class="table
tablebordered">
<tr>
<td width='130'>Nama Kategori</td>
<td><div class="col-sm-4"><input
type="text" name="kategori" class="form-control"
placeholder="Kategori"required </td></div>
</tr>
<tr>
<td colspan="2"><button type="submit"
name="submit" class="btn
btn-primary">Simpan</button>
<?php echo
anchor('kategori','Kembali',array('class'=>'btn btn-default'))?>
</td>
</tr>
</table>
</form>
lihat_data.php
<link href="<?php echo
base_url('dataTables.bootstrap.css');?>" rel="stylesheet"
/>
<link href="<?php echo base_url('dataTables.responsive.css');?>"
rel="stylesheet" />
<h3>Kategori
Barang</h3>
<?php
echo
anchor('kategori/post','Tambah Data',array('class'=>'btn btn-primary
btn-sm')) ;
?>
<hr>
<table class="table
table-striped table-responsive table-hover" id="dataTables-example">
<tr><th>No</th><th>Nama
Kategori</th><th
colspan="2">Operasi</th></tr>
<?php
$no=1;
foreach ($recod->result() as $r)
{
echo "<tr>"
. "<td
width='20'>$no</td>"
.
"<td>$r->nama_kategori</td>"
. "<td
width='10'>".anchor('kategori/edit/'.$r->kategori_id,'Edit',array('class'=>'btn
btn-warning btn-sm'))."</td>"
. "<td
width='10'>".anchor('kategori/delete/'.$r->kategori_id,'Delete',array('class'=>'btn
btn-danger btn-sm'))."</td>"
. "</tr>";
$no++;
}
?>
</table>
<?php
echo $paging;
?>
Source View Operator
form_edit.php
<h3>Edit Data
Operator</h3>
<?php
echo form_open('operator/edit');
?>
<input type="hidden"
value="<?php echo $record['operator_id']?>"
name="id">
<table class="table
tablebordered">
<tr><td
width="130">Nama Lengkap</td>
<td><div
class="col-sm-5"><input type="text"
name="nama" class="form-control" placeholder="nama
lengkap" value="<?php echo $record['nama_lengkap']?>">
</td></div></tr>
<tr><td
width='130'>Username</td>
<td><div
class="col-sm-5"><input type="text"
name="username" class="form-control"
placeholder="username" value="<?php echo $record['username']?>">
</td></div></tr>
<tr><td
width='130'>Password</td>
<td><div class="col-sm-5"><input
type="password" name="password"
class="form-control" placeholder="password"></div>
</td></tr>
<tr><td
colspan="2"><button type="submit" class="btn
btn-primary" name="submit">Simpan</button>
<?php echo anchor('operator','Kembali',array('class'=>'btn
btn-default'))?></td></tr>
</table>
</form>
form_input.php
<h3>Tambah Data
Operator</h3>
<?php
echo form_open('operator/post');
?>
<table class="table
tablebordered">
<tr><td
width="120">Nama Lengkap</td>
<td><div class="col-sm-5"><input
class="form-control" type="text" name="nama"
placeholder="nama lengkap">
</td></div></tr>
<tr><td
width='120'>Username</td>
<td><div
class="col-sm-5"><input type="text"
class="form-control" name="username" placeholder="username">
</td></tr></div>
<tr><td>Password</td>
<td><div
class="col-sm-5"><input class="form-control"
type="password"
name="password" placeholder="password"></div>
</td></tr></div>
<tr><td
colspan="2"><button type="submit" class="btn
btn-primary" name="submit">Simpan</button>
<?php echo
anchor('operator','Kembali',array('class'=>'btn btn-default'))?>
</td></tr>
</table>
</form>
lihat_data.php
<h3>Operator
Sistem</h3>
<?php
echo anchor('operator/post','Tambah
Data',array('class'=>'btn btn-primary btn-sm')) ;
?>
<hr>
<table class="table
table-striped tablebordered">
<tr><th>No</th><th>Nama
Lengkap</th><th>Username</th><th>Last
Login</th><th colspan="2">Operasi</th></tr>
<?php
$no=1;
foreach ($record->result() as $r)
{
echo "<tr>"
.
"<td>$no</td>"
.
"<td>$r->nama_lengkap</td>"
.
"<td>$r->username</td>"
.
"<td>$r->last_login</td>"
. "<td
width='10'>".anchor('operator/edit/'.$r->operator_id,'Edit',array('class'=>'btn
btn-warning btn-sm'))."</td>"
. "<td
width='10'>".anchor('operator/delete/'.$r->operator_id,'Delete',array('class'=>'btn
btn-danger btn-sm'))."</td>"
. "</tr>";
$no++;
}
?>
</table>
Source View Transaksi
form_transaksi.php
<?php
echo form_open('transaksi');
?>
<table class="table
table-bordered">
<tr
class="success"><th>Form</th></tr>
<tr><td>
<div
class="col-sm-6"">
<input
list="barang" name="barang" placeholder="masukan nama
barang" class="form-control">
</div>
<div
class="col-sm-1"">
<input type="text"
name="qty" placeholder="QTY"
class="form-control">
</div>
</td></tr>
<tr><td>
<button type="submit"
name="submit" class="btn
btn-primary">Simpan</button>
<?php echo
anchor('transaksi/selesai_belanja','Selesai',array('class'=>'btn
btn-default'))?>
</td></tr>
</table>
</form>
<table class="table
table-bordered">
<tr class="success"><th
colspan="6">Detail Transaksi</th></tr>
<tr><th>No</th><th>Nama
Barang</th><th>Qty</th><th>Harga</th><th>Subtotal</th><th>Cancel</th></tr>
<?php
$no=1;
$total=0;
foreach ($detail as $r)
{
echo "<tr>
<td>$no</td>
<td>$r->nama_barang</td>
<td>$r->qty</td>
<td>$r->harga</td>
<td>".$r->qty*$r->harga."</td>
<td>".anchor('transaksi/hapusitem/'.$r->t_detail_id,'Hapus')."</td></tr>";
$no++;
$total=$total+($r->qty*$r->harga);
}
?>
<tr><td
colspan="5"><p
align="right">Total</p></td><td><?php echo
$total; ?></td></tr>
<datalist id="barang">
<?php
foreach ($barang->result() as $b)
{
echo "<option
value='$b->nama_barang'>";
}
?>
</datalist>
laporan.php
<h3>Laporan
Transaksi</h3>
<?php
echo
form_open('transaksi/laporan');
?>
<table class="table
table-bordered">
<tr><td>
<div
class="col-sm-4">
<input type="date"
name="tanggal1" class="form-control" id="tanggal"
placeholder="Tanggal Mulai">
</div>
<div
class="col-sm-4">
<input type="date"
name="tanggal2" class="form-control"
placeholder="Tanggal Selesai">
</div>
</td></tr>
<tr><td><button
class="btn btn-primary" type="submit"
name="submit">Proses</button></td></tr>
</table>
</form>
<table class="table
table-bordered">
<tr><th>No</th><th>Tanggal
Transaksi</th><th>Operator</th><th>Total
Transaksi</th></tr>
<?php
$no=1;
$total=0;
foreach ($record->result() as $r)
{
echo "<tr>
<td width='10'>$no</td>
<td
width='160'>$r->tanggal_transaksi</td>
<td>$r->nama_lengkap</td>
<td>$r->total</td>
</tr>";
$no++;
$total=$total+$r->total;
}
?>
<tr><td colspan="3">Total</td><td><?php
echo $total;?></td></tr>
</table>
laporan_excel.php
<table
border="1">
<tr><th>No</th><th>Tanggal
Transaksi</th><th>Operator</th><th>Total
Transaksi</th></tr>
<?php
$no=1;
$total=0;
foreach ($record->result() as $r)
{
echo "<tr>
<td width='10'>$no</td>
<td
width='160'>$r->tanggal_transaksi</td>
<td>$r->nama_lengkap</td>
<td>$r->total</td>
</tr>";
$no++;
$total=$total+$r->total;
}
?>
<tr><td
colspan="3">Total</td><td><?php echo
$total;?></td></tr>
</table>
BAB III
PENUTUP
3.1 Kesimpulan
Kesimpulan Dari hasil penulisan ini dapat disimpulkan
bahwa kebutuhan akan basis data merupakan sesuatu yang sangat penting dalam
aplikasi point of sales. Pada analisis dan perancangan basis data pada
pembuatan aplikasi point of sales berbasis website ini digunakan metode
analisis berorientasi objek, dengan menggunakan pendekatan ini data dan fungsi
disetarakan serta disatukan pada apa yang disebut dengan objek, sehingga dapat
menghasilkan sebuah aplikasi yang lebih fleksibel dan mudah dipelihara. Tool
yang digunakan untuk menganalisis aplikasi yang diusulkan yaitu dengan
menggunakan dengan UML maka pada tahap analisis dapat dibuat model-model
analisis yang tepat dan menspesifikasikan langkah-langkah penting dalam
menganalisis dan merancang aplikasi.
Pada analisis dan perancangan basis data pada pembuatan aplikasi POS
berbasis website ini menggunakan MySQL sebagai Database Management System
(DBMS) yang dipilih. Hal ini dikarenakan MySQL bersifat open source, mudah
untuk digunakan dan cepat secara kinerja query. Hasil yang didapat setelah melakukan uji
coba adalah bahwa transaksi-transaksi
basis data yang terdapat pada aplikasi parkir ini dapat dikatakan sudah baik
dan dapat digunakan oleh user.
3.2 Kemungkinan Pengembangan
Program
ini dapat dikembangkan menjadi lebih baik. Dengan menambah grafik sehingga
penampilannya lebih menarik. Kemudian dapat menampung data lebih banyak.
Bagaimana jika tiba-tiba listrik mati dan semua data hilang. Maka dari itu,
harus terintegrasi dengan database
secara di backup tersetruktur.
link download:
google drive
Disusun Oleh:
Gerry Ediana Putra (A2.1600072)
Nasrul Husna (A2.1600111)
Zainal Arip Haryadi P (A2.1500100)
0 Komentar untuk "Aplikasi POS"
Silakan tinggalkan komentar anda. DILARANG KERAS menyimpan link blog/web pada komentar dengan tujuan backlink, Spam.