Menu Tab

KOMPAS.com - Edukasi

Tampilkan postingan dengan label Web PHP. Tampilkan semua postingan
Tampilkan postingan dengan label Web PHP. Tampilkan semua postingan

Rabu, 19 Agustus 2009

Teknik Mencari Weton

Teknik Mencari Weton:


Di sini kita Akan mencari Hari dan Weton tanggal hari kemerdekaan Negara Republik Indonesia adalah 17 Agustus 1945.



  1. Mencari Hari:

    1. Cari angka pada antara Tahun dan Bulan Angka Agustus 1945 maka hasilnya adalah 3 (baris ke-27, kolom ke-8 pada bulan).

    2. Jumlahkan dengan tanggal yang akan di cari dengan hasil dari point 1 yaitu 17+3=20.

    3. Setelah itu cari angka pada total di point 2 pada maka akan ketemu hari Jum'at .



  2. Mencari Weton:

    1. Cari angka pada antara Tahun dan Bulan Angka Agustus 1945 maka hasilnya adalah 4 (baris ke-2, kolom ke-8 pada bulan).

    2. Jumlahkan tanggal yang di cari dengan hasil dari point 1 yaitu 17+4 = 21.

    3. Setelah itu cari angka pada total di point 2 pada maka akan ketemu Legi.




Maka tanggal 17 Agustus 1945 pada Hari Jum'at Legi.




Tabel 1



















































































































TAHUNJANFEBMARAPRMEIJUNJULAGTSEPOKTNOVDES
18901918194619742002203020582086211421422170255136140250
18911919194719752003203120592087211521432171366240251361
18921920194819762004203220602088211621442172401462403513
18931921194919772005203320612089211721452173622503514624
18941922195019782006203420622090211821462174033614625035
18951923195119792007203520632091211921472175144025036146
18961924195219802008203620642092212021482176256240251361
18971925195319812009203720652093212121492177400351362402
18981926195419822010203820662094212221502178511462403513
18991927195519832011203920672095212321512179622503514624
19001928195619842012204020682096212421522180034025036146
19011929195719852013204120692097212521532181255136140250
19021930195819862014204220702098212621542182366240251361
19031931195919872015204320712099212721552183400351362402
19041932196019882016204420722100212821562184512503514624
19051933196119892017204520732101212921572185033614625035
19061934196219902018204620742102213021582186144025036146
19071935196319912019204720752103213121592187255136140250
19081936196419922020204820762104213221602188360351352402
19091937196519932021204920772105213321612189511462403513
19101938196619942022205020782106213421622190622503514624
19111939196719952023205120792107213521632191033614625035
19121940196819962024205220802108213621642192145136140250
19131941196919972025205320812109213721652193366240251361
19141942197019982026205420822110213821662194400351362402
19151943197119992027205520832111213921672195511462403513
19161944197220002028205620842112214021682196623614625035
19171945197320012029205720852113214121692197144025036146

Tabel 2






























HARINILAI
Minggu1815222936
Senin2916233037
Selasa310172431-
Rabu411182531-
Kamis512192633-
Jum'at613202734-
Sabtu714212835-

Tabel 3





















































































TAHUNJANFEBMARAPRMEIJUNJULAGTSEPOKTNOVDES
18841904192419441964198420042024204420642084121223340011
18851905192519451965198520052025204520652085231223340011
18861906192619461966198620062026204620662086231223340011
18871907192719471967198720072027204720672087231223340011
18881908192819481968198820082028204820682088232334401122
18891909192919491969198920092029204920692089342334401122
18901910193019501970199020102030205020702090342334401122
18911911193119511971199120112031205120712091342334401122
18921912193219521972199220122032205220722092343440012233
18931913193319531973199320132033205320732093403440012233
18941914193419541974199420142034205420742094403440012233
18951915193519551975199520152035205520752095403440012233
18961916193619561976199620162036205620762096404001123344
18971917193719571977199720172037205720772097014001123344
18981918193819581978199820182038205820782098014001123344
18991919193919591979199920192039205920792099014001123344
19001920194019601980200020202040206020802100010112234400
19011921194119611981200120212041206120812101120112234400
19021922194219621982200220222042206220822102120112234400
19031923194319631983200320232043206320832103120112234400

Tabel 4























PASARANNILAI
Legi161116212631
Pahing271217222732
Pon381318232833
Wage491419242934
Kliwon5101520253035


Daftar Pustaka:

A., Sunoto P., Primbon Lengkap dan Tafsir Mimpi, Jakarta: Galaxy Press.

Kamis, 13 Agustus 2009

Tugas individu kelas XI A/B 2009

Buatkan program pencari weton dengan menggunakan PHP PRADO dikumpulkan tanggal 20-08-2009 via e-mail k gurusmkbima@yahoo.co.id file project bisa d kompress (zip/rar) tanpa folder framework.

Rabu, 12 Agustus 2009

Tugas Kelompok Kelas XIA/B

Buatkan sebuah rangkuman yang di dalamnya terdapat beberapa bagian antara lain:

1. Apache Server.
2. MySQL Server.
3. PHP.
4. PHP Framework.
5. XHTML.
6. CSS.

Di kirimkan dalam bentuk dokument word (.doc) atau dalam bentuk open office document paling lambat tanggal 20 Agustus 2009 jam 08:00 PM BBWI dikirimkan ke e-mail gurusmkbima@yahoo.co.id dengan susunan sebagai berikut:

1. Halaman depan Logo SMK BIMA Bojonegoro dengan diikuti nomer induk siswa dan nama kelompoknya.
2. Halaman berikut berisi tentang ringkasan artikel yang akan dibuat yang memuat 6 point di atas.

3. Halaman terakhir memuat tentang daftar pustaka. Adapun format daftar pustaka adalah sebagai berikut:

Rujukan dan Daftar Pustaka 


Kutipan Langsung
Contoh:
Soebronto (1990:123) menyimpulkan “ada hubungan yang erat antara faktor sosial ekonomi dengan kemajuan belajar” 
Atau: kesimpulan dari penelitian tersebut adalah “ada hubungan yang erat antara faktor sosial ekonomi dengan kemajuan elajar”(Soebronto, 1990:123)

Kutipan Tidak Langsung
Merupakan kutipan yang dikemukakan bahasa penulis sendiri tanpa tanda kuitp.
Contoh :
- Salimin (1990:13) tidak menduga bahwa mahasiswa tahun ketiga lebih baik daripada mahasiswa tahun keempat.
- Mahasiswa tahun ketiga ternyata lebih baik daripada mahasiswa tahun keempat (Salimin, 1990:13)

Rujukan dari Buku
- Strunk, W., Jr. & White, E.B. 1979. The Elements of Style (3rd ed). New York: Macmillan.
- Dekker, N. 1992. Pancasila sebagai Ideologi Bangsa: Dari Pilihan Satu-satunya ke Satu-satunya Azas. Malang: FPIPS IKIP MALANG.

Jika Pengarang dan Tahun sama
Maka penulisan dilakukan dengan, pada tahun ikuti dengan lambang a,b,c serta mengurutkan abjad Judul. Contoh
- Cornet, L. & Weeks, K. 1985a, Career Ladder Plans: Trends and Emerging Issues-1985. Atlanta, GA:Career Ladder Clearinghouse.
- Cornet, L. & Weeks, K. 1985b, Planning Career Ladders: Lesson from the States.Atlanta, GA:Career Ladder Clearinghouse.

 
Rujukan dari Buku Kumpulan Artikel (Ada Editornya)
Seperti menulis rujukan pada buku ditambah tulisan (Ed.) Jika ada satu editor dan (Eds.) jika Editor lebih dari satu, diantara nama pengarang dan tahun terbitan.
- Hartley, J.T., Harker, J.O. & Walsh, D.A. 1980. Contemporary Issues and New Directions in Adult Development of Learning and Memory. Dalam L.W. Poon (ed.), Aging in the 1980s: Physchological Issues (hlm. 239-252). Washington, D.C.: American Psychological Association.
- Hasan, M.Z., 1990. Karakteristik Penelitian Kualitatif. Dalam Aminuddin (Ed.), Pengembanganan Penelitian Kualitatif dalam Bidang Bahasa dan Sastra (hlm. 12-25). Malang:HISKI Komisariat Malang dan YA3.

Rujukan dari Artikel dalam Jurnal
Keterangan:
- Judul: Huruf Tegak
- Nama Jurnal: Huruf Miring
- Tahun ke berapa, Nomor berapa (dalam kurung), Nomor Halaman dari artikel tsb. Contoh:
Hanafi, A. 1989. Partisipasi dalam Siaran Pedesaan dan Pengadopsian Inovasi. Forum Penelitian, I (1):33-47

Rujukan dari Koran Tanpa Penulis
Nama Koran ditulis di bagian awal. Tahun, Tanggal, dan bulan ditulis setelah nama koran, kemudian judul ditulis dengan huruf besar-kecil dicetak miring dan diikuti dengan nomor halman. Contoh:
- Jawa Pos. 1995, 22 April. Wanita Kelas Bawah Lebih mandiri. Hlm. 3

Rujukan dari Dokumen Resmi Pemerintah
- Diterbitkan oleh Suatu Penerbit Tanpa Pengarang dan Tanpa Lembaga.
- Judul atau nama dokumen ditulis di bagian awal dengan cetak miring, diikuti tahun penerbitan dokumen, kota penerbit dan nama penerbit. Contoh:
Undang-Undang Republik Indonesia Nomor 2 Tahun 1989 tentang Sistem Pendidikan Nasional. 1990. Jakarta: Diperbanyak oleh PT. Armas Duta Jaya.

Rujukan dari Lembaga yang ditulis atas nama Lembaga tsb
Nama Lembaga penanggung jawab langsung ditulis paling depan, diikuti dengan tahun, judul karangan, nam tempat penerbitan, dan nama lembaga tertinggi yang bertanggung jawab atas penerbitan karangan tersebut, contoh:
- Pusat Pembinaan dan Pengembangan Bahasa.1978. Pedoman Penulisan Laporan Penelitian. Jakarta:Departmen Pendidikan dan Kebudayaan.

Rujukan berupa Karya Terjemahan
Nama pengarang asli ditulis paling depan, diikuti tahun penerbitan karya asli, judul terjemahan, nama penerjemah, tahun terjemahan, nama tempat penerbitan dan nama penerbit terjemahan. Apabila tahun penerbitan buku asli tidak dicantumkan, ditulis dengan kata Tanpa Tahun. Contoh:
- Ary, D., Jacobs, L.C. & Razavieh, A. Tanpa tahun. Pengantar Penelitian Pendiidkan. Terjemahan oleh Arief Furchan. 1982. Surabaya: Usaha Nasional.

Rujukan Berupa Skripsi, Tesis atau Disertasi
Nama penyusun ditulis paling depan, diikuti tahun yang tercantum pada sampul judul skripsi, tesis atau disertasi ditulis dengan garis bawah diikuti dengan pernyataan skripsi, tesis atau disertasi tidak diterbitkan, nama kota tempat perguruan tinggi, dan nam fakultas serta nama perguruan tinggi, Contoh:
- Panggaribuan, T. 1992. Perkembangan Kompetensi Kewacanaan Pembelajar Bahasa Inggris di LPTK. Disertasi tidak diterbitkan. Malang: Program Pascasarjana IKIP MALANG.

Rujukan Berupa makalah
- Makalah biasanya disajikan dlm Seminar, Lokakarya dll.
- Nama Penulis ditulis paling depan, tahun. Judul makalah ditulis dengan cetak miring, kemudian diikuti pernyataan “Makalah disajikan dalam..”, nama pertemuan, lembaga penyelenggara, tempat penyelenggaraan, tanggal, bulan. Contoh:
- Huda, N. 1991. Penulisan Laporan Penelitian untuk Jurnal. Makalah disajikan dalam Lokakarya Penelitian Tingkat Dasar bagi Dosen PTN dan PTS di Malang Angkatan XIV, Pusat Penelitian IKIP MALANG, Malang, 12 Juli.
- Karim, Z. 1987. Tatakota di Negara-negara Berkembang. Makalah disajikan dalam Seminar Tatakota, BAPPEDA Jawa Timur, Surabaya, 1-2 September.

Rujukan dari Internet berupa Karya Individual
Nama penulis ditulis seperti rujukan dari bahan cetak, diikuti tahun, judul karya tsb (dicetak miring) dengan diberi keterangan dalam kurung (online), dan diakhiri dengan alamat sumber rujukan tersebut disertai dengan keterangan kapan diakses, diantara tada kurung. Contoh:
- Hitchcock, S., Carr, L. & Hall, W. 1996. A Survey of STM Online Journals, 1990-1995: The Calm before the Storm, (Online), 
 (http://journal.ecs.sofon.ac.uk/survey/survey.html, diakses 12 Juni 1996).

Rujukan dari Internet berupa Artikel dari Jurnal
Nama penulis, diikuti secara berturut-turut tahun, judul artikel, nam jurnal (dicetak miring) dg diberi keterangan dalam kurung (online volume dan nomor, dan diakhiri dg almat sumber rujukan tersebut dengan keterangn kapan diakses, diantara tanda kurung. Contoh:
- Griffith, A.I. 1995. Coordinating Family and School: Mothering for Schooling. Education Policy Analysis Archives, (Online), Vol. 3, No. 1, 
(http://olam.ed.asu.edu/epaa/, diakses 12 Februari 1997).
- Kumaidi. 1998. Pengukuran Bekal Awal Belajar dan Pengembangan Tesnya. Jurnal Ilmu Pendidikan, (online), Jilid 5, No. 4,  
(http://www.malang.ac.id, diakses 20 Januari 2000.

Rujukan dari Internet berupa Bahan Diskusi
Nama penulis ditulis seperti rujukan dari bahan cetak, diikuti tanggal, bulan, tahun, topik bahan diskusi, nama bahan diskusi (dicetak miring) dengan diberi keterangan dalam kurung (online), dan diakhiri dengan alamat e-mail sumber rujukan tersebut disertai dengan keterangan kapan diakses, diantara tanda kurung. Contoh:
- Wilson, D. 20 November 1995. Summary of C ting Internet Sites. NETTRAON Discusion List, (online), (NETTRAIN@ubvm.cc.buffalc.edu, diakses 22 Nopember 1995).

Rujukan dari Internet berupa E-mail Pribadi
Nama Pengirim (jika ada) dan disertai keterangan dalam kurung (alamat e-mail pengirim), diikuti secara berturut-turut oleh tanggal, bulan, tahun, topik isi bahan (dicetak miring), nama yang dikirimi disertai keterangan dalam kurung (alamat e-mail yang dikirim). Contoh:
- Davis, A. (a.davis@uwts.edu.au). 10 Juni 1996. Learning to Use Web Authoring Tols. E-mail kepada Alison Hunter (huntera@usq.edu.au).
- Naga, Dali S. (ikip-jkt@indo.net.id). 1 Oktober 1997. Artikel untuk JIP. E-mail kepada Ali Saukah (jippsi@mlg.ywcn.or.id).


Demikian harap diperhatikan apabila terjadi kesamaan antar kelompok dalam menyadur atau meringkas maka kelompok yang sama tidak akan mendapatkan nilai.

Senin, 10 Agustus 2009

Daftar Konsultasi Kelas XII

Berikut ini adalah jadwal kelompok:

Hari Waktu Kelompok
Selasa 02:30-03:30 PM 1
03:30-04:30 PM 3
Rabu 02:30-03:30 PM 2
03:30-04:30 PM 4
Kamis 02:30-03:30 PM 5

Untuk dapat mengikuti ujian minimal konsultasi sebanyak 15 kali.

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.

SQL Statement & MySQL

Pada modul sebelumnya kita telah membahas tentang sistem koneksi database PRADO ke dalam database. Pada kesempatan ini kita akan belajar terlebih dahulu tentang beberapa pengunaan SQL Statement pada MySQL dimana disini kita akan belajar secara langsung pada studi kasusnya. Untuk awal kali yang diperlukan adalah membuat database dengan cara sebagai berikut:



  1. Kita jalankan server database kita MySQL dengan menjalankan "C:\Program Files\xampp\mysql_start.bat", setelah itu akan muncul data seperti berikut ini:






Diese Eingabeforderung nicht waehrend des Running beenden


Please dont close Window while MySQL is running


MySQL is trying to start


Please wait  ...


MySQL is starting with mysql\bin\my.cnf (console)


090415  9:15:41  InnoDB: Started; log sequence number 0 2949741


090415  9:15:41 [Note] Event Scheduler: Loaded 0 events


090415  9:15:41 [Note] mysql\bin\mysqld: ready for connections.


Version: '5.1.30-community'  socket: ''  port: 3306  MySQL Community Server (GPL)





  1. Setelah itu kita akan melakukan login ke database melalui DOS secara default dengan cara seperti berikut:






C:\Program Files\xampp\mysql\bin>mysql -u root -h localhost


Welcome to the MySQL monitor.  Commands end with ; or \g.


Your MySQL connection id is 1


Server version: 5.1.30-community MySQL Community Server (GPL)


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql>





  1. Setelah itu kita akan menggunakan DDL Statement untuk membuat database dengan perintah seperti berikut:






mysql> create database modul9;


Query OK, 1 row affected (0.03 sec)


mysql> show databases;


+--------------------+


| Database           |


+--------------------+


| information_schema |


| modul9             |


| mysql              |


| phpmyadmin         |


| test               |


| webauth            |


+--------------------+


6 rows in set (0.23 sec)


mysql>





  1. Setelah database terbentuk maka kita akan masuk ke dalam database tersebut untuk membuat sebuah table adapun perintahnya adalah sebagai berikut:






mysql> use modul9;


Database changed


mysql>





  1. Setelah  muncul “database changed” maka kita telah siap untuk membuat table, sebagai panduan kita akan membuat table sebagai berikut:









Maka scriptnya DDL untuk create table adalah sebagai berikut:


mysql> create table tblrole(


-> kd_role int(2) auto_increment,


-> nama_role varchar(25) not null,


-> return_url varchar(50) not null,


-> constraint pk_modul9_tblrole_kdRole PRIMARY KEY(kd_role)


-> )engine=innodb;


Query OK, 0 rows affected (0.20 sec)


mysql> create table tbllogin(


-> user_login varchar(6) not null,


-> password_login varchar(50) not null,


-> kd_role int(2),


-> constraint pk_modul9_tbllogin_userLogin PRIMARY KEY(user_login),


-> constraint fk_modul9_tbllogin_kdRole FOREIGN KEY(kd_role) references tblrole(kd_role)


-> )engine=innodb;


Query OK, 0 rows affected (0.13 sec)


mysql> show tables;


+------------------+


| Tables_in_modul9 |


+------------------+


| tbllogin         |


| tblrole          |


+------------------+


2 rows in set (0.00 sec)





  1. Untuk melihat struktur table yang telah kita buat dapat mengunakan script SQL berikut:






mysql> desc tblrole;


+------------+-------------+------+-----+---------+----------------+


| Field      | Type        | Null | Key | Default | Extra          |


+------------+-------------+------+-----+---------+----------------+


| kd_role    | int(2)      | NO   | PRI | NULL    | auto_increment |


| nama_role  | varchar(25) | NO   |     | NULL    |                |


| return_url | varchar(50) | NO   |     | NULL    |                |


+------------+-------------+------+-----+---------+----------------+


3 rows in set (0.03 sec)


mysql> desc tbllogin;


+----------------+-------------+------+-----+---------+-------+


| Field          | Type        | Null | Key | Default | Extra |


+----------------+-------------+------+-----+---------+-------+


| user_login     | varchar(6)  | NO   | PRI | NULL    |       |


| password_login | varchar(50) | NO   |     | NULL    |       |


| kd_role        | int(2)      | YES  | MUL | NULL    |       |


+----------------+-------------+------+-----+---------+-------+


3 rows in set (0.00 sec)





  1. Setelah itu kita akan melakukan pengisian table dengan mengunakan Statement DML adalah sebagai berikut:






mysql> insert into tblrole values(null, upper('admin'), 'admin.Index');


Query OK, 1 row affected (0.05 sec)





  1. Setelah itu kita akan menampilkan data table dengan mengunakan:






mysql> select * from tblrole;


+---------+-----------+-------------+


| kd_role | nama_role | return_url  |


+---------+-----------+-------------+


|       1 | ADMIN     | admin.Index |


+---------+-----------+-------------+


1 row in set (0.00 sec)





  1. Setelah itu kita melakukan insert data pada table tbllogin sebagai berikut:






mysql> insert into tbllogin values('admin', des_encrypt('123456'), 1);


Query OK, 1 row affected (0.08 sec)


mysql> select * from tbllogin;


+------------+----------------+---------+


| user_login | password_login | kd_role |


+------------+----------------+---------+


| admin      | ?rw§Ñ^,Eo      |       1 |


+------------+----------------+---------+


1 row in set (0.00 sec)



Setelah kita belajar beberapa hal tentang SQL Statement pada MySQL berarti kita telah siap untuk membuat aplikasi login yang akan dibahas pada modul berikutnya.

Rabu, 01 April 2009

Nilai UTS Kelas XI


No Absensi Nama Nilai

1 26 Tri M. 52,5

2 15 Himawan R. 50

3 8 Deni R. N. 45

4 18 M. Faktur R. 45

5 3 Aditya K.P. 42,5

6 6 Bagus S. 42,5

7 9 Deniar A.S. 42,5

8 4 Ady B. 40

9 5 Arin N.L. 40

10 7 Data U. 40

11 19 Mundayani M.N 40

12 21 Oki V. Y. 40

13 22 Siti S. B. 40

14 14 Heni M. 37,5

15 23 Taufik 37,5

16 24 Tiara A. 37,5

17 25 Traliasari 37,5

18 27 Wasi L.K. 37,5

19 12 Dwi R.A. 35

20 13 Evilia S. 35

21 28 Winda S. N. 35

22 29 Yohanes E.A. 35

23 1 Achmad F.S. 32,5

24 2 Ade Y 32,5

25 16 Jaswito 32,5

26 20 Novitasari 32,5

27 10 Dessy N.I.H. 30

28 17 Karyati 30

29 11 Dian P.S. 20

Rata-Rata 37,84

Minggu, 22 Maret 2009

UTS - Kelas XI

Untuk UTS Web kelas XI Materi mulai dari modul 1-8, bentuk soal pilihan ganda dan terdapat 2 soal Kode A &  B.

Untuk materi modul bisa di download d http://gurusmkbima.blogspot.com/2009/02/download-modul-kelas-xi-dalam-pdf.html dalam format PDF yang terkompres (zip).

Untuk bentuk tampilan modul latihan file bisa dilihat secara online sebagai berikut:

  1. http://www.adisetiawan.co.nr/smkbima/modul3
  2. http://www.adisetiawan.co.nr/smkbima/modul4
  3. http://www.adisetiawan.co.nr/smkbima/modul6

Sementara untuk tampilan tugas bisa dilihat secara online pada:

  1. http://www.adisetiawan.co.nr/smkbima/tugas1
  2. http://www.adisetiawan.co.nr/smkbima/tugas2

Perlu diperhatikan komposisi nilai untuk kelas XI dapat di akses di http://gurusmkbima.blogspot.com/2009/02/kriteria-penilai-kelas-xi.html perlu diperhatikan untuk ke lulusan minimal nilai adalah 7 jika kurang dari itu siswa dinyatakan tidak naik kelas. Sehingga perlu di perhatikan komposisi nilai yang dapat membuat Anda lulus pada point mana jika nilai UTS/UAS tidak dapat mencapai nilai 100.