Menu Tab

KOMPAS.com - Edukasi

Jumat, 31 Juli 2009

Daftar Nilai Praktikum Session 1

Kelas XI A


















































































































































































ABSENSINAMAPRAKTIKUM 1Keterangan
1Achmad Boby Nurgito55Rata-Rata
2Adit Prasetyo Utomo70Cukup
3Areta Lionita55Rata-Rata
4Astaq Prica Muhammad71,67Cukup
5Aswin Dhuri58,33Rata-Rata
6Bowo Pribadi58,33Rata-Rata
7Donny Eka P.76,67Cukup
8Febi Dwi Wijayanti58,33Rata-Rata
9Hendra Joko Pianto70Cukup
10Ida Royani60Rata-Rata
11Iim Anggreany Yunianigsih70Cukup
12Ika Dwi Presetya56,67Rata-Rata
13Inggil Satriya Bhaskara73,33Cukup
14Joehan Syabell P.70Cukup
15Kholifa Miftaqul J.0Dibawah Rata-Rata
16Krisdayanti73,33Cukup
17Lina Munzayanah60Rata-Rata
18M. Syaiful Rizal76,67Cukup
19Mei Lia Kusuma N.0Dibawah Rata-Rata
20Muhammad Yudha A.0Dibawah Rata-Rata
21Nugraheni Ayu Wulandari0Dibawah Rata-Rata
22Raynaldhi alif Mahesa0Dibawah Rata-Rata
23Resti Novia T.0Dibawah Rata-Rata
24Sugik Apriliatno0Dibawah Rata-Rata
25Teguh Bowo Trilaksono0Dibawah Rata-Rata
26Wisnu Ecky Yudha P.0Dibawah Rata-Rata
27Nova Andreani0Dibawah Rata-Rata
Rata-Rata41,23


Untuk nomer absen 19-27 akan di menyusul jam praktikumnya pada penggumuman.

Kelas XI B
























































































































































































ABSENSINAMAPRAKTIKUM 1Keterangan
1Ahmad Rofiq75Cukup
2Aditya Bagus Sanjaya56,67Dibawah Rata-Rata
3Andik Asmoro Prianggono0Dibawah Rata-Rata
4Andrianus81,67Baik
5Aris Syahrony75Cukup
6Debby Yolanda Tiara Putri71,67Cukup
7Firmansyah61,67Dibawah Rata-Rata
8Franky A.78,33Cukup
9Gita Dio Sanjaya0Dibawah Rata-Rata
10Guruh Tri Nugroho73,33Cukup
11Iis Windhi Yudi Astuti73,33Cukup
12Ita Purweni Agustina70Cukup
13Katherina Jenny B.P.63,33Dibawah Rata-Rata
14M. Muhtarul Umam78,33Cukup
15Mohammad Anton Galih W.81,67Baik
16Munawarotul Munti'ah73,33Cukup
17Nur efenti81,67Baik
18Olifia Febri A.73,33Cukup
19Reni Harista70Cukup
20Riky Renata Putra63,33Dibawah Rata-Rata
21Safitri Aulia R.78,33Cukup
22Samsudin A.B.L.60Dibawah Rata-Rata
23Sukisno81,67Baik
24Tarsono73,33Cukup
25Teguh Setiawan66,67Rata-Rata
26Tiara Pristi W.56,67Dibawah Rata-Rata
27Ucik Rahmawati56,67Dibawah Rata-Rata
28Yogi Indra Kusuma76,67Cukup
Rata-Rata66,13

Kelas XII






























































































































































































ABSENSINAMAPRAKTIKUM 1Keterangan
1Achmad Firman Syakhrony62,33Rata-Rata
2Ade Yuniartha47,67Dibawah Rata-Rata
3Aditya Kurnia Putra85Baik
4Ady Baktiar62,67Rata-Rata
5Arin Nawang L.47,67Dibawah Rata-Rata
6Bagus Suharto85Baik
7Data Unggul65Rata-Rata
8Deni Rahayu Ningsih55Dibawah Rata-Rata
9Deniar Agus S65Rata-Rata
10Dessy Nur Izza Hasni80Baik
11Dian Purnama Sari82,67Baik
12Dwi Riko Arianto55Dibawah Rata-Rata
13Evilia Saputri70Cukup
14Heni Mariyati55Dibawah Rata-Rata
15Himawan Rizal55Dibawah Rata-Rata
16Jaswito50Dibawah Rata-Rata
17Karyati45,67Dibawah Rata-Rata
18Mochamad Faktur Rozi62,67Rata-Rata
19Mundayani Mita Ningtyas57,67Dibawah Rata-Rata
20Novitasari54Dibawah Rata-Rata
21Oki Vera Yuliana50Dibawah Rata-Rata
22Siti Sri Budiyanti46,67Dibawah Rata-Rata
23Taufik0Dibawah Rata-Rata
24Tiara Andriani46,67Dibawah Rata-Rata
25Traliasari65Rata-Rata
26Tri Mariyani46,67Dibawah Rata-Rata
27Wasi Latul Khotija55Dibawah Rata-Rata
28Winda Setia Nugraha57,67Dibawah Rata-Rata
29Yohanes Eko Ardianto70Cukup
Rata-Rata57,96

Minggu, 19 Juli 2009

Materipelajaran kelas XI n XII

Berdasarkan data dari BNSP bahwa kelas XI dapat mendownload materinya mulai saat ini, sedangkan utk kelas XII mulai modul 10 sampai data d tambahkan hal ini untuk mengatasi ujian praktek BNSP yang di perkirakan akan mengandung materi web lebih banyak meski banyak yang lari ke jsp tapi peluang untuk belajar secepat itu tidak bisa di atasi maka kita fokuskan ke PHP sambil mengantisipasi dunia kerja.

Sabtu, 13 Juni 2009

DAFTAR PESERTA REMIDI PRODUKTIF (PHP) TERTULIS KELAS ഈ PART 1




























































































































NO

NAMA PESERTA/SISWA

1

Achmad Firman Syakhrony

2

Ade Yuniartha

3

Aditya Kurnia Putra

4

Ady Baktiar

5

Arin Nawang L.

6

Bagus Suharto

7

Data Unggul

8

Deni Rahayu Ningsih

9

Deniar Agus S

10

Dessy Nur Izza Hasni

11

Dian Purnama Sari

12

Dwi Riko Arianto

13

Evilia Saputri

14

Heni Mariyati

15

Himawan Rizal

16

Jaswito

17

Karyati

18

Mochamad Faktur Rozi

19

Mundayani Mita Ningtyas

20

Novitasari

21

Oki Vera Yuliana

22

Siti Sri Budiyanti

23

Taufik

24

Tiara Andriani

25

Traliasari

26

Tri Mariyani

27

Wasi Latul Khotija

28

Winda Setia Nugraha

29

Yohanes Eko Ardianto


Ujian remidi akan dilakukan pada hari Selasa 16 Juni 2009 setelah jam ujian UAS. Untuk siswa yang tercetak tebal dan miring akan menjalani test remidi khusus akan di lakukan hari Senin 15 Juni 2009 setelah jam ujian UAS. Materi remidi hanya logika angka sederhana yang dikembangkan oleh Wayne Gould.

Bojonegoro, 15 Juni 2009

ttd.

Yohan Adi Setiawan.

Kamis, 11 Juni 2009

Nilai UAS 2009 Kelas XI - Produktif (PHP)



























































































































































NO NAMA PESERTA/SISWA NILAI
1 Achmad Firman Syakhrony 31
2 Ade Yuniartha 31
3 Aditya Kurnia Putra 50
4 Ady Baktiar 43
5 Arin Nawang L. 41
6 Bagus Suharto 58
7 Data Unggul 43
8 Deni Rahayu Ningsih 40
9 Deniar Agus S 38
10 Dessy Nur Izza Hasni 48
11 Dian Purnama Sari 47
12 Dwi Riko Arianto 38
13 Evilia Saputri 53
14 Heni Mariyati 31
15 Himawan Rizal 40
16 Jaswito 47
17 Karyati 34
18 Mochamad Faktur Rozi 41
19 Mundayani Mita Ningtyas 43
20 Novitasari 35
21 Oki Vera Yuliana 43
22 Siti Sri Budiyanti 26
23 Taufik 42
24 Tiara Andriani 28
25 Traliasari 40
26 Tri Mariyani 26
27 Wasi Latul Khotija 35
28 Winda Setia Nugraha 48
29 Yohanes Eko Ardianto 43


Nilai ini masih belum nilai final tergantung dari Tugas Kelompok dan Individu paling akhir hari Jum'at Jam 9:00 PM via e-mail di attachment di gurusmkbima@yahoo.co.id untuk Siswa yang remidi akan di umumkan paling cepat hari Senin setalah penilaian dari hasil Tugas.

Selasa, 26 Mei 2009

Download Modul Kelas XI dalam ‌PDF (2)

Berikut ini adlah dokument untuk mendownload dokument materi dalam bentuk PDF
1. Modul 9
2. Modul 10
3. Modul 11

Untuk modul 1-8 bisa d akses d sini

DAO (Insert, Update, & Delete)

Pada modul sebelumnya kita telah belajar cara menampilkan data dengan menggunakan DAO, di sini kita akan membuat aplikasi kelanjutan yaitu proses insert, update, dan delete pada DAO. Sebelum memulai kita akan merubah sedikit konfigurasi dari file ‘application.xml’ kita yang ada pada modul 10 menjadi berikut:


<?xml version="1.0" encoding="utf-8"?>

<application id="modul11" mode="Debug">

<paths>

<using namespace="System.Web.*" />

<using namespace="System.Web.UI.*" />

<using namespace="System.Data.*" />

</paths>

<modules>

<module id="myDB" class="TDataSourceConfig">

<database ConnectionString="mysql:host=localhost;dbname=modul9" Username="root" Password="" />

</module>

</modules>

<services>

<!-- page service -->

<service id="page" class="TPageService" BasePath="Application.App_Page" DefaultPage="Index" />

</services>

</application>

Dimana sistem parameter kita rubah menjadi sistem module tanpak pada kode di atas, setelah itu kita akan membuat tampilan pada Index.page maka kode programnya adalah sebagai berikut:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Modul 11</title>

</head>

<body>

<com:TForm ID="mod11">

<h1>DAO Insert, Update, Delete</h1>

<hr />

<h3>Insert</h3>

<table width="75%" border="0">

<tr>

<td>Username</td>

</tr>

<tr>

<td><com:TTextBox ID="txtUser" MaxLength="6" /></td>

</tr>

<tr>

<td>Password</td>

</tr>

<tr>

<td><com:TTextBox ID="txtPass" TextMode="Password" MaxLength="6" /></td>

</tr>

<tr>

<td>Role</td>

</tr>

<tr>

<td><com:TDropDownList ID="ddlRole" PromptText="-- Role --" PromptValue="0" SelectedIndex="0" DataTextField="nama_role" DataValueField="kd_role" /></td>

</tr>

<tr>

<td><com:TButton ID="btnSave" Text="Save" OnClick="btnSave_OnClick" /></td>

</tr>

</table>

<hr />

<h3>Update, Delete</h3>

<com:TDataGrid ID="dgView"

AutoGenerateColumns="false"

AllowPaging="true"

PageSize="10"

DataKeyField="Username"

HeaderStyle.BackColor="black"

HeaderStyle.ForeColor="white"

ItemStyle.BackColor="#BFCFFF"

ItemStyle.Font.Italic="true"

AlternatingItemStyle.BackColor="#E6ECFF"

OnPageIndexChanged="dgView_OnPageIndexChanged"

OnItemCreated="dgView_OnItemCreatedCommand"

OnCancelCommand="dgView_OnCancelCommand"

OnDeleteCommand="dgView_OnDeleteCommand"

OnEditCommand="dgView_OnEditCommand"

OnUpdateCommand="dgView_OnUpdateCommand"

>

<com:TLiteralColumn

ID="colUsername"

HeaderText="Username"

HeaderStyle.Wrap="false"

DataField="Username" />

<com:TBoundColumn

ID="colPassword"

HeaderText="Password"

HeaderStyle.Wrap="false"

DataField="Password" />

<com:TDropDownListColumn

ID="colRole"

HeaderText="Role"

HeaderStyle.Wrap="false"

DataTextField="Role"

ListValueField="kdRole"

ListTextField="namaRole"

ListDataSource="<%=$this->LoadListGrid%>"

/>

<com:TEditCommandColumn

ID="colUpdate"

HeaderText="Perbaharui"

HeaderStyle.Wrap="false"

UpdateText="Save" />

<com:TButtonColumn

ID="colDelete"

HeaderText="Delete"

ItemStyle.HorizontalAlign="Center"

ItemStyle.Font.Italic="false"

Text="Delete"

CommandName="delete" />

</com:TDataGrid>

</com:TForm>

</body>

</html>

Tampak pada warna biru merupakan tampilan untuk program Insert kita sedangkan pada warna hijau untuk update dan delete dengan menggunakan sistem Data Grid yang merupakan kontrol dari PRADO yaitu TDataGrid.

Setelah itu kita akan memulai dari pengkodean dari tampilan yang kita buat untuk melakukan Insert atau penyimpanan ke table yang ada pada table kita event pada “btnSave_OnClick” adapun kode programnya adalah sebagai berikut:

public function btnSave_OnClick($sender, $param){

try {

$sql = "INSERT INTO tblLogin VALUES(:userLogin, DES_ENCRYPT(:passwordLogin), :kdRole)";

// protected from hacking by using PRADO Component

// TPropertyValue::ensureXXX

$userLogin = TPropertyValue::ensureString($this->txtUser->Text);

$passLogin = TPropertyValue::ensureString($this->txtPass->Text);

$kdRole = TPropertyValue::ensureInteger($this->ddlRole->SelectedValue);

$conn = $this->Application->Modules['myDB']->Database;

$conn->Active = true;

$command = $conn->createCommand($sql);

// created bindParameter ref. from PDO at PHP Manual

// protected again from hacking

// read: http://www.php.net/manual/en/function.PDOStatement-bindParam.php

$command->bindParameter(":userLogin", $userLogin, PDO::PARAM_STR);

$command->bindParameter(":passwordLogin", $passLogin, PDO::PARAM_STR);

$command->bindParameter(":kdRole", $kdRole, PDO::PARAM_INT);

$command->execute();

$conn->Active = false;

// refresh data grid

$this->doLoadGrid();

}

catch(Exception $e){

throw new TConfigurationException($e);

}

}

private function doListRole(){

try {

$conn = $this->Application->Modules['myDB']->Database;

$conn->Active = true;

$sql = "SELECT * FROM tblRole";

$dr = $conn->createCommand($sql)->query();

$this->ddlRole->DataSource = $dr;

$this->ddlRole->dataBind();

$conn->Active = false;

}

catch(Exception $e){

throw new TConfigurationException($e);

}

}

Proses penyimpanan data ke dalam tabel telah selesai untuk menghindari kesalahan maka kode baris ” $this->doLoadGrid();” dapat kita remark sementara. Setelah itu kita akan membuat kode program untuk melihat tampilan ke dalam TDataGrid yang berfungsi untuk Edit dan Delete dengan menambahkan kode berikut:


public function OnLoad($param){

parent::OnLoad($param);



if(!$this->IsPostBack){

$this->doListRole();

$this->doLoadGrid();

}

}

private function doLoadGrid(){

try {

$this->dgView->DataSource = $this->loadData();

$this->dgView->dataBind();

}

catch(Exception $e){

throw new TConfigurationException($e);

}

}

private function loadData(){

try {

$conn = $this->Application->Modules['myDB']->Database;

$conn->Active = true;

$sql = "SELECT l.user_login, DES_DECRYPT(l.password_login) AS password_login, r.nama_role ";

$sql .= "FROM tblLogin l, tblRole r ";

$sql .= "WHERE l.kd_role = r.kd_role";

$dr = $conn->createCommand($sql)->query();

$i = 0;

foreach($dr as $key){

$array[$i] = array('Username'=>$key['user_login'], 'Password'=>$key['password_login'], 'Role'=>$key['nama_role']);

$i++;

}

$conn->Active = false;

return $array;

}

catch(Exception $e){

throw new TConfigurationException($e);

}

}

Di dalam menampilkan data ke dalam TDataGrid kita menggunakan Array yang terdapat pada function ”loadData()”, sedangkan untuk menampilkan data pada TDataGrid kita menggunakan function ”doLoadDataGrid()”. Hal yang cukup diperhatikan disini adanya fungsi ”TDropDownListColumn” berguna untuk menampilkan DropDownList ketika kita akan melakukan edit data, untuk membuat data kontrol dari TDropDownListColumn maka kita menggunakan kode program berikut:

public function getLoadListGrid(){

try {

$sql = "SELECT * FROM tblRole";

$conn = $this->Application->Modules['myDB']->Database;

$conn->Active = true;

$dr = $conn->createCommand($sql)->query();

$list = new TList;

foreach($dr as $key){

$list->add(array('kdRole'=>$key["kd_role"], 'namaRole'=>$key['nama_role']));

}

$conn->Active = false;

return $list;

}

catch(Exception $e){

throw new TConfigurationException($e);

}

}

Di sini kita menggunakan kontrol TList untuk menampung data ke dalam event TDropDownList dimana ini sesuai dengan petunjuk yang terdapat dalam PRADO dokument. Setelah itu kita akan menambahkan kode pada TDataGrid untuk memberikan message box jika kita akan melakukan penghapusan data dengan menambahkan kode program berikut:

public function dgView_OnItemCreatedCommand($sender, $param){

$item = $param->Item;

if($item->ItemType === 'EditItem'){

$item->colPassword->TextBox->TextMode = 'Password';

}

if($item->ItemType==='Item' || $item->ItemType==='AlternatingItem' || $item->ItemType==='EditItem'){

$item->colDelete->Button->Attributes->onclick='if(!confirm(\'Apakah Anda yakin akan menghapusnya?\')) return false;';

}

}

Setelah itu kita melakukan penaganan untuk melakukan edit data dengan menambahkan kode program berikut:



public function dgView_OnEditCommand($sender, $param){

$this->dgView->EditItemIndex = $param->Item->ItemIndex;

$this->doLoadGrid();

}


Ketika kita menekan tombol edit maka akan tampak gambar pada samping maka di sini kita akan melakukan penaganan kode program yang terdiri ”save” dan ”cancel”, maka kita akan membuat kode program tersebut:

Untuk menagani tombol ”Save” berarti di sini user akan melakukan update data:

public function dgView_OnUpdateCommand($sender, $param){

$item = $param->Item;

$this->updateLogin(

$this->dgView->DataKeys[$item->ItemIndex],

$item->colPassword->TextBox->Text,

$item->colRole->DropDownList->SelectedValue

);

$this->dgView->EditItemIndex = -1;

$this->doLoadGrid();

}

private function updateLogin($_username, $_password, $_role){

$trans = NULL;

try {

$_username = TPropertyValue::ensureString($_username);

$_password = TPropertyValue::ensureString($_password);

$_role = TPropertyValue::ensureInteger($_role);

$sql = "UPDATE tblLogin ";

if($_password != NULL){

$sql .= "SET password_login=DES_ENCRYPT('".$_password."'), kd_role=".$_role;

} else {

$sql .= "SET kd_role=".$_role;

}

$sql .= " WHERE user_login='".$_username."'";


$conn = $this->Application->Modules['myDB']->Database;

$conn->Active = true;

$trans = $conn->beginTransaction();

$command = $conn->createCommand($sql);

$command->execute();

$trans->commit();

$conn->Active = false;

}

catch(Exception $e){

$trans->rollBack();

throw new TConfigurationException($e);

}

}

Di dalam proses Update kita menggunakan sistem transaction yang berfungsi untuk menagani jika dalam proses update ada kesalahan maka perintah query yang kita jalankan bisa kita lakukan pembatalan (rollback) namun jika sukses maka kita menyimpannya (commit). Jika user melakukan pembatalan dengan menekan ”Cancel” maka kode programnya adalah

public function dgView_OnCancelCommand($sender, $param){

$this->dgView->EditItemIndex = -1;

$this->doLoadGrid();

}

Setelah itu kita akan membuat event untuk penghapusan data adapun kode programnya adalah sebagai berikut:



public function dgView_OnDeleteCommand($sender, $param){

$item = $param->Item;

$this->deleteLogin($this->dgView->DataKeys[$item->ItemIndex]);

$this->dgView->EditItemIndex = -1;

$this->doLoadGrid();

}

private function deleteLogin($_username){

$trans = NULL;

try {

$_username = TPropertyValue::ensureString($_username);

$sql = "DELETE FROM tblLogin ";

$sql .= " WHERE user_login='".$_username."'";

$conn = $this->Application->Modules['myDB']->Database;

$conn->Active = true;

$trans = $conn->beginTransaction();

$command = $conn->createCommand($sql);

$command->execute();

$trans->commit();

$conn->Active = false;

}

catch(Exception $e){

$trans->rollBack();

throw new TConfigurationException($e);

}

}


Setelah semua proses selesai ada satu listing program yang harus kita tambahkan yang berfungsi untuk membuat pagging atau batas data yang akan kita buat adapun kode programnya adalah sebagai berikut:

public function dgView_OnPageIndexChanged($sender, $param){

$this->dgView->CurrentPageIndex = $param->NewPageIndex;

$this->doLoadGrid();

}

Kita telah belajar tentang penggunaan Insert, Update dan Delete pada PRADO dengan mengunakan DAO jika kita perhatikan begitu mudahnya membuat aplikasi dengan mengunakan PRADO. Berikut adalah tampilan program secara keselurahan



Tampilan Hasil Akhir Program

Jumat, 08 Mei 2009

Tugas 4 (Perorangan)

Buat aplikasi seperti pada gambar dibawah ini:


Jawaban di tunggu via e-mail dengan ketentuan sebagai berikut:

  • Pengiriman via e-mail ke gurusmkbima@yahoo.co.id paling lambat kahir bulan Mei 2009.
  • Subject e-mail di tulis dengan format Tugas 4-P-(Nomer Siswa).

Data Access Object pada PRADO

Setelah kita mempelajari tentang SQL Statement pada MySQL sekarang kita akan belajar tentang Data Access Object (DAO) pada PRADO. Perlu diperhatikan didalam penggunaan koneksi database dalam PRADO selalu mengunakan PHP Data Objects (PDO) sehinga kita harus memastikan bahwa modul PDO telah aktif dalam Server kita dengan mengceknya terlebih dahulu. Jika PDO telah terinstall maka akan tampak tampilan pada gambar 10.1 sebagai berikut:



Gambar 10.1  Konfigurasi PDO Aktif

Seperti tampak pada gambar 10.1 bahwa PDO telah diaktif, untuk mengetahui konfigurasinya dengan mengakses http://localhost:8081/xampp/phpinfo.php pada browser Anda. Di mana PDO pada server penulis dapat menangani database berjenis MS SQL, MySQL, dan SQLite 2.

Setelah PDO aktif sekarang waktunya kita mengkonfigurasi aplikasi kita dengan melakukannya pada file “application.xml”, untuk menghubungkan database dengan PDO pada ADO kita dapat menggunakan beberapa parameter koneksi yaitu:

  1. MySQL: mysql:host=ALAMAT_SERVER_DB;dbname=NAMA_DB

  2. SQLite: sqlite:/path/tod/dbfile

  3. ODBC: odbc:NAMA_ODBC


Setelah kita mengetahui parameter koneksi kini saatnya kita membuat parameter dalam “application.xml” yang kita letakkan setelah “<services>”, adapun codenya adalah sebagai berikut:

<parameters>

<parameter id="myDSN" value="mysql:host=localhost;dbname=modul9" />

<parameter id="myUser" value="root" />

<parameter id="myPass" value="" />

</parameters>

Kemudian jangan lupa untuk melakukan include/import class TParameterModule pada path kita dengan menuliskan “System.Util.ParameterModule” serta tidak lupa untuk memasukkan kelas untuk mengakses database “System.Data.*”, adapun data “application.xml” secara lengkap tampak pada listing berikut:

<?xml version="1.0" encoding="utf-8"?>

<application id="modul10" mode="Debug">

<paths>

<using namespace="System.Web.*" />  

<using namespace="System.Web.UI.*" />

<using namespace="System.Data.*" />

<using namespace="System.Util.TParameterModule" />

</paths>

<modules />

<services>

<service id="page" class="TPageService" BasePath="Application.App_Page" DefaultPage="Index" />                                             

</services> 

<parameters>

<parameter id="myDSN" value="mysql:host=localhost;dbname=modul9" />

<parameter id="myUser" value="root" />

<parameter id="myPass" value="" />

</parameters>

</application>

Disini kita mengunakan database yang telah kita buat pada Modul 9 sebelumnya. Sehinga program kita nanti dapat berkomunikasi dengan database yang telah kita buat sebelumnya. Setelah itu kita akan membuat UI pada ”Index.page” adapun source codenya adalah sebagai berikut:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Modul 10</title>

</head>

<body>

<com:TForm ID="mod10">

<h1>Menampilkan data Login</h1>

<com:TDataGrid ID="dgView" AutoGenerateColumns="false" AllowPaging="true" DataKeyField="user_login" HeaderStyle.BackColor="black" HeaderStyle.ForeColor="white" ItemStyle.BackColor="#BFCFFF" ItemStyle.Font.Italic="true" AlternatingItemStyle.BackColor="#E6ECFF">

<com:TBoundColumn HeaderText="Username" HeaderStyle.Wrap="false" DataField="user_login" />

<com:TBoundColumn HeaderText="Password" HeaderStyle.Wrap="false" DataField="password_login" />

<com:TBoundColumn HeaderText="Kode Role" HeaderStyle.Wrap="false" DataField="kd_role" />

</com:TDataGrid>

</com:TForm>

</body>

</html>


Sedangkan untuk logic controlnya yaitu ”Index.php” adalah sebagai berikut:

<?php

class Index extends TPage {

 private $_conn; 

 public function OnLoad($param){

  parent::OnLoad($param);

  try {

   $this->_conn = new TDbConnection($this->Application->Parameters['myDSN'],

    $this->Application->Parameters['myUser'],

    $this->Application->Parameters['myPass']);

   $this->_conn->Active = true;



   $sql = "SELECT * FROM tblLogin";

   $dr = $this->_conn->createCommand($sql)->query();

   $rows = $dr->readAll();



   if(!$this->Page->IsPostBack){

    $this->dgView->DataSource = $rows;

    $this->dgView->dataBind();

   }

  }

  catch(Exception $e){

   die($e);

  }

 }



 public function __destruct(){

  $this->_conn->Active = false;

 }

}

?>


Disini fungsi OnLoad($param) dalam Visual Basic sama dengan Form_Load sehinga proses datagrid pada TDataGrid dapat kita diproses pada awal proses dimana ada perintah !$this->Page->IsPostBack untuk menghandle pemrosesan hanya dilakukan pada awal kali proses jika halaman mengalami refresh maka tidak akan dilakukan penulisan ulang, untuk function __ destruct() merupakan function dari PHP 5 (Chapter 59. General Information, PHP Manual) yang berfungsi untuk menutup koneksi database. Adapun hasil dari program kita tampak pada gambar 10.2



Gambar 10.2  Hasil dari tampilan program

Dimana hasil diatas bisa kita modifikasi sesuai keinginan kita di dalam mengembangkan aplikasinya. Untuk modul berikuntya kita akan belajar insert, update, dan delete dengan ADO.

Rabu, 15 April 2009

Tugas 3 (Kelompok)

Buatlah paper tentang pembuatan database dan tabel dengan menggunakan phpMyAdmin dengan menggunakan SQL dan desain adapun struktur tabelnya adalah sebagai berikut:

Tugas di kumpulkan dalam format sebagai berikut:

  1. Diketik dalam format Microsoft Word atau dalam bentuk PDF.
  2. Ukuran font sebesar 12 dan paragraph sebesar 1.5
  3. Dituliskan nama-nama kelompok yang tercantum pada halaman berikut http://gurusmkbima.blogspot.com/2009/02/daftar-kelompok-kelas-xi-2009.html
  4. Pengiriman via e-mail ke gurusmkbima@yahoo.co.id paling lambat kahir bulan april 2009.
  5. Subject e-mail di tulis dengan format Tugas 3-K-(Nomer kelompok).

Mengingat nilai waktu UTS kurang bagus maka harap mengerjakan Tugas 1-3 untuk menambah nilai.

Kuis-1

Kuis dikumpulkan ke Bu-Novi/TU terakhir pada tanggal 25 April 2009. Adapun kuisnya adalah sebagai berikut:

1. Sebutkan SQL Statement yang termasuk DDL & DML?

2. Sebutkan dan jelaskan parameter pada koneksi database mysql?

3. Apakah perbedaan pengunaan database bertip MyISAM dan InnoDB?

4. Sebutkan sistem enksripsi data pada mysql yang dapat digunakan dalam mengamankan data field tabel kita.

5. Buatkan query untuk pada data berikut ini:

  a. tampilkan nama_role dan return_url pada tabel yang ada pada modul 9.

  b. tampilkan password_login dalam bentuk tidak terenkripsi.