Pemrograman Basis Data
Pemrograman Basis Data
Pemrograman
BASIS DATA
Laboratorium Komputer
Program Studi
Informatika
Disusun Oleh
Dedy Armiady, M.Kom
1
Komputer
Universitas Almuslim – Aceh
2024
PEMROGRAMAN BASIS DATA
Pada mata kuliah ini kita akan mempelajari pemrograman lebih lanjut mengenai
pembuatan objek menggunakan bahasa pemrograman PHP, yang merupakan lanjutan dari
pada PBO I. Adapun yang perlu dipersiapkan untuk keperluan praktikum tahap awal adalah
sebagai berikut:
4. Netbeans 8.2
(unduh di sini: https://netbeans.apache.org/download/nb120/nb120.html) Pilih
sesuai bit sistem operasi Anda (32 atau 64)
Setelah seluruh File diunduh dan terinstal ke komputer maka dapatlah kita melanjutkan
praktikum ke tahap selanjutnya.
Penting:
• Netbeans dapat di-install apabila JDK terlebih dulu telah terinstal.
• Peserta mata kuliah ini diharapkan telah mengerti cara unduh aplikasi serta install
program!
mengikuti pola standar yang ada) Umumnya Index.php: berfungsi sebagai File pertama dalam
framework menyediakan fasilitasfasilitas yang program yang akan dibaca oleh program.
umum dipakai sehingga kita tidak perlu
The Router: Router akan memeriksa HTTP
membangun dari awal (misalnya validasi, ORM,
request untuk menentukan hal apa yang harus
pagination, multiple database, scaffolding,
dilakukan oleh program.
pengaturan session, error handling, dan lain
sebagainya lebih bebas dalam pengembangan Cache File: Apabila dalam program sudah
jika dibandingkan CMS. terdapat “Cache File” maka File tersebut akan
langsung dikirim ke browser. File Cache inilah
CodeIgniter adalah sebuah web application
yang dapat membuat sebuah Website dapat di
network yang bersifat open source yang
buka dengan lebih cepat. Cache File dapat
digunakan untuk membangun aplikasi php
melewati proses yang sebenarnya harus
dinamis. CodeIgniter menjadi sebuah framework
dilakukan oleh program CodeIgniter.
PHP dengan model MVC (Model, View,
Controller) untuk membangun website dinamis Security: Sebelum File Controller di Load
dengan menggunakan PHP yang dapat keseluruhan, HTTP request dan data yang di
mempercepat pengembang untuk membuat Submit oleh user akan disaring terlebih dahulu
sebuah aplikasi web. Selain ringan dan cepat, melalui fasilitas security yang dimiliki oleh
CodeIgniter juga memiliki dokumentasi yang CodeIgniter.
super lengkap disertai dengan contoh
implementasi kodenya. Controller: Controller akan membuka File Model,
Core Libraries, Helper dan semua Resources yang
CodeIgniter pertama kali dikembangkan dibutuhkan dalam program dan berjalan sesuai
pada tahun 2006 oleh Rick Ellis. Dengan logo api dengan fungsinya masingmasing.
yang menyala, CodeIgniter dengan cepat
“membakar” semangat para web Developer View: Hal yang terakhir akan dilakukan adalah
untuk mengembangkan Web dinamis dengan membaca semua program yang ada dalam View
cepat dan mudah menggunakan framework File dan mengirimkannya ke browser agar dapat
PHP yang satu ini. dilihat. Apabila File View sudah ada yang dalam
Berikut Ilustrasi perbandingan “Cache” maka File View baru yang belum ada
menggunakan PHP tanpa CodeIgniter dan tanpa dalam Cache akan diperbaharui untuk File View
menggunakan CodeIgniter. yang sudah ada
2. Instalasi CodeIgniter 3
Copy dan Paste Folder Codeigniter yang telah diunduh sebelumnya ke lokasi:
“C:/xampp/htdocs/” Lalu ganti nama Folder menjadi nama Project Anda, misalnya:
“www.akademik.com” Hasilnya seperti ilustrasi berikut:
Untuk mengetahui apakah sudah bekerja dengan baik atau tidak kita dapat mengujinya dengan cara
berikut:
1) Jalankan Xampp yang telah kita Instal sebelumnya
2) Aktifkan Apache dan MySQL, sehingga hasilnya persis seperti ilustrasi berikut:
Pastikan yang muncul adalah Welcome to CodeIgniter! Jika terjadi Error 404 kemungkinan
kesalahan terjadi pada penulisan atau tidak sesuainya nama folder pada htdocs dengan yang
dituliskan pada URL internet browser, atau kemungkinan lainnya adalah Xampp (Apache dan
MySQL) tidak berjalan dengan baik.
3. Membuat Database
Sebagaimana yang telah Anda pelajari pada mata kuliah Basis data di semester sebelumnya di
sini kita akan membuat sebuah Database menggunakan MySQL dengan Interface Phpmyadmin,
caranya adalah sebagai berikut:
1) Pastikan Apache dan MySQL telah dijalankan melalui Xampp Control Panel
2) Akses melalui internet browser untuk URL berikut: http://localhost/phpmyadmin
Modul Praktikum Dedy Armiady, M.Kom
4
3) Pada menu sebelah kiri pilih New, dan buat Database baru dengan nama ‘db_akademik’ sesuai
dengan gambar berikut:
b. Tabel Mahasiswa
Nama Tabel : tb_mhs
Primary Key : id_mhs
No Kolom/Field Tipe Ukuran Format
1 id_mhs int 11 AUTO_INCREMENT
2 npm varchar 100
3 nm_mhs varchar 100
4 jk char 1
5 tgl_lahir date
6 tpt_lahir varchar 100
7 alamat varchar 100
8 id_prodi int 11
6) Setelah kedua tabel di atas selesai, tambahkan minimal 2 (dua) Record untuk masing-masing
tabel (2 buah data Prodi dan 2 buah data mahasiswa).
Netbeans 8.2 di sini berfungsi sebagai editor yang penulis anggap sebagai salah satu aplikasi
yang mudah digunakan dan memiliki Interface yang mudah dipahami. Namun Netbeans bukanlah
satu-satunya editor yang dapat digunakan untuk mendesain aplikasi Web dengan CodeIgniter, Anda
Modul Praktikum Dedy Armiady, M.Kom
5
juga dapat menggunakan aplikasi lain misalnya seperti; Notepad, Notepad++, Atom, Microsoft Visual
Code, Brackets, dan lain sejenisnya, namun untuk keseragaman di sini kita menggunakan Netbeans
8.2 yang telah terintegrasi dengan PHP.
Jalankan Netbeans 8.2 yang telah terinstal sebelumnya, pada halaman antarmuka pilih File →
New Project atau dengan menekan tombol Ctrl+Shift+N, sehingga halaman New Project muncul. Pada
kelompok Categories sebelah kiri pilih PHP dan pada kelompok Projects sebelah kanan pilih PHP
Application with Exiting Sources, lalu pilih Next. Pada jendela berikutnya klik Browse cari dan
temukan folder www.akademik.com yang telah Anda simpan sebelumnya di htdocs, sehingga
ilustrasinya persis seperti ilustrasi di samping
Terdapat beberapa hal yang harus diatur pada File Codeigniter untuk dapat mengikuti praktikum
ini dengan lancar. Pertama bukalah file autoload.php yang terdapat pada folder: “Source Files →
Application → Config”
Dalam File tersebut cari dan temukan baris kode program; $autoload['libraries']=array(); lalu
tambahkan “session” dan “database” ke dalam barisan variabel Array-nya, sehingga terlihat seperti
berikut:
$autoload['libraries']=array('session','database');
Kemudian cari dan temukan $autoload['helper']=array(); dan tambahkan “url” dan “form”,
sehingga terlihat seperti baris berikut:
$autoload['helper']=array('url','form');
Tekan Ctrl+S untuk menyimpan, dan tutup File autoload.php lalu buka File config.php yang terdapat
satu folder dengan File autoload.php yang dibuka sebelumnya. Cari dan temukan baris
program $config['base_url']=''; dan tambahkan alamat URL daripada Project Anda, sehingga
terlihat seperti berikut:
$config['base_url']='http://localhost/www.akademik.com/';
Scroll mouse ke bawah dan temukan $config['encryption_key']=''; lalu tambahkan teks bebas
sebagai enkripsi dari File proyek yang kita kerjakan. Sehingga hasilnya terlihat seperti berikut:
$config['encryption_key'] = 'belajar-sisteminformasi-akademik';
Simpan dan tutup File config.php, seterusnya buka file database.php yang terdapat dalam folder
yang sama. Cari dan temukan baris program $db['default'] = array(), lalu tambahkan “root”
pada baris “username” dan tuliskan nama Database pada baris “database”, yakni “db_akademik”.
Hasil yang diharapkan kurang-lebih seperti berikut;
Simpan dan tutup File database.php, lalu buka file routes.php temukan dan ubah baris kode program
$route['default_controller']='welcome'; tambahkan teks baru yaitu “menu”, seperti berikut;
$route['default_controller']='menu';
Sampai di sini pengaturan dasar CodeIgniter untuk membuat Web Sistem Informasi sederhana telah
berhasil kita lakukan, tutup folder Config dan buka folder Controller, kita perlu membuat sebuah
Controller dengan nama Menu sebagai mana yang tersebutkan pada Default Controller di atas.
Di sini kita memerlukan sebuah Controller untuk mengatur munculnya Menu dari aplikasi.
Pertama tambahkan sebuah Controller, dengan cara klik kanan pada folder Controllers → New →
PHP File, sesuai ilustrasi berikut:
Ketika muncul jendela New PHP File, isikan teks “Menu” pada File Name sesuai ilustrasi di bawah,
dan klik Finish untuk mengakhiri.
Setelah File Menu Controller terbentuk, selanjutnya menambahkan kode baris program ke dalamnya,
yaitu:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
Baris program di atas adalah Perintah untuk membuat sebuah Class dengan nama “Menu”, dan
ketika diakses Class maka akan di-Load atau dipanggil sebuah File dari folder Views dengan nama
view_dashboard, File tersebut belum kita siapkan, sekarang simpan dan tutup halaman.
b. View
Tahap selanjutnya adalah membuat View yang berfungsi sebagai tampilan menu dari aplikasi
web yang kita bangun. Pada folder “views”, klik kanan pilih New PHP File. Berikan nama File
view_dashboard. Buka File tersebut dan masukkan baris program berikut:
<ul>
Modul Praktikum Dedy Armiady, M.Kom
8
Untuk dapat menampilkan data dari Database ke dalam program kita perlu mempersiapkan
beberapa hal, yaitu membuat Model, View dan Controller.
a) Model
Untuk membuat model akses folder model, klik kanan pilih New → PHP File, seperti berikut;
Ketika jendela New PHP File terbuka, isikan “Model_prodi” pada File Name, dan klik Finish.
Seterusnya buka File tersebut dan masukkan kode berikut:
<?php
class model_prodi extends CI_Model{
function tampilkan_data(){
return $this->db->get('tb_prodi'); }
function tambah(){
$data=array(
'nm_prodi'=>$this->input->post('nm_prodi'),
'kode_prodi'=>$this->input->post('kode_prodi'));
$this->db->insert('tb_prodi', $data);
}
function edit(){
$id= $this->input->post('id_prodi');
$data=array('nm_prodi'=>$this->input->post('nm_prodi'),
'kode_prodi'=>$this->input->post('kode_prodi'));
$this->db->where('id_prodi',$id);
$this->db->update('tb_prodi', $data);
} function get_one($id){
$indeks= array('id_prodi'=>$id);
return $this->db->get_where('tb_prodi',$indeks);
} function delete($id){
$this->db->where('id_prodi',$id);
$this->db->delete('tb_prodi');
}
}
b) Controller.
Selanjutnya kita perlu membuat sebuah Controller dengan nama “Prodi”, yang mana huruf
pertama dari pada nama Controller tersebut adalah kapital (huruf besar). Untuk Controller
tersebut masukkan baris program berikut:
<?php
class prodi extends CI_Controller{
function __construct() {
parent::__construct();
$this->load-
>model('model_prodi'); }
function index(){
$data['record'] = $this->model_prodi->tampilkan_data();
$this->load->view('prodi/lihat_data',$data);
}
function tambah() {
if(isset($_POST['submit'])){ $this-
>model_prodi->tambah();
redirect('prodi');
}
else {
$this->load->view('prodi/form_input');
}
}
function edit() {
if(isset($_POST['submit'])){ $this-
>model_prodi->edit();
redirect('prodi');
}
else{
$id = $this->uri->segment(3);
$data['record']= $this->model_prodi->get_one($id)-
>row_array();
$this->load->view('prodi/form_edit',$data);
}
}
function delete() {
$id = $this->uri->segment(3); $this-
>model_prodi->delete($id); redirect('prodi');
}
c) View
Hal selanjutnya yang harus disiapkan adalah View sebagai wadah untuk menampilkan data yang
ada di dalam Database, dan juga sebagai media untuk memasukkan data dan memperbaharui
data. Elemen untuk View Prodi sendiri terdapat 3 elemen, yakni; input_prodi.php,
edit_prodi.php dan lihat_data.php, ketiga elemen tersebut disimpan dalam folder views →
prodi. Sesuai dengan ilustrasi berikut:
i) form_edit.php
Tujuan dari kode di bawah ini adalah membangun sebuah tampilan Form untuk
menampilkan data yang akan diubah, yang mana data tersebut telah pernah tersimpan di
Database dan dipanggil kembali untuk diperbaharui. Kode HTML yang dimaksud adalah
sebagai berikut:
<table border="1">
<tr>
<td>Nama Prodi</td>
<td>
<input type="text" name="nm_prodi" placeholder="Nama Prodi"
value="<?php echo $record['nm_prodi']?>"></td>
</tr>
<tr>
<td>Kode Prodi</td>
<td>
<input type="text" name="kode_prodi" placeholder="Kode Prodi"
value="<?php echo $record['kode_prodi']?>"></td>
</tr>
<tr>
<td colspan="2"><br></td>
</tr>
<tr>
<td colspan="2">
<button type="submit" name="submit">
Simpan
</button>
<?php echo anchor('prodi','Kembali')?>
</td>
</tr>
</table>
</form>
ii) form_input.php
Pada bagian ini kita akan membangun sebuah Form yang berfungsi sebagai media
memasukkan data ke Database, adapun baris kode HTML-nya adalah sebagai berikut:
<h3>Tambah Prodi</h3>
<?php echo
form_open('prodi/tambah');
?>
<table border="1">
<tr>
<td>
Nama Prodi
</td>
<td>
<input type="text" name="nm_prodi" placeholder="Nama Prodi">
</td>
</tr>
<tr>
<td>
Kode Prodi
</td>
<td>
<input type="text" name="kode_prodi" placeholder="Kode Prodi">
</td>
</tr>
<tr>
<td colspan="2">
<button type="submit" name="submit">
Simpan
</button>
</td>
</tr>
</table>
iii) lihat_data.php
Pada bagian ini adalah elemen utama daripada pengelolaan data Prodi, merupakan tampilan
awal ketika Link Prodi pada menu (yang dibuat sebelumnya) diklik. Tampilan data Prodi
ditampilkan dalam bentuk tabel dan memiliki beberapa Link ke halaman lainnya, berikut baris
programnya.
<h3>Data Prodi</h3>
<?php echo anchor('prodi/tambah','Tambah Data'); ?>
<table border="1">
<tr>
<th>No</th>
<th>Nama Prodi</th>
<th>Kode Prodi</th>
<th colspan="2">Operasi</th>
</tr>
<?php $no=1;
foreach ($record->result() as $r){
echo "<tr>
<td>$no</td>
<td>$r->nm_prodi</td>
<td>$r->kode_prodi</td>
<td>".anchor('prodi/edit/'.$r->id_prodi,'Edit')."</td>
<td>".anchor('prodi/delete/'.$r->id_prodi,'Delete')."</td>
<tr>";
$no++;
}?>
</table>
<a href="<?php echo base_url()?>">Back</a>
Simpan dan tutup halaman lihat_data.php, selanjutnya adalah mengakses halaman proyek
melalui URL berikut: http://localhost/www.akademik.com. Pada tampilan menu yang muncul,
kliklah pada Prodi, dan hasil yang diharapkan adalah sebagai berikut:
Sampai di sini kita telah selesai melakukan proses CRUD (Create, Read, Update & Delete) untuk
Pada bagian ini kita akan mempelajari secara sederhana bagaimana mengelola data mahasiswa
dengan melakukan relasi ke tabel Prodi yang telah kita siapkan sebelumnya.
a) Model
Tambahkan sebuah file php ke dalam folder Model (seperti langkah sebelumnya), dan berikan
nama file “Model_mahasiswa”, sehingga hasilnya adalah seperti gambar berikut:
<?php
class model_mahasiswa extends CI_Model { function
getDataMahasiswa() {
$query= "SELECT * FROM tb_prodi as tp, tb_mhs as tm
WHERE tm.id_prodi = tp.id_prodi"; return
$this->db->query($query);
}
function get_one($id) { $indeks=
array('id_mhs'=>$id);
return $this->db->get_where('tb_mhs',$indeks);
} }
b) Controller
Tambahkan sebuah file php ke dalam folder Controller Anda dengan nama file “Mahasiswa”
(seperti pada langkah sebelumnya), sehingga hasilnya adalah seperti gambar berikut:
<?php
class mahasiswa extends CI_Controller{
function __construct() {
parent::__construct();
$this->load->model('model_mahasiswa');
$this->load->model('model_prodi');
}
function index(){
$data['record']=$this->model_mahasiswa->getDataMahasiswa();
$this->load->view('mahasiswa/lihat_data',$data);
}
function tambah() {
if(isset($_POST['submit'])){
$data = array(
'npm' => $this->input->post('npm'),
'nm_mhs' => $this->input->post('nm_mhs'),
'jk' => $this->input->post('jk'),
'tgl_lahir' => $this->input->post('tgl_lahir'),
'tpt_lahir' => $this->input->post('tpt_lahir'),
'alamat' => $this->input->post('alamat'),
'id_prodi' => $this->input->post('id_prodi'));
$this->db->insert('tb_mhs', $data);
redirect('mahasiswa');
} else {
$this->load->model('model_prodi');
$data['rec_prodi'] = $this->model_prodi-
>tampilkan_data();
$this->load->view('mahasiswa/form_input', $data);
}
}
function edit() {
if(isset($_POST['submit'])){
$key = $this->input->post('id');
$data = array(
'npm' => $this->input->post('npm'),
'nm_mhs' => $this->input->post('nm_mhs'),
'jk' => $this->input->post('jk'),
'tgl_lahir' => $this->input->post('tgl_lahir'),
'tpt_lahir' => $this->input->post('tpt_lahir'),
'alamat' => $this->input->post('alamat'),
'id_prodi' => $this->input->post('id_prodi'));
Modul Praktikum Dedy Armiady, M.Kom
16
$this->db->where('id_mhs',$key);
$this->db->update('tb_mhs', $data);
redirect('mahasiswa');
} else {
$id = $this->uri->segment(3);
$data['rec_prodi'] = $this->model_prodi->tampilkan_data();
$data['rec_mahasiswa']=$this->model_mahasiswa-
>get_one($id)->row_array();
$this->load->view('mahasiswa/form_edit',$data);
function delete($id) {
$id = $this ->uri->segment(3);
$this ->db-
>where('id_mhs',$id);
$this ->db->delete('tb_mhs');
redirect('mahasiswa');
}
}
c) View
Tambahkan sebuah folder ke dalam folder views dengan cara klik kanan pada folder view dan
pilih New Folder, seperti gambar berikut:
Berikan nama folder “mahasiswa” (ketik pada bagian Folder Name), dan akhiri dengan klik
Finish.
i) Lihat data
Setelah folder mahasiswa tercipta di dalam folder views, maka tambahkan sebuah file php
ke dalam folder mahasiswa tersebut dengan nama “lihat_data” dan ketikkan kode berikut
ke file lihat_data.php tersebut.
<table border="1">
<tr>
<th>No</th> <th>NPM</th>
<th>Nama Mahasiswa</th>
<th>Kelamin</th>
<th>Tgl. Lahir</th>
<th>Tempat Lahir</th>
<th>Alamat</th >
<th>Prodi</th >
<th colspan="2">Operasi</th >
</tr>
<?php $no=1;
foreach ($record ->result() as $r) { ?>
<tr>
<td><?php echo $no;?></td>
<td><?php echo $r->npm;?></td>
<td><?php echo $r->nm_mhs;?></td>
<td><?php if($r->jk=='L'){ $x="Laki-laki";} else{ $x="Perempuan"; }; echo $x;?> </td>
</tr>
<td width="120">NPM</td>
</tr>
<tr>
</tr>
<tr>
<td width="120">Jn. Kelamin</td >
<td>
<Select type="text" name="jk">
<option value="L">Laki-Laki</option>
<option value="P">Perempuan</option>
</select>
</td >
</tr>
<tr>
<td>Tgl. Lahir</td >
</tr>
<tr>
</tr>
<tr>
<td width="120">Alamat</td>
</tr>
<tr><td>Jurusan</td>
<td>
<select name="id_prodi">
<?php
foreach ($rec_prodi->result() as $rp) {
echo "<option value='$rp->id_prodi'>$rp->nm_prodi</option>";
} ?>
</select>
</td >
</tr>
<tr>
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
</table>
</form>
iii) Edit Data
Tambahkan kode berikut ke dalam file form_edit.php yang terdapat di dalam folder views/mahasiswa.
form_open('mahasiswa/edit');
?>
<input type="hidden" value="<?php echo $rec_mahasiswa['id_mhs']?>" name="id"> <table
border="1">
<tr>
<td width="120">NPM</td>
<td><input type="text" value="<?php echo $rec_mahasiswa['npm']?>" name="npm" placeholder="Nomor Pokok Mahasiswa"></td>
</tr>
<tr>
<tr>
<td width="120">J. Kelamin</td>
<td>
</select>
</td>
</tr>
</tr>
<tr> <td width="120">Alamat</td>
<td> <input type="text" value="<?php echo $rec_mahasiswa['alamat']?>"
name="alamat" placeholder="Alamat Mahasiswa"></td>
</tr>
<tr> <td>Jurusan</td>
?>
<option <?php if ($rec_mahasiswa['id_prodi']==$rp->id_prodi){ echo 'selected'; } ?>
value="<?php echo $rp->id_prodi?>"><?php echo $rp->nm_prodi?></option>;
<?php
}
?>
</select>
</td>
</tr>
Jika dilik pada link Tambah Data di atas, makan akan muncul halaman Input data sebagai berikut:
Jika pada dilkik pada link edit pada halaman lihat data maka akan menampilkan halaman edit data
seperti berikut:
== sekian ==
Modul Praktikum Dedy Armiady, M.Kom
23
Tugas:
Tambahkan sebuah tabel lagi yaitu tb_fakultas ke dalam database, dengan detail tabel adalah sebagai
berikut:
Lalu tambahkan sebuah kolom (field) yaitu id_fakultas ke tabel tabel tb_prodi sehingga menjadi
seperti berikut:
Modifikasi program
sehingga pada menu
terdapat Link untuk mengelola
data fakultas, dan pada halaman
tambah dan edit data Prodi kita
dapat memilih fakultas untuk Prodi tersebut. Ilustrasinya adalah sebagai berikut: 1. Menu dan Kelola
data fakultas
2. Kelola Prodi