Job 2
Koneksi ke Basisdata
IDENTITAS
NAMA : Roni hamonangan
NIM : 4611419001
PRODI : informatika
KELAS : RABU SIANG/ROMBEL 1
Kompetensi
Setelah menyeleseikan tugas ini, mahasiswa mampu menghubungkan antara front end (VIEW)
dan sebuah Tabel dalam suatu basis data dengan menggunakan framework CodeIgniter.
Teori Dasar
MVC adalah konsep dasar yang harus diketahui sebelum mengenal CodeIgniter. MVC ( Model
View Controller) merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi
web berbasis bahasa PHP. 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 hasil dari model dan controller
kepada user. View tidak memiliki akses langsung terhadap bagian model.
Tugas
1. Buatlah sebuah tabel dengan nama tb_mhs pada sebuah database dengan nama
“akademik”. Struktur tb_mhs adalah sebagai berikut
tb_mhs
nim nama tgl_lahir kota_asal jurusan prodi
PENYELESAIAN
a. Kode program
1. File autoload.php
$autoload['libraries'] = array('database');
2. File config.php
$config['base_url'] = 'http://localhost/mahasiswa/';
3. Controllers Home
<?php
class Home extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('tugas');
$this->load->library('form_validation');
}
public function index()
{
$data['judul'] = 'Halaman Mahasiswa';
$data['tb_mhs'] = $this->tugas->get_data();
if( $this->input->post('keyword'))
{
$data['tb_mhs'] = $this->tugas->cariDataByKota();
}
$this->load->view('templates/header', $data);
$this->load->view('view', $data);
$this->load->view('templates/footer');
}
}
4. Controller Textbox
<?php
class Textbox extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('Textbox_model');
}
public function index()
{
$data['judul'] = 'Halaman Mahasiswa';
$data['tb_mhs'] = $this->Textbox_model->get_data();
if( $this->input->post('keyword'))
{
$data['tb_mhs'] = $this->Textbox_model->cariDataMahasiswa();
}
$this->load->view('templates/header', $data);
$this->load->view('textbox/index', $data);
$this->load->view('templates/footer');
}
}
5. Models Textbox
<?php
class Textbox_model extends CI_Model {
public function get_data()
{
return $this->db->get('tb_mhs')->result_array();
}
public function cariDataMahasiswa()
{
$keyword = $this->input->post('keyword', true);
$this->db->like('nama', $keyword);
return $this->db->get('tb_mhs')->result_array();
}
}
?>
6. Models Tugas
<?php
class Tugas extends CI_Model {
public function get_data()
{
return $this->db->get('tb_mhs')->result_array();
}
public function cariDataByKota()
{
$keyword = $this->input->post('keyword', true);
$this->db->like('kota_asal', $keyword);
return $this->db->get('tb_mhs')->result_array();
}
}
7. Folder templates file header.php
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-
beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-
eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6
" crossorigin="anonymous">
<title> <?php echo $judul; ?> </title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#"><img src="<?= base_url('assets');
?>/img/logo1.jpg" width=100px alt=""></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="container">
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-link" href="<?= base_url(); ?>">DROPDOWN</a>
<a class="nav-link" href="<?=
base_url();?>textbox">TEXTBOX</a>
</div>
</div>
</div>
</div>
</nav>
8. Folder view file view.php
<div class="container">
<div class="row mt-3">
<div class="col-md-12">
<h3 class="text-center">Search Student Data</h3>
</div>
</div>
<!-- Menu Dropdown -->
<div class="row mt-3">
<div class="col-lg-12">
<form action="" method="post">
<div class="input-group mb-3">
<select class="form-select" id="inputGroupSelect04"
name="keyword">
<option selected>Pencarian Mahasiswa Berdasarkan Kota Asal ...
</option>
<option value="Bekasi">Bekasi</option>
<option value="Jakarta">Jakarta</option>
<option value="Karanganyar">Karanganyar</option>
<option value="Kuningan">Kuningan</option>
<option value="Lampung">Lampung</option>
<option value="Semarang">Semarang</option>
<option value="Ungaran">Ungaran</option>
<option value="Wonogiri">Wonogiri</option>
</select>
<div class="input-group-append">
<button class="btn btn-primary" type="submit"
name="submit">Search</button>
</div>
</div>
</form>
</div>
</div>
<h4 class="mt-3"><i class="fas fa-user-tie mr-2"></i>Data
Mahasiswa</h4><hr>
<div class="row mt-3">
<div class="col-lg-12">
<table class="table table-bordered">
<thead class="table-primary">
<tr>
<th>NIM</th>
<th>NAMA</th>
<th>TANGGAL LAHIR</th>
<th>KOTA ASAL</th>
<th>JURUSAN</th>
<th>PRODI</th>
</tr>
</thead>
<tbody>
<?php foreach ($tb_mhs as $mhs) : ?>
<tr>
<td><?php echo $mhs['nim']; ?></td>
<td><?php echo $mhs['nama']; ?></td>
<td><?php echo $mhs['tgl_lahir']; ?></td>
<td><?php echo $mhs['kota_asal']; ?></td>
<td><?php echo $mhs['jurusan']; ?></td>
<td><?php echo $mhs['prodi']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
9. Folder textbox file index.php
<div class="container">
<div class="row mt-3">
<div class="col-md-12">
<h3 class="text-center">Search Student Data</h3>
</div>
</div>
<div class="row mt-3">
<div class="col-lg-12">
<form action="" method="post">
<div class="input-group ">
<input type="text" class="form-control"
placeholder="Pencarian Data Mahasiswa ..." name="keyword"
autocomplete="off">
<div class="input-group-append">
<button class="btn btn-primary"
type="submit" id="tombolCari">Search</button>
</div>
</div>
</form>
</div>
</div>
<h4 class="mt-3"><i class="fas fa-user-tie mr-2"></i>Data
Mahasiswa</h4><hr>
</tbody>
</table>
</div>
</div>
</div>
b. Screenshot keluaran
Halaman Dropdown
Tampilan Halaman Dropdown ketika digunakan
Halaman Textbox
10. Membuat kode program khusus header yang diletakkan pada folder templates.
File header.php
Kode program dari tabel yang disediakan dari database yang telah dibuat
Maka output yang dikeluarkan adalah sebagai berikut
Dari tampilan yang kedua diatas yaitu kita dapat menentukan kota asal dari
mahasiswa yang ingin kita cari, dan akan menerima keluaran dari perintah yang ktia
berikan. Sebagai contoh yaitu :
Ketika kita memilih kota asal ungaran, maka perintah kita akan dijalankan dan lalu
mengambil mahasiswa kota asal ungaran dari database yang telah ada.
12. Membuat file index.php didalam folder textbox yang berada didalam folder view
untuk membuat halaman Textbox untuk menampilkan halaman Texbox.
Kode program yang digunakan dalam pencarian data mahasiswa
Dari tampilan yang kedua diatas yaitu kita dapat menentukan nama dari mahasiswa
yang ingin kita cari, dan akan menerima keluaran dari perintah yang ktia berikan.
Sebagai contoh yaitu :
Ketika kita memasukkan nama bagus, maka perintah kita akan dijalankan
mengeluarkan seluruh nama mahasiswa yang memiliki nama bagus didalamnya
dari database yang telah dibuat
13. Proses Output
Proses ouput akan dijalankan melalui browsr dengan mengetikkan pada url
$config[’base_url’] = ’http://localhost/mahasiswa/’; kemudian program akan
secara otomatis memanggil controller Home, pada controller home terdapat sebuah
class Home dan method index, didalam method index didalamnya terdapat fungsi
untuk memanggil view.php sebagai tampilan yang berada di folder view.