Anda di halaman 1dari 16

REKAYASA PERANGKAT LUNAK

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

2. Isikan 10 record (data mahasiswa) pada tabel tersebut.


3. Buatlah 2 (dua) buah halaman web dengan menggunakan framework codeigniter,
kemudian hubungkan database tersebut pada halaman web yang telah Anda buat
4. Halaman 1 akan menampilkan data-data mahasiswa sesuai dengan perintah query yang
berasal dari “menu dropdown”. Menu dropdown berisi beberapa nama kota asal
mahasiswa.
5. Halaman 2 akan menampilkan data-data mahasiswa sesuai dengan perintah query yang
berasal dari “Text Box”. Text box digunakan untuk memasukkan nama mahasiswa
yang akan dicari, kemudian mahasiswa yang mempunyai nama seperti yang tertulis
dalam text box akan muncul pada halaman web.
6. Kirimkan tugas dalam bentuk file PDF dengan menggunakan template Jobsheet ini
dengan mengisi bagian “PENYELESAIAN” dengan hasil kerja Anda.

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>

<div class="row mt-3">


<div class="col-lg-12">
<table class="table table-bordered">
<?php if(empty($tb_mhs)): ?>
<div class="alert alert-danger" role="alert"> Data Mahasiswa Tidak
Ditemukan
</div>
<?php endif; ?
<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>

b. Screenshot keluaran
Halaman Dropdown
Tampilan Halaman Dropdown ketika digunakan

Halaman Textbox

Tampilan Halaman Textbox ketika digunakan


c. Pembahasan
1. Mengatur file config.php terlebih dahulu dengan mengisi alamat localhost pada
base url.

2. Mengatur file routes.php dengan mengisi variabel $routes[’default_controller’] =


’Home’; yang mengartikan ketika program untuk pertama kali dibuka akan
memanggil class controller Home.

3. Membuat sebuah database terlebih dahulu dengan phpmyadmin dengan membuat


sesuai dengan yang ditugaskan yaitu dengan nama database akademik serta tabel
yaitu ”tb_mhs” dengan isi didalamnya.

4. Mengatur file autoload.php dengan mengisikan variabel $autoload[’libraries’] =


array (’database’); yang mengarikan ketika program dijalankan, program akan
mengambil database dari yang telah dibuat.
5. Mengatur file di database.php dengan mengisi pada berbagai variabel yaitu
’hostname’ => ’localhost’, ’username’ => ’root’, ’database’ => ’akademik’
mengisikan nama database sesuai nama database yang telah dibuat.

6. Membuat file controller Home.php digunakan untuk memanggil halaman


Home.php di folder view. Pada file ini dibuat class dengan nama Home yang
menginheritkan ke kelas CI_Controller, kemudian di class Home terdapat method
dengan nama index, didalam method terdapat fungsi $this->load->view(’’) yang
akan diisi dengan parameter berupa lokasi file halaman yang ingin anda tampilkan.
Selain itu juga, dalam file ini sudah ada set pada untuk menampilkan hasil didalam
tabel dari database yang telah dibuat.
7. Membuat file controller Textbox.php digunakan untuk memanggil halaman
Textbox.php di folder view. Pada file ini dibuat class dengan nama Textbox yang
menginheritkan ke kelas CI_Controller, kemudian di class Textbox terdapat method
dengan nama index, didalam method terdapat fungsi $this->load->view(’’) yang
akan diisi dengan parameter berupa lokasi file halaman yang ingin anda tampilkan.
Selain itu juga, dalam file ini sudah ada set pada untuk menampilkan hasil didalam
tabel dari database yang telah dibuat.

8. Membuat file models yaitu tugas.php digunakan untuk memanggil halaman


dropdown yang memiliki fungsi untuk menampilkan mahasiswa dari pencarian
yang dilakukan pada fungsi tersebut. Pada file ini dibuat class dengan nama Tugas
yang menginheritkan ke kelas CI_Model, kemudian di class Tugas terdapat method
dengan nama index. Halaman ini untuk mengkoneksi kan fungsi yang akan
dijalankan dari controller.
9. Membuat file models yaitu Textbox_model.php digunakan untuk memanggil
halaman Textbox yang memiliki fungsi untuk menampilkan mahasiswa dari
pencarian yang dilakukan pada fungsi tersebut. Pada file ini dibuat class dengan
nama Textbox_model yang menginheritkan ke kelas CI_Model, kemudian di class
Textbox terdapat method dengan nama index. Halaman ini untuk mengkoneksi kan
fungsi yang akan dijalankan dari controller.

10. Membuat kode program khusus header yang diletakkan pada folder templates.
File header.php

Dibawah ini merupakan kode program untuk navbar

Maka output yang diberikan adalah sebagai berikut


11. Membuat file view.php di folder view untuk membuat halaman Dropdown untuk
menampilkan halaman Dropdown
Kode program untuk menampilkan pencarian yang diinginkan

Maka output yang dikeluarkan adalah sebagai berikut

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

Maka output yang dikeluarkan adalah sebagai berikut


Kode program dari tabel yang disediakan dari database yang telah dibuat

Maka ouput yang dikeluarkan adalah sebagai berikut

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.

Anda mungkin juga menyukai