#HTTPRequestMethod
MOCHAMMAD ZACHRI·RABU, 20 MARET 2019·
** Intro **
Di PHP umumnya saat kita menerima parameter dari Client kita akan menerima dalam
bentuk request GET atau POST. Terkadang kita juga masih belum bisa membedakan kapan
kita menggunakan GET, dan POST.
Jika kalian sudah mulai membuat API Services, untuk merancang API yang baik. Ada
baiknya kita memahami lebih dalam mengenai HTTP Request Method.
** Kenapa? **
Mari kita mulai dari apa itu HTTP Request Method. HTTP Request Method adalah jenis
metode request yang selalu dikirimkan oleh Client ketika melakukan request ke Server.
Pada Best Practice nya, HTTP Request Method ini kita pakai untuk mengartikan sebuah
request berdasarkan Request Method yang dipakai. Berikut jenis-jenis request yang ada
di HTTP Request Method :
GET : Request Method ini biasanya digunakan ketika Client mengirim request yang
bermaksud untuk mengambil data / resource dari server. Request Method GET memiliki
data yang dikirim di URL yang diawali dengan tanda tanya (?).
POST : Request Method ini biasanya digunakan ketika Client mengirim request yang
bermaksud untuk menyimpan / menambahkan data atau resource ke server. Request
Method POST memiliki data yang dikirim di dalam Body Request.
PUT / PATCH : Request Method ini biasanya digunakan ketika Client mengirim request
yang bermaksud untuk mengubah sebagian / keseluruhan data atau resource di server.
Pada Best Practice nya, ketika kita mengubah sebagian data kita akan menggunakan
PATCH dan jika kita mengubah keseluruhan data kita akan menggunakan PUT. Tapi pada
kenyataannya, dari beberapa kasus yang saya lihat baik skala kecil / besar. API” Services
hanya menggunakan PUT ketika melakukan perubahan data baik itu sebagian /
keseluruhan. Request Method PUT/PATCHmemiliki data yang dikirim di dalam Body
Request.
DELETE : Request Method ini biasanya digunakan ketika Client mengirim request yang
bermaksud untuk menghapus data / resource di server. Request Method DELETE tidak
dapat menampung data. (Bisa di dalam Request Body, tapi tidak sesuai dengan Standar
yang ada jadi sangat-sangat tidak disarankan)
OPTIONS : Request Method ini biasanya dikirim oleh Browser sebelum melakukan request
dengan method lainnya. Yang bertujuan untuk mengetest apakah request tersebut ada
kendala / tidak (seperti CORS, dsb)
Biasanya pada implementasi API, penggunaannya akan seperti ini. Kita akan mengambil
contoh mengenai Users :
Request GET ke endpoint /users : Request untuk mendapatkan data seluruh user
Request GET ke endpoint /users/1 : Request untuk mendapatkan data user yang memiliki
id 1
Request POST ke endpoint /users : Request untuk menambahkan data user baru
Request PUT/PATCH ke endpoint /users/1 : Request untuk mengubah data user yang
memiliki id 1
Request DELETE ke endpoint /users/1 : Request untuk menghapus data user yang
memiliki id 1
** Solusi **
Dengan penjelasan diatas, sekarang kita paham apa saja jenis HTTP Method, bagaimana
data yang dikirimnya, dan bagaimana contoh penggunaan pada umumnya. Lalu
bagaimana cara menghandle data yang dikirim oleh request tersebut?
Sekarang kita akan mencoba untuk menerima data yang dikirim dari masing” request
tersebut :
GET
Kita dapat menggunakan variable default yang ada di PHP untuk menerima value dari
Request Method GET, yaitu $_GET . Contohnya seperti ini :
POST
Sama seperti GET request, kita dapat menggunakan variable default PHP yaitu $_POST .
Contohnya seperti ini :
PUT / PATCH
Kali ini PHP tidak memiliki variable default untuk melakukan handle Request Method
PUT / PATCH . Tapi kita sudah paham, bahwa request tersebut menaruh datanya di Request
Body. Kita bisa baca langsung Request Body nya dari php://input yang berisi Raw
Request Body , kita ambil menggunakan fungsi file_get_contents() . Contoh disini isi
dari Request Body nya memiliki format Query String, kita bisa gunakan fungsi
parse_str() ( jika JSON, bisa pakai json_decode(), dsb )untuk melakukan parsing
Request Body agar bisa kita pakai serupa seperti $_POST dan $_GET, disini saya assign ke
variable $_PUT supaya jadi mirip” variable default PHP. Contohnya seperti ini :Image 3
DELETE
Untuk Request Method DELETE , berhubung method tersebut tidak bisa mengirimkan data.
Yang bisa kita terima hanyalah data dari URLnya saja, di contoh berikut data id nya
diambil dari GET :
** Penjelasan **
Dari materi kali ini, kita sudah bisa memahami apa itu HTTP Request Method, jenisnya,
bentuknya, dan cara menerimanya di PHP.
Dengan itu kita sekarang harusnya bisa lebih paham dalam membuat request ke server /
menerima request dari client. Kita pun tidak akan bingung jika harus mengintegrasikan
apps kita dengan API services lain karena melihat ada 1 endpoint dengan nama yang
sama tapi berbeda Request Method ( percaya tidak percaya, banyak yang suka bingung
dengan hal ini ). Bahkan kita pun siap untuk membuat API services sendiri yang sesuai
dengan standar orang banyak :D
** Catatan **
Mungkin akan ada pertanyaan, bagaimana cara saya membedakan Request PUT / PATCH /
DELETE ? Kalian dapat mendapatkan informasi tersebut dari variable default PHP yaitu
$_SERVER dari value REQUEST_METHOD nya seperti ini :
$request_method = $_SERVER[‘REQUEST_METHOD’];
balikannya akan berupa String nama Request Method yang dipakai dengan format
semuanya Uppercase (GET,POST,PUT,PATCH,DELETE) .
Lalu, ada juga sebenarnya tipe Request Method yang tidak saya sebutkan. Tetapi karena
itu kasusnya jarang kita perlu terapkan / ketahui jadi tidak saya cantumkan ( HEAD,
CONNECT, TRACE, etc )
#BasicPHPSharing #Daily #8
#MengenalJSON
MOCHAMMAD ZACHRI·KAMIS, 21 MARET 2019·
** Intro **
Di materi kali ini, kita akan membahas mengenai JSON. Mungkin kalian disini sudah
banyak yang familiar dengan JSON. Tapi disini saya akan menjelaskannya sedikit lebih
detail dan lebih khusus pengolahannya di PHP.
Apa itu JSON? JSON singkatan dari JavaScript Object Notation. JSON adalah sebuah
format data yang basicnya berasal dari Bahasa Pemograman JavaScript, tetapi saat ini
sudah menjadi format data yang universal dan compatible di banyak Bahasa
Pemograman lainnya.
JSON umumnya memiliki format data berupa key-value object yang berada di dalam
kurung kurawal ({}). Dengan contoh diatas, saya memiliki sebuah JSON Object yang
berisi :
** Kenapa? **
Kenapa kita harus memahami soal JSON? Karena JSON adalah salah satu solusi untuk
kita dapat mengirim / menerima data dari platform lain yang mungkin dibuat dengan
bahasa pemograman yang berbeda.
Tapi perlu diingat, JSON disini beda penggunaannya seperti Object yang ada di
JavaScript yang bisa kita masukkan apapun kedalam objectnya.
- String
- Number (Integer & Float)
- Object
- Array
- Boolean
- NULL
** Solusi **
Sekarang kita mulai dengan pengolahan JSON di PHP. PHP memiliki beberapa fungsi
bawaan untuk menangani mengenai JSON. Yang akan kita bahas disini sekarang ada 3
yaitu json_encode() , json_decode() , dan json_last_error() .
o $data : Parameter pertama json_encode() ini dapat diisi dengan sebagian besar tipe data
di PHP, data tersebut bisa dijadikan parameter di json_encode() kecuali data yang berupa
Resource (Baca #3)
$options : Parameter kedua json_encode() ini dapat diisi dengan PHP Default JSON
Constant untuk menyesuaikan format JSON yang akan digenerate. Memiliki default
value 0
Image 3. Penggunaan json_encode() dengan parameter option
$depth : Parameter ketiga json_encode() ini dapat diisi dengan angka maksimal tingkat
kedalaman dari sebuah JSON data. Default value dari parameter ini adalah 512
o $json_string : Parameter pertama json_decode() ini berisi String JSON Data yang akan
diparsing.
$array_associative : Parameter kedua ini memiliki jenis tipe data Boolean. Jika kita set
TRUE, maka balikan dari json_decode() jika berhasil akan berupa Array , dan Jika kita set
FALSE maka balikannya akan berupa Object. Default value dari parameter ini adalah
FALSE .
$depth : Parameter ketiga json_decode() ini dapat diisi dengan angka maksimal tingkat
kedalaman dari sebuah JSON data yang diparsing. Default value dari parameter ini
adalah 512
$options : Parameter keempatjson_decode() ini dapat diisi dengan PHP Default JSON
Constant untuk menyesuaikan format JSON yang akan diparsing. Memiliki default
value 0
json_last_error()
Fungsi ini dapat kita gunakan saat kita sudah menggunakan fungsi json_encode() atau
json_decode() dan dalam prosesnya itu terjadi kesalahan dan mengembalikan value NULL
. Fungsi ini akan mengembalikan value berupa Integer yang bisa kita compare dengan
PHP Default JSON Constant untuk mengecek kesalahan apa yang terjadi.
** Penjelasan **
Dari materi kita mengenal JSON di atas, kita sekarang bisa mengolah JSON Data di
PHP ataupun membuat JSON Data di PHP untuk kebutuhan kita. Kita pun jadi
mengetahui format data lain yang bisa digunakan untuk berkomunikasi dengan apps lain
diluar apps kita.
#BasicPHPSharing #Daily #6
#MengenalClass
MOCHAMMAD ZACHRI·SELASA, 19 MARET 2019·
** Intro **
Jika anda adalah seorang coder PHP, cepat atau lebih cepat akan tiba saatnya dimana
anda harus memahami mengenai Class.
Dengan kita memahami Class, kita dapat selangkah lebih maju untuk memahami
Pemograman Berbasis Object atau bahasa kerennya sih OOP (Object Oriented
Programming).
** Kenapa? **
Umumnya, library” PHP berbentuk Class. Ketika kita ingin membuat sebuah Object pun,
pasti kita membuat Class.
Singkatnya, Class di PHP bisa kita anggap sebagai Template dari sebuah Object. Kita
bisa set properti” dari Class sehingga membentuk sebuah Object.
Mari kita gunakan analogi Manusia, jika Manusia adalah sebuah Class. Maka di Class
tersebut akan memiliki banyak property, seperti Nama, Gender, Tanggal Lahir,
Golongan Darah, dsb. Ketika Class tersebut sudah di set propertynya sehingga
memiliki identitas tersendiri maka kita bisa menyebut itu sebagai Object.
Dan itulah awal dari yang tadi kita sebuat OOP, karena OOP itu segalanya berbasis
Object dalam proses code nya.
** Solusi **
Jadi, mari kita mulai membuat Class. Kita pelajari sambil membuat contoh Class kita
sesuai analogi di atas. Class di PHP di awali dengan syntax class lalu diikuti dengan
nama Class-nya.
Lalu kita set property dari Class Manusia tersebut dengan property seperti diatas.
Image 2. Set Property Class Manusia
Property di class, bisa kita akses dengan cara menggunakan variable $this-
>[nama_variable]. Contohnya property $nama, kita akses dengan menggunakan $this-
>nama .
Di Image 2 kita bisa lihat di depan variable ada syntax public , itu berarti property dari
Class tersebut bisa diakses diluar Class tersebut. Ada juga syntax lainnya seperti :
protected : property hanya bisa diakses di dalam scope Class tersebut dan Sub-Class
(Turunan) dari Class Tersebut
Sekarang kita lanjutkan untuk membuat Constructor dan Destructor dari Class yang kita
buat. Apa itu Constructor / Destructor?
Constructor adalah sebuah method khusus di Class yang digunakan untuk membantu
kita melakukan inisialisasi pembuatan Class. Constructor berupa method __construct()
di Class yang bisa berisi parameter ketika Inisialisasi Class.
Destructor adalah sebuah method khusus di Class yang digunakan untuk membantu kita
melakukan proses saat PHP sudah melepas Object tersebut dari proses memori karena
sudah tidak terpakai / selesai di eksekusi. Biasanya Destructor dipakai untuk melakukan
unset pada variable / menutup koneksi database / menutup handler file dan sebagainya.
Destructorberupa method __destruct() di Class tanpa parameter.
Image 3. sample Constructor dan Destructor di Class
Selanjutnya kita buat method di Class Manusia , disini method yang kita buat untuk
melakukan set property dari Class Manusia
Image 4. Setter Method di Class
Method di class pun sama memiliki syntax public seperti property, dan artinyapun sama.
Disini saya set methodnya public karena saya ingin method tersebut bisa diakses dari
luar Class .
(Optional) Di contoh method diatas, kita bisa kembalikan juga Class tersebut di balikan
method agar kita bisa melakukan Chaining Method. Apa itu Chaining Method? Chaining
Method adalah pemanggilan method secara berturut-turut dalam 1 object yang nanti bisa
dilihat contohnya dibawah.
Image 4.1 Optional add return $this suapay bisa Chaining Method
Sekarang mari kita coba membuat Object dari Class Manusia yang sudah kita buat. Kita
akan buat Object yang bernama Ani, seorang perempuan kelahiran 1 Januari 1999
dengan golongan darah O. Kita akan inisialisasi dengan cara melalui Constructor Class
Manusia.
Dan hasilnya :
Dan Hasilnya :
** Penjelasan **
Dari pembuatan Class Manusia di atas, kita sudah bisa memahami Class di PHP seperti
apa. Penggunaannya pun bisa beragam sesuai kebutuhan.
** Catatan **
Dari materi Class di atas, masih banyak yang bisa kita dalami. Soal Sub-Class (Turunan)
, soal public - private - protected, dsb yang mungkin akan kita bahas di materi
selanjutnya nanti.
Pembuatan materi ini pun saya agak membatasi ke pengenalan mengenai Class, supaya
kita bisa memahaminya secara bertahap.
#BasicPHPSharing #Daily #5
#DesignPattern
MOCHAMMAD ZACHRI·SENIN, 18 MARET 2019·
** Intro **
Pernahkah kalian merasa saat sedang membuat sebuah fitur, kalian merasa dari fitur”
yang dibuat sebenarnya output dan input yang akan di proses sama. Tetapi butuh cara
proses yang berbeda. Jika jawaban kalian adalah ya, maka kita memiliki masalah yang
sama.
Saya pun sudah beberapa kali menemui hal seperti itu, samplenya yang saat ini sedang
saya kerjakan adalah soal Payment Gateway dan Delivery Services.
Saya memiliki data transaksi, data transaksi tersebut ingin saya proses untuk
menghasilkan input nomor referensi pembayaran yang kelak akan saya gunakan untuk
tracking pembayaran user di Payment Gateway. Tapi di Payment Gateway, banyak
payment methodnya dan cara prosesnya pun berbeda-beda.
Dan ketika saya bingung dengan masalah tersebut, saya ingat mengenai Design Pattern
dan mengimplementasikannya. Masalah saya pun selesai :)
Jadi, apa itu Design Pattern? Mungkin banyak referensi yang bisa kalian dapatkan di
gugel. Tapi disini saya akan menjelaskan dengan apa yang saya pahami.
Design Pattern adalah sebuah pola. Pola yang digunakan untuk menyelesaikan masalah
yang berulang / serupa. Design Pattern ada banyak, mulai yang mainstream (Factory,
Singleton, Strategy, dsb) hingga yang tidak. Karena setiap kita menyelesaikan suatu
masalah yang berulang, solusi yang kita kerjakan dapat dikatakan sebuah Design Pattern.
** Kenapa? **
Kenapa kita harus mengetahui soal Design Pattern? Karena kita sebagai coder pembuat
apps, bertujuan untuk menyelesaikan sebuah masalah pastinya. Dan untuk menyelesaikan
sebuah masalah, ada banyak cara. Dengan mengetahui soal berbagai macam Design
Pattern kalian bisa memilih solusi dari sebuah masalah yang seefektif mungkin.
** Solusi **
Disini saya akan soal salah satu Design Pattern yang saya gunakan untuk menyelesaikan
masalah saya diatas.
Saya membutuhkan 1 Class utama untuk handling data transaksi yang saya miliki , kita
buat nama Classnya Payment :
Lalu kita buat salah satu jenis payment, misalnya contoh disini saya buat pembayaran
menggunakan BCA Virtual Account dengan nama Class BCA_Virtual_Account yang
meng-extends Class Payment :
Lalu kita buat method di Main Class Payment yang bernama createPayment yang akan
kita gunakan untuk memproses data transaksi nanti.
Setelah itu, kita buat juga method dengan nama yang sama seperti di Main Class (
createPayment ) di Class Payment Provider kita ( BCA_Virtual_Account ) Untuk
meneruskan method dari Main Class.
Lalu kita perlu menambahkan constant di Main Class yang berisi nama Class-Class
Payment Provider yang kita miliki. dan menambahkan method untuk melakukan set
Payment Provider yang akan kita pakai ( setPaymentProvider() ).
Image 5. Membuat setter Payment Provider di Main Class
Lalu kita tinggal pakai deh untuk mengolah data transaksi kita
Selesai, kita tinggal menambahkan Payment Provider lain sesuai kebutuhan dan hanya
cukup menambahkan referensi di Main Class
** Penjelasan **
Design Pattern diatas adalah salah satu cara penyelesaian masalah dengan pola Payment
Gateway yang saya hadapi. Tapi dari sana kita bisa implementasikan ke berbagai macam
hal.
Dengan mengimplementasikannya, saya dapat menghemat banyak code dan logic yang
tidak efektif dan dengan mudah melakukan manage code ke setiap fitur yang saya buat.
** Catatan **
Contoh code diatas adalah untuk keperluan sample, kita juga harus tetap mengecek jika
Child Class nya ternyata tidak ada, method yang kita mau pakai tidak ada, dan
sebagainya
#BasicPHPSharing #Daily #4
#isset()&empty()
MOCHAMMAD ZACHRI·MINGGU, 17 MARET 2019·
** Intro **
Akhir” ini, banyak saya melihat coder” PHP kurang memahami mengenai isset() dan
empty(). Berikut contohnya :
** Kenapa? **
Sebelum kita membahas mengenai isset() dan empty() lebih jauh, kita harus memahami
dulu mengapa kita harus paham cara penggunaan kedua fungsi tersebut. Secara garis
besar,kedua fungsi tersebut berguna untuk mengecek apakah suatu value “ada” atau
“tidak ada”. Tetapi sebenarnya, penggunaan mereka berbeda.
** Solusi **
# isset()
Function isset() kita gunakan untuk mengecek apakah variable / index ada di code kita
atau tidak. Jika ada, maka function tersebut akan mengembalikan value TRUE dan jika
tidak ada maka akan mengembalikan FALSE .
image 2. isset() test #1
Tapi ada sesuatu lagi yang harus kita ketahui mengenai function isset() ini, yaitu jika
value yang kita cek ada tetapi memiliki value NULL. Maka isset() akan mengembalikan
value FALSE. Kenapa? Karena sesuai bahasan saya di #3, bahwa NULL
merepresentasikan bahwa variable tersebut kosong, tidak memiliki value dan itu isset()
menganggap bahwa itu sama saja dengan “tidak ada”.
# empty()
Function empty() kita gunakan saat kita ingin mengecek apakah sebuah variable memiliki
value atau tidak. Value” yang dianggap kosong oleh function empty() adalah sebagai
berikut :
‘’ ( string kosong )
0 ( angka 0 [integer] )
NULL
FALSE
** Penjelasan **
Jadi sekarang kita sudah memahami apa itu isset() dan apa itu empty(). Kedua fungsi
tersebut serupa tapi tidak sama. Sama-sama untuk mengecek value variable, tapi berbeda
cara pengecekannya.
Jika kita memiliki sample kasus seperti di awal, mengecek parameter dari client (front
end, apps, dsb), lebih baik kita mengecek apakah parameter tersebut ada atau tidak.
Kemudian baru kita cek, apakah parameter tersebut ada isinya atau tidak.
Tutup Catatan
#BasicPHPSharing #Daily #3
#TipeData
MOCHAMMAD ZACHRI·SABTU, 16 MARET 2019·
** Intro **
Biasanya, ketika mengerjakan code khususnya di PHP. Ada coder yang tidak peduli
dengan tipe data dari sebuah variable. Ya, karena PHP tidak terlalu strict dengan tipe
data.
Tapi tahukah anda, sering terjadinya kesalahan dikarenakan ketidakpahaman terhadap
tipe data ( ex : melakukan operasi aritmatika, menjadikan variable sebagai parameter
dengan tipe data yg strict, dll ). Apalagi jika apps yang anda buat berhubungan dengan
apps lain ( ex : API Services ).
** Kenapa? **
Pengetahuan mengenai tipe data itu sangatlah penting bagi seorang coder, walaupun pada
kenyataan dilapangan hal tersebut tidak mempengaruhi code mereka. Tapi dengan
memahami tipe data, code yang kalian kerjakan akan memiliki performa lebih baik dan
kalian pun benar” mengerti apa yang terjadi dengan code kalian.
** Solusi **
Tipe data ini berisi data berbentuk angka real (negatif / positif), tanpa desimal. Contoh :
$a = 123;
- String
Tipe data ini terdiri dari huruf, angka, ataupun karakter spesial. Assignment variable
dengan tipe data String diawali dengan tanda kutip 1 ( ‘ ). Contoh : $a = ‘text’;
- Float
Tipe data ini berisi data berbentuk angka desimal. Pemisah angka dengan desimalnya
menggunakan titik ( . ). Contoh : $a = 5.550;
- Boolean
Tipe data ini hanya memiliki 2 jenis value TRUE atau FALSE ( bisa dialias juga menjadi
1 atau 0 ). Contoh : $a = TRUE;
- Array
Tipe data ini dapat menampung banyak jenis variable dengan berbagai jenis type data.
Contoh : $a = [1,2,3,4,5];
- Object
Tipe data ini tidak hanya menampung berbagai macam data, tapi juga menampung
method, function, dsb. Contoh : $a = new User();
- Null
Tipe data ini adalah tipe data yang menyatakan bahwa data tersebut kosong dan hanya
bisa diisi dengan value NULL. Contoh : $a = NULL;
- Resource
Tipe data ini biasanya adalah tipe data yang menyimpan referensi”, handler, dengan
sesuatu dari luar sistem. contoh : $a = mysqli_connect();
** Penjelasan **
Dengan memahami tipe data, sekarang kita bisa mengetahui. Variable apa, berisi data
apa, dengan jenis data apa, dan bagaimana cara handling nya.
Tapi ada satu pertanyaan lagi, bagaimana jika isi dari variable tersebut yang diterima
tidak sesuai dengan yang kita inginkan?
** Catatan **
Mungkin dari penjelasan saya masih banyak hal yang kurang, mengenai apa dampaknya
secara langsung pada code, atau misalnya requirement parameter untuk melakukan
casting, handling error gagal casting, dll. Tapi hal itu akan saya jelaskan dilain
kesempatan / kalian bisa mencoba sendiri.
Mengapa saya menjelaskan hal ini? Karena saya lihat di beberapa grup pemograman
(bukan hanya PHP sebenarnya), banyak coder yang tidak paham apa itu tipe data. Dan itu
adalah sesuatu hal yang buruk menurut saya. Karena semua data yang kita olah di apps
kita, mereka memiliki tipe data yang berbeda-beda dan kita harus tau supaya kita bisa
mengolahnya dengan baik.
Jika kalian berkutat dengan API Services pihak luar, biasanya mereka lebih strict
terhadap soal tipe data ini. Parameter yang kita kirim isinya benar, tapi salah tipe data
akan menyebabkan gagal request.
Tutup Catatan
#BasicPHPSharing #Daily #2
#UNIXTimestamp
MOCHAMMAD ZACHRI·JUMAT, 15 MARET 2019·
** Intro **
( banyak ) dari kita akan menggunakan format seperti 2019-03-15 19:00:00 dan
menyimpannya ke Database.
Data tersimpan, referensi waktu ada, semua selesai. Tapi masih ada 1 masalah ... Zona
waktu.
Mungkin jika apps yang kita buat hanya diakses di 1 lokasi, it wont be any problem. Tapi
bayangkan, jika apps yang dibuat adalah apps yang digunakan oleh orang banyak, yang
kita gak bisa tebak darimana saja.
Mereka akan melihat sebuah referensi waktu yang tidak tepat dengan waktu yang mereka
jalani.
// Local Machine Server berada di zona GMT+9
// User Berada di zone GMT+7
echo date('Y-m-d H:i:s'); // output : 2019-03-15 19:00:00
Output yang diharapkan seharusnya adalah waktu sesuai dengan waktu user kita ( output
: 2019-03-15 17:00:00 )
** Kenapa? **
Karena ketika kita mengambil waktu ( khususnya dengan php function date() ), kita akan
mengambil waktu dari local machine dimana apps itu berjalan.
** Solusi **
Jadi ketika kita menggunakan UNIX Timestamp sebagai referensi waktu kita. Kita tidak
perlu khawatir untuk menampilkan waktu kepada user. Karena waktu yang kita tampilkan
akan sesuai dengan user ketika diakses darimanapun.
** Penjelasan **
Karena jika saya menampilkannya dengan PHP, itu artinya tetap saja waktu yang
ditampilkan akan mengikuti waktu Local Machine Server karena waktu yang kita
tampilkan di "render" oleh server. Makanya Timestamp tersebut ditampilkan oleh JS
yang mengolahnya di tempat User itu sendiri dan akan mengikuti waktu si user tersebut.
** Catatan **
Hingga saat ini, sepanjang karir saya. Di awal saya pun sama selalu menggunakan format
DateTime ( 2019-03-15 19:00:00 ) untuk menyimpan referensi waktu.
Tapi ketika tiba dimana saya membuat apps yang dipakai orang banyak, saya menemui
masalah waktu tersebut karena user mengeluh bahwa waktu yang tampil tidak sesuai
dengan ketika ia melakukan hal tersebut.
Sampai saat ini pun banyak perusahaan" besar yang menggunakan data referensi dengan
format UNIX Timestamp ini (karena saya banyak berkomunikasi dengan API-API
perusahaan besar. Ex: GRAB)
#BasicPHPSharing #Daily #1
#referenceOnForeachLoop
MOCHAMMAD ZACHRI·JUMAT, 15 MARET 2019·
** Intro **
dan kita ingin memanipulasi isi dari array tersebut saat loop seperti ini :
foreach($arr as $arr_data){
$arr_data += 1;
}
// $arr masih [1,2,3,4,5]
(kebanyakan) pasti pakai variable lain untuk menampung data hasil manipulasinya seperti
in :
$new_arr = [];
foreach($arr as $arr_data){
$new_arr[] = $arr_data+1;
}
// $arr masih [1,2,3,4,5]
// $new_arr berisi [2,3,4,5,6]
karena jika tidak begitu, manipulasi yang kita lakukan di dalam loop tidak akan merubah
isi dari array yang kita punya ketika dipakai diluar loop.
** Kenapa? **
karena saat kita melakukan loop, value yang kita gunakan di dalam foreach tidak
mereferensikan value dari array tersebut.
** Solusi **
** Penjelasan **
tanda & bisa diartikan bahwa kita bermaksud untuk menjadikan variable tersebut berupa
referensi terhadap nilai aslinya (disini samplenya adalah nilai dari isi $arr).
Jadi saat loop, yang kita manipulasi adalah benar-benar isi referensi dari $arr
** Catatan **
** Selesai **
http://didanurwanda.github.io/CodeIgniterStrap/javascript.html#collapse
https://github.com/kamranahmedse/developer-roadmap
Mempercepat Development
dengan Package Control /
Extensions CodeIgniter Snippets
(Sublime 3 dan VS Code)
THOMAS JERIKO·JUMAT, 07 DESEMBER 2018·
Sublime 3
Contoh Penggunaan :
VS Code
PS: Bila ada kekurangan silahkan suhu suhu menambahkan atau memperbaiki. sekian
Cara menginstall XAMPP di windows
BY AGUS YUSIDA OKTOBER 25, 2019 4 VIEWS
Jika kamu ingin membuat website di komputer pribadi kamu, maka kamu membutuhkan
sebuah web server. Nah salah satu aplikasi untuk membuat web server di komputer
kamu adalah XAMPP.
Kunjungi link berikut dan download xampp sesuai dengan sistem operasi yang kamu
pakai.
https://www.apachefriends.org/index.htm
Kemudian buka aplikasi yang sudah kita kita download tadi. Contohnya: xampp-windows-
x64-7.3.10-1-VC15-installer.exe
3. Dibawah ini adalah tampilan pertama dari installer XAMPP, tekan tombol Next
4. Selanjutnya kamu akan diminta untuk memilih aplikasi apa saja yang ingin di install.
Centang saja semuanya dan klik tombol Next.
5. Langkah selanjutkan adalah menetukan lokasi dimana xampp ini akan di install.
Secara default, pathnya adalah di C:\xampp, jika kalian ingin merubah foldernya, tinggal
ganti saja sesuaikan dengan path yang diinginkan. Tekan tombol Next.
6. Selanjutnya proses intall xampp akan dimulai, mungkin butuh waktu beberapa menit
sampai proses ini selesai.
7. Setelah semua proses selesai, maka akan muncul tampilan seperti di bawah ini.
Jika kamu mencentang checkbox di atas dan klik tombol Finish, maka laucher xampp
akan terbuka dan XAMPP sudah selesai terinstall di komputer kamu
Apache berfungsi sebagai webserver, dan MySQL adalah dabatase server yang
digunakan untuk menyimpan data dari aplikasi yang akan kita buat.
Untuk memulai, kamu hanya menekan tombol Start di kanan masing-masing module.
Terkadang akan muncul alert seperti diatas. Tidak usah kawatir, kamu hanya tinggal klik
tombol Allow access saja.
Jika servicenya sudah berwarna hijau-hijau seperti di atas, maka service tersebut sudah
berjalan.
Untuk mengetes web server, kamu bisa buka url http://localhost di browser. Jika tidak
ada masalah, maka akan muncul tampilan seperti berikut ini.
Tampilan defult localhost
Jadi itulah cara menginstall XAMPP dikomputer kamu. Mudah bukan? Selanjutnya kamu
tinggal mulai belajar programming seperti belajar dasar-dasar php dan mysql.
Output API
Sumber : http://slides.com/ferrisutanto/mengenal-restful-
api#/20
FacebookTwitter
Client – server : client menangani front end dan server menangani back end
dan keduanya dapat diganti secara independen satu sama lain.
Stateless : Tidak ada data klien yang disimpan di server ketika ada permintaan
dan status sesi disimpan di klien.
Cacheable : Klien dapat men-cache respon (seperti browser yang men-cache
elemen statis halaman web) untuk meningkatkan kinerja.
Keuntungan terbesar dari Restful API adalah Anda tidak perlu memasang apa
pun di sisi klien. SDK atau framework tidak diperlukan. Yang harus Anda lakukan
adalah membuat permintaan HTTP sederhana ke layanan end point dari API
target, biarkan server melakukan layanannya untuk Anda dan dapatkan hasilnya
kembali. Sangat mudah dilakukan.
Contoh paling sederhana adalah Google API untuk login. Anda tidak perlu
menghabiskan banyak waktu hanya untuk membuat sistem login untuk member
di website. Anda hanya perlu memanggil API dari google, pengguna hanya perlu
login ke Google kemudian Anda akan mendapatkan data semisal alamat email /
nama dari pengguna tersebut. Tentunya jika pengguna telah memberikan izin
mengunakan data mereka.