Home » , , » Pemrograman web dasar II

Pemrograman web dasar II

Posted by Kamar Pekick on Sunday, 18 March 2018

::   ADO Objek Model


Dalam membuat suatu halaman web belum lengkap rasanya jika kita tidak dapat berinteraksi secara dinamis dengan web yang kita kunjungi, salah satu nilai tambah dari ASP adalah kita dapat membuat script yang kita buat diintegrasikan dengan suatu Database, misalnya Microsoft Access.Visual Foxpro, atau Microsoft SQL Server.

ActiveX Data Object (ADO) adalah komponen yang memungkinkan aplikasi client untuk mengakses dan memanipulasi data pada web server. Identitas program ADO adalah ADODB.
Seperti objek-objek laiinya ADO juga memiliki koleksi, properti dan metode, diantaranya adalah ADO objek Model, Objek Command, Objek Connection, Objek Error, Objek Field, Objek Parameter, Objek Property, Objek Recordset, Metode AddNew, Append, metode delete, metode execute, Properti AbsolutePage, Absoluteposition, dll.

>> ODBC

Untuk dapat mengakses sumber daya OLE DB, langkah pertama yang harus dilakukan adalah memberitahukan kepada ADO dimana diletakan file sumber database tersebut.


Conection string yang digunakan berbeda-beda tergantung pada sumber data Database yang kita buat.

       Sumber data Microsoft Access menggunakan OLE Dbnya = Provider=Microsoft.Jet.OLEDB.4.4;Data Source= letak file.mdb

       Microsoft SQL Server = Provider = SQLOLEDB.1;Data Source = letak database server

       Oracle = Provider = MSDAORA.1;Data Source = letak database pada server

       Microsoft Indexing service = Provider=MSIDXS.1;Data Source = letak file


Contohnya ;

<%

Set cnn = Server.CreateObject(“ADODB.Connection”) Cnn.open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents\data.mdb
%>

note : penulisan connection string harus dilakukan dalam satu baris.


Dengan menggunakan ODBC kita akan dapat lebih banyak mendapatkan driver database namun koneksi akan lebih ribet dibandingkan dengan cara OLE DB. Pada setiap versi Windows ODBC dapat diakses di Control Panel.

Perhatikan pada bagian atasnya terdapat beberapa tab, diantaranya ;

User DSN : jika digunakan maka user maka hanya komputer tersebut saja yang dapat mengkasesnya

System DSN : semua komputer yang memiliki jaringan yang sama maka dapat mengakes sumber data,

File DSN : akan memberikan akses multi user terhadap sumber data, serta dapat di transfer dari satiu server ke server lainnya.

Contoh script System DSN adalah ; <%

set nama objek = Server.CreateObject(“ADODB.Connection”) Nama objek.open “nama sumber data”

%>


Sedangkan script File DSN adalah ;


<%

Set namaobjek = Server.CreateObject(“AdoDB.Connection”) Namaobjek.open “FILTERDSN=namafile.dsn

%>



>> Koneksi Tanpa DSN

Sebernarnya ada trik yng sangat gampang agar kita tidak perlu mengkoneksikan script yang kita buat dengan database, dengan demikian akan memudahkan pada waktu akan mengupload ke Internet. Memang Microsoft pernah sesmubar bahwa dengan menggunakan DSN maka proses akan lebih cepat. Namun belakangan ini banyak di milis-milis dari para programmer ASP yang mengatakan bahwa bugs ‘Too Many Client Tasks’ salah satunya terjadi karena koneksi ke database menggunakan DSN dimana terjadi pada saat koneksi bersamaan banayk user. Kebanyakan sistem DSN less disarankan digunakan untuk koneksi dengan Access.

Perbedaan utama antara System DSN dengan DSN less adalah pada penyebutan nama database secara langsung pada DSN-less beserta driver yang digunakan, sementara pada koneksi DSN, nama database telah diwakili oleh nama dari DSN yang dibuat pada menu ODBC.

Contoh script perbedaanya ;

String Koneksi

StrKoneksi = “DRIVER={Microsoft Access Driver (*.mdb}; “ StrKoneksi = StrKoneksi & “DBQ=” & Server.Mappath (“namadatabase.mdb”)

String Koneksi DSN-less

<%

Set DBConnection = Server.CreateObject(“adodb.connection”) StrKoneksi = “DRIVER={Microsoft Access Driver (*.mdb}; ” StrKoneksi = StrKoneksi & “DBQ=” DB Connection.Open StrKoneksi

%>


>> Buku Tamu

<HTML>

<HEAD>
<TITLE> Selamat Datang </TITLE> </HEAD>

<BODY>

<CENTER>
<font face="Impact" size="7" color="#0000FF">Welcome in Deris Stiawan<br>Official Sites</font><BR><CENTER>

<p align="center"><i><font face="Trebuchet MS" size="4"> Please...give me some critics or opinion about my sites <A HREF="guest.asp"><b>click here</b><br>

<A HREF="List.asp">Click here to see another visitors</font></i></p>

<p align="center"></p>

</BODY>

</HTML>



selanjutnya kita buat script dan simpan dengan nama ‘guest.asp

Latihan 4.2

<HTML>

<HEAD>
<TITLE> Buku Tamu </TITLE> <SCRIPT LANGUAGE=VBScript> <!--

Sub btnSubmit_OnClick  Dim ojbForm

Set objForm = Document.frmGuest If objForm.txtNama.value = "" or objForm.txtEmail.value = "" Then

MsgBox "Anda belum mengisikan nama Anda" & chr(13) & "atau alamat email Anda"
Else
objForm.submit End If
End Sub -->

</SCRIPT>

</HEAD>

<BODY>

<CENTER>
<FONT FACE="Impact" Size=7 COLOR=#0000FF> Buku Tamu </FONT>

</CENTER>

<FORM NAME="frmGuest" ACTION="terimakasih.asp" METHOD="post">

<TABLE ALIGN=Center width="380"> <TR>

<TD>
<PRE>
Nama : <INPUT TYPE=Text NAME=txtNama> <BR> Email : <INPUT TYPE=Text NAME=txtEmail> <BR> </TD>

</TR>
<TR>
<TD>

<PRE>

Komentar:
<TEXTAREA NAME=txtarComent ROWS=9 COLS=43> </TEXTAREA> </TD>
</TR>
<TR>
<TD>

<INPUT TYPE=Button VALUE=Submit NAME=btnSubmit>

<INPUT TYPE=Reset>

</TD>

</TR>
</TABLE>
</FORM>
</BODY>
</HTML>


Pada saat halaman ‘guest.asp’ diisi oleh pengunjung dan teks tadi akan disimpan kedalam sebuah database (Access) berilah nama ‘BukuTamu.mdb’. Kita buat dulu table dalam database access. Adapun struktur tabelnya adalah ;

Field
Tipe Data
Keterangan
Indeks
Autonumber
Kunci primer
Tanggal
Date time
-
Nama
Text
Panjang 30
Email
Text
30
Komentar
Memo
-



Buatlah halaman untuk memperlihatkan pengunjung yang pernah mengisi buku tamu kita dan simpan dengan nama terimakasih.asp. Seperti pada tampilan 4.3

Latihan 4.3

<%  Option Explicit %>

<HTML>

<HEAD>

<TITLE> Buku Tamu </TITLE> </HEAD>

<BODY>

<!--#Include File="adovbs.inc"-->

<CENTER>

<FONT FACE=Impact SIZE=7 COLOR=#0000FF> GuestBook List</FONT><FONT FACE=Verdana SIZE=5 COLOR=#f7efde><HR>

</FONT> </CENTER>

<%

Dim objConn Dim ObjRset Dim filePath Dim strSQL Dim tombol Dim hlm

Dim i

'---Mapping file BukuTamu.mdb---

filePath = Server.MapPath("BukuTamu.mdb")

'---Definisi pernyataan SQL---

strSQL = "SELECT * FROM Guest"

'---Membuka koneksi---

Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath

'---Definisi Recordset---

Set objRset = Server.CreateObject("ADODB.Recordset")

'---Menentukan halaman aktif---

tombol = Request.Form("tombol") If Request.Form("hlm") = "" Then
hlm = 1
Else
hlm = Request.Form("hlm") End If

'---Menampilkan 5 record per halaman---

objRset.Open strSQL, objConn, adOpenStatic objRset.PageSize = 5

'---Mengatur halaman---

If tombol = "Prev 5" or tombol = "Next 5" Then Select Case tombol

Case "Prev 5"

If hlm > 1 Then
hlm = hlm - 1
Else
hlm = 1
End If
Case "Next 5"
If objRset.AbsolutePage <  objRset.PageCount Then
hlm = hlm + 1
Else
hlm = objRset.PageCount
End If
Case Else
hlm = 1
End Select
End If

objRset.AbsolutePage = hlm %>

<!--Menampilkan data dengan tabel-->

<TABLE BORDER=1> <!--Membuat judul tabel--> <TR>

<TD WIDTH=20% BGCOLOR=#80f6ac> Tanggal </TD> <TD WIDTH=20% BGCOLOR=#80f6ac> Nama </TD> <TD WIDTH=20% BGCOLOR=#80f6ac> Email </TD> <TD WIDTH=40% BGCOLOR=#80f6ac> Komentar </TD>

</TR>

<!--Menampilkan data-->

<% For i = 1 to objRset.PageSize %> <TR>

<TD WIDTH=20% BGCOLOR=#f7efde> <%=objRset("Tanggal")%> </TD>

<TD WIDTH=20% BGCOLOR=#f7efde> <%=objRset("Nama")%>
</TD>
<TD WIDTH=20% BGCOLOR=#f7efde> <%=objRset("Email")%>
</TD>
<TD WIDTH=40% BGCOLOR=#f7efde> <%=objRset("Komentar")%> </TD> </TR>

<!--Memanggil record berikutnya-->

<%
objRset.MoveNext If objRset.EOF Then

Exit For End If

%>

</TABLE>

<!--Membuat tombol pengatur halaman-->

<FORM ACTION=list.asp METHOD="POST">
<INPUT TYPE="Hidden" NAME="hlm" Value="<%= hlm %>">

<% If hlm > 1 Then %>

<INPUT TYPE="Submit" Name="tombol" Value="Prev 5"> <% End If %>

<% If hlm < objRset.PageCount Then %>

<INPUT TYPE="Submit" Name="tombol" Value="Next 5"> <% End If %>

</FORM>

<CENTER>

<FONT FACE=Technical SIZE=4 COLOR=#f7efde>
<A HREF="default.asp"><Click here to Menu</font> </BODY>
</HTML>

>> Project II – Buku Tamu >>

Script kali ini kita akan menggunakan database untuk menyimpan datanya, buatlah database terlebih dahulu dengan menggunakan Access, nama databasenya adalah data.mdb dan tabel nya diberi nama Guest.
Langkah pertama buatlah latihan 4.1 dibawah ini dengan menggunakan FrontPage 2003, simpan dengan nama ‘password.asp’.

Latihan 4.5

Password.asp

<html>

<head>
<title>contoh function</title> </head>

<body>

<script language="vbscript">
function login_onsubmit  if document.login.txtlogin.value =" " then
login_onsubmit = false
msgbox "Maaf Login Harus Diisi..",48+1,"Konfirmasi" else
if document.login.txtpass.value =" " then login_onsubmit = false

alert "Password Harus Diisi.." else

if document.login.txtlogin.value ="Deris" then

if document.login.txtpass.value ="Stiawan" then login_onsubmit = True
else
login_onsubmit = false
msgbox "Password Anda Salah",vbcritical end if
else
login_onsubmit = false
msgbox "Maaf Login Salah",vbcritical

end if end if end if

end function

</script>



<Form method="POST" Action="Tampilan.asp" name="LOGIN" <Table Border=1>
<tr>

<td><b>Login </td></b><td><Input Type="text" Name="txtlogin" Size=10></td>
</tr>
<br>
<tr>
<td><b>Password </td></b><td><Input Type="password" Name="txtpass" Size=10></td>
</tr>
</Table>
<P align="center"><Input Type="Submit" value="Kirim" Name="BtnKirim">

<Input Type="Reset" Value="Batal" Name="BtnBatal"> </form>
</html>


Latihan 4.6

Pada saat pengujung mengisi Login dan Password dengan benar maka akan diteruskan ke halaman ‘Tampilan.asp’. adapun scriptnya dapat dilihat dibawah ini, namun apabila pengunjung salah memasukan password atau login maka akan keluar kota message box. Pada tampilan.asp akan terlihat isian pada kolom Login dan Password pengunjung.




Tampilan.asp

<html>

<head>
<title>contoh function</title> </head>

<body>

<h1> Selamat Datang Sahabatku yang baik </H1> <hr>

Selamat Siang : <%=Request.form("Txtlogin")%><BR> Password anda : <%=Request.form("Txtpass")%><BR>

<A Href=Biodata.asp> Isi Buku Tamu</A><BR>

<A Href=bukutamu.asp>tampilkan buku tamu</A><BR>

</body>

</html>












Latihan 4.7

Dari halaman tampilan.asp pengunjung dapat memilih Isi buku tamu atau melihat isi buku tamu. Maka jika pengunjung memilih untuk mengisi buku tamu maka kita harus membuat script yang akan menampung beberapa pertanyaan dasar.

Biodata.asp

<html>

<head>
<title>contoh function</title> </head>

<body>

<B><CENTER> BIODATA PENGUNJUNG<br> OFFICIAL SITES <HR>

</HR>
</CENTER>
</B>


<Form Action="Proses1.asp" method=POST name=FrmIsi> <Table border=0>
<td> Nama Anda</td><td>:</td><td><input Type=text Name=txtname
size=30 maxlength=30></td><tr>
<td>Alamat Anda</td><td>:</td><td><input Type=text  Name=txtalamat

size=15 maxlength=15><td><tr>
<td>Kota/propinsi</td><td>:</td><td><input Type=text Name=txtkota

size=15 maxlength=15><input type=text name=txtpropinsi size=15 maxlength=15></td><tr>
<td>No.Telp/ HP </td><td>:</td><td><input Type=text Name=txtTelpon

size=15 maxlength=30></td><tr>
<td Colspan=3 align=center><Input type=submit value="proses">
<input type=reset value="batal"></td> </table>

<script language="vbscript"> function frmisi_onsubmit frmIsi_onsubmit=true

end function

</script>

<a href=proses1.asp>kembali</a> </body>

</html>

Latihan 4.8

Pada saat pengunjung mengisi form pada biodata.asp, maka isian tersebut akan diproses pada ‘proses1.asp’. halaman ini hanya sebagai konfirmasi untuk mengegaskan bahwa form telah diisi.

Proses1.asp

<%

Dim DB
set db = server.createobject("ADODB.Connection")  Satu baris DB.open("Provider=Microsoft.jet.OLEDB.4.0;Data  Source="&Server.mappath("Data.mdb"))
dim rs
set rs = server.createobject ("ADODB.Recordset") RS.Open "tbldata", DB,adOpenkeyset,3

rs.addnew

rs("Nama")=request.form("txtname")
rs("Alamat")=request.form("txtalamat")
rs("kota")=request.form("txtkota")
rs("Propinsi")=request.form("txtPropinsi")
rs("Telpon")=request.form("txttelpon")
rs.update

response.write "<b><center><u>" response.write "Terima Kasih," response.write "</B></CENTER></U>" response.write "<HR>" response.write "<BR>"

response.write "Data-data Anda Sudah Disimpan" response.write "<BR>"

%>

<B><a href=bukutamu.asp>Tabel Konfirmasi</a></b>






Latihan 4.9

Pada saat pengunjung telah mengisi form bukutamu,semua data akan tersimpan pada database Access di ‘data.mdb’. jika pengunjung ingin melihat semua data yang telah diisi oleh pengunjung lainnya, maka kita harus membuat suatu script ‘bukutamu.asp’.

bukutamu.asp


<html>

<head>
<title> ISI BUKU TAMU PENGUNJUNG</title> </head>

<body>
<b><a href="password.asp">Kembali</a></b><br> <b><center><H1>Sahabat-Sahabatku Yang Baik <br><H1> <br><br>

</b>

<%

Dim DB
set db = server.createobject("ADODB.Connection")  DB.open("Provider=Microsoft.jet.OLEDB.4.0;Data Satu baris Source="&Server.mappath("data.mdb"))
dim rs

set rs = server.createobject("ADODB.Recordset") RS.Open "select * From tbldata",DB

If rs.EOF and RS.BOF then Response.write "Maaf Database kosong"

else
response.write "<table border>"

response.write "<tr>" response.write "<td><b>" response.write "Nama Sahabat" response.write "</B></td>"

response.write "<td><b>" response.write "Alamat" response.write "</B></td>"

response.write "<td><b>" response.write "Kota" response.write "</B></td>"

response.write "<td><b>" response.write "Propinsi"

response.write "</B></td>"

response.write "<td><b>" response.write "Telpon" response.write "</B></td>" response.write "<HR>" response.write "</TR>"

rs.movefirst while not rs.eof

response.write "<tr>" response.write "<td>" response.write rs.fields("Nama") response.write "</TD>"

response.write "<td>" response.write rs.fields("Alamat") response.write "</TD>"

response.write "<td>" response.write rs.fields("Kota") response.write "</TD>"

response.write "<td>" response.write rs.fields("Propinsi") response.write "</TD>"

response.write "<td>" response.write rs.fields("Telpon") response.write "</TD>" response.write "</Tr>"

rs.movenext wend

end if

response.write "</table>" %>

</body>

>> Polling Pendapat Sederhana

Program jajak pendapat umumnya digunakan untuk melihat dan mencari data tentang sesuatu dalam suatu populasi. Misalnya meminta para pengunjung untuk memilih Sistem Operasi apa yang sering mereka gunakan tanpa menggunakan koneksi dengan DSN.

Latihan 4.10

<HTML>

<HEAD>
<TITLE> Jajak Pendapat </TITLE> </HEAD>

<BODY>

<%
Session("sesTanda") = "" %>

<TABLE BORDER=0 WIDTH=100% CELLSPACING=0> <TR>

<TD COLSPAN=2 BGCOLOR=#7e5fad WIDTH=100% ALIGN=Center>
<FONT FACE=Verdana SIZE=6 COLOR=#f2fac2> Jajak Pendapat </FONT>

</TD>
</TR>
<TR>
<TD WIDTH=30% BGCOLOR=#abcdef>
<FORM NAME=frmPoll ACTION=Result.asp METHOD=post> <INPUT TYPE=hidden Name=hidTanda VALUE="">

<BR>
Menurut Anda, sistem operasi manakah yang paling baik? <BR>

<INPUT TYPE=Radio NAME=radOS VALUE="A"> Windows 9X
<BR>
<INPUT TYPE=Radio NAME=radOS VALUE="B"> Windows NT/2000 <BR>
<INPUT TYPE=Radio NAME=radOS VALUE="C"> UNIX <BR> <INPUT TYPE=Radio NAME=radOS VALUE="D"> Linux <BR> <INPUT TYPE=Radio NAME=radOS VALUE="E"> BeOS <BR> <INPUT TYPE=Radio NAME=radOS VALUE="F"> OS/2 <BR> <INPUT TYPE=Radio NAME=radOS VALUE="G"> DOS

<BR> <BR>
<INPUT TYPE=Submit NAME=btnSubmit VALUE=Vote!> </FORM>
</TD>


<TD WIDTH=80% BGCOLOR=#f7efde ALIGN=Center> <FONT FACE=Technical SIZE=4>

Kami adalah sebuah perusahaan yang bergerak di bidang komputer dan ingin mengumpulkan data untuk keperluan penelitian kami. Mohon partisipasi Anda untuk mengisi jajak pendapat ini.

</FONT>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>

Latihan 4.11

<HTML>

<HEAD>
<TITLE> Jajak Pendapat </TITLE>

<BODY BGCOLOR=#f7efde> <!--#Include File=adovbs.inc--> <%

dim objConn, objRset
dim reqOS, filePath, totRec dim i, j
dim jmlOS(10), pctOS(10), arrOS(10) dim totOS

arrOS(1) = "Windows 9X" arrOS(2) = "Windows NT/2000" arrOS(3) = "UNIX"

arrOS(4) = "Linux" arrOS(5) = "BeOS"

arrOS(6) = "OS2" arrOS(7) = "DOS"

'---Mengambil nilai dari form sebelumnya---

reqOS = Request.Form("radOS")

'---Verifikasi form---

if (Session("sesTanda")=Session.SessionID) then Response.Write "<CENTER> <H1>" & _
"Maaf, Anda tidak dapat mengisi lebih dari satu kali"
& _
"<H1> </CENTER>"
else

'---Membuka koneksi---

filePath=Server.MapPath("Polling.mdb")
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open                    "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + filePath

'---Mendeklarasikan Recordset---

set objRset = Server.CreateObject("ADODB.Recordset") objRset.Open "Hasil", objConn, adOpenStatic, adLockOptimistic, adCmdTable

'---Memasukkan data ke dalam tabel---

objRset.AddNew

if reqOS="A" then objRset("Win9X")=1

end if

if reqOS="B" then objRset("WinNT2K")=1

end if

if reqOS="C" then objRset("UNIX")=1

end if

if reqOS="D" then objRset("Linux")=1

end if

if reqOS="E" then objRset("BeOS")=1

end if

if reqOS="F" then objRset("OS2")=1


end if

if reqOS="G" then objRset("DOS")=1

end if objRset.Update

Session("sesTanda") = Session.SessionID Response.write "<CENTER> <H1>" & _
"Terima Kasih </H1> <BR> <H2> Atas kesediaan Anda " & _ "mengisi jajak pendapat ini </H2> <HR> </CENTER>" '---Memasukkan record ke dalam array---

totRec = objRset.RecordCount objRset.MoveFirst
getRec = objRset.GetRows

for i=1 to 7

for j=0 to totRec-1
jmlOS(i) = jmlOS(i) + getRec(i,j)
next
totOS = totOS + jmlOS(i)
next
for i=1 to 7
pctOS(i) = (jmlOS(i)/totOS)*100
next

%>

<!--Membuat grafik dengan bantuan tabel--> <CENTER>

<FONT SIZE=5>
Berikut ini akan kami tampilkan hasil jajak pendapat hingga tanggal <%=Date%>
</FONT> <BR> <BR> </CENTER>
Jumlah pemberi suara <%=totOS%> <BR> <BR> <%

for i=1 to 7 %>
<TABLE BORDER=0 WIDTH=300> <TR>

<TD WIDTH=<%=int(pctOS(i))%>% BACKGROUND=bar.bmp> </TD>
<TD WIDTH=<%=100-int(pctOS(i))%>%\> <%=arrOS(i)%>, <%=int(pctOS(i))%>% </TD>

</TR>
</TABLE>
<% next end If %> </BODY> </HTML>






Thanks for reading & sharing Kamar Pekick

Previous
« Prev Post

0 komentar:

Post a Comment

Search Postingan

My Art Painting