Membuat Rest API JSON PHP Engine (GET)

php-mysql-rest-api-for-android-phppot.png
source gambar from phppot

Sepatah Dua kata…

Yooo, kali ini gw mau share tentang cara buat rest api json php engine (GET) untuk pengambilan data / membaca data dari mysql database yang di olah menjadi JSON dan bisa digunakan / dibaca pada situs lain atau aplikasi mobile (Aplikasi luckytruedev pun menggunakan rest api yang di simpan pada luckytruedev API seperti Kucing Item Putih, Peronity Station dll).

Untuk konsep ini menurut gw sederhana banget, malah simpel kalo si GET ini, selain GET, ada POST (Buat Data Resource), PUT (Ubah Data Resource) dan DELETE (Hapus Resource), mereka nanti menggunakan response2 gitu lah untuk berkomunikasinya.

Database mysql phpmyadmin

database mysql phpmyadmin

Pada kasus ini gw menggunakan database mysql phpmyadmin, tapi ini lokal bukan yang sudah hosted/hosting gitu, cuma buat pembelajaran aja, tapi lu bisa implementasi ini ke hosting kok, cara / kode programnya sama aja gak beda. Pastiin kalian tau data yang mau kalian olah jadi JSON itu data yang mana dan databasenya pastinya ada bukan ghosting. Disini gw akan membuat Rest API Json GET pada tabel “Artikel” database “Pasarpedia”.

Jika sudah saatnya kalian buka tools editor untuk nulis kode program php, yang nanti isinya akan memanggil tabel artikel pada database pasarpedia (kalo kalian menyesuaikan aja nama tabel dan database kalian, kalo ini studi kasus yang ada disini), dan di panggil datanya, dimasukan ke array json, membuat file json dan berhasil diolah jadi JSON. Langsung aja cek kodingan di bawah ini. (btw maaf screenshoot, soalnya biar kalian ngetik jangan kopas xD, biar paham aja)

Menulis kode program

langkah kode ke-1

Disini gw buat file .php baru pada tools editor Visual Studio Code, kalo dilihat pada langkah kode ke-1 ya basic banget sih, dimana kita akan konfigurasi databasenya seperti apa dari host, username, pass , nama db (pada baris 2-5) dan melakukan pengecekan jika berhasil tersambung bakalan gimana dan kalau gak tersambung bakalan muncul tulisan “failed to connect database” atau istilahnya gagal tersambung (pada baris 8-10)

untuk baris 1 mungkin kita semua udah tau untuk mendefinisikan bahwa file ini adalah file php / tag php. Oh ya, kenapa ada tanda “->” pada baris 8? nah itu adalah memanggil metode, atau mengakses properti pada objek kelas dalam php. Menurut gw sih, simbol itu muncul semenjak php ngeluarin versi 7.4+

PENTING UNTUK DIKETAHUI ! (karena beberapa penulisan kode pada kasus ini menggunakan simbol2 yang membinggungkan untuk orang yang masih belajar :D)

-> digunakan untuk memanggil metode, atau mengakses properti pada objek kelas dalam php
=> digunakan untuk memasukan nilai kedalam array

langkah kode ke-2

Disini gw melakukan pemanggilan query sql yaitu SELECT, pada baris ke-13, manggil semua data yang ada di tabel artikel, dan baris 14-15 disitu membuat sebuah hasil, jika berhasil datanya muncul akan menampilkan isi query / data pada tabel artikel (baris ke-14) dan jika gagal mengambil data atau abnormal bakalan database die / error (pada baris ke-15), gw jg membuat sebuah var baru bernama response dan post dalam bentuk array() yang nantinya ini akan dipakai dalam pemanggilan data dan diolah menjadi array.

langkah kode ke-3

Pada langkah kode ke-3 sebenernya klasik banget sih, ya mirip-mirip kayak kalian bikin program CRUD (Create, Read, Update dan Delete) nah baris 19-26 ini yang biasanya dipake di CRUD terutama di Read Data (Tampil Data), biasanya ketika kita bikin tabel untuk menampilkan data.

Baris 19-26 ini lah kode untuk menampilkannya dari data2 di database di pilah menjadi beberapa bagian dan di panggil dan dimasukan kedalam tabel / row, tapi pada kasus ini gw kagak dimasukin ke tabel, tetapi hanya digunakan untuk memanggil semua data yang ada di tabel database dan dimasukan kedalam row. (Pada baris ini silahkan disesuaikan kebutuhan kalian.)

Nantinya data ini akan digunakan dan dimasukan kedalam si var post yang berbentuk array (pada baris 27-31). Disitu kita panggil sesuai yang kita butuhkan untuk array jsonnya, btw ini sesuaikan aja ya sesuai kebutuhan kalian / disesuaikan sama punya kalian.

Pada baris 34 membungkus si var posts kedalam si response, nanti si responsenya akan kita gunakan untuk json_encode.

langkah kode ke-4

Ini adalah bagian terakhir dari file yang akan kita buat, yeaahahhaahaaaaa..

Baris 36 : membuat var bernama fp (seterah dah namanya apaan), dimana kita memanggil si fopen dari php yang akan kita isi nama file yang kita inginkan dan perintah yang akan dilakukan dengan file tersebut, misalnya “w” yang berati tandanya kita akan membuat file dengan nama file “data-api-artikel.json” (pada gambar di langkah kode 4), ada juga “r” yaitu read/baca data, dll.

Baris 37 : dimana kita akan melakukan fwrite, yaitu dimana kita akan menuliskan data kedalam file “data-api-artikel.json” dengan metode json_encode (menerjemahkan string json agar mudah saat akan diolah), didalam parameternya adalah response (post) yang kita buat, dan JSON_PRETTY_PRINT itu untuk membuat tampilan array json menjadi rapih, tidak berantakan atau acak adul kayak kapal pecah.

Baris 38 : kita menggunakan fclose untuk mengakhiri / menutup si openstream.
Baris 39 : header ini kita gunakan untuk melakukan direct ke halaman atau url yang kita inginkan, jadi ketika nanti membuka file .php yang kita buat, akan langsung direct ke file json kita / data-api-artikel.json (pada kasus di gambar ini)

kayaknya openstream (baris 36-38) juga pernah gw bahas juga di youtubenya luckytruedev taun 2019 kemarin, tapi pas bahasa pemogramannya Python linknya DISINI

Akhirnya Selesai juga…

hasil akhir menjadi json

Ya hasil akhirnya akan seperti gambar diatas dimana ketika kalian buka file .php yang telah kalian bikin dengan kode diatas, ketika dibuka akan langsung muncul json, yang nantinya akan bisa di implementasikan ke dalam aplikasi mobile ataupun ke dalam web-web orang lain.

Trobleshooting (Problem Solving)

Biasanya sering banget terjadi masalah-masalah pada saat implementasi openstream ataupun yang lainnya, berikut penyelesaian masalah yang gw rangkum untuk studi kasus ini :

– Failed to Connect Database : pastikan kalian terhubung databasenya, kalo lokal pastiin xamppnya aktif untuk mysql dan phpmyadminnya, atau kemungkinan nama database atau pass nya salah, bisa jadi tidak sesuai.

– Data tidak muncul / Load : pastikan kalian menggunakan query yang benar untuk menampilkan datanya, dan memanggil dengan nama tabel yang benar, jangan tipo, di cek lagi teliti.

– fopen failed to open stream no such file or directory : ketika kalian menggunakan fopen dan muncul tulisan ini, biasanya file yang kalian akan buat tidak tersimpan atau gabisa dibaca oleh fopen, langkah pertama yang kalian harus cek yaitu peratiin lokasi penyimpanannya, apakah file tersebut berhasil tersimpan atau tidak, dan pastikan kalian telah memberikan / merubah izin akses (premissions) kedalam folder yang ingin kalian simpan menjadi “write” (baik folder di komputer/local ataupun kalian menggunakan hosting di folder yang ada pada file manager hosting).

Penutup

yoi mamen, selamat, kalian telah berhasil mengimplementasikan rest api json php engine (get), gapapa, gw jg masih belajar, santuy, tetep semangat dan terus belajar!

Bagikan Melalui :

Post Author: Berandalan Jenius

Seorang Berandalan Jenius yang bercita-cita menjadi penulis dan membuat terkesan cewek yang ia sukai.