Roadmap Belajar PHP Programming
Beginner Class
- Pengenalan PHP
- Install XAMPP, NOTEPAD++, Google Chrome
- Menjalankan XAMPP
- Membuka LOCALHOST di Google Chrome
- Mengenal folder HTDOCS (c:\xampp\htdocs)
- Rename File index.php dan index.html
- Membuat Folder baru bernama twd dibawah htdocs
- Mengakses folder baru lewat localhost/twd/
- Membuat file belajar.php didalam folder twd
- Bimbingan & Trouble Shoot
- Mengikuti modul Endy Muhardin PHP Fundamental secara Otodidak
- Dikusi Per Bab di Modul Endy
- Uji Teori dan Praktek berdasarkan modul
- Selesai
- PHP Beginner
- Memahami input, proses dan output dari PHP
- Belajar membuat output HTML dengan baik dan benar
- Menggunakan logika terapan untuk membuat HTML secara dinamis
- Mengenal INPUT di PHP
- Memahami INPUT GET beserta Konsekuensinya
- Memahami INPUT POST beserta Konsekuensinya
- Memahami INPUT REQUEST beserta konsekuensinya
- Memahami penggunaan yang tepat untuk masing-masing jenis input
- Memproses input dengan logika PHP
- Memanipulasi input dengan logika PHP
- Memanipulasi input dengan logika IF dan SWITCH
- Memproses input dengan WHILE dan FOR
- Mengeluarkan OUTPUT dengan benar
- Menerapkan hasil manipulasi kedalam output yang benar
- Membuat Sebuah kalkulator sederhana
- Kembali membuka modul PHP Fundamental, dan mencari hubungannya dengan yang telah disampaikan
- Diskusi
- Selesai
- Memahami input, proses dan output dari PHP
- Pengenalan Database MySQL
- Menjalankan MySQL melalui XAMPP
- Melihat isi MySQL melalui browser dengan mengetikan localhost/PhpMyAdmin
- Membuat database baru twd
- Membuat struktur table siswa dengan ketentuan, id (primary key,auto increment), nama (varchar 32), nilai (int 11)
- Mengisi data di table siswa
- Isi table siswa menggunakan PhpMyAdmin minimal 10 baris
- Mengubah data di table siswa
- Menghapus data di table siswa
- Melihat kembali di modul PHP Fundamental, dan cari hubungannya.
- Diskusi
- Selesai
- MySQL Beginner
- Lebih intensif menggunakan PhpMyAdmin
- Mendownload dan Install sendiri PhpMyAdmin
- Install phpmyadmin didalam folder htdocs/pma
- Akses PhpMyAdmin yang baru melalui browser di alamat localhost/pma
- Masuk sebagai root dengan password tidak diisi / kosong
- Membuat user baru twd dengan password twd
- Memberikan hak akses user twd secara penuh hanya ke table twd
- Kemudian logout
- Menggunakan PhpMyAdmin yang baru -> localhost/pma
- Login sebagai twd
- Lakukan penambahan data pada table siswa menjadi 15 data.
- Lakukan perubahan data pada table siswa
- Lakukan pengapusan data pada table siswa
- Mengenal Perubahan Struktur table
- Tambahkan kolom baru pada table siswa,
- Tambahkan kolom baru dengan nama tgl_masuk tipenya date
- tambahkan kolom baru dengan nama is_active jenis datanya Boolean atau int 1. Isi nilai defaultnya 0
- coba lihat datanya ketika dirubah, apakah datanya masih valid
- diskusi
- Memanfaatkan PMA untuk generate query
- Penjelasan query dan SQL
- Penjelasan DDL
- Kembali menambahkan data di table siswa, dan lihat hasil query nya.
- mengubah data ditabel siswa dan lihat hasil query nya
- menghapus data dan lihat hasil query nya
- Kesimpulan, memanfaatkan kegunaan PhpMyAdmin secara intensif
- Diskusi
- Selesai
- Lebih intensif menggunakan PhpMyAdmin
- PHP & MySQL Beginner
- Membuat Koneksi ke database
- Belajar koneksi ke database dengan menggunakan user twd, password twd, dan database twd
- Membuat error handling jika databasenya mati atau konfigurasinya salah
- Memahami function file include dan require_once
- Belajar mengeksekusi SQL Select dengan While
- Mengeksekusi perintah select table siswa
- Memproses hasil dari query dengan while
- Menyajikan tampilan data menggunakan HTML yang baik dan benar.
- Menyajikan data baris ganjil dan genap dengan background warna yang berbeda
- Belajar mengeksekusi SQL Select dengan Foreach
- Kembali mengeksekusi perintah select table siswa
- Memproses hasil dari query dengan foreach
- Menyajikan tampilan data dengan menggunakan HTML yang baik dan benar
- Menyajikan data baris ganjil dan genap dengan background warna yang berbeda.
- Memahami antara perbedaan while dan foreach, dan penggunaanya yang tepat
- Memanipulasi data dari table siswa
- Menambahkan kolom fiktif atau kolom bentukan bernama action didalam table HTML
- Membuat halaman edit, berisi form sesuai dengan data dari struktur table siswa
- Membuat halaman konfirmasi penghapusan, berisi dua tombol iya dan tidak. jika iya maka data langsung dihapus jika tidak akan kembali ke halamanan penyajian data.
- Pastikan id dari table sudah masuk ke dalam masing-masing link
- Mengeksekusi query UPDATE untuk edit data
- Setelah form di submit maka semua inputan harus dihandle
- Membuat logika untuk memproses query update
- Pastikan hasil dari proses sudah diberikan validasi, jika tidak valid maka akan kembali ke form awal dengan menampilkan pesan
- Ambil query update dari pma, dan ubah lah isi kolomnya dengan variable yang dikirimkan oleh form. Kemudian isi kolom WHERE id nya dengan nilai yang sudah didefinisikan di LINK EDIT
- Eksekusi kueri dengan PHP
- Jika tampilkan pesan berhasil atau tidaknya.
- Mengeksekusi query delete
- Setelah button iya dihalaman konfirmasi di klik, pastikan id nya sudah ada
- Kemudian proses id yang ada masukan ke query yang diambil dari pma sewaktu melakukan penghapusan data siswa
- Eksekusi kueri dengan PHP
- Jika tampilkan pesan berhasil atau tidaknya.
- Mempercantik Halaman dan Menambahkan Validasi
- Diskusi
- Selesai
- Membuat Koneksi ke database
Beginner Backend Selesai
Frontend Course
- Mengenal CSS
- CSS adalah kumpulan logika yang digunakan oleh browser untuk menampilkan halaman web dengan cantik
- Pelajari CSS melalui W3SCHOOL
- Memahami kegunaan CSS
- Tanamkan CSS yang baru di projek terakhir PHP MySQL beginner
- Diskusi
- Perbaiki CSS untuk semua web browser dengan menggunakan inspect element / dev console
- Memahami dan mengetahui lebih dalam tentang browser dev console di Google Chrome
- Mengubah nilai dan memanipulasi tampilan dengan inspect element
- Mengaktifkan menu responsif
- Menampilkan situs-situs yang responsive design dengan dev console
- Melihat situs buatan sendiri dari project PHP MySQL Beginner dalam tampilan mobile atau handphone dengan dev console
- Cari tahu tentang CSS Framework
- CSS Framework adalah kumpulan CSS yang sudah ada atau dibuat oleh orang lain untuk digunakan kembali oleh kita
- Mencari beberapa CSS framework
- Melihat sample situsnya
- Selesai
- Bootstrap CSS Framework
- Bootstrap adalah css framework yang digunakan untuk membangun Twitter pada awalnya
- Kelebihan Bootstrap ialah sudah bisa dilihat tampilan responsive web design yaitu antara tampilan PC, TABLET, dan HP sudah tidak usah ada perubahan yang signifikan
- Coba terapkan CSS Boostrap ke project PHP MySQL beginner
- Percantik tampilan halamanya
- Buat versi mobilenya
- Gunakan Dev Console atau inspect element
- Pastikan setiap elemen dan form HTML yang ada didalam project tersebut sudah menggunakan aturan Bootstrap
- Jika belum silakan disesuaikan
- Diskusi
- Selesai
- Pengenalan Javascript dan jQuery
- Pelajari tentang Javascript di W3School
- Baca dan Cermati setiap fungsi didalamnya
- Tidak usah praktek dulu, karena kita akan menggunakan jQuery
- Cari tahu tentang jQuery
- Pelajari tentang jQuery di W3School
- Baca dan Cermati setiap fungsi didalamnya
- Silakan coba sendiri setiap projek yang ada di W3School yang dinilai perlu
- Temukan perbedaan dan Persamaan antara Javascript dan jQuery
- Cari fungsi yang serupa antara jQuery dengan javascript
- Pilih mana yang paling mudah diantara keduanya
- Coba terapkan didalam project terakhir dibagian halaman konfirmasi penghapusan data.
- Ganti halamanan konfirmasi dengan menggunakan jQuery dan Javascript
- Gunakan fungsi confirm dari javascript
- Terapkan sampai bisa berjalan dengan baik
- Uji coba sampai data siswanya kosong
- Menggunakan Modal Boostrap dan jQuery
- Tambahkan kembali data siswa
- Pelajari modal bootstrap
- Pelajari kegunaan fungsi jquery GET
- Terapkan pada halaman konfirmasi penghapusan
- Pastikan harus berjalan dengan baik
- Diskusi
- Selesai
- Pelajari tentang Javascript di W3School
Beginner PHP Developer
Intermediate Class
- PMA & MySQL Intermediate
- Didalam materi MySQL intermediate, kita akan coba membuat system informasi berbasis web untuk sekolah. Dengan masih memanfaatkan database twd yang sudah dibuat ditahap beginner, namun akan ada beberapa penambahan table yang juga sudah direlasikan.
- Tujuan dari materi ini adalah membuat relasi table, menggunakan secara maksimal PhpMyAdmin terhadap relasi yang ada.
- System informasi ini akan dibuat sangat fleksible sekali sehingga bisa digunakan mulai dari SD, SMP, sampai SMA.
- Sehingga harus bisa mengakomodasi kelas dan jurusan yang ada.
- Oleh karena iitu, maka didalam database harus ada table guru untuk menampung data guru, table jenjang untuk menampung tingkat kelas, table kelas untuk nama kelas, jurusannya, walikelas dan siswa.
- Buka database twd.
- Buat table baru bernama guru
- Struktur table guru, id (int, primary, auto increment), nama (varchar 32), nip(varchar 24), is_active (int 1 default 1)
- Struktur table jenjang, id(int, primary, auto increment), jenjang (varchar 2), is_active (int 1 default 1)
- Struktur table kelas, id(int, primary, auto increment), jenjang (int 11) – direlasikan dengan id table jenjang kelas (varchar 8), jurusan (varchar 8), walikelas (int 11 index) – ini akan diisi dari id table guru, siswa (int 11) 0 ini akan diisi dari table siswa, is_active (int 1 default 1)
- Belajar Relasi Relasikan semua table dan set kolom table sesuai dengan fungsinya.
- Tabel kelas kolom walikelas direlasikan ke table guru kolom id dengan metode cascade untuk update dan delete
- Table kelas kolom siswa direlasikan ke table siswa kolom id dengan metode cascade untuk update dan delete
- Table kelas kolom jenjang di relasikan ke table siswa kolom id dengan metode cascade untuk update dan delete
- Set tampilan kolom table jenjang adalah kolom jenjang
- Set tampilan kolom table siswa adalah kolom nama
- Set tampilan kolom table guru adalah kolom nama
- Kemudian isi table guru, jenjang, kelas dan siswa
- Latihan query JOIN
- Pelajari query join
- Tolong tampilkan semua siswa yang ada di kelas 1
- Cari nama guru kelas kelas 1
- Cari nama siswa yang tidak aktif, dan siapa walikelasnya
- Diskusi
- Selesai
Intermediate Class
- PHP dan MySQL intermediate
- Buat tampilan halaman utama, yang berisi data total dari masing-masing tabel
- Buat tampilan tambah, ubah, dan hapus data untuk setiap table
- Percantik tampilan menggunakan boostrap
- Manfaatkan Modal dan jQuery get dan post untuk proses edit dan delete
- Diskusi
- Selesai
- Membuat Tampilan Mirip Instagram dengan boostrap
- Silakan buat semirip mungkin dengan instagram
- Sajikan data siswa dan guru sebagai feed yang ada didalam instagram
- Buat logika dan penerapannya ketika ingin pindah kelas
- Silakan berkreasi lebih lanjut
- Diskusi
- Selesai
- Mengenal Framework PHP
- PHP Framework adalah sekumpulan kode yang sudah dibuat sehingga kita tinggal menggunakan kembali
- Didalam framework sudah tersedia berbagai library dan function yang akan mempercepat pekerjaan web
- Cari tahu berbagai jenis framework PHP
- Pengelompokan PHP framework
- PHP Framework biasanya memiliki konsep secara mendasar yaitu Model dan Controller
- Model adalah sekumpulan fungsi untuk mengeksekusi kueri ke databse
- Controller adalah sekumpulan tentang logic yang dipanggil oleh request melalui url di browser
- PHP Framework: Codeigniter
- Tolong cari tahu tentang Codeigniter beserta kebutuhan minimum untuk menjalankannya
- Code Igniter atau disingkat CI (dibaca Si Ay) memiliki konsep Model, View, Controller (MVC)
- Dimana view dipisahkan didalam folder khusus
- PHP Framework: Laravel
- Tolong cari tahu tentang Laravel beserta kebutuhan minimum untuk menjalankannya
- Cari tahu tentang konsep laravel
- Temukan perbedaan antara CI dengan Laravel
- Pilihlah framework yang menurut kalian paling mudah dipelajari
- Hal yang perlu dilakukan pertama kali untuk setiap framework adalah dengan membaca dokumentasinya.
- Baca dan Pahami setiap bagian dokumentasinya
- Lakukan konfigurasi terhadap framework
- Kemudian lakukan implementasi
- Terapkan Project PHP MySQL intermediate dengan framework yang telah dipilih
- Pastikan semuanya telah mengikuti aturan framework
- Kalau masih ragu, silakan implementasikan project PHP MySQL intermediate dengan codeigniter dan laravel
- Jika lupa atau ada kendala silakan baca kembali dokumentasinya, sehingga berangsur-angsur dapat mengerti dan hafal
- Diskusi
- Selesai
- Mastering Codeigniter
- Buatlah sebuah situs web blog dan galeri foto
- Situs tersebut terdiri dari dua bagian utama
- Ada halaman depan (frontend), yang bisa diakses oleh semua orang
- Ada halaman belakang (Admin) yang digunakan untuk mengelola segala aktifitas yang ada diweb tersebut termasuk upload foto.
- Lindungi halaman admin dengan login
- Buatlah halaman depan yang berisikan kumpulan Blog dan Galeri foto terbaru. Lengkap dengan navigasinya
- Didalam menu navigasi ada kategori blog, kategori galeri, kontak
- Setiap menu memiliki link ke masing-masing halaman yang dituju
- Baik galeri maupun blog, bisa dilihat secara detail (blog detail)
- Didalam halaman detail blog, pastikan ada judul, tanggal publish, penulis, beserta isinya. Pastikan isinya bisa diisi secara rich content, bisa di bold, di italic, dan lain-lain.
- Didalam detail galeri bisa dilihat per foto atau per album. Juga masukan caption masing-masing fotonya
- Baik di blog detail maupun di galeri, tampilkan jumlah hits atau jumlah halaman tersebut dilihat.
- Tampilkan statisktiknya di halaman admin dengan bentuk grafik
- Buatlah report dengan menggunakan PDF
- Didalam report tersebut berisi blog yang paling banyak dilihat
- Akun yang paling aktif memberikan kontibusi blog dan galeri
- Tampilkan blog/galeri yang paling sedikit dilihat, dan harus bisa disarankan diedit atau dishare ke facebook untuk mendapatkan pengunjung yang tinggi
- Buatlah database baru lengkap dengan table beserta relasinya sesuai dengan kebutuhan
- Silakan gunakan segala kemampuan yang ada pada framework untuk mempercepat pekerjaan
- Jika ada yang tidak diakomodasi oleh framework, gunakan library
- Salah satu Contoh library yang akan digunakan adalah image resize
- Silakan berkreasi sebaik mungkin untuk menghasilkan situs web galeri terbaik
- Jika ada kendala silakan gunakan stackoverflow, github, dan forum
- Waktu pekerjaan tidak boleh lebih dari 7 hari kerja
- Jika waktu lebih, silakan ulangi projek dari awal.
- Jika tepat waktu, berarti sudah selesai untuk mastering CI