Setelah sebelumnya kita mempelajari cara membuat controller pada CodeIgniter, sekarang kita akan belajar cara membuat views.
Kali ini kita akan mencoba membuat laman dengan tampilan yang mirip dengan ini:
Pertama, kita membuat controller terlebih dahulu. Salin kode dibawah ke dalam text editor dan beri nama dengan myview.php
<?php
class Myview extends CI_Controller {
public function index(){
$data = array();
$data['title'] = "Ini adalah title dinamis";
$data['heading'] = "Ini adalah heading dinamis :P";
$this->load->view('coba_view',$data);
}
public function coba_table($judul, $isi){
$data = array();
$data['title'] = $judul;
$data['heading'] = $isi;
$data['tables'] = array(
array(
array("SEMESTER 1"),
array("Kode MK", "Nama Mata Kuliah", "SKS", "Nilai", "Periode Ambil"),
array('TI09KK11', 'KALKULUS', '4', 'B' , 'Genap 2013'),
array('TI09KK13', 'PENGANTAR MANAJEMEN', '2', 'B+', 'Genap 2013'),
array('TI09KK14', 'PENGANTAR TEKNOLOGI INFORMASI', '2', 'B+', 'Genap 2013'),
array('TI09PK11', 'BAHASA INGGRIS I', '2', 'B', 'Genap 2013'),
array('TI13KK12', 'ALGORITMA DAN STRUKTUR DATA I', '3', 'B+', 'Genap 2013'),
array('TI14BB11', 'KECAKAPAN INTERPERSONAL', '2', 'A', 'Ganjil 2014'),
array('TI14KK13', 'ALJABAR LINIER DAN MATRIKS', '3', 'A', 'Ganjil 2014')
),
array(
array("SEMESTER 2"),
array("Kode MK", "Nama Mata Kuliah", "SKS", "Nilai", "Periode Ambil"),
array("TI09KB21", "BASIS DATA", "3", "C+", "Genap 2013"),
array("TI09KB22", "PRAKTIKUM BASIS DATA","1","C+","Genap 2013"),
array("TI09KK22","MATEMATIKA DISKRIT","3","C","Genap 2013"),
array("TI13KK23","ALGORITMA DAN STRUKTUR DATA II","3","B+","Genap 2013"),
array("TI14KB23","PEMROGRAMAN DASAR I","3","A","Genap 2014"),
array("TI14KB24","PRAKTIKUM PEMROGRAMAN DASAR I","1","A","Genap 2014")
),
array(
array("SEMESTER 3"),
array("Kode MK", "Nama Mata Kuliah", "SKS", "Nilai", "Periode Ambil"),
array("TI09KK31","STATISTIKA","3","C","Genap 2013"),
array("TI09KK32","SISTEM INFORMASI MANAJEMEN","3","B+","Genap 2013"),
array("TI09KK33","ORGANISASI DAN ARSITEKTUR KOMPUTER","3","B+","Genap 2013"),
array("TI14KB31","SISTEM OPERASI","3","A","Ganjil 2014"),
array("TI14KB32","PRAKTIKUM SISTEM OPERASI","1","A","Ganjil 2014"),
array("TI14KB33","PEMROGRAMAN DASAR II","3","A","Ganjil 2014"),
array("TI14KB34","PRAKTIKUM PEMROGRAMAN DASAR II","1","A","Ganjil 2014"),
array("TI14KK32","LOGIKA INFORMATIKA","3","A","Ganjil 2014"),
array("TI14KK33","BASIS DATA LANJUT","3","A","Ganjil 2014")
)
);
$this->load->view('coba_view',$data);
}
}
?>
Penjelasan:
1. $data = array();
$data['title'] = $judul;
$data['heading'] = $isi;
Bagian ini adalah deklarasi variable data. Variabel ini nantinya akan di-passing ke dalam views yang akan ditampilkan oleh controller. 'title' dan 'heading' adalah nama variabel yang akan diterima oleh view.
2. $data['table'] = array(.....
Bagian ini adalah mengisikan variabel yang akan di-passing ke dalam view dengan nama table. Bentuknya array 3 dimensi. Dimensi ke-1 adalah jumlah tabel, sedangkan dimensi lainnya adalah baris dan kolom tabel.
3. $this->load->view('coba_view',$data);
Ini adalah bagian terpenting dalam controller untuk menampilkan view. Perlu diingat bahwa nama views yang akan dipanggil harus sama. Sementara $data adalah parameter yang akan diberikan controller kepada views.
Setelah selesai membuat controller, sekarang buat file baru dengan menggunakan text editor. Salin kode di bawah kemudian simpan dengan nama file 'coba_view.php'. Tempat penyimpanannya adalah folder CodeIgniter -> applications -> views.
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<h2><?php echo $heading ?></h2>
<br></br>
<div align = "center">
<?php
foreach ($tables as $table){
echo '<table border = "1">';
echo '<tr>';
$length = count($table);
echo '<th>'.$table[0][0].'</th>';
echo '</tr>';
for($row = 1; $row < $length; $row++){
echo '<tr>';
for($col = 0; $col < 5; $col++){
if($row == 1)
echo '<th>'.$table[$row][$col].'</th>';
else
echo '<td>'.$table[$row][$col].'</td>';
}
echo '</tr>';
}
echo '</table>';
echo '<br></br>';
}
?>
</div>
</body>
</html>
Penjelasan:
1. <!DOCTYPE html>
<html>
Bagian ini mendeklarasikan untuk memulai sebuah baris kode html. html yang digunakan adalah html 5.
2. <head>
<title><?php echo $title; ?></title>
</head>
Bagian ini adalah deklarasi bagian 'head' dari html. Dapat dilihat, bahwa title (judul halaman html) akan sesuai dengan variable title pada controller.
3. <body>
<h2><?php echo $heading ?></h2>
<br></br>
<div align = "center">
Bagian ini adalah bagian 'body' dari html. Heading (judul body) sesuai dengan variabel heading dari controller. <br> berfungsi untuk memberikan spasi sementara <div align = "center"> meletakkan posisi kursor di tengah halaman.
4. <?php
foreach ($tables as $table){
echo '<table border = "1">';
echo '<tr>';
$length = count($table);
echo '<th>'.$table[0][0].'</th>';
echo '</tr>';
for($row = 1; $row < $length; $row++){
echo '<tr>';
for($col = 0; $col < 5; $col++){
if($row == 1)
echo '<th>'.$table[$row][$col].'</th>';
else
echo '<td>'.$table[$row][$col].'</td>';
}
echo '</tr>';
}
echo '</table>';
echo '<br></br>';
}
?>
a. Kode foreach ($tables as $table) berfungsi untuk memecah multi-dimensi array tables menjadi bagian-bagian yang lebih kecil. Dalam hal ini menjadi array-array yang lainnya.
b. Kode echo '<table border = "1">'; adalah perintah bagi php untuk menyusun kode html yang akan mendklerasikan tabel dengan border. Sementara echo '<tr>'; adalah deklarasi row (baris) dan $length = count($table); adalah untuk menghitung besarnya sebuah tabel hasil pemecahan tables.
c. Kode echo '<th>'.$table[0][0].'</th>'; ini akan memberi judul tabel itu. Kode <th> merupakan kode untuk heading sebuah tabel.
d. Ingat, meskipun telah terpecah, sebuah tabel merupakan array 2-dimensi. Kode for($row = 1; $row < $length; $row++) akan melakukan oerulangan sebanyak 'length' baris pada tabel. Karena setiap tabel terdiri dari baris-baris maka diberi kode <tr>. Sedangkan for($col = 0; $col < 5; $col++) akan berfungsi untuk melakukan perulangan per kolom. Kode if($row == 1) akan mengecek apakah baris yang ditulis adalah baris pertama atau heading dari sebuah tabel. Jika tidak, maka akan dipecah per-data dengan kode echo '<td>'.$table[$row][$col].'</td>'; di mana <td> adalah data-data dalam tabel.
Lalu, coba dijalankan dengan cara localhost/(folder CodeIgniter)/index.php/myview/coba_table/(parameter title)/(parameter heading)
Maka akan tampil laman seperti berikut:
Sekian dari belajar CodeIgniter bagian views. Untuk lebih detil tentang kode php dan html, dapat dibuka pada w3school.com atau sumber lainnya.


No comments:
Post a Comment