Tutorial PHP Web

PHP Web

Materi ini memiliki 1 buah lampiran. Namun Anda tidak dapat mengakses lampiran karena belum terdaftar di kursus ini. Klik disini untuk mendaftar.

Mulai dari video ini dan berikutnya, kita akan kembali membahas PHP sebagai pemograman web. Berhubung selama ini kita hanya menggunakan PHP sebagai command line, maka ada baiknya kita mengulangi kembali pelajaran awal kita mengenai cara kerja PHP sebagai web.

Arsitektur yang digunakan pada web adalah client-server. Disini ada 2 buah istilah ya, yaitu client sebagai peminta layanan, dan server sebagai penyedia layanan. Pertanyaan berikutnya adalah siapa yang bertindak sebagai client dan siapa yang bertindak sebagai server?

Yang bertindak sebagai client adalah web browser, yang biasanya digunakan oleh user. Sedangkan yang bertindak sebagai server adalah web server. Browser menggunakan koneksi internet menghubungi web server untuk meminta layanan berupa webpage, atau halaman web. Nah, dibelakang layar, biasanya web server memiliki bahasa pemograman sendiri, dalam hal ini yang kita gunakan adalah PHP. Sedangkan untuk mengatur penyimpanan data, biasanya kita menggunakan program database, dalam tutorial ini kita menggunakan MySQL.

Walaupun server memerlukan beberapa program untuk bisa berjalan, namun semua program ini bisa kita install pada satu komputer yang sama. Dan satu komputer server bisa melayani banyak client sekaligus.

Bagaimana cara kerja client-server pada web? Pertama, browser sebagai client mengirimkan request atau permintaan ke web server. Request ini bisa dalam bentuk get, post, put, patch atau delete. Sebenarnya masih ada beberapa jenis request yang lain, namun kelima ini adalah yang paling sering digunakan.

Pada web server, biasanya sudah disediakan slot untuk menerima permintaan dari client. Pada contoh di gambar ada 5 slot, namun secara default biasanya apache menyediakan sekitar 60 hingga 150 slot untuk menerima permintaan client secara bersamaan. Apabila kita menggunakan server yang memiliki banyak cpu dan memory, kita bisa meningkatkan jumlah slot ini menjadi 1.000.

Setelah menerima permintaan dari client, maka web server mencari slot yang kosong untuk melayani client. Kemudian slot ini akan menjalankan proses dari halaman web yang bersangkutan, dan proses ini bisa saja menjalankan script php tertentu ataupun mengakses data tertentu pada database. Akhirnya slot akan mengembalikan response, yang biasanya berbentuk HTML. Namun bisa saja response ini juga berbentuk file pendukung lainnya seperti script CSS atau Javascript, file dokumen seperti PDF, CSV, ataupun file multimedia seperti JPG, PNG, mp3, mp4 dan lain-lain. Browser akan melakukan render terhadap response agar menjadi tampilan yang bisa dilihat oleh user.

Yang menariknya disini adalah, setelah seluruh response diterima oleh browser, maka koneksi antara browser dan web server langsung diputuskan. Slot yang tadinya digunakan oleh browser, sekarang berubah menjadi slot kosong sehingga bisa digunakan untuk melayani client lain. Jenis koneksi seperti ini disebut juga dengan nama Stateless. Dengan menggunakan Stateless, kita bisa menghemat resource milik server, sehingga bisa digunakan untuk melayani lebih banyak client.

Apa saja kelebihan dari client-server? Yang paling utama adalah data dan kontrol menjadi terpusat pada server. Sebagai akibatnya, kita bisa lebih mudah dalam menjaga keamanan. Kita bisa menambahkan firewall dan fitur keamanan lainnya di bagian server. Untuk pemeliharaan juga lebih mudah, karena kalau kita perlu meng-update script PHP, maka kita cukup meng-update bagian server saja, maka seluruh sistem sudah menggunakan script terbaru. Kalau dibandingkan dengan program desktop, misalkan sudah digunakan oleh 100 user. Apabila ada bugs yang perlu diperbaiki dan kita mengupdate program desktopnya, maka kita harus menginstall versi barunya ke 100 user tersebut. Hal ini akan lebih repot lagi apabila user-nya tersebar di banyak tempat, apalagi kalau berada di luar kota.

Pengaturan skalabilitas juga lebih mudah, karena kalau misalkan jumlah user sudah terlalu banyak sehingga server yang sekarang sudah tidak mampu melayani. Maka kita bisa melakukan upgrade vertikal, yaitu mengganti server agar memiliki resource seperti cpu atau memory yang lebih besar. Ataupun melakukan upgrade horizontal, yaitu menambah server baru dengan spek yang sama.

Dan yang terakhir ini adalah hal yang paling menarik dari web. Halaman web bisa diakses dari mana saja asalkan terhubung ke internet. Hal inilah yang menyebabkan pemograman web menjadi paling banyak digunakan dibandingkan dengan pemograman lainnya. Kalau kita bandingkan ke program desktop, misalkan kita install pada sebuah PC yang berada di kantor. Setiap kali kita hendak mengakses program tersebut, kita harus berada di kantor juga. Kita tidak bisa bekerja dari rumah ataupun dari tempat lainnya. Sedangkan kalau programnya dibuat dalam bentuk pemograman web, maka bisa diakses dari mana saja asalkan memiliki koneksi internet.

Disamping kelebihan, tentunya arsitektur Client Server juga memiliki kelemahan. Berhubung semuanya terpusat di server, maka sistem menjadi bergantung pada server. Pada web yang masih menggunakan satu server, apakah servernya jatuh, maka seluruh sistem turut jatuh. Dan berhubung sebagian besar pekerjaan dilakukan oleh server, maka beban kerja server menjadi tinggi.

Web memang bisa diakses dari mana saja, namun kita tetap memerlukan koneksi internet. Apabila kita sedang berada di tempat yang tidak memiliki akses internet, maka kita tidak bisa mengakses server. Jadi kita tetap memiliki ketergantungan terhadap koneksi internet.

Dan kelemahan terakhirnya adalah kita tidak bisa mengatur browser yang digunakan oleh user untuk mengakses situs kita. Bisa saja user menggunakan browser lama seperti Internet Explorer. Atau ada juga user yang masih menggunakan browser berbasis teks. Atau user menggunakan browser Chrome namun tidak pernah di-update. Hal-hal seperti ini bisa menyebabkan tampilan yang dilihat oleh user berbeda dari yang dirancang oleh programmer.

Cara menggunakan PHP Web sedikit lebih repot dibandingkan pada saat kita mengaksesnya menggunakan command line. Pertama kita harus buka dahulu XAMPP Control Panel untuk menghidupkan Apache dan MySQL. Kemudian untuk semua script yang kita tulis, harus ditaruh pada folder xampp\htdocs. Dan untuk mengakses script PHP yang kita tulis, kita harus menggunakan browser.

Seperti biasa, agar lebih jelas kita coba praktek. Pertama kita hidupkan dahulu XAMPP Control Panel. Bisa dicari pada folder kita meng-install XAMPP. Kalau di saya, kebetulan saya install di drive D ya. Kalau teman-teman perhatikan, sebenarnya saya punya 2 versi XAMPP. Satunya untuk PHP versi 8,2. Dan satunya lagi untuk PHP versi 7 karena saya masih harus maintain beberapa proyek lama. Source code lama kebanyakan sudah tidak bisa jalan di PHP versi 8,2, jadi untuk maintenance saya mesti punya PHP versi 7.

Nah, di dalam folder xampp, kita cari yang namanya xampp-control.exe. Kita double klik untuk menjalankan. Kemudian kita hidupkan dua module yang berada di paling atas, yaitu apache dan mysql. Setelah hidup, kita buka kembali folder xampp, lalu kita ke folder htdocs. Kita tambahkan folder baru php. Klik kanan dan pilih show in terminal.

Nah, pada terminal kita ketik perintah code .. Agar komputer kita membuka visual studio code, langsung dengan folder php. Kita tambahkan file baru dengan nama hello.php. Di dalam file-nya kita buka tag php. Lalu kita ketik echo “Hello World\n”.

Untuk mengakses script yang barusan kita buat, kita mesti menggunakan browser. Yang disarankan adalah menggunakan browser Chrome. Pada alamatnya, kita ketik localhost. Berhubung script kita berada di dalam folder php, maka kita tambahkan garis miring php.

Kalau kita langsung akses, maka kita bisa melihat daftar file yang berada di dalam folder php. Yang sebenarnya terjadi adalah, kalau kita hanya menyebutkan nama folder, tanpa ada nama file, maka web server akan mencari file dengan nama index.html atau index.php untuk dikirimkan sebagai response. Namun berhubung kedua file tidak ada di dalam folder, maka web server mengirimkan daftar isi folder ke browser. Hal ini perlu diperhatikan ya, apabila teman-teman membuat proyek PHP, selalu taruh file index.php pada setiap folder agar web server tidak menampilkan informasi seperti ini. Karena informasi ini bisa digunakan untuk meretas situs kita.

Berhubung script kita bernama hello.php, maka kita bisa klik ke nama file-nya. Perhatikan URL akan bertambah lagi dengan nama file hello.php. Browsernya menampilkan tulisan ‘Hello World’ yang ditulis pada script kita.

Ada beberapa hal yang perlu diperhatikan pada PHP Web. Yang pertama adalah misalkan kalau script echo ini kita copy paste menjadi 3 baris ya. Pada visual studio code, kita tinggal arahkan kursor ke baris echo, lalu tekan tombol alt + shift dan anak panah bawah. Kita copy paste baris tersebut menjadi 3 baris. Perhatikan kalau kita buka terminal dan eksekusi php hello.php. Maka hasilnya adalah Hello World dalam 3 baris.

Namun kalau kita buka dari browser, kita mendapatkan 3 buah Hello World dalam baris yang sama. Hal ini disebabkan karena response diproses sebagai HTML. Kalau kita klik kanan dan pilih view source, kita mendapatkan source-nya adalah Hello World dalam 3 baris yang berbeda. Namun setelah dirender menjadi HTML, ketiganya ditaruh pada baris yang sama.

Pada HTML, kalau kita ingin memisahkan Hello World ke baris yang berbeda, maka kita mesti menambahkan tag html, misalkan kita tambahkan tag
. Berhubung kita mau menambahkan kode di 3 baris sekaligus, kita tekan dahulu tombol ctrl + alt + anak panah bawah. Perhatikan kursor kita berubah menjadi 3 buah. Lalu kita ketik tag
. Maka ketiga baris langsung mendapatkan tag
. Kalau kita refresh browser, sekarang barulah kita mendapatkan Hello World dalam 3 baris.

Ada 2 buah standart yang perlu diperhatikan pada penulisan URL. Usahakan semua yang berada di dalam url menggunakan huruf kecil. Perhatikan disini ada nama folder dan nama file ya. Semuanya harus menggunakan huruf kecil. Kalau misalkan nama file HELLO php kita ubah menjadi PHP huruf besar. Kebetulan sistem operasi yang saya gunakan adalah Windows, disini nama folder dan file tidak bersifat case sensitif. Jadi halaman web tetap berjalan normal ya. Namun perlu diketahui bahwa sebagian besar hosting PHP menggunakan sistem operasi linux yang bersifat case sensitif. Kalau kita tidak mengikuti standart dari awal, nantinya kode yang di komputer kita bisa berjalan dengan baik seperti ini, akan menjadi error pada saat di-upload ke server hosting. Dan error seperti ini lebih sulit untuk di-debug. Jadi lebih baik dari awal kita ikuti penamaan folder dan file menggunakan huruf kecil semua.

Standart kedua adalah untuk penamaan jangan menggunakan tanda spasi. Untuk memisahkan dua buah kata, kita gunakan tanda minus atau dash. Misalkan kalau nama file mau kita ubah menjadi hello world, maka kita tulis menjadi hello-world.php. Jadi tidak menggunakan tanda spasi sama sekali ya.

Selanjutnya kita buat file baru. Kali ini kita beri nama index.php. Di dalamnya kita buat boilerplate HTML 5. Berhubung browser merender output kita sebagai html, maka sebaiknya kita mengembalikan hasil yang berupa halaman HTML lengkap. Pada tag body, kita tambahkan tag h1. Dan di dalamnya kita tambahkan script php

  

Kita kembali ke browser. Berhubung nama file-nya adalah index.php, dan otomatis menjadi file yang dibuka pada saat kita menyebutkan nama foldernya, maka url kita cukup http://localhost/php. Kita mendapatkan hasil tulisan Hello World.

Ini adalah struktur file yang kita gunakan pada PHP Web. Output utamanya adalah HTML. Bagi teman-teman yang masih belum pernah belajar HTML, sebaiknya belajar dahulu ya. Apa saja tag-tag yang sering digunakan pada HTML dan attribute apa saja yang bisa digunakan pada tag tersebut. Kita menambahkan tag PHP hanya pada bagian-bagian yang perlu diproses secara dinamis. Misalkan dalam contoh ini adalah untuk menampilkan judul atau tag h1.

Apabila kita perlu melakukan inisialisasi variable, atau deklarasi function atau class, dan lain-lain, biasanya kita tulis pada bagian awal file. Misalkan kita mau membuat variable $hello. Pada bagian paling atas html, kita tambahkan tag pembuka PHP. Lalu kita tambahkan kodenya yaitu $hello = ‘Hello World’;. Dan ingat bahwa pada PHP kita mesti menulis tag penutup PHP. Jadi semua tulisan yang berada diluar tag PHP akan dianggap sebagai output yang berupa HTML.

Kita ubah tag PHP di dalam tag h1. Berhubung kata ‘Hello World’ diambil dari variable $hello, maka scriptnya kita ganti menjadi echo $hello. Kalau kita lihat hasilnya di browser tetap sama ya.

Ada satu cara lagi untuk mengubah script ini menjadi lebih singkat. Kalau kita membuka tag php hanya untuk memanggil echo, bisa kita persingkat menjadi . Tag

2 Jam 26 Menit

Dengan menggunakan fasilitas tanya jawab, maka Anda bisa bertanya dan akan dijawab langsung oleh instruktur kursus.

Anda belum terdaftar pada kursus ini sehingga tidak bisa mengajukan pertanyaan.