Modul Praktikum Pemrograman Web Backend
Modul Praktikum Pemrograman Web Backend
,
M.Kom., CEH., CHFI
Xampp : Adalah salah satu paket aplikasi webserver yang dapat digunakan untuk keperluan
membuat webserver pada komputer lokal, aplikasi yang termasuk didalam paketnya yaitu :
apache web server, php server, mysql server dan lainya.
Download
http://sourceforge.net/projects/xampp/
2 PENGENALAN HTML
Source :
www.w3schools.com/html/
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a heading</h1>
<h2>This is a heading</h2>
<h3>This is a heading</h3>
<p>This is a paragraph.</p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style>
#header {
background-color:black;
color:white;
text-align:center;
padding:5px;
}
#nav {
line-height:30px;
background-color:#eeeeee;
height:300px;
width:100px;
float:left;
padding:5px;
}
#section {
width:350px;
float:left;
padding:10px;
}
#footer {
background-color:black;
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
</head>
<body>
<div id="header">
<h1>City Gallery</h1>
</div>
<div id="nav">
London<br>
Paris<br>
Tokyo<br>
</div>
<div id="section">
<h1>London</h1>
<p>
London is the capital city of England. It is the most populous city in the United
Kingdom,
with a metropolitan area of over 13 million inhabitants.
</p>
<p>
Standing on the River Thames, London has been a major settlement for two
millennia,
its history going back to its founding by the Romans, who named it Londinium.
</p>
</div>
<div id="footer">
Copyright © W3Schools.com
</div>
</body>
</html>
3 PENGENALAN CSS
Source :
http://www.w3schools.com/css/
body {
background-color: #d0e4fe;
}
h1 {
color: orange;
text-align: center;
}
p{
font-family: "Times New Roman";
font-size: 20px;
}
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
1. Contoh 1
body {
background-color: lightblue;
}
h1 {
text-align: center;
color: red;
}
h2 {
text-align: center;
color: red;
}
p{
text-align: center;
color: red;
}
2. Contoh 2
h1 {
background-color: #6495ed;
p{
background-color: #e0ffff;
}
div {
background-color: #b0c4de;
}
3. Contoh 3
body {
background-image: url("bgdesert.jpg");
}
4. Navigation bar
<ul>
<li><a href="default.asp">Home</a></li>
<li><a href="news.asp">News</a></li>
<li><a href="contact.asp">Contact</a></li>
<li><a href="about.asp">About</a></li>
</ul>
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
li {
display: inline;
}
li {
float: left;
}
a{
display: block;
width: 60px;
}
4 PENGENALAN PHP
PHP is a server scripting language, and a powerful tool for making dynamic and
interactive Web pages.
Source :
http://www.w3schools.com/php
?>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<?php
$color = "red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>
</body>
</html>
2. Contoh 2
$x = 5;
$y = 4;
echo $x + $y;
Echo “”;
3. Contoh 3
<?php
$x = 5;
$y = 10;
function myTest()
{
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
5 PENGENALAN MYSQL
Adalah :
Our SQL tutorial will teach you how to use SQL to access and manipulate data
in: MySQL, SQL Server, Access, Oracle, Sybase, DB2, and other database
systems.
http://Localhost/phpmyadmin
Id nama Timestamp
1 Teknik Industri
2 Teknik Informatika
No NPM Nama
no nama Jurusan
1
2
2 Teknik Informatika
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$x=1;
if ($result->num_rows > 0) {
echo "<table border=1px><tr><th>no</th><th>Judul</th><th>Isi</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$x."</td><td>".$row["title"]."</td>
<td>".$row["content"]."</td></tr>";
$x=$x+1;
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
• Halaman web yang akan dibuat terdiri 5 menu : Home, Tentang Kuliah, Tentang Kerja,
About me, Contact
• Pada sub bab 7.4 ini semua tulisan/content pada tiap2 halaman bersifat statis yang ditulis
langsung pada html (bukan dari database).
• File CSS yang digunakan adalah file css pada praktikum2 sebelumnya dengan pembagian
tampilan menjadi 4 : Header, Menu kiri, Content, footer.
• Code-code CSS digabung dengan kode HTML pada file2 didalam folder view.
• MVC yang terlibat hanya Controller dan View.
1. Membuat Controller
1. Buat file main.php pada direktori /codeigniter/application/controller.
2. Buat 5 file pada direktori /codeigniter/application/view.
home.php
kuliah.php
kerja.php
aboutme.php
contact.php
2. Membuat View
Berikut adalah isi dari /codeigniter/application/view/home.php
<!DOCTYPE html>
<html><head><title>Website ku</title><link rel="stylesheet" type="text/css"
href="localhost/assets/style.css"></head>
<body>
<div id="container">
<div id="image"></div>
<div id="header">
<ul>
<li><a href="http://localhost/codeigniter/">Home</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/kuliah">Kuliah</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/kerja">Kerja</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/aboutme">About Me</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/contact">Contact</a></li>
</ul>
</div>
<div id="nav">
<ul>
<li><a href="http://localhost/codeigniter/">Home</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/kuliah">Kuliah</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/kerja">Kerja</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/aboutme">About Me</a></li>
<li><a href="http://localhost/codeigniter/index.php/main/contact">Contact</a></li>
</ul>
</div>
<div id="section">
<h1>Web pertamaku</h1>
<h2>Ini adalah web pertamaku dengan CodeIgniter Framework</h2>
</div>
<div id="footer">Copyright © STT-Ibnu Sina Batam.</div>
</div>
</body>
</html>
Isi dari keempat file lainnya (kuliah.php, kerja.php, aboutme.php, contact.php) adalah sama
tinggal diganti didalam div section nya disesuaikan kalimat paragrafnya.
Buat folder /assets pada /codeigniter/, isinya style.css dan header.jpg (ambil dr pertemuan
4)
3. Hasil
Ada 12 entitas yang terlibat dalam pembahasan sub bab ini, yaitu
• main.php (controller)
• template.php (libraries)
• home.php (view)
• kuliah.php (view)
• kerja.php (view)
• contactus.php (view)
• aboutme.php (view)
• header.php(view/isinya berasal dari bootstrap)
• content.php (view/isinya berasal dari bootstrap)
• footer.php (view/isinya berasal dari bootstrap)
• container.php (view/isinya berasal dari bootstrap)
Langkah – langkah :
1. Buat file Main.php (Controller) pada
/xampp/htdocs/codeigniter/application/controller/main.php yg isinya sebagai berikut
<?php if (!defined('BASEPATH')) exit('Access Denied');
class Main extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->library('template');
}
public function index()
{
$this->home();
}
public function home()
{
$input=$this->template->home();
$this->load->view('container',$input,''); // Memanggil view home.php
}
public function kuliah()
{
$input=$this->template-> kuliah ();
$this->load->view('container',$input,''); // Memanggil view kuliah.php
}
public function kerja()
{
$input=$this->template-> kerja ();
$this->load->view('container',$input,''); // Memanggil view kerja.php
}
public function aboutme()
{
$input=$this->template-> aboutme ();
$this->load->view('container',$input,''); // Memanggil view aboutme.php
}
public function contact()
{
$input=$this->template-> contact ();
$this->load->view('container',$input,''); // Memanggil view contact.php
}
}
$output['footer']=$this->CI->load->view('footer','',true);
RETURN $output;
}
2. Buatlah database baru dengan nama codeigniterdb (hanya contoh, boleh diganti)
Tabel login
Tabel teman
$k=1;
//jika query diatas ada hasilnya
if ($query->num_rows() > 0)
{
return $data;
}
else
{
return false;
}
}
$k=1;
//jika query diatas ada hasilnya
if ($query->num_rows() > 0)
{
//menelurusi setiap baris pada tabel content
foreach ($query->result() as $row)
{
$data=$row->isi;
}
return $data;
}
else
{
return false;
}
}
public function kerja()
{
//kueri ke tabel content untuk menampilkan isi halaman kerja
$query=$this->db->select('id,judul, isi');
$query=$this->db->where('category','kerja');
$query=$this->db->order_by('id');
$query=$this->db->limit('1');
$query=$this->db->get('content');
$k=1;
//jika query diatas ada hasilnya
if ($query->num_rows() > 0)
{
//menelurusi setiap baris pada tabel content
foreach ($query->result() as $row)
{
$data=$row->isi;
}
return $data;
}
else
{
return false;
}
}
public function aboutme()
{
//kueri ke tabel content untuk menampilkan isi halaman aboutme
$query=$this->db->select('id,judul, isi');
$query=$this->db->where('category','aboutme');
$query=$this->db->order_by('id');
$query=$this->db->limit('1');
$query=$this->db->get('content');
$k=1;
//jika query diatas ada hasilnya
if ($query->num_rows() > 0)
{
//menelurusi setiap baris pada tabel content
foreach ($query->result() as $row)
{
$data=$row->isi;
}
return $data;
}
else
{
return false;
}
}
$k=1;
//jika query diatas ada hasilnya
if ($query->num_rows() > 0)
{
//menelurusi setiap baris pada tabel content
foreach ($query->result() as $row)
{
$data=$row->isi;
}
return $data;
}
else
{
return false;
}
}
$k=1;
//jika tabel teman ada isinya
if ($query->num_rows() > 0)
{
//set tampilan tabel sesuai fungsi template
$this->table->set_template($this->template());
//cetak header tabel
$this->table->set_heading('No','Nama','Alamat');
$this->output_table ='<h3>Daftar teman saya</h3>';
$k=1;
//telusuri tiap baris tabel teman
foreach ($query->result() as $row)
{
//cetak baris tabel
$this->table->add_row($k,$row->nama,$row->alamat);
$k=$k+1;
}
//cetak tabel
$this->output_table .=$this->table->generate();
return $this->output_table;
}
else
{
return false;
}
}
public function teman2()
{
//memanggil librari tabel
$this->load->library('table');
$query=$this->db->select('nama,alamat,id');
//kueri ke tabel teman urut by id
$query=$this->db->order_by('id');
$query=$this->db->get('teman');
$k=1;
//jika tabel teman ada isinya
if ($query->num_rows() > 0)
{
//set tampilan tabel sesuai fungsi template
$this->table->set_template($this->template());
//cetak header tabel
$this->table->set_heading('No','Nama','Alamat','','');
$this->output_table ='<h3>Daftar teman saya</h3>';
$k=1;
//telusuri tiap baris tabel teman
foreach ($query->result() as $row)
{
//cetak baris tabel
$this->table->add_row($k,$row->nama,$row->alamat,'<a
href='.base_url().'main/teman_edit/'.$row->id.'>Edit</a>','<a
href='.base_url().'main/teman_delete/'.$row->id.'>Delete</a>');
$k=$k+1;
}
//cetak tabel
$this->output_table .=$this->table->generate();
return $this->output_table;
}
else
{
return false;
}
}
if ($query->num_rows() > 0)
{
//kembalikan nilai hasil kueri
return $query->result();
}
else
{
return false;
}
}
public function teman_delete($input='')
{
//kueri ke tabel teman untuk menghapus data yg $id nya sama dengan segment
ketiga
$query=$this->db->where('id',$input['id']);;
$query=$this->db->delete('teman');
//Controller ini hanya bisa dipanggil jika user telah login, jika belum login
arahkan ke controller login
if (!$this->akses->is_login())
{
redirect ('login');
}
}
public function index()
{
$this->home();
}
public function home()
{
$input1['data']=$this->mainmodel->home();
$input2=$this->template->home($input1,'',true);
$this->load->view('container',$input2,''); // Memanggil view home.php
}
public function kuliah()
{
$input1['data']=$this->mainmodel->kuliah();
$input2=$this->template->home($input1,'',true);
$this->load->view('container',$input2,''); // Memanggil view kuliah.php
}
public function kerja()
{
$input1['data']=$this->mainmodel->kerja();
$input2=$this->template->home($input1,'',true);
$this->load->view('container',$input2,''); // Memanggil view kerja.php
}
public function aboutme()
{
$input1['data']=$this->mainmodel->aboutme();
$input2=$this->template->home($input1,'',true);
$this->load->view('container',$input2,''); // Memanggil view aboutme.php
}
public function contact()
{
$input1['data']=$this->mainmodel->contact();
$input2=$this->template->home($input1,'',true);
$this->load->view('container',$input2,''); // Memanggil view contact.php
}
public function teman()
{
$input1['data']=$this->mainmodel->teman('','',true);
$input2=$this->template->teman($input1,'',true);
$this->load->view('container',$input2); // Memanggil view contact.php
}
public function teman2()
{
$input1['data']=$this->mainmodel->teman2('','',true);
$input2=$this->template->teman2($input1,'',true);
$this->load->view('container',$input2); // Memanggil view contact.php
}
public function teman_edit()
{
$this->load->helper('form');
$input1['data']=$this->mainmodel->teman_edit('','',true);
$input2=$this->template->teman_edit($input1,'',true);
$this->load->view('container',$input2); // Memanggil view contact.php
}
public function teman_edit_save()
{
//memanggil helper form dan librari form validation
$this->load->helper('form');
$this->load->library('form_validation');
//jika tidak
else
{
redirect('main/teman_tambah');
}
}
public function teman_delete()
{
$data['id']=$this->uri->segment(3);
$input1['data']=$this->mainmodel->teman_delete($data,'',true);
$input2=$this->template->teman_delete($input1,'',true);
$this->load->view('container',$input2); // Memanggil view contact.php
}
public function teman_tambah()
{
$this->load->helper('form');
$input2=$this->template->teman_tambah('','',true);
$this->load->view('container',$input2); // Memanggil view contact.php
}
public function teman_tambah_save()
{
//memanggil helper form dan librari form validation
$this->load->helper('form');
$this->load->library('form_validation');
//memfilter inputan sesuai kriteria yg telah ditetapkan
$this->form_validation-
>set_rules('nama','nama','trim|required|strip_tags|max_length[50]|xss_clean');
$this->form_validation-
>set_rules('alamat','alamat','trim|required|strip_tags|max_length[100]|xss_clean');
$this->form_validation->set_rules('token','callback_discussion_detail');
//jika inputan lolos filter
if ($this->form_validation->run())
{
$data['nama']=$this->input->post('nama',TRUE);
$data['alamat']=$this->input->post('alamat',TRUE);
//memanggil model teman_tambah_save dengan mengirimkan nilai nama dan
alamat
$input1['data']=$this->mainmodel->teman_tambah_save($data,'',true);
//memanggil librari template
$input2=$this->template->teman_tambah_save($input1,'',true);
$this->load->view('container',$input2); // Memanggil view contact.php
}
//jika tidak
else
{
redirect('main/teman_tambah');
}
}
}
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'codeigniterdb',
'dbdriver' => 'mysql',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
$data['li3']='<li><a href="'.base_url().'index.php/home/kerja"></li>';
$data['li4']='<li><a href="'.base_url().'index.php/home/contactus"></li>';
$data['li5']='<li><a href="'.base_url().'index.php/home/aboutme"></li>';
$data['base_url']=base_url();
return $data;
}
public function home($input='',$output=NULL)
{
//halaman utama
$data=$this->mainmenu('','',true);
$data['page_title']='Halaman Utama';
$data['h1']='<h1>Selamat datang di websiteku</h1>';
function login($UserName,$password)
{
//melakukan kueri ke tabel login
$kueri=$this->CI->db->select('UserName,password,Name');
//keluarkan data jika username pada tabel sama dengan username inputan
$kueri=$this->CI->db->where('UserName',$UserName);
//tabel login
$kueri=$this->CI->db->get('login');
$hasil=$kueri->row();
// jika username dan password hasil kueri sama dengan inputan
user maka kembalikan nilai true
if ($hasil->UserName===$UserName AND $hasil-
>password===sha1($password))
{
$this->CI->session->set_userdata('Name',$hasil-
>Name);
$this->CI->session-
>set_userdata('UserName',$hasil->UserName);
return true;
}
//jika tidak kembalikan nilai false
else
{
return FALSE;
}
}
{
return (($this->CI->session->userdata('Name')) ? TRUE :FALSE);
}
function login($UserName,$password)
{
//melakukan kueri ke tabel login
$kueri=$this->CI->db->select('UserName,password,Name');
//keluarkan data jika username pada tabel sama dengan username inputan
$kueri=$this->CI->db->where('UserName',$UserName);
//tabel login
$kueri=$this->CI->db->get('login');
$hasil=$kueri->row();
// jika username dan password hasil kueri sama dengan inputan
user maka kembalikan nilai true
if ($hasil->UserName===$UserName AND $hasil->password===sha1($password))
{
$this->CI->session->set_userdata('Name',$hasil->Name);
$this->CI->session->set_userdata('UserName',$hasil->UserName);
return true;
}
//jika tidak kembalikan nilai false
else
{
return FALSE;
}
}
$autoload['helper'] = array('url','html','security','date');
$autoload['libraries']=array('database');
$autoload['libraries']=array('template');
$autoload['libraries']=array('pagination');
$route['main/teman_delete/:any']="main/teman_delete/:any";
$route['login']="login";
$route['login/login']="login/login";
$route['login/check_login']="login/check_login";
a. header.php
<!DOCTYPE html>
<html>
<head>
<title><?php echo $page_title;?></title>
<link rel="stylesheet" type="text/css" href="<?php echo $base_url;?>assets/style.css">
</head>
<body>
<div id="image">
</div>
<div id="header">
<ul>
<li><a href="<?php echo $base_url;?>main/home">Home</a></li>
<li><a href="<?php echo $base_url;?>main/kuliah">Kuliah</a></li>
<li><a href="<?php echo $base_url;?>main/kerja">Kerja</a></li>
<li><a href="<?php echo $base_url;?>main/contact">Contact</a></li>
<li><a href="<?php echo $base_url;?>main/aboutme">About Me</a></li>
</ul>
</div>
b. content.php
<div id="nav">
<ul>
<li><a href="<?php echo $base_url;?>main/teman">Daftar nama teman</a></li>
<li><a href="<?php echo $base_url;?>main/teman2">Edit Daftar teman</a></li>
<li><a href="<?php echo $base_url;?>main/teman_tambah">Tambah teman</a></li>
</ul>
</div>
<div id="kanan">
<div id="garis"><ol><b>Biodata</b></ol></div>
<img src="<?php echo $base_url;?>assets/bradpit.jpg" width="200px"
height="150px">
<p>
Nama : Brad pit<br/>
Pekerjaan : Seniman<br/>
Negara : Tanjung Pinang<br/>
Alamat : Perum Tanjung Pinang permai blok D3 no 10<br/>
Hoby : Selfi<br/> </p>
<hr>
<p align="justify">
Saya adalah seorang seniman asal Tanjung Pinang, Batam, Indonesia.
Saya menyukai teater dan musik, saya pernah bermain dalam beberapa film box office.
</p>
</div>
<div id="section">
<?php echo $content;?>
</div>
<div id="tengah"></div>
c. footer.php
<div id="footer">
Copyright © STT Ibnu Sina Batam
</div>
</body>
</html>
d. container.php
<?php
echo $header;
echo $content;
echo $footer;
?>
e. teman.php
<?php echo $data;?>
f. teman_edit.php
<?php
foreach ($data as $row)
{
$id=$row->id;
$nama=$row->nama;
$alamat=$row->alamat;
}
?>
<?php echo form_open('main/teman_edit_save/'.$id,array('name'=>'Form Simpan'));?>
<fieldset>
<legend>Form Edit Teman</legend>
<label for="nama">Nama </label>
<input type="text" id="nama" name="nama" placeholder="" value="<?php echo
$nama;?>">
<br/>
<label for="alamat"class="col-lg-4 control-label">Alamat </label>
<input type="text" id="alamat" name="alamat" placeholder="" value="<?php echo
$alamat;?>">
<br/>
</fieldset>
<fieldset>
<input type="submit" name="submit" value="Save">
</fieldset>
</form>
g. teman_tambah.php
h. login_views.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Halaman Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<style type="text/css">
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #f5f5f5;
}
.form-signin {
max-width: 300px;
padding: 19px 29px 29px;
margin: 0 auto 20px;
background-color: #fff;
border: 1px solid #e5e5e5;
-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);
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin input[type="text"],
.form-signin input[type="password"] {
font-size: 16px;
height: auto;
margin-bottom: 15px;
padding: 7px 9px;
}
</style>
</head>
<body>
<div class="container">
<?php echo
form_open('login/check_login',array('method'=>'post','name'=>'login_form','class'=>'f
orm-signin'));?>
<h2 class="form-signin-heading">Halaman Login</h2>
<?php echo validation_errors(); ?>
<input type="text" id="UserName" name="UserName" class="input-block-level"
placeholder="Email address">
<input type="password" id="password" name="password" class="input-block-
level" placeholder="Password">
<div class="row"><button class="btn btn-large btn-primary"
type="submit">Login</button></div>
</form>
</div>
</body>
</html>
i. home.php
<?php echo($data); ?>
j. kuliah.php
<?php echo($data); ?>
k. contactus.php
<?php echo($data); ?>
l. aboutme.php
<?php echo($data); ?>
m. kerja.php
<?php echo($data); ?>
p. Hasil akhir
$input['data'] = $this->_example_output($output);
$input2=$this->template->edittemangrocery($input,'',true);
$this->load->view('container',$input2);
}
7. Tambahkan 1 fungsi pada /libraries/template.php
public function edittemangrocery($input='',$output='')
{
//Halaman grocery crud
$data=$this->mainmenu('','',true);
$data['page_title']='Halaman Daftar Teman';
$data['content']=$this->CI->load->view('edittemangrocery',$input,true);
$output['header']=$this->CI->load->view('header',$data,true);
$output['content']=$this->CI->load->view('content',$data,true);
$output['footer']=$this->CI->load->view('footer','',true);
RETURN $output;
}
8. Buat file /views/edittemangrocery.php yang isinya sbb :
Kode ini berasal dari kode views contoh bawaan grocery crud (view/example.php)
<?php
foreach($css_files as $file): ?>
<link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />
<?php endforeach; ?>
<?php foreach($js_files as $file): ?>
<script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>
<div style='height:20px;'></div>
<div>
<?php echo $output; ?>
</div>
9. Tambahkan link pada /views/content.php
<li><a href="<?php echo $base_url;?>index.php/main/edittemangrocery">Grocery
Crud</a></li>
Hasil Akhir
7 TOPIK TERKAIT
Untuk membaca topik-topik lainnya seputar dunia pemrograman, jaringan dan keamanan, silakan
merujuk ke penelitian saya lainnya (Abdilana & Gunawan, 2022; Berliana dkk., 2022; Gunawan,
2014, 2019, 2020, 2021a, 2021b, 2021c, 2021d, 2021e, 2021f, 2021g; Gunawan dkk., 2018;
Gunawan & Yelmi, 2021; Huzaeni & Gunawan, 2022; Indrayana dkk., 2022; Permatasari dkk.,
2018; Pratama dkk., 2022; D. C. Purnomo & Gunawan, 2022; D. Purnomo & Gunawan, 2021; Y
dkk., 2022)
8 PUSTAKA
Abdilana, R., & Gunawan, I. I. (2022). Implementasi Metode SAW dalam Sistem Pendukung
Keputusan Pemilihan Smartphone Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika
dan Komputer), 1(1), 35–40.
Berliana, C. D., Saputra, T. A., & Gunawan, I. (2022). Analisis Serangan dan Keamanan pada
Denial of Service (DOS): Sebuah Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan
Komputer), 1(2), 33–38.
Gunawan, I. (2014). I-POLINK: Indonesian Police Link Model Knowledge Management
Investigasi Forensika Digital. https://doi.org/10.13140/RG.2.2.28996.32647
Gunawan, I. (2019). PEMROGRAMAN BAHASA ASSEMBLY MIKROPROSESOR 8086 (1
ed.). Guepedia.
Gunawan, I. (2020). Optimasi Model Artificial Neural Network untuk Klasifikasi Paket Jaringan.
SIMETRIS, 14(2), 1–5. https://doi.org/10.51901/simetris.v14i2.135
Gunawan, I. (2021a). Keamanan Data: Teori dan Implementasi (1 ed.). Jejak.
Gunawan, I. (2021b). Analisis Malware Botnet Proteus Pendekatan Static dan Dinamic.
SIMETRIS, 15(1), 12–17. https://doi.org/10.51901/simetris.v15i01.172
Gunawan, I. (2021c). Analisis Keamanan Data Pada Website Dengan Wireshark. JES (Jurnal
Elektro Smart), 1(1), 16–19.
Gunawan, I. (2021d). Analisis Keamanan Jaringan Wifi Menggunakan Wireshark. JES (Jurnal
Elektro Smart), 1(1), 10–12.
Gunawan, I. (2021e). Analisis Keamanan Wifi Menggunakan Wireshark. JES (Jurnal Elektro
Smart), 1(1), 7–9.
Gunawan, I. (2021f). Analisis Layer Aplikasi (Protokol HTTP) menggunakan Wireshark. JES
(Jurnal Elektro Smart), 1(1), 13–15.
Gunawan, I. (2021g). Analisis Keamanan Aplikasi Android Non Playstore Dengan Metode
Digital Forensik Pendekatan Statis Dan Dinamis. SIMETRIS, 15(2), 29–34.
https://doi.org/10.51901/simetris.v15i2.225
Gunawan, I., Afrina, & Sofrawida, C. (2018). SISTEM PENDUKUNG KEPUTUSAN
PEMILIHAN KARYAWAN TERBAIK PADA LAMOIST LAYERS BATAM. JR : Jurnal
Responsive Teknik Informatika, 2(02), 39–61.
Gunawan, I., & Yelmi, Y. (2021). Rancang Bangun Robot Pengawas Dokumen Berbasis
Raspberry Pi2 dengan Pemrograman Python. Jurnal Ilmu Komputer Dan Bisnis, 12(1), 144–149.
Huzaeni, F., & Gunawan, I. I. (2022). Implementasi Metode SAW dalam Sistem Pendukung
Keputusan Pemilihan Laptop Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika dan
Komputer), 1(1), 30–34.
Indrayana, T., Warijan, W., Sutarmi, S., Purnomo, D., & Gunawan, I. (2022). Developing
systems application based on android as tool for determinant stunting factors in the COVID-19
pandemic era. International Journal of Health Sciences, 6(S1), 257–268.
https://doi.org/10.53730/ijhs.v6nS1.4763
Permatasari, R. D., Gunawan, I., & Syahputra, M. R. (2018). RANCANG BANGUN APLIKASI
PENANGANAN BAGASI BERBASIS MOBILE WEB PADA PT SRIWIJAYA AIR. Jurnal
Teknik Ibnu Sina (JT-IBSI), 3(1). https://doi.org/10.36352/jt-ibsi.v3i1.101
Pratama, T. I. M., Songida, M. D. F., & Gunawan, I. (2022). Analisis Serangan dan Keamanan
pada SQL Injection: Sebuah Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan
Komputer), 1(2), 27–32.
Purnomo, D. C., & Gunawan, I. I. (2022). Penerapan Metode Simple Additive Weighting (SAW)
Dalam Sistem Pemilihan Kamera Menggunakan Scratch. JIIFKOM (Jurnal Ilmiah Informatika
dan Komputer), 1(1), 16–21.
Purnomo, D., & Gunawan, I. (2021). Decision Support System for Determination of Scholarship
Using Scratch Programming Based on SAW Method. International Journal of Business and
Information Technology, 2, 72–29. https://doi.org/10.47927/ijobit.v2i2
Y, A. K., Alfaren, G., & Gunawan, I. (2022). Analisis Serangan Penetration Testing: Sebuah
Review Sistematik. JIIFKOM (Jurnal Ilmiah Informatika dan Komputer), 1(2), 21–26.
DAFTAR ISI
1 XAMPP WEB SERVER......................................................................................................... 1
1.1 Instalasi Xampp Web Server : .......................................................................................... 1
1.2 SETUP XAMPP ............................................................................................................... 1
2 PENGENALAN HTML ......................................................................................................... 2
2.1 Struktur Utama : ............................................................................................................... 2
2.2 Contoh Loyout dengan html :........................................................................................... 3
3 PENGENALAN CSS............................................................................................................. 6
3.1 Struktur utama CSS .......................................................................................................... 6
3.2 cara memanggil file css dalam html ................................................................................. 7
3.3 Contoh kode css dasar ...................................................................................................... 7
4 PENGENALAN PHP ............................................................................................................ 9
4.1 Penerapan php dalam kode html .................................................................................... 10
4.2 Contoh –contoh script php ............................................................................................. 10
5 PENGENALAN MYSQL .................................................................................................... 11
5.1 PHP DAN MYSQL ........................................................................................................ 13
6 MEMBANGUN APLIKASI WEB DENGAN CI PHP FRAMEWORK............................. 14
6.1 Code Igniter Framework ................................................................................................ 14
6.2 Install Codeigniter dasar................................................................................................. 15
1. Extract / Unzip CodeIgniter-3.0.0.zip ke dalam /xampp/htdocs/codeigniter. ............ 15
6.3 Install codeigniter lanjutan ............................................................................................. 15
6.4 Membuat web Sederhana dengan Codeigniter ............................................................... 16
1. Membuat Controller ................................................................................................... 17
2. Membuat View ........................................................................................................... 18
3. Hasil ............................................................................................................................ 19
6.5 Web Templating dengan LTE Bootstrap dan Codeigniter ............................................. 19
8. MEMBUAT APLIKASI BERBASIS WEB - Code Igniter dan Mysql ............................ 23
1. Arahkan browser ke localhost/phpmyadmin .............................................................. 24
2. Buatlah database baru dengan nama codeigniterdb (hanya contoh, boleh diganti) .... 24
3. Membuat table baru .................................................................................................... 24
4. Input data pada table codeigniterdb ............................................................................ 24
5. Membuat Model mainmodel.php ............................................................................... 25