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
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
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
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
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