Anda di halaman 1dari 153

1

Pemrograman Web 1

APLIKASI SARANA DAN PRASARANA

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


2

Latar Belakang

Perkembangan serta penerapan ilmu pengetahuan dan teknologi mempunyai


dampak yang sangat penting dalam berbagai aspek kegiatan antara lain meliputi
administrasi dan manajemen pemerintahan, bisnis (usaha), pendidikan, dan lain
sebagainya. Tiada hari dalam berbagai aspek kehidupan yang terlewatkan tanpa
sentuhan ilmu pengetahuan dan teknologi. Pada masa saat ini, sentuhan ilmu
pengetahuan dan teknologi yang hampir mendominasi seluruh aspek kehidupan
sehari hari adalah teknologi yang dapat memberikan atau menyajikan informasi
yang dibutuhkan secara cepat, tepat dan akurat tanpa terhalang oleh waktu dan
jarak.
Teknologi tersebut adalah teknologi Informasi. Kemajuan teknologi informasi
sudah banyak dirasakan semua pihak dari berbagai kalangan, dari masyarakat
kebanyakan sampai kepada para pengusaha dan penguasa. Mereka merasakan
bagaimana kemajuan teknologi informasi saat ini telah banyak membantu
pelaksanaan tugas, peran atau fungsi serta aktifitas semua kalangan tersebut.
Membantu mempermudah perencanaan, pelaksanaan, pengendalian, pemantauan
dan evaluasi serta pelaporan dari berbagai bentuk aktifitas sehingga dapat
meningkatkan efisiensi dan efektifitas penggunaan sumberdaya.

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


3

Daftar Isi

Bagian 1 Pengembangan Aplikasi Sarana dan Prasarana …………………….. [ ]

Bagian 2 Mockup Sistem …..…………………………………………………………………………. [ ]

Bagian 3 Pendahuluan ……………………………………………………………………………………. [ ]

Bagian 4 Struktur Database ………………………………………………………………………. [ ]

Bagian 5 Implementasi ……..……………………………………….................................... [ ]

Bagian 6 Tamplate Premium ……………………………….................................... [ ]

Bagian 7 CRUD ……………….………………………………………….................................... [ ]

Bagian 8 Report PDF dengan PHP menggunakan DOMPDF ………………….. [ ]

Bagian 9 Upload file & Dashboard …………………………….................................. [ ]

Bagian 10 Restfull API ……………………………………………….................................... [ ]

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


4

Bagian 1
PENGEMBANGAN APLIKASI SARANA DAN PRASARANA

Langkah Kerja:

a. Buatlah Desain User Interface (Menu, Form Modifikasi Data, dan


Pelaporan)
i. Fitur minimal dan pembagian privilege dalam aplikasi

Fitur administrato manajemen peminjam


ii. Desain r
Login X X X

Logout X X X

Entri X X
peminjaman
barang
Entri data X X
barang
Generate X
laporan
friendliness
iii. Form pelaporan dibuat sekomunikatif mungkin
iv. Terapkan pemrograman berbasis obyek ( object oriented
programming)
v. Terapkan pemrograman dengan menyertakan unsur
multimedia
b. Hubungkan Aplikasi dengan Basis Data
i. Pilih dan instal aplikasi server basis data yang diinginkan.
ii. Rancang basis data dan alur program .
ii. Buat basis data dengan PDM sebagai berikut:

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


5

iii. Terapkan stored procedure.


iv. Hubungkan aplikasi dengan basis data.
v. Master installer :

a. Xampp 7.2
https://www.dropbox.com/s/yfs7wxsut1932uy/bcit-ci-
CodeIgniter-3.1.11-0-gb73eb19.zip?dl=0
b. File Coding Bab 1-5
https://www.dropbox.com/s/iag0kifhbxj74az/Bani
%20Saleh.rar?dl=0

Catatan : efisiensi baris program, kreativitas, atau inovasi.


c.

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


6

Bagian 2
MOCKUP SISTEM

A. Login

B. Master Supplier

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


7

C. Master Barang

D. Master User

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


8

E. Transaksi Barang Masuk

F. Transaksi Barang Keluar

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


9

G. Transaksi Peminjaman

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


10

Bagian 3
PENDAHULUAN

A. Pengertian Bahasa Pemograman


Bahasa pemrograman adalah notasi yang digunakan untuk menulis program
(komputer). Bahasa ini dibagi menjadi tiga tingkatan yaitu [1]:
1. Bahasa mesin (machine language) berupa microinstruction atau
hardware. Programnya sangat panjang dan sulit dipahami. Di samping itu
sangat tergantung pada arsitektur mesin.
2. bahasa tingkat rendah Seperti halnya bahasa mesin, bahasa tingkat rendah
tergantung pada arsitektur mesin. Programnya panjang dan sulit dipahami
walaupun prosesnya cepat. Jenis bahasa tingkat ini perlu penterjemah
berupa assembler.
3. Bahasa tingkat tinggi (high level language) menyerupai strukturbahasa
manusia sehingga mudah dipahami. Bahasa ini tidak tergantung pada
arsitektur mesin tetapi memerlukan penterjemah berupa compiler atau
interpreter.

B. Pengertian Bahasa PHP


PHP adalah bahasa pemrograman script server-side yang didesain untuk
pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa
pemrograman umum (wikipedia). PHP di kembangkan pada tahun 1995
oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs resmi PHP
beralamat di http://www.php.net.
PHP disebut bahasa pemrograman server side karena PHP diproses pada
komputer server[2]. Hal ini berbeda dibandingkan dengan bahasa pemrograman
client-side seperti JavaScript yang diproses pada web browser (client).
Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai
dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa
tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang
powerful dan tidak hanya digunakan untuk membuat halaman web sederhana,
tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia,
wordpress, joomla, dll.
Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah
kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari
singkatan itu sendiri: PHP: Hypertext Preprocessor.
PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP dirilis
dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General Public
License (GPL) yang biasa digunakan untuk proyek Open Source.

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


11

Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer


web di seluruh dunia. Menurut wikipedia pada februari 2014, sekitar 82% dari web
server di dunia menggunakan PHP. PHP juga menjadi dasar dari aplikasi CMS
(Content Management System) populer seperti Joomla, Drupal, dan WordPress.
Dikutip dari situs w3techs.com, (diakses pada 28 Januari 2019), berikut adalah
market share penggunaan bahasa pemrograman server-side untuk mayoritas
website di seluruh dunia :

Dapat dilihat dari tampilan di atas bahwa mayoritas website modern saat ini
menggunakan PHP.

C. Konsep MVC (Model View Controller)


Model View Controler merupakan teknik yang populer saat ini, yang memang
mengharapkan progamnya untuk membagi progam menjadi 3 bagian, dan berikut
penjelasannya [3] :
a. Model : merupakan bagian dari aplikasi yang mengimplementasi logika dan
domain data aplikasi.
b. View: merupakan komponen yang emnampilkan antar muka untuk
pengguna (user interface) aplikasi.
c. Controller : merupakan komponen yang digunakan untuk interkasi
pengguna, bekerja dengan model, dan memilih view mana yang digunakan
untuk merender data.

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


12

Sesuai dengan kasus pada penelitian yang dilakukan oleh penulis. Maka Dengan
menggunakan model MVC menghasilkan rancangan teknologi website OPD yang
dapat dikembangkan sesuai dengan kemampuan developer atau admin OPD.
Sehingga penggunakan sistem MVC dapat meningkatkan maintanability website
OPD dan organisasi kodenya lebih terstruktur.

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


13

Bagian 4
STRUKTUR DATABASE

MySQL adalah Sebuah program database server yang mampu menerima dan
mengirimkan datanya sangat cepat, multi user serta menggunakan peintah dasar
SQL ( Structured Query Language )[4] . MySQL merupakan dua bentuk lisensi, yaitu
FreeSoftware dan Shareware. MySQL yang biasa kita gunakan adalah MySQL
FreeSoftware yang berada dibawah Lisensi GNU/GPL ( General Public License ).
MySQL Merupakan sebuah database server yang free, artinya kita bebas
menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli
atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer
database bernama Michael Widenius .
Selain database server, MySQl juga merupakan program yang dapat mengakses
suatu database MySQL yang berposisi sebagai Server, yang berarti program kita
berposisi sebagai Client. Jadi MySQL adalah sebuah database yang dapat digunakan
sebagai Client mupun server. Database MySQL merupakan suatu perangkat lunak
database yang berbentuk database relasional atau disebut Relational Database
Management System ( RDBMS ) yang menggunakan suatu bahasa permintaan yang
bernama SQL (Structured Query Language ).

a) Mengenal SQL ( Structured Query Language )


SQL ( Structured Query Language ) adalah sebuah bahasa permintaan
database yang terstruktur. Bahasa SQL ini dibuat sebagai bahasa yang dapat
merelasikan beberapa tabel dalam database maupun merelasikan antar
database.
SQL dibagi menjadi tiga bentuk Query, yaitu :
ii. DDL ( Data Definition Language )
DDL adalah sebuah metode Query SQL yang berguna untuk mendefinisikan
data pada sebuah Database, Query yang dimiliki DDL adalah [5] :
 CREATE : Digunakan untuk membuat Database dan Tabel
 Drop : Digunakan untuk menghapus Tabel dan Database
 Alter : Digunakan untuk melakukan perubahan struktur tabel yang
telah dibuat, baik menambah Field ( Add ), mengganti nama Field
( Change ) ataupun menamakannya kembali ( Rename ), dan
menghapus Field ( Drop ).

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


14

Type Data Keterangan


TINYINT Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauan untuk
bilangan bertanda: -128 sampai dengan 127 dan untuk yang
tidak bertanda : 0 s/d 255. Bilangan tak bertandai dengan kata
UNSIGNED
SMALLINT Ukuran 2 Byte. Bilangan bulat dengan jangkauan untuk bilangan
bertanda : -32768 s/d 32767 dan untuk yang tidak bertanda : 0
s/d 65535
MEDIUMINT Ukuran 3 byte. Bilangan bulat dengan jangkauan untuk bilangan
bertanda : -8388608 s/ d 8388607 dan untuk yang tidak
bertanda : 0 s/d 16777215
INT Ukuran 4 byte. Bilangan bulat dengan jangkauan untuk bilangan
bertanda :
-2147483648 s/d 2147483647 dan untuk yang tidak bertanda :
0 s/d 4294967295
INTEGER Ukuran 4 byte. Sinonim dari int

BIGINT Ukuran 8 byte. Bilangan bulat terbesar dengan jangkauan untuk


bilangan bertanda :
-9223372036854775808 s/d 9223372036854775807 dan untuk
yang tidak bertanda : 0 s/d 1844674473709551615
FLOAT Ukuran 4 byte. Bilangan pecahan

DOUBLE Ukuran 8 byte. Bilangan pecahan

DOUBLEPRECISION Ukuran 8 byte. Bilangan pecahan

REAL Ukuran 8 byte. Sinonim dari DOUBLE

DECIMAL (M,D) Ukuran M byte. Bilangan pecahan, misalnya DECIMAL(5,2 dapat


digunakan untuk menyimpan bilangan -99,99 s/d 99,99

NUMERIC (M,D) Ukuran M byte. Sinonim dari DECIMAL, misalnya NUMERIC(5,2)


dapat digunakan untuk menyimpan bilangan -99,99 s/d 99,99

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


15

Type Data Keterangan


DATETIME Ukuran 8 byte. Kombinasi tanggal dan jam, dengan jangkauan dari
‘1000-01-01 00:00:00’ s/d ‘9999-12-31 23:59:59’

DATE Ukuran 3 Byte. Tanggal dengan jangkauan dari ‘1000-01-01’ s/d


‘9999-12-31’
TIMESTAMP Ukuran 4 byte. Kombinasi tanggal dan jam, dengan jangkauan dari
‘1970-01-01 00:00:00’ s/d ‘2037’

TIME Ukuran 3 byte. Waktu dengan jangkauan dari ‘839:59:59’ s/d


‘838:59:59’
YEAR Ukuran 1 byte. Data tahun antara 1901 s/d 2155

Type Data Keterangan


CHAR Mampu menangani data hingga 255 karakter. Tipe
data CHAR mengharuskan untuk memasukkan data yang
telah ditentukan oleh kita.
VARCHAR Mampu menangani data hingga 255 karakter. Tipe data
VARCHAR tidak mengharuskan untuk memasukkan data
yang telah ditentukan oleh kita.
TINYBLOB, TINYTEXT Ukuran 255 byte. Mampu menangani data sampai
2^8-1 data.
BLOB, TEXT Ukuran 65535 byte. Type string yang mampu
menangani data hingga
2^16-1 (16M-1) data.
MEDIUMBLOB, MEDIUMTEXT Ukuran 16777215 byte. Mampu menyimpan data hingga
2^24-1 (16M-1) data.

LONGBLOB, LONGTEXT Ukuran 4294967295 byte. Mampu menyimpan data


hingga berukuran GIGA BYTE. Tipe data ini memiliki batas
penyimpanan hingga 2^32-1 (4G-1) data.
ENUM(‘nilai1’,’nilai2’, Ukuran 1 atau 2 byte. Tergantung jumlah nilai
…,’nilaiN’) enumerasinya (maksimum 65535 nilai)
SET(‘nilai1’,’nilai2’, 1,2,3,4 atau 8 byte, tergantung jumlah anggota himpunan
…,’nilaiN’) (maksimum 64 anggota)

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


16

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


17

iii. DML ( Data Manipulation Language )


DML adalah sebuah metode Query yang dapat digunakan apabila DDL telah
terjadi, sehingga fungsi dari Query DML ini untuk melakukan
pemanipulasian database yang telah dibuat. Query yang dimiliki DML
adalah [6] :
 INSERT : Digunakan untuk memasukkan data pada Tabel Database
 UPDATE : Digunakan untuk pengubahan terhadap data yang ada
pada Tabel Database
 DELETE : Digunakan untuk Penhapusan data pada tabel Database
iv. DCL ( Data Control Language )
DCL adalah sebuah metode Query SQL yang digunakan untuk memberikan
hak otorisasi mengakses Database, mengalokasikan space, pendefinisian
space, dan pengauditan penggunaan database. Query yang dimiliki DCL
adalah [7]:
 GRANT : Untuk mengizinkan User mengakses Tabel dalam
Database.
 REVOKE : Untuk membatalkan izin hak user, yang ditetapkan oleh
perintah GRANT
 COMMIT : Mentapkan penyimpanan Database
 ROLLBACK : Membatalkan penyimpanan Database

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


18

Contoh 4.1
CREATE DATABASE banisaleh;

CREATE TABLE `user` (


id_user int NOT NULL AUTO_INCREMENT,
nama varchar(50) NOT NULL,
username varchar(50) NOT NULL,
password text NOT NULL,
level char(20) NOT NULL,
PRIMARY KEY (id_user)
);
CREATE TABLE supplier (
id_supplier int NOT NULL,
nama_supplier varchar(50) NOT NULL,
alamat_supplier varchar(100) NOT NULL,
telp_supplier VARCHAR(13) NOT NULL,
PRIMARY KEY (id_supplier)
);
CREATE TABLE barang (
id_barang int NOT NULL,
nama_barang varchar(50) NOT NULL,
spesifikasi text NOT NULL,
lokasi VARCHAR(50) NOT NULL,
kondisi VARCHAR(20) NOT NULL,
jumlah_barang int NOT NULL,
sumber_dana VARCHAR(25) NOT NULL,
PRIMARY KEY (id_barang)
);
CREATE TABLE pinjam_barang (
id_pinjam int NOT NULL,
peminjam varchar(50) NOT NULL,
tgl_pinjam DATE NULL,
id_barang INT NOT NULL,
nama_barang VARCHAR(50) NOT NULL,
jml_barang INT NOT NULL,
tgl_kembali DATE NULL,
kondisi VARCHAR(25) NULL,
PRIMARY KEY (id_pinjam)
);
CREATE TABLE barang_masuk (
id_barang int NOT NULL,

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


19

nama_barang VARCHAR(50) NOT NULL,


tgl_masuk DATE NULL,
jml_masuk INT NOT NULL,
id_supplier INT NOT NULL,
PRIMARY KEY (id_barang)
);
CREATE TABLE barang_keluar (
id_barang int NOT NULL,
nama_barang VARCHAR(50) NOT NULL,
tgl_keluar DATE NULL,
jml_keluar INT NOT NULL,
id_supplier INT NOT NULL,
PRIMARY KEY (id_barang)
);
CREATE TABLE stok (
id_barang int NOT NULL,
nama_barang VARCHAR(50) NOT NULL,
jml_masuk INT NOT NULL,
jml_keluar INT NOT NULL,
total_barang INT NOT NULL,
PRIMARY KEY (id_barang)
);

INSERT INTO `supplier` VALUES ('1', 'STMIK Bani


Saleh', '', '');
INSERT INTO `supplier` VALUES ('2', 'STIKES BANI
SALEH', '-', '88345064');
INSERT INTO `supplier` VALUES ('3', 'STAI BANI
SALEH', '-', '88343360');

INSERT INTO `user` VALUES ('1', 'Teknik Komputer',


'tk', 'tk', 'peminjam');
INSERT INTO `user` VALUES ('2', 'Manajemen
Informasi', 'mi', 'mi', 'peminjam');
INSERT INTO `user` VALUES ('3', 'Komputer
Akuntansi', 'ka', 'ka', 'peminjam');
INSERT INTO `user` VALUES ('4', 'Sistem Informasi',
'si', 'si', 'manajemen');
INSERT INTO `user` VALUES ('5', 'Teknik
Informatika', 'ti', 'ti', 'administrator');

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


20

b) Stored procedure
kumpulan pernyataan/procedure SQL yang disimpan dalam database.
Stored procedure dapat menerima parameter, dan Anda dapat mengatur
variabel, menulis pernyataan IF, dan lainnya dalam stored procedure [8].
Sebagian besar dari kita cukup akrab dengan pengaturan normal untuk
membangun aplikasi database, yaitu: membuat database, membuat tabel,
mengatur indeks, CRUD data dan sebagainya. Alur kerja itu berfungsi dengan
baik dalam banyak kasus, tetapi ada satu aspek penting dari pemrograman basis
data yang hilang: stored procedure.
Stored procedure dikompilasi sekali dan disimpan dalam bentuk yang dapat
dieksekusi kembali. Sehingga prosedur dapat dipanggil dengan cepat dan
efisien. Kode yang dapat dieksekusi secara otomatis di-cache dan dibagikan di
antara pengguna. Hal ini menyebabkan terjadinya penurunan kebutuhan
memori. Dengan mengelompokkan pernyataan SQL, stored procedure
memungkinkan laporan diproses dengan satu panggilan yang kemudian bisa
mengurangi lalu lintas jaringan dan meningkatkan waktu respon.

Contoh Procedure Tambah Masuk Barang 4.2


CREATE PROCEDURE tambah_masuk(id_barang
INT,jml_masuk INT)
BEGIN
UPDATE stok SET

stok.jml_masuk=(stok.jml_masuk+jml_masuk),

stok.total_barang=(stok.total_barang+jml_masuk)
WHERE stok.id_barang=id_barang;
END;

CREATE PROCEDURE batal_masuk(id_barang


INT,jml_masuk INT)
BEGIN
UPDATE stok SET
stok.jml_masuk=(stok.jml_masuk-
jml_masuk),
stok.total_barang=(stok.total_barang-
jml_masuk)
WHERE stok.id_barang=id_barang;
END;

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


21

Contoh Procedure Tambah Keluar Barang 4.3


CREATE PROCEDURE tambah_keluar(id_barang
INT,jml_keluar INT)
BEGIN
UPDATE stok SET
stok.jml_keluar =
(stok.jml_keluar+jml_keluar),
stok.total_barang=(stok.total_barang-
jml_keluar)
WHERE stok.id_barang=id_barang;
END;

CREATE PROCEDURE batal_keluar(id_barang


INT,jml_keluar INT)
BEGIN
UPDATE stok SET
stok.jml_keluar=(stok.jml_keluar-
jml_keluar),

stok.total_barang=(stok.total_barang+jml_keluar)
WHERE stok.id_barang=id_barang;
END;

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


22

Contoh Procedure Pinjam Barang 4.4


CREATE PROCEDURE pinjam(id_barang INT,jml INT)
BEGIN
UPDATE stok SET
stok.total_barang=(stok.total_barang-jml)
WHERE stok.id_barang=id_barang;
END;

Contoh Procedure Kembali Barang 4.5


CREATE PROCEDURE kembali(id_barang INT,jml INT)
BEGIN
UPDATE stok SET
stok.total_barang=(stok.total_barang+jml)
WHERE stok.id_barang=id_barang;
END;

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


23

c) Trigger
Sebuah Script MySQL Command yang memicu suatu kejadian dalam
database MySQL berupa aksi insert, update dan delete setelah syarat tertentu .
Lokasi penulisan Trigger adalah di dalam database yang bersangkutan, dan
Trigger tidak ditempatkan di php script [9]. Hasil penulisan dari sebuah Trigger
akan menimbulkan efek manipulasi database secara otomatis sesuai dengan
yang kita inginkan. Misalnya, setelah insert pada tabel_a dan kolom a1 maka
akan otomatis insert pada tabel_b pada kolom b1. Begitu pula untuk aksi update
dan delete.

Contoh Procedure Trigger Barang 4.6


CREATE TRIGGER ins_stok
after INSERT ON barang
FOR EACH ROW
BEGIN
INSERT INTO stok (id_barang,nama_barang)values
(NEW.id_barang,NEW.nama_barang);
END;

CREATE TRIGGER del_stok


after DELETE ON barang
FOR EACH ROW
BEGIN
DELETE FROM stok WHERE
stok.id_barang=OLD.id_barang;
END;

CREATE TRIGGER upt_stok


after UPDATE ON barang
FOR EACH ROW
BEGIN
UPDATE stok SET stok.nama_barang=NEW.nama_barang
WHERE stok.id_barang=OLD.id_barang;
END;

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


24

Bagian 5
IMPLEMENTASI

A. Aktivasi Codeigniter
Tahapan berikutnya :
a. Library database
b. Library session
c. Helper url

Silahkan extract .rar codeigniter ke folder


xampp/htdocs/banisaleh

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


25

Hingga seperti ini

Lalu buka file pada application/config/autoload.php


Contoh Syntax 5.1
$autoload['libraries'] = array('session','database');
Contoh Syntax 5.2
$autoload['helper'] = array('url');

Lalu buka file pada application/config/config.php


Contoh Syntax 5.3
$config['base_url'] = (isset($_SERVER['HTTPS']) ? "https://" : "http://").
$_SERVER['HTTP_HOST'].

str_replace(basename($_SERVER['SCRIPT_NAME']),"",
$_SERVER['SCRIPT_NAME']);

$config['index_page'] = '';

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


26

Lalu buka file pada application/config/routes.php


Contoh Syntax 5.4
$route['default_controller'] = "Login";

Lalu buka file pada application/config/database.php


Contoh Syntax 5.5
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'banisaleh',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


27

B. Form Login
Berikutnya buat sebuah controller, dengan nama Login.php
application/controllers/Login.php
Contoh Syntax 5.6
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('m_login');
}
function index(){
$this->load->view('v_login');
}
function aksi_login(){
$username=htmlspecialchars($this->input-
>post('username',TRUE),ENT_QUOTES);
$password=htmlspecialchars($this->input-
>post('password',TRUE),ENT_QUOTES);
$cek_dosen=$this->m_login->cek_login($username,$password);
if($cek_dosen->num_rows() > 0){
$data=$cek_dosen->row_array();
$this->session->set_userdata('masuk',TRUE);
$this->session->set_userdata('akses','1');
$this->session->set_userdata('username',$data[username]);
redirect('home');
}else{
redirect('login');
}
}
function logout(){
$this->session->sess_destroy();
redirect(base_url('login'));
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


28

Berikutnya buat sebuah views, dengan nama V_login.php


application/views/V_login.php
Contoh Syntax 5.7
<html>
<head>
<title>Dashboard</title>
</head>
<body>
<form action="<?= base_url('Login/aksi_login'); ?>" method="post">
<table>
<tr>
<td>Username</td>
<td><input type="text"
name="username"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password"
name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit"
value="Login"></td>
</tr>
</table>
</form>
</body>
</html>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


29

Berikutnya buat sebuah models, dengan nama M_login.php


application/models /M_login.php
Contoh Syntax 5.8
<?php
class M_login extends CI_Model{
function cek_login($username,$password){
$query=$this->db->query("SELECT * FROM user WHERE
username='$username' AND password=('$password')");
return $query;
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


30

Bagian 6
Tamplate Premium

1. Tamplate
Tahapan pertama yang dibutuhkan adalah Folder pada bab 2, yang
berisi :

Silahkan di copy paste kan pada folder xampp/htdocs/banisaleh/

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


31

Berikutnya buka file pada folder views, dengan nama V_login.php


application/views/V_login.php
Contoh Syntax 6.1
<?php
$tahun = date("Y");
?>
<!DOCTYPE html>
<html class="no-js css-menubar" 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.0,
user-scalable=0, minimal-ui">
<meta name="description" content="bootstrap admin template">
<meta name="author" content="">
<title>Login | ATK</title>
<link rel="apple-touch-icon" href="assets/images/log.png">
<link rel="shortcut icon" href="assets/images/log.ico">
<!-- Stylesheets -->
<link rel="stylesheet" href="global/css/bootstrap.min.css">
<link rel="stylesheet" href="global/css/bootstrap-extend.min.css">
<link rel="stylesheet" href="assets/css/site.min.css">
<!-- Plugins -->
<link rel="stylesheet" href="global/vendor/animsition/animsition.css">
<link rel="stylesheet" href="global/vendor/asscrollable/asScrollable.css">
<link rel="stylesheet" href="global/vendor/switchery/switchery.css">
<link rel="stylesheet" href="global/vendor/intro-js/introjs.css">
<link rel="stylesheet" href="global/vendor/slidepanel/slidePanel.css">
<link rel="stylesheet" href="global/vendor/flag-icon-css/flag-icon.css">
<link rel="stylesheet" href="assets/examples/css/pages/login-v3.css">
<!-- Fonts -->
<link rel="stylesheet" href="global/fonts/web-icons/web-icons.min.css">
<link rel="stylesheet" href="global/fonts/brand-icons/brand-
icons.min.css">
<link rel='stylesheet' href='http://fonts.googleapis.com/css?
family=Roboto:300,400,500,300italic'>
<!--[if lt IE 9]>
<script
src="../../../global/vendor/html5shiv/html5shiv.min.js"></script>
<![endif]-->

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


32

<!--[if lt IE 10]>
<script
src="../../../global/vendor/media-match/media.match.min.js"></script>
<script src="../../../global/vendor/respond/respond.min.js"></script>
<![endif]-->
<!-- Scripts -->
<script src="global/vendor/breakpoints/breakpoints.js"></script>
<script>
Breakpoints();
</script>
</head>
<body class="animsition page-login-v3 layout-full">
<!--[if lt IE 8]>
<p class="browserupgrade">You are using an
<strong>outdated</strong> browser. Please <a
href="http://browsehappy.com/">upgrade your browser</a> to improve
your experience.</p>
<![endif]-->
<!-- Page -->
<div class="page vertical-align text-center" data-animsition-in="fade-in"
data-animsition-out="fade-out">>
<div class="page-content vertical-align-middle animation-slide-top
animation-duration-1">
<div class="panel">
<div class="panel-body">
<div class="brand">
<img class="brand-img" src="assets//images/logo.png"
width="80px" alt="...">
<h2 class="brand-text font-size-18"></h2>
</div>
<form method="post" action="<?php echo
base_url('Login/aksi_login'); ?>">
<div class="form-group form-material floating" data-
plugin="formMaterial">
<input type="text" class="form-control" name="username" />
<label class="floating-label">Username</label>
</div>
<div class="form-group form-material floating" data-
plugin="formMaterial">
<input type="password" class="form-control" name="password" />

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


33

<label class="floating-label">Password</label>
</div>
<button type="submit" class="btn btn-primary btn-block btn-lg mt-
40">Sign in</button>
</form>
</div>
</div>
<footer class="page-copyright page-copyright-inverse">
Crafted with <i class="red-600 wb wb-heart"></i> by UKISI</a>
<p>© 2021 - <?=$tahun?></p>
</footer>
</div>
</div>
<!-- End Page -->
<!-- Core -->
<script src="global/vendor/babel-external-helpers/babel-external-
helpers.js"></script>
<script src="global/vendor/jquery/jquery.js"></script>
<script src="global/vendor/tether/tether.js"></script>
<script src="global/vendor/bootstrap/bootstrap.js"></script>
<script src="global/vendor/animsition/animsition.js"></script>
<script
src="global/vendor/mousewheel/jquery.mousewheel.js"></script>
<script src="global/vendor/asscrollbar/jquery-asScrollbar.js"></script>
<script src="global/vendor/asscrollable/jquery-asScrollable.js"></script>
<!-- Plugins -->
<script src="global/vendor/switchery/switchery.min.js"></script>
<script src="global/vendor/intro-js/intro.js"></script>
<script src="global/vendor/screenfull/screenfull.js"></script>
<script src="global/vendor/slidepanel/jquery-slidePanel.js"></script>
<script
src="global/vendor/jquery-placeholder/jquery.placeholder.js"></script>
<!-- Scripts -->
<script src="global/js/State.js"></script>
<script src="global/js/Component.js"></script>
<script src="global/js/Plugin.js"></script>
<script src="global/js/Base.js"></script>
<script src="global/js/Config.js"></script>
<script src="assets/js/Section/Menubar.js"></script>
<script src="assets/js/Section/Sidebar.js"></script>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


34

<script src="assets/js/Section/PageAside.js"></script>
<script src="assets/js/Plugin/menu.js"></script>
<!-- Config -->
<script src="global/js/config/colors.js"></script>
<script src="assets/js/config/tour.js"></script>
<script>
Config.set('assets', 'assets');
</script>
<!-- Page -->
<script src="assets/js/Site.js"></script>
<script src="global/js/Plugin/asscrollable.js"></script>
<script src="global/js/Plugin/slidepanel.js"></script>
<script src="global/js/Plugin/switchery.js"></script>
<script src="global/js/Plugin/jquery-placeholder.js"></script>
<script src="global/js/Plugin/material.js"></script>
<script>
(function(document, window, $) {
'use strict';
var Site = window.Site;
$(document).ready(function() {
Site.run();
});
})(document, window, jQuery);
</script>
</body>
</html>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


35

Tampilan outputnya akan seperti ini.

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


36

2. Dashboard

Berikutnya buat sebuah controller, dengan nama Home.php


application/controllers/Home.php
Contoh Syntax 6.2
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller {


function __construct(){
parent::__construct();
$this->load->helper('url');
}
public function index()
{
$this->load->view('header');
$this->load->view('footer');
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


37

Berikutnya buat sebuah views, dengan nama Header.php


application/views/Header.php
Contoh Syntax 6.3
<?php
$query = $this->db->query("SELECT*FROM user WHERE username='".
$this->session->userdata('username')."'");
$pemakai = $query->row();
?>
<!DOCTYPE html>
<html class="no-js css-menubar" 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.0,
user-scalable=0, minimal-ui">
<meta name="description" content="bootstrap admin template">
<meta name="author" content="">
<title>Dashboard | ATK</title>
<link rel="apple-touch-icon" href="<?= base_url()
?>assets/images/favicon.ico">
<link rel="shortcut icon" href="<?= base_url()
?>assets/images/favicon.ico">
<!-- Stylesheets -->
<link rel="stylesheet" href="<?= base_url()
?>global/css/bootstrap.min.css">
<link rel="stylesheet" href="<?= base_url() ?>global/css/bootstrap-
extend.min.css">
<link rel="stylesheet" href="<?= base_url() ?>assets/css/site.min.css">
<!-- Plugins
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/animsition/animsition.css">-->
<script src="<?= base_url() ?>assets/js/jquery-1.4.js"></script>
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/asscrollable/asScrollable.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/switchery/switchery.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/intro-js/introjs.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/slidepanel/slidePanel.css">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


38

<link rel="stylesheet" href="<?= base_url() ?>global/vendor/flag-icon-


css/flag-icon.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/chartist/chartist.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/chartist-
plugin-tooltip/chartist-plugin-tooltip.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/aspieprogress/asPieProgress.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/jquery-
selective/jquery-selective.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/bootstrap-
datepicker/bootstrap-datepicker.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/asscrollable/asScrollable.css">
<link rel="stylesheet" href="<?= base_url()
?>assets/examples/css/dashboard/team.css">
<link rel="stylesheet" href="<?= base_url()
?>assets/examples/css/widgets/chart.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/formvalidation/formValidation.css">
<link rel="stylesheet" href="<?= base_url()
?>assets/examples/css/forms/validation.css">
<link rel="stylesheet" href="<?= base_url()
?>assets/examples/css/charts/chartist.css">
<link rel="stylesheet" href="<?= base_url()
?>global/vendor/morris/morris.css">
<link rel="stylesheet" href="<?= base_url()
?>assets/examples/css/pages/login-v3.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/c3/c3.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/datatables-
bootstrap/dataTables.bootstrap.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/datatables-
fixedheader/dataTables.fixedHeader.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/datatables-
responsive/dataTables.responsive.css">
<link rel="stylesheet" href="<?= base_url() ?>global/vendor/datatables-
buttons/dataTables.buttons.css">
<link rel="stylesheet" href="<?= base_url()
?>assets/examples/css/tables/datatable.css">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


39

<link rel="stylesheet" href="<?= base_url()


?>assets/examples/css/uikit/progress-bars.css">
<!-- Fonts -->
<link rel="stylesheet" href="<?= base_url() ?>global/fonts/font-
awesome/font-awesome.css">
<link rel="stylesheet" href="<?= base_url()
?>global/fonts/web-icons/web-icons.min.css">
<link rel="stylesheet" href="<?= base_url()
?>global/fonts/brand-icons/brand-icons.min.css">
<link rel='stylesheet' href='http://fonts.googleapis.com/css?
family=Roboto:300,400,500,300italic'>
<!--[if lt IE 9]>
<script src="<?= base_url()
?>global/vendor/html5shiv/html5shiv.min.js"></script>
<![endif]-->
<!--[if lt IE 10]>
<script src="<?= base_url()
?>global/vendor/media-match/media.match.min.js"></script>
<script src="<?= base_url()
?>global/vendor/respond/respond.min.js"></script>
<![endif]-->
<!-- Scripts -->
<script src="<?= base_url()
?>global/vendor/breakpoints/breakpoints.js"></script>
<script>
Breakpoints();
</script>
</head>
<body class="animsition site-navbar-small dashboard">
<!--[if lt IE 8]>
<p class="browserupgrade">You are using an
<strong>outdated</strong> browser. Please <a
href="http://browsehappy.com/">upgrade your browser</a> to improve
your experience.</p>
<![endif]-->
<nav class="site-navbar navbar navbar-default navbar-fixed-top navbar-
mega navbar-inverse"
role="navigation">
<div class="navbar-header">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


40

<button type="button" class="navbar-toggler hamburger hamburger-


close navbar-toggler-left hided"
data-toggle="menubar">
<span class="sr-only">Toggle navigation</span>
<span class="hamburger-bar"></span>
</button>
<button type="button" class="navbar-toggler collapsed" data-
target="#site-navbar-collapse"
data-toggle="collapse">
<i class="icon wb-more-horizontal" aria-hidden="true"></i>
</button>
<a class="navbar-brand navbar-brand-center" href="<?= base_url() ?
>home">
<img class="navbar-brand-logo navbar-brand-logo-normal" src="<?=
base_url() ?>assets/images/logo.png"
title="Remark">
<img class="navbar-brand-logo navbar-brand-logo-special" src="<?=
base_url() ?>assets/images/logo.png"
title="Remark">
<span class="navbar-brand-text hidden-xs-down"> ATK</span>
</a>
<button type="button" class="navbar-toggler collapsed" data-
target="#site-navbar-search"
data-toggle="collapse">
<span class="sr-only">Toggle Search</span>
<i class="icon wb-search" aria-hidden="true"></i>
</button>
</div>
<div class="navbar-container container-fluid">
<!-- Navbar Toolbar Right -->
<ul class="nav navbar-toolbar navbar-right navbar-toolbar-right">
<li class="nav-item dropdown">
<a class="nav-link navbar-avatar" data-toggle="dropdown" href="#"
aria-expanded="false"
data-animation="scale-up" role="button">
<span class="avatar avatar-online">
<img src="<?= base_url() ?>global/portraits/1.jpg" alt="...">
<i></i>
</span>
</a>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


41

<div class="dropdown-menu" role="menu">


<a class="dropdown-item" href="javascript:void(0)"
role="menuitem"><i class="icon wb-user" aria-hidden="true"></i>
Profile</a>
<a class="dropdown-item" href="javascript:void(0)"
role="menuitem"><i class="icon wb-payment" aria-hidden="true"></i>
Billing</a>
<a class="dropdown-item" href="javascript:void(0)"
role="menuitem"><i class="icon wb-settings" aria-hidden="true"></i>
Settings</a>
<div class="dropdown-divider" role="presentation"></div>
<a class="dropdown-item" href="<?php echo
base_url().'login/logout'?>" role="menuitem"><i class="icon wb-power"
aria-hidden="true"></i> Logout</a>
</div>
</li>
</ul>
<!-- End Navbar Toolbar Right -->
</div>
<!-- End Navbar Collapse -->
<!-- Site Navbar Seach -->
<div class="collapse navbar-search-overlap" id="site-navbar-search">
<form role="search">
<div class="form-group">
<div class="input-search">
<i class="input-search-icon wb-search" aria-hidden="true"></i>
<input type="text" class="form-control" name="site-search"
placeholder="Search...">
<button type="button" class="input-search-close icon wb-close"
data-target="#site-navbar-search"
data-toggle="collapse" aria-label="Close"></button>
</div>
</div>
</form>
</div>
<!-- End Site Navbar Seach -->
</div>
</nav>
<div class="site-menubar site-menubar-light">
<div class="site-menubar-body">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


42

<div>
<div>
<ul class="site-menu" data-plugin="menu">
<li class="site-menu-category">General</li>
<?php if($pemakai->level =='administrator'||$pemakai-
>level =='peminjam'){ ?>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Pinjam'?
>" data-dropdown-toggle="false">
<i class="site-menu-icon wb-layout" aria-hidden="true"></i>
<span class="site-menu-title">Peminjaman Barang</span>
</a>
</li>
<?php } ?>
<?php if($pemakai->level =='administrator'||$pemakai-
>level =='manajemen'){ ?>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Barang'?
>" data-dropdown-toggle="false">
<i class="site-menu-icon wb-edit" aria-hidden="true"></i>
<span class="site-menu-title">Data Barang</span>
</a>
</li>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Masuk'?>"
data-dropdown-toggle="false">
<i class="site-menu-icon wb-download" aria-hidden="true"></i>
<span class="site-menu-title">Barang Masuk</span>
</a>
</li>
<li class="dropdown site-menu-item has-sub">
<a data-toggle="dropdown" href="<?php echo base_url().'Keluar'?>"
data-dropdown-toggle="false">
<i class="site-menu-icon wb-upload" aria-hidden="true"></i>
<span class="site-menu-title">Barang Keluar</span>
</a>
</li>
<?php } ?>
<?php if($pemakai->level =='manajemen'){ ?>
<li class="dropdown site-menu-item has-sub">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


43

<a data-toggle="dropdown" href="<?php echo base_url().'Laporan'?


>" data-dropdown-toggle="false">
<i class="site-menu-icon wb-print" aria-hidden="true"></i>
<span class="site-menu-title">Laporan</span>
</a>
</li>
<?php } ?>
</ul>
</div>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


44

Berikutnya buat sebuah views, dengan nama Footer.php


application/views/Footer.php
Contoh Syntax 6.4
<?php
$tahun = date("Y");
?>
<!-- Footer -->
<footer class="site-footer">
<div class="site-footer-legal">© 2021 - <?=$tahun?></a></div>
<div class="site-footer-right">
Crafted with <i class="red-600 wb wb-heart"></i> by UKISI</a>
</div>
</footer>
<!-- Core -->
<script src="<?= base_url()
?>global/vendor/babel-external-helpers/babel-external-helpers.js"></
script>
<script src="<?= base_url()
?>global/vendor/jquery/jquery.js"></script>
<script src="<?= base_url() ?>global/vendor/tether/tether.js"></script>
<script src="<?= base_url()
?>global/vendor/bootstrap/bootstrap.js"></script>
<!--<script src="<?= base_url()
?>global/vendor/animsition/animsition.js"></script>-->
<script src="<?= base_url()
?>global/vendor/mousewheel/jquery.mousewheel.js"></script>
<script src="<?= base_url() ?>global/vendor/asscrollbar/jquery-
asScrollbar.js"></script>
<script src="<?= base_url() ?>global/vendor/asscrollable/jquery-
asScrollable.js"></script>
<!-- Plugins -->
<script src="<?= base_url()
?>global/vendor/switchery/switchery.min.js"></script>
<script src="<?= base_url() ?>global/vendor/intro-js/intro.js"></script>
<script src="<?= base_url()
?>global/vendor/screenfull/screenfull.js"></script>
<script src="<?= base_url() ?>global/vendor/slidepanel/jquery-
slidePanel.js"></script>
<script src="<?= base_url()
?>global/vendor/chartist/chartist.js"></script>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


45

<script src="<?= base_url()


?>global/vendor/chartist-plugin-tooltip/chartist-plugin-tooltip.min.js"></
script>
<script src="<?= base_url() ?>global/vendor/aspieprogress/jquery-
asPieProgress.js"></script>
<script src="<?= base_url()
?>global/vendor/matchheight/jquery.matchHeight-min.js"></script>
<script src="<?= base_url() ?>global/vendor/jquery-selective/jquery-
selective.min.js"></script>
<script src="<?= base_url()
?>global/vendor/bootstrap-datepicker/bootstrap-datepicker.js"></script>
<script src="<?= base_url()
?>global/vendor/sparkline/jquery.sparkline.min.js"></script>
<script src="<?= base_url()
?>global/vendor/formvalidation/formValidation.min.js"></script>
<script src="<?= base_url()
?>global/vendor/formvalidation/framework/bootstrap4.min.js"></script>
<script src="<?= base_url() ?>global/vendor/raphael/raphael-
min.js"></script>
<script src="<?= base_url()
?>global/vendor/morris/morris.min.js"></script>
<script src="<?= base_url() ?>global/vendor/d3/d3.min.js"></script>
<script src="<?= base_url() ?>global/vendor/c3/c3.min.js"></script>
<script src="<?= base_url()
?>global/vendor/datatables/jquery.dataTables.js"></script>
<script src="<?= base_url()
?>global/vendor/datatables-fixedheader/dataTables.fixedHeader.js"></
script>
<script src="<?= base_url()
?>global/vendor/datatables-bootstrap/dataTables.bootstrap.js"></script>
<script src="<?= base_url()
?>global/vendor/datatables-responsive/dataTables.responsive.js"></
script>
<script src="<?= base_url()
?>global/vendor/datatables-buttons/dataTables.buttons.js"></script>
<script src="<?= base_url()
?>global/vendor/datatables-buttons/buttons.html5.js"></script>
<script src="<?= base_url()
?>global/vendor/datatables-buttons/buttons.flash.js"></script>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


46

<script src="<?= base_url()


?>global/vendor/datatables-buttons/buttons.print.js"></script>
<script src="<?= base_url() ?>global/vendor/asrange/jquery-
asRange.min.js"></script>
<script src="<?= base_url()
?>global/vendor/bootbox/bootbox.js"></script>
<script src="<?= base_url() ?>global/vendor/asprogress/jquery-
asProgress.js"></script>
<!-- Scripts -->
<script src="<?= base_url() ?>global/js/State.js"></script>
<script src="<?= base_url() ?>global/js/Component.js"></script>
<script src="<?= base_url() ?>global/js/Plugin.js"></script>
<script src="<?= base_url() ?>global/js/Base.js"></script>
<script src="<?= base_url() ?>global/js/Config.js"></script>
<script src="<?= base_url() ?>assets/js/Section/Menubar.js"></script>
<script src="<?= base_url() ?>assets/js/Section/Sidebar.js"></script>
<script src="<?= base_url() ?>assets/js/Section/PageAside.js"></script>
<script src="<?= base_url() ?>assets/js/Plugin/menu.js"></script>
<!-- Config -->
<script src="<?= base_url() ?>global/js/config/colors.js"></script>
<script src="<?= base_url() ?>assets/js/config/tour.js"></script>
<script>
Config.set('assets', 'assets');
</script>
<!-- Page -->
<script src="<?= base_url() ?>assets/js/Site.js"></script>
<script src="<?= base_url() ?>global/js/Plugin/asscrollable.js"></script>
<script src="<?= base_url() ?>global/js/Plugin/slidepanel.js"></script>
<script src="<?= base_url() ?>global/js/Plugin/switchery.js"></script>
<script src="<?= base_url()
?>global/js/Plugin/matchheight.js"></script>
<script src="<?= base_url()
?>global/js/Plugin/aspieprogress.js"></script>
<script src="<?= base_url() ?>global/js/Plugin/bootstrap-
datepicker.js"></script>
<script src="<?= base_url() ?>global/js/Plugin/asscrollable.js"></script>
<script src="<?= base_url()
?>assets/examples/js/dashboard/team.js"></script>
<script src="<?= base_url()
?>assets/examples/js/widgets/chart.js"></script>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


47

<script src="<?= base_url()


?>assets/examples/js/forms/validation.js"></script>
<script src="<?= base_url()
?>assets/examples/js/charts/c3.js"></script>
<script src="<?= base_url() ?>global/js/Plugin/datatables.js"></script>
<script src="<?= base_url()
?>assets/examples/js/tables/datatable.js"></script>
<script src="<?= base_url() ?>global/js/Plugin/asprogress.js"></script>
</body>
</html>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


48

Bagian 7
CRUD

Folder pada bab 3


1. Menu Barang
Berikutnya buat sebuah views, dengan nama V_barang.php Pada
folder Barang/

application/views/Barang/V_ barang.php

Contoh Syntax 7.1


<div class="page">
<div class="page-header">
<h1 class="page-title">Form Barang</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item active">Barang</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="panel">
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<div class="mb-15">
<a href='<?php echo base_url().
'Barang/tambah'; ?>'>
<button id="addToTable"
class="btn btn-outline btn-primary" type="button">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


49

<i class="icon wb-plus" aria-


hidden="true"></i> Add row
</button>
</a>
</div>
</div>
</div>
<table class="table table-bordered table-hover table-striped"
cellspacing="0" id="exampleAddRow">
<thead>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Barang</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Spesifikasi</th>
<th
scope="col">Lokasi</th>
<th
scope="col">Kondisi</th>
<th
scope="col">Sumber Dana</th>
<th
scope="col">#</th>
</tr>
</thead>
<tfoot>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Barang</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Spesifikasi</th>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


50

<th
scope="col">Lokasi</th>
<th
scope="col">Kondisi</th>
<th
scope="col">Sumber Dana</th>
<th
scope="col">#</th>
</tr>
</tfoot>
<?php
error_reporting(0);
$no=1;

$sql="SELECT*FROM barang
ORDER BY id_barang DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>

<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->spesifikasi?></td>
<td><?
=$prodi->lokasi?></td>
<td><?
=$prodi->kondisi?></td>
<td><?
=$prodi->sumber_dana?></td>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


51

<td
class="actions">
<a href="<?php
echo base_url(). 'Barang/edit/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Edit"><i class="icon wb-edit" aria-hidden="true"></i>
</button>
</a>
<a href="<?php
echo base_url(). 'Barang/hapus/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
remove-row" data-toggle="tooltip"
data-original-
title="Delete"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


52

Berikutnya buat sebuah controller, dengan nama Barang.php


application/controller/ Barang.php
Contoh Syntax 7.2
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Barang extends CI_Controller {


function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('M_barang');
}
public function index()
{
$this->load->view('Header');
$this->load->view('Barang/V_barang');
$this->load->view('Footer');
}
public function tambah()
{
$this->load->view('Header');
$this->load->view('Barang/T_barang');
$this->load->view('Footer');
}
function tambah_aksi(){
$data = array(
'id_barang' => $this->input->post('id_barang'),
'nama_barang' => $this->input->post('nama_barang'),
'spesifikasi' => $this->input->post('spesifikasi'),
'lokasi' => $this->input->post('lokasi'),
'kondisi' => $this->input->post('kondisi'),
'sumber_dana' => $this->input->post('sumber_dana')
);
$this->M_barang->input_data($data,'barang');
redirect('Barang/index');
}
function edit($id){
$data['Barang'] = $this->M_barang->edit_data($id);
$this->load->view('Header');

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


53

$this->load->view('Barang/U_barang',$data);
$this->load->view('Footer');
}
function update(){
$id_barang = $this->input->post('id_barang');
$nama_barang = $this->input->post('nama_barang');
$spesifikasi = $this->input->post('spesifikasi');
$lokasi = $this->input->post('lokasi');
$kondisi = $this->input->post('kondisi');
$sumber_dana = $this->input->post('sumber_dana');

$data = array(
'nama_barang' => $nama_barang,
'spesifikasi' => $spesifikasi,
'lokasi' => $lokasi,
'kondisi' => $kondisi,
'sumber_dana' => $sumber_dana
);
$where = array(
'id_barang' => $id_barang
);
$this->M_barang->update_data($where,$data,'barang');
redirect('Barang/index');
}
function hapus($id){
$where = array('id_barang' => $id);
$this->M_barang->hapus_data($where,'barang');
redirect('Barang/index');
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


54

Berikutnya buat sebuah models, dengan nama M_barang.php


application/models/M_ barang.php
Contoh Syntax 7.3
<?php
class M_barang extends CI_Model{
function input_data($data,$table){
$this->db->insert($table,$data);
}
function hapus_data($where,$table){
$this->db->where($where);
$this->db->delete($table);
}
function update_data($where,$data,$table){
$this->db->where($where);
$this->db->update($table,$data);
}
function edit_data($id){
$result = $this->db->query("SELECT*FROM barang WHERE
id_barang='".$id."'");
return $result;
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


55

Berikutnya buat sebuah views, dengan nama T_barang.php


application/views/Barang/T_ barang.php
Contoh Syntax 7.4
<div class="page">
<div class="page-header">
<h1 class="page-title">Form Barang</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item"><a href="<?= base_url() ?
>Barang">Barang</a></li>
<li class="breadcrumb-item active">Input</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="col-lg-6">
<!-- End Completed Options Pie Widgets -->
<div class="panel">
<div class="panel-body">
<form action='<?php echo base_url().
'Barang/tambah_aksi'; ?>' method='POST' id="exampleFullForm"
autocomplete="off">
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kode Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="id_barang"
placeholder="1"
required="" >
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


56

</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Nama Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="nama_barang"
placeholder="Komputer"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Spesifikasi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="spesifikasi"
placeholder="Ram 4Gb, HDD 150Gb"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Lokasi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="lokasi"
placeholder="Gudang 1"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kondisi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="kondisi"
placeholder="Baru"
required="" >
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


57

</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Sumber Dana
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="sumber_dana"
placeholder="STMIK"
required="" >
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


58

Berikutnya buat sebuah views, dengan nama U_barang.php


application/views/Barang/U_barang.php
Contoh Syntax 7.5
<?php
$count = 0;
foreach ($Barang->result() as
$ubah) :
$count++;
?>
<div class="page">
<div class="page-header">
<h1 class="page-title">Form Barang</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>Home">Home</a></li>
<li class="breadcrumb-item"><a href="<?= base_url() ?
>Barang">Barang</a></li>
<li class="breadcrumb-item active">Update</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="col-lg-6">
<!-- End Completed Options Pie Widgets -->
<div class="panel">
<div class="panel-body">
<form action='<?php echo base_url(). 'Barang/update'; ?
>' method='POST' id="exampleFullForm" autocomplete="off">
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kode Barang
<span class="required">*</span>
</label>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


59

<div class=" col-xl-12 col-md-9">


<input type="text" class="form-control" name="id_barang"
placeholder="1" value="<?=$ubah->id_barang?>"
required="" readonly>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Nama Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="nama_barang"
placeholder="Komputer" value="<?=$ubah->nama_barang?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Spesifikasi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="spesifikasi"
placeholder="Ram 4Gb, HDD 150Gb" value="<?=$ubah->spesifikasi?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Lokasi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="lokasi"
placeholder="Gudang 1" value="<?=$ubah->lokasi?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kondisi
<span class="required">*</span>
</label>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


60

<div class=" col-xl-12 col-md-9">


<input type="text" class="form-control" name="kondisi"
placeholder="Baru" value="<?=$ubah->kondisi?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Sumber Dana
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="sumber_dana"
placeholder="STMIK" value="<?=$ubah->sumber_dana?>"
required="" >
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php endforeach;?>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


61

2. Berikutnya buat sebuah views, dengan nama V_masuk.php Pada


folder Masuk/
application/views/ Masuk /V_masuk.php

Contoh Syntax 7.6


<div class="page">
<div class="page-header">
<h1 class="page-title">Form Barang Masuk</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item active">Barang Masuk</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="panel">
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<div class="mb-15">
<a href='<?php echo base_url().
'Masuk/tambah'; ?>'>
<button id="addToTable"
class="btn btn-outline btn-primary" type="button">
<i class="icon wb-plus" aria-
hidden="true"></i> Add row
</button>
</a>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


62

<table class="table table-bordered table-hover table-striped"


cellspacing="0" id="exampleAddRow">
<thead>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Barang</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Tanggal</th>
<th
scope="col">Jumlah</th>
<th scope="col">Kode
Supplier</th>
<th
scope="col">#</th>
</tr>
</thead>
<tfoot>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Barang</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Tanggal</th>
<th
scope="col">Jumlah</th>
<th scope="col">Kode
Supplier</th>
<th
scope="col">#</th>
</tr>
</tfoot>
<?php
error_reporting(0);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


63

$no=1;

$sql="SELECT*FROM
barang_masuk ORDER BY id_barang DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>

<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->tgl_masuk?></td>
<td><?
=$prodi->jml_masuk?></td>
<td><?
=$prodi->id_supplier?></td>
<td
class="actions">
<a href="<?php
echo base_url(). 'Masuk/hapus/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Batal"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


64

$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


65

Berikutnya buat sebuah views, dengan nama T_masuk.php Pada


application/views/Masuk/T_masuk.php
Contoh Syntax 7.7
<div class="page">
<div class="page-header">
<h1 class="page-title">Form Barang Masuk</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item"><a href="<?= base_url() ?
>Masuk">Barang Masuk</a></li>
<li class="breadcrumb-item active">Input</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="col-lg-6">
<!-- End Completed Options Pie Widgets -->
<div class="panel">
<div class="panel-body">
<form action='<?php echo base_url().
'Masuk/tambah_aksi'; ?>' method='POST' id="exampleFullForm"
autocomplete="off">
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php

$sql="SELECT*FROM barang";

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


66

//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Supplier
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php

$sql="SELECT*FROM supplier";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_supplier?>"
name="id_supplier" value="<?=$prodi->id_supplier?>" required="">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


67

<label for="<?=$prodi->id_supplier?>"><?=$prodi-
>nama_supplier?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Masuk
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_masuk" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="number" class="form-control" name="jml_masuk"
required="" >
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


68

Berikutnya buat sebuah controllers, dengan nama Masuk.php Pada


application/controllers/Masuk.php
Contoh Syntax 7.8
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Masuk extends CI_Controller {


function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('M_masuk');
}
public function index()
{
$this->load->view('Header');
$this->load->view('Masuk/V_masuk');
$this->load->view('Footer');
}
public function tambah()
{
$this->load->view('Header');
$this->load->view('Masuk/T_masuk');
$this->load->view('Footer');
}
function tambah_aksi(){
$query = $this->db->query("SELECT*FROM barang WHERE
id_barang='".$this->input->post('id_barang')."'");
$barang = $query->row();
$data = array(
'id_barang' => $this->input->post('id_barang'),
'nama_barang' => $barang->nama_barang,
'tgl_masuk' => $this->input->post('tgl_masuk'),
'jml_masuk' => $this->input->post('jml_masuk'),
'id_supplier' => $this->input->post('id_supplier')
);
$this->M_masuk->input_data($data,'barang_masuk');
$query2 = $this->db->query("CALL tambah_masuk('".$this-
>input->post('id_barang')."','".$this->input->post('jml_masuk')."')");
redirect('Masuk/index');

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


69

}
function hapus($id){
$query = $this->db->query("SELECT*FROM barang_masuk
WHERE id_barang='".$id."'");
$barang = $query->row();
$query2 = $this->db->query("CALL batal_masuk('".$id."','".
$barang->jml_masuk."')");
$where = array('id_barang' => $id);
$this->M_masuk->hapus_data($where,'barang_masuk');
redirect('Masuk/index');
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


70

Berikutnya buat sebuah models, dengan nama M_masuk.php Pada


application/models/M_masuk.php
Contoh Syntax 7.9
<?php
class M_masuk extends CI_Model{
function input_data($data,$table){
$this->db->insert($table,$data);
}
function hapus_data($where,$table){
$this->db->where($where);
$this->db->delete($table);
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


71

3. Berikutnya buat sebuah views, dengan nama V_keluar.php Pada


folder Keluar/
application/views/ Keluar/V_keluar.php

Contoh Syntax 7.10


<div class="page">
<div class="page-header">
<h1 class="page-title">Form Barang Keluar</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item active">Barang Keluar</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="panel">
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<div class="mb-15">
<a href='<?php echo base_url().
'Keluar/tambah'; ?>'>
<button id="addToTable"
class="btn btn-outline btn-primary" type="button">
<i class="icon wb-plus" aria-
hidden="true"></i> Add row
</button>
</a>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


72

<table class="table table-bordered table-hover table-striped"


cellspacing="0" id="exampleAddRow">
<thead>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Barang</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Tanggal</th>
<th
scope="col">Jumlah</th>
<th scope="col">Kode
Supplier</th>
<th
scope="col">#</th>
</tr>
</thead>
<tfoot>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Barang</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Tanggal</th>
<th
scope="col">Jumlah</th>
<th scope="col">Kode
Supplier</th>
<th
scope="col">#</th>
</tr>
</tfoot>
<?php
error_reporting(0);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


73

$no=1;

$sql="SELECT*FROM
barang_keluar ORDER BY id_barang DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>

<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->tgl_keluar?></td>
<td><?
=$prodi->jml_keluar?></td>
<td><?
=$prodi->id_supplier?></td>
<td
class="actions">
<a href="<?php
echo base_url(). 'Keluar/hapus/'.$prodi->id_barang;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Batal"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


74

$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


75

Berikutnya buat sebuah views, dengan nama T_keluar.php Pada


application/views/Keluar/T_ keluar.php
Contoh Syntax 7.11
<div class="page">
<div class="page-header">
<h1 class="page-title">Form Barang Keluar</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item"><a href="<?= base_url() ?
>Keluar">Barang Keluar</a></li>
<li class="breadcrumb-item active">Input</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="col-lg-6">
<!-- End Completed Options Pie Widgets -->
<div class="panel">
<div class="panel-body">
<form action='<?php echo base_url().
'Keluar/tambah_aksi'; ?>' method='POST' id="exampleFullForm"
autocomplete="off">
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php

$sql="SELECT*FROM barang";

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


76

//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Supplier
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php

$sql="SELECT*FROM supplier";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_supplier?>"
name="id_supplier" value="<?=$prodi->id_supplier?>" required="">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


77

<label for="<?=$prodi->id_supplier?>"><?=$prodi-
>nama_supplier?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Keluar
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_keluar" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="number" class="form-control" name="jml_keluar"
required="" >
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


78

Berikutnya buat sebuah controllers, dengan nama Keluar.php Pada


application/controllers/Keluar.php
Contoh Syntax 7.12
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Keluar extends CI_Controller {


function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('M_keluar');
}
public function index()
{
$this->load->view('Header');
$this->load->view('Keluar/V_keluar');
$this->load->view('Footer');
}
public function tambah()
{
$this->load->view('Header');
$this->load->view('Keluar/T_keluar');
$this->load->view('Footer');
}
function tambah_aksi(){
$query = $this->db->query("SELECT*FROM barang WHERE
id_barang='".$this->input->post('id_barang')."'");
$barang = $query->row();
$data = array(
'id_barang' => $this->input->post('id_barang'),
'nama_barang' => $barang->nama_barang,
'tgl_keluar' => $this->input->post('tgl_keluar'),
'jml_keluar' => $this->input->post('jml_keluar'),
'id_supplier' => $this->input->post('id_supplier')
);
$this->M_keluar->input_data($data,'barang_keluar');
$query2 = $this->db->query("CALL tambah_keluar('".$this-
>input->post('id_barang')."','".$this->input->post('jml_keluar')."')");
redirect('Keluar/index');

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


79

}
function hapus($id){
$query = $this->db->query("SELECT*FROM barang_keluar
WHERE id_barang='".$id."'");
$barang = $query->row();
$query2 = $this->db->query("CALL batal_keluar('".$id."','".
$barang->jml_keluar."')");
$where = array('id_barang' => $id);
$this->M_keluar->hapus_data($where,'barang_keluar');
redirect('Keluar/index');
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


80

Berikutnya buat sebuah models, dengan nama M_keluar.php Pada


application/models/M_keluar.php
Contoh Syntax 7.13
<?php
class M_keluar extends CI_Model{
function input_data($data,$table){
$this->db->insert($table,$data);
}
function hapus_data($where,$table){
$this->db->where($where);
$this->db->delete($table);
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


81

4. Berikutnya buat sebuah views, dengan nama V_pinjam.php Pada


folder Pinjam/
application/views/Pinjam/V_ pinjam.php

Contoh Syntax 7.14


<div class="page">
<div class="page-header">
<h1 class="page-title">Form Pinjam</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item active">Pinjam</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="panel">
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<div class="mb-15">
<a href='<?php echo base_url().
'Pinjam/tambah'; ?>'>
<button id="addToTable"
class="btn btn-outline btn-primary" type="button">
<i class="icon wb-plus" aria-
hidden="true"></i> Add row
</button>
</a>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


82

<table class="table table-bordered table-hover table-striped"


cellspacing="0" id="exampleAddRow">
<thead>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Pinjam</th>
<th
scope="col">Nama</th>
<th
scope="col">Tanggal Pinjam</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Jumlah</th>
<th
scope="col">Tanggal Kembali</th>
<th
scope="col">Kondisi</th>
<th
scope="col">#</th>
</tr>
</thead>
<tfoot>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Pinjam</th>
<th
scope="col">Nama</th>
<th
scope="col">Tanggal Pinjam</th>
<th scope="col">Nama
Barang</th>
<th
scope="col">Jumlah</th>
<th
scope="col">Tanggal Kembali</th>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


83

<th
scope="col">Kondisi</th>
<th
scope="col">#</th>
</tr>
</tfoot>
<?php
error_reporting(0);
$no=1;

$sql="SELECT*FROM
pinjam_barang ORDER BY id_pinjam DESC";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>

<tr>
<td><?=$no?
></td>
<td><?
=$prodi->id_pinjam?></td>
<td><?
=$prodi->peminjam?></td>
<td><?
=$prodi->tgl_pinjam?></td>
<td><?
=$prodi->nama_barang?></td>
<td><?
=$prodi->jml_barang?></td>
<td><?
=$prodi->tgl_kembali?></td>
<td><?
=$prodi->kondisi?></td>
<td
class="actions">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


84

<a href="<?php
echo base_url(). 'Pinjam/edit/'.$prodi->id_pinjam;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
edit-row" data-toggle="tooltip"
data-original-
title="Edit"><i class="icon wb-edit" aria-hidden="true"></i>
</button>
</a>
<a href="<?php
echo base_url(). 'Pinjam/hapus/'.$prodi->id_pinjam;?>">
<button
type="button" class="btn btn-sm btn-icon btn-pure btn-default on-default
remove-row" data-toggle="tooltip"
data-original-
title="Delete"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</a>
</td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>
</div>
</div>
</div>
</div>
<!-- Second Row -->

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


85

Berikutnya buat sebuah views, dengan nama T_pinjam.php Pada


application/views/Pinjam/T_pinjam.php
Contoh Syntax 7.15
<div class="page">
<div class="page-header">
<h1 class="page-title">Form Pinjam</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item"><a href="<?= base_url() ?
>Pinjam">Pinjam</a></li>
<li class="breadcrumb-item active">Input</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="col-lg-6">
<!-- End Completed Options Pie Widgets -->
<div class="panel">
<div class="panel-body">
<form action='<?php echo base_url().
'Pinjam/tambah_aksi'; ?>' method='POST' id="exampleFullForm"
autocomplete="off">
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kode
Peminjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="id_pinjam"
placeholder="1"
required="" >

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


86

</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Nama
Peminjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="peminjam"
placeholder="STIKES"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Pinjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_pinjam"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="jml_barang"
placeholder="5"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Barang
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


87

$sql="SELECT*FROM barang";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}
?>
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Kembali
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_kembali" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kondisi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="kondisi"
placeholder="Baru">
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


88

<button type="submit" class="btn btn-primary"


id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


89

Berikutnya buat sebuah views, dengan nama U_pinjam.php Pada


application/views/Pinjam/U_pinjam.php
Contoh Syntax 7.16
<?php
$count = 0;
foreach ($Pinjam->result() as
$ubah) :
$count++;
?>
<div class="page">
<div class="page-header">
<h1 class="page-title">Form Pinjam</h1>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="<?= base_url() ?
>home">Home</a></li>
<li class="breadcrumb-item"><a href="<?= base_url() ?
>Pinjam">Pinjam</a></li>
<li class="breadcrumb-item active">Update</li>
</ol>
<div class="page-header-actions">
<a class="btn btn-sm btn-default btn-outline btn-round"
href="stmik.banisaleh.ac.id"
target="_blank">
<i class="icon wb-link" aria-hidden="true"></i>
<span class="hidden-sm-down">Official Website</span>
</a>
</div>
</div>
<div class="page-content container-fluid">
<div class="col-lg-6">
<!-- End Completed Options Pie Widgets -->
<div class="panel">
<div class="panel-body">
<form action='<?php echo base_url(). 'Pinjam/update'; ?
>' method='POST' id="exampleFullForm" autocomplete="off">
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kode
Peminjam
<span class="required">*</span>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


90

</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="id_pinjam"
placeholder="1" value="<?=$ubah->id_pinjam?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Nama
Peminjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="peminjam"
value="<?=$ubah->peminjam?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Pinjam
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_pinjam"
value="<?=$ubah->tgl_pinjam?>"
required="" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Jumlah
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="jml_barang"
value="<?=$ubah->jml_barang?>"
required="" >
</div>
</div>
<div class="form-group row">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


91

<label class="col-xl-12 col-md-3 form-control-label">Barang


<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<?php

$sql="SELECT*FROM barang";
//echo fdebug($sql);
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
if($prodi-
>id_barang==$ubah->id_barang){
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="" checked>
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php
}else{
?>
<div>
<div class="radio-custom radio-primary">
<input type="radio" id="<?=$prodi->id_barang?>"
name="id_barang" value="<?=$prodi->id_barang?>" required="">
<label for="<?=$prodi->id_barang?>"><?=$prodi-
>nama_barang?></label>
</div>
</div>
<?php

}
}
?>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


92

</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Tanggal
Kembali
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="date" class="form-control" name="tgl_kembali"
value="<?=$ubah->tgl_kembali?>" >
</div>
</div>
<div class="form-group row">
<label class="col-xl-12 col-md-3 form-control-label">Kondisi
<span class="required">*</span>
</label>
<div class=" col-xl-12 col-md-9">
<input type="text" class="form-control" name="kondisi"
value="<?=$ubah->kondisi?>" placeholder="Baru">
</div>
</div>
<div class="form-group col-xl-12 text-right padding-top-m">
<button type="submit" class="btn btn-primary"
id="validateButton1">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php endforeach;?>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


93

Berikutnya buat sebuah controllers, dengan nama Pinjam.php


Pada application/controllers/Pinjam.php
Contoh Syntax 7.17
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Pinjam extends CI_Controller {


function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('M_pinjam');
}
public function index()
{
$this->load->view('Header');
$this->load->view('Pinjam/V_pinjam');
$this->load->view('Footer');
}
public function tambah()
{
$this->load->view('Header');
$this->load->view('Pinjam/T_pinjam');
$this->load->view('Footer');
}
function tambah_aksi(){

$query = $this->db->query("SELECT*FROM barang WHERE id_barang='".


$this->input->post('id_barang')."'");
$barang = $query->row();
$data = array(
'id_pinjam' => $this->input->post('id_pinjam'),
'peminjam' => $this->input->post('peminjam'),
'tgl_pinjam' => $this->input->post('tgl_pinjam'),
'id_barang' => $this->input->post('id_barang'),
'nama_barang' => $barang->nama_barang,
'jml_barang' => $this->input->post('jml_barang'),
'tgl_kembali' => $this->input->post('tgl_kembali'),
'kondisi' => $this->input->post('kondisi')

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


94

);
$this->M_pinjam->input_data($data,'pinjam_barang');

$query2 = $this->db->query("CALL pinjam('".$this->input-


>post('id_barang')."','".$this->input->post('jml_barang')."')");

redirect('Pinjam/index');
}
function edit($id){
$data['Pinjam'] = $this->M_pinjam->edit_data($id);
$this->load->view('Header');
$this->load->view('Pinjam/U_pinjam',$data);
$this->load->view('Footer');
}
function update(){

$id_pinjam = $this->input->post('id_pinjam');
$peminjam = $this->input->post('peminjam');
$tgl_pinjam = $this->input->post('tgl_pinjam');
$id_barang = $this->input->post('id_barang');
$nama_barang = $this->input->post('nama_barang');
$jml_barang = $this->input->post('jml_barang');
$tgl_kembali = $this->input->post('tgl_kembali');
$kondisi = $this->input->post('kondisi');

$data = array(
'tgl_kembali' => $tgl_kembali,
'kondisi' => $kondisi
);
$where = array(
'id_pinjam' => $id_pinjam
);
$this->M_pinjam->update_data($where,$data,'pinjam_barang');

$query2 = $this->db->query("CALL kembali('".$this->input-


>post('id_barang')."','".$this->input->post('jml_barang')."')");

redirect('Pinjam/index');
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


95

function hapus($id){
$where = array('id_pinjam' => $id);
$this->M_pinjam->hapus_data($where,'pinjam_barang');
redirect('Pinjam/index');
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


96

Berikutnya buat sebuah models, dengan nama M_pinjam.php Pada


application/models/M_pinjam.php
Contoh Syntax 7.18
<?php
class M_pinjam extends CI_Model{
function input_data($data,$table){
$this->db->insert($table,$data);
}
function hapus_data($where,$table){
$this->db->where($where);
$this->db->delete($table);
}
function update_data($where,$data,$table){
$this->db->where($where);
$this->db->update($table,$data);
}
function edit_data($id){
$result = $this->db->query("SELECT*FROM pinjam_barang
WHERE id_pinjam='".$id."'");
return $result;
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


97

5. Berikutnya buat sebuah views, dengan nama V_laporan.php Pada


application/views/V_laporan.php
Contoh Syntax 7.19

<table width='80%' align='center' border=1>


<thead>
<tr>
<th
scope="col">No</th>
<th scope="col">Kode
Barang</th>
<th scope="col">Nama
Barang</th>
<th scope="col">Barang
Masuk</th>
<th scope="col">Barang
Keluar</th>
<th
scope="col">Stok</th>
</tr>
</thead>
<?php
error_reporting(0);
$no=1;

$sql="SELECT*FROM stok";
$query = $this->db-
>query($sql);
foreach ($query->result() as
$prodi)
{
?>
<tbody>

<tr>
<td
align='center'><?=$no?></td>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


98

<td
align='center'><?=$prodi->id_barang?></td>
<td><?
=$prodi->nama_barang?></td>
<td
align='center'><?=$prodi->jml_masuk?></td>
<td
align='center'><?=$prodi->jml_keluar?></td>
<td
align='center'><?=$prodi->total_barang?></td>
</tr>
</tbody>
<?php
$no++;
}
?>
</table>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


99

Berikutnya buat sebuah controllers, dengan nama Laporan.php


Pada application/controllers/Laporan.php
Contoh Syntax 7.20
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Laporan extends CI_Controller {


function __construct(){
parent::__construct();
$this->load->helper('url');
}
public function index()
{
$this->load->view('V_laporan');
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


100

Bagian 8
Report PDF dengan PHP menggunakan DOMPDF

Folder Pada Bab 4

Dompdf adalah salah satu library yang digunakan untuk membuat


report berupa PDF dengan menggunakan PHP, sebenarnya banyak
sekali library lain yang dapat digunakan untuk membuat report
PDF, tetapi menurut kita library dompdf ini lebih mudah
digunakan, serta lebih flexible dalam pembuatan reportnya.

Copy file Domp.rar pada folder banisaleh/application/libraries/ ,


lalu “extract here”

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


101

Berikutnya edit sebuah file controllers, dengan nama Laporan.php

application/controllers/Laporan.php

Silahkan buka file Laporan.php menggunakan text edit, lalu isikan


code seperti berikut ini :

Contoh Program 8.1

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


102

<?php
defined('BASEPATH') OR exit('No direct script
access allowed');

class Laporan extends CI_Controller {


function __construct(){
parent::__construct();
$this->load->helper('url');
}
public function index()
{
$this->load->view('V_laporan');
$html = $this->output->get_output();
$this->load->library('pdf');
$this->pdf->loadHtml($html);
$this->pdf->setPaper('A4',
'landscape');
$this->pdf->render();
// Output the generated PDF (1 =
download and 0 = preview)
$this->pdf->stream("laporan.pdf",
array("Attachment"=> 0));
}
}

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


103

Penjelasan Skrip:

$this->pdf->loadHtml($html);

 kita melakukan konversi dari code html yang ada di variabel $html,
menjadi bentuk PDF

$this->pdf->render();

melakukan rendering dari report PDF

$this->pdf->stream("laporan.pdf", array("Attachment"=> 0));

melakukan output file PDF dengan nama laporan.pdf, anda dapat


mencustom dari nama reportnya

$this->load->view('V_laporan');

kita menginclude file V_laporan.php untuk dapat dikonversikan ke


dompdf

$this->pdf->setPaper('A4', 'landscape');

kita melakukan setting ukuran kertas, dan orientasi kertas (potrait,


landscape) tersebut hasil report PDF nantinya

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


104

Report Excel

Ubah sebuah views, dengan nama Header.php Pada


application/views/ Header.php pada baris 174.

Contoh Syntax 8.2

<li class="dropdown site-menu-item has-sub">

<a data-toggle="dropdown" href="<?php echo base_url().'Lap_pengguna'?


>" data-dropdown-toggle="false">

<i class="site-menu-icon wb-print" aria-hidden="true"></i>

<span class="site-menu-title">Laporan Pengguna</span>

</a>

</li>

Berikutnya buat sebuah views, dengan nama V_lap_pengguna.php


Pada application/views/V_lap_pengguna.php

Contoh Syntax 8.3

<?php

header("Content-type: application/octet-stream");

header("Content-Disposition: attachment; filename=laporan.xls");

header("Pragma: no-cache");

header("Expires: 0");

?>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


105

<table width='80%' align='center' border=1>

<thead>

<tr>

<th
scope="col">No</th>

<th
scope="col">Nama</th>

<th
scope="col">Username</th>

<th
scope="col">Level</th>

</tr>

</thead>

<?php

error_reporting(0);

$no=1;

$sql="SELECT*FROM `user`";

$query = $this->db-
>query($sql);

foreach ($query->result() as
$prodi)

?>

<tbody>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


106

<tr>

<td
align='center'><?=$no?></td>

<td
align='center'><?=$prodi->nama?></td>

<td><?
=$prodi->username?></td>

<td
align='center'><?=$prodi->level?></td>

</tr>

</tbody>

<?php

$no++;

?>

</table>

Berikutnya buat sebuah controllers, dengan nama Lap_pengguna.php


Pada application/controllers/Lap_pengguna.php

Contoh Syntax 8.4

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Lap_pengguna extends CI_Controller {

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


107

function __construct(){

parent::__construct();

$this->load->helper('url');

public function index()

$this->load->view('V_lap_pengguna');

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


108

Mail Server

Aktifkan SMTP Gmail dengan kunjungi url:


https://myaccount.google.com/lesssecureapps. Lalu nyalakan Two-
Factor Authentication untuk akun Anda. Dengan menyalakan two-
factor authentication, Anda tidak akan terpengaruh masalah ini lagi.
Pilih “turn on” untuk fitur “allow less secure apps”. Dengan pilihan ini
aplikasi akan bisa langsungs terhubung ke Gmail Anda.

Serta Allow akses pada url :


https://accounts.google.com/b/0/DisplayUnlockCaptcha

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


109

Ubah sebuah controllers, dengan nama Barang.php Pada application/


controllers/Barang.php pada baris 3.

Contoh Syntax 8.5

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

Berikutnya pada baris 30, tambahkan Syntax 8.6

Contoh Syntax 8.6

$kd=htmlspecialchars($this->input-
>post('id_barang',TRUE),ENT_QUOTES);

$nm=htmlspecialchars($this->input-
>post('nama_barang',TRUE),ENT_QUOTES);

$sp=htmlspecialchars($this->input-
>post('spesifikasi',TRUE),ENT_QUOTES);

$config['charset'] = 'iso-8859-1';

$config['wordwrap'] = TRUE;

$config['mailtype'] = 'html';

// load library email

$this->load->library('PHPMailerAutoload');

$mail = new PHPMailer();

//$mail->SMTPDebug = 1;

$mail->Debugoutput = 'html';

// set smtp

$mail->isSMTP();

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


110

$mail->Host = "ssl://smtp.gmail.com";

$mail->Port = '465';

$mail->SMTPAuth = true;

$mail->SMTPSecure = 'TLS';

$mail->Username = '*********@gmail.com';

$mail->Password = '******';

// $mail->WordWrap = 50;

// set email content

$mail->setFrom('*********@gmail.com', 'Pendaftaran Barang');

$mail->addAddress('*********@gmail.com'); // Add a recipient

#$mail->addReplyTo('info@example.com', 'Information');

//$mail->addCC('info@example.com', 'Information');

//$mail->addBCC('info@example.com', 'Information');

//$mail->addAttachment('abc.jpg');

$mail->Subject = 'Pendaftaran Barang';

$message = "Yth Bapak/Ibu

Bismillahirrohmanirrohim, Assalamu'alaikum Wr. Wb

Selamat anda telah berhasil melakukan registrasi online, untuk kelengkapan


dokumen persyaratan dilakukan di Gudang dan untuk jadwal barang penerimaan
akan kami informasikan lebih lanjut.

Kode Barang ".$kd."

Nama Barang ".$nm."

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


111

Spesifikasi ".$sp."

Terima kasih atas perhatian dan kerjasamanya.

Regards,

STMIK Bani Saleh.

Jl. Mayor M. Hasibuan No 68, Margahayu, Bekasi Timur, Kota Bekasi, Jawa Barat
17113

Website : stmik.banisaleh.ac.id

Mobile : 0811-9999-999

E-Mail : abc@gmail.com

Islamic Campus of Software Development and Networking";

$mail->Body = $message;

$mail->SMTPKeepAlive = true;

$mail->Mailer = "smtp";

$mail->send();

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


112

Berikut hasil E-Mail yang terkirim

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


113

Bagian 9
Upload file & Dashboard

edit sebuah file views, dengan nama Header.php

application/views/Header.php

Silahkan buka file Header.php menggunakan text edit pada baris 107,
lalu ubah code seperti berikut ini :

Contoh Program 9.1


<a class="dropdown-item" href="<?php echo
base_url(). 'Profil'; ?>" role="menuitem"><i
class="icon wb-user" aria-hidden="true"></i>
Profile</a>

lalu pada baris 48, tambahkan code seperti berikut ini :

Contoh Program 9.2


<link rel="stylesheet" href="<?= base_url() ?
>global/vendor/blueimp-file-upload/jquery.fileu
pload.css">
<link rel="stylesheet" href="<?= base_url() ?
>global/vendor/dropify/dropify.css">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


114

edit sebuah file views, dengan nama Footer.php

application/views/Footer.php

Silahkan buka file Footer.php menggunakan text edit pada baris 80,
lalu tambahkan code seperti berikut ini :

Contoh Program 9.3


<script src="<?= base_url()
?>global/js/Plugin/dropify.js"></script>
<script src="<?= base_url()
?>assets/examples/js/forms/uploads.js"></script
>
lalu pada baris 48, tambahkan code seperti berikut ini :

Contoh Program 9.4


<script src="<?= base_url()
?>global/vendor/dropify/dropify.min.js"></scrip
t>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


115

Form Profil
Berikutnya buat sebuah config, dengan nama autoload.php
application/config/autoload.php
Contoh Syntax 9.5

$autoload['helper'] = array('url','form');

Buat folder pada xampp/htdocs/banisaleh/ , dengan nama foto/

Berikutnya buat sebuah controller, dengan nama Profil.php


application/controllers/Profil.php
Contoh Syntax 9.6

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

class Profil extends CI_Controller {

function __construct(){

parent::__construct();

$this->load->helper('form','url');

$this->load->model('M_profil');

public function index()

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


116

$data['Profil'] = $this->M_profil->edit_data($id);

$this->load->view('Header');

$this->load->view('V_profil',$data);

$this->load->view('Footer');

function update(){

$config['upload_path'] = 'foto/';

$config['allowed_types'] = 'jpg|png|jpeg';

$config['max_size'] = '2048';

$config['remove_space'] = TRUE;

$this->load->library('upload', $config); // Load konfigurasi


uploadnya

if($this->upload->do_upload('gambar')){

$id_user = $this->input->post('id');

$username = $this->input->post('akun');

$nama = $this->input->post('nama');

$password = $this->input->post('sandi');

$data = array(

'username' => $username,

'nama' => $nama,

'password' => $password,

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


117

'gambar' => $this->upload->file_name

);

$where = array(

'id_user' => $id_user

);

$this->M_profil->update_data($where,$data,'`user`');

redirect('Profil/index');

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


118

Berikutnya buat sebuah views, dengan nama V_profil.php


application/views/V_ profil.php
Contoh Syntax 9.7

<?php

$count = 0;

foreach ($Profil->result() as
$ubah) :

$count++;

?>

<div class="page">

<div class="page-header">

<h1 class="page-title">Form Profil</h1>

<ol class="breadcrumb">

<li class="breadcrumb-item"><a href="<?= base_url()


?>Home">Home</a></li>

<li class="breadcrumb-item active">Profil</li>

</ol>

<div class="page-header-actions">

<a class="btn btn-sm btn-default btn-outline btn-round"


href="stmik.banisaleh.ac.id"

target="_blank">

<i class="icon wb-link" aria-hidden="true"></i>

<span class="hidden-sm-down">Official Website</span>

</a>

</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


119

</div>

<div class="page-content container-fluid">

<div class="col-lg-6">

<!-- End Completed Options Pie Widgets -->

<div class="panel">

<div class="panel-body">

<form action='<?php echo base_url(). 'Profil/update'; ?>'


method='POST' id="exampleFullForm" autocomplete="off"
enctype="multipart/form-data">

<div class="form-group row">

<label class="col-xl-12 col-md-3 form-control-label">Nama Lengkap

<span class="required">*</span>

</label>

<div class=" col-xl-12 col-md-9">

<input type="hidden" name="id" id="id"


value="<?=$ubah->id_user?>"/>

<input type="text" class="form-control" name="nama" placeholder="1"


value="<?=$ubah->nama?>"

required="">

</div>

</div>

<div class="form-group row">

<label class="col-xl-12 col-md-3 form-control-label">Foto

<span class="required">*</span>

</label>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


120

<div class=" col-xl-12 col-md-9">

<input type="file" name='gambar' id="gambar" class="form-control"


data-plugin="dropify" data-default-file="foto/<?=$ubah->gambar?>"/>

</div>

</div>

<div class="form-group row">

<label class="col-xl-12 col-md-3 form-control-label">Username

<span class="required">*</span>

</label>

<div class=" col-xl-6 col-md-9">

<input type="text" class="form-control" name="akun" placeholder="1"


value="<?=$ubah->username?>"

required="">

</div>

</div>

<div class="form-group row">

<label class="col-xl-12 col-md-3 form-control-label">Password

<span class="required">*</span>

</label>

<div class=" col-xl-6 col-md-9">

<input type="text" class="form-control" name="sandi" placeholder="1"


value="<?=$ubah->password?>"

required="">

</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


121

</div>

<div class="form-group col-xl-12 text-center padding-top-m">

<button type="submit" class="btn btn-primary"


id="validateButton1">Submit</button>

</div>

</form>

</div>

</div>

</div>

</div>

</div>

<?php endforeach;?>

Berikutnya buat sebuah models, dengan nama M_profil.php


application/models /M_ profil.php
Contoh Syntax 9.10

<?php

class M_profil extends CI_Model{

function update_data($where,$data,$table){

$this->db->where($where);

$this->db->update($table,$data);

function edit_data($id){

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


122

$result = $this->db->query("SELECT*FROM user WHERE


username='".$this->session->userdata('username')."'");

return $result;

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


123

Dashboard

Berikutnya edit sebuah controller, dengan nama Home.php


application/controllers/Home.php
Contoh Syntax 9.11

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller {

function __construct(){

parent::__construct();

$this->load->helper('url');

public function index()

$this->load->view('header');

$this->load->view('utama');

$this->load->view('footer');

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


124

Berikutnya buat sebuah views, dengan nama Utama.php


application/views/Utama.php
Contoh Syntax 9.12

<?php

error_reporting(0);

$query2 = $this->db->query("SELECT COUNT(*) as jum FROM barang_masuk");

$b = $query2->row();

$query2 = $this->db->query("SELECT COUNT(*) as ni FROM barang");

$b1 = $query2->row();

$c=($b->jum/$b1->ni)*100;

$query2 = $this->db->query("SELECT COUNT(*) as jum FROM barang_keluar");

$f = $query2->row();

$query2 = $this->db->query("SELECT COUNT(*) as ni FROM barang");

$f1 = $query2->row();

$f1=($f->jum/$f1->ni)*100;

$query2 = $this->db->query("SELECT SUM(jml_masuk) as jum FROM stok");

$h = $query2->row();

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


125

$query2 = $this->db->query("SELECT SUM(jml_keluar) as jum FROM


barang_keluar");

$h1 = $query2->row();

$j=($h1->jum/$h->jum)*100;

?>

<div class="col-xxl-3">

<div class="row h-full" data-plugin="matchHeight">

<div class="col-xxl-12 col-lg-4 col-sm-4">

<div class="card card-shadow card-completed-options">

<div class="card-block p-30">

<div class="row">

<div class="col-6">

<div class="counter text-left blue-grey-700">

<div class="counter-label mt-10">Barang Masuk

</div>

<div class="counter-number font-size-40 mt-10">

<?=$b->jum?>

</div>

</div>

</div>

<div class="col-6">

<div class="pie-progress pie-progress-sm" data-plugin="pieProgress"


data-valuemax="100"

data-barcolor="#57c7d4" data-size="100" data-barsize="10"

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


126

data-goal="<?=$c?>" aria-valuenow="<?=$c?>" role="progressbar">

<span class="pie-progress-number blue-grey-700 font-size-20">

<?=number_format($c, 2, '.', '')?>%

</span>

</div>

</div>

</div>

</div>

</div>

</div>

<div class="col-xxl-12 col-lg-4 col-sm-4">

<div class="card card-shadow card-completed-options">

<div class="card-block p-30">

<div class="row">

<div class="col-6">

<div class="counter text-left blue-grey-700">

<div class="counter-label mt-10">Barang Keluar

</div>

<div class="counter-number font-size-40 mt-10">

<?=$f->jum?>

</div>

</div>

</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


127

<div class="col-6">

<div class="pie-progress pie-progress-sm" data-plugin="pieProgress"


data-valuemax="100"

data-barcolor="#62a8ea" data-size="100" data-barsize="10"

data-goal="62" aria-valuenow="<?=$f1?>" role="progressbar">

<span class="pie-progress-number blue-grey-700 font-size-20">

<?=number_format($f1, 2, '.', '')?>%

</span>

</div>

</div>

</div>

</div>

</div>

</div>

<div class="col-xxl-12 col-lg-4 col-sm-4">

<div class="card card-shadow card-completed-options">

<div class="card-block p-30">

<div class="row">

<div class="col-6">

<div class="counter text-left blue-grey-700">

<div class="counter-label mt-10">Stok

</div>

<div class="counter-number font-size-40 mt-10">

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


128

<?=$h->jum?>

</div>

</div>

</div>

<div class="col-6">

<div class="pie-progress pie-progress-sm" data-plugin="pieProgress"


data-valuemax="100"

data-barcolor="#926dde" data-size="100" data-barsize="10"

data-goal="<?=$j?>" aria-valuenow="<?=$j?>" role="progressbar">

<span class="pie-progress-number blue-grey-700 font-size-20">

<?=number_format($j, 2, '.', '')?>%

</span>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


129

Bagian 10

Restfull API

Folder Pada Bab 5

REST (Representational State Transfer) dan API (Application


Programming Interfaces) biasa digunakan untuk berkomunikasi antara
klien dan server. Selain REST, ada juga metode yang lain semacam soap
web service, dll. Disisi server kita buat API nya, lalu bisa dipanggil oleh
satu atau lebih klien. Misalkan kita mempunyai database (mysql)
“banisaleh” di server, kemudian kita membuat website dan aplikasi
android sebagai klien. Website dan aplikasi android tidak perlu
membuat database lagi, cukup mengambil database “banisaleh” dari
server via HTTP. output dari API tersebut biasanya berupa JSON atau
XML.

Umumnya dokumentasi API akan menyertakan:

– URL API

– Method GET/POST

– Parameter

Misalkan server anda ada di :

http://pemrogramanweb2.xyz/belajar/

Sub Folder

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


130

Buat file categories/list.php

Contoh Program 10.1


<?php
header('Content-Type: application/json');
include
dirname(dirname(__FILE__)).'/db/Db.class.php';
$db = new Db();

$cat_list = $db->query('select * from barang');


$arr = array();
$arr['info'] = 'success';
$arr['num'] = count($cat_list);
Yang kita pakai untuk URL API adalah :

http://pemrogramanweb2.xyz/belajar/categories/list.php

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


131

Lalu pada PC kalian buat lah folder restful

Dilanjutkan dengan membuat file bernama inc.php

Contoh Program 1.2


<?php
$api_url =
'http://pemrogramanweb2.xyz/belajar/';

Dilanjutkan dengan membuat file bernama index.php

Contoh Syntax 10.3

<?php

include 'inc.php';

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>Barang</title>

</head>

<script type="text/javascript">

function deleteData(id_barang) {

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


132

var cfm = confirm("Apakah anda yakin akan menghapus data ini?");

if (cfm) {

window.location.href='barang-delete.php?id_barang='+id_barang;

</script>

<body>

<?php

$api_categories_list = $api_url.'/categories/list.php';

$json_list = @file_get_contents($api_categories_list);

?>

<h1>Barang</h1>

<?php

$info = isset($_GET['info']) ? $_GET['info'] : '';

$msg = isset($_GET['msg']) ? $_GET['msg'] : '';

if (!empty($info)) {

echo 'Info: '.$info;

echo '<br />Msg: '.$msg;

echo '<br />';

?>

<p><a href="add.php">Add New</a> | <a


href="index.php">Reload</a></p>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


133

<table border="1">

<tr>

<th>ID</th>

<th>Nama</th>

<th>Spesifikasi</th>

<th>Lokasi</th>

<th>Kondisi</th>

<th>jumlah</th>

<th>Sumber</th>

<th>Action</th>

</tr>

<?php

$array = json_decode($json_list, true);

$result = isset($array['result']) ? $array['result'] : array();

$no = 0;

foreach($result as $arr) {

$no++;

$link_edit = '<a href="edit.php?id_barang='.$arr['id_barang'].'">[Edit]</a>';

$link_delete = '<a href="javascript:void:;" onclick="deleteData(\''.


$arr['id_barang'].'\')">[Delete]</a>';

echo '

<tr>

<td>'.$no.'</td>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


134

<td>'.$arr['nama_barang'].'</td>

<td>'.$arr['spesifikasi'].'</td>

<td>'.$arr['lokasi'].'</td>

<td>'.$arr['kondisi'].'</td>

<td>'.$arr['jumlah_barang'].'</td>

<td>'.$arr['sumber_dana'].'</td>

<td>'.$link_edit.' '.$link_delete.'</td>

</tr>

';

?>

</table>

</body>

</html>

Buat file pada hosting dengan nama categories/create.php

Contoh Syntax 10.4

<?php

header('Content-Type: application/json');

include dirname(dirname(__FILE__)).'/db/Db.class.php';

$db = new Db();

$id_barang = isset($_POST['id_barang']) ? $_POST['id_barang'] : '';

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


135

$nama_barang = isset($_POST['nama_barang']) ? $_POST['nama_barang'] : '';

$spesifikasi = isset($_POST['spesifikasi']) ? $_POST['spesifikasi'] : '';

$lokasi = isset($_POST['lokasi']) ? $_POST['lokasi'] : '';

$kondisi = isset($_POST['kondisi']) ? $_POST['kondisi'] : '';

$jumlah_barang = isset($_POST['jumlah_barang']) ? $_POST['jumlah_barang'] : '';

$sumber_dana = isset($_POST['sumber_dana']) ? $_POST['sumber_dana'] : '';

if (empty($id_barang)) {

$arr = array();

$arr['info'] = 'error';

$arr['msg'] = 'Kategori tidak ada';

echo json_encode($arr);

exit();

$datas = array();

$datas['id_barang'] = $id_barang;

$datas['nama_barang'] = $nama_barang;

$datas['spesifikasi'] = $spesifikasi;

$datas['lokasi'] = $lokasi;

$datas['kondisi'] = $kondisi;

$datas['jumlah_barang'] = $jumlah_barang;

$datas['sumber_dana'] = $sumber_dana;

$exec = $db->insert('`barang`', $datas);

if (!$exec) {

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


136

$arr = array();

$arr['info'] = 'error';

$arr['msg'] = 'Query tidak berhasil dijalankan.';

echo json_encode($arr);

exit();

$arr = array();

$arr['info'] = 'success';

$arr['msg'] = 'Data berhasil diproses.';

echo json_encode($arr);

Berikutnya buat sebuah file pada PC kamu, dengan nama add.php


Contoh Syntax 10.5

<?php

include 'inc.php';

$id_barang = isset($_POST['id_barang']) ? $_POST['id_barang'] : '';

if (!empty($id_barang)) {

//proses submit ke API

$id_barang = isset($_POST['id_barang']) ? $_POST['id_barang'] : '';

$nama_barang = isset($_POST['nama_barang']) ? $_POST['nama_barang'] : '';

$spesifikasi = isset($_POST['spesifikasi']) ? $_POST['spesifikasi'] : '';

$lokasi = isset($_POST['lokasi']) ? $_POST['lokasi'] : '';

$kondisi = isset($_POST['kondisi']) ? $_POST['kondisi'] : '';

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


137

$jumlah_barang = isset($_POST['jumlah_barang']) ? $_POST['jumlah_barang'] : '';

$sumber_dana = isset($_POST['sumber_dana']) ? $_POST['sumber_dana'] : '';

$url = $api_url.'/categories/create.php';

$postdata = array();

$postdata['id_barang'] = $id_barang;

$postdata['nama_barang'] = $nama_barang;

$postdata['spesifikasi'] = $spesifikasi;

$postdata['lokasi'] = $lokasi;

$postdata['kondisi'] = $kondisi;

$postdata['jumlah_barang'] = $jumlah_barang;

$postdata['sumber_dana'] = $sumber_dana;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64)


AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36");

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($postdata,'','&'));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

$response = curl_exec ($ch);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


138

$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

$curl_error = curl_error($ch);

curl_close ($ch);

$arr_response = json_decode($response, true);

$info = isset($arr_response['info']) ? $arr_response['info'] : 'error';

$msg = isset($arr_response['msg']) ? $arr_response['msg'] : 'tidak diketahui';

header('location:add.php?info='.$info.'&msg='.$msg);

exit();

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>Add Barang</title>

</head>

<body>

<h1>Add Barang</h1>

<?php

$info = isset($_GET['info']) ? $_GET['info'] : '';

$msg = isset($_GET['msg']) ? $_GET['msg'] : '';

if (!empty($info)) {

echo 'Info: '.$info;

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


139

echo '<br />Msg: '.$msg;

echo '<br />';

?>

<p><a href="index.php">&laquo; Back</a> | <a


href="add.php">Reload</a></p>

<form method="POST" action="">

<table border="1">

<tr>

<td>ID</td>

<td>:</td>

<td><input type="text" name="id_barang" size="50"></td>

</tr>

<tr>

<td>Nama</td>

<td>:</td>

<td><input type="text" name="nama_barang" size="50"></td>

</tr>

<tr>

<td>Spesifikasi</td>

<td>:</td>

<td><input type="text" name="spesifikasi" size="50"></td>

</tr>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


140

<tr>

<td>Lokasi</td>

<td>:</td>

<td><input type="text" name="lokasi" size="50"></td>

</tr>

<tr>

<td>Kondisi</td>

<td>:</td>

<td><input type="text" name="kondisi" size="50"></td>

</tr>

<tr>

<td>jumlah</td>

<td>:</td>

<td><input type="text" name="jumlah_barang" size="50"></td>

</tr>

<tr>

<td>Sumber</td>

<td>:</td>

<td><input type="text" name="sumber_dana" size="50"></td>

</tr>

</table>

<p>

<input type="submit" name="sbm" value="Submit" />

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


141

</p>

</form>

</body>

</html>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


142

Buat file pada hosting dengan nama categories/detail.php

Contoh Syntax 10.6

<?php

header('Content-Type: application/json');

include dirname(dirname(__FILE__)).'/db/Db.class.php';

$db = new Db();

$id_barang = isset($_GET['id_barang']) ? (int) $_GET['id_barang'] : 0;

$cat_detail = $db->row('SELECT * FROM `barang` where id_barang='.$id_barang);

$arr = array();

$arr['info'] = 'success';

$arr['result'] = $cat_detail;

echo json_encode($arr);

Buat file pada hosting dengan nama categories/update.php

Contoh Syntax 10.7

<?php

header('Content-Type: application/json');

include dirname(dirname(__FILE__)).'/db/Db.class.php';

$db = new Db();

$id_barang = isset($_POST['id_barang']) ? $_POST['id_barang'] : '';

$nama_barang = isset($_POST['nama_barang']) ? $_POST['nama_barang'] : '';

$spesifikasi = isset($_POST['spesifikasi']) ? $_POST['spesifikasi'] : '';

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


143

$lokasi = isset($_POST['lokasi']) ? $_POST['lokasi'] : '';

$kondisi = isset($_POST['kondisi']) ? $_POST['kondisi'] : '';

$jumlah_barang = isset($_POST['jumlah_barang']) ? $_POST['jumlah_barang'] : '';

$sumber_dana = isset($_POST['sumber_dana']) ? $_POST['sumber_dana'] : '';

if (empty($id_barang) OR empty($nama_barang)) {

$arr = array();

$arr['info'] = 'error';

$arr['msg'] = 'ID atau nama Kategori tidak ada';

echo json_encode($arr);

exit();

$datas = array();

$datas['id_barang'] = $id_barang;

$datas['nama_barang'] = $nama_barang;

$datas['spesifikasi'] = $spesifikasi;

$datas['lokasi'] = $lokasi;

$datas['kondisi'] = $kondisi;

$datas['jumlah_barang'] = $jumlah_barang;

$datas['sumber_dana'] = $sumber_dana;

$exec = $db->update('`barang`', $datas,' where id_barang='.$id_barang);

if (!$exec) {

$arr = array();

$arr['info'] = 'error';

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


144

$arr['msg'] = 'Query tidak berhasil dijalankan.';

echo json_encode($arr);

exit();

$arr = array();

$arr['info'] = 'success';

$arr['msg'] = 'Data berhasil diproses.';

echo json_encode($arr);

Berikutnya buat sebuah file pada PC kamu, dengan nama edit.php


Contoh Syntax 10.8

<?php

include 'inc.php';

$id_barang = isset($_GET['id_barang']) ? (int) $_GET['id_barang'] : 0;

if (empty($id_barang)) {

header('location:index.php');

exit();

$nama_barang = isset($_POST['nama_barang']) ? $_POST['nama_barang'] : '';

if (!empty($nama_barang)) {

//proses submit ke API

$id_barang = isset($_POST['id_barang']) ? $_POST['id_barang'] : '';

$nama_barang = isset($_POST['nama_barang']) ? $_POST['nama_barang'] : '';

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


145

$spesifikasi = isset($_POST['spesifikasi']) ? $_POST['spesifikasi'] : '';

$lokasi = isset($_POST['lokasi']) ? $_POST['lokasi'] : '';

$kondisi = isset($_POST['kondisi']) ? $_POST['kondisi'] : '';

$jumlah_barang = isset($_POST['jumlah_barang']) ? $_POST['jumlah_barang'] : '';

$sumber_dana = isset($_POST['sumber_dana']) ? $_POST['sumber_dana'] : '';

$url = $api_url.'/categories/update.php';

$postdata = array();

$postdata['id_barang'] = $id_barang;

$postdata['nama_barang'] = $nama_barang;

$postdata['spesifikasi'] = $spesifikasi;

$postdata['lokasi'] = $lokasi;

$postdata['kondisi'] = $kondisi;

$postdata['jumlah_barang'] = $jumlah_barang;

$postdata['sumber_dana'] = $sumber_dana;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64)


AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36");

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($postdata,'','&'));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


146

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

$response = curl_exec ($ch);

$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

$curl_error = curl_error($ch);

curl_close ($ch);

$arr_response = json_decode($response, true);

$info = isset($arr_response['info']) ? $arr_response['info'] : 'error';

$msg = isset($arr_response['msg']) ? $arr_response['msg'] : 'tidak diketahui';

header('location:edit.php?id_barang='.$id_barang.'&info='.$info.'&msg='.$msg);

exit();

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>Edit Barang</title>

</head>

<body>

<h1>Edit Barang</h1>

<?php

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


147

$info = isset($_GET['info']) ? $_GET['info'] : '';

$msg = isset($_GET['msg']) ? $_GET['msg'] : '';

if (!empty($info)) {

echo 'Info: '.$info;

echo '<br />Msg: '.$msg;

echo '<br />';

$api_categories_detail = $api_url.'/categories/detail.php?id_barang='.$id_barang;

$json_detail = @file_get_contents($api_categories_detail);

$arr_detail = json_decode($json_detail, true);

$result = isset($arr_detail['result']) ? $arr_detail['result'] : array();

?>

<p><a href="index.php">&laquo; Back</a> | <a href="edit.php?id_barang=<?


php echo $result['id_barang']; ?>">Reload</a></p>

<form method="POST" action="">

<input type="hidden" name="id_barang" value="<?php echo


$result['id_barang']; ?>" />

<table border="1">

<tr>

<td>Nama Barang</td>

<td>:</td>

<td><input type="text" name="nama_barang" size="50" value="<?php


echo $result['nama_barang']; ?>"></td>

</tr>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


148

<tr>

<td>Spesifikasi</td>

<td>:</td>

<td><input type="text" name="spesifikasi" size="50" value="<?php echo


$result['spesifikasi']; ?>"></td>

</tr>

<tr>

<td>Lokasi</td>

<td>:</td>

<td><input type="text" name="lokasi" size="50" value="<?php echo


$result['lokasi']; ?>"></td>

</tr>

<tr>

<td>Kondisi</td>

<td>:</td>

<td><input type="text" name="kondisi" size="50" value="<?php echo


$result['kondisi']; ?>"></td>

</tr>

<tr>

<td>jumlah</td>

<td>:</td>

<td><input type="text" name="jumlah_barang" size="50" value="<?php


echo $result['jumlah_barang']; ?>"></td>

</tr>

<tr>

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


149

<td>Sumber</td>

<td>:</td>

<td><input type="text" name="sumber_dana" size="50" value="<?php


echo $result['sumber_dana']; ?>"></td>

</tr>

</table>

<p>

<input type="submit" name="sbm" value="Submit" />

</p>

</form>

</body>

</html>

Buat file pada hosting dengan nama categories/delete.php

Contoh Syntax 10.9

<?php

header('Content-Type: application/json');

include dirname(dirname(__FILE__)).'/db/Db.class.php';

$db = new Db();

$id_barang = isset($_POST['id_barang']) ? (int) $_POST['id_barang'] : '';

if (empty($id_barang)) {

$arr = array();

$arr['info'] = 'error';

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


150

$arr['msg'] = 'ID Kategori tidak ditemukan';

echo json_encode($arr);

exit();

$db->query('delete from `barang` where id_barang='.$id_barang);

$arr = array();

$arr['info'] = 'success';

$arr['msg'] = 'Data berhasil dihapus.';

echo json_encode($arr);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


151

Berikutnya buat sebuah file pada PC kamu, dengan nama barang-


delete.php
Contoh Syntax 10.10

<?php

include 'inc.php';

$id_barang = isset($_GET['id_barang']) ? (int) $_GET['id_barang'] : 0;

if (empty($id_barang)) {

header('location:index.php');

exit();

//proses delete ke API

$url = $api_url.'/categories/delete.php';

$postdata = array();

$postdata['id_barang'] = $id_barang;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64)


AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36");

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($postdata,'','&'));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


152

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

$response = curl_exec ($ch);

$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

$curl_error = curl_error($ch);

curl_close ($ch);

$arr_response = json_decode($response, true);

$info = isset($arr_response['info']) ? $arr_response['info'] : 'error';

$msg = isset($arr_response['msg']) ? $arr_response['msg'] : 'tidak diketahui';

header('location:index.php?info='.$info.'&msg='.$msg);

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI


153

DAFTAR PUSTAKA

[1] Seri Minta Uba Hasibuan, “Algoritma Pemrograman dan Notasi


Tertulis,” 2021.
[2] A. Arif and Y. Mukti, “Rancang Bangun Website Sekolah
Menengah Pertama (SMP) Negeri 8 Kota Pagar Alam,” J. Ilm.
Betrik, vol. 8, no. 03, pp. 156–165, 2017, doi:
10.36050/betrik.v8i03.76.
[3] M. A. Murtadho et al., “Perancangan teknologi website opd kota
mojokerto dengan model mvc dan rwd,” Misi, vol. 3, no. 1, pp.
51–57, 2020.
[4] E. Amelia and D. Safitri, “Sistem Laporan Stock Barang Material
Pada PT Lionel Arikanami Konstruksi,” vol. 1, no. 3, pp. 1–14,
2021.
[5] J. S. Munizzi, “Analisis dan Perancangan Sistem Basis Data Pada
PT Jevin Multi Sarana,” 2013.
[6] E. N. Huda, “Desain Basis Data Administrasi Rawat Inap,” Dinus,
2013.
[7] O. K. Marsellius, “Perancangan Sistem Informasi Penjualan Tiket
Bus Pada P . O Rappan Marannu,” vol. V, no. 2, pp. 143–152.
[8] A. Sofwan, “Belajar Mysql dengan Phpmyadmin Pendahuluan,”
Modul kuliah Graph. User Interface I di Perguru. Tinggi Raharja ,
pp. 1–29, 2011.
[9] J. I. Maanari, R. Sengkey, I. H. F. Wowor, M. Kom, and Y. D. Y.
Rindengan, “Perancangan Basis Data Perusahaan Distribusi
Dengan Menggunakan Oracle,” J. Tek. Elektro dan Komput., vol.
2, no. 2, 2013, doi: 10.35793/jtek.2.2.2013.1719.

PEMROGRAMAN WEB 1 KRESNO MURTI PRABOWO., S.KOM., MMSI

Anda mungkin juga menyukai