0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan7 halaman

PWM - Uts

PHP (Hypertext Preprocessor) adalah bahasa pemrograman server-side yang digunakan untuk mengembangkan halaman web dinamis dan berinteraksi dengan basis data. Diciptakan oleh Rasmus Lerdorf pada tahun 1994, PHP memiliki keunggulan seperti open-source, mudah dipelajari, dan kompatibel dengan berbagai sistem operasi. Server-side programming memungkinkan eksekusi kode di server, menghasilkan konten yang dikirim ke browser, dengan keamanan dan akses langsung ke database.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan7 halaman

PWM - Uts

PHP (Hypertext Preprocessor) adalah bahasa pemrograman server-side yang digunakan untuk mengembangkan halaman web dinamis dan berinteraksi dengan basis data. Diciptakan oleh Rasmus Lerdorf pada tahun 1994, PHP memiliki keunggulan seperti open-source, mudah dipelajari, dan kompatibel dengan berbagai sistem operasi. Server-side programming memungkinkan eksekusi kode di server, menghasilkan konten yang dikirim ke browser, dengan keamanan dan akses langsung ke database.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

Teori PHP 4.

PHP menghasilkan output HTML yang


kemudian dikirimkan kembali ke server web.
Pengertian dan Sejarah PHP 5. Server web mengirimkan HTML tersebut ke
PHP (Hypertext Preprocessor) adalah bahasa browser klien.
pemrograman server-side scripting yang dirancang 6. Browser klien menampilkan halaman web
untuk pengembangan web. PHP dapat disisipkan yang dihasilkan.
ke dalam HTML dan digunakan untuk membuat Struktur Dasar PHP
halaman web dinamis yang dapat merespons input
dari pengguna, berinteraksi dengan basis data, dan
menjalankan logika bisnis.

PHP awalnya diciptakan oleh Rasmus Lerdorf


pada tahun 1994 sebagai kumpulan skrip Perl PHP dapat disisipkan di dalam HTML:
sederhana untuk melacak pengunjung resume
online-nya. Kemudian dikembangkan menjadi
bahasa pemrograman tersendiri dengan
kemampuan untuk berinteraksi dengan database.
Nama PHP awalnya merupakan singkatan dari
"Personal Home Page Tools", namun kemudian
menjadi akronim rekursif "PHP: Hypertext
Preprocessor".

Karakteristik dan Keunggulan PHP


Variabel dan Tipe Data
1. Server-Side
PHP dijalankan di server, bukan di browser. PHP adalah bahasa dengan tipe data dinamis,
Kode PHP diproses di server, lalu hasilnya artinya tidak perlu mendeklarasikan tipe data
dikirim ke browser sebagai HTML. variabel.
2. Open_Source
PHP bersifat gratis dan open-source, artinya
dapat digunakan, dimodifikasi, dan
didistribusikan oleh siapa saja.
3. Mudah_Dipelajari
Sintaks PHP mirip dengan C dan JavaScript,
sehingga mudah dipahami oleh pemula.
4. Cross-Platform
Operator
PHP dapat dijalankan di berbagai sistem
operasi seperti Windows, Linux, dan macOS. PHP mendukung berbagai jenis operator:
5. Integrasi_Basis_Data_yang_Luas
PHP mendukung berbagai jenis basis data 1. Aritmatika: +, -, *, /, %, ** (pangkat)
seperti MySQL, PostgreSQL, SQLite, 2. Perbandingan: ==, ===, !=, !==, <, >, <=, >=
Oracle, dan lainnya. 3. Logika: &&, ||, !, and, or, xor
6. Kompatibel_dengan_HTML_dan_CSS 4. Assignment: =, +=, -=, *=, /=, etc.
PHP dapat disisipkan langsung ke dalam file 5. String: . (concatenation)
HTML dan digunakan bersama CSS dan
Struktur Kontrol
JavaScript.

Cara Kerja PHP

1. Klien mengirimkan permintaan ke server


web untuk halaman PHP.
2. Server web mengenali ekstensi file (.php)
dan meneruskan permintaan ke interpreter
PHP.
3. Interpreter PHP memproses kode PHP dalam
file tersebut (menjalankan perintah,
berinteraksi dengan database, dll).
Penangangan Database

PHP memiliki beberapa cara untuk berinteraksi


dengan database:

1. MySQLi (MySQL Improved):

2. PDO (PHP Data Objects):

Fungsi Framework PHP

Untuk memudahkan pengembangan aplikasi web


kompleks, terdapat banyak framework PHP
populer:

1. Laravel: Framework PHP paling populer saat


ini dengan ekosistem yang kaya.
2. Symfony: Framework enterprise dengan
Object-Oriented Programming (OOP) komponen modular.
PHP mendukung paradigma pemrograman 3. CodeIgniter: Framework ringan dan
berorientasi objek sejak PHP 5: berkinerja tinggi.
4. Yii: Framework berkinerja tinggi untuk
aplikasi web skala besar.
5. Cake PHP: Framework dengan konsep
convention over configuration.

Model Keamanan

1. PHP memiliki beberapa fungsi keamanan


penting:
2. Filter Input: filter_var(), filter_input()
3. Prepared Statements: Mencegah SQL
Injection
4. Cross-Site Scripting (XSS) Protection:
htmlspecialchars()
5. Cross-Site Request Forgery (CSRF)
Protection: Token CSRF
5. Kontrol Akses: Memungkinkan penerapan
aturan akses dan otentikasi sebelum
Server-side Programming mengirimkan konten.
Server-side programming (atau pemrograman sisi 6. SEO-Friendly: Konten dapat diindeks oleh
server) adalah pendekatan pengembangan web mesin pencari karena sudah lengkap ketika
yang berfokus pada eksekusi kode pada server dikirim ke browser.
web, bukan pada browser pengguna. Berikut
penjelasan detail mengenai konsep ini: Bahasa Server-side Programming Populer

Pengertian Dasar 1. PHP: Bahasa yang dirancang khusus untuk


web, berjalan pada banyak platform dan
Server Side Scripting adalah teknik dalam terintegrasi dengan berbagai server web.
pemrograman web di mana kode program 2. Python: Dengan framework seperti Django
dijalankan di sisi server. Artinya, ketika pengguna dan Flask, menawarkan sintaks yang bersih
membuka halaman web, skrip yang ditulis dan kemampuan untuk aplikasi web
(misalnya dalam PHP, Python, Node.js) diproses kompleks.
dulu di server, lalu hasilnya dikirim ke browser 3. Ruby: Dengan Ruby on Rails yang
dalam bentuk HTML, JSON, atau data lainnya. menekankan konvensi daripada konfigurasi
Tujuan utama dari server-side scripting adalah untuk pengembangan cepat.
untuk mengatur logika program, mengakses 4. Java: Dengan teknologi seperti Servlets, JSP,
database, dan menghasilkan konten dinamis dan framework seperti Spring dan Jakarta EE
berdasarkan permintaan pengguna. untuk aplikasi enterprise.
Cara Kerja Server-side Programming

1. Permintaan (Request): Browser pengguna


mengirimkan permintaan HTTP ke server Pola Arsitektur Server-side
web.
1. Model-View-Controller (MVC):
2. Pemrosesan: Server menerima permintaan
Memisahkan aplikasi menjadi tiga komponen
dan menjalankan kode server-side untuk
utama untuk mengelola data, logika, dan
memproses permintaan tersebut.
antarmuka pengguna.
3. Pembuatan Respons: Kode server-side
2. RESTful Architecture: Arsitektur yang
menghasilkan konten HTML (dan/atau data
menggunakan HTTP methods untuk
lainnya) berdasarkan logika bisnis, data dari
komunikasi stateless menggunakan JSON
database, dan parameter permintaan.
atau XML.
4. Pengiriman Respons: Server mengirimkan
3. Microservices: Membagi aplikasi menjadi
respons berupa HTML atau data lain (seperti
layanan-layanan kecil yang terpisah dan
JSON, XML) kembali ke browser pengguna.
terhubung melalui API.
5. Rendering: Browser menerima respons dan
4. Serverless: Menjalankan fungsi-fungsi
merender halaman web untuk ditampilkan
individu secara terpisah tanpa mengelola
kepada pengguna.
infrastruktur server.
Keunggulan Server-side Programming
Server-side vs. Client-side Programming
1. Keamanan Data: Kode sensitif dan logika
bisnis dijalankan di server, tidak terekspos ke Aspek Server-side Client-side
klien.
2. Akses Database: Koneksi langsung ke Tempat Browser
Server web
database server tanpa harus mengekspos Eksekusi pengguna
kredensial database ke klien.
3. Cross-browser Compatibility: Hasil akhir PHP, Python,
JavaScript,
yang dikirim ke browser biasanya berupa Bahasa Ruby, Java,
TypeScript
HTML standar, mengurangi masalah etc.
kompatibilitas browser.
Lebih aman
4. Beban Kerja Terdistribusi: Memindahkan Kode terlihat
Keamanan (kode tidak
beban komputasi dari perangkat klien ke oleh pengguna
terekspos)
server yang lebih kuat.
Aspek Server-side Client-side 2. Sessions dan Cookies: Mekanisme untuk
menyimpan data state pengguna antara
Pada perangkat permintaan HTTP.
Beban Pada server 3. Template Engines: Tools seperti Twig,
pengguna
Blade, Jinja untuk memisahkan kode
Akses HTML dari logika server.
Database Melalui API 4. ORM (Object-Relational Mapping):
langsung
Teknik yang memungkinkan manipulasi
Memerlukan database menggunakan paradigma
Lebih mudah berorientasi objek.
SEO rendering
diindeks 5. Middleware: Komponen yang memproses
khusus
permintaan sebelum atau sesudah diproses
Perlu reload oleh handler utama.
halaman Interaktivitas
Responsivitas Tren Modern dalam Server-side Programming
(kecuali tanpa reload
AJAX)
1. Headless CMS: Memisahkan backend dari
frontend, menyediakan konten melalui
API.
Contoh Code nya : 2. GraphQL: Alternatif REST yang
memungkinkan klien menentukan struktur
data yang dibutuhkan.
3. Server-side Rendering (SSR):
Menggabungkan keuntungan server-side
dengan interaktivitas client-side (Next.js,
Nuxt.js).
4. Static Site Generation (SSG):
Menghasilkan halaman HTML statis pada
waktu build.
5. Edge Computing: Menjalankan kode
Contoh Penggunaanya : server lebih dekat dengan pengguna untuk
mengurangi latensi.
1. Autentikasi Login Pengguna
Server-side scripting digunakan untuk
Server-side programming tetap menjadi fondasi
memverifikasi data login yang dikirim oleh
pengembangan web modern, bahkan dengan
pengguna. Misalnya, saat pengguna mengisi
popularitas aplikasi single-page dan framework
username dan password pada form login, data
JavaScript client-side. Kombinasi teknologi
tersebut dikirim ke server dan diproses
server-side dan client-side (pendekatan fullstack)
menggunakan bahasa seperti PHP. Server kemudian
seringkali digunakan untuk menciptakan aplikasi
mencocokkan data tersebut dengan database. Jika
web yang kaya fitur, aman, dan berkinerja tinggi.
cocok, maka pengguna bisa masuk ke akun mereka.
2. Menampilkan Data Produk dari Database
Dalam situs toko online, server-side scripting
digunakan untuk mengambil data produk dari GET dan POST dalam Pemrograman Web
database. Ketika pengguna membuka halaman
GET dan POST adalah dua metode HTTP utama
produk, server menjalankan skrip untuk
yang digunakan untuk mengirim data dari klien
menampilkan daftar produk berdasarkan data yang
(browser) ke server. Keduanya memiliki
tersimpan di database. Hasilnya adalah tampilan
karakteristik dan kegunaan yang berbeda. Berikut
produk yang selalu diperbarui secara otomatis.
penjelasan detail tentang keduanya:

Metode GET
Teknologi dan Konsep Terkait
Definisi: GET digunakan untuk meminta data dari
1. API (Application Programming
server (mengambil resource). URL secara eksplisit
Interface): Memungkinkan komunikasi
meminta resource.
antara server dan aplikasi klien.
Karakteristik:
1. Data dalam URL: Parameter dikirim sebagai $query = $_GET['query'];
bagian dari URL dalam bentuk query string echo "Pencarian untuk: " . $query;
(nama-nilai). ?>
https://example.com/search?query=mobil&ca
tegory=sedan Metode POST
2. Batasan Ukuran: Memiliki batasan panjang
URL (biasanya maksimal 2048 karakter). Definisi: POST digunakan untuk mengirim data ke
3. Cache: Permintaan GET dapat di-cache oleh server untuk diproses dan/atau disimpan. Ini bisa
browser. mengubah state di server.
4. Bookmark: URL dengan parameter GET Karakteristik:
dapat di-bookmark.
5. Terlihat: Parameter terlihat di address bar 1. Data di Body: Data dikirim dalam body
browser dan log server. permintaan HTTP, bukan melalui URL.
6. Idempotent: Berulang kali melakukan 2. Tidak Ada Batasan Ukuran: Dapat
permintaan GET yang sama akan mengirim data dalam jumlah besar.
menghasilkan respons yang sama (tidak 3. Tidak Di-cache: Permintaan POST biasanya
mengubah data server). tidak di-cache.
4. Tidak Dapat Di-bookmark: Karena data
Penggunaan Umum: tidak ada dalam URL.
5. Tidak Terlihat di URL: Data tidak terlihat di
• Pencarian address bar atau dalam log server standar.
• Pengambilan data yang tidak sensitif 6. Non-idempotent: Melakukan POST berulang
• Navigasi website kali biasanya menghasilkan efek samping
• Mengambil halaman web (seperti membuat entri duplikat).
Contoh Kode HTML:
Penggunaan Umum:
<html>
• Pengiriman formulir
<body>
• Upload file
<form method="GET" action="">
• Autentikasi (login)
<input type="text" name="nama"><br>
<input type="text" name="email"><br> • Menambah/mengubah data di server
<input type="submit" name="submit" • Mengirim data sensitif
value="Submit"> Contoh Kode HTML:
</form>
<html>
<?php <body>
if ($_GET) <form method="POST" action="">
{ <input type="text" name="nama"><br>
echo 'Nama: ' . $_GET['nama']; <input type="text" name="email"><br>
echo '<br>'; <input type="submit" name="submit"
echo 'Email: ' . $_GET['email']; value="submit">
} </form>
?>
</body> <?php
</html> if ($_POST)
{
ketika kita refresh browser maka akan kita dapatkan echo 'Nama: ' . $_POST['nama'];
hasil: echo '<br>';
echo 'Email: ' . $_POST['email'];
Nama: Agus Prawoto Hadi }
Email: [email protected] ?>
</body>
Contoh Akses dengan PHP: </html>

<?php Misal field kita isi dengan nama: Agus Prawoto Hadi
// Akses data dari GET request dan Email: [email protected], ketika kita
klik submit, maka browser akan mengirim request
ke server dengan bentu seperti gambar dibawah ini:

Contoh Akses dengan PHP:

<?php
// Akses data dari POST request
$username = $_POST['username'];
$password = $_POST['password'];
// Proses login
if (validateUser($username, $password)) {
// Login berhasil
}
?>

Perbandingan GET vs POST


Pertimbangan Keamanan
Aspek GET POST
1. Gunakan POST untuk data sensitif:
Visibilitas Tersembunyi dalam Password, data pribadi, dan informasi
Terlihat di URL penting lainnya harus selalu dikirim
data body
dengan POST.
Kurang aman Lebih aman (tapi 2. Validasi input: Selalu validasi dan sanitasi
Keamanan
untuk data sensitif tetap perlu HTTPS) data yang diterima dari keduanya untuk
mencegah serangan seperti SQL Injection
Biasanya tidak di- atau XSS.
Caching Dapat di-cache
cache
3. CSRF Protection: Implementasikan token
Batasan Terbatas (~2048 CSRF untuk permintaan POST untuk
Praktis tidak terbatas
ukuran karakter) mencegah serangan Cross-Site Request
Forgery.
Dapat di- Tidak dapat di-
Bookmark 4. HTTPS: Gunakan HTTPS untuk
bookmark bookmark
mengenkripsi semua data yang dikirim
History Tersimpan di Tidak tersimpan di antara klien dan server.
browser history history 5. Pembatasan Rate: Terapkan pembatasan
rate untuk mencegah brute force atau
Tidak ada batasan serangan DoS.
Encoding Hanya ASCII
encoding
Baik GET maupun POST memiliki kegunaan
Idempotent Ya Tidak spesifik dalam pengembangan web, dan pemilihan
metode yang tepat bergantung pada kebutuhan
Mengirim/mengubah aplikasi dan pertimbangan keamanan.
Use case Mengambil data
data
Kapan Menggunakan GET / POST:

Kode PHP untuk Menangani Kedua Metode GET digunakan ketika kamu ingin mengirim data
dari form atau link ke server, tapi hanya untuk
mengambil atau menampilkan data, bukan
menyimpannya. Data yang dikirim lewat GET akan
terlihat di URL, sehingga tidak cocok untuk data
rahasia.

Contoh situasi:

1. Saat membuat fitur pencarian di website.


Misalnya: pengguna mengetik "sepatu" lalu
menekan cari → kata "sepatu" akan dikirim ke
server lewat URL seperti:

cari.php?keyword=sepatu

2. Saat ingin menampilkan data berdasarkan


pilihan tertentu, misalnya filter produk,
halaman berikutnya (pagination), atau
pengurutan data (sort by).

3. Saat kamu ingin pengguna bisa menyimpan


atau membagikan link tersebut ke orang lain
atau membuka lagi nanti (karena GET bisa
dibookmark).

POST digunakan ketika kamu ingin mengirim data


yang penting, besar, atau sensitif ke server. Data
yang dikirim dengan POST tidak terlihat di URL,
karena dikirim lewat body permintaan HTTP.

Contoh situasi:

1. Saat pengguna login, karena kita tidak boleh


menampilkan password di URL.

2. Saat mengisi formulir pendaftaran, karena data


pengguna harus disimpan dan bersifat pribadi

3. Saat melakukan pengiriman pesan, komentar,


atau feedback, karena biasanya data disimpan di
database.

4. Saat mengupload file atau gambar, karena


ukuran data bisa besar dan butuh keamanan.

Anda mungkin juga menyukai