SlideShare a Scribd company logo
1 of 43
Download to read offline
KATA PENGANTAR



        Puji syukur kami panjatkan kepada Allah SWT atas rahmat dan karunia-Nya, sehingga
Modul Praktikum Pemrograman Jaringan dan Internet ini dapat diselesaikan. Modul ini adalah
panduan praktikum mata kuliah Pemrograman Web yang merupakan mata kuliah pilihan yang
dapat diambil oleh setiap mahasiswa Jurusan Ilmu Komputer di Universitas Pakuan Bogor.
       Modul praktikum ini terdiri dari 7 bab. Bab I membahas mengenai perintah-perintah umum
yang digunakan dalam jaringan, Windows Socket serta perintah dasar untuk koneksi jaringan
menggunakan Windows Socket.
        Bab II membahas mengenai tipe koneksi jaringan: connection-oriented dan connectionless-
oriented serta pengiriman dan penerimaan data melalui jaringan dan internet.
       Bab III membahas mengenai WinInet, penggunaan kontrol ActiveX WinInet serta kontrol
WebBrowser untuk mengakses internet. Selain itu dibahas pula cara pemrograman untuk mengirim
email.
      Bab IV membahas mengenai Web Browser dan HyperText Markup Language (HTML) untuk
memformat tampilan halaman web.
       Bab V membahas mengenai dasar-dasar pemrograman web menggunakan PHP Hypertext
Preprocessor (PHP).
        Bab VI membahas mengenai dasar-dasar pengolahan data menggunakan MySQL sebagai
server database untuk lingkungan web.
      Bab VII membahas mengenai dasar-dasar pemrograman               database    berbasis   web
menggunakan PHP Hypertext Preprocessor (PHP) dan MySQL.
       Di setiap bab disajikan teori-teori yang mendasari pembahasan, kemudian diberikan
contoh-contoh program sederhana untuk lebih memahami teori yang diberikan.
        Modul praktikum ini hanya membahas dasar-dasar pemrograman jaringan dan internet
yang dirasa perlu dan banyak digunakan sampai saat modul ini dibuat. Bahkan pada beberapa
bagian hanya diberikan ulasan singkat mengenai topik yang dibicarakan. Hal ini dilakukan karena
tidaklah mungkin untuk menyajikan pemrograman jaringan dan internet dalam sebuah modul
praktikum secara mendetail.
        Kami menyadari bahwa modul praktikum ini masih jauh dari sempurna. Saran dan kritik
yang membangun sangatlah diharapkan. Pertanyaan, saran dan kritik dapat disampaikan langsung
melalui      email:     masagus_setiawan@yahoo.com,         atau        melalui      website:
http://www.masagus.co.cc/leavemsg.html.




                                                                    Bogor, April 2008
                                                                       Penyusun



                                                              Foni Agus Setiawan, S.Kom.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                      i
DAFTAR ISI


KATA PENGANTAR ........................................................................................         i

DAFTAR ISI .................................................................................................    ii

BAB    1    DASAR-DASAR PEMROGRAMAN JARINGAN ..........................................                         1

BAB    2    PENGIRIMAN DAN PENERIMAAN DATA PADA JARINGAN ........................                               6

BAB    3    WEBBROWSER, WININET DAN MAPI ..................................................                    10

BAB    4    PENGENALAN HYPERTEXT MARKUP LANGUAGE (HTML) .........................                              15

BAB    5    PENGENALAN PHP HYPERTEXT PREPROCESSOR (PHP) ...........................                            27

BAB    6    DASAR-DASAR PENGOLAHAN DATA MENGGUNAKAN MySQL ..................                                   35

BAB    7    PEMROGRAMAN DATABASE MENGGUNAKAN PHP .................................                             39

DAFTAR PUSTAKA




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                                      ii
BAB 1
                DASAR-DASAR PEMROGRAMAN JARINGAN



Pendahuluan
       Pada tahun 1972, lembaga riset Departemen Pertahanan Amerika Serikat, DARPA (Defense
Advance Research Project Agency) telah berhasil membangun jaringan komunikasi data antar
komputer pertama di dunia yang kemudian diberi nama ARPANET. Sejak saat itu, aplikasi-aplikasi
yang digunakan untuk jaringan dan internet mulai dibuat dan diminati. Aplikasi internet yang
pertama kali ditemukan adalah FTP, menyusul kemudian email dan telnet. Dunia pemrograman
jarngan dan internet menjadi semakin ramai sekitar tahun 1990-an sampai sekarang seiring
dengan ramainya penggunaan internet.
        Jaringan TCP/IP termasuk internet pertama kali dibangun di atas platform UNIX.
Pemrograman jaringan di dalam sistem operasi UNIX menggunakan standar pustaka yang disebut
dengan Socket. Microsoft Windows sebagai sebuah sistem operasi yang mendukung protocol
TCP/IP pun kemudian menggunakan standar ini. Dalam Windows, implementasi socket ini diberi
nama WinSock. Tanpa socket, sebuah sistem operasi tidak akan dapat mengimplementasikan
protocol TCP/IP. Penguasaan akan WinSock menjadi pintu gerbang bagi seorang programmer
jaringan di lingkungan sistem operasi Windows.



Perintah-Perintah Umum Jaringan
        Perintah-perintah di bawah ini berguna untuk menganalisa dan memperbaiki masalah-
masalah yang berhubungan dengan jaringan dan internet. Beberapa dari perintah-perintah
tersebut hanya dapat bekerja pada sebuah server dengan sistem operasi Microsoft Windows.

   Perintah                              Kegunaan                              Keterangan
 Arp             Melihat ARP (Address Resolution Protocol) cache pada
                 interface komputer lokal.
 Hostname        Menampilkan nama host komputer lokal.                        Hanya pada
                                                                              server
                                                                              Windows.
 Ipconfig        Menampilkan konfigurasi jaringan TCP/IP dan DHCP,
                 mengalokasikan, menampilkan dan mendaftarkan nama
                 DNS.
 Nbtstat         Mengecek keadaan NetBIOS yang dipakai dalam koneksi
                 jaringan TCP/IP, mengupdate nama NetBIOS cache dan
                 menentukan registrasi nama dan scope ID.
 Netstat         Menampilkan statistik koneksi pada jaringan TCP/IP
 Nslookup        Mengecek record, domain host aliases, domain host services   Hanya pada
                 dan informasi sistem operasi dengan proses query DNS.        server
                                                                              Windows.
 Ping            Mengirim ICMP Echo Requests untuk mengecek apakah
                 konfigurasi TCP/IP sudah benar dan sistem TCP/IP pada
                 remote host ada atau tidak.
 tracert         Trace path jalur penyampaian data kepada remote host.
 pathping        Trace path pada remote host dan melaporkan paket yang        Hanya pada
                 hilang pada masing-masing router sepanjang jalur             server
                 pengiriman data.                                             Windows.



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                   1
Route                Menampilkan tabel routing IP serta menambah atau
                      menghapus rute IP.

                           Tabel 1.1 Perintah-Perintah Umum pada Jaringan TCP/IP.


         Sintaks lengkap masing-masing perintah dapat dilihat dengan cara mengetik: <perintah>
/help.


Windows Socket (Winsock)
        Pada pendahuluan telah disinggung bahwa socket merupakan inti dari pemrograman
jaringan. Winsock merupakan standar API jaringan pada semua varian dari sistem operasi
Microsoft Windows. Sampai saat modul ini ditulis, Winsock mencapai versi 2.0 yang merupakan
penyempurnaan dari versi 1.1.

       Inti rutin-rutin Winsock berada pada file WS2_32.DLL. Untuk memudahkan pemrograman
dengan kontrol ActiveX, Microsoft telah membuat kontrol Winsock yang diimplementasikan pada
file MSWINSCK.OCX. Untuk mempermudah pengertian dan pembahasan, contoh-contoh program
pada modul ini akan menggunakan kontrol Winsock yang diimplementasikan pada bahasa
pemrograman Microsoft Visual Basic versi 6.0.


Cara Kerja Winsock
       Misalnya terdapat dua buah komputer: client dan server yang ingin berhubungan.
Langkah-langkah untuk mengadakan koneksi, mengirim data sampai pemutusan koneksi dapat
digambarkan sebagai berikut.

1.   Mula-mula server akan mendengarkan (listen) permintaan koneksi pada nomor port tertentu.
     Nomor port digunakan untuk membedakan aplikasi pada sebuah sistem komputer.
2.   Client yang ingin berhubungan meminta koneksi kepada server (connect).
3.   Server menerima koneksi dari client (accept).
4.   Selanjutnya baik client atau server dapat saling berkirim (senddata) dan menerima data
     (getdata).
5.   Client menutup koneksinya.
6.   Server mengetahui dan menutup koneksi terhadap client tersebut.



                1
                                   2


                                                                               3
                                                         4



         6                        5
             Server                                                                 Client

                                       Gambar 1.1 Cara kerja Winsock.



Cara Penggunaan Kontrol Winsock
        Agar dapat menggunakan kontrol Winsock, Anda harus menambahkan komponen tersebut
ke dalam project dengan cara mengklik Project|Components… atau menekan Ctrl+T. Beri tanda
cek kontrol yang bernama Microsoft Winsock Control 6.0, lalu tekan Apply atau OK, maka icon
kontrol Winsock akan terlihat pada Toolbar. Selanjutnya, kontrol Winsock dapat digunakan seperti
penggunaan kontrol-kontrol standar lainnya.


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                     2
Gambar 1.2 Menambahkan kontrol Winsock ke dalam project.

        Properties, Methods dan Events yang umum digunakan pada obyek Winsock beserta
fungsinya dapat dilihat pada tabel di bawah ini.

          Nama             Jenis                                 Fungsi
 Accept                   method       Menerima permintaan koneksi yang datang
 Bind                     method       Menerbitkan koneksi pada mode UDP (connectionless-
                                       oriented)
 BytesReceived           property      Mengembalikan nilai banyaknya byte data yang diterima
 Close                     event       Dipicu ketika socket ditutup
 Close                    method       Menutup socket
 Connect                  method       Menerbitkan    koneksi   pada   mode      TCP   (connection-
                                       oriented)
 ConnectionRequest         event       Dipicu ketika ada remote host yang meminta koneksi
 DataArrival               event       Dipicu ketika ada pengiriman data dari remote host
 Error                     event       Dipicu ketika terjadi error pada socket
 GetData                  method       Mengambil data yang datang
 LocalHostName           property      Mendapatkan nama komputer lokal
 LocalIP                 property      Mendapatkan IP komputer lokal
 LocalPort               property      Mendapatkan nomor port komputer lokal yang dibuka
                                       untuk koneksi
 Protocol                property      Menentukan atau mendapatkan jenis koneksi: TCP atau
                                       UDP
 RemoteHost              property      Mendapatkan nama remote host
 RemoteHostIP            property      Mendapatkan IP remote host
 RemotePort              property      Mendapatkan nomor port remote host yang dibuka untuk
                                       koneksi
 SendComplete              event       Dipicu ketika sebuah sesi pengiriman data telah selesai
 SendData                  event       Dipicu ketika pengiriman data mulai dilakukan


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                         3
SendProgress                event       Dipicu selama pengiriman data dilakukan untuk melihat
                                         progress-nya
 State                      property     Mendapatkan status socket

                Tabel 1.2 Properties, Methods dan Events yang umum digunakan pada obyek Winsock.


        Penjelasan lebih detail mengenai fungsi rutin-rutin di atas dapat dilihat pada MSDN pada
topik Winsock Control.



Latihan 1.1 Mendapatkan Nama dan Alamat IP Komputer Lokal

1.   Buatlah sebuah proyek dengan nama LocalIP.vbp.
2.   Buat sebuah form bernama frmLocalIP dengan tampilan sebagai berikut.




                txtHost


                                                                                   txtIP


                   sck




3.   Set properties-nya menjadi sebagai berikut.

      Obyek               Property              Nilai
      txtHost             BackColor             &H00C0C0C0&
      txtHost             Locked                True
      txtIP               BackColor             &H00C0C0C0&
      txtIP               Locked                True

4.   Tambahkan kode seperti di bawah ini.

     Private Sub cmdClose_Click()
         Unload Me
     End Sub

     Private Sub cmdResolve_Click()
         txtHost.Text = sck.LocalHostName
         txtIP.Text = sck.LocalIP
     End Sub

     Private Sub Form_Load()
         Show
         cmdResolve.SetFocus
     End Sub

5.   Jalankan program. Tekan tombol Resolve, maka nama komputer dan alamat IP-nya akan
     tertera.



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                          4
BAB 2
      PENGIRIMAN DAN PENERIMAAN DATA PADA JARINGAN



Pendahuluan
       Pada Bab I telah dijelaskan mengenai cara kerja Winsock untuk melakukan komunikasi
data pada jaringan. Pada dasarnya, socket mengenal dua macam protokol koneksi pada jaringan:
TCP yang bersifat connection-oriented, reliable dan byte stream service serta UDP yang bersifat
connectionless-oriented.
        Connection-oriented berarti koneksi antara client dan server harus terbentuk terlebih
dahulu sebelum dilakukan pertukaran data. Reliable berarti TCP menerapkan proses deteksi
kesalahan dan retransmisi. Sedangkan byte stream service berarti paket dikirimkan dan sampai ke
tujuan secara berurutan.
        Pada TCP, untuk menghubungi server digunakan method Connect, sedangkan pada UDP
digunakan method Bind. Latihan di bawah ini menerapkan konsep pengiriman dan penerimaan
data pada jaringan menggunakan protokol TCP. Implementasi protokol UDP lebih mudah namun
lebih jarang penggunaannya dalam pemrograman jaringan. Untuk menambah wawasan, Anda
dapat melihat contoh cara pengimplementasian protokol UDP ini pada MSDN pada bagian Using
Winsock Control.


Latihan 2.1 Mengirim dan Menerima Data Melalui Jaringan

1.   Buatlah sebuah proyek bernama TCPServer.vbp.
2.   Tambahkan sebuah form bernama frmChat dengan tampilan sebagai berikut.




                            txtMsg




                                                txtChat




3.   Set property Enabled pada cmdDisconnect menjadi False.
4.   Set property Locked pada txtChat menjadi True.
5.   Ketikkan kode berikut pada tempatnya yang sesuai.


     Private Const PortNumber = 4000

     Private Sub cmdClose_Click()
         Unload Me
     End Sub



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                    5
Private Sub cmdDisconnect_Click()
         sck.Close

         cmdDisconnect.Enabled = False
         cmdListen.Enabled = True
     End Sub

     Private Sub cmdListen_Click()
         sck.LocalPort = PortNumber
         sck.Listen

         cmdListen.Enabled = False
         cmdDisconnect.Enabled = True
         txtMsg.SetFocus
     End Sub

     Private Sub cmdSend_Click()
         sck.SendData txtMsg.Text
     End Sub

     Private Sub Form_Load()
         Show
         cmdListen.SetFocus
     End Sub

     Private Sub sck_Close()
         sck.Close
     End Sub

     Private Sub sck_ConnectionRequest(ByVal requestID As Long)
         If sck.State <> sckClosed Then
             sck.Close
         End If
         sck.Accept requestID
     End Sub

     Private Sub sck_DataArrival(ByVal bytesTotal As Long)
         Dim sData As String

         sck.GetData sData
         txtChat.Text = txtChat.Text & sData & vbCrLf
     End Sub

     Private Sub sck_SendComplete()
          txtMsg.Text = ""
     End Sub

6.   Bukalah jendela Microsoft Visual Basic yang baru, lalu buat sebuah proyek bernama
     TCPClient.vbp.
7.   Tambahkan sebuah form bernama frmChat dengan tampilan sebagai berikut.



                          txtMsg




                                            txtChat




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                           6
8. Set property Enabled pada cmdDisconnect menjadi False.
9. Set property Locked pada txtChat menjadi True.
10. Ketikkan kode berikut pada tempatnya yang sesuai.

    Private Const RemoteHost = "Masagus"       'Nama server chat
    Private Const PortNumber = 4000

    Private Sub cmdClose_Click()
        Unload Me
    End Sub

    Private Sub cmdConnect_Click()
        sck.Connect RemoteHost, PortNumber
    End Sub

    Private Sub cmdDisconnect_Click()
        sck.Close

        cmdDisconnect.Enabled = False
        cmdConnect.Enabled = True
    End Sub

    Private Sub cmdSend_Click()
        sck.SendData txtMsg.Text
    End Sub

    Private Sub Form_Load()
        Show
        cmdConnect.SetFocus
    End Sub

    Private Sub sck_Close()
        sck.Close
    End Sub

    Private Sub sck_Connect()
        cmdConnect.Enabled = False
        cmdDisconnect.Enabled = True
        txtMsg.SetFocus
    End Sub

    Private Sub sck_DataArrival(ByVal bytesTotal As Long)
        Dim sData As String

        sck.GetData sData
        txtChat.Text = txtChat.Text & sData & vbCrLf
    End Sub

    Private Sub sck_SendComplete()
         txtMsg.Text = ""
    End Sub


11. Jalankan TCPServer.vbp, kemudian tekan tombol Listen.
12. Jalankan TCPClient.vbp, kemudian tekan tombol Connect.
13. Cobalah untuk saling berkirim data.



Tugas
1. Pada program di atas, nama komputer yang mengirim data tidak tampak pada pesan
   yang tampil. Buatlah agar pesan yang tampil juga menampilkan nama komputer
   yang mengirim pesan, seperti:




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                      7
<komputer10> hai
    <komputer15> test nih

2. Pada program di atas, nama server chat diletakkan dalam kode program, yaitu
   konstanta RemoteHost. Buatlah agar ketika client menjalankan program, tampil form
   untuk menentukan nama server chat yang ingin di-connect, sehingga program lebih
   fleksibel.

3. Buatlah agar client yang terhubung ke server menggunakan nickname seperti pada
   program chatting. Nickname tersebut harus ikut tampil pada pesan yang diterima,
   seperti:

    <hasan> hai
    <mona> test nih




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                         8
BAB 3
                      WEBBROWSER, WININET DAN MAPI



Pendahuluan
        Microsoft telah menyediakan kontrol-kontrol ActiveX yang sangat membantu para
programmer untuk membuat aplikasi di lingkungan Windows. Termasuk tiga di antaranya adalah
Microsoft Internet Control (WebBrowser), Microsoft Internet Transfer Control (WinInet) dan
Microsoft MAPI Controls (MAPI). Di samping WinSock, ketiga kontrol ini sangat berguna dalam
pemrograman internet.
        Microsoft Internet Control (WebBrowser) menyediakan kemampuan bagi sebuah aplikasi
untuk melakukan proses menjelajah (browsing). Penjelajahan dapat dilakukan dalam internet,
jaringan atau komputer lokal.

       Microsoft Internet Transfer Control (WinInet) mengimplementasikan dua protokol yang
umum digunakan di internet, yaitu: HyperText Transfer Protocol (HTTP) dan File Transfer Protocol
(FTP). Menggunakan kontrol ini, Anda dapat terkoneksi ke situs manapun yang menggunakan
salah satu dari protokol ini. Tipe koneksi dapat diatur apakah akan menggunakan koneksi
synchronous (OpenURL) ataukah asynchronous (Execute). Kegunaan kontrol ini misalnya untuk:
1.   Membuat aplikasi semacam browser FTP,
2.   Membuat aplikasi yang secara otomatis men-download file dari sebuah situs FTP, atau
3.   Mem-parsing kode HTML dari sebuah halaman web.
     Microsoft Messaging Application Program Interface (MAPI) Controls memberikan fasilitas untuk
membuat aplikasi yang berhubungan dengan pengiriman pesan dalam jaringan dan email, seperti
mengirim email, menerima email, mengelola attachment dan address book. MAPI adalah kumpulan
prosedur-prosedur inti yang memungkinkan sebuah aplikasi untuk berkomunikasi dengan server
email yang mendukung MAPI. Contohnya adalah Microsoft Exchange yang dapat dihubungi dari
client manapun yang menggunakan driver MAPI.



WebBrowser
       Cara penggunaan kontrol WebBrowser sangat mudah. Metode-metode dasarnya adalah
sebagai berikut.

           Method                                            Fungsi
 Navigate <URL>                Membuka sebuah situs dengan URL <URL>
 GoBack                        Kembali ke situs sebelumnya
 GoForward                     Bergerak ke situs sesudahnya
 Stop                          Menghentikan proses navigasi
 Refresh                       Refresh situs yang sedang aktif
 GoHome                        Kembali ke homesite




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                     9
WinInet
         Metode-metode dasar penggunaan kontrol WinInet adalah sebagai berikut.

          Nama              Jenis                                   Fungsi
 AccessType               property     Mengeset atau mengembalikan nilai jenis akses.
                                       icDefault        :    Mengambil setting default pada
                                                             registry.
                                       icDirect         :    Kontrol    terkoneksi   langsung        ke
                                                             internet.
                                       icNamedProxy :        Kontrol terkoneksi melalui server
                                                             proxy seperti yang tertera pada
                                                             property Proxy.
 Cancel                    method      Membatalkan request yang sedang dilakukan dan
                                       menutup koneksi.
 Execute                   method      Mengeksekusi perintah pada sebuah situs dalam mode
                                       asynchronous.
 GetChunk                  method      Mengambil data yang di-request menggunakan method
                                       Execute.
 OpenURL                   method      Membuka dan mengambil isi dokumen pada sebuah situs
                                       dalam mode synchronous.
 Password                 property     Mengeset atau mengembalikan password yang digunakan
                                       untuk logon ke situs.
 Protocol                 property     Mengeset atau         mengembalikan      nilai   protokol   yang
                                       digunakan.
                                       icUnknown    :       Unknown
                                       icDefault    :       Protokol default
                                       icFTP        :       File Transfer Protocol
                                       icReserved   :       Dicadangkan        untuk       penggunaan
                                                            mendatang
                                       icHTTP       :       Hypertext Transfer Protocol
                                       icHTTPS      :       Secure HTTP
 Proxy                    property     Mengeset atau mengembalikan nama server proxy yang
                                       digunakan untuk koneksi ke internet.
 StateChanged               event      Mengembalikan state kontrol saat itu. Event ini dipicu
                                       ketika state kontrol berubah.
 StillExecuting           property     Mengembalikan nilai True bila kontrol sedang dalam
                                       keadaan sibuk (seperti sedang mendownload file).
 URL                      property     Mengeset atau mengembalikan URL yang digunakan oleh
                                       perintah OpenURL atau Execute.
 UserName                 property     Mengeset atau mengembalikan username yang digunakan
                                       untuk logon ke situs.


       Latihan di bawah ini mengimplementasikan cara penggunaan kedua kontrol di atas ke
dalam sebuah program. Kontrol WebBrowser digunakan untuk menampilkan halaman sebuah situs
dan kontrol WinInet digunakan untuk mengambil source halaman situs tersebut.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                            10
Latihan 4.1 Membuat Browser Sederhana

1.   Buatlah sebuah proyek dengan nama MyBrowser.vbp.
2.   Buat sebuah form bernama frmBrowser dengan tampilan sebagai berikut.




                                                                      picToolbar
                     txtAddress




                                            browser




                                  inet




3.   Set property Align obyek picToolbar menjadi 1 – Align Top.
4.   Tuliskan kode program di bawah ini pada tempatnya yang sesuai.

     Private Sub cmdBack_Click()
         browser.GoBack
     End Sub

     Private Sub cmdForward_Click()
         browser.GoForward
     End Sub

     Private Sub cmdGo_Click()
         If Trim(txtAddress.Text) <> "" Then
             browser.Navigate txtAddress.Text
         End If
     End Sub

     Private Sub cmdHome_Click()
         browser.GoHome
     End Sub

     Private Sub cmdRefresh_Click()
         browser.Refresh
     End Sub

     Private Sub cmdStop_Click()
         browser.Stop
     End Sub


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                          11
Private Sub cmdViewSource_Click()
         Dim sData As String

         If Trim(txtAddress.Text) <> "" Then
             cmdViewSource.Enabled = False
             Screen.MousePointer = vbHourglass

             'open the URL, get the data...
             sData = inet.OpenURL(txtAddress.Text)

             'write the data onto clipboard...
             Clipboard.SetText sData

             'open notepad...
             Shell "notepad.exe", vbNormalFocus

             'paste the data into notepad...
             SendKeys "^V", True

             Screen.MousePointer = vbDefault
             cmdViewSource.Enabled = True
         End If
     End Sub

     Private Sub Form_Load()
         browser.Left = 0
         browser.Top = picToolbar.Height
         Show
         txtAddress.SetFocus
     End Sub

     Private Sub Form_Resize()
         browser.Width = ScaleWidth
         browser.Height = ScaleHeight - browser.Top
     End Sub

5.   Jalankan program. Tes program dengan cara membuka situs-situs internet, tes fungsi dari
     tombol-tombol yang ada dan lihat source dengan cara mengklik tombol View Source.



MAPI
        Kontrol MAPI sangat luas penggunaannya dalam mengatur segala hal yang berkenaan
dengan pengiriman dan penerimaan pesan baik dalam jaringan lokal maupun di internet. Dalam
modul ini hanya akan dibahas mengenai penggunaan kontrol MAPI untuk mengirim email beserta
attachment-nya. Cara penggunaan kontrol ini untuk tujuan lain seperti untuk menerima email
dapat dilihat pada MSDN pada topik Microsoft MAPI Message Control dan Microsoft MAPI Session
Control.

     Untuk mengirim email menggunakan kontrol MAPI, caranya adalah sebagai berikut.
1.   Tambahkan komponen Microsoft MAPI Controls ke dalam proyek. Kontrol MAPISession dan
     MAPIMessages akan nampak pada toolbox.
2.   Tambahkan kedua kontrol ini pada form, misalnya namanya mps (MAPISession) dan mpm
     (MAPIMessages).
3.   Pertama kali Anda harus logon ke sebuah server mail. Jika informasi mengenai nama server
     mail, username dan password belum diset pada mail-client Anda yang mendukung MAPI
     (misalnya Outlook Express), Windows akan meminta Anda untuk mengesetnya terlebih
     dahulu. Setelah itu Anda dapat logon menggunakan method SignOn sebagai berikut:

     mps.SignOn

4.   Jika MAPI berhasil connect ke server, aplikasi akan memperoleh sebuah SessionID yang
     nilainya tidak 0 yang dapat digunakan untuk mengirim email. Selanjutnya Anda harus
     mengeset SessionID yang didapat untuk digunakan oleh obyek mpm.



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                 12
If mps.SessionID <> 0 then
         mpm.SessionID = mps.SessionID

         ‘next commands, i.e. sends message
         …
         …
     Else
         ‘error occured
     End If

5.   Selanjutnya untuk membuat email yang baru, Anda harus memanggil method Compose dan
     mengeset property-property mpm seperti di bawah ini.

     'new message...
     mpm.Compose
     mpm.RecipAddress = txtSendTo.Text
     mpm.MsgSubject = txtSubject.Text
     mpm.MsgNoteText = txtContent.Text
     If Trim(txtAttachment.Text) <> "" Then
         ‘add the attachment...
         mpm.AttachmentPathName = txtAttachment.Text
     End If

6.   Untuk mengirim email tersebut, panggil method Send.

     On Error Resume Next

     'send the message...
     mpm.Send

     If Err Then
         Msg = "Error occured while trying to send the message." & vbCrLf
         Msg = Msg & Err.Description

         MsgBox Msg, vbCritical
     End If

7.   Setelah selesai menggunakan session, Anda dapat memutus hubungan dengan server mail
     dengan cara memanggil method SignOff.

     'log off from mail server...
     mps.SignOff



Tugas
       Buatlah sebuah aplikasi yang dapat digunakan untuk mengirim email dengan langkah-
langkah seperti yang telah diuraikan di atas. Setelah Anda berhasil mengirim email, beberapa saat
kemudian periksalah apakah email tersebut sampai ke alamat tujuan atau tidak. Selamat
mencoba!




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                     13
BAB 4
         PENGENALAN HYPERTEXT MARKUP LANGUAGE (HTML)



PENDAHULUAN

      HTML kependekan dari Hypertext Markup Language, yaitu suatu bahasa yang digunakan
untuk menulis halaman web. HTML dirancang untuk digunakan tanpa tergantung pada suatu
platform tertentu. Dokumen HTML adalah suatu dokumen teks biasa, dan disebut markup language
karena mengandung tag tertentu yang digunakan untuk menentukan tampilan suatu teks da
tingkat kepentingan dari teks tersebut dalam suatu dokumen. Pada dokumen HTML yang termasuk
sistem hypertext, kita tidak harus membaca dokumen tersebut secara urut dari atas kebawah atau
sebaliknya, tetapi kita dapat menuju topik tertentu secara langsung dengan menggunakan teks
penghubung yang akan membawa Anda ke suatu topik atau dokumen lain secara langsung.
      HTML merupakan pengembangan dari standar penformatan dokumen teks yaitu SGML
(Standard Generalized Markup Language). Sejak awal perkembangannya sampai sekarang ini telah
tersedia bermacam-macam level (versi) HTML, yaitu HTML 1.0, HTML 2.0, HTML 3.0, dan HTML
4.0. Untuk menjalankan dokumen HTML harus menggunakan web browser.


STRUKTUR DOKUMEN HTML

         Secara sederhana, HTML terdiri dari dua bagian yaitu Header dan Body. Struktur HTML
diapit oleh tag awal <HTML> dab tag akhir </HTML>. Standar penulisannya adalah:


<HTML>
         <HEAD>
              Deskripsi Dokumen
       </HEAD>
       <BODY>
              Isi Dokumen
       </BODY>
</HTML>



         Untuk lebih jelasnya, jalankan editor teks Anda dan buatlah program berikut ini:



Contoh tes.html

<HTML>
         <HEAD>
              <TITLE>Struktur Dokumen HTML</TITLE>
       </HEAD>
       <BODY>
              Hello World
       </BODY>
</HTML>


         Tag <TITLE> digunakan untuk memberi judul dokumen HTML. Judul ini dapat Anda lihat
pada pojok kiri atas (title bar) brower. Ketika orang ingin mem-bookmark web Anda, maka judul
inilah yang akan disimpan.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                   14
HEADING

       Heading adalah sekumpulan kata yang menjadi judul atau subjudul dalam suatu dokumen
HTML. Heading berbeda dengan tag <TITLE> yang tidak dapat muncul dalam halaman web. HTML
menyediakan enam tingkatan heading. Heading level 1 biasanya untuk judul utama.


Contoh heading.html

<HTML>
         <HEAD>
              <TITLE>Heading</TITLE>
       </HEAD>
       <BODY>
              <H1>HEADING level 1</H1>
              <H2>HEADING level 2</H2>
              <H3>HEADING level 3</H3>
              <H4>HEADING level 4</H4>
              <H5>HEADING level 5</H5>
              <H6>HEADING level 6</H6>
       </BODY>
</HTML>



   PARAGRAF

        Untuk membuat paragraf, digunakan tag <P>. Setelah tag <P>, anda bisa menulis isi
paragraf dan paragraf itu harus diakhiri dengan tag penutup </P>. Anda bisa mengatur posisi
paragraf dengan menggunakan atribut ALIGN. Atribut ALIGN diikuti dengan posisi yang diinginkan.
Left untuk meratakan paragraf kiri, center untuk meratakan paragraf di posisi tengah horisontal
dan right untuk meratakan paragraf di kanan.


Contoh paragraf.html

<HTML>
         <HEAD>
              <TITLE>paragraf</TITLE>
       </HEAD>
       <BODY>
              <P ALIGN=”right”>
Beberapa tahun yang lalu, seorang hartawan meninggal dunia sedangkan ia tidak
memiliki ahli waris. Kepada pengacaranya, ia meninggalkan dua buah surat wasiat yang
disegel. Yang sebuah berisi permintaan agar jenazahnya dikuburkan pada jam empat
dini hari. surat yang kedua belum diketahui isinya karena disampulnya tertulis pesan
agar dibuka seusai pemakaman jenazah.
              <P ALIGN=”center”>
Sesuai dengan wasiat, jenazah itu dikebumikan pada pukul empat dini hari. karena
tidak lazimnya waktu pemakaman pada jam tersebut, yang ikut mengantar jenazahnya
hanya empat orang kawannya yang paling setia.
              <P ALIGN=”left”>
Seusai pemakaman, surat wasiat yang kedua dibuka. Betapa terkejutnya pengacara
ketika membaca isinya, ialah wasiat bahwa seluruh harta warisan dibagi rata kepada
orang-orang yang mengantarkan jenazahnya pada pemakaman. Dengan demikian, yang
berhak memperoleh harta yang banyak itu hanya empat orang, sebagai imbalan bagi
kesetiaan mereka.
              </P>
       </BODY>
</HTML>




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                   15
BARIS BARU (BR)

     Tag line break (BR) digunakan untuk menulis teks pada baris berikutnya. Tag <BR>
membuat baris baru tanpa memberi baris kosong.


Contoh br.html

<HTML>
<HEAD>
       <TITLE>Line Break</TITLE>
</HEAD>
<BODY>
       <P>banyak cara yang dapat digunakan untuk melakukan instalasi FreeBSD. Namun
ada tiga cara yang paling sering dilakukan, yaitu:
<BR> Instalasi melalui FTP
<BR> Instalasi melalui CDROM
<BR> Instalasi melalui partisi DOS
</BODY>
</HTML>



   FONT

        Untuk mengatur huruf pada dokumen HTML digunakan tag <FONT>. Tag <FONT> memiliki
atribut untuk mengatur ukuran huruf, jenis huruf yang digunakan dan warna huruf.

Atribut SIZE digunakan untuk mengatur ukuran font. Nilai font dimulai dengan nilai 1 untuk ukuran
huruf terkecil dan nilai 7 untuk ukuran paling besar.

Atribut FACE digunakan untuk mengatur jenis huruf yang diinginkan. Atribut FACE harus diisi
dengan string jenis font seperti Arial, Times New Roman, Verdana, dan sebagainya.

Atribut COLOR digunakan untuk mengatur warna font yang diinginkan. Untuk memberi nilai pada
atribut color ada dua cara. Cara pertama dengan menyebutkan nama warna seperti red, green dan
blue. Sedangkan cara kedua adalah dengan menggunakan nilai RGB (Red Geen Blue) dari suatu
warna, misalnya #FF0000 untuk red, #00FF00 untuk green dan #0000FF untuk blue.


Contoh font.html

<HTML>
         <HEAD>
              <TITLE>Font</TITLE>
       </HEAD>
       <BODY>
              <FONT SIZE=1 FACE=”Arial” COLOR=”RED”>FONT 1</FONT>
              <FONT SIZE=2 FACE=”Tahoma” COLOR=”#FF0000”>FONT 2</FONT>
              <FONT SIZE=3 FACE=”Verdana” COLOR=”BLUE”>FONT 3</FONT>
       </BODY>
</HTML>



   LINK

      Perintah anchor (A) digunakan untuk membuat suatu link. Untuk membuat link ke
dokumen HTML lain digunakan perintah <A HREF = “nama_dokumen”> Teks pada browser </A>.

        Anda juga bisa membuat link dalam sebuah dokumen HTML. Untuk itu, perlu disediakan
nama anchor lokasi tujuan dari link tersebut. Nama anchor dibuat dengan menambahkan atribut
NAME pada tag <A>. Misalnya <A NAME = “abbiati”>Abbiati</A>. Cara melakukan link ke bagian
tersebut adalah <A HERF = “#nama_anchor”> teks pada browser</A>.



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                    16
Contoh link.html

<HTML>
         <HEAD>
              <TITLE>Link</TITLE>
       </HEAD>
       <BODY>
              <h1>Halaman Utama</h1>
              Silakan klik pada link-link berikut :<br>
              <a href="halx.html">Halaman X</a><br>
              <a href="haly.html">Halaman Y</a>
       </BODY>
</HTML>



Contoh halx.html

<HTML>
         <HEAD>
              <TITLE>Halaman X</TITLE>
       </HEAD>
       <BODY>
              <h1>HALAMAN X</h1>
              <a href="link.html">Kembali</a>
       </BODY>
</HTML>



Contoh haly.html

<HTML>
         <HEAD>
              <TITLE>Halaman Y</TITLE>
       </HEAD>
       <BODY>
              <h1>HALAMAN Y</h1>
              <a href="link.html">Kembali</a>
       </BODY>
</HTML>



    LIST

Ada dua jenis daftar atau list, yaitu:

•   Daftar Terurut (Ordered List)

•   Daftar Tidak Berurut (Unordered List)


Ordered List

        Ordered List digunakan untuk membuat daftar di mana tiap bagiannya memiliki nomor
secara berurut. Ordered List dimulai dengan tag <OL> dan diakhiri dengan tag penutup </OL>.
Untuk menyatakan tiap bagiannya digunakan tag <LI> di mana tag ini tidak memerluan tag
penutup. Dengan menggunakan ordered list Anda tidak perlu memberi nomor untuk tiap-tiap
bagian. Perintah tersebut akan secara otomatis diproses oleh browser. Perhatikan contoh berikut
ini:




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                   17
Contoh ordered_list.html

<HTML>
         <HEAD>
              <TITLE>Ordered List</TITLE>
       </HEAD>
       <BODY>
              Empat besar pemain termahal di dunia
              <OL>
                     <LI>Luis Figo
                     <LI>Hernan Crespo
                     <LI>Christian Vieri
                     <LI>David Bechkam
              </OL>
       </BODY>
</HTML>


         Ketika anda mengunakan perintah ordered list, maka default dari penomoran adalah
1,2,3,... Anda bisa mengubah nomor tersebut dengan menggunakan atribut TYPE pada tag <OL>.
Nilai atribut TYPE beserta fungsinya dapat anda lihat pada tabel berikut ini:

  Atribut              Fungsi
  TYPE=1               Daftar berurutan dengan nomor 1,2,3 (atribut ini adalah default dari
                       ordered list)
  TYPE=I               Daftar berurutan dengan menggunakan bilangan romawi huruf besar
                       (I,II,III,...)
  TYPE=i               Daftar berurut dengan mengunakan bilangan romawi huruf kecil (i,ii,iii,...)
  TYPE=A               Daftar berurut dengan menggunakan abjad besar (A,B,C,...)
  TYPE=a               Daftar berurut dengan menggunakan abjad kecil (a,b,c,...)


         Selain mengubah jenis penomoran, HTML juga menyediakan perintah untuk menentukan
nilai awal penomoran. Atribut yang digunakan adalah START=n, di mana n adalah nilai awal
penomoran. Contoh penggunaan atribut TYPE dan START adalah sebagai berikut.



Contoh ordered_list2.html

<HTML>
         <HEAD>
                <TITLE>OL dengan atribut</TITLE>
         </HEAD>
         <BODY>
                <OL TYPE=A>
                       <LI>Daftar Tiga pemain termahal di dunia
                              <OL TYPE=I>
                                     <LI>Luis Figo
                                     <LI>Hernan Crespo
                                     <LI>Christian Vieri
                              </OL>
                       <LI>Urutan Empat sampai Enam
                              <OL TYPE=1 START=5>
                                     <LI>Denilson
                                     <LI>Gabriel Batigol
                                     <LI>Ronaldo
                              </OL>
                </OL>
         </BODY>


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                        18
</HTML>



Unordered List

        Berbeda dengan ordered list, dalam unordered list tidak dijumpai urutan dalam suatu
daftar. Setiap bagian dari unordered list ditandai dengan tanda bullet. Tanda bullet menjadi default
dalam unordered list. Untuk membuat daftar dengan tanda ini digunakan tag awal <UL> dan tag
penutup </UL>. Sama seperti ordered list, untuk tiap-tiap bagiannya digunakan tag <LI> tanpa
tag penutup. Perhatikan contoh berikut ini:


Contoh unordered_list.html

<HTML>
         <HEAD>
              <TITLE>Unordered List</TITLE>
       </HEAD>
       <BODY>
              Empat Kota besar di Indonesia
              <UL>
                     <LI>Jakarta
                     <LI>Bandung
                     <LI>Yogyakarta
                     <LI>Surabaya
              </UL>
       </BODY>
</HTML>

        Selain default tanda bullet, Anda bisa menggunakan tanda cakram, lingkaran, atau kotak.
Caranya dengan menggunakan atribut TYPE pada tag <UL>. Untuk lebih jelasnya lihatlah pada
daftar berikut ini:



  Atribut                Fungsi
  TYPE=circle            Tanda lingkaran
  TYPE=disk              Tanda cakram
  TYPE=square            Tanda kotak



Contoh penggunaan atribut TYPE di atas adalah:

Contoh unordered_list2.html

<HTML>
         <HEAD>
                <TITLE>UL dengan atribut</TITLE>
         </HEAD>
         <BODY>
                Perguruan Tinggi Negeri tertua di Indonesia
                <UL TYPE=square>
                       <LI>Universitas Gadjah Mada
                       <LI>Universitas Indonesia
                       <LI>Institut Teknologi Bandung
                       <LI>Institut Pertanian Bogor
                       <LI>Universitas Airlangga
                </UL>
         </BODY>
<HTML>
   GRAFIK



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                       19
HTML menyediakan tag <IMG> untuk menampilkan gambar dalam halaman web. Dari
berbagai macam format gambar yang ada, hanya beberapa saja yang bisa digunakan dalam
membuat halaman web. Format gambar yang paling sering digunakan adalah GIF, JPEG/JPG dan
PNG. Standar penulisan tag <IMG> adalah:
<IMG SRC=”file_gambar”ALT=”nama_alternatif”>
Atribut SRC digunakan untuk menentukan sumber gambar. Atribut ALT berfungsi sebagai teks
pengganti gambar untuk browser yang tidak bisa mendukung grafik (misalnya lynx) atau apabila
client sengaja mematikan fasilitas pemanggilan gambar (misalnya Auto Load Images pada
Nestcape). Perhatikan contoh berikut:


Contoh gambar.html

<HTML>
         <HEAD>
              <TITLE>Gambar</TITLE>
       </HEAD>
       <BODY>
              <img src="Bunga.jpg" width="82" height="68" alt="Gambar Bunga" />
       </BODY>
</HTML>


Berikut beberapa atribut pada tag <IMG> yang biasanya digunakan dalam halaman-halaman web:


  Atribut                                       Fungsi
  Border                                        Memberikan suatu border atau batas pada
                                                gambar.
                                                Default border=0.
  Height, Width                                 Menentukan tinggi dan lebar suatu gambar
                                                dalam ukuran pixel.
  HSPACE,                                       Menentukan jarak spasi horisontal dan spasi
                                                vertikal antara gambar dengan obyek di
  VSPACE
                                                sekitarnya.
  ALIGN                                         Mengatur perataan gambar terhadap obyek di
                                                sekelilingnya. Nilainya bisa berupa left,
                                                center, right, bottom, top, dan middle.


Perhatikan contoh pengunaan beberapa atribut di atas dalam contoh program di bawah ini:



Contoh gambar2.html

<HTML>
         <HEAD>
              <TITLE>Atribut IMG</TITLE>
       </HEAD>
       <BODY>
              <P>Gambar Bunga, VSPACE = 20
              <BR>
                     <IMG SRC=”bunga.jpeg” WIDTH=”270” HEIGHT=”70”
                     ALT=”Gambar Bunga” BORDER=”2”
                     HSPACE=”20” VSPACE=”20”>
              </P>
       </BODY>
</HTML>




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                 20
TABEL

      Tabel banyak digunakan karena dapat menampilkan informasi dengan bentuk yang ringkas
dan mudah dibaca. Untuk membuat tabel digunakan tag awal <TABLE> dan tag penutup
</TABLE>. Tag <TABLE> memiliki beberapa bagian penting, yaitu:

•   <CAPTION>.....</CAPTION> digunakan untuk membentuk judul tabel. Judul tabel ini akan
    terletak di luar tabel, bisa di bagian atas atau bagian bawah tabel.
•   <TH>.....</TH> berfungsi untuk meletakkan judul tabel di bagian paling atas atau paling kiri
    dari suatu tabel. Tabel header akan dicetak dalam huruf tebal.
•   <TR>.....</TR> dipakai untuk membentuk baris pada suatu tabel.
•   <TD>.....</TD> digunakan sebagai tempat menulis data atau informasi pada tabel.


Perhatikan contoh penggunaan tabel berikut ini:

Contoh tabel.html

<HTML>
         <HEAD>
              <TITLE>Tabel</TITLE>
       </HEAD>
       <BODY>
              <TABLE border="1">
                     <CAPTION>Daftar Harga</CAPTION>
                     <TR>
                            <TH>Nama Barang</TH>
                            <TH>Harga</TH>
                     </TR>
                     <TR>
                            <TD>Buku</TD>
                            <TD>Rp.2500,-</TD>
                     </TR>
                     <TR>
                            <TD>Pensil</TD>
                            <TD>Rp.2000,-</TD>
                     </TR>
                     <TR>
                            <TD>Penggaris</TD>
                            <TD>Rp.3000,-</TD>
                     </TR>
              </TABLE>
       </BODY>
</HTML>


Align dan Width

         Penataan horizontal tabel menggunakan atribut ALIGN. ALIGN dapat bernilai left untuk
perataan di kiri, center untuk perataan di tengah, dan right untuk penataan di kanan. Sedangkan
untuk perataan vertikal menggunakan atribut VALIGN. VALIGN dapat bernilai top untuk penataan
di atas, middle untuk penataan di tengah dan bottom untuk penataan di bawah.
       Lebar tabel biasanya diatur dengan mengunakan atribut WIDTH. Nilai WIDTH dapat
dinyatakan dengan persen (%) yang berarti menyatakan lebar tabel dalam persentase atau
dinyatakan dengan pixel yang berarti ukuran sesungguhnya dari tabel. Perhatikan contoh berikut:




Contoh tabel_align.html

<HTML>


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                    21
<HEAD>
              <TITLE>Tabel dengan WIDTH dan ALIGN</TITLE>
       </HEAD>
       <BODY>
              <TABLE WIDTH="88%" HEIGHT="210" BORDER="1">
              <TR>
                     <TD WIDTH="30%" HEIGHT="110" VALIGN="top">
                            VALIGN=&quot;top&quot;<br>
                     </TD>
                     <TD WIDTH="34%" HEIGHT="110" VALIGN="middle">
                            VALIGN=&quot;middle&quot;<br>
                     </TD>
                     <TD WIDTH="36%" HEIGHT="110" VALIGN="bottom">
                            VALIGN=&quot;bottom&quot;</TD>
              </TR>
              <TR>
                     <TD WIDTH="30%" HEIGHT="100" ALIGN="left">
                            ALIGN=&quot;left&quot;</TD>
                     <TD WIDTH="34%" HEIGHT="100" ALIGN="center">
                            ALIGN=&quot;center&quot;</TD>
                     <TD WIDTH="36%" HEIGHT="100" ALIGN="right">
                            ALIGN=&quot;right&quot;</TD>
              </TR>
              </TABLE>
       </BODY>
</HTML>



CELLSPACING dan CELLPADDING

       Atribut CELLSPACING digunakan untuk menentukan jumlah spasi yang terdapat di antara
dua buah sel. CELLPADDING berfungsi untuk mengatur jumlah spasi yang terdapat di antara batas/
border dengan isi atau teks di dalam teks tersebut. Berikut ini adalah contoh program yang
menggunakan atribut di atas.


Contoh tabel_cell.html

<HTML>
         <HEAD>
              <TITLE>Tabel dengan CELLSPACING dan CELLPADDING</TITLE>
       </HEAD>
       <BODY>
              <TABLE BORDER=”3” CELLPADDING=”10” CELLSPACING=”10” WIDTH=”85%”>
              <TR>
                     <TD WIDTH=”43%”>baris 1, kolom 1</TD>
                     <TD WIDTH=”57%”>baris 1, kolom 2</TD>
              </TR>
              <TR>
                     <TD WIDTH=”43%”>baris 2, kolom 1</TD>
                     <TD WIDTH=”57%”>baris 2, kolom 2<</TD>
              </TR>
              </TABLE>
       </BODY>
</HTML>



COLSPAN dan ROWSPAN

        Atribut COLSPAN digunakan untuk menggabungkan beberapa kolom menjadi satu kolom.
Sedangkan atribut ROWSPAN dipakai untuk mengabungkan beberapa baris menjadi satu.
Perhatikan contoh berikut:



Contoh tabel_span.html


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                 22
<HTML>
         <HEAD>
              <TITLE>Table dengan ROWSPAN dan COLSPAN</TITLE>
       </HEAD>
       <BODY>
              <TABLE BORDER=”3” CELLSPADING=”5” CELLSPACING=”5” WIDTH=”85%”>
              <TR>
                     <TD WIDTH=”43%” ROWSPAN=”2”>baris 1, kolom 1<P>baris 2, kolom
                     1</TD>
                     <TD WIDTH=”57%”>baris 1, kolom 2</TD>
              </TR>
              <TR>
                     <TD WIDTH=”100” COLSPAN=”2”>baris 3, kolom 1<P>baris 3, kolom
                     2</TD>
              </TR>
              </TABLE>
       </BODY>
</HTML>



Warna Tabel

        Agar lebih menarik, Anda bisa memberi warna pada tabel. Selain warna latar belakang,
border tabel juga bisa ditentukan warnanya. Untuk latar belakang gunakan atribut BGCOLOR,
sedangkan untuk memberi warna pada border gunakan atribut BORDERCOLOR. Perhatikan contoh
berikut ini:


Contoh tabel_color.html

<HTML>
<HEAD>
       <TITLE> Table dengan ROWSPAN dan COLSPAN</TITLE>
</HEAD>
<BODY>
       <TABLE BORDER=”3” CELLPADDDING=”3” CELLSPACING=”5” WIDTH=”100”
       BORDERCOLOR=”FF0000”>
       <TR>
              <TD WIDTH=”50 %” BGCOLOR=”#808080”>&nbsp;</TD>
              <TD WIDTH=”50%”>&nbsp;</TD>
       </TR>
       <TR>
              <TD WIDTH=”50 %”>&nbsp;</TD>
              <TD WIDTH=”50%” BGCOLOR=”#008080”>&nbsp;</TD>
       </TR>
       <TABLE>
       <TABLE BORDER=”3” CELLPADDING=”3” CELLSPACING=”5” WIDTH=”100%”
       BORDERCOLORLIGHT=”#008080” BORDERCOLORDARK=”#800080”>
       <TR>
              <TD WIDTH=”100%”>&nbsp;</TD>
       </TR>
       </TABLE>
</BODY>
</HTML>



Form dan Input

       Tag <FORM> dan <INPUT> digunakan bersama-sama untuk meminta masukan dari user
untuk kemudian dikirim ke server. Tag <FORM> membuat kerangkanya sedangkan tag <INPUT>
menyediakan elemen antarmuka dengan user.



Form



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                               23
Anda tentu sering menjumpai situs yang menyediakan buku tamu bagi pengunjungnya.
Formulir tersebut dibuat dengan menggunakan elemen form dan input. Standar penulisan Form
adalah:


<FORM METHOD=”<[POST/GET]>” ACTION=”<URL>”>

        <INPUT ...

        <INPUT ...

</FORM>




        Atribut METHOD memiliki dua nilai POST dan GET. Metode GET mengirimkan data pada
server dengan cara meletakkan data pada bagian akhir URL (Uniform Resource Locator) yang
ditunjuk. Metode POST mengirimkan datanya secara terpisah dari URLnya. Jika data masuk
banyak, lebih baik digunakan metode POST. Atribut ACTION berisi URL dari program yang
dipanggil oleh form tersebut.


TextBox
       TextBox merupakan salah satu jenis kontrol untuk memasukkan data. HTML menyediakan
tag <INPUT> dengan atribut TYPE=”text” untuk membuat kotak input. Jika TYPE diberi nilai text,
maka masukan hanya bisa menerima satu baris data.
       Selain atribut TYPE, pada tag <INPUT> juga bisa ditampilkan atribut NAME untuk memberi
nama input tersebut, atribut VALUE untuk memberi nilai suatu input, dan atribut SIZE untuk
menentukan batas terpanjang sebuah masukan. Nilai VALUE juga menjadi tulisan yang tampak
pada browser.
      Anda bisa menyembunyikan masukan yang              ditulis   user   dengan   memberi   nilai
TYPE=”password”. Masukan akan menjadi karakter ”*”.

CheckBox

        Selain atribut TYPE bernilai text dan password, Anda bisa memberi nilai atribut TYPE
dengan checkbox yang digunakan untuk memberi user pilihan. Dengan menggunakan checkbox,
user bisa memilih salah satu pilihan, lebih dari satu pilihan, atau tidak memilih semua pilihan.

Radio

        Jika atribut TYPE=”checkbox” diganti dengan TYPE=”radio”, maka user harus memilih salah
satu pilihan yang tersedia. User tidak bisa memilih kurang atau lebih dari satu pilihan. Atribut
CHECKED memberi tanda bahwa pilihan tersebut sedang diaktifkan.

Submit dan Reset

       Setiap form harus memiliki tombol Submit atau tombol Reset. Lebih baik jika keduanya
digunakan bersama. Kedua tombol diatas dibuat dengan menggunakan atribut TYPE=”submit” dan
TYPE=”reset”. Tombol submit digunakan ketika user telah selesai mengisi formulir dan ingin
mengirimkan ke server. Sedangkan tombol reset digunakan ketika user ingin menghapus semua
masukan yang telah ditulis.


Perhatikan contoh di bawah ini:


Contoh form.html



Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                    24
<HTML>
<HEAD>
       <TITLE> BUKU TAMU </TITLE>
</HEAD>
<BODY>
       <H3>
              <P ALIGN="center"><font color="#800080"><b>BUKU TAMU</b></font></P>
       </H3>
       <FORM METHOD="POST" ACTION="thanks.html">
              <TABLE BORDER="1" CELLPADDING="2" WIDTH="100%" style="border-collapse:
              collapse" bordercolor="#111111" cellspacing="0">
              <TR>
                     <TD WIDTH="8%" bgcolor="#0066FF">Nama</TD>
                     <TD WIDTH="4%" bgcolor="#6699FF">:&nbsp;
                           <INPUT TYPE="text" NAME="nama1" SIZE="20"></TD>
              </TR>
              <TR>
                     <TD WIDTH="8%" bgcolor="#0066FF">Email</TD>
                     <TD WIDTH="4%" bgcolor="#6699FF">:&nbsp;
                     <INPUT TYPE="text" NAME="email1" SIZE="20"></TD>
              </TR>
              <TR>
                     <TD WIDTH="8%" bgcolor="#0066FF">Asal</TD>
                     <TD WIDTH="4%" bgcolor="#6699FF">:&nbsp;
                     <INPUT TYPE="text" NAME="asal1" SIZE="20"></TD>
              </TR>
              <TR>
                     <TD WIDTH="8%" bgcolor="#0066FF">Homepageku : </TD>
                     <TD WIDTH="88%" bgcolor="#6699FF"><INPUT TYPE="radio"
                     VALUE="V1" CHECKED NAME="R1">Bagus Sekali<BR>
                     <INPUT TYPE="radio" VALUE="V2" NAME="R1">Bagus<BR>
                     <INPUT TYPE="radio" VALUE="V3" NAME="R1">Biasa
                     Saja<P>&nbsp;</TD></TR>
              </TABLE>
              <P><INPUT TYPE="submit" VALUE="Kirim" NAME="B1">
              <INPUT TYPE="reset" VALUE="Batal" NAME="B2"</P>
       </FORM>
</BODY>
</HTML>

thanks.html


<HTML>
         <HEAD>
              <TITLE> Terima Kasih Telah Mengisi Guest Book </TITLE>
       </HEAD>
       <BODY TEXT=”#000000 BGCOLOR=”6699FF”>
              <P><font color="#333399"><B>Terima kasih Anda telah mengisi buku tamu
              kami<BR>
              kami akan segera mengirim balasannya ke email Anda.</B></FONT></P>
       </BODY>
</HTML>




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                        25
BAB 5
         PENGENALAN PHP HYPERTEXT PREPROCESSOR (PHP)




SEJARAH PHP

        PHP adalah salah satu bahasa script yang dieksekusi di sisi server web (server-side)
yang didesain khusus untuk aplikasi web sepert halnya JSP, Perl (.pl), dan Asp. PHP dapat
disisipkan diantara bahasa HTML (embedded). Script PHP dieksekusi di server dan
menghasilkan output (if any) dalam bentuk HTML yang dikirimkan oleh server web ke client.
Dengan cara ini, kode PHP yang disimpan di server tidak akan terlihat oleh client.

        PHP dibuat pertama kali oleh satu orang yaitu Rasmus Lerdorf, yang pada awalnya
dibuat untuk menghitung jumlah pengunjung pada homepagenya. Diawal Januari 2001, PHP
telah dipakai lebih dari 5 juta domain diseluruh dunia, dan akan terus bertambah karena
kemudahan dan kegratisan aplikasi PHP ini dibandingkan dengan bahasa server-side yang
lain.

        PHP termasuk dalam Open Source Product. Jadi anda dapat merubah source code dan
mendistribusikannya secara bebas. PHP juga diedarkan secara gratis. Anda bisa
mendapatkannya secara gratis. PHP juga dapat berjalan di berbagai server web semisal IIS,
Apache, PWS, dll.


INSTALASI PHP

       Pada bagian ini akan dibahas cara instalasi PHP. Disini akan dijelaskan instalasi PHP
dengan menggunakan XAMPP yang didalamnya terdapat:
 + Apache 2.2.2
 + MySQL 5.0.21
 + PHP 5.1.4 + PHP 4.4.2-pl1 + PEAR
 + PHP-Switch win32 1.0 (use the "php-switch.bat")
 + XAMPP Control Version 2.3 from www.nat32.com
 + XAMPP Security 1.0
 + SQLite 2.8.15
 + OpenSSL 0.9.8b
 + phpMyAdmin 2.8.1
 + ADOdb 4.80


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                               26
+ Mercury Mail Transport System v4.01b
 + FileZilla FTP Server 0.9.16c
 + Webalizer 2.01-10
 + Zend Optimizer 3.0.0


Cara instalasi:


    1.   Jalankan file setup XAMPP dan exctract ke C:
    2.   Jalankan setup.bat yang terdapat pada C:XAMPP
    3.   Jika instalasi berjalan dengan sukses jalan “apache_start.bat” untuk menjalankan apache
         dan “mysql_start.bat”untuk menjalankan mysql. Anda juga dapat menggunakan “xampp-
         control.exe” untuk melakukan hal serupa.
    4.   Jalankan web browser dan ketik http://localhost untuk melihat XAMPP telah berjalan
         dengan baik.

    5.   Untuk mematikan apache dan mysql buka file “apache_stop.bat” dan “mysql_stop.bat”.




MENULISKAN SCRIPT PHP

    Menuliskan PHP dalam HTML

         Seperti yang telah dituliskan sebelumnya bahwa PHP dapat ditulis (embed) ddidalam HTML,
Untuk penulisannya dalam HTML, seperti halnya kode kode dalam HTML selalu diawali dengan
suatu kode dan diakhiri dedngan kode tertentu maka PHP pun mempunyainya. Kode PHP diawali
dengan tanda <? atau <?php dan diakhiri dengan tanda ?>. Sedangkan untuk menambahkan
komentar diawali dengan tanda /* dan diakhiri dengan */ atau menggunakan tanda //. Yang
berarti tulisan tidak akan terbaca atau tidak akan tereksekusi.


Contoh:
<HTML>
<?php
/* Teks ini tidak akan terbaca */
// Untuk teks ini juga tidak terbaca
       echo (“Teks ini dicetak menggunakan PHP”);
?>
</HTML>



    Variabel dalam PHP

        Setiap bahasa pemrograman tentu mempunyai suatu variabel. Variabel berfungsi untuk
mengkompilasi dan menyimpan beberapa bit data, sehingga untuk memanggil suatu data kita
tinggal memanggil variabel tersebut.
        Variabel dalam PHP selalu dimulai dengan tanda ‘$’. Tidak terpengaruh apakah data
merupakan integer, real maupun string, PHP akan secara otomatis mengkonversi data menurut
tipenya.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                     27
Contoh:
<?
$a=2;
$b=3;
$c=$a+$b;
       echo ("Nilai a=$a dan Nilai b=$b
              <br> maka nilai a ditambah b adalah $c");
?>



   Menerima Input dari Form
        Dalam form selalu ada value yang nantinya akan dijadikan sebuah variabel oleh PHP.
Variabel inilah yang akan diproses oleh PHP tergantung pada penggunaan program PHP tersebut.
Misalkan saja kita mempunyai program seperti berikut:


Contoh form_input.php

<HTML>
<HEAD>
<TITLE> Variabel dari Form </TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST>
       Nama : <INPUT TYPE="Text" NAME="nama"><BR>
       Password : <INPUT TYPE="Password" NAME="pass"><BR>
       Jenis Kelamin <BR>
       <INPUT TYPE="Radio" NAME="kelamin" VALUE="pria">Pria
       <INPUT TYPE="Radio" NAME="kelamin" VALUE="wanita">Wanita<BR>
       Hobi : <BR>
              <INPUT TYPE="Checkbox" NAME="hobi" VALUE="tidur">Tidur<BR>
              <INPUT TYPE="Checkbox" NAME="hobi" VALUE="bersepeda">Bersepeda</BR>
              <INPUT TYPE="Checkbox" NAME="hobi" VALUE="lain">Lainnya</BR>
       <INPUT TYPE="submit" VALUE="Kirim">
       <INPUT TYPE="Reset" VALUE="Ulangi">
</FORM>
<?
       $nama = isset($_REQUEST[“nama”]) ? $_REQUEST[“nama”] : “”;
       $pass = isset($_REQUEST[“pass”]) ? $_REQUEST[“pass”] : “”;
       $kelamin = isset($_REQUEST[“kelamin”]) ? $_REQUEST[“kelamin”] : “”;
       $hobi = isset($_REQUEST[“hobi”]) ? $_REQUEST[“hobi”] : “”;

       if($nama!=””) {
              echo("Nama Anda : $nama<BR>");
              echo("Password : $pass<BR>");
              echo("Jenis Kelamin : $kelamin<BR>");
              echo("Hobi : $hobi<BR>");
       } else {
              echo(“Mohon diisi data anda dengan benar.”);
       }
?>
</BODY>
</HTML>


        Variabel global $_REQUEST adalah array yang berisi variabel-variabel yang teregister oleh
PHP. Variabel-variabel input yang diisi oleh user melalui form akan teregister di variabel $_REQUEST
ini. Kode PHP di atas menangkap variabel-variabel inputan dari form dan menampilkannya ke layar
dengan fungsi echo.
       Kita dapat memisahkan antara file yang memberi input dengan yang memproses input.
Untuk melakukan hal tersebut, tambahkan atribut ACTION=”<file_pemroses>” pada tag <FORM>,
dan pindahkan kode PHP pada file pemroses tersebut.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                       28
Operator dan Struktur Kontrol Program
        Dasar dari bahasa PHP adalah bahasa C. Hal ini dimaksudkan agar, para programmer yang
telah terbiasa menggunakan bahasa C/C++ mudah menggunakan bahasa PHP untuk membuat
aplikasi berbasis web. Oleh karena itu, lambang dan cara penggunaan operator (+, -, x, /, %)
serta struktur kontrol program (if, switch, for, while) sama persis dengan yang telah dipelajari
dalam bahasa C/C++.
       Modul ini tidak membahas mengenai operator dan struktur kontrol program karena
mahasiswa dianggap telah memahami cara penggunaan operator dan struktur kontrol program
dalam bahasa C/C++.


     Array

       Array digunakan untuk mengidentifikasikan beberapa nilai yang berbeda namun diwakili
dengan hanya satu nama variabel. Misalkan saja kita memiliki variabel $negara yang kita ketahui
bahwa negara tidak hanya 1. Untuk mengidentifikasi variabel $negara yang memiliki banyak nilai,
kita membedakan dari indeksnya, misalnya $negara[1]=”Indonesia” lalu $negara[2]=”Malaysia”
dst.
        Setiap elemen dalam array memiliki nomor indeks, nomor indeks dalam array diawali
dengan nol [0]. Pada deklarasi array jika kita tidak mendeklarasikan nomor indeks tersebut maka
secara otomatis akan diberi nomor indeks [0].
        Untuk mendeklarasikan array menggunakan fungsi array(), misalnya:

$negara = array(“Indonesia”,”Malaysia”,”Kamboja”);
echo($negara[1]);

    Seperti terlihat di atas, secara otomatis Indonesia akan diberi indeks [0], Malaysia diberi
indeks [1] dan Kamboja diberi indeks [2]. Jika kita menginginkan indeks pertama dimulai dengan 1
maka kita dapat menuliskan:

$negara=array(1=>”Indonesia”,”Malaysia”,”Kamboja”);
echo($negara[1]);

    Tipe data array memiliki pointer untuk menunjukkan dimana indeks yang aktif. Untuk array
yang baru dideklarasikan, nomor indeks adalah nomor indeks yang pertama [0]. Untuk mengetahui
nomor indeks yang aktif digunakan fungsi key(). Untuk mengetahui nilai dari elemen tersebut
dapat menggunakan fungsi current() dan untuk mengetahui jumlah elemen dalam digunakan
fungsi count(). Posisi pointer juga dapat diatur, untuk menaikkan pointer kita dapat menggunakan
fungsi next(), untuk menurunkan pointer kita dapat menggunakan fungsi prev(), untuk
mengarahkan pointer ke posisi terakhir dapat menggunakan fungsi end() dan untuk
mengembalikan pointer kembali ke awal dapat menggunakan fungsi reset().

Contoh:

<?
     $negara=Array("Indonesia","Malaysia","Kamboja");

     $total=count($negara);

     for($i=1;$i<=$total;$i++)
     {
         $aktif=key($negara);
         $nilai=current($negara);
         echo("Pointer berada pada elemen $aktif dan nilainya : $nilai<BR>");
         next($negara);
     }
     end($negara);

     for($i=1;$i<=$total;$i++)
     {
         $aktif=key($negara);
         $nilai=current($negara);


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                   29
echo("Pointer berada pada elemen $aktif dan nilainya : $nilai<BR>");
          prev($negara);
     }
     end($negara);

     $aktif=key($negara);
     echo("<P>Elemen dipindahkan menuju elemen terakhir, yitu elemen ke-$aktif");

     reset($negara);
     $aktif=key($negara);
     echo("<P>Elemen dipindahkan menuju elemen pertama yaitu elemen ke-$aktif");
?>

    Pada contoh yang telah dibuat di atas, elemen-elemen array berupa integer, tetapi elemen
array juga bisa berupa string, misalnya : $negara[“ina”] = ”Indonesia”, $negara[“my”] =
“Malaysia”. Array seperti ini disebut sebagai array associative. Untuk mengambil array yang
elemennya berupa string, digunakan fungsi each(). Fungsi each() berfungsi mengambil nilai dari
array kemudian menaikkan pointer satu elemen. Hasil dari fungsi each() dimasukkan ke dalam
variabel menggunakan fungsi list().

Contoh:

<?
     $negara=array("ina"=>"Indonesia","my"=>"Malaysia","kam"=>"Kamboja");

     $total=count($negara);

     for($i=1;$i<=$total;$i++)
     {
         list($aktif,$nilai)=each($negara);
         echo("Pointer berada pada elemen $aktif dan nilainya : $nilai<BR>");
     }
?>


     PHP menyediakan fungsi yang lengkap untuk manipulasi array, seperti mengurutkan array
atau menjumlahkan nilai elemen-elemen dalam suatu array. Pembahasan mengenai array lebih
jauh dapat dilihat pada PHP Manual Book.



     Cookie

        Cookie adalah mekanisme untuk menyimpan data dalam remote browser yang dapat
digunakan untuk melacak dan mengindentifikasikan user. Jika kita ingin meng-assign banyak nilai
ke satu cookie, maka dapat ditambahkan tanda [] ke nama cookie-nya:

Perhatikan contoh-contoh berikut.

halsatu.php

<?
       setcookie(“nm_pengunjung”, ”Masagus”);
       echo”Mendefinisikan cookie.”;
?>


haldua.php

<?
       echo “Menggunakan komputer yang sama, maka variable $nm_pengunjung adalah
       $nm_pengunjung.”;
?>




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                  30
haltiga.php

<?
          // menghapus cookie
          setcookie(“nm_pengunjung”);
          echo “halaman sudah tidak ada cookie.”;
?>


halempat.php
<?
          echo “Halaman ini menampilkan cookie yang sudah tidak ada.<br>”;
          echo “Nama pengunjung adalah $nm_pengunjung.”;
?>



     Operasi File

      Untuk membuka/mengakses file digunakan fungsi fopen(). Fungsi fopen() ini dapat
mengakses file dari sistem file, atau melalui HTTP atau FTP di Internet.

          Sintaksnya:

          fopen(filename, mode_akses);

       Filename adalah file yang akan dibuka, sedangkan mode_akses adalah metode
pengaksesan file tersebut apakah file tersebut diakses hanya untuk dibaca, ditulis atau ditambah.
Mode akses yang diberikan:


          Mode Akses                                      Keterangan

      A                  Membuka file untuk diubah. Data akan ditambahkan di akhir file yang
                         diakses, jika file tidak ditemukan, maka PHP secara otomatis akan membuat
                         file tersebut.
      a+                 Membuka file untuk diubah dan dibaca. Data akan ditambahkan di akhir file
                         yang diakses, jika file tidak ditemukan, maka PHP secara otomatis akan
                         membuat file tersebut
      R                  Membuka file untuk dibaca saja
      R+                 Membuka file untuk dibaca dan ditulis. Data akan ditulis di awal file
      w                  Membuka file untuk ditulis saja. Data dalam file yang lama akan hilang dan
                         digantikan dengan data baru yang dimasukkan. Jika file tidak ditemukan,
                         PHP secara otomatis akan membuat file tersebut
      w+                 Membuka file untuk ditulis dan dibaca. Data dalam file yang lama akan
                         hilang dan digantikan dengan data baru yang dimasukkan. Jika file tidak
                         ditemukan, PHP secara otomatis akan membuat file tersebut



        Untuk melihat isi dari file digunakan fungsi fgets($filename, length), $filename adalah
variabel file yang akan dibuka sedangkan length menunjukkan jumlah karakter yang diambil. Pada
fungsi fgets() ini setiap tag HTML akan dieksekusi, agar tag HTML tidak bisa dieksekusi maka
digunakan fungsi fgetss().
         Untuk menuliskan data ke dalam file, digunakan fungsi fputs($namafile, $variabel_data),
isi data yang akan dimasukkan berada pada $variabel_data sedangkan $namafile adalah file tujuan
data tersebut.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                        31
Contoh:

tulisan.txt

Saya sekarang sedang belajar php<BR> Asyik lho
Ternyata PHP itu mudah,
tidak sesulit yang dibayangkan
<P>Bagaimana?
apakah anda ingin belajar lebih lanjut??
<HR>

tulisan.php

<?

if($file=fopen("tulisan.txt", "r"))
{
    echo("Dibawah ini menggunakan fgets()<BR>");
    while(!feof($file)) {
       $string=fgets($file,255);
       echo($string);
    }
    fclose($file);

     $file=fopen("tulisan.txt", "a+");
     echo("<P>Yang ini menggunakan fgetss()<BR>");
     while(!feof($file)) {
        $string=fgetss($file,255);
        echo($string);
     }

     $tambahan="Ini Tambahannya";
     echo("<P>$tambahan = $tambahan<BR>");
     fputs($file,$tambahan);
     fclose($file);
     $file=fopen("tulisan.txt","r");
     echo("Setelah Ditambah : <BR>");
     while(!feof($file)) {
        $string=fgets($file,255);
        echo($string);
     }
     fclose($file);
}
else
{
    echo("File Gagal dibuka");
}

?>



Membuat Counter

         Kita dapat membuat sebuah aplikasi counter sederhana menggunakan fasilitas manipulasi
file sebagai berikut.

<html>
<?php

         $f = fopen("pengunjung.txt","r");
         $count = fgets($f);
         fclose($f);

         $count++;




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                 32
echo "<CENTER><FONT SIZE="3" FACE="arial, verdana, helvetica">Anda
         pengunjung ke.</FONT></CENTER>" ;
         echo "<CENTER><FONT SIZE="3" FACE="arial, verdana,
         helvetica">$count</FONT></CENTER>" ;
         echo "n<br>" ;

         $f = fopen("pengunjung.txt","w");
         fwrite($f, $count);
         fclose($f);
?>
<html>

Tentu saja kita membutuhkan file yang bernama pengunjung.txt yang isinya berupa angka yang
kita tulis pada awal text.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                             33
BAB 6
                    DASAR-DASAR PENGOLAHAN DATA
                        MENGGUNAKAN MySQL




PENDAHULUAN
       Database MySQL merupakan salah satu database yang sifatnya open source, yang dibuat
oleh MySQL AB sebuah perusahaan komersial yang bertempat di Swedia. Kemampuan MySQL tidak
kalah dengan Oracle yang serba mahal dan SQL server Microsoft. Kelebihan yang dimiliki oleh
MySQL adalah Aksebilitas yang cepat, Source yang disediakan dengan gratis, dan mudah
digunakan.
       Cara menulis perintah dalam MySQL:
1. Untuk penulisan perintah bebas menggunakan huruf kecil atau huruf besar, namun penamaan
   atribut, database, dan tabel adalah case sensitive.
2. Pernyataan tidak harus ditulis dalam satu baris, MySQL akan melaksanakan perintah jika
   statement sudah diakhiri dengan ‘;’ (tanda titik koma).

       Untuk dapat mulai menggunakan MySQL, lakukan langkah-langkah berikut:

1. Jalankan MySQL dengan cara run mysql_start.bat atau dari xampp-control.exe pada folder
   tempat XAMPP di-extract (misal: C:xampp).
2. Buka DOS Prompt dengan cara klik Start|Run…, lalu ketikkan cmd <Enter>.
3. Masuk ke folder bin MySQL dengan cara mengetikkan: cd c:xamppmysqlbin <Enter>.
4. Jalankan MySQL dengan cara mengetikkan mysql [–u<username>] [-p<password>] <Enter>.
   Jika berhasil, akan tampil jendela MySQL yang ditandai dengan prompt mysql>.



DATABASE
        Database merupakan sekumpulan dari tabel dimana tabel merupakan sejumlah field yang
bisa berisi berbagai macam data, sehingga kita terlebih dahulu membuat tabel beserta field-
fieldnya berupa kolom.


   Membuat database
Sintaks untuk membuat database.

       Mysql> create database nama_db;
Contoh:
       Mysql> create database dbku;
              Query OK, 1 row affected


Perintah diatas, kita membuat sebuah database yang bernama dbku, dan natinya kita membuat
tabel di dalam database tersebut.


   Menggunakan database
Sintaks untuk menggunakan database adalah:


       Mysql> use nama_db;


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                              34
Contoh:
        Mysql>use dbku;
                Database Changed


    Menghapus database

Sintaks untuk menghapus database adalah:
        Mysql>drop nama_db;
Contoh:
        Mysql>drop dbku;


TABEL

    Membuat tabel

Sintaks untuk membuat tabel pada database adalah
        Mysql>create table nama_tabel(
        ->field1 jenis_data(panjang_data) properties,
        ->field2 jenis_data(panjang_data) properties,
        ->field3 jenis_data(panjang_data) properties
        ->);


Keterangan:
Jenis data: Tipe data field bisa berupa integer, character, text, dll.
Panjang data: panjang data field.
Properties: tambahan untuk fieldnya bisa berupa not null, default nilainya.


Contoh:
        Mysql>create table nama_tabel(
        ->No int(5) not null auto_increment,
        ->Nama char(225) not null,
        ->Email text(225) not null,
        ->Primary key(no)
        );


    Mengisi record

Setelah kita membuat Database beserta Tabelnya, sekarang kita mengisi data ke dalam tabel
tersebut. Untuk menginput data digunakan perintah INSERT. Sintaksnya sebagai berikut:

        Mysql>INSERT INTO nama_tabel(field1,field2,field3)
                ->VALUES(‘data1’,’data2’,’data3,);




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                            35
Contoh:

       Mysql>INSERT INTO nama_tabel(No,Nama,Email)
               ->VALUES(‘1’,’guntur’,’webofficial@afsa-online.org’);
       Query OK, 1 row affected (0,06 sec)


   Mengubah isi record
Untuk mengubah (edit) isi data yang ada, sintaksnya sebagai berikut.


       Mysql>UPDATE nama_tabel set nama_field=’databaru’
               where nama_field=’datalama’;


   Menghapus isi record

Untuk menghapus isi record digunakan perintah DELETE. Berikut sintaks penggunaannya.


       Mysql>DELETE from nama_tabel where nama_field=’datalama’;


   Melihat isi tabel
Perintah untuk melihat isi sangatlah beragam. Kita bisa mengambil salah satu field atau beberapa
field bahkankeseluruhannya.


   Menampilkan keseluruhan field

Sintaknya adalah:

       Mysql>select* from nama_tabel;


   Menampilkan salah satu field

Sintaknya adalah:

       Mysql>select field from nama_tabel;


   Menampilkan beberapa field

Sintaknya adalah:


       Mysql>select field1,field2,field3 from nama_tabel;


Untuk latihan, silakan coba membuat database dengan tabel seperti berikut:




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                   36
Tabel biodata

  No     Nama          Umur   Pekerjaan        Email                        Asal
  1      Rendi          22    Mahasiswa        rinda_82@bolehmail.com       Bandung
  2      Wati           25    Karyawati        what_tea@theemail.com        Yogyakarta
  3      Muklis         19    Wiraswastawan    jojo_er@lycos.com            Yogyakarta
  4      Rina           31    Pelajar          rheen@telkom.net             Jakarta


      Memfilter data

        Kita dapat membatasi pemanggilan data hanya yang memenuhi kriteria yang telah
ditetapkan. Misalkan pada contoh di atas, kita memanggil data yang disaring berdasarkan umur 20
sampai 30 tahun; maka perintahnya adalah:

      Mysql>select Nama,Umur,Pekerjaan,Email,Asal from biodata where umur between 20
      and 30;


      Mengurutkan data

         Kita dapat mengurutkan data yang diambil berdasarkan field-field tertentu baik secara
menaik (ASCENDING) maupun menurun (DESCENDING) menggunakan klausa ORDER BY. Misalnya
kita ingin mengurutkan data di atas berdasarkan umurnya dari yang termuda sampai yang tertua,
maka querynya adalah:

      Mysql>select Nama,Umur,Pekerjaan,Email,Asal from biodata order by Umur;




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                  37
BAB 7
           PEMROGRAMAN DATABASE MENGGUNAKAN PHP



     Koneksi ke Server Database

        Untuk melakukan koneksi ke sebuah server database MySQL, gunakan fungsi:

        mysql_connect(hostname, username, password);


        Jika pemanggilan fungsi berhasil, fungsi akan mengembalikan nilai berupa obyek koneksi
ke server database tersebut. Sebaliknya jika gagal, fungsi akan mengembalikan nilai FALSE.

Contoh:


<?
     $hostname=”localhost”;           // hostname server database
     $username=”root”;                // username database
     $password=””;                    // password database

     if($link=mysql_connect($hostname, $username, $password)) {
         // Gunakan database “dbku”
         mysql_select_db(“dbku”);
         echo(“Koneksi berhasil.”);
         return 1;
     } else {
         // tampilkan pesan error
         echo mysql_error();
         return 0;
     }
?>


     Menjalankan Query

        Setelah terkoneksi ke database, selanjutnya anda dapat melakukan query ke database.
Caranya menggunakan fungsi mysql_query($query, $link). Fungsi ini akan mengembalikan
nilai berupa obyek rowset hasil dari eksekusi query jika pemanggilan fungsi berhasil, sebaliknya
akan mengembalikan nilai FALSE. Contohnya adalah seperti di bawah ini.

<?
     mysql_select_db(“dbku”);                        // memilih database yang digunakan
     $query=”select * from biodata”;                 // query yang akan dieksekusi
     if ($rs=mysql_query($query, $link)) {           // eksekusi query
         echo(“Eksekusi query berhasil.”);
         return 1;
     } else {
         // tampilkan pesan error
         echo mysql_error();
         return 0;
     }
?>

Begitu pula untuk query yang lainnya misalnya insert, delete, update, dll., kita dapat
menggunakan perintah mysql_query.




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                   38
Menampilkan isi tabel

        Query SELECT akan menghasilkan kumpulan record (recordset/rowset) yang dapat diolah
lebih lanjut, untuk ditampilkan di halaman web misalnya. Untuk keperluan tersebut, kita dapat
memanfaatkan salah satu dari fungsi-fungsi di bawah ini.



  Fungsi                                Keterangan
  mysql_fetch_row($rowset)              Mengembalikan record berupa array dengan indeks
                                        numerik.
  mysql_fetch_assoc($rowset)            Mengembalikan record berupa array dengan indeks
                                        string (associative array).
  mysql_fetch_array($rowset, $type)     Mengembalikan record berupa array dengan indeks
                                        string, numerik, atau keduanya tergantung dari nilai
                                        $type. Nilai $type dapat berisi salah satu dari nilai-nilai
                                        berikut:
                                        MYSQL_ASSOC
                                        MYSQL_NUM
                                        MYSQL_BOTH (default)
  mysql_fetch_object                    Mengembalikan record berupa obyek.


        Seluruh fungsi akan mengembalikan nilai FALSE apabila tidak ada record/row yang dapat
diambil, misalnya query yang tidak menghasilkan row.
       Script di bawah ini membaca seluruh data pada tabel biodata dan menampilkannya ke
halaman web dalam format tabel.


tabel.php

<?
     $hostname=”localhost”;         // hostname server database
     $username=”root”;              // username database
     $password=””;                  // password database

     if($link=mysql_connect($hostname, $username, $password)) {

         // Gunakan database “dbku”
         mysql_select_db(“dbku”);

         // Jalankan query
         $sql = “SELECT * FROM biodata”;
         if ($rs=mysql_query($sql, $link)) {

               // Cetak header tabel
               echo(“<table><tr>
                            <td><b>No</b></td>
                            <td><b>Nama</b></td>
                            <td><b>Umur</b></td>
                            <td><b>Pekerjaan</b></td>
                            <td><b>Email</b></td>
                            <td><b>Asal</b></td></tr>”);

               // Cetak record
               while(is_array($row=mysql_fetch_assoc($rs))) {
                      echo(“<tr>
                             <td>” . $row[“No”] . “</td>
                             <td>” . $row[“Nama”] . “</td>
                             <td>” . $row[“Umur”] . “</td>
                             <td>” . $row[“Pekerjaan”] . “</td>
                             <td>” . $row[“Email”] . “</td>
                             <td>” . $row[“Asal”] . “</td></tr>”);


Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                                     39
}

                // Cetak footer tabel
                echo(“</table>”);

         } else {

             // tampilkan pesan error
             echo mysql_error();
             return 0;
         }

     } else {

         // tampilkan pesan error
         echo mysql_error();
         return 0;
     }
?>




Laboratorium Komputer ⎯ Ilkom Unpak Bogor   40
DAFTAR PUSTAKA



          •   Agus K., Pemrograman Jaringan Internet Dengan Visual C++, Elex
              Media Komputindo, Jakarta, 2002.
          •   Onno W.P., dkk., TCP/IP: Standar, Desain dan Implementasi, Elex Media
              Komputindo, Jakarta, 1998.
          •   PHP Manual
          •   MySQL Manual




Laboratorium Komputer ⎯ Ilkom Unpak Bogor                                             41

More Related Content

What's hot

Soal Modul B System Integration - IT Networking Support LKS NTB 2017
Soal Modul B System Integration - IT Networking Support LKS NTB 2017Soal Modul B System Integration - IT Networking Support LKS NTB 2017
Soal Modul B System Integration - IT Networking Support LKS NTB 2017I Putu Hariyadi
 
Software Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network ManagementSoftware Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network ManagementI Putu Hariyadi
 
Modul Workshop Mikrotik Bandwidth Management
Modul Workshop Mikrotik Bandwidth ManagementModul Workshop Mikrotik Bandwidth Management
Modul Workshop Mikrotik Bandwidth ManagementI Putu Hariyadi
 
Pembahasan Solusi Soal UAS Praktikum Manajemen Keamanan Informasi
Pembahasan Solusi Soal UAS Praktikum Manajemen Keamanan InformasiPembahasan Solusi Soal UAS Praktikum Manajemen Keamanan Informasi
Pembahasan Solusi Soal UAS Praktikum Manajemen Keamanan InformasiI Putu Hariyadi
 
Mikrotik fundamental
Mikrotik fundamentalMikrotik fundamental
Mikrotik fundamentalfebosa Sabara
 
Soal Uji Kompetensi TKJ paket 3
Soal Uji Kompetensi TKJ paket 3Soal Uji Kompetensi TKJ paket 3
Soal Uji Kompetensi TKJ paket 3Dicky Alejandro
 
Python Network Programming For Network Engineers
Python Network Programming For Network EngineersPython Network Programming For Network Engineers
Python Network Programming For Network EngineersI Putu Hariyadi
 
Soal Uji Kompetensi TKJ paket 2
Soal Uji Kompetensi TKJ paket 2Soal Uji Kompetensi TKJ paket 2
Soal Uji Kompetensi TKJ paket 2Dicky Alejandro
 
VXLAN Overlay Networks with Open vSwitch
VXLAN Overlay Networks with Open vSwitchVXLAN Overlay Networks with Open vSwitch
VXLAN Overlay Networks with Open vSwitchI Putu Hariyadi
 
Panduan Praktikum Jaringan Komputer versi 1.1
Panduan Praktikum Jaringan Komputer versi 1.1Panduan Praktikum Jaringan Komputer versi 1.1
Panduan Praktikum Jaringan Komputer versi 1.1I Putu Hariyadi
 
Building Domain Controller Using Windows Server 2008
Building Domain Controller Using Windows Server 2008Building Domain Controller Using Windows Server 2008
Building Domain Controller Using Windows Server 2008I Putu Hariyadi
 
Network Automation with Ansible
Network Automation with AnsibleNetwork Automation with Ansible
Network Automation with AnsibleI Putu Hariyadi
 
Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...
Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...
Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...Deni Kurnia
 
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1I Putu Hariyadi
 
Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2
Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2
Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2I Putu Hariyadi
 
Soal Modul A Linux Environment LKS SMK NTB 2018
Soal Modul A Linux Environment LKS SMK NTB 2018Soal Modul A Linux Environment LKS SMK NTB 2018
Soal Modul A Linux Environment LKS SMK NTB 2018I Putu Hariyadi
 
Instalasi dan-konfigurasi-mikrotik-sebagai-gateway
Instalasi dan-konfigurasi-mikrotik-sebagai-gatewayInstalasi dan-konfigurasi-mikrotik-sebagai-gateway
Instalasi dan-konfigurasi-mikrotik-sebagai-gatewayIsus Isusay
 
Pembahasan UKK TKJ Paket 2 ( Debian 5 )
Pembahasan UKK TKJ Paket 2 ( Debian 5 )Pembahasan UKK TKJ Paket 2 ( Debian 5 )
Pembahasan UKK TKJ Paket 2 ( Debian 5 )Dt Yunizaldi
 

What's hot (20)

Soal Modul B System Integration - IT Networking Support LKS NTB 2017
Soal Modul B System Integration - IT Networking Support LKS NTB 2017Soal Modul B System Integration - IT Networking Support LKS NTB 2017
Soal Modul B System Integration - IT Networking Support LKS NTB 2017
 
Software Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network ManagementSoftware Defined Networking (SDN) Controller Network Management
Software Defined Networking (SDN) Controller Network Management
 
Modul Workshop Mikrotik Bandwidth Management
Modul Workshop Mikrotik Bandwidth ManagementModul Workshop Mikrotik Bandwidth Management
Modul Workshop Mikrotik Bandwidth Management
 
Pembahasan Solusi Soal UAS Praktikum Manajemen Keamanan Informasi
Pembahasan Solusi Soal UAS Praktikum Manajemen Keamanan InformasiPembahasan Solusi Soal UAS Praktikum Manajemen Keamanan Informasi
Pembahasan Solusi Soal UAS Praktikum Manajemen Keamanan Informasi
 
Mikrotik fundamental
Mikrotik fundamentalMikrotik fundamental
Mikrotik fundamental
 
2063 p1-spk-teknik komputer-jaringan
2063 p1-spk-teknik komputer-jaringan2063 p1-spk-teknik komputer-jaringan
2063 p1-spk-teknik komputer-jaringan
 
Soal Uji Kompetensi TKJ paket 3
Soal Uji Kompetensi TKJ paket 3Soal Uji Kompetensi TKJ paket 3
Soal Uji Kompetensi TKJ paket 3
 
Python Network Programming For Network Engineers
Python Network Programming For Network EngineersPython Network Programming For Network Engineers
Python Network Programming For Network Engineers
 
Soal Uji Kompetensi TKJ paket 2
Soal Uji Kompetensi TKJ paket 2Soal Uji Kompetensi TKJ paket 2
Soal Uji Kompetensi TKJ paket 2
 
Pembahasan soal paket 3
Pembahasan soal paket 3Pembahasan soal paket 3
Pembahasan soal paket 3
 
VXLAN Overlay Networks with Open vSwitch
VXLAN Overlay Networks with Open vSwitchVXLAN Overlay Networks with Open vSwitch
VXLAN Overlay Networks with Open vSwitch
 
Panduan Praktikum Jaringan Komputer versi 1.1
Panduan Praktikum Jaringan Komputer versi 1.1Panduan Praktikum Jaringan Komputer versi 1.1
Panduan Praktikum Jaringan Komputer versi 1.1
 
Building Domain Controller Using Windows Server 2008
Building Domain Controller Using Windows Server 2008Building Domain Controller Using Windows Server 2008
Building Domain Controller Using Windows Server 2008
 
Network Automation with Ansible
Network Automation with AnsibleNetwork Automation with Ansible
Network Automation with Ansible
 
Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...
Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...
Penyelesaian Soal Ujikom TKJ Tahun 2016 Paket 2 Menggunakan RouterOS di Virtu...
 
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
Instalasi dan Konfigurasi LXC Centos 7 pada Proxmox VE 5.1
 
Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2
Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2
Pembahasan Soal Ujian Praktik SMK TKJ Tahun 2016 - Paket 2
 
Soal Modul A Linux Environment LKS SMK NTB 2018
Soal Modul A Linux Environment LKS SMK NTB 2018Soal Modul A Linux Environment LKS SMK NTB 2018
Soal Modul A Linux Environment LKS SMK NTB 2018
 
Instalasi dan-konfigurasi-mikrotik-sebagai-gateway
Instalasi dan-konfigurasi-mikrotik-sebagai-gatewayInstalasi dan-konfigurasi-mikrotik-sebagai-gateway
Instalasi dan-konfigurasi-mikrotik-sebagai-gateway
 
Pembahasan UKK TKJ Paket 2 ( Debian 5 )
Pembahasan UKK TKJ Paket 2 ( Debian 5 )Pembahasan UKK TKJ Paket 2 ( Debian 5 )
Pembahasan UKK TKJ Paket 2 ( Debian 5 )
 

Similar to PJWDasar

Makalah sistem jaringan kel 6
Makalah sistem jaringan kel 6Makalah sistem jaringan kel 6
Makalah sistem jaringan kel 6hendi heox
 
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMPMEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMPAhmad Saktia Yunus
 
Konfigurasi router mikrotik lengkap
Konfigurasi router mikrotik lengkapKonfigurasi router mikrotik lengkap
Konfigurasi router mikrotik lengkapMarkus Graphic
 
Adminserver --smk teladan
Adminserver --smk teladanAdminserver --smk teladan
Adminserver --smk teladanNoviana Sitorus
 
Monitoring Jaringan Komputer dan Server di GNS3
Monitoring Jaringan Komputer dan Server di GNS3Monitoring Jaringan Komputer dan Server di GNS3
Monitoring Jaringan Komputer dan Server di GNS3Jumroh Arrasid
 
Laporan 4 pengenalan mikrotic router
Laporan 4 pengenalan mikrotic routerLaporan 4 pengenalan mikrotic router
Laporan 4 pengenalan mikrotic routerWilly Winas
 
Network Monitoring Documentation
Network Monitoring DocumentationNetwork Monitoring Documentation
Network Monitoring DocumentationArif Wahyudi
 
Tutorial mikrotik-step-by-step(1)
Tutorial mikrotik-step-by-step(1)Tutorial mikrotik-step-by-step(1)
Tutorial mikrotik-step-by-step(1)Rudy Yusdiantoro
 
Tutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-stepTutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-stepSidiq Dwi Laksana
 
Laporan 5 routing static mikrotic router
Laporan 5 routing static mikrotic routerLaporan 5 routing static mikrotic router
Laporan 5 routing static mikrotic routerWilly Winas
 
Mikrotikrb750modulbeta
Mikrotikrb750modulbetaMikrotikrb750modulbeta
Mikrotikrb750modulbetadhi her
 
Laporan 7 konfigurasi wireless lan
Laporan 7 konfigurasi wireless lanLaporan 7 konfigurasi wireless lan
Laporan 7 konfigurasi wireless lanWilly Winas
 
448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdf
448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdf448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdf
448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdfPapaZola7
 
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptxAdministrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptxglobalkomputer
 
mengadministrasi server dalam jaringan
mengadministrasi server dalam jaringanmengadministrasi server dalam jaringan
mengadministrasi server dalam jaringanahmad amiruddin
 
Simulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgncSimulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgncAsepSukarya2
 
Mikrotik rb750 modul_beta
Mikrotik rb750 modul_betaMikrotik rb750 modul_beta
Mikrotik rb750 modul_betaAdi Utami
 

Similar to PJWDasar (20)

Makalah sistem jaringan kel 6
Makalah sistem jaringan kel 6Makalah sistem jaringan kel 6
Makalah sistem jaringan kel 6
 
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMPMEMBANGUN SERVER VIDEO STREAMING BERBASIS  CLOUD DENGAN ViMP
MEMBANGUN SERVER VIDEO STREAMING BERBASIS CLOUD DENGAN ViMP
 
Konfigurasi router mikrotik lengkap
Konfigurasi router mikrotik lengkapKonfigurasi router mikrotik lengkap
Konfigurasi router mikrotik lengkap
 
KK_17_TKJ
KK_17_TKJKK_17_TKJ
KK_17_TKJ
 
Adminserver --smk teladan
Adminserver --smk teladanAdminserver --smk teladan
Adminserver --smk teladan
 
Monitoring Jaringan Komputer dan Server di GNS3
Monitoring Jaringan Komputer dan Server di GNS3Monitoring Jaringan Komputer dan Server di GNS3
Monitoring Jaringan Komputer dan Server di GNS3
 
Laporan 4 pengenalan mikrotic router
Laporan 4 pengenalan mikrotic routerLaporan 4 pengenalan mikrotic router
Laporan 4 pengenalan mikrotic router
 
Network Monitoring Documentation
Network Monitoring DocumentationNetwork Monitoring Documentation
Network Monitoring Documentation
 
Tutorial mikrotik-step-by-step(1)
Tutorial mikrotik-step-by-step(1)Tutorial mikrotik-step-by-step(1)
Tutorial mikrotik-step-by-step(1)
 
Tutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-stepTutorial mikrotik-step-by-step
Tutorial mikrotik-step-by-step
 
Laporan 5 routing static mikrotic router
Laporan 5 routing static mikrotic routerLaporan 5 routing static mikrotic router
Laporan 5 routing static mikrotic router
 
modul mikrotik RB750
modul mikrotik RB750modul mikrotik RB750
modul mikrotik RB750
 
Mikrotikrb750modulbeta
Mikrotikrb750modulbetaMikrotikrb750modulbeta
Mikrotikrb750modulbeta
 
Laporan 7 konfigurasi wireless lan
Laporan 7 konfigurasi wireless lanLaporan 7 konfigurasi wireless lan
Laporan 7 konfigurasi wireless lan
 
448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdf
448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdf448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdf
448192632-administrasi-sistem-jaringan-kelas-xi-pptx-220728132309-730194d6.pdf
 
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptxAdministrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
 
mengadministrasi server dalam jaringan
mengadministrasi server dalam jaringanmengadministrasi server dalam jaringan
mengadministrasi server dalam jaringan
 
Simulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgncSimulasi praktek management bandwidth simpel queue aijtkjgnc
Simulasi praktek management bandwidth simpel queue aijtkjgnc
 
Setting PROXY Ubuntu Server
Setting PROXY Ubuntu ServerSetting PROXY Ubuntu Server
Setting PROXY Ubuntu Server
 
Mikrotik rb750 modul_beta
Mikrotik rb750 modul_betaMikrotik rb750 modul_beta
Mikrotik rb750 modul_beta
 

More from Nurdin Al-Azies

Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)
Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)
Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)Nurdin Al-Azies
 
Daftar riwayat hidup Jusuf Kalla
Daftar riwayat hidup Jusuf KallaDaftar riwayat hidup Jusuf Kalla
Daftar riwayat hidup Jusuf KallaNurdin Al-Azies
 
Daftar riwayat hidup Joko Widodo
Daftar riwayat hidup Joko WidodoDaftar riwayat hidup Joko Widodo
Daftar riwayat hidup Joko WidodoNurdin Al-Azies
 
Panduan Tour Taman Safari Indonesia
Panduan Tour Taman Safari Indonesia Panduan Tour Taman Safari Indonesia
Panduan Tour Taman Safari Indonesia Nurdin Al-Azies
 
Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)
Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)
Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)Nurdin Al-Azies
 
Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)Nurdin Al-Azies
 
Desain grafis ver1 2-pdf
Desain grafis ver1 2-pdfDesain grafis ver1 2-pdf
Desain grafis ver1 2-pdfNurdin Al-Azies
 
Biar ngampus tak sekedar status
Biar ngampus tak sekedar statusBiar ngampus tak sekedar status
Biar ngampus tak sekedar statusNurdin Al-Azies
 
Kreatif entreupreneur workshop
Kreatif entreupreneur workshopKreatif entreupreneur workshop
Kreatif entreupreneur workshopNurdin Al-Azies
 
Strategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDKStrategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDKNurdin Al-Azies
 
7 international linkages
7 international linkages7 international linkages
7 international linkagesNurdin Al-Azies
 
04 ekonomi mikro rancang bangun ekonomi islam
04 ekonomi mikro     rancang bangun ekonomi islam04 ekonomi mikro     rancang bangun ekonomi islam
04 ekonomi mikro rancang bangun ekonomi islamNurdin Al-Azies
 
03 ekonomi mikro permintaan dan penawaran
03 ekonomi mikro     permintaan dan penawaran03 ekonomi mikro     permintaan dan penawaran
03 ekonomi mikro permintaan dan penawaranNurdin Al-Azies
 
02 ekonomi mikro pendahulan tentang ekonomi mikro
02 ekonomi mikro    pendahulan tentang ekonomi mikro02 ekonomi mikro    pendahulan tentang ekonomi mikro
02 ekonomi mikro pendahulan tentang ekonomi mikroNurdin Al-Azies
 
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )Nurdin Al-Azies
 

More from Nurdin Al-Azies (20)

Jadwal Piala Dunia 2014
Jadwal Piala Dunia 2014Jadwal Piala Dunia 2014
Jadwal Piala Dunia 2014
 
Visi misi prabowo-hatta
Visi misi prabowo-hattaVisi misi prabowo-hatta
Visi misi prabowo-hatta
 
Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)
Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)
Buku Studi Islam 3 (Dr. Ahmad Alim, LC. MA.)
 
Daftar riwayat hidup Jusuf Kalla
Daftar riwayat hidup Jusuf KallaDaftar riwayat hidup Jusuf Kalla
Daftar riwayat hidup Jusuf Kalla
 
Daftar riwayat hidup Joko Widodo
Daftar riwayat hidup Joko WidodoDaftar riwayat hidup Joko Widodo
Daftar riwayat hidup Joko Widodo
 
Panduan Tour Taman Safari Indonesia
Panduan Tour Taman Safari Indonesia Panduan Tour Taman Safari Indonesia
Panduan Tour Taman Safari Indonesia
 
Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)
Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)
Jadwal imsyakiyah Ramadhan 1435 H (Terbaru)
 
Brosur dan biaya
Brosur dan biayaBrosur dan biaya
Brosur dan biaya
 
Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)Interpersonal skill and creativity (nurdin al azies)
Interpersonal skill and creativity (nurdin al azies)
 
Desain grafis ver1 2-pdf
Desain grafis ver1 2-pdfDesain grafis ver1 2-pdf
Desain grafis ver1 2-pdf
 
Biar ngampus tak sekedar status
Biar ngampus tak sekedar statusBiar ngampus tak sekedar status
Biar ngampus tak sekedar status
 
Kreatif entreupreneur workshop
Kreatif entreupreneur workshopKreatif entreupreneur workshop
Kreatif entreupreneur workshop
 
Strategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDKStrategi Penyambutan Mahasiswa Baru UNTUK LDK
Strategi Penyambutan Mahasiswa Baru UNTUK LDK
 
Dakwah Kreatif
Dakwah KreatifDakwah Kreatif
Dakwah Kreatif
 
Adobe Flash:
Adobe Flash: Adobe Flash:
Adobe Flash:
 
7 international linkages
7 international linkages7 international linkages
7 international linkages
 
04 ekonomi mikro rancang bangun ekonomi islam
04 ekonomi mikro     rancang bangun ekonomi islam04 ekonomi mikro     rancang bangun ekonomi islam
04 ekonomi mikro rancang bangun ekonomi islam
 
03 ekonomi mikro permintaan dan penawaran
03 ekonomi mikro     permintaan dan penawaran03 ekonomi mikro     permintaan dan penawaran
03 ekonomi mikro permintaan dan penawaran
 
02 ekonomi mikro pendahulan tentang ekonomi mikro
02 ekonomi mikro    pendahulan tentang ekonomi mikro02 ekonomi mikro    pendahulan tentang ekonomi mikro
02 ekonomi mikro pendahulan tentang ekonomi mikro
 
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
(KULIAH S2 UIKA) 01 ekonomi mikro (DR. H. IRWAN CH, SE,MM )
 

PJWDasar

  • 1. KATA PENGANTAR Puji syukur kami panjatkan kepada Allah SWT atas rahmat dan karunia-Nya, sehingga Modul Praktikum Pemrograman Jaringan dan Internet ini dapat diselesaikan. Modul ini adalah panduan praktikum mata kuliah Pemrograman Web yang merupakan mata kuliah pilihan yang dapat diambil oleh setiap mahasiswa Jurusan Ilmu Komputer di Universitas Pakuan Bogor. Modul praktikum ini terdiri dari 7 bab. Bab I membahas mengenai perintah-perintah umum yang digunakan dalam jaringan, Windows Socket serta perintah dasar untuk koneksi jaringan menggunakan Windows Socket. Bab II membahas mengenai tipe koneksi jaringan: connection-oriented dan connectionless- oriented serta pengiriman dan penerimaan data melalui jaringan dan internet. Bab III membahas mengenai WinInet, penggunaan kontrol ActiveX WinInet serta kontrol WebBrowser untuk mengakses internet. Selain itu dibahas pula cara pemrograman untuk mengirim email. Bab IV membahas mengenai Web Browser dan HyperText Markup Language (HTML) untuk memformat tampilan halaman web. Bab V membahas mengenai dasar-dasar pemrograman web menggunakan PHP Hypertext Preprocessor (PHP). Bab VI membahas mengenai dasar-dasar pengolahan data menggunakan MySQL sebagai server database untuk lingkungan web. Bab VII membahas mengenai dasar-dasar pemrograman database berbasis web menggunakan PHP Hypertext Preprocessor (PHP) dan MySQL. Di setiap bab disajikan teori-teori yang mendasari pembahasan, kemudian diberikan contoh-contoh program sederhana untuk lebih memahami teori yang diberikan. Modul praktikum ini hanya membahas dasar-dasar pemrograman jaringan dan internet yang dirasa perlu dan banyak digunakan sampai saat modul ini dibuat. Bahkan pada beberapa bagian hanya diberikan ulasan singkat mengenai topik yang dibicarakan. Hal ini dilakukan karena tidaklah mungkin untuk menyajikan pemrograman jaringan dan internet dalam sebuah modul praktikum secara mendetail. Kami menyadari bahwa modul praktikum ini masih jauh dari sempurna. Saran dan kritik yang membangun sangatlah diharapkan. Pertanyaan, saran dan kritik dapat disampaikan langsung melalui email: masagus_setiawan@yahoo.com, atau melalui website: http://www.masagus.co.cc/leavemsg.html. Bogor, April 2008 Penyusun Foni Agus Setiawan, S.Kom. Laboratorium Komputer ⎯ Ilkom Unpak Bogor i
  • 2. DAFTAR ISI KATA PENGANTAR ........................................................................................ i DAFTAR ISI ................................................................................................. ii BAB 1 DASAR-DASAR PEMROGRAMAN JARINGAN .......................................... 1 BAB 2 PENGIRIMAN DAN PENERIMAAN DATA PADA JARINGAN ........................ 6 BAB 3 WEBBROWSER, WININET DAN MAPI .................................................. 10 BAB 4 PENGENALAN HYPERTEXT MARKUP LANGUAGE (HTML) ......................... 15 BAB 5 PENGENALAN PHP HYPERTEXT PREPROCESSOR (PHP) ........................... 27 BAB 6 DASAR-DASAR PENGOLAHAN DATA MENGGUNAKAN MySQL .................. 35 BAB 7 PEMROGRAMAN DATABASE MENGGUNAKAN PHP ................................. 39 DAFTAR PUSTAKA Laboratorium Komputer ⎯ Ilkom Unpak Bogor ii
  • 3. BAB 1 DASAR-DASAR PEMROGRAMAN JARINGAN Pendahuluan Pada tahun 1972, lembaga riset Departemen Pertahanan Amerika Serikat, DARPA (Defense Advance Research Project Agency) telah berhasil membangun jaringan komunikasi data antar komputer pertama di dunia yang kemudian diberi nama ARPANET. Sejak saat itu, aplikasi-aplikasi yang digunakan untuk jaringan dan internet mulai dibuat dan diminati. Aplikasi internet yang pertama kali ditemukan adalah FTP, menyusul kemudian email dan telnet. Dunia pemrograman jarngan dan internet menjadi semakin ramai sekitar tahun 1990-an sampai sekarang seiring dengan ramainya penggunaan internet. Jaringan TCP/IP termasuk internet pertama kali dibangun di atas platform UNIX. Pemrograman jaringan di dalam sistem operasi UNIX menggunakan standar pustaka yang disebut dengan Socket. Microsoft Windows sebagai sebuah sistem operasi yang mendukung protocol TCP/IP pun kemudian menggunakan standar ini. Dalam Windows, implementasi socket ini diberi nama WinSock. Tanpa socket, sebuah sistem operasi tidak akan dapat mengimplementasikan protocol TCP/IP. Penguasaan akan WinSock menjadi pintu gerbang bagi seorang programmer jaringan di lingkungan sistem operasi Windows. Perintah-Perintah Umum Jaringan Perintah-perintah di bawah ini berguna untuk menganalisa dan memperbaiki masalah- masalah yang berhubungan dengan jaringan dan internet. Beberapa dari perintah-perintah tersebut hanya dapat bekerja pada sebuah server dengan sistem operasi Microsoft Windows. Perintah Kegunaan Keterangan Arp Melihat ARP (Address Resolution Protocol) cache pada interface komputer lokal. Hostname Menampilkan nama host komputer lokal. Hanya pada server Windows. Ipconfig Menampilkan konfigurasi jaringan TCP/IP dan DHCP, mengalokasikan, menampilkan dan mendaftarkan nama DNS. Nbtstat Mengecek keadaan NetBIOS yang dipakai dalam koneksi jaringan TCP/IP, mengupdate nama NetBIOS cache dan menentukan registrasi nama dan scope ID. Netstat Menampilkan statistik koneksi pada jaringan TCP/IP Nslookup Mengecek record, domain host aliases, domain host services Hanya pada dan informasi sistem operasi dengan proses query DNS. server Windows. Ping Mengirim ICMP Echo Requests untuk mengecek apakah konfigurasi TCP/IP sudah benar dan sistem TCP/IP pada remote host ada atau tidak. tracert Trace path jalur penyampaian data kepada remote host. pathping Trace path pada remote host dan melaporkan paket yang Hanya pada hilang pada masing-masing router sepanjang jalur server pengiriman data. Windows. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 1
  • 4. Route Menampilkan tabel routing IP serta menambah atau menghapus rute IP. Tabel 1.1 Perintah-Perintah Umum pada Jaringan TCP/IP. Sintaks lengkap masing-masing perintah dapat dilihat dengan cara mengetik: <perintah> /help. Windows Socket (Winsock) Pada pendahuluan telah disinggung bahwa socket merupakan inti dari pemrograman jaringan. Winsock merupakan standar API jaringan pada semua varian dari sistem operasi Microsoft Windows. Sampai saat modul ini ditulis, Winsock mencapai versi 2.0 yang merupakan penyempurnaan dari versi 1.1. Inti rutin-rutin Winsock berada pada file WS2_32.DLL. Untuk memudahkan pemrograman dengan kontrol ActiveX, Microsoft telah membuat kontrol Winsock yang diimplementasikan pada file MSWINSCK.OCX. Untuk mempermudah pengertian dan pembahasan, contoh-contoh program pada modul ini akan menggunakan kontrol Winsock yang diimplementasikan pada bahasa pemrograman Microsoft Visual Basic versi 6.0. Cara Kerja Winsock Misalnya terdapat dua buah komputer: client dan server yang ingin berhubungan. Langkah-langkah untuk mengadakan koneksi, mengirim data sampai pemutusan koneksi dapat digambarkan sebagai berikut. 1. Mula-mula server akan mendengarkan (listen) permintaan koneksi pada nomor port tertentu. Nomor port digunakan untuk membedakan aplikasi pada sebuah sistem komputer. 2. Client yang ingin berhubungan meminta koneksi kepada server (connect). 3. Server menerima koneksi dari client (accept). 4. Selanjutnya baik client atau server dapat saling berkirim (senddata) dan menerima data (getdata). 5. Client menutup koneksinya. 6. Server mengetahui dan menutup koneksi terhadap client tersebut. 1 2 3 4 6 5 Server Client Gambar 1.1 Cara kerja Winsock. Cara Penggunaan Kontrol Winsock Agar dapat menggunakan kontrol Winsock, Anda harus menambahkan komponen tersebut ke dalam project dengan cara mengklik Project|Components… atau menekan Ctrl+T. Beri tanda cek kontrol yang bernama Microsoft Winsock Control 6.0, lalu tekan Apply atau OK, maka icon kontrol Winsock akan terlihat pada Toolbar. Selanjutnya, kontrol Winsock dapat digunakan seperti penggunaan kontrol-kontrol standar lainnya. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 2
  • 5. Gambar 1.2 Menambahkan kontrol Winsock ke dalam project. Properties, Methods dan Events yang umum digunakan pada obyek Winsock beserta fungsinya dapat dilihat pada tabel di bawah ini. Nama Jenis Fungsi Accept method Menerima permintaan koneksi yang datang Bind method Menerbitkan koneksi pada mode UDP (connectionless- oriented) BytesReceived property Mengembalikan nilai banyaknya byte data yang diterima Close event Dipicu ketika socket ditutup Close method Menutup socket Connect method Menerbitkan koneksi pada mode TCP (connection- oriented) ConnectionRequest event Dipicu ketika ada remote host yang meminta koneksi DataArrival event Dipicu ketika ada pengiriman data dari remote host Error event Dipicu ketika terjadi error pada socket GetData method Mengambil data yang datang LocalHostName property Mendapatkan nama komputer lokal LocalIP property Mendapatkan IP komputer lokal LocalPort property Mendapatkan nomor port komputer lokal yang dibuka untuk koneksi Protocol property Menentukan atau mendapatkan jenis koneksi: TCP atau UDP RemoteHost property Mendapatkan nama remote host RemoteHostIP property Mendapatkan IP remote host RemotePort property Mendapatkan nomor port remote host yang dibuka untuk koneksi SendComplete event Dipicu ketika sebuah sesi pengiriman data telah selesai SendData event Dipicu ketika pengiriman data mulai dilakukan Laboratorium Komputer ⎯ Ilkom Unpak Bogor 3
  • 6. SendProgress event Dipicu selama pengiriman data dilakukan untuk melihat progress-nya State property Mendapatkan status socket Tabel 1.2 Properties, Methods dan Events yang umum digunakan pada obyek Winsock. Penjelasan lebih detail mengenai fungsi rutin-rutin di atas dapat dilihat pada MSDN pada topik Winsock Control. Latihan 1.1 Mendapatkan Nama dan Alamat IP Komputer Lokal 1. Buatlah sebuah proyek dengan nama LocalIP.vbp. 2. Buat sebuah form bernama frmLocalIP dengan tampilan sebagai berikut. txtHost txtIP sck 3. Set properties-nya menjadi sebagai berikut. Obyek Property Nilai txtHost BackColor &H00C0C0C0& txtHost Locked True txtIP BackColor &H00C0C0C0& txtIP Locked True 4. Tambahkan kode seperti di bawah ini. Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdResolve_Click() txtHost.Text = sck.LocalHostName txtIP.Text = sck.LocalIP End Sub Private Sub Form_Load() Show cmdResolve.SetFocus End Sub 5. Jalankan program. Tekan tombol Resolve, maka nama komputer dan alamat IP-nya akan tertera. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 4
  • 7. BAB 2 PENGIRIMAN DAN PENERIMAAN DATA PADA JARINGAN Pendahuluan Pada Bab I telah dijelaskan mengenai cara kerja Winsock untuk melakukan komunikasi data pada jaringan. Pada dasarnya, socket mengenal dua macam protokol koneksi pada jaringan: TCP yang bersifat connection-oriented, reliable dan byte stream service serta UDP yang bersifat connectionless-oriented. Connection-oriented berarti koneksi antara client dan server harus terbentuk terlebih dahulu sebelum dilakukan pertukaran data. Reliable berarti TCP menerapkan proses deteksi kesalahan dan retransmisi. Sedangkan byte stream service berarti paket dikirimkan dan sampai ke tujuan secara berurutan. Pada TCP, untuk menghubungi server digunakan method Connect, sedangkan pada UDP digunakan method Bind. Latihan di bawah ini menerapkan konsep pengiriman dan penerimaan data pada jaringan menggunakan protokol TCP. Implementasi protokol UDP lebih mudah namun lebih jarang penggunaannya dalam pemrograman jaringan. Untuk menambah wawasan, Anda dapat melihat contoh cara pengimplementasian protokol UDP ini pada MSDN pada bagian Using Winsock Control. Latihan 2.1 Mengirim dan Menerima Data Melalui Jaringan 1. Buatlah sebuah proyek bernama TCPServer.vbp. 2. Tambahkan sebuah form bernama frmChat dengan tampilan sebagai berikut. txtMsg txtChat 3. Set property Enabled pada cmdDisconnect menjadi False. 4. Set property Locked pada txtChat menjadi True. 5. Ketikkan kode berikut pada tempatnya yang sesuai. Private Const PortNumber = 4000 Private Sub cmdClose_Click() Unload Me End Sub Laboratorium Komputer ⎯ Ilkom Unpak Bogor 5
  • 8. Private Sub cmdDisconnect_Click() sck.Close cmdDisconnect.Enabled = False cmdListen.Enabled = True End Sub Private Sub cmdListen_Click() sck.LocalPort = PortNumber sck.Listen cmdListen.Enabled = False cmdDisconnect.Enabled = True txtMsg.SetFocus End Sub Private Sub cmdSend_Click() sck.SendData txtMsg.Text End Sub Private Sub Form_Load() Show cmdListen.SetFocus End Sub Private Sub sck_Close() sck.Close End Sub Private Sub sck_ConnectionRequest(ByVal requestID As Long) If sck.State <> sckClosed Then sck.Close End If sck.Accept requestID End Sub Private Sub sck_DataArrival(ByVal bytesTotal As Long) Dim sData As String sck.GetData sData txtChat.Text = txtChat.Text & sData & vbCrLf End Sub Private Sub sck_SendComplete() txtMsg.Text = "" End Sub 6. Bukalah jendela Microsoft Visual Basic yang baru, lalu buat sebuah proyek bernama TCPClient.vbp. 7. Tambahkan sebuah form bernama frmChat dengan tampilan sebagai berikut. txtMsg txtChat Laboratorium Komputer ⎯ Ilkom Unpak Bogor 6
  • 9. 8. Set property Enabled pada cmdDisconnect menjadi False. 9. Set property Locked pada txtChat menjadi True. 10. Ketikkan kode berikut pada tempatnya yang sesuai. Private Const RemoteHost = "Masagus" 'Nama server chat Private Const PortNumber = 4000 Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdConnect_Click() sck.Connect RemoteHost, PortNumber End Sub Private Sub cmdDisconnect_Click() sck.Close cmdDisconnect.Enabled = False cmdConnect.Enabled = True End Sub Private Sub cmdSend_Click() sck.SendData txtMsg.Text End Sub Private Sub Form_Load() Show cmdConnect.SetFocus End Sub Private Sub sck_Close() sck.Close End Sub Private Sub sck_Connect() cmdConnect.Enabled = False cmdDisconnect.Enabled = True txtMsg.SetFocus End Sub Private Sub sck_DataArrival(ByVal bytesTotal As Long) Dim sData As String sck.GetData sData txtChat.Text = txtChat.Text & sData & vbCrLf End Sub Private Sub sck_SendComplete() txtMsg.Text = "" End Sub 11. Jalankan TCPServer.vbp, kemudian tekan tombol Listen. 12. Jalankan TCPClient.vbp, kemudian tekan tombol Connect. 13. Cobalah untuk saling berkirim data. Tugas 1. Pada program di atas, nama komputer yang mengirim data tidak tampak pada pesan yang tampil. Buatlah agar pesan yang tampil juga menampilkan nama komputer yang mengirim pesan, seperti: Laboratorium Komputer ⎯ Ilkom Unpak Bogor 7
  • 10. <komputer10> hai <komputer15> test nih 2. Pada program di atas, nama server chat diletakkan dalam kode program, yaitu konstanta RemoteHost. Buatlah agar ketika client menjalankan program, tampil form untuk menentukan nama server chat yang ingin di-connect, sehingga program lebih fleksibel. 3. Buatlah agar client yang terhubung ke server menggunakan nickname seperti pada program chatting. Nickname tersebut harus ikut tampil pada pesan yang diterima, seperti: <hasan> hai <mona> test nih Laboratorium Komputer ⎯ Ilkom Unpak Bogor 8
  • 11. BAB 3 WEBBROWSER, WININET DAN MAPI Pendahuluan Microsoft telah menyediakan kontrol-kontrol ActiveX yang sangat membantu para programmer untuk membuat aplikasi di lingkungan Windows. Termasuk tiga di antaranya adalah Microsoft Internet Control (WebBrowser), Microsoft Internet Transfer Control (WinInet) dan Microsoft MAPI Controls (MAPI). Di samping WinSock, ketiga kontrol ini sangat berguna dalam pemrograman internet. Microsoft Internet Control (WebBrowser) menyediakan kemampuan bagi sebuah aplikasi untuk melakukan proses menjelajah (browsing). Penjelajahan dapat dilakukan dalam internet, jaringan atau komputer lokal. Microsoft Internet Transfer Control (WinInet) mengimplementasikan dua protokol yang umum digunakan di internet, yaitu: HyperText Transfer Protocol (HTTP) dan File Transfer Protocol (FTP). Menggunakan kontrol ini, Anda dapat terkoneksi ke situs manapun yang menggunakan salah satu dari protokol ini. Tipe koneksi dapat diatur apakah akan menggunakan koneksi synchronous (OpenURL) ataukah asynchronous (Execute). Kegunaan kontrol ini misalnya untuk: 1. Membuat aplikasi semacam browser FTP, 2. Membuat aplikasi yang secara otomatis men-download file dari sebuah situs FTP, atau 3. Mem-parsing kode HTML dari sebuah halaman web. Microsoft Messaging Application Program Interface (MAPI) Controls memberikan fasilitas untuk membuat aplikasi yang berhubungan dengan pengiriman pesan dalam jaringan dan email, seperti mengirim email, menerima email, mengelola attachment dan address book. MAPI adalah kumpulan prosedur-prosedur inti yang memungkinkan sebuah aplikasi untuk berkomunikasi dengan server email yang mendukung MAPI. Contohnya adalah Microsoft Exchange yang dapat dihubungi dari client manapun yang menggunakan driver MAPI. WebBrowser Cara penggunaan kontrol WebBrowser sangat mudah. Metode-metode dasarnya adalah sebagai berikut. Method Fungsi Navigate <URL> Membuka sebuah situs dengan URL <URL> GoBack Kembali ke situs sebelumnya GoForward Bergerak ke situs sesudahnya Stop Menghentikan proses navigasi Refresh Refresh situs yang sedang aktif GoHome Kembali ke homesite Laboratorium Komputer ⎯ Ilkom Unpak Bogor 9
  • 12. WinInet Metode-metode dasar penggunaan kontrol WinInet adalah sebagai berikut. Nama Jenis Fungsi AccessType property Mengeset atau mengembalikan nilai jenis akses. icDefault : Mengambil setting default pada registry. icDirect : Kontrol terkoneksi langsung ke internet. icNamedProxy : Kontrol terkoneksi melalui server proxy seperti yang tertera pada property Proxy. Cancel method Membatalkan request yang sedang dilakukan dan menutup koneksi. Execute method Mengeksekusi perintah pada sebuah situs dalam mode asynchronous. GetChunk method Mengambil data yang di-request menggunakan method Execute. OpenURL method Membuka dan mengambil isi dokumen pada sebuah situs dalam mode synchronous. Password property Mengeset atau mengembalikan password yang digunakan untuk logon ke situs. Protocol property Mengeset atau mengembalikan nilai protokol yang digunakan. icUnknown : Unknown icDefault : Protokol default icFTP : File Transfer Protocol icReserved : Dicadangkan untuk penggunaan mendatang icHTTP : Hypertext Transfer Protocol icHTTPS : Secure HTTP Proxy property Mengeset atau mengembalikan nama server proxy yang digunakan untuk koneksi ke internet. StateChanged event Mengembalikan state kontrol saat itu. Event ini dipicu ketika state kontrol berubah. StillExecuting property Mengembalikan nilai True bila kontrol sedang dalam keadaan sibuk (seperti sedang mendownload file). URL property Mengeset atau mengembalikan URL yang digunakan oleh perintah OpenURL atau Execute. UserName property Mengeset atau mengembalikan username yang digunakan untuk logon ke situs. Latihan di bawah ini mengimplementasikan cara penggunaan kedua kontrol di atas ke dalam sebuah program. Kontrol WebBrowser digunakan untuk menampilkan halaman sebuah situs dan kontrol WinInet digunakan untuk mengambil source halaman situs tersebut. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 10
  • 13. Latihan 4.1 Membuat Browser Sederhana 1. Buatlah sebuah proyek dengan nama MyBrowser.vbp. 2. Buat sebuah form bernama frmBrowser dengan tampilan sebagai berikut. picToolbar txtAddress browser inet 3. Set property Align obyek picToolbar menjadi 1 – Align Top. 4. Tuliskan kode program di bawah ini pada tempatnya yang sesuai. Private Sub cmdBack_Click() browser.GoBack End Sub Private Sub cmdForward_Click() browser.GoForward End Sub Private Sub cmdGo_Click() If Trim(txtAddress.Text) <> "" Then browser.Navigate txtAddress.Text End If End Sub Private Sub cmdHome_Click() browser.GoHome End Sub Private Sub cmdRefresh_Click() browser.Refresh End Sub Private Sub cmdStop_Click() browser.Stop End Sub Laboratorium Komputer ⎯ Ilkom Unpak Bogor 11
  • 14. Private Sub cmdViewSource_Click() Dim sData As String If Trim(txtAddress.Text) <> "" Then cmdViewSource.Enabled = False Screen.MousePointer = vbHourglass 'open the URL, get the data... sData = inet.OpenURL(txtAddress.Text) 'write the data onto clipboard... Clipboard.SetText sData 'open notepad... Shell "notepad.exe", vbNormalFocus 'paste the data into notepad... SendKeys "^V", True Screen.MousePointer = vbDefault cmdViewSource.Enabled = True End If End Sub Private Sub Form_Load() browser.Left = 0 browser.Top = picToolbar.Height Show txtAddress.SetFocus End Sub Private Sub Form_Resize() browser.Width = ScaleWidth browser.Height = ScaleHeight - browser.Top End Sub 5. Jalankan program. Tes program dengan cara membuka situs-situs internet, tes fungsi dari tombol-tombol yang ada dan lihat source dengan cara mengklik tombol View Source. MAPI Kontrol MAPI sangat luas penggunaannya dalam mengatur segala hal yang berkenaan dengan pengiriman dan penerimaan pesan baik dalam jaringan lokal maupun di internet. Dalam modul ini hanya akan dibahas mengenai penggunaan kontrol MAPI untuk mengirim email beserta attachment-nya. Cara penggunaan kontrol ini untuk tujuan lain seperti untuk menerima email dapat dilihat pada MSDN pada topik Microsoft MAPI Message Control dan Microsoft MAPI Session Control. Untuk mengirim email menggunakan kontrol MAPI, caranya adalah sebagai berikut. 1. Tambahkan komponen Microsoft MAPI Controls ke dalam proyek. Kontrol MAPISession dan MAPIMessages akan nampak pada toolbox. 2. Tambahkan kedua kontrol ini pada form, misalnya namanya mps (MAPISession) dan mpm (MAPIMessages). 3. Pertama kali Anda harus logon ke sebuah server mail. Jika informasi mengenai nama server mail, username dan password belum diset pada mail-client Anda yang mendukung MAPI (misalnya Outlook Express), Windows akan meminta Anda untuk mengesetnya terlebih dahulu. Setelah itu Anda dapat logon menggunakan method SignOn sebagai berikut: mps.SignOn 4. Jika MAPI berhasil connect ke server, aplikasi akan memperoleh sebuah SessionID yang nilainya tidak 0 yang dapat digunakan untuk mengirim email. Selanjutnya Anda harus mengeset SessionID yang didapat untuk digunakan oleh obyek mpm. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 12
  • 15. If mps.SessionID <> 0 then mpm.SessionID = mps.SessionID ‘next commands, i.e. sends message … … Else ‘error occured End If 5. Selanjutnya untuk membuat email yang baru, Anda harus memanggil method Compose dan mengeset property-property mpm seperti di bawah ini. 'new message... mpm.Compose mpm.RecipAddress = txtSendTo.Text mpm.MsgSubject = txtSubject.Text mpm.MsgNoteText = txtContent.Text If Trim(txtAttachment.Text) <> "" Then ‘add the attachment... mpm.AttachmentPathName = txtAttachment.Text End If 6. Untuk mengirim email tersebut, panggil method Send. On Error Resume Next 'send the message... mpm.Send If Err Then Msg = "Error occured while trying to send the message." & vbCrLf Msg = Msg & Err.Description MsgBox Msg, vbCritical End If 7. Setelah selesai menggunakan session, Anda dapat memutus hubungan dengan server mail dengan cara memanggil method SignOff. 'log off from mail server... mps.SignOff Tugas Buatlah sebuah aplikasi yang dapat digunakan untuk mengirim email dengan langkah- langkah seperti yang telah diuraikan di atas. Setelah Anda berhasil mengirim email, beberapa saat kemudian periksalah apakah email tersebut sampai ke alamat tujuan atau tidak. Selamat mencoba! Laboratorium Komputer ⎯ Ilkom Unpak Bogor 13
  • 16. BAB 4 PENGENALAN HYPERTEXT MARKUP LANGUAGE (HTML) PENDAHULUAN HTML kependekan dari Hypertext Markup Language, yaitu suatu bahasa yang digunakan untuk menulis halaman web. HTML dirancang untuk digunakan tanpa tergantung pada suatu platform tertentu. Dokumen HTML adalah suatu dokumen teks biasa, dan disebut markup language karena mengandung tag tertentu yang digunakan untuk menentukan tampilan suatu teks da tingkat kepentingan dari teks tersebut dalam suatu dokumen. Pada dokumen HTML yang termasuk sistem hypertext, kita tidak harus membaca dokumen tersebut secara urut dari atas kebawah atau sebaliknya, tetapi kita dapat menuju topik tertentu secara langsung dengan menggunakan teks penghubung yang akan membawa Anda ke suatu topik atau dokumen lain secara langsung. HTML merupakan pengembangan dari standar penformatan dokumen teks yaitu SGML (Standard Generalized Markup Language). Sejak awal perkembangannya sampai sekarang ini telah tersedia bermacam-macam level (versi) HTML, yaitu HTML 1.0, HTML 2.0, HTML 3.0, dan HTML 4.0. Untuk menjalankan dokumen HTML harus menggunakan web browser. STRUKTUR DOKUMEN HTML Secara sederhana, HTML terdiri dari dua bagian yaitu Header dan Body. Struktur HTML diapit oleh tag awal <HTML> dab tag akhir </HTML>. Standar penulisannya adalah: <HTML> <HEAD> Deskripsi Dokumen </HEAD> <BODY> Isi Dokumen </BODY> </HTML> Untuk lebih jelasnya, jalankan editor teks Anda dan buatlah program berikut ini: Contoh tes.html <HTML> <HEAD> <TITLE>Struktur Dokumen HTML</TITLE> </HEAD> <BODY> Hello World </BODY> </HTML> Tag <TITLE> digunakan untuk memberi judul dokumen HTML. Judul ini dapat Anda lihat pada pojok kiri atas (title bar) brower. Ketika orang ingin mem-bookmark web Anda, maka judul inilah yang akan disimpan. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 14
  • 17. HEADING Heading adalah sekumpulan kata yang menjadi judul atau subjudul dalam suatu dokumen HTML. Heading berbeda dengan tag <TITLE> yang tidak dapat muncul dalam halaman web. HTML menyediakan enam tingkatan heading. Heading level 1 biasanya untuk judul utama. Contoh heading.html <HTML> <HEAD> <TITLE>Heading</TITLE> </HEAD> <BODY> <H1>HEADING level 1</H1> <H2>HEADING level 2</H2> <H3>HEADING level 3</H3> <H4>HEADING level 4</H4> <H5>HEADING level 5</H5> <H6>HEADING level 6</H6> </BODY> </HTML> PARAGRAF Untuk membuat paragraf, digunakan tag <P>. Setelah tag <P>, anda bisa menulis isi paragraf dan paragraf itu harus diakhiri dengan tag penutup </P>. Anda bisa mengatur posisi paragraf dengan menggunakan atribut ALIGN. Atribut ALIGN diikuti dengan posisi yang diinginkan. Left untuk meratakan paragraf kiri, center untuk meratakan paragraf di posisi tengah horisontal dan right untuk meratakan paragraf di kanan. Contoh paragraf.html <HTML> <HEAD> <TITLE>paragraf</TITLE> </HEAD> <BODY> <P ALIGN=”right”> Beberapa tahun yang lalu, seorang hartawan meninggal dunia sedangkan ia tidak memiliki ahli waris. Kepada pengacaranya, ia meninggalkan dua buah surat wasiat yang disegel. Yang sebuah berisi permintaan agar jenazahnya dikuburkan pada jam empat dini hari. surat yang kedua belum diketahui isinya karena disampulnya tertulis pesan agar dibuka seusai pemakaman jenazah. <P ALIGN=”center”> Sesuai dengan wasiat, jenazah itu dikebumikan pada pukul empat dini hari. karena tidak lazimnya waktu pemakaman pada jam tersebut, yang ikut mengantar jenazahnya hanya empat orang kawannya yang paling setia. <P ALIGN=”left”> Seusai pemakaman, surat wasiat yang kedua dibuka. Betapa terkejutnya pengacara ketika membaca isinya, ialah wasiat bahwa seluruh harta warisan dibagi rata kepada orang-orang yang mengantarkan jenazahnya pada pemakaman. Dengan demikian, yang berhak memperoleh harta yang banyak itu hanya empat orang, sebagai imbalan bagi kesetiaan mereka. </P> </BODY> </HTML> Laboratorium Komputer ⎯ Ilkom Unpak Bogor 15
  • 18. BARIS BARU (BR) Tag line break (BR) digunakan untuk menulis teks pada baris berikutnya. Tag <BR> membuat baris baru tanpa memberi baris kosong. Contoh br.html <HTML> <HEAD> <TITLE>Line Break</TITLE> </HEAD> <BODY> <P>banyak cara yang dapat digunakan untuk melakukan instalasi FreeBSD. Namun ada tiga cara yang paling sering dilakukan, yaitu: <BR> Instalasi melalui FTP <BR> Instalasi melalui CDROM <BR> Instalasi melalui partisi DOS </BODY> </HTML> FONT Untuk mengatur huruf pada dokumen HTML digunakan tag <FONT>. Tag <FONT> memiliki atribut untuk mengatur ukuran huruf, jenis huruf yang digunakan dan warna huruf. Atribut SIZE digunakan untuk mengatur ukuran font. Nilai font dimulai dengan nilai 1 untuk ukuran huruf terkecil dan nilai 7 untuk ukuran paling besar. Atribut FACE digunakan untuk mengatur jenis huruf yang diinginkan. Atribut FACE harus diisi dengan string jenis font seperti Arial, Times New Roman, Verdana, dan sebagainya. Atribut COLOR digunakan untuk mengatur warna font yang diinginkan. Untuk memberi nilai pada atribut color ada dua cara. Cara pertama dengan menyebutkan nama warna seperti red, green dan blue. Sedangkan cara kedua adalah dengan menggunakan nilai RGB (Red Geen Blue) dari suatu warna, misalnya #FF0000 untuk red, #00FF00 untuk green dan #0000FF untuk blue. Contoh font.html <HTML> <HEAD> <TITLE>Font</TITLE> </HEAD> <BODY> <FONT SIZE=1 FACE=”Arial” COLOR=”RED”>FONT 1</FONT> <FONT SIZE=2 FACE=”Tahoma” COLOR=”#FF0000”>FONT 2</FONT> <FONT SIZE=3 FACE=”Verdana” COLOR=”BLUE”>FONT 3</FONT> </BODY> </HTML> LINK Perintah anchor (A) digunakan untuk membuat suatu link. Untuk membuat link ke dokumen HTML lain digunakan perintah <A HREF = “nama_dokumen”> Teks pada browser </A>. Anda juga bisa membuat link dalam sebuah dokumen HTML. Untuk itu, perlu disediakan nama anchor lokasi tujuan dari link tersebut. Nama anchor dibuat dengan menambahkan atribut NAME pada tag <A>. Misalnya <A NAME = “abbiati”>Abbiati</A>. Cara melakukan link ke bagian tersebut adalah <A HERF = “#nama_anchor”> teks pada browser</A>. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 16
  • 19. Contoh link.html <HTML> <HEAD> <TITLE>Link</TITLE> </HEAD> <BODY> <h1>Halaman Utama</h1> Silakan klik pada link-link berikut :<br> <a href="halx.html">Halaman X</a><br> <a href="haly.html">Halaman Y</a> </BODY> </HTML> Contoh halx.html <HTML> <HEAD> <TITLE>Halaman X</TITLE> </HEAD> <BODY> <h1>HALAMAN X</h1> <a href="link.html">Kembali</a> </BODY> </HTML> Contoh haly.html <HTML> <HEAD> <TITLE>Halaman Y</TITLE> </HEAD> <BODY> <h1>HALAMAN Y</h1> <a href="link.html">Kembali</a> </BODY> </HTML> LIST Ada dua jenis daftar atau list, yaitu: • Daftar Terurut (Ordered List) • Daftar Tidak Berurut (Unordered List) Ordered List Ordered List digunakan untuk membuat daftar di mana tiap bagiannya memiliki nomor secara berurut. Ordered List dimulai dengan tag <OL> dan diakhiri dengan tag penutup </OL>. Untuk menyatakan tiap bagiannya digunakan tag <LI> di mana tag ini tidak memerluan tag penutup. Dengan menggunakan ordered list Anda tidak perlu memberi nomor untuk tiap-tiap bagian. Perintah tersebut akan secara otomatis diproses oleh browser. Perhatikan contoh berikut ini: Laboratorium Komputer ⎯ Ilkom Unpak Bogor 17
  • 20. Contoh ordered_list.html <HTML> <HEAD> <TITLE>Ordered List</TITLE> </HEAD> <BODY> Empat besar pemain termahal di dunia <OL> <LI>Luis Figo <LI>Hernan Crespo <LI>Christian Vieri <LI>David Bechkam </OL> </BODY> </HTML> Ketika anda mengunakan perintah ordered list, maka default dari penomoran adalah 1,2,3,... Anda bisa mengubah nomor tersebut dengan menggunakan atribut TYPE pada tag <OL>. Nilai atribut TYPE beserta fungsinya dapat anda lihat pada tabel berikut ini: Atribut Fungsi TYPE=1 Daftar berurutan dengan nomor 1,2,3 (atribut ini adalah default dari ordered list) TYPE=I Daftar berurutan dengan menggunakan bilangan romawi huruf besar (I,II,III,...) TYPE=i Daftar berurut dengan mengunakan bilangan romawi huruf kecil (i,ii,iii,...) TYPE=A Daftar berurut dengan menggunakan abjad besar (A,B,C,...) TYPE=a Daftar berurut dengan menggunakan abjad kecil (a,b,c,...) Selain mengubah jenis penomoran, HTML juga menyediakan perintah untuk menentukan nilai awal penomoran. Atribut yang digunakan adalah START=n, di mana n adalah nilai awal penomoran. Contoh penggunaan atribut TYPE dan START adalah sebagai berikut. Contoh ordered_list2.html <HTML> <HEAD> <TITLE>OL dengan atribut</TITLE> </HEAD> <BODY> <OL TYPE=A> <LI>Daftar Tiga pemain termahal di dunia <OL TYPE=I> <LI>Luis Figo <LI>Hernan Crespo <LI>Christian Vieri </OL> <LI>Urutan Empat sampai Enam <OL TYPE=1 START=5> <LI>Denilson <LI>Gabriel Batigol <LI>Ronaldo </OL> </OL> </BODY> Laboratorium Komputer ⎯ Ilkom Unpak Bogor 18
  • 21. </HTML> Unordered List Berbeda dengan ordered list, dalam unordered list tidak dijumpai urutan dalam suatu daftar. Setiap bagian dari unordered list ditandai dengan tanda bullet. Tanda bullet menjadi default dalam unordered list. Untuk membuat daftar dengan tanda ini digunakan tag awal <UL> dan tag penutup </UL>. Sama seperti ordered list, untuk tiap-tiap bagiannya digunakan tag <LI> tanpa tag penutup. Perhatikan contoh berikut ini: Contoh unordered_list.html <HTML> <HEAD> <TITLE>Unordered List</TITLE> </HEAD> <BODY> Empat Kota besar di Indonesia <UL> <LI>Jakarta <LI>Bandung <LI>Yogyakarta <LI>Surabaya </UL> </BODY> </HTML> Selain default tanda bullet, Anda bisa menggunakan tanda cakram, lingkaran, atau kotak. Caranya dengan menggunakan atribut TYPE pada tag <UL>. Untuk lebih jelasnya lihatlah pada daftar berikut ini: Atribut Fungsi TYPE=circle Tanda lingkaran TYPE=disk Tanda cakram TYPE=square Tanda kotak Contoh penggunaan atribut TYPE di atas adalah: Contoh unordered_list2.html <HTML> <HEAD> <TITLE>UL dengan atribut</TITLE> </HEAD> <BODY> Perguruan Tinggi Negeri tertua di Indonesia <UL TYPE=square> <LI>Universitas Gadjah Mada <LI>Universitas Indonesia <LI>Institut Teknologi Bandung <LI>Institut Pertanian Bogor <LI>Universitas Airlangga </UL> </BODY> <HTML> GRAFIK Laboratorium Komputer ⎯ Ilkom Unpak Bogor 19
  • 22. HTML menyediakan tag <IMG> untuk menampilkan gambar dalam halaman web. Dari berbagai macam format gambar yang ada, hanya beberapa saja yang bisa digunakan dalam membuat halaman web. Format gambar yang paling sering digunakan adalah GIF, JPEG/JPG dan PNG. Standar penulisan tag <IMG> adalah: <IMG SRC=”file_gambar”ALT=”nama_alternatif”> Atribut SRC digunakan untuk menentukan sumber gambar. Atribut ALT berfungsi sebagai teks pengganti gambar untuk browser yang tidak bisa mendukung grafik (misalnya lynx) atau apabila client sengaja mematikan fasilitas pemanggilan gambar (misalnya Auto Load Images pada Nestcape). Perhatikan contoh berikut: Contoh gambar.html <HTML> <HEAD> <TITLE>Gambar</TITLE> </HEAD> <BODY> <img src="Bunga.jpg" width="82" height="68" alt="Gambar Bunga" /> </BODY> </HTML> Berikut beberapa atribut pada tag <IMG> yang biasanya digunakan dalam halaman-halaman web: Atribut Fungsi Border Memberikan suatu border atau batas pada gambar. Default border=0. Height, Width Menentukan tinggi dan lebar suatu gambar dalam ukuran pixel. HSPACE, Menentukan jarak spasi horisontal dan spasi vertikal antara gambar dengan obyek di VSPACE sekitarnya. ALIGN Mengatur perataan gambar terhadap obyek di sekelilingnya. Nilainya bisa berupa left, center, right, bottom, top, dan middle. Perhatikan contoh pengunaan beberapa atribut di atas dalam contoh program di bawah ini: Contoh gambar2.html <HTML> <HEAD> <TITLE>Atribut IMG</TITLE> </HEAD> <BODY> <P>Gambar Bunga, VSPACE = 20 <BR> <IMG SRC=”bunga.jpeg” WIDTH=”270” HEIGHT=”70” ALT=”Gambar Bunga” BORDER=”2” HSPACE=”20” VSPACE=”20”> </P> </BODY> </HTML> Laboratorium Komputer ⎯ Ilkom Unpak Bogor 20
  • 23. TABEL Tabel banyak digunakan karena dapat menampilkan informasi dengan bentuk yang ringkas dan mudah dibaca. Untuk membuat tabel digunakan tag awal <TABLE> dan tag penutup </TABLE>. Tag <TABLE> memiliki beberapa bagian penting, yaitu: • <CAPTION>.....</CAPTION> digunakan untuk membentuk judul tabel. Judul tabel ini akan terletak di luar tabel, bisa di bagian atas atau bagian bawah tabel. • <TH>.....</TH> berfungsi untuk meletakkan judul tabel di bagian paling atas atau paling kiri dari suatu tabel. Tabel header akan dicetak dalam huruf tebal. • <TR>.....</TR> dipakai untuk membentuk baris pada suatu tabel. • <TD>.....</TD> digunakan sebagai tempat menulis data atau informasi pada tabel. Perhatikan contoh penggunaan tabel berikut ini: Contoh tabel.html <HTML> <HEAD> <TITLE>Tabel</TITLE> </HEAD> <BODY> <TABLE border="1"> <CAPTION>Daftar Harga</CAPTION> <TR> <TH>Nama Barang</TH> <TH>Harga</TH> </TR> <TR> <TD>Buku</TD> <TD>Rp.2500,-</TD> </TR> <TR> <TD>Pensil</TD> <TD>Rp.2000,-</TD> </TR> <TR> <TD>Penggaris</TD> <TD>Rp.3000,-</TD> </TR> </TABLE> </BODY> </HTML> Align dan Width Penataan horizontal tabel menggunakan atribut ALIGN. ALIGN dapat bernilai left untuk perataan di kiri, center untuk perataan di tengah, dan right untuk penataan di kanan. Sedangkan untuk perataan vertikal menggunakan atribut VALIGN. VALIGN dapat bernilai top untuk penataan di atas, middle untuk penataan di tengah dan bottom untuk penataan di bawah. Lebar tabel biasanya diatur dengan mengunakan atribut WIDTH. Nilai WIDTH dapat dinyatakan dengan persen (%) yang berarti menyatakan lebar tabel dalam persentase atau dinyatakan dengan pixel yang berarti ukuran sesungguhnya dari tabel. Perhatikan contoh berikut: Contoh tabel_align.html <HTML> Laboratorium Komputer ⎯ Ilkom Unpak Bogor 21
  • 24. <HEAD> <TITLE>Tabel dengan WIDTH dan ALIGN</TITLE> </HEAD> <BODY> <TABLE WIDTH="88%" HEIGHT="210" BORDER="1"> <TR> <TD WIDTH="30%" HEIGHT="110" VALIGN="top"> VALIGN=&quot;top&quot;<br> </TD> <TD WIDTH="34%" HEIGHT="110" VALIGN="middle"> VALIGN=&quot;middle&quot;<br> </TD> <TD WIDTH="36%" HEIGHT="110" VALIGN="bottom"> VALIGN=&quot;bottom&quot;</TD> </TR> <TR> <TD WIDTH="30%" HEIGHT="100" ALIGN="left"> ALIGN=&quot;left&quot;</TD> <TD WIDTH="34%" HEIGHT="100" ALIGN="center"> ALIGN=&quot;center&quot;</TD> <TD WIDTH="36%" HEIGHT="100" ALIGN="right"> ALIGN=&quot;right&quot;</TD> </TR> </TABLE> </BODY> </HTML> CELLSPACING dan CELLPADDING Atribut CELLSPACING digunakan untuk menentukan jumlah spasi yang terdapat di antara dua buah sel. CELLPADDING berfungsi untuk mengatur jumlah spasi yang terdapat di antara batas/ border dengan isi atau teks di dalam teks tersebut. Berikut ini adalah contoh program yang menggunakan atribut di atas. Contoh tabel_cell.html <HTML> <HEAD> <TITLE>Tabel dengan CELLSPACING dan CELLPADDING</TITLE> </HEAD> <BODY> <TABLE BORDER=”3” CELLPADDING=”10” CELLSPACING=”10” WIDTH=”85%”> <TR> <TD WIDTH=”43%”>baris 1, kolom 1</TD> <TD WIDTH=”57%”>baris 1, kolom 2</TD> </TR> <TR> <TD WIDTH=”43%”>baris 2, kolom 1</TD> <TD WIDTH=”57%”>baris 2, kolom 2<</TD> </TR> </TABLE> </BODY> </HTML> COLSPAN dan ROWSPAN Atribut COLSPAN digunakan untuk menggabungkan beberapa kolom menjadi satu kolom. Sedangkan atribut ROWSPAN dipakai untuk mengabungkan beberapa baris menjadi satu. Perhatikan contoh berikut: Contoh tabel_span.html Laboratorium Komputer ⎯ Ilkom Unpak Bogor 22
  • 25. <HTML> <HEAD> <TITLE>Table dengan ROWSPAN dan COLSPAN</TITLE> </HEAD> <BODY> <TABLE BORDER=”3” CELLSPADING=”5” CELLSPACING=”5” WIDTH=”85%”> <TR> <TD WIDTH=”43%” ROWSPAN=”2”>baris 1, kolom 1<P>baris 2, kolom 1</TD> <TD WIDTH=”57%”>baris 1, kolom 2</TD> </TR> <TR> <TD WIDTH=”100” COLSPAN=”2”>baris 3, kolom 1<P>baris 3, kolom 2</TD> </TR> </TABLE> </BODY> </HTML> Warna Tabel Agar lebih menarik, Anda bisa memberi warna pada tabel. Selain warna latar belakang, border tabel juga bisa ditentukan warnanya. Untuk latar belakang gunakan atribut BGCOLOR, sedangkan untuk memberi warna pada border gunakan atribut BORDERCOLOR. Perhatikan contoh berikut ini: Contoh tabel_color.html <HTML> <HEAD> <TITLE> Table dengan ROWSPAN dan COLSPAN</TITLE> </HEAD> <BODY> <TABLE BORDER=”3” CELLPADDDING=”3” CELLSPACING=”5” WIDTH=”100” BORDERCOLOR=”FF0000”> <TR> <TD WIDTH=”50 %” BGCOLOR=”#808080”>&nbsp;</TD> <TD WIDTH=”50%”>&nbsp;</TD> </TR> <TR> <TD WIDTH=”50 %”>&nbsp;</TD> <TD WIDTH=”50%” BGCOLOR=”#008080”>&nbsp;</TD> </TR> <TABLE> <TABLE BORDER=”3” CELLPADDING=”3” CELLSPACING=”5” WIDTH=”100%” BORDERCOLORLIGHT=”#008080” BORDERCOLORDARK=”#800080”> <TR> <TD WIDTH=”100%”>&nbsp;</TD> </TR> </TABLE> </BODY> </HTML> Form dan Input Tag <FORM> dan <INPUT> digunakan bersama-sama untuk meminta masukan dari user untuk kemudian dikirim ke server. Tag <FORM> membuat kerangkanya sedangkan tag <INPUT> menyediakan elemen antarmuka dengan user. Form Laboratorium Komputer ⎯ Ilkom Unpak Bogor 23
  • 26. Anda tentu sering menjumpai situs yang menyediakan buku tamu bagi pengunjungnya. Formulir tersebut dibuat dengan menggunakan elemen form dan input. Standar penulisan Form adalah: <FORM METHOD=”<[POST/GET]>” ACTION=”<URL>”> <INPUT ... <INPUT ... </FORM> Atribut METHOD memiliki dua nilai POST dan GET. Metode GET mengirimkan data pada server dengan cara meletakkan data pada bagian akhir URL (Uniform Resource Locator) yang ditunjuk. Metode POST mengirimkan datanya secara terpisah dari URLnya. Jika data masuk banyak, lebih baik digunakan metode POST. Atribut ACTION berisi URL dari program yang dipanggil oleh form tersebut. TextBox TextBox merupakan salah satu jenis kontrol untuk memasukkan data. HTML menyediakan tag <INPUT> dengan atribut TYPE=”text” untuk membuat kotak input. Jika TYPE diberi nilai text, maka masukan hanya bisa menerima satu baris data. Selain atribut TYPE, pada tag <INPUT> juga bisa ditampilkan atribut NAME untuk memberi nama input tersebut, atribut VALUE untuk memberi nilai suatu input, dan atribut SIZE untuk menentukan batas terpanjang sebuah masukan. Nilai VALUE juga menjadi tulisan yang tampak pada browser. Anda bisa menyembunyikan masukan yang ditulis user dengan memberi nilai TYPE=”password”. Masukan akan menjadi karakter ”*”. CheckBox Selain atribut TYPE bernilai text dan password, Anda bisa memberi nilai atribut TYPE dengan checkbox yang digunakan untuk memberi user pilihan. Dengan menggunakan checkbox, user bisa memilih salah satu pilihan, lebih dari satu pilihan, atau tidak memilih semua pilihan. Radio Jika atribut TYPE=”checkbox” diganti dengan TYPE=”radio”, maka user harus memilih salah satu pilihan yang tersedia. User tidak bisa memilih kurang atau lebih dari satu pilihan. Atribut CHECKED memberi tanda bahwa pilihan tersebut sedang diaktifkan. Submit dan Reset Setiap form harus memiliki tombol Submit atau tombol Reset. Lebih baik jika keduanya digunakan bersama. Kedua tombol diatas dibuat dengan menggunakan atribut TYPE=”submit” dan TYPE=”reset”. Tombol submit digunakan ketika user telah selesai mengisi formulir dan ingin mengirimkan ke server. Sedangkan tombol reset digunakan ketika user ingin menghapus semua masukan yang telah ditulis. Perhatikan contoh di bawah ini: Contoh form.html Laboratorium Komputer ⎯ Ilkom Unpak Bogor 24
  • 27. <HTML> <HEAD> <TITLE> BUKU TAMU </TITLE> </HEAD> <BODY> <H3> <P ALIGN="center"><font color="#800080"><b>BUKU TAMU</b></font></P> </H3> <FORM METHOD="POST" ACTION="thanks.html"> <TABLE BORDER="1" CELLPADDING="2" WIDTH="100%" style="border-collapse: collapse" bordercolor="#111111" cellspacing="0"> <TR> <TD WIDTH="8%" bgcolor="#0066FF">Nama</TD> <TD WIDTH="4%" bgcolor="#6699FF">:&nbsp; <INPUT TYPE="text" NAME="nama1" SIZE="20"></TD> </TR> <TR> <TD WIDTH="8%" bgcolor="#0066FF">Email</TD> <TD WIDTH="4%" bgcolor="#6699FF">:&nbsp; <INPUT TYPE="text" NAME="email1" SIZE="20"></TD> </TR> <TR> <TD WIDTH="8%" bgcolor="#0066FF">Asal</TD> <TD WIDTH="4%" bgcolor="#6699FF">:&nbsp; <INPUT TYPE="text" NAME="asal1" SIZE="20"></TD> </TR> <TR> <TD WIDTH="8%" bgcolor="#0066FF">Homepageku : </TD> <TD WIDTH="88%" bgcolor="#6699FF"><INPUT TYPE="radio" VALUE="V1" CHECKED NAME="R1">Bagus Sekali<BR> <INPUT TYPE="radio" VALUE="V2" NAME="R1">Bagus<BR> <INPUT TYPE="radio" VALUE="V3" NAME="R1">Biasa Saja<P>&nbsp;</TD></TR> </TABLE> <P><INPUT TYPE="submit" VALUE="Kirim" NAME="B1"> <INPUT TYPE="reset" VALUE="Batal" NAME="B2"</P> </FORM> </BODY> </HTML> thanks.html <HTML> <HEAD> <TITLE> Terima Kasih Telah Mengisi Guest Book </TITLE> </HEAD> <BODY TEXT=”#000000 BGCOLOR=”6699FF”> <P><font color="#333399"><B>Terima kasih Anda telah mengisi buku tamu kami<BR> kami akan segera mengirim balasannya ke email Anda.</B></FONT></P> </BODY> </HTML> Laboratorium Komputer ⎯ Ilkom Unpak Bogor 25
  • 28. BAB 5 PENGENALAN PHP HYPERTEXT PREPROCESSOR (PHP) SEJARAH PHP PHP adalah salah satu bahasa script yang dieksekusi di sisi server web (server-side) yang didesain khusus untuk aplikasi web sepert halnya JSP, Perl (.pl), dan Asp. PHP dapat disisipkan diantara bahasa HTML (embedded). Script PHP dieksekusi di server dan menghasilkan output (if any) dalam bentuk HTML yang dikirimkan oleh server web ke client. Dengan cara ini, kode PHP yang disimpan di server tidak akan terlihat oleh client. PHP dibuat pertama kali oleh satu orang yaitu Rasmus Lerdorf, yang pada awalnya dibuat untuk menghitung jumlah pengunjung pada homepagenya. Diawal Januari 2001, PHP telah dipakai lebih dari 5 juta domain diseluruh dunia, dan akan terus bertambah karena kemudahan dan kegratisan aplikasi PHP ini dibandingkan dengan bahasa server-side yang lain. PHP termasuk dalam Open Source Product. Jadi anda dapat merubah source code dan mendistribusikannya secara bebas. PHP juga diedarkan secara gratis. Anda bisa mendapatkannya secara gratis. PHP juga dapat berjalan di berbagai server web semisal IIS, Apache, PWS, dll. INSTALASI PHP Pada bagian ini akan dibahas cara instalasi PHP. Disini akan dijelaskan instalasi PHP dengan menggunakan XAMPP yang didalamnya terdapat: + Apache 2.2.2 + MySQL 5.0.21 + PHP 5.1.4 + PHP 4.4.2-pl1 + PEAR + PHP-Switch win32 1.0 (use the "php-switch.bat") + XAMPP Control Version 2.3 from www.nat32.com + XAMPP Security 1.0 + SQLite 2.8.15 + OpenSSL 0.9.8b + phpMyAdmin 2.8.1 + ADOdb 4.80 Laboratorium Komputer ⎯ Ilkom Unpak Bogor 26
  • 29. + Mercury Mail Transport System v4.01b + FileZilla FTP Server 0.9.16c + Webalizer 2.01-10 + Zend Optimizer 3.0.0 Cara instalasi: 1. Jalankan file setup XAMPP dan exctract ke C: 2. Jalankan setup.bat yang terdapat pada C:XAMPP 3. Jika instalasi berjalan dengan sukses jalan “apache_start.bat” untuk menjalankan apache dan “mysql_start.bat”untuk menjalankan mysql. Anda juga dapat menggunakan “xampp- control.exe” untuk melakukan hal serupa. 4. Jalankan web browser dan ketik http://localhost untuk melihat XAMPP telah berjalan dengan baik. 5. Untuk mematikan apache dan mysql buka file “apache_stop.bat” dan “mysql_stop.bat”. MENULISKAN SCRIPT PHP Menuliskan PHP dalam HTML Seperti yang telah dituliskan sebelumnya bahwa PHP dapat ditulis (embed) ddidalam HTML, Untuk penulisannya dalam HTML, seperti halnya kode kode dalam HTML selalu diawali dengan suatu kode dan diakhiri dedngan kode tertentu maka PHP pun mempunyainya. Kode PHP diawali dengan tanda <? atau <?php dan diakhiri dengan tanda ?>. Sedangkan untuk menambahkan komentar diawali dengan tanda /* dan diakhiri dengan */ atau menggunakan tanda //. Yang berarti tulisan tidak akan terbaca atau tidak akan tereksekusi. Contoh: <HTML> <?php /* Teks ini tidak akan terbaca */ // Untuk teks ini juga tidak terbaca echo (“Teks ini dicetak menggunakan PHP”); ?> </HTML> Variabel dalam PHP Setiap bahasa pemrograman tentu mempunyai suatu variabel. Variabel berfungsi untuk mengkompilasi dan menyimpan beberapa bit data, sehingga untuk memanggil suatu data kita tinggal memanggil variabel tersebut. Variabel dalam PHP selalu dimulai dengan tanda ‘$’. Tidak terpengaruh apakah data merupakan integer, real maupun string, PHP akan secara otomatis mengkonversi data menurut tipenya. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 27
  • 30. Contoh: <? $a=2; $b=3; $c=$a+$b; echo ("Nilai a=$a dan Nilai b=$b <br> maka nilai a ditambah b adalah $c"); ?> Menerima Input dari Form Dalam form selalu ada value yang nantinya akan dijadikan sebuah variabel oleh PHP. Variabel inilah yang akan diproses oleh PHP tergantung pada penggunaan program PHP tersebut. Misalkan saja kita mempunyai program seperti berikut: Contoh form_input.php <HTML> <HEAD> <TITLE> Variabel dari Form </TITLE> </HEAD> <BODY> <FORM METHOD=POST> Nama : <INPUT TYPE="Text" NAME="nama"><BR> Password : <INPUT TYPE="Password" NAME="pass"><BR> Jenis Kelamin <BR> <INPUT TYPE="Radio" NAME="kelamin" VALUE="pria">Pria <INPUT TYPE="Radio" NAME="kelamin" VALUE="wanita">Wanita<BR> Hobi : <BR> <INPUT TYPE="Checkbox" NAME="hobi" VALUE="tidur">Tidur<BR> <INPUT TYPE="Checkbox" NAME="hobi" VALUE="bersepeda">Bersepeda</BR> <INPUT TYPE="Checkbox" NAME="hobi" VALUE="lain">Lainnya</BR> <INPUT TYPE="submit" VALUE="Kirim"> <INPUT TYPE="Reset" VALUE="Ulangi"> </FORM> <? $nama = isset($_REQUEST[“nama”]) ? $_REQUEST[“nama”] : “”; $pass = isset($_REQUEST[“pass”]) ? $_REQUEST[“pass”] : “”; $kelamin = isset($_REQUEST[“kelamin”]) ? $_REQUEST[“kelamin”] : “”; $hobi = isset($_REQUEST[“hobi”]) ? $_REQUEST[“hobi”] : “”; if($nama!=””) { echo("Nama Anda : $nama<BR>"); echo("Password : $pass<BR>"); echo("Jenis Kelamin : $kelamin<BR>"); echo("Hobi : $hobi<BR>"); } else { echo(“Mohon diisi data anda dengan benar.”); } ?> </BODY> </HTML> Variabel global $_REQUEST adalah array yang berisi variabel-variabel yang teregister oleh PHP. Variabel-variabel input yang diisi oleh user melalui form akan teregister di variabel $_REQUEST ini. Kode PHP di atas menangkap variabel-variabel inputan dari form dan menampilkannya ke layar dengan fungsi echo. Kita dapat memisahkan antara file yang memberi input dengan yang memproses input. Untuk melakukan hal tersebut, tambahkan atribut ACTION=”<file_pemroses>” pada tag <FORM>, dan pindahkan kode PHP pada file pemroses tersebut. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 28
  • 31. Operator dan Struktur Kontrol Program Dasar dari bahasa PHP adalah bahasa C. Hal ini dimaksudkan agar, para programmer yang telah terbiasa menggunakan bahasa C/C++ mudah menggunakan bahasa PHP untuk membuat aplikasi berbasis web. Oleh karena itu, lambang dan cara penggunaan operator (+, -, x, /, %) serta struktur kontrol program (if, switch, for, while) sama persis dengan yang telah dipelajari dalam bahasa C/C++. Modul ini tidak membahas mengenai operator dan struktur kontrol program karena mahasiswa dianggap telah memahami cara penggunaan operator dan struktur kontrol program dalam bahasa C/C++. Array Array digunakan untuk mengidentifikasikan beberapa nilai yang berbeda namun diwakili dengan hanya satu nama variabel. Misalkan saja kita memiliki variabel $negara yang kita ketahui bahwa negara tidak hanya 1. Untuk mengidentifikasi variabel $negara yang memiliki banyak nilai, kita membedakan dari indeksnya, misalnya $negara[1]=”Indonesia” lalu $negara[2]=”Malaysia” dst. Setiap elemen dalam array memiliki nomor indeks, nomor indeks dalam array diawali dengan nol [0]. Pada deklarasi array jika kita tidak mendeklarasikan nomor indeks tersebut maka secara otomatis akan diberi nomor indeks [0]. Untuk mendeklarasikan array menggunakan fungsi array(), misalnya: $negara = array(“Indonesia”,”Malaysia”,”Kamboja”); echo($negara[1]); Seperti terlihat di atas, secara otomatis Indonesia akan diberi indeks [0], Malaysia diberi indeks [1] dan Kamboja diberi indeks [2]. Jika kita menginginkan indeks pertama dimulai dengan 1 maka kita dapat menuliskan: $negara=array(1=>”Indonesia”,”Malaysia”,”Kamboja”); echo($negara[1]); Tipe data array memiliki pointer untuk menunjukkan dimana indeks yang aktif. Untuk array yang baru dideklarasikan, nomor indeks adalah nomor indeks yang pertama [0]. Untuk mengetahui nomor indeks yang aktif digunakan fungsi key(). Untuk mengetahui nilai dari elemen tersebut dapat menggunakan fungsi current() dan untuk mengetahui jumlah elemen dalam digunakan fungsi count(). Posisi pointer juga dapat diatur, untuk menaikkan pointer kita dapat menggunakan fungsi next(), untuk menurunkan pointer kita dapat menggunakan fungsi prev(), untuk mengarahkan pointer ke posisi terakhir dapat menggunakan fungsi end() dan untuk mengembalikan pointer kembali ke awal dapat menggunakan fungsi reset(). Contoh: <? $negara=Array("Indonesia","Malaysia","Kamboja"); $total=count($negara); for($i=1;$i<=$total;$i++) { $aktif=key($negara); $nilai=current($negara); echo("Pointer berada pada elemen $aktif dan nilainya : $nilai<BR>"); next($negara); } end($negara); for($i=1;$i<=$total;$i++) { $aktif=key($negara); $nilai=current($negara); Laboratorium Komputer ⎯ Ilkom Unpak Bogor 29
  • 32. echo("Pointer berada pada elemen $aktif dan nilainya : $nilai<BR>"); prev($negara); } end($negara); $aktif=key($negara); echo("<P>Elemen dipindahkan menuju elemen terakhir, yitu elemen ke-$aktif"); reset($negara); $aktif=key($negara); echo("<P>Elemen dipindahkan menuju elemen pertama yaitu elemen ke-$aktif"); ?> Pada contoh yang telah dibuat di atas, elemen-elemen array berupa integer, tetapi elemen array juga bisa berupa string, misalnya : $negara[“ina”] = ”Indonesia”, $negara[“my”] = “Malaysia”. Array seperti ini disebut sebagai array associative. Untuk mengambil array yang elemennya berupa string, digunakan fungsi each(). Fungsi each() berfungsi mengambil nilai dari array kemudian menaikkan pointer satu elemen. Hasil dari fungsi each() dimasukkan ke dalam variabel menggunakan fungsi list(). Contoh: <? $negara=array("ina"=>"Indonesia","my"=>"Malaysia","kam"=>"Kamboja"); $total=count($negara); for($i=1;$i<=$total;$i++) { list($aktif,$nilai)=each($negara); echo("Pointer berada pada elemen $aktif dan nilainya : $nilai<BR>"); } ?> PHP menyediakan fungsi yang lengkap untuk manipulasi array, seperti mengurutkan array atau menjumlahkan nilai elemen-elemen dalam suatu array. Pembahasan mengenai array lebih jauh dapat dilihat pada PHP Manual Book. Cookie Cookie adalah mekanisme untuk menyimpan data dalam remote browser yang dapat digunakan untuk melacak dan mengindentifikasikan user. Jika kita ingin meng-assign banyak nilai ke satu cookie, maka dapat ditambahkan tanda [] ke nama cookie-nya: Perhatikan contoh-contoh berikut. halsatu.php <? setcookie(“nm_pengunjung”, ”Masagus”); echo”Mendefinisikan cookie.”; ?> haldua.php <? echo “Menggunakan komputer yang sama, maka variable $nm_pengunjung adalah $nm_pengunjung.”; ?> Laboratorium Komputer ⎯ Ilkom Unpak Bogor 30
  • 33. haltiga.php <? // menghapus cookie setcookie(“nm_pengunjung”); echo “halaman sudah tidak ada cookie.”; ?> halempat.php <? echo “Halaman ini menampilkan cookie yang sudah tidak ada.<br>”; echo “Nama pengunjung adalah $nm_pengunjung.”; ?> Operasi File Untuk membuka/mengakses file digunakan fungsi fopen(). Fungsi fopen() ini dapat mengakses file dari sistem file, atau melalui HTTP atau FTP di Internet. Sintaksnya: fopen(filename, mode_akses); Filename adalah file yang akan dibuka, sedangkan mode_akses adalah metode pengaksesan file tersebut apakah file tersebut diakses hanya untuk dibaca, ditulis atau ditambah. Mode akses yang diberikan: Mode Akses Keterangan A Membuka file untuk diubah. Data akan ditambahkan di akhir file yang diakses, jika file tidak ditemukan, maka PHP secara otomatis akan membuat file tersebut. a+ Membuka file untuk diubah dan dibaca. Data akan ditambahkan di akhir file yang diakses, jika file tidak ditemukan, maka PHP secara otomatis akan membuat file tersebut R Membuka file untuk dibaca saja R+ Membuka file untuk dibaca dan ditulis. Data akan ditulis di awal file w Membuka file untuk ditulis saja. Data dalam file yang lama akan hilang dan digantikan dengan data baru yang dimasukkan. Jika file tidak ditemukan, PHP secara otomatis akan membuat file tersebut w+ Membuka file untuk ditulis dan dibaca. Data dalam file yang lama akan hilang dan digantikan dengan data baru yang dimasukkan. Jika file tidak ditemukan, PHP secara otomatis akan membuat file tersebut Untuk melihat isi dari file digunakan fungsi fgets($filename, length), $filename adalah variabel file yang akan dibuka sedangkan length menunjukkan jumlah karakter yang diambil. Pada fungsi fgets() ini setiap tag HTML akan dieksekusi, agar tag HTML tidak bisa dieksekusi maka digunakan fungsi fgetss(). Untuk menuliskan data ke dalam file, digunakan fungsi fputs($namafile, $variabel_data), isi data yang akan dimasukkan berada pada $variabel_data sedangkan $namafile adalah file tujuan data tersebut. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 31
  • 34. Contoh: tulisan.txt Saya sekarang sedang belajar php<BR> Asyik lho Ternyata PHP itu mudah, tidak sesulit yang dibayangkan <P>Bagaimana? apakah anda ingin belajar lebih lanjut?? <HR> tulisan.php <? if($file=fopen("tulisan.txt", "r")) { echo("Dibawah ini menggunakan fgets()<BR>"); while(!feof($file)) { $string=fgets($file,255); echo($string); } fclose($file); $file=fopen("tulisan.txt", "a+"); echo("<P>Yang ini menggunakan fgetss()<BR>"); while(!feof($file)) { $string=fgetss($file,255); echo($string); } $tambahan="Ini Tambahannya"; echo("<P>$tambahan = $tambahan<BR>"); fputs($file,$tambahan); fclose($file); $file=fopen("tulisan.txt","r"); echo("Setelah Ditambah : <BR>"); while(!feof($file)) { $string=fgets($file,255); echo($string); } fclose($file); } else { echo("File Gagal dibuka"); } ?> Membuat Counter Kita dapat membuat sebuah aplikasi counter sederhana menggunakan fasilitas manipulasi file sebagai berikut. <html> <?php $f = fopen("pengunjung.txt","r"); $count = fgets($f); fclose($f); $count++; Laboratorium Komputer ⎯ Ilkom Unpak Bogor 32
  • 35. echo "<CENTER><FONT SIZE="3" FACE="arial, verdana, helvetica">Anda pengunjung ke.</FONT></CENTER>" ; echo "<CENTER><FONT SIZE="3" FACE="arial, verdana, helvetica">$count</FONT></CENTER>" ; echo "n<br>" ; $f = fopen("pengunjung.txt","w"); fwrite($f, $count); fclose($f); ?> <html> Tentu saja kita membutuhkan file yang bernama pengunjung.txt yang isinya berupa angka yang kita tulis pada awal text. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 33
  • 36. BAB 6 DASAR-DASAR PENGOLAHAN DATA MENGGUNAKAN MySQL PENDAHULUAN Database MySQL merupakan salah satu database yang sifatnya open source, yang dibuat oleh MySQL AB sebuah perusahaan komersial yang bertempat di Swedia. Kemampuan MySQL tidak kalah dengan Oracle yang serba mahal dan SQL server Microsoft. Kelebihan yang dimiliki oleh MySQL adalah Aksebilitas yang cepat, Source yang disediakan dengan gratis, dan mudah digunakan. Cara menulis perintah dalam MySQL: 1. Untuk penulisan perintah bebas menggunakan huruf kecil atau huruf besar, namun penamaan atribut, database, dan tabel adalah case sensitive. 2. Pernyataan tidak harus ditulis dalam satu baris, MySQL akan melaksanakan perintah jika statement sudah diakhiri dengan ‘;’ (tanda titik koma). Untuk dapat mulai menggunakan MySQL, lakukan langkah-langkah berikut: 1. Jalankan MySQL dengan cara run mysql_start.bat atau dari xampp-control.exe pada folder tempat XAMPP di-extract (misal: C:xampp). 2. Buka DOS Prompt dengan cara klik Start|Run…, lalu ketikkan cmd <Enter>. 3. Masuk ke folder bin MySQL dengan cara mengetikkan: cd c:xamppmysqlbin <Enter>. 4. Jalankan MySQL dengan cara mengetikkan mysql [–u<username>] [-p<password>] <Enter>. Jika berhasil, akan tampil jendela MySQL yang ditandai dengan prompt mysql>. DATABASE Database merupakan sekumpulan dari tabel dimana tabel merupakan sejumlah field yang bisa berisi berbagai macam data, sehingga kita terlebih dahulu membuat tabel beserta field- fieldnya berupa kolom. Membuat database Sintaks untuk membuat database. Mysql> create database nama_db; Contoh: Mysql> create database dbku; Query OK, 1 row affected Perintah diatas, kita membuat sebuah database yang bernama dbku, dan natinya kita membuat tabel di dalam database tersebut. Menggunakan database Sintaks untuk menggunakan database adalah: Mysql> use nama_db; Laboratorium Komputer ⎯ Ilkom Unpak Bogor 34
  • 37. Contoh: Mysql>use dbku; Database Changed Menghapus database Sintaks untuk menghapus database adalah: Mysql>drop nama_db; Contoh: Mysql>drop dbku; TABEL Membuat tabel Sintaks untuk membuat tabel pada database adalah Mysql>create table nama_tabel( ->field1 jenis_data(panjang_data) properties, ->field2 jenis_data(panjang_data) properties, ->field3 jenis_data(panjang_data) properties ->); Keterangan: Jenis data: Tipe data field bisa berupa integer, character, text, dll. Panjang data: panjang data field. Properties: tambahan untuk fieldnya bisa berupa not null, default nilainya. Contoh: Mysql>create table nama_tabel( ->No int(5) not null auto_increment, ->Nama char(225) not null, ->Email text(225) not null, ->Primary key(no) ); Mengisi record Setelah kita membuat Database beserta Tabelnya, sekarang kita mengisi data ke dalam tabel tersebut. Untuk menginput data digunakan perintah INSERT. Sintaksnya sebagai berikut: Mysql>INSERT INTO nama_tabel(field1,field2,field3) ->VALUES(‘data1’,’data2’,’data3,); Laboratorium Komputer ⎯ Ilkom Unpak Bogor 35
  • 38. Contoh: Mysql>INSERT INTO nama_tabel(No,Nama,Email) ->VALUES(‘1’,’guntur’,’webofficial@afsa-online.org’); Query OK, 1 row affected (0,06 sec) Mengubah isi record Untuk mengubah (edit) isi data yang ada, sintaksnya sebagai berikut. Mysql>UPDATE nama_tabel set nama_field=’databaru’ where nama_field=’datalama’; Menghapus isi record Untuk menghapus isi record digunakan perintah DELETE. Berikut sintaks penggunaannya. Mysql>DELETE from nama_tabel where nama_field=’datalama’; Melihat isi tabel Perintah untuk melihat isi sangatlah beragam. Kita bisa mengambil salah satu field atau beberapa field bahkankeseluruhannya. Menampilkan keseluruhan field Sintaknya adalah: Mysql>select* from nama_tabel; Menampilkan salah satu field Sintaknya adalah: Mysql>select field from nama_tabel; Menampilkan beberapa field Sintaknya adalah: Mysql>select field1,field2,field3 from nama_tabel; Untuk latihan, silakan coba membuat database dengan tabel seperti berikut: Laboratorium Komputer ⎯ Ilkom Unpak Bogor 36
  • 39. Tabel biodata No Nama Umur Pekerjaan Email Asal 1 Rendi 22 Mahasiswa rinda_82@bolehmail.com Bandung 2 Wati 25 Karyawati what_tea@theemail.com Yogyakarta 3 Muklis 19 Wiraswastawan jojo_er@lycos.com Yogyakarta 4 Rina 31 Pelajar rheen@telkom.net Jakarta Memfilter data Kita dapat membatasi pemanggilan data hanya yang memenuhi kriteria yang telah ditetapkan. Misalkan pada contoh di atas, kita memanggil data yang disaring berdasarkan umur 20 sampai 30 tahun; maka perintahnya adalah: Mysql>select Nama,Umur,Pekerjaan,Email,Asal from biodata where umur between 20 and 30; Mengurutkan data Kita dapat mengurutkan data yang diambil berdasarkan field-field tertentu baik secara menaik (ASCENDING) maupun menurun (DESCENDING) menggunakan klausa ORDER BY. Misalnya kita ingin mengurutkan data di atas berdasarkan umurnya dari yang termuda sampai yang tertua, maka querynya adalah: Mysql>select Nama,Umur,Pekerjaan,Email,Asal from biodata order by Umur; Laboratorium Komputer ⎯ Ilkom Unpak Bogor 37
  • 40. BAB 7 PEMROGRAMAN DATABASE MENGGUNAKAN PHP Koneksi ke Server Database Untuk melakukan koneksi ke sebuah server database MySQL, gunakan fungsi: mysql_connect(hostname, username, password); Jika pemanggilan fungsi berhasil, fungsi akan mengembalikan nilai berupa obyek koneksi ke server database tersebut. Sebaliknya jika gagal, fungsi akan mengembalikan nilai FALSE. Contoh: <? $hostname=”localhost”; // hostname server database $username=”root”; // username database $password=””; // password database if($link=mysql_connect($hostname, $username, $password)) { // Gunakan database “dbku” mysql_select_db(“dbku”); echo(“Koneksi berhasil.”); return 1; } else { // tampilkan pesan error echo mysql_error(); return 0; } ?> Menjalankan Query Setelah terkoneksi ke database, selanjutnya anda dapat melakukan query ke database. Caranya menggunakan fungsi mysql_query($query, $link). Fungsi ini akan mengembalikan nilai berupa obyek rowset hasil dari eksekusi query jika pemanggilan fungsi berhasil, sebaliknya akan mengembalikan nilai FALSE. Contohnya adalah seperti di bawah ini. <? mysql_select_db(“dbku”); // memilih database yang digunakan $query=”select * from biodata”; // query yang akan dieksekusi if ($rs=mysql_query($query, $link)) { // eksekusi query echo(“Eksekusi query berhasil.”); return 1; } else { // tampilkan pesan error echo mysql_error(); return 0; } ?> Begitu pula untuk query yang lainnya misalnya insert, delete, update, dll., kita dapat menggunakan perintah mysql_query. Laboratorium Komputer ⎯ Ilkom Unpak Bogor 38
  • 41. Menampilkan isi tabel Query SELECT akan menghasilkan kumpulan record (recordset/rowset) yang dapat diolah lebih lanjut, untuk ditampilkan di halaman web misalnya. Untuk keperluan tersebut, kita dapat memanfaatkan salah satu dari fungsi-fungsi di bawah ini. Fungsi Keterangan mysql_fetch_row($rowset) Mengembalikan record berupa array dengan indeks numerik. mysql_fetch_assoc($rowset) Mengembalikan record berupa array dengan indeks string (associative array). mysql_fetch_array($rowset, $type) Mengembalikan record berupa array dengan indeks string, numerik, atau keduanya tergantung dari nilai $type. Nilai $type dapat berisi salah satu dari nilai-nilai berikut: MYSQL_ASSOC MYSQL_NUM MYSQL_BOTH (default) mysql_fetch_object Mengembalikan record berupa obyek. Seluruh fungsi akan mengembalikan nilai FALSE apabila tidak ada record/row yang dapat diambil, misalnya query yang tidak menghasilkan row. Script di bawah ini membaca seluruh data pada tabel biodata dan menampilkannya ke halaman web dalam format tabel. tabel.php <? $hostname=”localhost”; // hostname server database $username=”root”; // username database $password=””; // password database if($link=mysql_connect($hostname, $username, $password)) { // Gunakan database “dbku” mysql_select_db(“dbku”); // Jalankan query $sql = “SELECT * FROM biodata”; if ($rs=mysql_query($sql, $link)) { // Cetak header tabel echo(“<table><tr> <td><b>No</b></td> <td><b>Nama</b></td> <td><b>Umur</b></td> <td><b>Pekerjaan</b></td> <td><b>Email</b></td> <td><b>Asal</b></td></tr>”); // Cetak record while(is_array($row=mysql_fetch_assoc($rs))) { echo(“<tr> <td>” . $row[“No”] . “</td> <td>” . $row[“Nama”] . “</td> <td>” . $row[“Umur”] . “</td> <td>” . $row[“Pekerjaan”] . “</td> <td>” . $row[“Email”] . “</td> <td>” . $row[“Asal”] . “</td></tr>”); Laboratorium Komputer ⎯ Ilkom Unpak Bogor 39
  • 42. } // Cetak footer tabel echo(“</table>”); } else { // tampilkan pesan error echo mysql_error(); return 0; } } else { // tampilkan pesan error echo mysql_error(); return 0; } ?> Laboratorium Komputer ⎯ Ilkom Unpak Bogor 40
  • 43. DAFTAR PUSTAKA • Agus K., Pemrograman Jaringan Internet Dengan Visual C++, Elex Media Komputindo, Jakarta, 2002. • Onno W.P., dkk., TCP/IP: Standar, Desain dan Implementasi, Elex Media Komputindo, Jakarta, 1998. • PHP Manual • MySQL Manual Laboratorium Komputer ⎯ Ilkom Unpak Bogor 41