Web Progamming Ii
Web Progamming Ii
Disusun oleh :
KATA PENGANTAR
Puji syukur kami panjatkan atas kehadirat Allah SWT, yang telah memberikan rahmat
serta karunia-Nya kepada kami sehingga kami dapat menyelesaikan makalah ini tepat pada
waktunya. Dimana didalam makalah ini sebagai salah satu persyaratan untuk memperoleh nilai
tugas khususnya tugas project UAS Semester III pada mata kuliah Web Programming II.
Adapun judul penulisan makalah ini adalah :
DAFTAR ISI
HALAMAN JUDUL................................................................................................................................i
KATA PENGANTAR............................................................................................................................ii
DAFTAR ISI..........................................................................................................................................iii
BAB IPENDAHULUAN........................................................................................................................1
A. Latar Belakang.......................................................................................................................1
ii
B. Rumusan Masalah..................................................................................................................1
C. Tujuan Pembahasan Masalah................................................................................................1
D. Metode dan Teknik Penulisan...............................................................................................2
E. Sistematika Penulisan.................................................................................................................2
BAB IILANDASAN TEORI..................................................................................................................3
A. Sejarah Codeigniter....................................................................................................................3
B. Pengertian Framework...............................................................................................................3
C. Pengertian MVC (Model View Control)...................................................................................3
D. Kelebihan Codeigniter................................................................................................................4
BAB IIIPEMBAHASAN........................................................................................................................6
A. Coding.........................................................................................................................................6
B. Tampilan...................................................................................................................................21
BAB IVPENUTUP...............................................................................................................................27
A. KESIMPULAN.....................................................................................................................27
B. SARAN..................................................................................................................................27
DAFTAR PUSTAKA...........................................................................................................................28
iii
BAB I
PENDAHULUAN
A. Latar Belakang
Oleh karena itu berdasarkan latar belakang yang telah kami paparkan diatas ,
maka kami akan membahas makalah kami yang berjudul:
B. Rumusan Masalah
Berdasarkan latar belakang diatas, masalah dirumuskan sebagai berikut :
1. Coding dari pembuatan Sistem Informasi dengan Framework Codeigniter pada
Sistem Informasi Bengkel “Bina Mulya”.
2. Tampilan dari pembuatan Sistem Informasi dengan Framework Codeigniter pada
Sistem Informasi Bengkel “Bina Mulya”.
1. Metode Penulisan
Dalam pembuatan makalah ini, penulis menggunakan metode deskriptif, yaitu
metode yang berdasarkan pengumpulan buku-buku dan media komunikasi lainnya
yang berkaitan dengan masalah yang dibahas nantinya menjadi pegangan dan
sumber.
2. Teknik Penulisan
Teknik yang digunakan dalam penyusunan karangan ilmiah ini adalah teknik
bibliografi atau telaah pustaka yaitu sebuah teknik dengan menelaah atau mengkaji
sumber-sumber tertulis.
E. Sistematika Penulisan
Agar penulisan karangan ilmiah ini lebih tersusun dan terarah dalam
penyusunannya, maka penulis membaginya menjadi empat bab :
BAB I : PENDAHULUAN, yang terdiri dari latar belakang ,rumusan masalah, tujuan
pembahasan masalah, metode dan teknik penulisan dan sistematika penulisan.
BAB III : PEMBAHASAN, yang terdiri dari lembar prosedur sistem yang berjalan, dan
materi dari penggunaan Codeigniter dalam judul Sistem Informasi Bengkel “Bina
Mulya”.
A. Sejarah Codeigniter
CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC
(Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP.
CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah
dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28
Februari 2006. Versi stabil terakhir adalah versi 3.0.6. yang dirilis pada 12 Juni 2018.
B. Pengertian Framework
Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-
prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa
lebih mempermudah dan mempercepat pekerjaan seorang pemrograman, tanpa harus
membuat fungsi atau class dari awal.
Model View Controller merupakan suatu konsep yang cukup populer dalam
pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC
memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun
sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol
aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu
aplikasi yaitu :
3
1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web
bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View
berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak
memiliki akses langsung terhadap bagian model.
2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert,
update, delete, search), menangani validasi dari bagian controller, namun tidak dapat
berhubungan langsung dengan bagian view.
3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian
view, controller berfungsi untuk menerima request dan data dari user kemudian
menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan
kemampuan developernya, yaitu programmer yang menangani bagian model dan controller,
sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC
dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan
komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel
yang akan ditampilkan.
D. Kelebihan Codeigniter
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain.
Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena
eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat
cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling
cepat dibanding framework yang lain.
Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk
menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan
konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau
autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda
hanya perlu merubah sedikit saja file pada folder config.
Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk
berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
4
Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai
user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun
mudah dipahami.
Dan banyak lagi yang lainnya.
5
BAB III
PEMBAHASAN
Bab ini berisi project pembuatan Sistem Informasi menggunakan framework Codeigniter
dengan pola MVC (Model View Controller) yang berjudul Bengkel “Bina Mulya”.
A. Coding
Disini kami akan menampilkan beberapa contoh coding yang digunakan dalam
membuat Program Sistem Informasi kami dengan nama folder bengkel pada xampp/htdocs.
1. File Routes
Variabel tersebut harus kita isi dengan controller utama yang akan kita gunakan
sebagai tampilan utama website kita. Standarnya, variabel tersebut akan terisi dengan
welcome yang akan menampilkan halaman utama CodeIgniter. Dalam program kami
menggunakan file controller login.php :
$route['default_controller'] = "login";
$route['404_override'] = '';
2. File Config
Untuk menyesuaikan url yang kita gunakan atau jika kita sudah upload ke hosting
url tersebut kita sesuaikan dengan nama domain. Tapi dalam program ini kami
menggunakan auto base_url, sehingga tidak perlu diubah-ubah lagi apabila ada
perubahan seperti perubahan nama file folder.
//$config['base_url'] = 'http://localhost/penjualan';
$root = "http://".$_SERVER['HTTP_HOST'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",
$_SERVER['SCRIPT_NAME']);
$config['base_url'] = "$root";
3. File Database
6
Untuk konfigurasi untuk koneksi ke database.
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'db_penjualan';
$db['default']['dbdriver'] = 'mysqli';
Seperti yang ditampilkan diatas bahwa usernamenya adalah root sebagai default
username aplikasi xampp dan nama database yang digunakan adalah db_penjualan.
Lokasi File : Local Disk C/xampp/htdocs/bengkel/application/config/database.php
4. File Controller
Controller merupakan kumpulan intruksi aksi yang menghubungkan model dan
view, jadi user tidak akan berhubungan dengan model secara langsung, intinya data
yang tersimpan di database (model) di ambil oleh controller dan kemudian controller
pula yang menampilkan nya ke view. Jadi controller lah yang mengolah intruksi.
Ada beberapa file yang ada pada controller kami yaitu file dashboard, laporan,
login, master dan penjualan. Berikut salah satu isi coding dari salah satu file controller
kami yaitu file login.php sebagai controller pertama yang digunakan dalam bentuk form
login admin :
<?php
class Login extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('model_app');
}
function index(){
$data=array(
'title'=>'Login Page'
);
$this->load->view('pages/v_login',$data);
}
function cek_login() {
//Field validation succeeded. Validate against database
$username = $this->input->post('username');
$password = $this->input->post('password');
//query the database
$result = $this->model_app->login($username, $password);
if($result) {
$sess_array = array();
foreach($result as $row) {
//create the session
$sess_array = array(
7
'ID' => $row->kd_pegawai,
'USERNAME' => $row->username,
'PASS'=>$row->password,
'NAME'=>$row->nama,
'LEVEL' => $row->level,
'login_status'=>true,
);
//set session with value from database
$this->session->set_userdata($sess_array);
redirect('dashboard','refresh');
}
return TRUE;
} else {
//if form validate false
redirect('dashboard','refresh');
return FALSE;
}
}
function logout() {
$this->session->unset_userdata('ID');
$this->session->unset_userdata('USERNAME');
$this->session->unset_userdata('PASS');
$this->session->unset_userdata('NAME');
$this->session->unset_userdata('LEVEL');
$this->session->unset_userdata('login_status');
$this->session->set_flashdata('notif','Terimakasih Telah Menggunakan
Aplikasi Ini !!');
redirect('login');
}
}
5. File Model
Model adalah kelas yang merepresentasikan atau memodelkan tipe data yang
akan digunakan oleh aplikasi. File yang kami gunakan untuk model adalah file
model_app.php :
<?php
class Model_app extends CI_Model{
function __construct(){
parent::__construct();
}
// KODE PENJUALAN
public function getKodePenjualan()
{
8
$q = $this->db->query("select MAX(RIGHT(kd_penjualan,3)) as kd_max
from tbl_penjualan_header");
$kd = "";
if($q->num_rows()>0)
{
foreach($q->result() as $k)
{
$tmp = ((int)$k->kd_max)+1;
$kd = sprintf("%03s", $tmp);
}
}
else
{
$kd = "001";
}
return "O-".$kd;
}
// KODE BARANG
function getKodeBarang(){
$q = $this->db->query("select MAX(RIGHT(kd_barang,3)) as kd_max
from tbl_barang");
$kd = "";
if($q->num_rows()>0){
foreach($q->result() as $k){
$tmp = ((int)$k->kd_max)+1;
$kd = sprintf("%03s", $tmp);
}
}else{
$kd = "001";
}
return "B-".$kd;
}
// KODE PELANGGAN
public function getKodePelanggan(){
$q = $this->db->query("select MAX(RIGHT(kd_pelanggan,3)) as kd_max
from tbl_pelanggan");
$kd = "";
if($q->num_rows()>0){
foreach($q->result() as $k){
$tmp = ((int)$k->kd_max)+1;
$kd = sprintf("%03s", $tmp);
}
}else{
$kd = "001";
}
return "P-".$kd;
}
9
// KODE PEGAWAI
public function getKodePegawai(){
$q = $this->db->query("select MAX(RIGHT(kd_pegawai,3)) as kd_max
from tbl_pegawai");
$kd = "";
if($q->num_rows()>0){
foreach($q->result() as $k){
$tmp = ((int)$k->kd_max)+1;
$kd = sprintf("%03s", $tmp);
}
}else{
$kd = "001";
}
return "K-".$kd;
}
10
public function getAllData($table)
{
return $this->db->get($table)->result();
}
public function getSelectedData($table,$data)
{
return $this->db->get_where($table, $data);
}
function updateData($table,$data,$field_key)
{
$this->db->update($table,$data,$field_key);
}
function deleteData($table,$data)
{
$this->db->delete($table,$data);
}
function insertData($table,$data)
{
$this->db->insert($table,$data);
}
function manualQuery($q)
{
return $this->db->query($q);
}
function getBarangJual(){
return $this->db->query ("SELECT * from tbl_barang where stok > 0")-
>result();
}
function getAllDataPenjualan(){
return $this->db->query("SELECT
a.kd_penjualan,
a.tanggal_penjualan,
a.total_harga,
(select count(kd_penjualan) as jum from
tbl_penjualan_detail where kd_penjualan=a.kd_penjualan) as jumlah
from tbl_penjualan_header a
ORDER BY a.kd_penjualan DESC
")->result();
}
function getDataPenjualan($id){
return $this->db->query("SELECT * from tbl_penjualan_header a
left join tbl_pelanggan b on a.kd_pelanggan=b.kd_pelanggan
left join tbl_pegawai c on a.kd_pegawai=c.kd_pegawai
where a.kd_penjualan = '$id'")->result();
}
function getBarangPenjualan($id){
11
return $this->db->query("
select a.kd_barang,a.qty,b.nm_barang,b.harga
from tbl_penjualan_detail a
left join tbl_barang b on a.kd_barang=b.kd_barang
where a.kd_penjualan = '$id'")->result();
}
function getLapPenjualan($tgl_awal,$tgl_akhir){
return $this->db->query("SELECT *,sum(a.total_harga) as total_all from
tbl_penjualan_header a
left join tbl_pelanggan b on a.kd_pelanggan=b.kd_pelanggan
left join tbl_pegawai c on a.kd_pegawai=c.kd_pegawai
where a.tanggal_penjualan between '$tgl_awal' and '$tgl_akhir'
")->result();
}
}
Lokasi File : Local Disk C/xampp/htdocs/bengkel/application/models/model_app.php
6. File View
View merupakan bagian yang menangani halaman user interface atau halaman
yang muncul pada user(pada browser). Pada program kami dibagi menjadi 2 bagian lagi
yaitu element yang berisi file v_footer dan v_header dan pages yang berisi
ajax_detail_barang, ajax_detail_pelanggan, ajax_detal_penjualan, v_add_penjualan,
v_dashboard, v_detail_penjualan, v_lap_penjualan, v_login, v_master, v_penjualan,
v_result_laporan, v_tab_master_barang, v_tab_master_contact, v_tab_master_pegawai,
v_tab_master_pelanggan. Berikut salah satu contoh codingan dai view kami, yaitu file
v_login.php :
12
<html lang="en">
<head>
<meta charset="utf-8">
<title><?php echo $title?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Aplikasi inventori sederhana dengan CI &
Bootstrap">
13
margin: 0 auto 20px;
background-color: #666;
border: 2px solid rgba(255,255,255,0.3);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.05);
box-shadow: 0 1px 2px rgba(0,0,0,.05);
color: #ffffff;
}
.form-signin:hover{
border: 2px solid #fff;
}
.form-signin .form-signin-heading,
.form-signin {
margin-bottom: 10px;
}
.form-signin input[type="text"],
.form-signin input[type="password"] {
font-size: 16px;
height: auto;
margin-bottom: 15px;
padding: 7px 9px;
}
.text-center{
text-align: center;
}
</style>
14
<!-- JS -->
<script type="text/javascript" src="<?php echo base_url('asset/js/jquery.js')?
>"></script>
<script type="text/javascript" src="<?php echo base_url('asset/js/bootstrap.js')?
>"></script>
</head>
<body>
<div class="container">
<hr>
<input type="text" class="input-block-level" placeholder="Username"
name="username" required="">
<input type="password" class="input-block-level" placeholder="Password"
name="password" required="">
15
<button class="btn btn-large" type="submit">Sign in</button>
</form>
<hr>
<div class="footer">
<p>© Created By : <a href="#" target="_blank"><strong>Bina
Mulya</strong></a></p>
</div>
</div>
</body>
</html>
Lokasi File :
Local Disk C/xampp/htdocs/bengkel/application/views/pages/v_login.php
/*!40101 SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS
*/;
16
/*!40101 SET
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION
*/;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `db_penjualan`
--
-- --------------------------------------------------------
--
-- Struktur dari tabel `tbl_barang`
--
--
-- Dumping data untuk tabel `tbl_barang`
--
-- --------------------------------------------------------
--
-- Struktur dari tabel `tbl_contact`
--
17
`id` int(1) NOT NULL,
`nama` varchar(30) DEFAULT NULL,
`alamat` text,
`telp` varchar(30) DEFAULT NULL,
`email` varchar(30) DEFAULT NULL,
`website` varchar(50) DEFAULT NULL,
`owner` varchar(30) DEFAULT NULL,
`desc` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data untuk tabel `tbl_contact`
--
-- --------------------------------------------------------
--
-- Struktur dari tabel `tbl_pegawai`
--
--
-- Dumping data untuk tabel `tbl_pegawai`
--
-- --------------------------------------------------------
18
--
-- Struktur dari tabel `tbl_pelanggan`
--
--
-- Dumping data untuk tabel `tbl_pelanggan`
--
-- --------------------------------------------------------
--
-- Struktur dari tabel `tbl_penjualan_detail`
--
--
-- Dumping data untuk tabel `tbl_penjualan_detail`
--
-- --------------------------------------------------------
19
--
-- Struktur dari tabel `tbl_penjualan_header`
--
--
-- Dumping data untuk tabel `tbl_penjualan_header`
--
--
-- Indexes for dumped tables
--
--
-- Indeks untuk tabel `tbl_barang`
--
ALTER TABLE `tbl_barang`
ADD PRIMARY KEY (`kd_barang`);
--
-- Indeks untuk tabel `tbl_contact`
--
ALTER TABLE `tbl_contact`
ADD PRIMARY KEY (`id`);
--
-- Indeks untuk tabel `tbl_pegawai`
--
ALTER TABLE `tbl_pegawai`
ADD PRIMARY KEY (`kd_pegawai`);
--
-- Indeks untuk tabel `tbl_pelanggan`
20
--
ALTER TABLE `tbl_pelanggan`
ADD PRIMARY KEY (`kd_pelanggan`);
--
-- Indeks untuk tabel `tbl_penjualan_header`
--
ALTER TABLE `tbl_penjualan_header`
ADD PRIMARY KEY (`kd_penjualan`);
--
-- AUTO_INCREMENT untuk tabel yang dibuang
--
--
-- AUTO_INCREMENT untuk tabel `tbl_contact`
--
ALTER TABLE `tbl_contact`
MODIFY `id` int(1) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=2;
COMMIT;
/*!40101 SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
B. Tampilan
1. Halaman Login
21
2. Dashboard
22
4. Data Bengkel (Pelanggan)
23
6. Kontak
24
8. Menu Penjualan (Tampilan Daftar Transaksi Penjualan)
9. Laporan Penjualan
25
10. Tampilan Setelah Logout
26
BAB IV
PENUTUP
A. KESIMPULAN
1. CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC
(Model, View, Controller) untuk membangun website dinamis dengan menggunakan
PHP.
2. Codeigniter memiliki lebih banyak kelebihan daripada framework lainnya.
B. SARAN
Dari pembahasan yang telah kami paparkan diatas masih bayak kekurangan karena kami
masih dalam tahap belajar dan masih banyak fitur-fitur yang kurang karena keterbatasan
kami.
Untuk itu kami juga memberikan saran untuk kami dan juga mahasiswa :
1. Harus lebih mendalami materi mengenai codeigniter, karena kami menyadari masih
banyak kekurangan dari program kami.
2. Agar makalah kami menjadi acuan belajar bagi pembaca.
27
DAFTAR PUSTAKA
https://id.wikipedia.org/wiki/CodeIgniter#cite_note-rilis306-3
https://alfredoeblog.wordpress.com/2024/06/04/pengertian-dan-sejarah-codeinteger/
https://nuroaki.blogspot.com/2024/05/auto-baseurl-pada-codeigniter.html
https://www.dumetschool.com/blog/Konfigurasi-Yang-Terdapat-Pada-Codeigniter
https://idcloudhost.com/panduan/cara-konfigurasi-codeigniter/
28