Pemrograman Web
Pemrograman Web
internet. Ini melibatkan penggunaan berbagai bahasa pemrograman, alat, dan teknologi untuk
- Pemrograman web mencakup pembuatan elemen-elemen seperti tata letak, fungsionalitas, dan
interaksi antarmuka pengguna (UI), serta pengelolaan data dan interaksi dengan server.
- Tujuan dari pemrograman web adalah untuk membuat pengalaman pengguna yang baik dan
efisien saat berinteraksi dengan aplikasi atau situs web melalui berbagai perangkat dan
platform.
02
Peran Pemrograman
Web dalam Pembuatan
Situs dan Aplikasi Web
Pemrograman web memainkan peran kunci dalam pembuatan situs dan aplikasi
web dengan memungkinkan pengembang untuk:
1. Menentukan Struktur
2. Membuat Konten
3. Menghubungkan Halaman
4. Menyediakan Informasi Dasar
5. Basis untuk Gaya (Styling) dan Interaktivitas
Struktur Dasar HTML
Struktur dasar HTML terdiri dari beberapa elemen utama
yang membentuk kerangka kerja dasar dari setiap halaman
web. Berikut adalah struktur dasar HTML yang umum
digunakan:
Dalam HTML, terdapat konsep dasar yang penting untuk dipahami, yaitu tag, elemen, dan atribut.
1. Tag: Tag adalah bagian yang diletakkan di antara tanda kurung sudut (<>). Tag ini digunakan
untuk memberikan instruksi atau perintah kepada browser tentang bagaimana cara menampilkan
konten. Contohnya adalah <h1>, <p>, <div>, <img>, dan lain-lain. Beberapa tag memiliki tag
penutup, seperti <p> untuk paragraf, sementara yang lainnya tidak, seperti <img> untuk gambar.
2. Elemen: Elemen adalah kombinasi dari tag pembuka, konten, dan tag penutup (jika ada). Misalnya,
<p> merupakan tag pembuka dan </p> merupakan tag penutup yang membentuk sebuah elemen
paragraf. Konten di antara tag pembuka dan penutup, seperti teks atau elemen lain, merupakan
bagian dari elemen tersebut.
3. Atribut: Atribut memberikan informasi tambahan tentang elemen, dan biasanya diletakkan di
dalam tag pembuka. Mereka memberikan detail tambahan tentang bagaimana elemen tersebut
harus ditampilkan atau diperlakukan. Contoh atribut adalah src untuk menentukan sumber
gambar pada tag <img>, href untuk menentukan URL pada tag <a>, dan class untuk memberikan
kelas CSS pada elemen tertentu.
Berikut adalah contoh tag, elemen, dan atribut dalam HTML:
Berikut adalah contoh kode HTML sederhana yang menampilkan halaman web
dengan judul dan sebuah paragraf:
CSS (Cascading Style Sheets)
5. Selektor Anak: Memilih elemen yang menjadi anak langsung dari elemen lain.
6. Selektor Turunan: Memilih elemen yang menjadi turunan dari elemen lain, tidak hanya anak langsung.
Berikut adalah beberapa contoh properti CSS beserta nilai yang umum digunakan:
1. Interaktivitas.
2. Validasi Formulir.
3. Dinamisme.
4. AJAX (Asynchronous JavaScript and XML).
5. Kontrol Perilaku Halaman.
6. Interaksi dengan Browser.
7. Pengembangan Aplikasi Web Lanjutan.
Manipulasi DOM (Document Object Model) JavaScript.
Manipulasi DOM (Document Object Model) JavaScript adalah proses mengubah struktur, konten, atau gaya dari
halaman web menggunakan JavaScript. DOM merupakan representasi dari struktur halaman web sebagai pohon
objek, yang memungkinkan JavaScript untuk mengakses dan memanipulasi elemen HTML, atribut, dan konten
secara dinamis.
Berikut adalah beberapa metode umum yang digunakan untuk melakukan manipulasi DOM menggunakan
JavaScript:
1. Memilih Elemen: Menggunakan metode document.querySelector() atau
document.getElementById() untuk memilih elemen tertentu berdasarkan id, kelas, atau selector CSS.
Contoh:
2. Menambah atau Menghapus Elemen: Menggunakan metode appendChild() atau
removeChild() untuk menambah atau menghapus elemen dari DOM.Contoh:
5. Manipulasi Gaya (CSS): Menggunakan properti style untuk mengubah gaya elemen secara
langsung.Contoh:
Event Handling
Event handling dalam JavaScript mengacu pada kemampuan JavaScript untuk merespons
aksi atau peristiwa yang terjadi di dalam browser, seperti klik mouse, menekan tombol
keyboard, atau mengubah ukuran jendela. Berikut adalah contoh umum untuk menangani
event dalam JavaScript
1. Memilih Elemen: Pertama, Anda perlu memilih elemen HTML yang ingin Anda beri event handler. Anda bisa
menggunakan document.getElementById(), document.querySelector(), atau cara lain untuk
memilih elemen. Contoh:
2. Menambahkan Event Listener: Kemudian, Anda menambahkan event listener ke elemen yang dipilih menggunakan
metode addEventListener(). Anda menentukan jenis peristiwa yang ingin Anda tangani (seperti 'click' atau
'mouseover') dan fungsi yang akan dijalankan saat peristiwa tersebut terjadi.Contoh:
3. Mendefinisikan Fungsi Handler: Anda mendefinisikan fungsi yang akan dijalankan ketika peristiwa terjadi.
Fungsi ini dapat melakukan berbagai tindakan, seperti mengubah konten halaman, memperbarui data, atau
melakukan penghitungan.Contoh:
Berikut adalah contoh kode JavaScript sederhana yang menambahkan interaktivitas ke halaman web dengan menangani
klik tombol untuk mengubah teks:
Framework dan Library JavaScript
● jQuery: Library JavaScript yang fokus pada manipulasi DOM, animasi, dan interaksi pengguna. jQuery
menyederhanakan penulisan kode JavaScript dan mempercepat pengembangan aplikasi web dengan
menyediakan metode pendekatan yang mudah digunakan untuk tugas-tugas umum.
● Lodash: Library JavaScript yang menyediakan berbagai fungsi utilitas untuk memanipulasi data, manipulasi
array, dan melakukan operasi lainnya. Lodash membantu pengembang untuk menulis kode yang lebih bersih
dan efisien.
● moment.js: Library JavaScript yang digunakan untuk memanipulasi, menampilkan, dan memformat tanggal
dan waktu. Moment.js menyediakan berbagai metode yang memudahkan manipulasi dan representasi data
tanggal dan waktu dalam JavaScript.
PHP (Hypertext Preprocessor)
1. Pengolahan Formulir.
2. Akses Basis Data.
3. Manajemen Sesi.
4. Pembuatan Konten Dinamis.
5. Interaksi dengan Pengguna.
6. Integrasi dengan Layanan Eksternal.
Berikut adalah contoh kode PHP sederhana yang mengolah data dari formulir HTML dan berinteraksi dengan
database MySQL untuk menyimpan dan menampilkan informasi:
1. Laravel: Laravel adalah salah satu framework PHP paling populer dan kuat. Ini menawarkan sintaks yang ekspresif
dan elegan yang memungkinkan pengembang untuk membuat aplikasi web dengan cepat dan efisien. Laravel
menyediakan berbagai fitur termasuk routing yang kuat, ORM (Object-Relational Mapping) yang disebut Eloquent,
autentikasi pengguna, sistem templating Blade, dan banyak lagi.
2. Symfony: Symfony adalah kerangka kerja PHP yang kuat dan stabil yang digunakan untuk membangun aplikasi web
skala besar. Ini menyediakan berbagai komponen dan paket yang dapat digunakan secara independen atau bersama-
sama untuk membangun aplikasi web yang kompleks. Symfony menawarkan fitur-fitur seperti routing, manajemen
formulir, autentikasi, dan banyak lagi.
3. CodeIgniter: CodeIgniter adalah framework PHP yang ringan dan mudah dipelajari yang cocok untuk
pengembangan aplikasi web kecil hingga menengah. Meskipun lebih ringan daripada beberapa framework lainnya,
CodeIgniter menyediakan berbagai fitur termasuk sistem templating, model-view-controller (MVC), dan pengelolaan
basis data yang efisien.
Framework PHP
3. Yii: Yii adalah kerangka kerja PHP yang kuat dan efisien yang cocok untuk membangun aplikasi web yang cepat
dan scalable. Yii menawarkan berbagai fitur termasuk pembuatan kode yang cepat, sistem caching yang kuat, sistem
autentikasi, dan banyak lagi.
4. CakePHP: CakePHP adalah framework PHP yang menawarkan solusi lengkap untuk pengembangan aplikasi web.
Ini menyediakan berbagai fitur termasuk ORM yang kuat, sistem caching, routing, dan banyak lagi. CakePHP juga
dikenal dengan konvensi lebih konfigurasi, yang berarti bahwa pengembang dapat membangun aplikasi dengan
cepat tanpa harus menulis banyak kode.
5. Slim: Slim adalah framework PHP yang ringan dan fleksibel yang digunakan untuk membangun aplikasi web API
dan mikroservis. Ini menyediakan fitur-fitur dasar seperti routing, penanganan middleware, dan pengelolaan sesi,
sambil mempertahankan kerangka kerja yang kecil dan mudah dipahami.
04
Keamanan
Web
Keamanan web merupakan aspek yang sangat penting dalam pengembangan aplikasi
dan situs web, mengingat sensitivitas data yang disimpan dan ditransfer melalui internet.
Berikut adalah beberapa praktik umum yang dapat membantu meningkatkan
keamanan web:
1. Validasi Input: Validasi input pengguna secara ketat untuk memastikan bahwa data yang dimasukkan tidak
mengandung kode berbahaya atau skrip JavaScript yang tidak aman.
2. Escape HTML: Escape atau bersihkan semua input pengguna yang di-render di halaman HTML untuk
menghindari eksekusi skrip yang tidak aman. Gunakan fungsi seperti htmlspecialchars() untuk mengubah
karakter khusus HTML menjadi entitas HTML.
3. Content Security Policy (CSP): Terapkan kebijakan keamanan konten (CSP) untuk membatasi sumber yang
dapat dimuat oleh halaman web Anda dan memitigasi risiko XSS dengan memblokir atau mengurangi efek
dari skrip yang tidak diinginkan.
4. Input Sanitization: Lakukan sanitasi input dengan menghapus atau menonaktifkan tag HTML, atribut, dan
karakter khusus lainnya yang tidak diizinkan, dan hanya memungkinkan input yang diperlukan untuk
memastikan keamanan.
5. HttpOnly Cookies: Gunakan atribut HttpOnly untuk cookie sesi Anda untuk mencegah JavaScript dari
mengakses cookie yang sensitif, sehingga mengurangi kemungkinan pencurian token otentikasi.
Perlindungan Terhadap SQL Injection:
1. Penggunaan Parameterized Statements: Gunakan parameterized statements atau prepared statements
ketika berinteraksi dengan database untuk memastikan bahwa input pengguna tidak dieksekusi sebagai
pernyataan SQL. Ini membantu mencegah SQL Injection dengan memisahkan data dari perintah SQL.
2. Escape Input: Jika parameterized statements tidak dapat digunakan, pastikan untuk membersihkan dan
melarang karakter khusus seperti tanda kutip dan karakter escape () dari input pengguna sebelum
dijalankan di pernyataan SQL.
3. Penggunaan ORM (Object-Relational Mapping): Gunakan ORM atau framework database yang
menyediakan lapisan abstraksi database untuk mengelola interaksi dengan database. ORM secara
otomatis menangani pembentukan pernyataan SQL dan memastikan keamanan dari serangan SQL
Injection.
4. Prinsip Least Privilege: Berikan akses database yang minimal yang dibutuhkan untuk pengguna aplikasi
dan gunakan prinsip least privilege untuk mengurangi risiko eksploitasi oleh serangan SQL Injection.
5. Pemindaian Keamanan: Lakukan pemindaian keamanan secara teratur untuk menemukan dan
memperbaiki kerentanan SQL Injection dalam kode dan konfigurasi aplikasi Anda.
Penggunaan HTTPS (Hypertext Transfer Protocol Secure)
HTTPS (Hypertext Transfer Protocol Secure) adalah protokol komunikasi yang digunakan untuk transfer data
melalui internet dengan aman. Ini adalah versi aman dari HTTP, yang menggunakan enkripsi SSL/TLS untuk
melindungi integritas dan kerahasiaan data yang ditransfer antara browser pengguna dan server web
27 April 2024