Pemrograman Web 2
Pemrograman Web 2
Pemrograman Web 2
01
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
1.1 Pengenalan Codeigniter (CI)
Menurut Hakim (2010:8) “Codeigniter adalah sebuah framework PHP yang dapat membantu
mempercepat developer dalam pengembangan aplikasi web berbasis PHP dibanding jika
menulis kode program dari awal”. Ada banyak library dan helper yang berguna di dalamnya
dan tentunya akan mempermudah proses pengembangan perangkat lunak.
Keuntungan yang didapat ketika membuat aplikasi dengan menggunakan framework yaitu
sebagai berikut:
Dengan menggunakan struktur dan library yang telah disediakan oleh framework
maka kita tidak perlu lagi memikirkan hal tersebut, hanya tinggal fokus pada bisnis
proses yang akan kita kembangkan.
b. Re-use of Code
Dengan menggunakan framework maka struktur pemrograman kita akan memiliki
struktur yang baku, sehingga kode program yang sudah dibuat akan dapat digunakan
untuk aplikasi yang lain.
c. Bantuan komunitas
Banyak komunitas yang siap membantu dan juga berbagi ilmu sehingga dapat
meningkatkan kemampuan pemrograman kita
d. Kumpulan best practice
Framework merupakan kumpulan best practice sehingga kita dapat menguatkan
pemrograman kita.
Untuk melakukan pembuatan aplikasi bisnis ini maka kita harus mempersiapkan:
1. Folder Cache, merupakan folder yang digunakan untuk menyimpan semua cache
yang dibuat oleh cache library
2. Folder Config, merupakan folder yang berisi file konfigurasi dari aplikasi yang dibuat
mulai dari database, router dan autoload aplikasi.
3. Folder Controllers, merupakan folder yang berisi file controller dari aplikasi yang
dibuat, digunakan sebagai penghubung antara models dan views.
4. Folder Core, merupakan folder yang digunakan untuk memperluas class inti
codeigniter.
5. Folder Helpers, merupakan folder yang digunakan untuk menyimpan helpers core ci.
6. Folder Hooks, merupakan folder untuk menyimpan hooks yang digunakan untuk
mengubah alur fungsi dari core codeigniter.
7. Folder Language, merupakan folder yang digunakan untuk menyimpan seluruh
bahasa-bahasa yang akan digunakan.
8. Folder Libraries merupakan folder yang digunakan untuk menyimpan seluruh
library.
9. Folder Logs,merupakan folder yang digunakan untuk menyimpan seluruh error log
apabila error log diaktifkan.
10. Folder Models, merupakan folder yang digunakan untuk menyimpan models yang
akan mendefinisikan tabel dari database yang dapat kita gunakan oleh controller yang
kita buat untuk mengakses database.
11. Folder Third_party, merupakan folder yang digunakan untuk menyimpan fungsi-
fungsi tambahan di codeigniter.
12. Folder Views, merupakan folder yang digunakan untuk menyimpan seluruh tampilan-
tampilan dari aplikasi yang dibuat atau sering disebut dengan user interface.
b. System
Folder system biasanya berisi file, baik itu file aplikasi yang sedang dibuat maupun core-
framework nya. Diantaranya adalah sebagai berikut :
c. User_guide
Folder ini biasanya berisi userguide/ manual penggunaan ci. berikut folder-folder yang
ada didalam folder user_guide
Gambar3.0.2
Gambar LogoEasyUI
Logo EasyUI
Klik dua kali pada aplikasi xampp yang telah diunduh dan akan tampil splash screen bitnami,
setelah itu akan ada peringatan error seperti pada gambar di bawah ini
Setelah itu maka akan tampil halaman pemilihan item apa saja yang akan kita install di dalam
web server xampp. Silahakn disesuaikan dengan kebutuhan kita. Pada kasus ini kita pilih
seluruhnya item-item yang akan diinstall dengan tampilan seperti gambar di bawah ini
Selanjutnya pilih Next dan akan tampil promosi bitnami menawarkan cara menginstall CMS
seperti wordpress dan lain-lain. Pada langkah ini terdapat sebuah checkbox pada bagian learn
more about Bitnami for XAMPP dan kita hilangkan ceklis pada checkbox tersebut seperti
pada gambar di bawah ini
Selanjutnya langkah terakhir dari proses instalasi Xampp adalah akan tampil form
Completing the XAMPP Setup Wizard. Lalu terdapat checkbox Do you want to start the
Control Panel now?, seperti pada gambar di bawah ini
Setelah kita pilih OK maka selanjutnya akan tampil Xampp Control Panel seperti pada
gambar di bawah ini
Lalu kita pilih tombol Start pada Apache dan MySQL untuk menjalankan web server dan
database kita, dan akan tampil seperti pada gambar di bawah ini
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
02
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Pada bab ini diharapkan mahasiswa dapat memahami secara detail tentang pembuatan
dan penggunaan komponen model, view, controller yang merupakan kunci utama dalam
menggunakan framework codeigniter. Pada pengertian codeigniter di atas tadi di jelaskan
bahwa codeigniter menggunakan metode MVC. Apa itu MVC? kita juga harus mengetahui
apa itu MVC sebelum masuk dan lebih jauh dalam belajar codeigniter.
MVC adalah teknik atau konsep yang memisahkan komponen utama menjadi tiga
komponen yaitu model, view dan controller.
a. Model
Model adalah kelas yang merepresentasikan atau memodelkan tipe data yang akan
digunakan oleh aplikasi. Model juga dapat didefinisakn sebagai bagian penanganan yang
berhubungan dengan pengolahan atau manipulasi database. seperti misalnya mengambil
data dari database, menginput dan pengolahan database lainnya. semua intruksi atau
fungsi yang berhubung dengan pengolahan database di letakkan di dalam model.
Sebagai contoh, jika ingin membuat aplikasi untuk menghitung luas dan keliling
lingkaran, maka dapat memodelkan objek lingkaran sebagai kelas model.
b. View
View merupakan bagian yang menangani halaman user interface atau halaman yang
muncul pada user(pada browser). tampilan dari user interface di kumpulkan pada view
untuk memisahkannya dengan controller dan model sehingga memudahkan web designer
dalam melakukan pengembangan tampilan halaman website.
c. Controller
Controller merupakan kumpulan intruksi aksi yang menghubungkan model dan view,
jadi user tidak akan berhubungan dengan model secara langsung, intinya data yang
tersimpan di database (model) di ambil oleh controller dan kemudian controller pula yang
menampilkan nya ke view. Jadi controller lah yang mengolah intruksi.
Dari penjelasan tentang model view dan controller di atas dapat di simpulkan bahwa
controller sebagai penghubung view dan model. misalnya pada aplikasi yang
menampilkan data dengan menggunakan metode konsep mvc, controller memanggil
intruksi pada model yang mengambil data pada database, kemudian controller yang
meneruskannya pada view untuk di tampilkan. jadi jelas sudah dan sangat mudah dalam
pengembangan aplikasi dengan cara mvc ini karena web designer atau front-end
Pada pembahasan ini kita akan coba secara bertahap memulai membuat aplikasi bisnis
menggunakan framework CI. Untuk memulai membuat aplikasi menggunakan CodeIgniter
dan Jquery EasyUI langkah yang harus kita lakukan adalah sebagai berikut:
1. Buat folder baru dan beri nama PW2 pada folder D:\XAMPP\htdocs. Perlu diperhatikan
bahwa drive D ini sesuai dengan proses instalasi xampp pada pembahasan di atas.
2. Ekstrak file CI dari hasil download https://codeigniter.com/download dan simpan pada
under root web server kita. Jika kita menggunakan XAMPP, maka secara default root
tersebut terletak pada D:\xampp\htdocs\PW2\ dan jika kita menggunakan WAMP maka
secara default root tersebut terdapat pada D:\wamp\www\PW2\. Hasil ekstrak akan
membentuk struktur file seperti di bawah ini
3. selanjutnya kita jalankan CI yang telah kita download pada browser dengan mengetikkan
http://localhost/PW2/[nama-file]/ dan akan tampil seperti gambar di bawah
Untuk diketahui sebelumnya bahwa proses menampilkan aplikasi pada bahasa program
PHP Native akan berbeda dengan PHP Framework, khususnya pada Framework
CodeIgniter. Jika dalam PHP Native yang akan ditampilkan adalah file dengan nama
index.php atau index.html, namun pada framework CodeIgniter yang akan ditampilkan
Proses untuk menampilkan “Welcome to CodeIgniter!” dapat dilihat dari proses seperti
pada gambar di bawah ini
Script: $this->load->view('welcome_message');
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to CodeIgniter</title>
<style type="text/css">
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
..........................................................
...........................................................
/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
*/
$config['index_page']='index.php';
| ----------------------------------------------------------------------
| RESERVED ROUTES
| ----------------------------------------------------------------------
| There area two reserved routes:
| $route['default_controller'] = 'welcome';
|
| This route indicates which controller class should be loaded if the
| URI contains no data. In the above example, the "welcome" class
| would be loaded.
|
| $route['404_override'] = 'errors/page_missing';
|
| This route will tell the Router what URI segments to use if those provided
| in the URL cannot be matched to a valid route.
*/
$route['default_controller']="layout";
$route['404_override']='';
Pada saat kali pertama kita menginstal framework codeigniter secara default terdapat 3 (tiga)
folder utama yaitu application, system, dan user_guide.
a. Application
Merupakan tempat di mana seluruh syntax project aplikasi kita simpan. Folder
application memiliki beberapa folder yang dapat membantu kita dalam men-develop
sebuah aplikasi. Diantaranya adalah sebagai berikut:
1. Folder Cache, merupakan folder yang digunakan untuk menyimpan semua cache
yang dibuat oleh cache library
2. Folder Config, merupakan folder yang berisi file konfigurasi dari aplikasi yang dibuat
mulai dari database, router dan autoload aplikasi.
3. Folder Controllers, merupakan folder yang berisi file controller dari aplikasi yang
dibuat, digunakan sebagai penghubung antara models dan views.
4. Folder Core, merupakan folder yang digunakan untuk memperluas class inti
codeigniter.
5. Folder Helpers, merupakan folder yang digunakan untuk menyimpan helpers core ci.
6. Folder Hooks, merupakan folder untuk menyimpan hooks yang digunakan untuk
mengubah alur fungsi dari core codeigniter.
7. Folder Language, merupakan folder yang digunakan untuk menyimpan seluruh
bahasa-bahasa yang akan digunakan.
b. System
Folder system biasanya berisi file, baik itu file aplikasi yang sedang dibuat maupun core-
framework nya. Diantaranya adalah sebagai berikut :
1. Folder Core, merupakan folder yang digunakan untuk memperluas class inti
codeigniter.
2. Folder Database, merupakan folder yang digunakan untuk menyimpan semua
database driver dan class yang akan digunakan.
3. Folder Fonts, merupakan folder yang digunakan untuk menyimpan font yang
digunakan image manipulation library.
4. Folder Helpers merupakan folder yang digunakan untuk menyimpan helper core ci.
5. Folder Language, merupakan folder yang digunakan untuk menyimpan semua bahasa
core ci.
6. Folder Libraries, merupakan folder yang digunakan untuk menyimpan semua library
core ci
c. User_guide
Folder ini biasanya berisi userguide/ manual penggunaan ci. berikut folder-folder yang
ada didalam folder user_guide
/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
*/
$config['index_page']='index.php';
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'fasilkom',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
$route['default_controller']="welcome";
$route['404_override']='';
12. smileys.php, digunakan untuk menyimpan array yang berisi smiley (emoticon) untuk
membantu helperemoticon.
13. user_agents.php, digunakan untuk menyimpan data useragent, yang membantu
classuser agen untuk mengidentifikasi browser, platform, robot dan
datamobiledevice.
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
03
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
3.1. Konsep Database
Untuk mengambil data yang telah kita simpan pada database kita harus melakukan
pemanggilan dengan menggunakan query. Setelah query ita lakukan, selanjutnya baru kita
akan mendapatkan hasil dari query tersebut dalam bentuk object maupun dalam bentuk array.
Contoh Query:
Perlu kita ketahui bahwa fungsi query di atas belum dapat menghasilkan data apapun.
Keluarannya hanya berupa Object(True) atau False. Jika keluarannya berupa False maka
bisa dipastikan query yang kita lakukan gagal. Tetapi jika bernilai True maka query yang
dilakukan berarti berhasil. Kita dapat mengambil data yang diinginkan dengan contoh seperti
di bawah ini
foreach($query->result() as $row) {
echo $row->nama;
echo $row->alamat;
echo $row->no_kontak;
}
Contoh tersebut di atas merupakan salah satu penggunaan query. Penggunaan $query-
>result() merupakan syntax untuk mendapatkan hasil query dalam bentuk object,
sedangkan untuk mendapatkan hasil query dalam bentuk array asosiatif kita dapat
menggunakan $query->result_array().
Untuk menampilkan hasil dari query dapat dilakukan dengan menggunakan script echo
$row->nama, echo $row->alamat;, dan $row->no_kontak. Sedangkan
script echo 'Total Result: '.query->num_rows(); digunakan untuk
menampilkan berapa banyak record yang terdapat pada table petugas.
Keterangan script:
Keterangan script:
Keterangan script:
Fungsi $row->nama; merupakan method yang digunakan untuk mengambil nilai dalam
bentuk object
Active record menyediakan fungsionalitas untuk melakukan insert data. Untuk melakukan
insert data kita memerlukan dua parameter yaitu nama table dan data yang akan kita insert.
Data yang akan kita masukkan haruslah memiliki format berupa array asosiatif ataupun
object. Adapun keuntungan menggunakan active record untuk insert data adalah sederhana
untuk digunakan, dan juga query yang kita gunakan sudah bisa dikatakan aman dari
kesalahan karenan metode ini dilakukan secara build-in yang disertai fungsi untuk
penanganan escaping.
A. Insert Data
Untuk melakukan proses memasukan data ke dalam tabel yang dibuat, maka kita dapat
menggunakan script this->db->insert() dengan contoh seperti di bawah ini
$data = array(
'GroupProduct_Name'=>$this->input->post('txtGroupProduk',true)
);
$query=$this->db->insert('m_groupproduct', $data);
Selain dengan cara di atas, kita dapat juga melakukan dengan perintah di bawah ini
$namaGroup=$this->input->post('txtGroupProduk');
B. Update Data
Untuk melakukan proses perubahan data ke dalam tabel yang dibuat, maka kita dapat
mneggunakan script $this->db->update() dengan contoh seperti di bawah ini
$this->db->where('GroupProduct_auto',$txtId);
$query=$this->db->update('m_groupproduct',array(
'GroupProduct_Name'=>$this->input->post('txtGroupProduk',true)
));
$data=array('GroupProduct_Name'=>$this->input->post('txtGroupProduk',true));
$where="GroupProduct_auto = '$txtId'";
$str=$this->db->update('m_groupproduct',$data,$where);
$namaGroup=$this->input->post('txtGroupProduk');
$query=$this->db->query("UPDATE m_groupproduct
SET GroupProduct_Name='$namaGroup'
WHERE GroupProduct_auto='$txtId'");
C. Delete Data
Untuk melakukan proses penghapusan data dari tabel yang dibuat, maka kita dapat
menggunakan script $this->db->delete() dengan contoh seperti di bawah ini
$query=$this->db->delete('m_groupproduct',array('GroupProduct_auto'=>$id));
$this->db->where('GroupProduct_auto',$id);
$this->db->delete('m_groupproduct');
Untuk melakukan proses pemilihan data dari tabel yang dibuat, maka kita dapat
mneggunakan script $this->db->get() dengan contoh seperti di bawah ini
$groupproduct=$this->db->get('m_groupproduct');
$groupproduct=$this->db->get('m_groupproduct',3,0);
$this->db->where('GroupProduct_auto',34);
$groupproduct=$this->db->get('m_groupproduct');
$this->db->select('GroupProduct_auto, GroupProduct_Name');
$groupproduct=$this->db->get('m_groupproduct');
5. SELECT MAX
$this->db->select_max('GroupProduct_auto');
$groupproduct=$this->db->get('m_groupproduct');
$groupproduct=$this->db->query('SELECT MAX(GroupProduct_auto) as
GroupProduct_autoFROM m_groupproduct');
6. SELECT MIN
$this->db->select_min('GroupProduct_auto');
$groupproduct=$this->db->get('m_groupproduct');
$groupproduct=$this->db->query('SELECT MIN(GroupProduct_auto) as
GroupProduct_autoFROM m_groupproduct');
7. SELECT AVG
$this->db->select_avg('GroupProduct_auto');
$groupproduct=$this->db->get('m_groupproduct');
8. SELECT SUM
$this->db->select_sum('GroupProduct_auto');
$groupproduct=$this->db->get('m_groupproduct');
$groupproduct=$this->db->query('SELECT SUM(GroupProduct_auto) as
GroupProduct_autoFROM m_groupproduct');
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
04
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Controller merupakan kumpulan intruksi aksi yang menghubungkan model dan view, jadi
user tidak akan berhubungan dengan model secara langsung, intinya data yang tersimpan di
database (model) di ambil oleh controller dan kemudian controller pula yang menampilkan
nya ke view. Jadi controller lah yang mengolah intruksi.
Keterangan Fungsi
Konfigurasi Base URL Merupakan URL yang kita masukan pada konfigurasi base_url
yang merupakan URL paling dasar untuk mengakses web kita
Segmen URI 1 Merupakan Class yang terdapat pada controller yang akan
dipanggil. Apabila segmen ini kosong maka akan digantikan
dengan default controller yang telah kita lakukan proses setting
di konfigurasi router.php
Segmen URI 2 Fungsi dari Class Controller yang telah kita panggil pada URI
1. Jika Segemen 2 ini kosong maka yang akan dilakukan proses
pemanggilan adalah fungsi index pada class controller tersebut
Segmen URI 3 Biasanya berisikan parameter dari fungsi. Jika fungsi dari
controller yang dipanggil mempunyai parameter, maka
parameternya harus dimasukan sebagai segmen URI sesuai
urutan
Controller merupakan jantung dari aplikasi yang menentukan bagaimana permintaan HTTP
harus ditangani. Sebuah controller hanyalah sebuah nama class yang dikatikan dengan URI.
Selanjutnya mari kita buat controller sederhana yang akan dijalankan pada URL
http://localhost/PW2/index.php/hello. Langkah yang harus kita lakukan adalah dengan
mengetikan script di bawah ini pada text editor dan simpan pada folder
application\controllers\ dengan nama hello.php
Setelah selesai lalu kunjungi web yang kita buat dengan mengetikan URL
http://localhost/PW2/index.php/hello dan akan tampil seperti pada gambar di bawah ini
Selanjutnya mari kita buat file hello_model.php pada folder application/models dengan
mengetikan script di bawah ini pada text editor
?>
Selanjutnya buat file hello.php pada folder application/controllers dengan mengetikan script
di bawah ini pada text editor
echo "</body>";
echo "</html>";
}
}
?>
Setelah selesai lalu kunjungi web yang kita buat dengan mengetikan URL
http://localhost/PW2/index.php/hello dan akan tampil seperti pada gambar di bawah ini
Selanjutnya mari kita buat file hello_view.php pada folder application/views dengan
mengetikan script di bawah ini pada text editor
<html>
<head><title>Controller dan View</title></head>
<body>
<h2>Hello World!</h2>
</body>
</html>
?>
Setelah selesai lalu kunjungi web yang kita buat dengan mengetikan URL
http://localhost/PW2/index.php/hello dan akan tampil seperti pada gambar di bawah ini
Selanjutnya mari kita buat file lingkaran_model.php pada folder application/models dengan
mengetikan script di bawah ini pada text editor
?>
?>
<html>
<head>
<title> Demo Model, View, Controller </title>
</head>
<body>
<h2> Model Lingkaran </h2>
Setelah selesai lalu kunjungi web yang kita buat dengan mengetikan URL
http://localhost/PW2/index.php/lingkaran dan akan tampil seperti pada gambar di bawah ini
Fungsi
Pada contoh di atas nama fungsi yang kita buat adalah index(). Fungsi “index()” akan
selalu dimuat secara default jika segmen URI 2 kosong. Cara lain untuk menunjukan pesan
kalimat “Hello World!” dapat dilakukan dengan menggunakan URI 2 seperti di bawah ini
Jika URI kita berisi lebih dari 2 (dua) segmen, maka program akan membaca segmen yang
ke-3 sebagai parameter pada fungsi. Sebagai contoh katakanlah kita memiliki URI
http://localhost/PW2/index.php/product/buku/judul_buku/123 dengan script yang
disimpan pada application/controllers/product.php seperti di bawah ini
Jika kita akan mambangun suatu aplikasi yang besar, maka akan merasa nyaman jika kita
mengatur controller pada sub-sub folder. CodeIgniter memungkinkan agar kita melakukan
hal tersebut, dengan catatan bahwa URI pada segmen pertama harus menentukan sebuah
folder. Sebagai contoh dapat kita lakukan dengan membuat script di bawah ini dan disimpan
dengan nama file product.php dalam folder application/controllers/produk/
Untuk memanggil controller tersebut dapat kita lakukan dengan menuliskan URL seperti
berikut http://localhost/PW2/produk/product dan jika berhasil maka akan tampil seperti
gambar di bawah ini
Class Constructors
Jika kita berminat untuk menggunakan construct dalam salah satu Controller, maka kita harus
menempatkan baris kode berikut di dalamnya parent::__construct();. Alasan baris ini
diperlukan karena konstruktor lokal akan menimpa class induk controller, sehingga kita perlu
memanggil secara manual seperti di bawah ini
}
}
Konstruktor akan berguna jika kita akan mengatur beberapa nilai default atau menjalankan
default. Konstruktor tidak dapat mengembalikan nilai tetapi dapat melakukan pekerjaan yang
menjadi default.
1) Controller boleh mengakses $_GET, $_POST, dan variabel variabel PHP lainnya yang
berkaitan dengan permintaan user.
2) Controller boleh membuat objek (instance) dari kelas kelas model dan
mengarahkan ke view (jika model bersangkutan menghasilkan data yang perlu
ditampilkan ke user)
3) Controller seharusnya tidak berisi kode kode yang mengakses data secara
langsung dari database. Tugas seperti ini sebaiknya dilakukan oleh model. Dan
controller tinggal menggunakannya saja.
4) Controller seharusnya tidak berisi kode kode HTML yang diperlukan untuk tujuan
presentasi. Tugas ini sebaiknya dilakukan oleh view.
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
05
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
View digunakan hanya untuk menampilkan halaman web atau fragmen halaman, seperti
header, footer, sidebar, dan lain-lain. View tidak pernah ditampilkan secara langsung namun
harus melalui controller. Ingat bahwa dalam kerangka MVC, controller berperan sebagai
polisi sehingga bertanggung jawab untuk menampilkan view tertentu.
Membuat View
Buatlah program dengan script di bawah ini untuk menampilkan view bernama hello.php
<!DOCTYPE html>
<html>
<head>
<title>Hallo World</title>
</head>
<body>
</body>
</html>
Loading View
Untuk memuat file view tertentu dapat menggunakan fungsi sebagai berikut $this-
>load->view('hello');
Selanjutnya kita buka file controller yang kita buat sebelumnya pada file hello.php lalu ubah
script menjadi seperti di bawah ini
Data yang akan ditampilkan ke views melalui controllers dengan cara array dalam parameter
dapat dilakukan seperti script di bawah ini. Selanjutnya kita ketikkan script di bawah ini pada
text editor dan simpan file tersebut dengan nama file layout.php pada folder
application\controllers\
$this->load->view('layout',$data);
}
Selanjutnya kita tambahkan file view dengan nama layout.php pada application/views/ untuk
memanggil data dari controller seperti script di bawah ini
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<?php
echo $pos;
echo $message;
?>
</body>
</html>
Sebelum kita jalankan hasil script tersebut, maka kita harus melakukan perubahan data pada
application/config/routes.php seperti berikut ini
Membuat Loops
Kita dapat melakukan array multi-dimensi yang dapat diulang (loops) beberapa baris. Sebagai
contoh jika kita menggunakan database, maka untuk menampilkan datanya dapat
menggunakan array multi-dimensi. Berikut adalah contoh sederhana untuk array multi-
dimensi.
Buat controllers dengan nama looping.php dan simpan pada application\controllers\ dengan
script seperti di bawah ini
$this->load->view('looping',$data);
}
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<?php
foreach ($nama_buah as $buah) {
echo $buah."<br>";
}
echo $message." ".$buah;
?>
</body>
</html>
Sebelum kita jalankan hasil script tersebut, maka kita harus melakukan perubahan data pada
application/config/routes.php seperti berikut ini
1) View harus berisi kode kode yang bersifat presentasional, biasanya berupa kode
HTML. View juga dapat berisi perintah perintah PHP sederhana yang masih berkaitan
dengan proses pembuatan tampilna, misalnya untuk menampilkan data yang dihasilkan
oleh model tertentu.
2) View seharusnya tidak berisi kode PHP yang melakukan akses data secara
langsung ke database. Pekerjaan semacam ini sebaiknya dilakukan oleh model.
3) View seharunsnya menghindari kode PHP yang mengakses secara langsung
permintaan dari user (tidak berisi $_GET maupun $_POST). Tugas ini sebaiknya
didelegasikan ke controller
Implementasi yang akan kita gunakan menggunakan template ace-master yang dapat diunduh pada
laman https://github.com/bopoda/ace dan template tersebut telah menggunakan bootsrap.
Pembahasan ini kita akan mencoba membuat tampilan utama dalam aplikasi. Tampilan ini
berupa bagaimana mempersiapkan lokasi untuk menampilkan header, footer, sidebar, dan
juga content dari aplikasi. Rancangan pada layout ini dapat dijabarkan sebagai berikut:
1. Header digunakan untuk menampilkan logo perusahaan atau identitas perusahaan, dan
juga untuk menampilkan siapa yang sedang aktif pada aplikasi bisnis tersebut dan juga
tautan untuk keluar dari aplikasi (logout).
2. Footer digunakan untuk menampilkan siapa pemilik dari aplikasi bisnis yang akan kita
kembangkan termasuk kapan kepemilikan dari aplikasi bisnis tersebut.
3. Sidebar untuk sisi kiri digunakan untuk mempersiapkan menu-menu apa saja yang ada
pada aplikasi bisnis yang akan kita kembangkan, termasuk akan kita persipkan untuk hak
akses dari aplikasi bisnis tersebut.
4. Sidebar untuk sisi kanan kita siapkan untuk tampilan form dari menu yang kita pilih
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Pemrograman Web 2</title>
</head>
<body class="no-skin">
<div id="navbar" class="navbar navbar-default ace-save-state">
<div class="navbar-container ace-save-state" id="navbar-container">
<button type="button" class="navbar-toggle menu-toggler pull-left"
id="menu-toggler" data-target="#sidebar">
<span class="sr-only">Toggle sidebar</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<li class="divider"></li>
<li>
<a href="#">
<i class="ace-icon fa fa-power-off"></i>
Logout
</a>
</li>
</ul>
</li>
</ul>
</div>
</div><!-- /.navbar-container -->
</div>
<b class="arrow"></b>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-desktop"></i>
<span class="menu-text">
Menu 1
</span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="#">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 1.1
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="#">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 1.2
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-list"></i>
<span class="menu-text"> Menu 2 </span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="#">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 2.1
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="#">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 2.2
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-pencil-square-o"></i>
<span class="menu-text"> Menu 3 </span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<div class="main-content">
<div class="main-content-inner">
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
<ul class="breadcrumb">
<li>
<i class="ace-icon fa fa-home home-icon"></i>
<a href="#">Home</a>
</li>
<li class="active">Dashboard</li>
</ul><!-- /.breadcrumb -->
</div>
<div class="page-content">
<div class="page-header">
<h1>
Dashboard
<small>
<i class="ace-icon fa fa-angle-double-
right"></i>
overview & stats
</small>
</h1>
</div><!-- /.page-header -->
<div class="row">
<div class="col-xs-12">
<div class="alert alert-block alert-info">
<button type="button" class="close" data-
dismiss="alert">
<i class="ace-icon fa fa-times"></i>
</button>
<i class="ace-icon fa fa-check green"></i>
Selamat datang
<strong class="green">
<b>Admin</b>
</strong>,<br><br>
Berusaha dan berdoa
</div>
<div class="widget-header widget-header-flat
widget-header-small">
<h5 class="widget-title">
<i class="ace-icon fa fa-signal"></i>
Kelola Halaman Web
</h5>
</div>
<br>
<div class="widget-body">
<div class="infobox infobox-green ">
<div class="footer">
<div class="footer-inner">
<div class="footer-content">
<span class="bigger-120">
<span class="blue bolder">Wawan Gunawan, S.Kom.,
M.T.</span>
Application © 2018
</span>
<span class="action-buttons">
<a href="#">
<i class="ace-icon fa fa-twitter-square light-blue
bigger-150"></i>
<a href="#">
<i class="ace-icon fa fa-facebook-square text-
primary bigger-150"></i>
</a>
<a href="#">
<i class="ace-icon fa fa-rss-square orange bigger-
150"></i>
</a>
</span>
</div>
</div>
</div>
</body>
</html>
Pada script di atas, pembuatan header, footer, sidebar, dan content dilakukan pada file yang
sama. Kondisi tersebut akan sangat memberatkan programmer jika aplikasi bisnis yang
dikembangkan memiliki banyak menu. Oleh karena itu untuk mempermudah dalam
pembuatan program, maka kita lakukan pembuatan header, footer, sidebar, dan content
File header.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Pemrograman Web 2</title>
</head>
<body class="no-skin">
<div id="navbar" class="navbar navbar-default ace-save-
state">
<div class="navbar-container ace-save-state" id="navbar-
container">
<button type="button" class="navbar-toggle menu-
toggler pull-left" id="menu-toggler" data-target="#sidebar">
<span class="sr-only">Toggle sidebar</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<li class="divider"></li>
<li>
<a href="#">
<i class="ace-
icon fa fa-power-off"></i>
Logout
</a>
</li>
</ul>
</li>
</ul>
</div>
</div><!-- /.navbar-container -->
</div>
File footer.php
<div class="footer">
<div class="footer-inner">
<div class="footer-content">
<span class="bigger-120">
<span class="action-buttons">
<a href="#">
<i class="ace-icon fa fa-
twitter-square light-blue bigger-150"></i>
</a>
<a href="#">
<i class="ace-icon fa fa-
facebook-square text-primary bigger-150"></i>
</a>
<a href="#">
<i class="ace-icon fa fa-
rss-square orange bigger-150"></i>
</a>
</span>
</div>
</div>
</div>
</body>
</html>
File menu.php
try{ace.settings.loadState('sidebar')}catch(e){}
</script>
<div class="sidebar-shortcuts-mini"
id="sidebar-shortcuts-mini">
<b class="arrow"></b>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-
desktop"></i>
<span class="menu-text">
Menu 1
</span>
<b class="arrow fa fa-angle-
down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="#">
<i class="menu-icon fa
fa-caret-right"></i>
Sub Menu 1.1
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="#">
<i class="menu-icon fa
fa-caret-right"></i>
Sub Menu 1.2
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-
list"></i>
<span class="menu-text"> Menu 2
</span>
<b class="arrow fa fa-angle-
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-pencil-
square-o"></i>
<span class="menu-text"> Menu 3
</span>
<b class="arrow fa fa-angle-
down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="#">
<i class="menu-icon fa
fa-caret-right"></i>
Sub Menu 3.1
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="#">
<i class="menu-icon fa
fa-caret-right"></i>
Sub Menu 3.2
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
</ul><!-- /.nav-list -->
</div>
File home.php yang akan kita gunakan sebagi content dari web yang akan kita kembgnakan.
</div>
<div class="page-content">
<div class="page-header">
<h1>
Dashboard
<small>
<i class="ace-icon fa
fa-angle-double-right"></i>
overview & stats
</small>
</h1>
</div><!-- /.page-header -->
<div class="row">
<div class="col-xs-12">
<div class="alert
alert-block alert-info">
<button
type="button" class="close" data-dismiss="alert">
<i
class="ace-icon fa fa-times"></i>
</button>
<i class="ace-
icon fa fa-check green"></i>
Selamat datang
<strong
class="green">
<b>Admin</b>
</strong>,<br><br>
Berusaha dan
berdoa
</div>
<div class="widget-
header widget-header-flat widget-header-small">
<h5
class="widget-title">
<i
class="ace-icon fa fa-signal"></i>
Kelola
Halaman Web
</h5>
</div>
<br>
<div class="widget-
body">
<div
<span class="infobox-data-number">0</span>
<div
class="infobox-content">Komentar
+
</div>
</div>
<div
class="stat stat-success">4</div>
</div>
<div
class="infobox infobox-red">
<div
class="infobox-icon">
<i
class="ace-icon fa fa-flask"></i>
</div>
<div
class="infobox-data">
<span class="infobox-data-number">0</span>
<div
class="infobox-content">Testimoni
+
</div>
</div>
<div
class="stat stat-success">5</div>
</div>
<div
class="infobox infobox-orange2">
<div
class="infobox-icon">
<i
class="ace-icon fa fa-download"></i>
</div>
<div
class="infobox-data">
<span class="infobox-data-number">100</span>
<div
class="infobox-content"><i>pageviews</i></div>
</div>
</div>
</div><!-- /.widget-
body -->
<!-- PAGE CONTENT ENDS -->
setelah pembuatan script selesai kita lakukan, selanjutnya kita harus melakukan perubahan
pada file layout.php yang ada pada folder controller seperti script di bawah ini.
Selanjutnya jalankan aplikasi sederhana kita sehingga akan dihasilkan tampilan awal seperti
gambar di bawah ini
Daftar Pustaka
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
06
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Pada model MVC, models dirancang untuk bekerja dalam memberikan informasi dari
database. Sebagai contoh ketika kita menggunakan CodeIgniter untuk mengelola data kita,
kita mnggunakan model yang berfungsi untuk memasukan data, mengubah data, mengambil
data, dan juga menghapus data dari dalam database. Berikut adalah contoh mengenai class
models seperti pada script di bawah ini
$this->error_db();
}
$query = $this->db->update('m_groupproduct',array(
'GroupProduct_Name'=>$this->input->post('txtGroupProduk',true)
));
$this->error_db();
}
$this->error_db();
}
return $result;
}
}
Keterangan script:
Memuat Model
Model biasanya akan dipanggil melalui fungsi controller, untuk memuat fungsi model dapat
dilakukan dengan menggunakan script $this->load->model('model_name'); dan
jika model terletak pada sub-folder dapat dilakukan pemanggilan dengan menggunakan script
berikut ini $this->load->model('nama_folder/model_name');
Setelah dimuat, kita akan mengakses fungsi model menggunakan objek dengan nama yang
sama dengan class yang sudah kita buat dengan script berikut $this->load-
>model('model_name');
Auto-Loading Model
Jika model yang kita buat akan digunakan pada seluruh aplikasi, maka kita harus melakukan
pengaturan pada application/config/autoload.php untuk melakukan inisialisasi system dan
menambahkan model untuk array autoload
Meghubungkan ke Database
Ketika kita melakukan proses load model, maka tidak akan secara otomatis tersambung ke
database. Kita dapat meghubungakan menggunakan metode database standar, baik dari class
Controller ataupun dari Model. Kita dapat melakukan dengan fungsi Model terhubung
dengan nilai boolean (TRUE) melalui parameter ketiga dan pengaturan konektivitas
sebagaimana didefinisikan dalam file konfigurasi database yang kita gunakan. Contoh script
dapat kita lakukan seperti berikut $this->load-
>model(‘Model_name’,’’,TRUE);
Kita juga dapat melakukan secara manual melalui pengaturan database melalui parameter
$active_group = 'default';
$query_builder = TRUE;
FUNGSI HELPER
Helper berguna untuk membantu kita dengan tugas-tugas. Setiap file helper hanyalah
kumpulan fungsi pada kategori tertentu. URL Helpers yang membantu dalam menciptakan
link, elemen bentuk, format teks, mengatur dan membaca cookie, membantu menangani file,
dan lain-lain.
Tidak seperti kebanyakan sistem lain dalam CodeIgniter, Helper tidak ditulis dalam format
Object Oriented melainkan sangat sederhana yaitu menggunakan fungsi prosedural. Setiap
fungsi Helper melakukan satu tugas tertentu tanpa ketergantungan pada fungsi lainnya.
CodeIgniter tidak memuat File Helper secara default, sehingga langkah pertama untuk
menggunakan file Helper adalah dengan me-load-nya. Setelah di-load maka secara global
akan dapat digunakan oleh file Controllers dan juga file Views.
Loading a Helper
Untuk load file helper sangat sederhana dengan menggunakan fungsi berikut $this-
>load->helper('url');
5) Model seharusnya tidak berisi kode kode yang berkaitan dengan presentasi
(tampilan) halaman web yang akan disajikan ke hadapan user. Pekerjaan semacam
ini seharusnya dilakukan oleh view.
Setelah kita berhasil membuat tampilan pada pembahasan sebelumnya, selanjutnya kita akan
membuat contoh 1 (satu) form sedehana untuk pembuatan kelompok produk dengan hasil
yang diharapkan dari pembuatan kode program pada bagian ini dapat dilihat seperti pada
gambar di bawah ini
1. Pada gambar di atas yang ditunjukan dengan nomor 1 (satu) merupakan data yang
berhasil ditampilkan pada datagrid
2. Pada gambar di atas yang ditunjukan dengan nomor 2 (dua) merupakan tampilan dialog-
form untuk melakukan proses pencarian setelah memilih icon luv (search)
3. Pada gambar di atas yang ditunjukan dengan nomor 3 (tiga) merupakan tampilan dialog-
form untuk melakukan proses Tambah Data setelah memilih icon Tambah Data dan
melakukan proses Ubah Data setelah memilih icon Ubah Data
Untuk mendapatkan hasil yang sesuai dengan gambar di atas, maka kita harus
mempersiapkan konfigurasi database, membuat controller, membuat views, dan juga
membuat models.
$active_group='default';
$active_record=TRUE;
$db['default']['hostname']='localhost';
$db['default']['username']='root';
$db['default']['password']='';
$db['default']['database']='fasilkom';
$db['default']['dbdriver']='mysql';
$db['default']['dbprefix']='';
$db['default']['pconnect']=TRUE;
$db['default']['db_debug']=FALSE;
$db['default']['cache_on']=FALSE;
$db['default']['cachedir']='';
$db['default']['char_set']='utf8';
$db['default']['dbcollat']='utf8_general_ci';
$db['default']['swap_pre']='';
$db['default']['autoinit']=TRUE;
$db['default']['stricton']=FALSE;
M_subgroupproduct
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-desktop"></i>
<span class="menu-text">
Menu 1
</span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="#">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 1.1
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="#">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 1.2
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-desktop"></i>
<span class="menu-text">
Menu 1
</span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="<?php echo site_url('groupProduct');?>">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 1.1
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="#">
Selanjutnya kita akan persiapkan pembuatan program controller dengan nama file
groupProduct.php pada lokasi application/controller/ untuk menjalankan instruksi dari script
menu dengan script "<?php echo site_url('groupProduct');?>" yang telah kita buat
sebelumnya, kemudian ketikkan script berikut ini
Ketika pengguna memilih menu Kelompok Produk, maka yang akan dijalankan kali pertama
adalah controller groupProduct.php/index, selanjutnya pada function index akan menjalankan
perintah $this->load->view('groupProduct_view'); untuk melakukan eksekusi pada
view groupProduct_view.php sehingga akan tampil seperti pada gambar
View
Tambahkan pada file groupProduct_view.php dengan menambahkan script seperti di bawah
ini
<script>
$(document).ready(function() {
});
$('#btnSimpan').click(function(){
console.log(data);
obj = $.parseJSON(data);
if (obj.msg[0]=="ok"){
$('#konfirmasi').html(
'<div class="alert alert-success alert-
dismissible fade in" role="alert">'+
' <button type="button" class="close" data-
dismiss="alert" aria-label="Close"><span aria-
hidden="true">×</span></button>'+
' <strong>Sukses</strong><br/>'+obj.msg[1]+
'</div>');
setTimeout(function() {
$('#konfirmasi').html('');
},2000);
$('#txtKodeProduk').val('');
$('#txtGroupProduk').val('');
$('#konfirmasi').html(
'<div class="alert alert-danger alert-
dismissible fade in" role="alert">'+
' <button type="button" class="close" data-
dismiss="alert" aria-label="Close"><span aria-
hidden="true">×</span></button>'+
' <strong>Error</strong><br/>'+obj.msg[1]+
'</div>');
}
myTable.ajax.reload();
});
});
});
</script>
Controller
kita buat seperti di bawah ini
$this->groupProduct_model->add();
}
}
if($this->db->simple_query("INSERT INTO
m_groupproduct(GroupProduct_Name)
VALUES ('$namaGroup')")){
$data['msg'][0] = "ok";
$data['msg'][1] = "Data berhasil ditambahkan.....";
} else {
$error = $this->db->error();
$myJSON = json_encode($error['code'].":
".$error['message']);
$data['msg'][0] = "err";
$data['msg'][1] = $myJSON;
}
echo json_encode($data);
}
Controller
kita buat seperti di bawah ini
$this->load->view('header');
$this->load->view('menu');
$this->load->view('groupProduct_view');
$this->load->view('footer');
}
$this->groupProduct_model->add();
}
}
View
kita buat seperti di bawah ini
<script>
$(document).ready(function() {
}},
"columnDefs": [
{ "orderable": false, "targets": 2 },
{ "visible": false, "targets": [3], "searchable": false }
],
select: {
style: 'multi'
}
});
});
foreach($groupproduct->result() as $rowa) {
$akses="<center><a href='#' class='tooltip-success' data-
rel='tooltip' title='Ubah' ><span class='green'><i class='ace-icon fa fa-
pencil-square-o bigger-120'></i></span></a> <a href='#' class='tooltip-
error' data-rel='tooltip' title='Hapus' ><span class='red'><i class='ace-
icon fa fa-trash-o bigger-120'></i></span></a></center>";
$row = array();
$row[] = $i;
$row[] = $rowa->GroupProduct_Name;
$row[] = $akses;
$row[] = $rowa->GroupProduct_auto;
$data['data'][] = $row;
$i++;
}
echo json_encode($data);
}
Models
kita buat seperti di bawah ini
if($this->db->simple_query("INSERT INTO
m_groupproduct(GroupProduct_Name)
VALUES ('$namaGroup')")){
$data['msg'][0] = "ok";
$data['msg'][1] = "Data berhasil ditambahkan.....";
} else {
$error = $this->db->error();
$myJSON = json_encode($error['code'].":
".$error['message']);
$data['msg'][0] = "err";
$data['msg'][1] = $myJSON;
}
}
View
kita tambahkan groupProduct seperti di bawah ini
}},
"columnDefs": [
{ "orderable": false, "targets": 2 },
{ "visible": false, "targets": [3], "searchable": false }
],
select: {
style: 'multi'
}
});
});
View
kita tambahkan groupProduct seperti di bawah ini
}},
"columnDefs": [
{ "orderable": false, "targets": 2 },
{ "visible": false, "targets": [3], "searchable": false }
],
select: {
style: 'multi'
}
});
console.log(id);
$.post( "<?php echo
base_url(); ?>groupProduct/hapus/", { id:id }, function( data ) {
obj = $.parseJSON(data);
$("#myModal3").modal('show');
if (obj.msg[0]=="hapus"){
$('#konfirmasihapus').html(
'<div class="alert alert-success
alert-dismissible fade in" role="alert">'+
' <button type="button"
class="close" data-dismiss="alert" aria-label="Close"><span aria-
hidden="true">×</span></button>'+
' <strong>Hapus
Data</strong><br/>'+obj.msg[1]+
'</div>');
setTimeout(function() {
$('#konfirmasihapus').html('');
$("#myModal3").modal('hide');
},2000);
myTable.ajax.reload();
} else {
$('#konfirmasihapus').html(
'<div class="alert alert-danger alert-
dismissible fade in" role="alert">'+
' <button type="button" class="close"
data-dismiss="alert" aria-label="Close"><span aria-
hidden="true">×</span></button>'+
'
<strong>Error</strong><br/>'+obj.msg[1]+
'</div>');
}
});
});
});
$this->groupProduct_model->add();
redirect('groupProduct');
}
$this->groupProduct_model->hapus();
Models
kita tambahkan model groupProduct_model.php seperti di bawah ini
echo json_encode($data);
}
Tampilan
Tambahkan pada file groupProduct_view.php dengan menambahkan script seperti di bawah
ini
Menu
Lakukan penambahan pada file menu.php dengan script seperti di bawah ini
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-desktop"></i>
<span class="menu-text">
Menu 1
</span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="<?php echo site_url('groupProduct');?>">
<i class="menu-icon fa fa-caret-right"></i>
Group Produk
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="<?php echo
site_url('subGroupProduct');?>">
<i class="menu-icon fa fa-caret-right"></i>
Sub Group Produk
</a>
<b class="arrow"></b>
</ul>
</li>
View
Tambahkan pada file subGroupProduct_add.php dengan menambahkan script seperti di
bawah ini
<div class="form-group">
<label class="col-sm-7
control-label no-padding-right">
<button class="btn
btn-white btn-info btn-bold" id="btnSimpan" name="btnSimpan"
type="submit"><i class="ace-icon fa fa-floppy-o bigger-120 blue"></i>
Simpan</button>
<a href=""
target="_self" class="btn btn-white btn-default btn-round" data-
dismiss="modal" aria-hidden="true"><i class="fa fa-minus-circle"></i>
Tutup</a>
</label>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
Controller
Tambahkan pada file subGroupProduct.php dengan menambahkan script seperti di bawah ini
TUGAS
1. Buatlah rancangan menu sesuai dengan tema masing-masin!
2. Lengkapi Menu Sub Group Produk di atas dengan kelengkapan Query, Tambah Data,
Ubah Data, dan Hapus Data secara berkelompok dan dikumpulkan 5 hari dari
pertemuan hari ini
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
07
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Biasanya pada saat membangun suatu aplikasi kita akan lebih banyak fokus pada cara
pembuatannya, bagaimana mengimplementasikan logika kita sehingga menghasilkan suatu
sistem yang berjalan sesuai dengan keinginan dan kebutuhan kita. Hal ini tidak selalu salah
dan juga tidak selalu benar.
Adakalanya kita perlu membalik pola pikir ini dengan memandang diri kita sebagai pengguna
(user) yang mungkin akan memiliki waktu lebih banyak dalam menggunakan aplikasi
tersebut. Pada kasus ini mungkin tidak kita perhatikan dari aplikasi yang kita buat dengan
pepatah “tidak ada sistem yang sempurna”. Pada pembahasan ini sedikit informasi mengenai
keamanan dasar untuk membuat aplikasi berbasi web sehingga kita bisa sedikit melangkah
menuju kesempurnaan tersebut.
CodeIgniter akan me-load default ketika tidak menampilkan URI, sehingga aplikasi akan
menampilkan sesuai dengan setting default kita pada file router.php. Untuk membuat default
dapat kita lakukan pada file application\config\routes.php dan isikan seperti pada gambar di
bawah ini
Di mana hello adalah nama Class Controller yang akan kita gunakan. Jika sekarang kita
sudah membuat file hello.php maka akan tampil hasil seperti di bawah ini
Seperti kita ketahui bahwa cara umum pengiriman variabel dalam PHP dapat menggunakan
$_GET dan $_POST sehingga kita perlu penanganan khusus dalam penerimaan serta
pengiriman variabel tersebut.
1. Method $_POST
Metode ini merupakan penangkapan variabel dari media input yang ada pada FORM,
yang harus kita lakukan pada tahapan ini adalah:
a. Batasi jumlah karakter (maxlength)
Pembatasan jumlah karakter pada media input sangat penting sehingga tidak
dimungkinkan penulisan script pada area inputbox.
Contoh implementasi: <input type="text" name="_txtUsername"
id="_txtUsername" maxlength="50">
Titik rawan: input login, input search
b. Lapisi dengan penahan kutip (addslashes())
Fungsi ini akan membatu kita menambahkan tanda kutip (‘) pada setiap karakter
garis miring (/) sehingga dapat mencegah terjadinya SQL Injection. Penambahan
kutip akan membuat garis miring menjadi bertipe string sehingga tidak dianggap
sebagai salah satu perintah query SQL
Contoh implementasi: addslashes($_POST[‘username’]);
Titik rawan: Form Login
c. Lapisi dengan penahan tag (htmlspecialchars())
Untuk mencegah terjadinya javascript injection maka ada baiknya kita
menambahkan fungsi htmlspecialchars() tersebut. Hal ini akan membuat tag html
maupun javascript memiliki tipe data string sehingga tidak akan dieksekusi oleh
browser.
Contoh implementasi: : htmlspecialchars($_POST[‘pesan’]);
Titik rawan: Form Login. Form Kontak
2. Method $_GET
Metode ini merupakan penangkapan variabel dari URL, yang harus kita lakukan pada
tahapan ini adalah:
a. Penggunaan .htaccess
Sebenarnya ini merupakan metode yang menjadikan website kita seakan memiliki
struktur direktori yang luas, padahal ini merupakan suatu variabel. Sehingga dapat
memcah konsentrasi pengunjung yang berniat iseng. Bila halaman tidak ditemukan
maka kita dapat mengarahkannya atau mencirect ke halaman 404 kesayangan kita.
Implementasi:
RewriteEngine On
RewriteCond $1
!^(index\.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L]
$config['index_page'] = 'index.php';
$config['index_page'] = '';
Simpan dan sekarang coba akses pada web untuk mencoba apakah sudah berhasil
atau belum menghilangkan index pada codeigniter pada file controller hello.php
yang sudah pernah dibuat.
b. Hindari $_REQUEST()
Metode ini digunakan untuk menangkap variabel dari methode $_POST dan $_GET.
Ada saatnya kita menggunakan fungsi ini, namun ada baiknya kita melakukan
pembatasan penggunaannya. Karena tanpa kita sadari penggunaan fungsi ini akan
menjadi masalah di kemudian hari.
Gunakan timeout pada session atau cookies terutama untuk penanganan login. Session
merupakan penanda dari sisi server dan akan hilang jika browser kita tutup, sedangkan
cookies merupakan penanganan dari sisi browser dan jika tidak diset timeout maka status
akan terus login yang tentu saja ada kemungkinan-kemungkinan yang akan terjadi
selanjutnya.
Implementasi
$data = array(
'admin_id' => $a_data->kd_petugas,
'admin_user' => $a_data->username,
'admin_level' => $a_data->level,
'admin_nama' => $a_data->nm_petugas,
'admin_add' => $adding,
'admin_edit' => $edit,
'admin_delete' => $delete,
'admin_valid' => true
);
$this->session->set_userdata($data);
4.
Pada kesempatan ini kita hanya akan memiliki 3 (tiga) level pengguna dengan masing-masing hak
akses tergantung dari levelnya. Level yang kita siapkan yaitu Admin, Petugas, dan User. Setelah kita
membuat tabel petugas, selanjutnya isikan recordnya dengan script DML seperti di bawah ini
Untuk memulai penggunaan session maka kita membutuhkan beberapa library yang harus kita
aktifkan, yaitu library database dan juga library session serta memastikan bahwa helper url diaktifkan.
Berikut adalah cara untuk mengaktifkan library yang akan digunakan.
Aktifkan library database dan library session pada file autoload.php di lokasi
application/config/autoload.php
Ubah menjadi
$autoload['libraries']=array('database','session');
Ubah menjadi
$autoload['helper']=array('url');
Controller
kita buat controller dengan nama login.php dengan script seperti di bawah ini
$this->login_model->validasi_login();
redirect('layout');
}
}
View
kita buat seperti di bawah ini
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Pemrograman Web 2</title>
</head>
<body class="login-layout">
<div class="main-container">
<div class="main-content">
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<div class="login-container">
<div class="center">
<h1>
<i class="ace-icon fa
fa-leaf green"></i>
<span
class="red">Elematics</span>
<span class="white"
id="id-text2"></span>
</h1>
<h4 class="blue" id="id-
company-text"><?php echo "Web"; ?></h4>
</div>
<div class="space-6"></div>
<div class="position-relative">
<div id="login-box"
class="login-box visible widget-box no-border">
<div class="widget-
Login Aplikasi
</h4>
<div
class="space-6"></div>
<form
name="logForm" id="theform" data-parsley-validate action="<?php echo
base_url('login/validasi_login'); ?>" method="post">
<fieldset>
</span>
</label>
</span>
</label>
<div class="space"></div>
<div class="clearfix">
<span class="bigger-110">Login</span>
</div>
<div class="space-4"></div>
</fieldset>
</form>
<div
class="social-or-login center">
<div
class="space-6"></div>
<div
class="social-login center">
<a
class="btn btn-primary">
<a
class="btn btn-info">
<a
class="btn btn-danger">
</div><!-- /.widget-
body -->
</div><!-- /.login-box -->
</div><!-- /.position-relative -->
</div>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.main-content -->
</div><!-- /.main-container -->
<script src="___/js/jquery-1.11.3.min.js"></script>
<script src="___/js/bootstrap.js"></script>
</body>
</html>
if ($j_data === 1) {
if ($a_data->level == "Petugas") {
$adding = true; $edit = true; $delete = true;
}else if ($a_data->level == "User") {
$adding = true;
}
$data = array(
'admin_id' => $a_data->kd_petugas,
'admin_user' => $a_data->username,
'admin_level' => $a_data->level,
'admin_nama' => $a_data->nm_petugas,
'admin_add' => $adding,
'admin_edit' => $edit,
'admin_delete' => $delete,
'admin_valid' => true
);
$this->session->set_userdata($data);
echo json_encode(array('success'=>true,'msg'=>'Berhasil
login'));
} else {
echo json_encode(array('msg'=>'Username atau Password
salah!!'));
}
}
}
<b class="arrow"></b>
<ul class="submenu">
<?php if(($this->session->userdata('admin_level')=="Petugas") ||
($this->session->userdata('admin_level')=="User")){ ?>
<li class="">
<a href="<?php echo site_url('groupProduct');?>">
<i class="menu-icon fa fa-caret-right"></i>
Group Produk
</a>
<b class="arrow"></b>
</li>
<?php } ?>
<li class="">
<a href="<?php echo site_url('subGroupProduct');?>">
<i class="menu-icon fa fa-caret-right"></i>
Sub Group Produk
</a>
<b class="arrow"></b>
</li>
</ul>
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
Handling File
09
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Sebelum melakukan pembuatan handling file, sebaiknya kita persiapkan terlebih dahulu
menu Penanganan File pada folder views di file menu.php dengan menambahkan script
seperti di bawah ini
<li class="">
<a href="<?php echo
site_url('laporan');?>">
<i class="menu-icon
fa fa-caret-right"></i>
Laporan
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="<?php echo site_url('handlingFile');?>">
<i class="menu-icon fa fa-caret-right"></i>
Penanganan File
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-pencil-square-o"></i>
<span class="menu-text"> Menu 3 </span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
Pastikan arahan file kita sesuai dengan folder-folder file tersebut. Script yang harus kita
persiapkan seperti pada gambar di bawah ini dengan nama file handlingFile.php
<div class="col-
sm-3">
<input
type="file" name="uploadfiles[]" id="uploadfiles" multiple
class="btn btn-info upload">
</div>
</div>
<div class="form-
group">
<label
class="col-sm-7 control-label no-padding-right">
<button
class="btn btn-white btn-info btn-bold" id="btnSimpan"
name="btnSimpan" type="submit"><i class="ace-icon fa fa-floppy-o
bigger-120 blue"></i> Proses</button>
</label>
</div>
</form>
</div>
</script>
Keterangan:
$this->load->view('header');
$this->load->view('menu');
$this->load->view('handlingFile');
$this->load->view('footer');
}
for($i=0;$i<count($_FILES['uploadfiles']['name']);$i++) {
move_uploaded_file($_FILES["uploadfiles"]["tmp_name"][$i],
$path.'/'.$_FILES['uploadfiles']['name'][$i]);
}
redirect('handlingFile');
}
Keterangan:
Pada script $kodeKelompok = "A002"; ini merupakan asumsi bahwa file yang akan kita
upload tersimpan pada folder A002. Anggapannya ketika kita ingin menyimpan gambar
berdasarkan kode tertentu pada masing-masing record.
$path = 'images'; asumsi bahwa kita akan membut folder baru dengan nama folder
images
0777 untuk membuat hak akses pada folder dengan status Read Delete Update Add
Maka akan tampil script tersebut dengan gambar seperti di bawah ini
<div class="form-group">
<label class="col-sm-4 control-label no-padding-right">
File </label>
<div class="col-sm-3">
<input type="file" name="uploadfiles[]"
id="uploadfiles" multiple class="btn btn-info upload">
</div>
</div>
<div class="form-group">
<label class="col-sm-7 control-label no-padding-right">
</form>
</div>
<?php
?>
<img style="height:200px;" src="<?php echo $foto; ?>">
<?php
}
}
?>
</div>
</div>
</div>
</div>
</div>
</script>
Keterangan:
$kodeKelompok = "A002";
$data['gambar'] = $this->db->query("select gambar from tbl_gbr
where kode='$kodeKelompok'")->result();
json_encode($data);
$this->load->view('header');
$this->load->view('menu');
$this->load->view('handlingFile',$data);
$this->load->view('footer');
}
Buatlah tampilan gambar yang Kelompok Anda miliki pada tugas besar dalam website (Front
End) kelompok Anda
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
Grafik
10
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Sebelum melakukan pembuatan grafik, sebaiknya kita persiapkan terlebih dahulu menu
Contoh Grafik pada folder views di file menu.php dengan menambahkan script seperti di
bawah ini
<li class="">
<a href="<?php echo site_url('handlingFile');?>">
<i class="menu-icon fa fa-caret-right"></i>
Penanganan File
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="<?php echo site_url('mahasiswa');?>">
<i class="menu-icon fa fa-caret-right"></i>
Contoh Grafik
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-pencil-square-o"></i>
<span class="menu-text"> Menu 3 </span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
Sebelum melanjutkan proses scripting maka persiapkan terlebih dahulu grafik yang akan kita
gunakan, pada kesempatan ini kita akan menggunakan Fushion Chart dalam penanganan
grafiknya. Simpan file fc_colors_helper pada folder application/helpers dan selanjutnya copy
FushionCharts.php pada folder application/libraries.
Pastikan arahan file kita sesuai dengan folder-folder file tersebut. Script yang harus kita
persiapkan seperti pada gambar di bawah ini dengan nama file nama mahasiswa_chart_v.php
<div class="col-
sm-3">
<select
name="cmbTahun" id="cmbTahun"
onChange:function(record){cariTahun()}">
<?php
</select>
</div>
<div class="col-
sm-3">
<select
onChange="chart_onchange();" name="cmbChart" id="cmbChart">
</div>
</div>
<div class="form-
group">
<?PHP echo
$chart; ?>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<?PHP
class Mahasiswa extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->helper('url');
$this->load->helper('FC_Colors');
$this->load->model('mahasiswa_m');
if($this->uri->segment(3) == '')
$chartType = 'Column2D';
else
$chartType =$this->uri->segment(3);
$width = '600';
$height = '300';
$data = $this->mahasiswa_m-
>view_jenis_kelamin();
$strXML = "
<graph caption='".$caption."'
xAxisName='".$xAxisName."' yAxisName='".$yAxisName."'
decimalPrecision='".$decimalPrecision."'
formatNumberScale='".$formatNumberScale."'>
";
$a=0;
foreach ($data as $group) {
$color =
cari_warna("$a");
$strXML .= "<set
name='$group[jenis_kelamin]' value='$group[sex]' color='$color'
/>";
$a++;
}
$strXML .= "</graph>";
$data['tahun']=$this->mahasiswa_m->cariTahun();
<?PHP
class Mahasiswa_M extends CI_Model
{
public function view_all()
{
$sql = "select * from tbl_mahasiswa";
return $this->db->query($sql);
}
Buatlah tampilan grafik yang Kelompok Anda miliki pada tugas besar dalam Back End
kelompok Anda
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
AJAX
11
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Sebelum melakukan pembuatan latihan Ajax, sebaiknya kita persiapkan terlebih dahulu menu
Belajar Ajax pada folder views di file menu.php dengan menambahkan script seperti di
bawah ini
<li class="">
<a href="<?php echo site_url('mahasiswa');?>">
<i class="menu-icon fa fa-caret-right"></i>
Contoh Grafik
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="<?php echo site_url('ajax');?>">
<i class="menu-icon fa fa-caret-right"></i>
Belajar Ajax
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-pencil-square-o"></i>
<span class="menu-text"> Menu 3 </span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
Sebelum melanjutkan proses scripting maka persiapkan terlebih dahulu beberapa file seperti
di bawah ini
Pastikan arahan file kita sesuai dengan folder-folder file tersebut. Script yang harus kita
persiapkan seperti pada gambar di bawah ini dengan nama file nama ajax_view.php
<option value=""></option>
<?php
}
?>
</select>
</div>
</div>
<div class="form-
group">
<label
class="col-sm-7 control-label no-padding-right">
<button
class="btn btn-white btn-info btn-bold" id="btnSimpan"
name="btnSimpan" type="submit"><i class="ace-icon fa fa-floppy-o
bigger-120 blue"></i> Simpan</button>
<a
href="<?php echo base_url(); ?>subGroupProduct" target="_self"
class="btn btn-white btn-default btn-round" data-dismiss="modal"
aria-hidden="true"><i class="fa fa-minus-circle"></i> Tutup</a>
</label>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
Selanjutnya tambahkan script untuk proses ajax pada view dan letakan pada posisi paling bawah
dengan script seperti di bawah ini
<script type="text/javascript">
function cariSub(){
var id=document.getElementById('cmbGroup').value;
$.ajax({
url : "<?php echo base_url();?>ajax/get_sub_groupproduct",
method : "POST",
data : {id: id},
async : false,
dataType : 'json',
success: function(data){
var html = '';
var i;
html += '<option>-- Pilih --</option>';
for(i=0; i<data.length; i++){
html +=
'<option>'+data[i].sSub_Name+'</option>';
}
$('#cmbSubGroup').html(html);
i--;
document.getElementById('txtKodeProduk').value=data[i].sSub_Name;
}
});
}
</script>
function get_sub_groupproduct(){
$id=$this->input->post('id');
$data= $this->groupProduct_model->cariSubData($id);
echo json_encode($data);
}
Buatlah tampilan grafik yang Kelompok Anda miliki pada tugas besar dalam Back End
kelompok Anda
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
Konversi Data
12
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Sebelum melakukan pembuatan laporan, sebaiknya kita persiapkan terlebih dahulu menu
Laporan Group Produk pada folder views di file menu.php dengan menambahkan script
seperti di bawah ini
<li class="">
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-list"></i>
<span class="menu-text"> Menu 2 </span>
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
<ul class="submenu">
<li class="">
<a href="<?php echo
site_url('laporan');?>">
<i class="menu-
icon fa fa-caret-right"></i>
Laporan
</a>
<b class="arrow"></b>
</li>
<li class="">
<a href="#">
<i class="menu-icon fa fa-caret-right"></i>
Sub Menu 2.2
</a>
<b class="arrow"></b>
</li>
</ul>
</li>
Pastikan arahan file kita sesuai dengan folder-folder file tersebut. Script yang harus kita
persiapkan seperti pada gambar di bawah ini
<div class="form-group">
<label class="col-sm-7 control-
label no-padding-right">
<button class="btn btn-white
btn-info btn-bold" id="btnSimpan" name="btnSimpan"
type="submit"><i class="ace-icon fa fa-floppy-o bigger-120
blue"></i> Proses</button>
<a href="<?php echo
base_url(); ?>laporan" target="_self" class="btn btn-white btn-
default btn-round" data-dismiss="modal" aria-hidden="true"><i
class="fa fa-minus-circle"></i> Tutup</a>
</label>
</div>
//panggil class
$excel = new PHPExcel();
$excel->setActiveSheetIndex(0)->setCellValue('A1', "DATA
GROUP "); // Set kolom A1 dengan tulisan "DATA GROUP"
$excel->getActiveSheet()->mergeCells('A1:C1'); // Set Merge
Cell pada kolom A1 sampai C1
$excel->getActiveSheet()->getStyle('A1')->getFont()-
>setBold(TRUE); // Set bold kolom A1
$excel->getActiveSheet()->getStyle('A1')->getFont()-
>setSize(15); // Set font size 15 untuk kolom A1
// Set text center untuk kolom A1
$excel->getActiveSheet()->getStyle('A1')->getAlignment()-
>setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
Selanjutnya tambahkan function exportPdf pada controller laporan.php dengan script seperti di bawah
ini
$no++;
}
$pdf->Output();
}
Buatlah laporan dari studi kasus sebelumnya yang mengambil periode tanggal dan juga
pilihan menggunakan combobox
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
13
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Dennings memberi catatan khusus untuk bidang BioInformatik sebagai bidang baru yang merupakan
gabungan antara Ilmu Komputer dan Biologi, dan saat ini mengalami perkembangan yang cukup
signifikan.
Kemudian seiring dengan peningkatan ilmu dan teknologi, ada kemungkinan matriks ini akan
mengalami perbaikan lagi di kelak kemudian hari. Baris dalam matriks Denning ini menggambarkan
bidang-bidang dalam ilmu komputer. Sedangkan kolom pada matriks menggambarkan paradigma
bidang-bidang tersebut, yang direfleksikan dalam tiga hal: Teori (Theory), Abstraksi (Abstraction),
dan Desain (Design).
Teori: adalah berlandaskan pada pendekatan matematika, dimana untuk mendapatkan suatu teori yang
valid, harus melalui proses-proses sbb:
2018
Abstraksi: atau pemodelan (modeling), adalah berlandaskan pada metode eksperimen ilmiah, dimana
dalam melakukan invesitigasi terhadap suatu fenomena, harus melalui proses-proses sbb:
a hypothesis)
Desain: adalah berlandaskan pada pendekatann engineering (teknik), dimana pada saat mendesain
sebuah sistem atau device untuk memecahkan masalah, harus melalui prosesproses sebagai berikut:
melakukan desain dan implementasi sistem (design and implement the system)
Dari penjelasan diatas, bisa kita pahami bahwa yang bergerak dalam masalah penelitian ilmu
komputer akan banyak berhubungan dengan dua kolom pertama matriks (Teori dan Abstraksi).
Sedangkan yang bergerak dalam masalah yang lebih teknis dengan memakai pendekatan engineering,
Istilah ontology berasal dari Yunani ontos, untuk keberadaan, dan logos, untuk kata. Dalam filsafat,
ontology digunakan sebagai subbidang dari filsafat, yang mempelajari sifat alami dari keberadaan,
cabang dari metafisik yang berkaitan dengan identifikasi, atau secara umum, jenis-jenis benda yang
secara actual ada, dan bagaimana memaparkannya. Sebagai contoh, observasi yang dilakukan pada
objek tertentu yang mengelompokkan menjadi kelas kelas abstrak berdasarkan pada sifat-sifat
bersama merupakan komitmen ontology secara tipe.
Adabanyak definisi dari konsep ontology dalam AI dan dalam komputasi secara umum. Yang paling
banyak dikutip adalah :
“Ontologi adalah spesifikasi dari sebuah konseptualisasi” (Gru1993) Definisi adalah definisi yang
paling ringkas dan membutuhkan beberapa klarifikasi. Konseptualisasi berarti sebuah abstrak,
pandangan dari dunia yang disederhanakan. Jika sebuah basis pengetahuan dari sebuah sistem cerdas
harus merepresentasikan dunia untuk beberapa tujuan, maka basis pengetahuan itu harus melakukan
beberapa konseptualisasi. Setiap konseptualisasi didasarkan pada konsep-konsep, obyek-obyek, dan
entitas-entitas lain yang diasumsikan ada dalam beberapa area yang menarik dan hubungan yang
dipenuhi diantara mereka.
Spesifikasi berarti representasi secara formal dan deklaratif. Dalam struktur data yang
merepresentasikan sebuah ontology, tipe dari konsep yang digunakan dan batasan penggunaan
dinyatakan secara deklaratif, eksplisit dan menggunakan bahasa formal tertentu. Representasi formal
berimplikasi bahwa ontologi seharusnya dapat dibaca mesin. Namun demikian, ontologi tidaklah
aktif; ontologi tidak dapat dijalankan seperti program. Ontologi secara deklaratif merepresentasikan
beberapa pengetahuan untuk digunakan oleh program yang berbeda.
Ontology adalah himpunan istilah-istilah pengetahuan, termasuk kosa kata, interkoneksi semantik dan
beberapa kaidah inferensi dan logika untuk beberapa topik tertentu.
Bagian penting dari definisi Hendler adalah interkoneksi semantik dan inferensi dan logika.
Interkoneksi semantik berarti ontologi menspesifikasikan arti dari relas-relasi diantara konsep-konsep
yang digunakan. Hal ini juga dapat diinterpretasikan sebagai saran bahwa ontologi sendiri
diinterkoneksikan dengan baik; sebagai contoh, ontologi tangan dan lengan mungkin dibangun secara
logika, secara semantik dan secara formal terinterkoneksi.
Dalam dunia Semantic Web, definisi operasional ontologi dari W3C OWL Requirements Documents :
Ada beberapa aspek dari definisi ini yang perlu diklarifikasi. Yang pertama, definisi ini menyatakan
bahwa ontologi digunakan untuk memaparkan dan merepresentasikan sebuah area pengetahuan.
Dengan kata lain, ontologi adalah khusus pada suatu domain; ontology tidak untuk merepresentasikan
semua pengetahuan, tetapi sebuah area pengetahuan. Sebuah domain adalah penyederhanan area
subyek tertentu, seperti fotografi, medis, real estate, pendidikan dan lain-lain.
Kedua, ontology memuat istilah-istilah dan hubungan diantara istilah-istilah. Istilah-istilah sering
disebut kelas atau konsep;kata-kata ini dapat saling dipertukarkan. Hubungan diantara kelas-kelas
dapat diekspresikan dengan menggunakan struktur hirarki: kelas super merepresentasikan konsep
dengan level lebih tinggi dan subkelas merepresentasikan konsep yang lebih tajam, dan semua
subkelas mempunyai semua atribut dan fitur yang dimiliki konsep yang lebih tinggi.
Ketiga, disamping hubungan diantara kelas, ada tingkat hubungan yang diekspresikan dengan
menggunakan kelompok istilah tertentu : properti. Istilah properti ini memaparkan berbagai fitur dan
atribut dari konsep dan mereka juga dapat digunakan untuk mengasosiasikan kelas-kelas berbeda
menjadi bersama. Oleh karena itu, hubungan diantara kelas-kelas tidak hanya hubungan kelas super
dan subkelas, tetapi juga hubungan yang diekspresikan dalam bentuk properti.
Dengan mendefinisikan secara jelas istilah-istilah dan hubungan diantara mereka, sebuah ontologi
mengkodekan pengetahuan dari domain sedemikian rupa sehingga ontology dapat dimengerti oleh
sebuah komputer. Ini adalah tujuan dasar dari sebuah ontology.
Dalam dunia Semantic Web, ditemukan konsep yang lain : taksonomi. Taksonomi dan ontology
sering sekali digunakan secara bergantian; namun demikian, keduanya merupakan konsep yang
berbeda. Ontologi mendefinisikan tidak hanya kelas-kelas tetapi juga propertinya. Ontologi
selanjutnya mengindikasikan tipe dari harga properti yang dipunyai dan kelas apa yang berasosiasi.
Sebuah ontology terdiri dari sebuah daftar istilah terbatas dan hubungan diantara istilah-istilah
ini. Istilah menandakan pentingnya konsep (kelas dari objek) dari suatu domain. Sebagai contoh,
diperlihatkan hirarki klasifikasi Camera. Hubungan (relationship) mencakup hirarki dari kelas-kelas.
Sebuah hirarki menspesifikasikan sebuah kelas menjadi subkelas C‟ yang lain jika setiap objek dalam
C juga termasuk dalam C‟. Sebagai contoh, dalam sebuah hirarki untuk domain universitas, staff
akademik, staff administrasi dan staff teknisi termasuk dalam pegawai.
int)
mahasiswa sama dengan atau lebih dari 10 dan sama dengan atau kurang dari 40)
Bahasa Ontologi membolehkan pemakai untuk menulis secara eksplisit, mengkonseptualisasi secara
formal suatu domain model. Kebutuhan utama itu adalah :
-defined syntax)
Salah satu penggunaan semantic formal adalah untuk melakukan penalaran tentang pengetahuan.
Untuk pengetahuan ontology, dapat dilakukan penalaran tentang :
Keanggotaan Kelas (Class membership). Jika x adalah sebuah anggota dari kelas C, dan C adalah
subkelas dari D, maka dapat disimpulkan bahwa x adalah anggota dari D. Ekuivalensi dari kelas-
kelas. Jika kelas A ekuivalen dengan kelas B, dan kelas B ekuivalen dengan kelas C, maka A
ekuivalen dengan C.
Konsistensi. Anggap x dideklarasikan menjadi anggota dari kelas A dan A adalah subkelas dari B n C,
A adalah subkelas dari D, B dan D adalah kelas yang disjoin. Maka ada inkonsistensi karena
seharusnya A adalah kosong, tetapi mempunyai anggota x. Ini adalah sebuah kesalahan dalam
ontology.
Klasifikasi.Jika dideklarasikan bahwa pasangan harga-sifat tertentu adalah kondisi yang menyatakan
keanggotaan dalam sebuah kelas A, maka jika sebuah individu x memenuhi beberapa kondisi, maka
dapat disimpulkan bahwa x anggota dari A.
Semantik adalah prasyarat untuk melakukan bantuan penalaran. Bantuan penalaran penting karena
membolehkan seseorang untuk :
-kelas
-kelas
Kemudian Gruber memberikan definisi yang sering digunakan oleh beberapa orang, definisi tersebut
adalah “Ontology merupakan sebuah spesifikasi eksplisit dari konseptualisme”.
Berdasarkan definisi Gruber tersebut banyak orang yang mengemukakan definisi tentang ontology
diantaranya Guarino dan Giaretta yang pada tahun 1995 mengumpulkan hingga tujuh definisi yang
berkoresponden dengan syntactic dan semantic interprestasi. Sedangkan pada tahun 1997, Borst
melakukan penambahan dari definisi Gruber dengan mengatakan “Sebuah ontology adalah spesifikasi
formal dari sebuah konseptual yang diterima (share)”.
Kemudian oleh Studer mencoba mengemukakan definisi tentang ontology yang mengambil acuan dari
definisi yang dikemukakan oleh Gruber dan Borst, definisi tersebut adalah : “Konseptualisasi
mengacu kepada sebuah model abstrak dari beberapa fenomena di dunia dengan memiliki identifikasi
konsep yang relevan dari fenomena tersebut. Yang dimaksud dengan eksplisit adalah tipe dari konsep
yang digunakan, dan batasan dari eksplisit yang digunakan. Shared adalah merefleksikan bahwa
sebuah ontology mencoba menangkap pengetahuan secara konsensus yang tidak merupakan hal yang
hanya terkait pada individu tetapi diterima oleh sebuah group/domain”.
Barnaras pada proyek KACTUS memberikan definisi ontology yang berdasarkan pada pengembangan
ontology. Definisi yang diberikan adalah : “Sebuah ontology memberikan pengertian untuk
penjelasan secara eksplisit dari konsep terhadap representasi pengetahuan pada sebuah knowledge
base”. Proyek SENSUS juga memberikan definisi : “Sebuah ontology adalah sebuah struktur hirarki
dari istilah untuk menjelaskan sebuah domain yang dapat digunakan sebagai landasan untuk sebuah
knowledge base”.
Ada buku yang memberikan definisi tentang ontology, salah satunya adalah “The Semantic Web”,
definisi dari ontology adalah :
1. Salah satu cabang metafisika yang terfokus pada alam dan hubungan antara makhluk hidup;
2. Teori tentang sifat alami makhluk hidup. Ontology merupakan suatu teori tentang makna dari suatu
objek, property dari suatu objek, serta relasi objek tersebut yang mungkin terjadi pada suatu domain
pengetahuan.
Literature yang berisi tentang Artificial Intelligence banyak menjelaskan tentang definisi ontology,
banyak yang bertentangan satu dengan yang lainnya. Tetapi dapat diambil kesimpulan, ontology
adalah sebuah uraian formal yang menjelaskan tentang sebuah konsep dalam sebuah domain tertentu
(Classes, terkadang disebut concepts), properties dari masing-masing konsep menjelaskan bermacam-
macam corak dan atribut dari sebuah concept (Slots, terkadang disebut roles atau properties), dan
batasan-batasan (facets,terkadang disebut role restrictions). Sebuah ontology bersama dengan
beberapa set instances dari class membentuk sebuah knowledge base.
Secara umum, ontology digunakan pada Artificial Intelligence (AI) dan persentasi pengetahuan.
Segala bidang ilmu yang ada di dunia, dapat menggunakan metode ontology untuk dapat berhubungan
dan saling berkomunikasi dalam hal pertukaran informasi antara sistem-sistem yang berbeda.
Ontology menggunakan banyak variasi struktur, tergantung dari penggunaan bahasa ontology
termasuk sintaksis yang digunakan. Perlu diingat adalah ontology tidak melakukan apapun, fungsi
perhitungan dan lainnya yang memproses ontology tidak hanya tergantung dari data yang terdapat
dalam ontology tersebut, tetapi juga tergantung kepada aplikasi yang digunakan.
Ontology memilki beberapa komponen yang dapat menjelaskan ontology tersebut, diantaranya [14]:
• Konsep (Concept)
Digunakan dalam pemahaman yang luas. Sebuah konsep dapat sesuatu yang dikatakan, sehingga
dapat pula merupakan penjelasan dari tugas, fungsi, aksi, strategi, dan sebagainya. Concept juga
dikenal sebagai classes, object dan categories.
• Relasi (relation)
Merupakan representasi sebuah tipe dari interaksi antara konsep dari sebuah domain. Secara formal
dapat didefinisikan sebagai subset dari sebuah produk dari n set, R:C1 x C2 x…xCn. Sebagai contoh
dari relasi binary termasuk subclass-of dan connected-to.
•Aksiom(axioms)
Digunakan untuk memodelkan sebuah sentence yang selalu benar.
• Instances
Digunakan untuk merepresentasikan elemen.
Untuk dapat digunakan, sebuah ontology harus diekspresikan dalam notasi yang nyata. Sebuah bahasa
ontology adalah sebuah bahasa formal dari sebuah pengembangan ontology. Beberapa komponen
yang menjadi struktur ontology, antara lain:
• XML Schema
Bahasa untuk pembatasan struktur dari dokumen XML.
• RDF Schema
Adalah kosakata untuk menjelaskan properties dan classes dari sumber RDF, dengan sebuah
semantics untuk hirarki penyamarataan dari properties dan classes.
Berbagai bahasa yang menyusun ontology, seperti yang telah dijelaskan di atas memiliki kedudukan
tertentu dalam struktur ontology. Setiap layer akan memiliki fungsi tambahan dan kompleksitas
Extensible Markup Language (XML) adalah sebuah format teks yang sederhana yang berdasarkan
SGML(ISO 8879), yang didesain untuk mempertemukan berbagai macam sumber informasi dalam
dunia web.
Bagian yang selanjutnya adalah elemen-elemen yang menyusun dokumen XML tersebut. Setiap
elemen tersebut memiliki tags penutup. Tags dalam XML memperhatikan penggunakaan huruf atau
dalam arti Case Sensitive. Dalam dokumen XML setiap elemen harus tersusun dengan benar. Dalam
arti setiap elemen harus benar-benar terkurung.
Sebuah dokumen XML harus memiliki elemen utama. Sedangkan setiap nilai atribut dari elemen
tersebut harus menggunakan tanda kutip dua (“ ”).
Berikut ini adalah contoh sintak XML yang sederhana :
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
Pengembangan Projek
14
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Buatlah projek masing-masing dengan ketentuan sebagai berikut
Buat menjadi delapan kelompok dengan ketentuan masing-masing kelompok membuat dari sisi back-
end dan juga front-end.
Gunakan template yang diberikan selama pembelajaran yaitu menggunakan Ace-Master untuk back-
end, dan gunakan tempalte lain untuk front-end sesuai dengan tema masing-masing.
Sehingga tampilan yang dihasilkan akan nampak pada beberapa gambar-gambar berikut ini
B. Tampilan Awal
b. Form
b. Form
b. Form
G. Penanganan File
Daftar Pustaka
2019 Pemrograman Web 2 Pusat Bahan Ajar dan eLearning
9 Wawan Gunawan, S.Kom., M.T. http://www.mercubuana.ac.id
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.
Pemrograman Web 2
15
Fakultas Ilmu Teknik Informatika W151700013 Wawan Gunawan, S.Kom., M.T.
Komputer
Abstract Kompetensi
Membuat halaman HTML sederhana Mahasiswa mampu membuat halaman
sederhana dengan berbagai macam tag
Pembahasan
Buatlah projek masing-masing dengan ketentuan sebagai berikut
Buat menjadi delapan kelompok dengan ketentuan masing-masing kelompok membuat dari sisi back-
end dan juga front-end.
Gunakan template yang diberikan selama pembelajaran yaitu menggunakan Ace-Master untuk back-
end, dan gunakan tempalte lain untuk front-end sesuai dengan tema masing-masing.
Sehingga tampilan yang dihasilkan akan nampak pada beberapa gambar-gambar berikut ini untuk
Front-End
C. Tampilan Gambar
a. Galery
D. Terdapat Contact
a. Alamat dan Nara hubung
E. Terdapat Laporan
G. Kumpulan Berita
Bahra. 2005. Analisis dan Desain Sistem Informasi. Tangerang: Graha Ilmu.
Hermawan, Benny . 2005. Menguasai Java 2 & Object Oriented Programming. Yogyakarta:
Andi Yogyakarta.
Hakim, Rachmad dan Sutarto . 2009. Konsep Pemrograman Java dan Penerapannya untuk
Membuat Software Aplikasi. Jakarta: Elex Media Komputindo.
Jogiyanto. 2005. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan
Praktek Aplikasi Bisnis. Yogyakarta: Andi Yogyakarta.