Anda di halaman 1dari 11

BELAJAR PHP BERSAMA GUNAWAN

Bersamaan dengan tulisan ini , saya ingin berbagi ilmu seputar PHP. Semoga ilmu ini dapat
membantu

TABLE OF CONTENTS

Memasang Webserver dalam PC sendiri ........................................................................................................... 2


Backup Coding dan Database.................................................................................................................................. 3
Backup Database ..................................................................................................................................................... 3
Privileges .................................................................................................................................................................... 4
Database backup ..................................................................................................................................................... 5
Validasi hasil backup ............................................................................................................................................. 5
Master slave .............................................................................................................................................................. 6
Membuat php dapat berjalan diconsole ............................................................................................................. 6
Windows ..................................................................................................................................................................... 6
Mencoba di console ................................................................................................................................................ 8
Memasang Composer ................................................................................................................................................. 8
PHP 7 disarankan untuk pelajaran di lembaga pendidikan ....................................................................... 9
Silabus.......................................................................................................................................................................... 9
Tingkat menengah ............................................................................................................................................... 10
Framework ............................................................................................................................................................. 10
Plugins dan library .............................................................................................................................................. 11
MEMASANG WEBSERVER DALAM PC SENDIRI

Untuk memasang webserver, ada banyak pilihan seperti

• Xampp .
• Ampps
• Wamp

Apabila anda memakai windows, maka pilihan atas sudah cukup cepat membuat webserver!!
Namun bila ingin 1-1, maka perlu sedikit waktu mengerjakannya. Apabila anda memakai win,
akan lebih baik memakai instalan seperti di atas!! Bila ingin 1-1!! Well malah gk bagus karena
akan memperlambat kinerjamu.

Tetapi kalau untuk server, ini akan sedikit tricky!! Pertama mulai dari memasang apache atau
server lainnya. Memasang saja belum tentu selese, karena kamu harus memasang php lalu
menghubungkan antara apache dan php! Itu blum termasuk mengaktifkan mysql atau
databasenya.

Memasang satu-satu memang tepat bila ingin membuat server production!! Tetapi akan lebih
baik apabila mengerjakannya apabila pc anda linux atau mac!! (yang kebetulan mirip). Dalam
tulisan ini tidak akan bahas caranya, tetapi lebih kepada saran saja.

Dalam membangun server production, yang perlu diperhatikan pertama adalah bagaimana cara
agar server anda tidak bocor resourcenya.. baik dari spek maupun dari code yang akan
dimasukkan. Ada beberapa fungsi yang harus anda block apabila ini production!! Sebisa
mungkin minim interaksi user ke server!!

Selalu ingat, server andaikan sebagai tempat yang kritikal. Bila hilang datanya, maka kamu akan
rugi. Miroring selalu wajib dilakukan!!! Tetapi yang terpenting adalah mencatat proses anda
bikin server hingga bisa bekerja!! Kadang apa yg ditulis malah ngak jalan kedua kalinya.. Tetapi
dengan di catat, setidaknya menyingkat waktu daripada mengingat kembali.
Database juga ngak melulu Mysql atau Maria. Selalu ingat setting bagaimana kamu memasang
database, terutama masalah backup. Dalam pembahasan berikutnya adalah metode backup

BACKUP CODING DAN DATABASE

Sebelumnya perlu diperingati, coding dan database tidak mudah menyimpannya. Bahkan
memiliki ide copy paste dari pc sendiri dan kerjain di pc berbeda lalu yang produksi berbeda
juga bisa menimbulkan kebingungan.

Adanya Git dapat membantu melakukan backup coding yang baik. Tentu saja kita harus analisa
apa aja yang dibackup dan metode menyimpan kode yang baik. Dari backup kita kenal
versioning (membuat versi pada coding). Tentu dengan versi yang lebih tinggi, akan
menimbulkan masalah dan kadang menyelesaikan masalah.

BACKUP DATABASE

Bagaimana dengan database? Bagaimana backup database yang baik. Kalau kita ada dana lebih,
bikin 1 server lagi yang buat backup. Tiap beberapa periode, copy paste isi database sebelum ke
database sesudah! Dalam console kita kenal “mysqldump”

Tujuan mysqldump adalah membackup database. Lalu nanti dimekarkan dengan mysql atau
kita kenal istilah impor dan ekspor. Apabila ini di server, untuk mencegah hal tak di inginkan,
kita kadang meminta jasa melakukan backup.

Metode umum yang saya gunakan adalah

• Menjalankan export dan import via cron


• Manual import dan export dari file yang dibuat
• Repair table. Agak aneh tapi ini cukup berhasil

Database yang baik adalah database yang memiliki kemampuan bisa digunakan banyak user
dari tempat berbeda.misal buat database pegawai tapi dibaca oleh coding non pegawai akan
lebih mengerti.. Contoh yang mendekati sebenarnya adalah table user

Topik ini sebenarnya lebih condong membahas sedikit kepada normalisasi table di Database,
sedangkan database yang kita angkat sebenarnya akan menjadi database yang bersifat dinamis.
Karena dinamis inilah yang membuat hambatan pada database, terutama database tersebut
tidak bisa berhenti sebentar.

Proses yang saya sarankan adalah dijalankan manual, dimana ada manusia yang mengerjakan
dibandingkan automatis dibelakang layar dengan cron. Untuk kebutuhan automatis, saya
sarankan menjalankan langkah berikut

1. Jalankan proses manual


2. Catat apa saja yang kamu jalankan
3. Lakukan proses no 2 pada server development
4. Buat script PHP atau shell batch yang berisi proses di atas untuk development
5. Buat ulang script tetapi untuk production
6. Gunakan cronjob untuk proses

Secara spesifik proses yang harus dilakukan adalah

• Membuat privileges yang aman untuk melakukan backup yang harus menentukan
o Host mana yang diperbolehkan untuk menjalankannya.. ingat jangan memilih %
o User akan lebih baik jangan sulit untuk diketik.. saran lebih baik memberikan
nama yang menjelaskan bahwa ini untuk backup
o Password yang mudah untuk diketik. Karena mudahnya diketik inilah yang
membuat kita harus lebih extra hati-hati.
o Privileges global lebih baik tidak diberikan
• Membuat privileges pada table yang live. Pastikan tidak ada proses edit atau hapus.
Berikan minimal privileges. Penjelasan ada dibawah
• Membuat database backup yang menjadi target backup
• Membuat privileges database backup kepada user backup ini
• Membersihkan file sql yang dibuat dalam proses export

PRIVILEGES

Berikut adalah tampilan privileges melalui phpmyadmin yang tidak boleh

Khusus untuk database live harusnya pilih satu2 database lalu berikan pilihan seperti ini
Perhatikan adanya pilihan lock!! Ini perlu untuk memastikan tabelnya tidak bergerak saat di
backup. Atau querynya seperti ini

GRANT SELECT, LOCK TABLES, SHOW VIEW ON `laravel`.* TO 'user'@'host';

Atau mau simple seperti ini juga boleh (langsung didepan). Tetapi perhatikan pada bagian
kanan ini

Normalnya kita hindari ini, tetapi sebenarnya ini harus jadi perhatian.

Point berikutnya adalah waktu menjalankan backup, perhatikan bahwa kita harus mencari
waktu yang sepi transaksi!! Biasanya kita lakukan pas malam hari bukan waktu kerja.

DATABASE BACKUP

Akan baik apabila database backup sejumlah dengan database live. Jadi apabila database live
kamu 4 maka ada database backup sejumlah 4 juga. Ini juga atas pertimbangan kamu memakai
1 server bukan 2 server.

Perintah utama yang harus kamu ingat ada 2 yaitu

Mysqldump –h host –u user –p passwordnya nama_database > tujuan.sql

Perhatikan bahwa kamu menulis password. Akan baik apabila usernya adalah user minimal !!
jangan user yang benar2 super

Mysql –h host –u user –p passwordnya nama_database < tujuan.sql

Perhatikan arah ‘<’ dan ‘>’. Dan jangan lupa memberikan perintah penghapusan file tujuan.sql

VALIDASI HASIL BACKUP

Dalam pengerjaan backup, memastikan bahwa backup berjalan dengan benar adalah esesensial.
Membuat log kerjaan juga perlu. Jadi selalu periksa ulang hasil backup.. dibandingkan
mengatakan bahwa backup berlangsung aman.

Penjelasan validasi backup sebaiknya dilakukan manual dahulu atau dilakukan automatis saat
proses backup berjalan.. Metodenya bisa menulis file atau malah memasukkan ke table log.
Malah menambahkan fitur kirim email saat backup selese juga pilihan yang baik.
MASTER SLAVE

Mysql atau server DB modern memiliki konsep replikasi secara langsung. Makanya saya
menyebutkan dibutuhkan 2 server berbeda IP (annggap secara fisik) untuk saling bertukaran
data. Namun masalahnya tentu pada biaya dan waktu pembuatan. Sebenarnya kalau ingin 1
server (fisik) saja bisa.. tetapi kita harus menjalankan 2 mysql server dalam 1 server.

Mysql pertama memakai port normal, sedangkan mysql lainnya (slave) memakai port berbeda.
Bahkan untuk konsep yang lebih tinggi dan juga apabila Sumber Daya cukup, konsep pengerjaan
DB juga memakai metode

Server Master untuk menulis, server Slave untuk dibaca. Yah tentu saja buat developer yang
biasa memakai 1 database (config) akan kesulitan. Namun itu proses yang harus dikerjakan

MEMBUAT PHP DAPAT BERJALAN DICONSOLE

Semua proses ini membutuhkan config agar php jalan di OS kita. Apabila di linux, ini sebenarnya
sudah langsung, apalagi Mac yang saya lihat memiliki konsep yang sama! Bagaimana dengan
Win atau lainnya, sayangnya konsep OS ini berbeda.

WINDOWS

Kita awali dengan membuat sistem properties

• Pilih my computer di file explorer


• Klik kanan
• Pilih properties
• Lalul dalam windownya pilih advance system setting (win 8)
Untuk windows lain bisa disamakan

Pilih Environment Variabels

• Pilih table yang bawah.. (system variable).


• Cari dan pilih “path”
• Klik edit
• Copy paste isi variable value ke notepad
• Tambahkan posisi dimana php.exe berada (ada di penjelasan awal)
• Tekan OK
• Restart disarankan tetapi kalau tidak restart harusnya bisa langsung

MENCOBA DI CONSOLE

Sampai di proses ini, kita sudah bisa menjalankan di console. Buka console windows
(linux/Mac)

Ketik

php –v

dan akan keluar

Apabila keluar, maka proses berikutnya kita dapat melakukan proses sebagai berikut

• Menjalankan composer
• Menjalankan script php under console
• Dan lain-lain

MEMASANG COMPOSER

Saya merasa apabila anda berhasil pasang php seperti di atas, memasang composer akan lebih
mudah! Apalagi memasang GIT. Terdapat metode pasang COMPOSER dan GIT yang tersebar di
internet. Tetapi dengan dasar bahwa php berhasil jalan di console, semua akan lebih mudah!!
Akan lebih baik mencoba memasang sendiri, lalu apabila ada masalah baru konsultasi pada grup
atau internet. Saya menyarankan untuk memakai PHP 7.1 atau bila masih memakai php 5.6,
saya lihat ada banyak ketertinggalan terutama pada code yang kamu gunakan

PHP 7 DISARANKAN UNTUK PELAJARAN DI LEMBAGA PENDIDIKAN

Banyak tutorial di ‘lembaga pendidikan’ yang masih memakai php 4!! Ingat bukan php 5. Saya
melihat codingnya masih memakai

• Mysql bukan mysqli


• Menulis <? Bukan <?php
• Dan hal-hal umum yang harusnya sudah diperbaiki dalam penulisan coding

Alasan yang saya lihat adalah

• Sulitnya merubah kebiasaan


• Buku yang digunakan tidak mau di update ke buku yang baru
• Sulitnya transformasi ilmu
• Pembuatan silabus baru tidak mudah dan butuh waktu

Masalah point sulitnya transformasi ilmu ini yang jadi perhatian saya. Pertama yang harus kita
sadari adalah

1. Perbedaan cara tangkap programer


2. Tidak mudahnya memahami alur belakang layar coding
3. Tidak ada metode mudah untuk mempelajari algoritma

Hal-hal berikut yang akhirnya membuat lembaga pendidikan tidak bisa meningkatkan
silabusnya., terutama SDM yang kurang. Andai saja ada yang dapat berbagi silabus untuk
mempelajari PHP dengan metode baru, maka peningkatan versi PHP sangat bermanfaat.

SILABUS

Langkah-langkah yang saya sarankan dalam pembuatan silabus. Awali dari membuat tujuan
dari silabus dari awal hingga akhir. Kita harus membagi silabus dalam 3 atau lebih tingkatan
yang diawali dari dasar hingga advance

TINGKAT DASAR
Pada tingkat ini, hal pertama yang harus diberikan adalah beberapa hal yaitu

• Pemasangan aplikasi pendukung


• Pemasangan server, php dan mysql
• Membuat template coding yang baik. Walaupun template tidak digunakan kedepannya
namun jadi fondasi dalam membuat tampilan template yang baik. Template yang
dimaksud disini adalah memberikan bentuk
o Memulai dengan <?php
o Komentar yang terdiri dari tujuan program, siapa yang membuat dan kapan
dibuat
o Daftar fungsi dalam coding
o Daftar class dalam coding
o Memulai coding
• Membuat coding yang menggunakan fungsi text dan fungsi number
• Membuat fungsi sendiri, juga membuat class sendiri
• Memakai mysqli class

TINGKAT MENENGAH

Pada tingkat berikutnya membahas pada hal seputar

• Membangun fungsi sendiri, termasuk membuat nama fungsi yang enak dibaca. Dalam
bahasa lain kita bisa sebut “readable”
• Lebih detail dengan class yang bersifat independence. Extend dan lain-lain berikutnya
• Membangun class sendiri
• Memakai private, public dan lain-lain dalam class
• Memiliki akun Git
• Memasang GIT dan COMPOSER
• Mulai memakai framework seperti CI

Lanjutannya bisa langsung memakai framework seperti laravel atau YII juga bisa. Tapi akan
lebih bagus diawali dengan memasang GIT dan Composer. Kenapa GIT perlu? Karena kita perlu
untuk melakukan backup source code kita, walau terlihat remeh untuk pemula tetapi baik untuk
kedepannya. Bahkan memakai GIT (yang artinya punya akun Git seperti gitlab) bisa menjadi
portfolio. Tidak heran apabila kalau kita dari kuliah sudah punya portfolio, maka kedepannya
kita mudah mencari pekerjaan.

Pada tingkat ini, akan baik kalau dipisah menjadi 2 bagian atau kita sebut 2 silabus. Silabus
pendahuluan tingkat menengah dan silabus utama dari tingkat menengah. Karena pada
penjelasan awal dijelaskan memasang GIT dan COMPOSER, maka kedepannya akan lebih
kepada memakai framework

FRAMEWORK

Sebenarnya Framework bukan merujuk pada nama seperti CI, Laravel dan YII. Tetapi lebih
kepada metode kamu membuat coding yang mudah. Ketika kamu memakai framework di atas,
metode yang memudahkan kamu dan team bekerja itu harus di utamakan. Dari konsep yang
saya buat, semua modul-modul (saya sebut modul untuk plugin dan lain-lain) saya pisah-pisah
untuk mudah dalam memperbaiki. Namun kesulitannya adalah apabila terpecah banyak maka
akan sulit mengeditnya karena akan banyak file yang di edit. Tetapi apabila berkumpul dalam 1
file, maka file itu akan besar

Dalam Framework tidak memungkinkan kita memberikan hal terbaik atau termudah. Karena
fokus utama dalam Framework adalah kecepatan, kadang kecepatan tak selalu harus dalam
bentuk coding pendek. Malah kadang panjang untuk validasi yang lebih baik.

Menjadi coding yang pendek kadang perlu pengalaman lama, hingga mendapatkan coding yang
sesuai dengan kebutuhan. Terkadang malah kita harus melakukan copy paste coding yang
sebenarnya bisa digunakan ulang. Kadang juga kita terpaksa melakukan karena kemungkinan
ada config berbeda pada setiap coding.

Jadi ketika memakai framework, gunakan kemampuan framework tersebut dalam membangun
web. Tetapi fahami juga bagaimana struktur yang baik, kita akan mengenal

• Controller
• Model
• Middleware
• View
• routes
• Dan lain-lain

PLUGINS DAN LIBRARY

Framework tidak bisa bekerja sendiri tanpa plugin dan library. Beberapa plugin dan library
dapat dipanggil melalui composer, sehingga tak langsung memakai composer adalah penting
belakangan ini.

Tutorial plugin dan library pastinya banyak tersebar di Internet. Tetapi kita ini lebih cocok
kalau mencontoh bukan hanya diberikan teori. Membahas library tertentu harusnya dimulai
dari

• memberikan contoh
• menjelaskan fungsi terkait,
• membuat contoh lain dengan data berbeda

Beberapa plugin dan library yang layak untuk diperhatikan

• datatable. Atau plugin table yang bersifat dinamis, bisa juga jquery easy-ui dan lain-lain
• pdf. Saya lebih suka pada html-pdf. Tetapi pdf library biasa udah sepaket dengan
framework (di Laravel) sehingga bisa langsug dipasang saat menjalankannya
• excel. Fakta bahwa banyak laporan minta dalam bentuk excel, menunjukkan bahwa
excel wajib dipasang
• bootstrap. Ada banyak pilihan lain, tetapi yang terkenal kebetulan bootstrap. Memakai
yang lain juga disarankan
• dan lain-lain

plugin dan library di atas bisa dibilang adalah pembahasan yang harusnya masuk kedalam
silabus. Tetapi tidak menutup kemungkinan apabila memasukkan plugin dan library lainnya
seperti

• kendo ui
• jqgrid
• jquery ui. Salah satu jquery yang layak di pasang. Tetapi bukan pilihan yang disarankan
• jquery graph. Maksudnya plugin grafik yang memakai jquery. Sayangnya membuat
graph kadang tidak bisa memakai plugin bawaan framework, karena ada beberapa
kebutuhan custom yang kurang didukung oleh fungsi-fungsinya.
• dan lain-lain

Anda mungkin juga menyukai