ASP
Pemrograman Internet
2
1. ASP ................................................................... 5
Internet Programming In the field of
Information Technology
Rendra Gustriansyah Computer Laboratory
2003
Pemrograman Internet Dalam Bidang
Teknik Informatika STMIK Indo Global Mandiri A: Jl. Jend. Sudirman No. 629 B: Jl. Kol. H. Burlian Palembang Telp. 0711-322705, 322706 0711-421221 Fax. 0711 317357
1.1 APAKAH YANG DIBUTUHKAN ........................................... 5 1.2 MENULIS SKRIP ASP YANG PERTAMA ........................ 5 1.3 PENGGUNAAN VARIABEL ................................................... 6 1.4 MENGGUNAKAN INCLUDE.................................................. 7
2. OBJEK BUILT-IN ASP ................................. 8 2.1 OBJEK APPLICATION ............................................................ 8 2.1.1 Metode Lock dan Unlock ........................................................... 9 2.1.2 Event Application_OnEnd dan Application_OnStart ............... 9 2.2 OBJEK REQUEST ................................................................... 10 2.2.1 Koleksi ClientCertificate .......................................................... 11 2.2.2 Koleksi Cookies ........................................................................ 11 2.2.3 Koleksi Form ............................................................................ 11 2.2.4 Koleksi QueryString ................................................................. 12 2.2.5 Koleksi ServerVariables ........................................................... 12 2.3 OBJEK RESPONSE ................................................................. 12 2.3.1 Koleksi Cookie .......................................................................... 13 2.3.2 Properti Buffer ......................................................................... 15 2.3.3 Properti CacheControl ............................................................. 15 2.3.4 Properti ContentType ............................................................... 15 2.3.5 Properti Expires........................................................................ 16 2.3.6 Properti ExpiresAbsolute ......................................................... 16 2.3.7 Properti IsClientConnected...................................................... 16 2.3.8 Metode End............................................................................... 16 2.3.9 Metode Flush............................................................................ 17 2.3.10 Metode Redirect...................................................................... 17 2.3.11 Metode Write .......................................................................... 17 2.4 OBJEK SERVER....................................................................... 17 2.4.1 Metode CreateObject ................................................................ 18 2.4.2 Metode MapPath ...................................................................... 18 2.4.3 Metode URLEncode ................................................................. 18 2.4.4 Properti ScriptTimeOut............................................................ 19 2.5 OBJEK SESSION ...................................................................... 19 2.5.1 Properti TimeOut...................................................................... 20 2.5.2 Metode Abandon ...................................................................... 20 Rendra Gustriansyah©2003
Pemrograman Internet
3
2.5.3 Event Session_OnEnd dan Session_OnStart .......................... 20
3. ACTIVEX DATA OBJECTS (ADO).......... 21 3.1 METODE ADO ........................................................................ 21 3.1.1 Metode AddNew ....................................................................... 21 3.1.2 Metode Close ............................................................................ 22 3.1.3 Metode Delete ........................................................................... 22 3.1.4 Metode Execute ........................................................................ 22 3.1.5 Metode GetRows....................................................................... 23 3.1.6 Metode MoveFirst, MoveLast, MoveNext, dan Move Previous ........................................................................................................... 24 3.1.7 Metode Open (Connection) ...................................................... 24 3.1.8 Metode Open (Recordset)......................................................... 24 3.1.9 Metode Update.......................................................................... 26
4. DATABASE PADA ASP .............................. 27 4.1 PENGERTIAN DATABASE ................................................... 27 4.2 STRUCTURED QUERY LANGUAGE ............................... 27 4.2.1 Statemen Select......................................................................... 27 4.2.2 Statemen Where ....................................................................... 28 4.2.3 Operator Kisaran (Between dan Not Between) ....................... 28 4.2.4 Operator List (In) ..................................................................... 28 4.2.5 Operator String (Like).............................................................. 29 4.2.6 Statemen Order By ................................................................... 29 4.2.7 Fungsi Agregat......................................................................... 30 4.2.8 Statemen Group By .................................................................. 30 4.2.9 Query Multi Tabel .................................................................... 31 4.2.10 Sub-Query............................................................................... 31 4.2.11 Union ...................................................................................... 33 4.2.12 Statemen Into ......................................................................... 33 4.2.13 Membuat Tabel ...................................................................... 33 4.2.14 Menghapus Tabel................................................................... 34 4.2.15. Statemen Insert...................................................................... 34 4.2.16 Statemen Update .................................................................... 34 4.2.17 Statemen Delete...................................................................... 34 4.2.18 View ........................................................................................ 34 4.3 MENGAKSES SUMBER DATA ........................................... 36 4.3.1 OLEDB ..................................................................................... 36 4.3.2 ODBC ....................................................................................... 37 Rendra Gustriansyah©2003
Pemrograman Internet
3
4
4.4 MENAMPILKAN DATA ........................................................ 38 4.5 MENAMBAH DATA BARU .................................................. 39 4.6 MENCARI DATA ..................................................................... 42 4.7 MENGEDIT DATA .................................................................. 43 4.8 MENGHAPUS DATA .............................................................. 45 4.9 QUERY MULTI TABEL ........................................................ 45 4.10 MEMPERCEPAT QUERY DI ASP .................................. 46 4.10.1 Menggunakan OLEDB .......................................................... 47 4.10.2 Menggunakan Method Getrows Dengan Buffer................... 47 4.10.3 Menggunakan Method Getstrings Dengan Buffer................ 48
LATIHAN ............................................................ 50 1. BUKU TAMU ....................................................................................... 50 2. COUNTER ........................................................................................... 61 3. POLLING............................................................................................. 63 4. UPLOAD FILE ..................................................................................... 66 5. MAILING LIST / EMAIL ...................................................................... 66 6. DOWNLOAD FILE................................................................................ 68
PROYEK: ............................................................ 69
LAMPIRAN 1 ................................................... 72 TIPS MENULIS SKRIP ASP .................................................................... 72
LAMPIRAN 2 ................................................... 75 MEMBUAT COM (COMPONENT OBJECT MODEL) ..... 75
Rendra Gustriansyah©2003
Pemrograman Internet
5
ASP
1 Berbeda dengan VBScript yang dijalankan pada lingkungan client, ASP atau Microsoft Active Server Pages merupakan program VBScript yang dijalankan di lingkungan server. ASP adalah teknologi server side, yang berarti ASP bersifat browser independent. Ini berarti aplikasi web Anda dapat dijalankan oleh browser apapun. Halaman yang ditampilkan di browser hanya HTML atau skrip yang ingin Anda jalankan di client. Sedangkan kode ASP Anda tersembunyi rapi dan terbebas dari sentuhan tangan-tangan yang kurang bertanggung jawab. Dengan ASP, developer akan mendapatkan kemudahan dalam membuat aplikasi web. Pilihan bahasa skrip yang digunakan adalah VBScript dan JScript. Namun developer juga dapat menggunakan bahasa skrip lain dengan menambahkan add-in untuk ASP, baik yang disediakan Microsoft atau pihak ketiga. Keuntungan ASP lainnya adalah dukungannya terhadap server component. Dengan server component, developer dapat membuat aplikasi activeX dengan menggunakan bahasa pemrograman seperti VisualBasic, Delphi, C++, Java atau lainnya, lalu menjalankannya di ASP.
1.1 Apakah yang Dibutuhkan Bagi pengguna windows 95/98, Web servernya menggunakan Personal Web Server (PWS), sedangkan untuk Windows NT/2K/XP menggunakan Internet Information System (IIS). Pada Unix/Linux digunakan Apache dsb.
1.2 Menulis Skrip ASP yang Pertama Skrip ASP dapat dimulai dengan menulis tag <SCRIPT> dan menambahkan atribut RUNAT="SERVER". Atau menggunakan pasangan Rendra Gustriansyah©2003
Pemrograman Internet
5
6
tag <% dan %>. Karena pada dasarnya file ASP merupakan file HTML yang disisipi skrip ASP, maka pembuatan file ASP dapat dilakukan dengan menggunakan teks editor, seperti Notepad atau Edit. Dapat juga menggunakan HTML editor seperti Frontpage dan Dreamweaver. Contoh: <TITLE>Contoh <SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER"> <% @Language = VBScript %> <% Skrip ASP %>
Untuk dapat mengeksekusi file ASP, maka file tersebut harus diletakkan di direktori virtual yang telah diberi hak akses execute. File tersebut diakses menggunakan suatu browser, dan pada bagian Address diisikan alamat file ASP tersebut sebagai berikut: http://namakomputer/namadirektorivirtual/namafile.asp
1.3 Penggunaan Variabel Sebelumnya telah dijelaskan bahwa untuk deklarasi variabel perlu ditambahkan pernyataan option explicit. Pada file ASP, pernyataan option explicit harus diletakkan setelah ASP directives (jika ada) dan sebelum tag HTML yang pertama. Contoh: <% @Language = VBScript %> <% Option Explicit %> …
Hal yang perlu diperhatikan bahwa nilai dari variabel dapat ditampilkan ke dalam dokumen dengan menggunakan tanda samadengan (=) yang diletakkan dalam delimiter ASP dan diikuti dengan nama variabelnya. Contoh: Nilai dari variabel var1 adalah <% =var1 %>
Rendra Gustriansyah©2003
Pemrograman Internet
7
1.4 Menggunakan Include Include adalah suatu istilah untuk menyisipkan sebuah file lain ke dalam sebuah file ASP. File tersebut dapat berupa file Asp yang lain, file HTML atau file teks biasa. Umumnya file tersebut diberi ekstensi .inc (optional).
Pemrograman Internet
7
Objek Built-In ASP
2
Contoh:
File coba.inc pada contoh pertama direferensikan pada direktori virtual, file ASP yang memanggilnya boleh terletak di direktori mana saja. Sedangkan pada contoh kedua, file coba.inc terletak pada direktori nyata di bawah direktori asal file ASP yang memanggilnya.
8
Active Server Pages menyediakan objek-objek built-in yang digunakan untuk mempermudah pemrograman.
2.1 Objek Application Objek Application adalah objek yang digunakan untuk sharing informasi di dalam suatu aplikasi ASP yang digunakan. Aplikasi didefinisikan sebagai kumpulan file-file ASP yang terdapat di dalam suatu direktori dan sub direktorinya. Sintaksisnya adalah sebagai berikut: Application.koleksi | metode | event Koleksi Contents
Merupakan isi dari objek Application yang dimasukkan oleh skrip StaticObject Mengandung semua objek yang dibuat dengan HTML tag
Metode Lock Metode ini akan ‘mengunci’ nilai variabel yang terkandung oleh objek Application sehingga tidak dapat diakses oleh pengguna lain. Unlock Untuk membuka ‘kunci’ metode lock Event Application_OnEnd Event yang akan dieksekusi bila objek Application berhenti. Application_OnStart Event yang akan dieksekusi bila objek Application dimulai.
Rendra Gustriansyah©2003
Rendra Gustriansyah©2003
Pemrograman Internet
9
2.1.1 Metode Lock dan Unlock Karena aplikasi ASP bersifat multi user, maka diperlukan metode lock dan unlock untuk mengatur aga tidak terjadi benturan akses ke variabel yang sama. Variabel yang dikunci dengan metode lock baru dapat diakses oleh pengguna lain setelah dibuka dengan metode unlock. Contoh: <% Application.Lock Application("kunjung ") = Application("kunjung") + 1 Application.Unlock %> Halaman ini telah dikunjungi <% =Application("kunjung") %> kali
2.1.2 Event Application_OnEnd dan Application_OnStart Event Application_OnEnd akan terjadi bila pengguna keluar dari objek Application dan terjadi setelah event Session_OnEnd. Event Application_OnStart akan terjadi sebelum sebuah Session baru terbentuk, jadi sebelum event Session_OnStart. Sintaksisnya sebagai berikut: <Script language = "bahasa skrip " Runat=server> Sub Application_OnEnd | Application OnStart … End Sub
Pemrograman Internet
9
' bertambah satu Application.lock Application("Active") = Application("Active") + 1 Application.unlock End Sub Sub Session_OnEnd ' Jika session sudah berakhir, artinya pengunjung sudah ' meninggalkan situs ini, maka Active dikurangi satu Application.lock Application("Active") = Application("Active") - 1 Application.unlock End Sub
Untuk menampilkan hasilnya, Anda cukup menuliskan skrip di bawah ini di halaman HTML manapun yang Anda kehendaki. Membuat Curret Visitor Anda adalah salah satu dari <% = Application("Active") %> pengunjung kami saat ini
2.2 Objek Request Objek Request mengambil nilai dari data yang dikirimkan oleh browser ke server pada saat permintaan HTTP. Sintaksisnya sebagai berikut: Request[.koleksi|properti|metode](variabel) Koleksi
ClientCertificate
Penulisan skrip event ini umumnya diletakkan pada file global.asa. Contoh program menghitung user yang online:
Cookies
Buat program di bawah ini di dalam file global.asa
Form
<SCRIPT LANGUAGE="VBScript" RUNAT=Server> Sub Application_OnStart ' Pada saat aplikasi dimulai, set Active = 0 ' menunjukkan bahwa belum ada yang mengunjungi Application("Active") = 0 End Sub Sub Application_OnEnd End Sub Sub Session_OnStart ' Jika ada session baru, maka Active ditambah satu, menunjukkan jika ' ada satu pengunjung yang online tiap session, variabel ini akan Rendra Gustriansyah©2003
10
QueryString ServerVariables Metode
BinaryRead
Properti
TotalBytes
Rendra Gustriansyah©2003
Mengambil nilai dari field yang tersimpan pada ClientCertificate yang dikirimkan browser ke server Mengambil nilai dari Cookies yang dikirimkan browser ke server Mengambil nilai dari elemen Form yang dikirimkan browser ke server Mengambil nilai dari QueryString yang dikirimkan browser ke server Mengambil nilai dari ServerVariables yang dikirimkan browser ke server Mengambil data yang dikirimkan ke server sebagai bagian dari POST request Menghitung jumlah bit yang
Pemrograman Internet
11
11
12
Koleksi Form digunakan untuk mengambil nilai dari elemen-elemen form HTML yang dikirimkan dengan metode POST. Sintaksisnya adalah sebagai berikut:
dikirimkan oleh browser
2.2.1 Koleksi ClientCertificate Jika sebuah browser yang mendukung penggunaan protokol SSL 3.0 (yaitu protokol yang dapat menggunakan URL https://) mengirim data ke server dan server meminta sertifikasi, maka browser tersebut akan mengirimkan field sertifikasi tersebut. Jika tidak ada sertifikasi yang dikirimkan, maka nilai dari koleksi ini adalah "EMPTY". Sintaksisnya sebagai berikut: Request.ClientCertificate(Key[SubField])
Request.Form(elemen)[(indeks)|.Count] Elemen merupakan nama dari elemen form yang diambil nilainya. Indeks merupakan parameter yang memungkinkan untuk mengakses satu dari beberapa nilai parameter yang mungkin ada. Nilai indeks adalah interger dari 1 hingga nilai Request.Form(indeks).Count.
2.2.4 Koleksi QueryString
Key adalah nilai dari field sertifikasi tersebut. SubField adalah parameter yang mengikuti key tertentu.
Koleksi QueryString digunakan untuk mengambil nilai variabel HTTP query string. Variabel HTTP query string ditandai dengan karakter tanda tanya (?) dan umumnya terletak di belakang penulisan alamat URL. Sintaksisnya adalah sebagai berikut:
Contoh: <% For Each key in Request.ClientCertificate Response.write(key & ": " & Request.ClientCertificate(key) " ") Next %> <% If Len(Request.ClientCertificate("Subject ")) = 0 Response.Write("No Client Certificate was presented ") End if %> <%= Request.ClientCertificate("IssuerCN ") %> <% If (Request.ClientCertificate("Subject ")= "Msft ") Response.Write("Good Choice! ") End if %>
Pemrograman Internet
&
Request.QueryString(variabel)[indeks|count] Variabel merupakan nama variabel HTTP query string yang dipanggil.
2.2.5 Koleksi ServerVariables Koleksi ServerVariables digunakan untuk mengambil nilai yang telah ditetapkan sebagai variabel lingkungan server. Sintaksisnya adalah: Request.ServerVariables(server enviroment variable) Server envirotment variable merujuk pada variabel lingkungan server yang akan diambil nilainya.
2.2.2 Koleksi Cookies
2.3 Objek Response Koleksi Cookies digunakan untuk mengambil nilai dari cookies yang dikirim pada sebuah penggunaan HTTP. Sintaksisnya sebagai berikut: Request.Cookies(cookies)[(key)|.atribut] Cookie adalah nilai dari cookie yang harus dipanggil. Key merupakan parameter dari sebuah cookie.
Objek Response digunakan untuk mengirim output dari web server kepada browser client. Sintaksisnya adalah: Response.koleksi|properti|metode Koleksi
Cookies
2.2.3 Koleksi Form Rendra Gustriansyah©2003
Rendra Gustriansyah©2003
Menetapkan nilai dari cookies untuk dikirim ke browser.
Pemrograman Internet Properti
Buffer
Properti
CacheControl
Charset ContentType Expires
ExpiresAbsolute
IsClientConnected Pics Status Metode
AddHeader AppendToLog BinaryWrite Clear End Flush Redirect
Write
13
Menentukan apakah output ke browser akan ditunda atau tidak. Menentukan apakah proxy server dapat menangani output dari server ASP. Menentukan tipe dari karakter set pada bagian content-type header. Menentukan tipe Content yang akan dikirimkan ke browser. Menentukan lamanya sebuah halaman web akan tersimpan dalam memori browser. Menentukan tanggal sebuah halaman web akan terhapus dari cache sebuah browser. Mencek apakah sebuah browser terputus koneksinya dari server Menetapkan nilai dari PICS label pada response header Menetapkan nilai dari status yang dikembalikan oleh server. Menetapkan suatu string ke dalam server log. Menambahkan suatu string ke dalam server log. Memberikan output tanpa konversi ke karakter set apapun. Menghilangkan data yang tertunda oleh properti buffer Menghentikan proses pengerjaan file ASP Mengirimkan data yang tertunda oleh properti buffer. Mengirimkan pesan ke browser yang mengarahkan browser untuk menuju alamat URL tertentu. Menulis output sebagai sebuah string.
Pemrograman Internet
13
Koleksi Cookie digunakan untuk menetapkan nilai cookie.
2.3.1 Koleksi Cookie Rendra Gustriansyah©2003
Rendra Gustriansyah©2003
14
Pemrograman Internet
15
Sintaksisnya adalah sebagai berikut: Response.Cookies(cookie)[(key)|.atribut] = nilai Cookie adalah nama dari cookie tersebut. Key adalah suatu parameter
2.3.2 Properti Buffer Properti Buffer digunakan untuk menentukan apakah output ke browser akan ditunda atau tidak. Jika properti buffer bernilai true, maka server akan menunda memberi respon kepada browser sampai semua skrip selesai dikerjakan atau sampai metode Flush atau End disebutkan. Sintaksisnya adalah sebagai berikut: Response.Buffer [=TRUE|FALSE]
2.3.3 Properti CacheControl
Pemrograman Internet
15
16
2.3.5 Properti Expires Properti Expires digunakan untuk menentukan lamanya sebuah halaman web akan tersimpan dalam cache sebuah browser. Sintaksisnya adalah sebagai berikut: Response.Expires [=waktu] Waktu yang digunakan adalah dalam satuan menit.
2.3.6 Properti ExpiresAbsolute Properti ExpiresAbsolute digunakan untuk menentukan tanggal sebuah halaman web akan terhapus dari cache sebuah browser. Sintaksisnya adalah sebagai berikut: Response.ExpiresAbsolute [=[tanggal][jam]] Contoh:
Properti CacheControl digunakan untuk menentukan apakah proxy server dapat menangani output dari server ASP. Sintaksisnya adalah sebagai berikut:
<% Response.ExpiresAbsolute=#May 20, 2003 11:25:15# %>
2.3.7 Properti IsClientConnected
Response.CacheControl [=header] Header adalah header dari cache control yang dapat bersifat private (default) atau public. Jika properti public, maka proxy server dapat menangani output dari server ASP.
2.3.4 Properti ContentType
Properti IsClientConnected digunakan untuk memeriksa apakah sebuah browser terputus koneksinya dari server. Sintaksisnya adalah sebagai berikut: Response.IsClientConnected() Contoh:
Properti ContentType digunakan untuk menentukan tipe Content yang akan dikirimkan ke browser. Atribut ini digunakan untuk memberikan informasi kepada browser, jenis informasi apakah yang dikirim oleh web server agar browser dapat mempersiapkan apakah file tersebut harus ditampilkan sebagai HTML atau di-download atau lainnya. Secara default nilai dari ContentType adalah teks/HTML. Sintaksisnya adalah sebagai berikut: Response.ContentType [= nilai] Contoh: <% Response.ContentType = "application/msword" %>
Rendra Gustriansyah©2003
<% If not Response.IsClientConnected Then … End If %>
2.3.8 Metode End Metode End digunakan untuk menghentikan proses pengerjaan file ASP. Sintaksisnya adalah sebagai berikut: Response.End Rendra Gustriansyah©2003
Pemrograman Internet
17
Pemrograman Internet
17
18
2.3.9 Metode Flush
2.4.1 Metode CreateObject
Metode Flush digunakan untuk mengirimkan data yang tertunda oleh properti buffer dari server ke browser. Sintaksisnya adalah sebagai berikut:
Metode CreateObject digunakan untuk membuat sebuah komponen server. Sintaksisnya sebagai berikut:
Response.Flush
Server.CreateObject(PROGID) PROGID adalah identitas dari sebuah komponen. Format dari PROGID sebagai berikut:
2.3.10 Metode Redirect Metode Redirect digunakan untuk mengirim pesan ke browser yang mengarahkan browser untuk menuju ke URL tertentu. Sintaksisnya adalah:
[vendor.]namakomponen[.versi] Contoh:
Response.Redirect "URL"
<% Set Iklan = Server.CreateObject("MSWC.AdRotator") %>
2.3.11 Metode Write
2.4.2 Metode MapPath
Metode write digunakan untuk menulis output berupa variabel sebagai sebuah string. String tersebut dapat juga merupakan HTML tag. Sintaksisnya adalah sebagai berikut:
Metode MapPath digunakan untuk memetakan sebuah virtual path atau relative path menjadi physical path. Sintaksisnya adalah sebagai berikut: Server.MapPath("Path")
Response.Write variabel Contoh: Nama saya adalah <% Response.Write " Rendra " %>
2.4 Objek Server
2.4.3 Metode URLEncode
Objek Server menyediakan akses untuk menjangkau metode dan properti pada server. Sintaksisnya adalah sebagai berikut: Server.metode | properti Metode
CreateObject HTMLEncode MapPath URLEncode
Properti
ScriptTimeOut
Rendra Gustriansyah©2003
Jika path ditulis dengan awalan karakter slash (/) atau backslash (\), MapPath akan memetakannya sebagai virtual path penuh, jika tidak maka MapPath akan memetakannya menjadi relative path terhadap direktori dimana file ASP tersebut diproses.
Metode URLEncode digunakan untuk menerapkan penyandian URL terhadap sebuah string. Sintaksisnya adalah sebagai berikut: Server.URLEncode(string)
Membuat sebuah komponen server. Menerapkan penyandian HTML terhadap sebuah string. Memetakan sebuah virtual path atau relative path menjadi physical path. Menerapkan penyandian URL terhadap sebuah string Lamanya sebuah skrip dapat dieksekusi
Contoh: <% Response.Write(Server.URLEncode("http://www.igm.ac.id")) %>
hasilnya adalah: http%3A%2F%2Fwww%2Eigm%2Eac%2Eid
Rendra Gustriansyah©2003
Pemrograman Internet
19
Pemrograman Internet
19
20
2.4.4 Properti ScriptTimeOut
2.5.1 Properti TimeOut
Properti ScriptTimeOut digunakan untuk menentukan lamanya sebauh skrip dapat dieksekusi. Sintaksisnya adalah sebagai berikut:
Properti TimeOut merupakan waktu time out untuk suatu session (dalam menit). Jika pengguna tidak melakukan refresh atau permintaan apapun selama waktu time out tersebut, maka session akan diakhiri. Sintaksisnya adalah sebagai berikut:
Server.ScriptTimeOut = waktu Waktu yang digunakan mempunyai satuan detik. <% Server.ScriptTimeOut = 100 %>
Session.TimeOut(= n menit) nilai default n menit adalah 20 menit
2.5.2 Metode Abandon
2.5 Objek Session Objek Session digunakan untuk menyimpan informasi pada session tertentu. Informasi-informasi tersebut (biasanya berupa variabel) tidak akan hilang sekalipun pengguna berpindah-pindah halaman web di dalam suatu aplikasi ASP. Web Server otomatis membuat objek session bila user mengaktifkan sebuah browser untuk meminta suatu aplikasi ASP. Sintaksisnya adalah sebagai berikut: Session.koleksi | properti | metode | event
Koleksi
Contents StaticObject
Properti
CodePage LCID SessionID TimeOut
Metode
Abandon
Event
Session_OnEnd Session_OnStart
Rendra Gustriansyah©2003
Mengandung semua item yang didapat pada penggunaan session tertentu. Mengandung semua objek yang dibuat dengan tag pada session tertentu. Kode-kode yang digunakan untuk mapping Merupakan suatu penanda (identifier) lokasi. Merupakan identitas suatu session. Merupakan waktu time out untuk suatu session (dalam menit). Membuang semua informasi pada suatu session. Terjadi bila suatu session berhenti. Terjadi bila suatu session dimulai.
Metode Abandon digunakan untuk membuang semua informasi pada suatu session. Informasi ini akan dibuang setelah semua skrip pada halaman web tersebut dieksekusi. Sintaksisnya adalah sebagai berikut: Session.Abadon
2.5.3 Event Session_OnEnd dan Session_OnStart Event ini dieksekusi bila pemicunya, yaitu pada saat permulaan session atau akhir session, diaktifkan. Sintaksisnya adalah sebagai berikut: <Script Language=bahasaskrip Runat=Server> Sub Session_OnStart|Session_OnEnd … End Sub Contoh: <Script Language="VBScript" Runat=Server> Sub Session_OnStart Response.write "Selamat Datang" End Sub
Skrip untuk event ini umumnya diletakkan pada file Global.asa.
Rendra Gustriansyah©2003
Pemrograman Internet
21
ActiveX Data Objects (ADO)
3 ActiveX Data Object atau ADO adalah model akses data yang digunakan untuk berinteraksi dengan database melalui internet / intranet. ADO merupakan bagian dari Microsoft Data Access Component (MDAC). Secara umum penggunaan ADO selalu diikuti dengan object modelnya dan ditampung dalam sebuah variabel sebagai sebuah objek tersendiri. Sintaksisnya sebagai berikut: <% Set objVar = Server.CreateObject("objectmodel") %> objVar adalah nama variabel yang digunakan untuk menyimpan objek objectmodel. Contoh: <% Set objConn = Server.CreateObject("ADODB.Connection") %>
Object recordset (cursor) digunakan untuk mengambil kumpulan record dari suatu query.
Pemrograman Internet
21
ObjRset mewakili nama variabel objek recordset Field mewakili nama tunggal / nama array / posisi field yang akan disisipi record baru Nilai adalah nilai tunggal / nilai array yang akan dimasukkan ke dalam record. Jika field berupa array maka nilai juga harus berupa array.
3.1.2 Metode Close Metode Close digunakan untuk menutup objek yang terbuka (misalnya sebuah koneksi yang aktif). Metode ini dapat diterapkan untuk objek Connection dan Recordset. Sintaksisnya sebagai berikut: Object.Close Menutup suatu objek tanpa menghilangkan objek tersebut dari memori sehingga objek tersebut dapat dibuka kembali.
3.1.3 Metode Delete Metode Delete digunakan untuk menghapus sebuah atau beberapa record. Metode ini hanya dapat diterapkan untuk objek Recordset. Sintaksisnya adalah sebagai berikut: ObjRset.Delete AffectRecords AffectRecords adalah konstanta yang menunjukkan berapa banyak record yang akan dikenai metode Delete. Nilai konstanta tersebut adalah: Konstanta adAffectCurrent adAffectGroup
3.1 Metode ADO 3.1.1 Metode AddNew Metode AddNew hanya digunakan untuk membuat atau menambahkan record baru ke dalam sebuah recordset. Sintaksisnya adalah sebagai berikut:
Keterangan Default. Menghapus current record. Menghapus record yang sesuai dengan setting filter.
3.1.4 Metode Execute Metode Execute digunakan untuk mengeksekusi query, pernyataan SQL, prosedur, atau teks spesifik sebuah provider. Metode ini hanya dapat diterapkan untuk objek Connection. Sintaksisnya adalah: Untuk perintah yang menghasilkan baris:
ObjRset.AddNew Field, Nilai Rendra Gustriansyah©2003
22
Rendra Gustriansyah©2003
Pemrograman Internet
23
Set ObjRset = ObjConn.Execute(CommandText, RecordsAffected, Options) Untuk perintah yang tidak menghasilkan baris: ObjConn.Execute CommandText, RecordsAffected, Options CommandText adalah string yang mengandung pernyataan SQL, nama tabel, prosedur tersimpan, atau teks spesifik sebuah provider yang akan dieksekusi. RecordsAffected adalah suatu nilai yang menunjukkan jumlah record yang akan dikenai metode Execute Options adalah nilai yang menunjukkan bagaimana provider harus mengevaluasi properti CommandText. Options adCmdText
adCmdTable
adCmdStoredProc
adCmdUnknown
Keterangan Mengindikasikan bahwa provider harus mengevaluasi CommandText sebagai definisi tekstual dari sebuah perintah, misalnya pernyataan SQL. Mengindikasikan bahwa provider harus mengevaluasi CommandText sebagai nama tabel. Mengindikasikan bahwa provider harus mengevaluasi CommandText sebagai prosedur tersimpan. Mengindikasikan bahwa jenis perintah dalam CommandText tidak diketahui.
Pemrograman Internet
23
24
AdBookmarkCurrent Mulai dari current record adBookmarkFirst Mulai dari record pertama adBookmarkLast Mulai dari record terakhir Fields adalah variant yang menunjukkan nama field tunggal atau indeks array dari nama field. Start adBookmarkCurrent adBookmarkFirst adBookmarkLast
Keterangan Mulai dari current record. Mulai dari record pertama. Mulai dari record terkahir.
3.1.6 Metode MoveFirst, MoveLast, MoveNext, dan Move Previous Keempat metode ini digunakan untuk menuju ke record pertama (Movefirst), terakhir (MoveLast), berikutnya (MoveNext), atau sebelumnya (MovePrevious). Metode ini hanya dapat diterapkan untuk objek Recordset. Sintaksisnya adalah sebagai berikut: Recordset.[MoveFirst | MoveLast | MoveNext | MovePrevious]
3.1.7 Metode Open (Connection) Metode Open digunakan untuk membuka koneksi dengan sumber data sebuah database. Metode ini hanya dapat diterapkan pada objek Connection. Sintaksisnya adalah sebagai berikut: Connection.Open ConnectionString, UserID, Password
3.1.5 Metode GetRows Metode GetRows digunakan untuk memanggil records yang terdapat pada recordset ke sebuah array. Metode ini hanya dapat diterapkan pada objek Recordset. Sintaksisnya adalah sebagai berikut: Array = recordset.GetRows(Rows, Start, Fields Rows adalah ekspresi yang menunjukkan banyaknya record yang dipanggil. Start adalah sebuah string atau variant yang menunjukkan dari posisi record mana metode GetRows dimulai. Nilai Start adalah:
ConnectionString adalah sebuah string yang berisi informasi koneksi. UserID dan Password adalah sebuah string yang berisi nama user dan password yang diperbolehkan mengakses sumber data.
3.1.8 Metode Open (Recordset) Metode Open digunakan untuk membuka sebuah recordset. Metode ini hanya dapat diterapkan pada objek Recordset.Sintaksisnya adalah: objRset.Open Source, Koneksi, TipeKursor, TipeLock, Options
Start Rendra Gustriansyah©2003
Keterangan Rendra Gustriansyah©2003
Pemrograman Internet
25
Source adalah sebuah variant yang mengevaluasi perintah, nama variabel, pernyataan SQL, atau prosedur tersimpan pada objek Command. Koneksi adalah nama koneksi yang digunakan, misal: DSN dari ODBC, dll. TipeKunsor adalah cara object recordset mendefinisikan kursor. Nilai Konstanta Keterangan 0 adOpenForwardOnly Recordset bertipe forward only (default) 1 adOpenKeyset Recordset bertipe key set 2 adOpenDynamic Recordset bertipe dynamic 3 adOpenStatic Recordset bertipe static adOpenForwardOnly adalah tipe kursor default. Recordset tipe ini tidak mendukung beberapa metode seperti movenext, moveprevious, movelast dan recordcount. Untuk mengambil data secara berurutan, tipe kursor ini paling cepat dan efisien. adOpenDynamic adalah tipe kursor yang memperbolehkan semua gerakan pointer pada recordset. Pada tipe kursor ini, user dapat melihat penambahan data, perubahan data atau penghapusan data yang dilakukan user lainnya. adOpenKeyset adalah tipe kursor yang juga memperbolehkan semua gerakan pointer pada recordset. Pada tipe kursor jenis ini, user dapat melihat perubahan data yang dilakukan oleh user lainnya termasuk penghapusan data. Namun kursor tipe ini tidak memperbolehkan user untuk mengetahui perubahan data yang dilakukan oleh user lainnya. adOpenStatic adalah tipe kursor yang membuat salinan statis dari recordset yang diambil. Pada tipe kursor ini semua penambahan data, perubahan data, maupun penghapusan data oleh user lainnya tidak dapat dilihat. TipeLock adalah suatu nilai yang menentukan tipe penguncian record yang sedang digunakan untuk membuka Recordset. Nilai 1
Konstanta adLockReadOnly
2
adLockPessimistic
3
adLockOptimistic
Rendra Gustriansyah©2003
Keterangan Tidak mengizinkan user untuk mengganti recordset (default) Tidak mengizinkan user lain untuk mengganti recordset selama user masih dalam mode penggantian data Tidak mengizinkan user lain mengganti recordset hanya saat
Pemrograman Internet
4
25
26
adLockBatchOptimistic
metode update sedang dijalankan Seperti di atas, hanya dilakukan pada batch mode
Options adalah suatu nilai yang menunjukkan bagaimana provider harus mengevaluasi argumen Source bila isinya bukan objek Command. Nilai 1
Konstanta adCmdText
2
adCmdTable
4
adCmdStoredProc
8
adCmdUnknown
Keterangan Mengidentifikasikan bahwa string SQL adalah teks atau query perintah SQL. Mengidentifikasikan bhw string SQL adalah tabel atau view. Mengidentifikasikan bhw string SQL adalah prosedur tersimpan. Option ini digunakan untuk semua keperluan, jika string pada argumen sumber tidak diketahui.
Contoh: <% Set rst = server.createobject("ADODB.Recordset") %>
Sebenarnya Anda bisa melakukan hubungan ke database dengan menggunakan objek connection. Namun jika web Anda hanya membutuhkan satu kali koneksi ke database, maka pilihan terbaik menggunakan recordset. Karena akan menghemat memori server dan menghemat waktu yang diperlukan untuk inisialisasi dan deinisialisasi objek. Tetapi jika Anda memerlukan banyak koneksi ke database, lebih baik Anda menggunakan objek connection. Artinya Anda hanya akan membuka satu kali koneksi selama halaman web Anda membutuhkan.
3.1.9 Metode Update Metode Update digunakan untuk menyimpan perubahan yang terjadi pada sebuah recorset. Metode ini hanya dapat diterapkan pada objek Recordset Sintaksisnya sebagai berikut: Recordset.Update Fields, Values
Rendra Gustriansyah©2003
Pemrograman Internet
27
Fields adalah variant yang merujuk pada nama tunggal atau nama array dari field yang akan dimodifikasi. Values adalah nilai tunggal atau array yang digunakan untuk memodifikasi field.
Database pada ASP
4 4.1 Pengertian Database Database dapat digambarkan sebagai lemari-lemari tempat menyimpan arsip. Anda dapat menyimpan arsip-arsip Anda dengan banyak cara, misalkan arsip keuangan di rak A, sementara arsip pajak di rak B. Untuk setiap rak pun, Anda bebas mengatur cara penyimpanannya. Demikian juga pada database, database tidak hanya sebatas masalah penyimpanan saja, namun juga terdapat mesin pemilah data (searching). Di database, hal ini dilakukan oleh structured query language (SQL).
4.2 Structured Query Language SQL adalah bahasa yang dikhususkan untuk mengoperasikan perintahperintah yang berhubungan dengan database.
4.2.1 Statemen Select
Pemrograman Internet
27
28
SELECT nama FROM pengarang
Anda pun bisa memilih beberapa field yang akan ditampilkan atau semua field dengan memberikan tanda * seperti contoh di bawah ini: SELECT nama, alamat FROM pengarang SELECT * FROM pengarang
4.2.2 Statemen Where Dengan menambahkan Where di belakang perintah Select, Anda dapat memfilter data yang hendak ditampilkan dengan syarat tertentu. Contoh: SELECT nama FROM pengarang WHERE nama = 'Rendra Gustriansyah'
Filter data ini dapat dikombinasikan dengan operator logika. Contoh: SELECT a,b FROM mydata WHERE a>5 OR b<7
4.2.3 Operator Kisaran (Between dan Not Between) Operator Between digunakan untuk mencari data dalam sebuah range. Operator Not Between untuk mencari data di luar range data tertentu. Contoh: SELECT harga FROM buku WHERE harga NOT BETWEEN 100 AND 300 SELECT judul, harga FROM buku WHERE harga BETWEEN 100 AND 300
Identik dengan: Statemen Select digunakan untuk memilih kumpulan record (recordset) dari sebuah tabel atau query tertentu. Sintaksisnya sebagai berikut: SELECT {*|nama field} FROM nama tabel [INTO tabel tujuan][WHERE kondisi] Contoh perintah di bawah ini akan memilih semua record nama dari tabel pengarang.
Rendra Gustriansyah©2003
SELECT judul,harga harga<=300
FROM
buku
WHERE
harga>=100
AND
4.2.4 Operator List (In) Operator in digunakan untuk memilih record berdasarkan kriteria yang ada pada kemungkinan nilai yang diberikan. Contoh perintah SQL berikut ini akan menampilkan judul dan harga dari tabel buku dengan kategori fiksi atau kategori bisnis. Rendra Gustriansyah©2003
Pemrograman Internet
29
SELECT judul FROM buku WHERE kategori IN ('fiksi', 'bisnis')
Anda juga dapat menggabungkan dengan operator logika NOT untuk mendapatkan hasil record yang mempunyai keadaan di luar Operator ini. Misalkan: SELECT judul FROM buku WHERE kategori NOT IN ('fiksi', 'bisnis')
4.2.5 Operator String (Like) Dengan menggunakan operator like, Anda bisa memfilter data berdasarkan pola pencarian tertentu. Like menggunakan karakter khusus yang dapat digunakan sebagai ekspresi. % _ []
Sembarang karakter Sembarang karakter tunggal Sembarang karakter tunggal yang terdaftar diantara [ dan ]
Contoh penggunaan statemen like yang akan menampilkan daftar judul buku dan harga untuk semua judul buku yang mengandung string ASP: SELECT judul, harga FROM buku WHERE judul LIKE '%ASP'
Contoh perintah SQL yang akan menampilkan daftar judul buku dan harga untuk semua judul buku yang karakter pertamanya adalah A dan karakter ketiganya adalah P, misalkan ASP, APP, AUP, dst. SELECT judul, harga FROM buku WHERE judul LIKE 'A_P'
Contoh perintah SQL yang akan menampilkan daftar judul buku dan harga untuk semua judul buku yang karakter pertamanya adalah A, karakter keduanya adalah S atau P dan karakter ketiganya adalah P. SELECT judul, harga FROM buku WHERE judul LIKE 'A[SP]P'
Atau SELECT judul, harga FROM buku WHERE judul = 'ASP' OR judul = 'APP'
4.2.6 Statemen Order By
Rendra Gustriansyah©2003
Pemrograman Internet
29
30
Statemen ini digunakan untuk menampilkan data secara urut berdasarkan field tertentu. Perintah di bawah ini akan menampilkan daftar buku urut berdasarkan harganya. SELECT judul, harga FROM buku ORDER BY harga
Anda dapat juga mengurutkan data berdasarkan kriteria secara descending atau urut mulai dari yang terbesar menuju yang terkecil dengan menambahkan statemen desc. SELECT judul, harga FROM buku ORDER BY harga DESC
4.2.7 Fungsi Agregat Fungsi Sum() Avg() Min() Max() Count() Count(*)
Deskripsi Total dari field numerik Rata-rata dari field numerik Nilai terkecil dari field numerik maupun string Nilai terbesar dari field numerik maupun string Mengembalikan jumlah data selain data yang bernilai null Mengembalikan jumlah keseluruhan data.
Contoh perintah jika ingin mengetahui jumlah total, rata-rata, harga terendah dan harga tertinggi dari harga buku yang tersedia pada kategori bisnis adalah: SELECT sum(harga), avg(harga), min(harga), max(harga) FROM buku WHERE kategori = 'bisnis '
4.2.8 Statemen Group By Statemen ini digunakan untuk mengelompokkan data berdasarkan field tertentu. Statemen ini biasanya digunakan untuk memperoleh informasi yang berkaitan dengan fungsi agregat. Misal Anda ingin mengetahui berapa jumlah buku yang tersedia untuk masing-masing kategori, Anda dapat melakukannya dengan perintah berikut: SELECT kategori, COUNT(*) FROM buku GROUP BY kategori
Hasilnya: Rendra Gustriansyah©2003
Pemrograman Internet Kategori Bisnis Fiksi Komputer Otomotif
31
Count(*) 20 10 15 10
Apabila statemen group by pada perintah tadi tidak disertakan, maka hasilnya seperti ini: SELECT kategori, COUNT(*) FROM buku
Kategori Bisnis Fiksi Komputer Otomotif
Count(*) 55 55 55 55
Anda juga dapat menambahkan statemen having bersama statemen group by. Fungsi statemen having adalah untuk memfilter data hasil pengelompok tadi. Sebagai contoh Anda ingin mengetahui kategori apa sajakah yang harga buku rata-ratanya lebih besar dari 15.000. Untuk keperluan ini dapat dituliskan perintah berikut: SELECT kategori, Avg(harga) FROM buku GROUP BY kategori HAVING avg(price) > 15000
4.2.9 Query Multi Tabel Anda dapat membuat query yang melibatkan dua atau lebih tabel dengan memanfaatkan statemen WHERE. Contoh: SELECT buku.judul, pengarang.nama FROM buku, pengarang WHERE buku.idpengarang=pengarang.id SELECT buku.judul, pengarang.nama, penerbit.nama FROM buku, pengarang, penerbit WHERE buku.idpengarang=pengarang.id AND buku.idpenerbit=penerbit.id
4.2.10 Sub-Query
Rendra Gustriansyah©2003
Pemrograman Internet
31
32
Anda dapat membuat query dan memfilternya berdasarkan query lain. Cara ini disebut dengan sub-query. Contoh: SELECT judul FROM buku WHERE idpengarang IN (SELECT idpengarang FROM pengarang WHERE nama= 'Rendra Gustriansyah')
Perintah di atas akan menampilkan semua judul buku yang nama pengarangnya adalah Rendra Gustriansyah. Anda juga dapat menggunakan sub-query dengan memakai statemen where exists. SELECT nama FROM penerbit WHERE EXISTS (SELECT * FROM buku WHERE buku.idpenerbit=penerbit.id AND kategori='bisnis')
Contoh di atas akan menampilkan daftar penerbit yang sudah menerbitkan buku dengan kategori bisnis. Anda juga dapat menuliskan perintah di atas dengan cara lain, yaitu: SELECT nama FROM penerbit, buku WHERE penerbit.id=buku.idpenerbit AND kategori= 'bisnis '
Perintah di atas akan menghasilkan daftar nama penerbit yang pernah menghasilkan buku dengan kategori bisnis, tetapi penerbit yang sama bisa terulang sampai beberapa kali. Anda bisa menambahkan perintah distinct agar nama penerbit hanya sekali ditampilkan. SELECT DISTINCT(nama) FROM penerbit, buku WHERE penerbit.id=buku.idpenerbit AND kategori= 'bisnis '
Penggunaan statemen distinct pada contoh di atas akan menyebabkan server database terlebih dahulu mengurutkan tabel dan ini jauh lebih lambat ketimbang pemakaian statemen exists. Pemakaian statemen exists dan in juga sangat berguna untuk menampilkan daftar data yang berstatus bukan anggota atau tidak ada. Misalkan saja kasus untuk menampilkan nama penerbit yang tidak pernah menerbitkan buku dengan kategori bisnis. Hal ini tidak akan dapat dilakukan dengan sub-query, namun Anda bisa melakukan dengan statemen not exist atau not in seperti contoh berikut: SELECT name FROM penerbit WHERE NOT EXISTS (SELECT * FROM buku WHERE buku.idpenerbit=penerbit.id AND kategori='bisnis')
atau
Rendra Gustriansyah©2003
Pemrograman Internet
33
SELECT nama FROM penerbit WHERE id NOT IN (SELECT idpenerbit FROM buku WHERE kategory='bisnis')
4.2.11 Union Statemen ini berguna untuk mendapatkan data hasil penggabungan dua atau lebih tabel. Contoh pemakaian statemen union adalah untuk menampilkan daftar kota dimana pengarang berada dan daftar kota dimana penerbit berada. Perhatikan contoh berikut: SELECT kota FROM pengarang UNION SELECT kota FROM penerbit
Perintah ini akan menampilkan semua kota yang ada pengarangnya dan semua kota yang ada penerbitnya. Apabila pada penggabungan kota tempat terbit, sebelumnya telah ada di pengarang maka kota tidak akan dimasukan lagi ke recordset gabungan, maka harus ditambahkan statemen all pada union. Dengan catatan, jumlah kolom pada setiap tabel yang digabungkan haruslah sama.
4.2.12 Statemen Into Statemen SELECT juga bisa dipergunakan untuk membuat tabel baru dengan menambahkan statemen into seperti contoh: SELECT nama INTO daftarkota FROM penerbit WHERE nama LIKE 'A%'
Contoh di atas akan membuat tabel baru bernama daftarkota. Berikutnya Anda dapat melakukan query pada tabel tersebut, misalnya: SELECT nama FROM daftarkota
4.2.13 Membuat Tabel Statemen create table dapat digunakan untuk membuat tabel pada suatu database. CREATE TABLE mahasiswa ( Id numeric(10,0) identify, Nama varchar(30) not null Alamat varchar(255) not null Keterangan varchar(255) null )
Rendra Gustriansyah©2003
Pemrograman Internet
33
34
4.2.14 Menghapus Tabel DROP TABLE mahasiswa
4.2.15. Statemen Insert Berfungsi untuk menyisipkan data pada tabel yang sudah ada. Sintaksisnya adalah sebagai berikut: INSERT INTO nama tabel [(field1[,field2,…])] VALUES(ekspresi1,[ekspresi2,…]) Contoh: INSERT INTO mahasiswa(id, nama, kota) VALUES(12, 'Rendra', 'Palembang')
4.2.16 Statemen Update Statemen ini digunakan untuk mengoreksi field dari data yang sudah tersedia di tabel. Contoh ini akan mengganti data pada tabel mahasiswa yang bernomor id 12, dimana nama Rendra akan diubah menjadi Ali. Sintaksisnya adalah sebagai berikut: UPDATE nama tabel SET kriteria WHERE kondisi Contoh: UPDATE mahasiswa SET nama='Ali' WHERE id=12
4.2.17 Statemen Delete Statemen ini digunakan untuk menghapus semua atau sebagian data dari tabel di database. Contoh berikut ini akan menghapus data mahasiswa yang namanya berawalan huruf 'A'. Contoh: DELETE mahasiswa WHERE nama like 'A%'
4.2.18 View View adalah tabel sementara yang digunakan untuk menampung sebagaian atau keseluruhan isi tabel. Biasanya view digunakan untuk alasan Rendra Gustriansyah©2003
Pemrograman Internet
35
sekuriti. Contoh yang sederhana, operator Ali di kota Palembang hanya boleh melihat data nama pengarang yang ada di kota Palembang. Untuk permintaan semacam ini perintah SQL yang harus ditulis adalah: CREATE VIEW pengarangplg as SELECT * FROM pengarang WHERE kota='Palembang'
Pemrograman Internet
35
36
4.3 Mengakses Sumber Data Kemampuan untuk mengakses sumber data yang dimiliki oleh ADO ada dua macam, yaitu menggunakan OLEDB (Object Linking and Embedding Database) dan menggunakan ODBC (Open Database Connectivity). Sintaksisnya adalah sebagai berikut: set ObjVar = Server.CreateObject("ADODB.Connection") ObjVar.open "(OLEDB | ODBC) ObjVar adalah nama variabel yang digunakan untuk menyimpan objek ADODB.Connection.
4.3.1 OLEDB Untuk mengakses sumber data menggunakan OLEDB, langkah pertama yang harus dilakukan adalah "memberitahukan" kepada ADO dimana letak file sumber data tersebut. "Pemberitahuan" tersebut berupa sebuah string yang disebut connection string. Sumber Data OLEDB Connection String Microsoft Access Provider=Microsoft.Jet.OLEDB.4.0; Data source=letak file.mdb Microsoft SQL Provider=SQLOLEDB; User ID=ali; Server Password=Rendra; Data Source=nama server; Initial Catalog = database pada server Oracle Provider=MSDAORA.1; Data Source=letak database pada server Microsoft Provider=MSIDXS.1;Data Source=letak file Indexing Service Interbase Provider=MSDASQL.1;Password=masterkey; Persist Security Info=True; User ID=sysdba;Data Source=ibdsn1 Contoh: <% Set con=Server.CreateObject("ADODB.Connection") Con.open "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data Source= C:\contoh.mdb" %>
Rendra Gustriansyah©2003
Rendra Gustriansyah©2003
Pemrograman Internet
37
Kelebihan penggunaan OLEDB adalah akses yang lebih cepat, lebih stabil dan pemakaian lebih mudah. Kelemahannya adalah provider yang tersedia masih terbatas.
4.3.2 ODBC Kelebihan ODBC adalah lebih banyak driver (provider) database yang tersedia daripada OLEDB. Namun lebih kompleks, lebih lambat dan kaku. Langkah pertama yang harus dilakukan untuk menggunaka ODBC adalah memasukan file data ke dalam ODBC data source. Pada windows 9x, ODBC data source terletak pada Control Panel, sedangkan pada windows 2k, ODBC data source terletak pada Control Panel | Administrative Tools. Jika user DSN (Data Source Name) digunakan maka hanya komputer tersebut saja yang dapat mengakses sumber data. Jika System DSN digunakan maka semua komputer yang memiliki jaringan yang sama dengan komputer tersebut dapat mengakses sumber data, sedangkan file DSN akan memberikan akses multi user terhadap sumber data, serta mudah ditransfer dari satu server ke server lain dengan menyalinkan file DSN tersebut. Untuk Web database, maka DSN yang digunakan adalah System DSN atau file DSN. Langkah untuk mengonfigurasi System DSN adalah sebagai berikut: 1. Pada ODBC data source, pilihlah tab System DSN; 2. Klik tombol Add; 3. Pilihlah driver yang sesuai untuk file database yang digunakan, kemudian klik Finish; 4. Selanjutnya akan muncul window yang menanyakan nama untuk sumber data tersebut dan file database yang digunakan. <% set namaobjek = Server.CreateObject("ADODB.Connection") namaobjek.open "nama sumber data" %> Langkah untuk mengonfigurasi File DSN adalah sebagai berikut: 1. Pada ODBC data source, pilihlah tab File DSN; 2. Klik tombol Add; 3. Pilihlah driver yang sesuai untuk file database yang digunakan, lalu klik Next; 4. Kemudian masukan nama untuk file DSN tersebut, lalu klik Next, Finish. Nama file tersebut nantinya akan diberi ekstensi .dsn; 5. Selanjutnya masukan file database yang digunakan. Rendra Gustriansyah©2003
Pemrograman Internet
37
38
<% set namaobjek = Server.CreateObject("ADODB.Connection") namaobjek.open "FILEDSN=namafile.dsn" %>
ODBC Tanpa DSN Objek ADO memungkinkan kita untuk berhubungan dengan database melalui ODBC tanpa menggunakan DSN. Artinya Anda bisa langsung menuju file sistem dari database. Penggunaan ODBC tanpa DSN ini lebih cepat daripada melalui DSN. Contoh: <% Set con=Server.CreateObject("ADODB.Connection") Con.open "Driver={Microsoft Access Driver (*.mdb)}; " & _ "Dbq=C:\contoh.mdb" %>
Atau <% Set con=Server.CreateObject("ADODB.Connection") Con.open "Driver={Microsoft Visual FoxPro Driver }; " & _ "Dbq=C:\contoh.dbf" %>
Atau Con.Open "Driver={mySQL}; Server=192.168.0.1; Port=3306; " & _ "Option=0; Socket=; Stmt=; Database=data; " & _ "Uid=ali; Pwd=rendra;"
4.4 Menampilkan Data <% set objVar1 = Server.CreateObject("ADODB.Connection") objVar1.open "nama sumber data"
set objVar2 = Server.CreateObject("ADODB.Recordset") objVar2.open "perintah SQL"
Do Until objVar2.EOF objVar2(namafield1) objVar2(namafield2) … Rendra Gustriansyah©2003
Pemrograman Internet objVar2.MoveNext Loop objVar2.close objVar1.close objVar2=Nothing objVar1=Nothing %>
39
'memanggil baris berikutnya
Contoh: <% Set objConn = CreateObject("ADODB.Connection") objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data Source=C:\db.mdb") set rstrecord = CreateObject("ADODB.Recordset") rstrecord.Open ("SELECT * FROM list " & _ "WHERE Show ORDER BY Date Desc"), objConn do while not rstrecord.EOF Response.Write("" & rstrecord("Date")) Response.Write(" ") Response.Write("" & rstrecord("List")) Response.Write(" ") Response.Write(" ") Response.Write(" ") rstrecord.MoveNext loop rstrecord.Close objConn.close set rstrecord = nothing set objConn = nothing %>
4.5 Menambah Data Baru Untuk menambah data baru, Anda menggunakan dua halaman web. Pertama untuk membuat form pengisian dan yang kedua untuk memasukan data ke database beserta verifikasinya. Contoh:
Rendra Gustriansyah©2003
Pemrograman Internet
39
40
1. web form pengisian: <TITLE>Query Data