Ngoding jadi pusing karena lupa.

Breaking

Sunday, November 18

November 18, 2018

CRUD menggunakan API (CI) : Persiapan


Sebelumnya saya sudah membuat catatan tentang mempersiapkan CI supaya bisa menjadi REST API dan juga sudah mebahas tentang Method-Method nya, dan juga tentang cara mengirim data berdasarkan Method-method tersebut. Kali ini saya ingin membuat catatan tentang melakukan CRUD ke database MYSQL dengan menggunakan REST API. Tapi sebelum itu, saya perlu membuat database terlebih dahulu, dan juga melakukan Config CI nya supaya bisa terkoneksi ke database.



Langsung aja yok lihat bagaimana cara saya mempersiapkan nya.

1. Persiapkan database
Click gambar untuk memperbesar gambar
Disini saya membuat table dengan nama "coba"
Lalu saya lanjutkan dengan membuat table "orang"
Yang didalamnya ada 3 buah field (id, nama, status).

2. INSERT DATA
proses ini sebenarnya untuk persiapan di tahapan selanjutnya, tapi saya lakukan sekarang supaya sekali jalan.
Click gambar untuk memperbesar gambar
saya lakukan insert data ke dalam table yang baru saya buat. oh iya, itu isinya bukan kode-kode kok.

Click gambar untuk memperbesar gambar
nah itu hasilnya setelah data sudah di insert.

3. Load Libaray database ke CI
Click gambar untuk memperbesar gambar

buka project CI dari project yang sebelumnya. lalu buka file autoload.php yang ada di dalam folder "application/config/".
lalu cari $autoload['libraries'] dan isikan seperti gambar diatas.

4. Config database ke CI
Click gambar untuk memperbesar gambar
masih di folder yang sama yaitu "application/config/", saya buka file database.php.
lalu pada bagian bawah saya isikan seperti pada di gambar.

Jika pengguna xampp biasanya nama host masih tetap localhost. usernamenya diisikan root, dan passwordnya di kosongkan. lalu database diisi dengan nama database yang sudah di buat pada tahap 1.
Tapi disitu saya isi seperti itu karena user untuk mysql saya sudah saya tambah dan saya rubah.

 untuk persiapannya sudah selesai, sisanya akan saya lanjutkan dengan ngoding untuk bagaimana melakukan CRUD ke database MYSQL dengan API.

Terimakasih banyak..
Silahkan tinggalkan kritikan dan saran-sarannya di kolom komentar dibawah.

Saturday, November 17

November 17, 2018

Mencoba mengirim data ke API (CI)


Ketika sebelumnya saya mencoba membuat API (mungkin lebih tepatnya mencoba memahami API). Saya sudah memasukkan beberapa jenis METHOD juga, dan saya juga sudah mencoba nya. Namun di kenyataannya, kita tidak mungkin mengirim data kosong ke API, karena hakikatnya API itu berfungsi sebagai jembatan yang akan menyimpankan data yang kita kirimkan ataupun jembatan sebagai penyedia data dari database ketika kita minta. Maka kali ini saya akan mencatat bagaimana sih cara mengirim data (disini saya menggunakan alat bantu POSTMAN) ke API dan bagaimana si API bisa tau data yang saya kirimkan.


Karena ini masih lanjutan dari yang ini, maka saya masih menggunakan project yang sama.

1. GET
Ok, saya menggunakan file Coba.php dari project sebelumnya. dan saya tambahkan beberapa baris seperti berikut.
Click gambar untuk memperbesar gambar
ok, disitu karena saya sedang berada di dalam method get, maka untuk mendapatkan data yang dikirim menggunakan method get, saya menggunakan $this->get(). Ok, langsung aja saya coba menggunakan POSTMAN.
Click gambar untuk memperbesar gambar
pilih method GET tentunya, dan di url nya saya titipkan datanya.

Cara mengirim data pada method GET yaitu langsung melalui url. dengan cara di tuliskan dulu key nya baru nilainya.
Contoh : url/ci/Controller?id=30 : saya tuliskan "id" sebagai keynya, dan "30" adalah nilai yang di bawa.
Click gambar untuk memperbesar gambar
seperti yang saya tuliskan sebelumnya, cara mengirim data dengan method GET adalah dengan menitipkan langsung dari url.

ok, itu baru mengirimkan 1 (satu) data, bagaimana jika mengirimkan lebih dari satu ?

Click gambar untuk memperbesar gambar
Pertama -tama, kita siapkan kodingannya. pada gambar diatas, saya menambahkan beberapa key yang akan di tangkap, yaitu "nama" dan "status". Lalu saya juga menggunakan function bawaan dari Library yang sebelumnya sudah saya masukkan ke dalam project CI (dari catatan saya yang ini), yaitu function response untuk menampilkan datanya.

Function response adalah function yang jika kita masukkan data kedalamnya, akan langsung di representasikan sebagai data JSON.

JSON : adalah salah satu presentasi data yang datanya bisa dipahami oleh banyak bahasa pemrograman, hal inilah yang memungkinkan API menjadi bisa digunakan banyak jenis aplikasi seperti Web, Mobile, dan Desktop.

Click gambar untuk memperbesar gambar
untuk menuliskan data pada url, sama seperti sebelumnya, hanya saja butuh tanda "&" sebagai pemisah antara key dan datanya. seperti pada gambar di atas, saya memisahkan beberapa key dengan tanda "&".

2. POST
Untuk method yang ini, saya hanya melakukan copy dari isi mehtod GET dan merubah beberapa hal.
Click gambar untuk memperbesar gambar
seperti yang terlihat pada gambar, saya merubah $this-get() menjadi $this->post(). Karena ini adalah cara supaya data yang dikirim melalui method post bisa di ambil. Dan saya juga merubah penamaan variable dari $get menjadi $id (hanya merubah penamaan saja).

Ok, saya coba dulu.

Click gambar untuk memperbesar gambar
Buka postman lagi, lalu ubah Urlnya hanya sampai Controllernya saja "localhost/project/index.php/Controller". Ubah juga methodnya menjadi POST. lanjutkan dengan klik tab body->form-data. Dan isikan key dan valuenya.

Click gambar untuk memperbesar gambar
dan Jeng jeng, datanya muncul.

3. PUT
Lanjut ke method lainnya.
Ayo kita koding  copas dlu isi dari method POST ke dalam Method PUT.
Click gambar untuk memperbesar gambar
ubah sedikit kodenya, dari $this->post() menjadi $this->put().

Ayo test lagi pake tukang post (POSTMAN).
Click gambar untuk memperbesar gambar

Ubah methodnya jadi PUT. lalu pada tab body, ambil yang x-www-form-urlencoded (seperti gambar diatas). lalu masukkan key dan valuenya lagi. Jika sudah seharusnya akan menampilkand ata seperti di gambar.

4. DELETE
Ok, Untuk Delete ini dia agak spesial. Type mehodnya seperti method GET yang datanya di tuliskan langsung di URL, namun untuk lebih jelasnya, Ayo kita Coding dlu Methodnya.
Click gambar untuk memperbesar gambar
Coba di perhatikan, pada method Delete, tidak di masukkan key, melainkan langsung parameter di dalam methodnya.

function index_delete($parameter1,$parameter2,$paramete3,$parameterseterusnya).
sedangkan isinya hanya menampilkan data dari parameter.

Saya coba dlu ya.
Click gambar untuk memperbesar gambar
Buka postman, lalu ubah methodnya menjadi DELETE. 
Perhatikan penulisan URL nya, ini yang saya bilang sebelumnya, method DELETE mirip seperti GET, hanya saja pada saat penulisan URL, pada Mehtod Delete, tidak memasukkan key melainkan langsung memasukkan datanya dan untuk memisahkan antara data yang satu dengan yang lainnya, menggunakan tanda "/".
Contoh : localhost/project/index.php/Controller/data1/data2/data3
dan penulisan data pada URL juga di pengaruhi pada penulisan code pada 

method index_delete($param1, $param2,$param3).
dengan penulisan URL seperti diatas, maka "data1" akan ditangkap oleh "$param1" dan seterusnya.


Ok, selesai...

Terimakasih banyak, dan silahkan tinggalkan komentar di kolom komentar di bawah ya..

Friday, November 16

November 16, 2018

Mencoba membuat API dengan CI


Catatan ini adalah catatan lanjutan dari catatan sebelumnya. Sehingga project yang digunakan juga masih sama dengan yang sebelumnya.

Ok, sebelumnya saya ingin membahas tentang METHOD pada API.
Ada banyak jenis METHOD yang di sediakan atau bisa digunakan sebenarnya, hanya saja saya pribadi ketika menulis catatan ini baru mencoba 4 buah Method dari keseluruhan method yang ada. Yaitu :

1. POST
Apa sih itu POST ?
Sederhananya gini, ketika kita menggunakan API, selain menarik atau mengambil data, maka kita juga perlu mengirim data ke API. Umumnya Method ini lah yang digunakan untuk melakukan pengiriman data dari aplikasi ke API.

2. GET
kalau yang ini, lebih sering digunakan untuk meminta si API supaya memberikan data ke aplikasi yang meminta berdasarkan parameter yang sudah di tentukan. Atau kalau bahasa rumitnya "AMBIL DATA DARI API".

3. PUT
Nah, yang satu ini biasanya digunakan untuk mengirim data ke API tetapi ketika melakukan proses perubahan data.

4. DELETE
Sesuai namanya, method ini sering digunakan untuk memerintahkan API supaya menghapus suatu data.

NOTE : Bukan berarti ketika ingin menghapus data harus menggunakan method DELETE, tetapi bisa saja kita menggunakan method POST. Namun, jika proses untuk meminta data, memberi data, merubah data dan menghapus data dilakukan seluruhnya di dalam method POST, maka akan membingungkan anda sendiri nantinya. Jadi sebaiknya gunakan Method pada tempatnya.

Ok, langsung aja kita coba yok..

Silahkan buat file baru #saya membuat file dengan nama Coba.php di dalam folder "project/application/controllers".

Click gambar untuk memperbesar gambar

jangan lupa tambahkan 3 line seperti pada gambar di atas di dalam filenya.
selanjutnya saya membuat echo untuk setiap methodnya. supaya ketika method itu benar-benar jalan, maka akan menampilkan echonya.
Click gambar untuk memperbesar gambar

Ok, sudah selesai. mari kita uji dengan software POSTMAN #silahkan download jika belum ada.
Buka aplikasi Postman nya.
Click gambar untuk memperbesar gambar
Silahkan Ubah methodnya sesuai keinginan (pengennya method mana yang mau di coba). lalu masukkan url nya (urlnya sama seperti url web).
Click gambar untuk memperbesar gambar
kalau sudah, di bagian kanan ada button Send, silahkan di klik. Maka nanti di bagian bawah akan menampilkan (respon dari API).
Click gambar untuk memperbesar gambar
disini saya mencoba method POST terlebih dahulu. dan hasilnya adalah menampilkan echo yang ada di dalam method Post.

untuk mengganti methodnya cukup ubah dari POST menjadi seperti yang di inginkan.
Contoh ..
Click gambar untuk memperbesar gambar
ini contoh : GET
Click gambar untuk memperbesar gambar
ini contoh : PUT
Click gambar untuk memperbesar gambar
ini contoh : DELETE

Ok, untuk awal percobaan, saya rasa itu adalah hal2  yang perlu di ketahui terlebih dahulu.

Terimakasih banyak.
Silahkan tinggalkan komentarnya ya..

Thursday, November 15

November 15, 2018

Persiapan Membuat API dengan Framework Codeigniter


Sebelumnya mungkin saya akan bercerita tentang apa sih itu API atau yang sering disebut REST API.
Application Programming Interface adalah kepanjangan dari API, yang jika saya pahami maksdnya adalah, sebagai Interface antar aplikasi.

Pada umumnya, ketika kita membuat aplikasi, data yang kita miliki selalu berada satu tempat dengan databasenya. Emang apa salahnya ?


Gak ada salahnya jika DATA dari aplikasi itu hanya dibutuhkan untuk aplikasi itu saja. Namun akan menjadi masalah jika Data dari aplikasi tadi ingin digunakan oleh aplikasi lain yang ternyata beda dunia (Operating Sistem). Misalnya saja, aplikasi Web yang ternyata datanya pengen juga di tampilin di aplikasi Android. Bagaimana cara mengatasinya ?

REST API adalah salah satunya, seperti pada gambar ilustrasi di atas. API berguna sebagai komunikator ke database. Dengan begitu, satu pusat Data bisa di akses atau digunakan datanya untuk banyak jenis Aplikasi, misalnya Web, Mobile, Desktop.


Ok, sekian cerita saya tentang REST API.

Pada judul saya mengatakan Membuat API dengan Framework CI. API bisa di buat dengan bahasa selain PHP, namun yang masih penulis agak pahami baru PHP. maka dari itu penulis menggunakan CI sebagai alat bantunya.

Note : Catatan kali ini penulis menggunakan project dari sini.

Cekibrot..

Click gambar untuk memperbesar gambar
silahkan Download terlebih dahulu Library untuk mempermudah kita menjadikan CI sebagai REST API.

Lalu jika sudah di download, silahkan extract.
Setelah di extract, masuklah ke folder hasil extractan tadi, dan masuk lagi ke folder "application".

Selanjutnya, Copy kan semua folder yang ada di dalam folder "application" tadi ke dalam folder "application" pada project CI #disini project CI saya ada di /var/www/html/Codeigniter/application/

Click gambar untuk memperbesar gambar

ok, selanjutnya buka project Ci nya dengan text editor kesayangan. #sublime kalau saya.
lalu silahkan ubah file yang ada di dalam folder "application/libraries/" yang bernama REST_Controller.php menjadi seperti berikut.

Click gambar untuk memperbesar gambar



Ok cukup mudah bukan, hanya segitu saja caranya mempersiapkan CI untuk bisa menjadi REST API.
Untuk cara membuat API akan saya lanjutkan di catatan selanjutnya.



Terimakasih banyak
Silahkan tinggalkan komentar nya di kolom komentar di bawah.

Wednesday, November 14

November 14, 2018

Create File (.txt dan .zip) PHP NATIVE

Kali ini saya sedang belajar membuat file .txt dan .zip dengan menggunakan bahasa pemrograman PHP. 
Dalam kasus saya, saya diminta untuk menyimpan beberapa file .txt yang kemudian di masukkan ke dalam file .zip supaya ketika ingin di download hanya perlu dilakukan sekali saja.

Ok, beginilah catatan dasar saya tentang bagaimana cara membuat file .txt dan memasukkannya kedalam file .zip

NOTE : Untuk membuat file .zip, perlu install library zip untuk phpnya terlebih dahulu supaya php bisa menjalankan perintah zip.

Pertama-tama saya membuat project baru dengan nama "file". Kemudian didalamnya saya membuat folder baru yang bernama "files" untuk menyimpan file yang akan dibuat nantinya. Dan lanjutkan dengan membuat file "createTxt.php" seperti berikut.

Click gambar untuk memperbesar gambar

setelah di isi kode yang seperti gambar diatas, lalu coba jalankan seperti berikut.
NOTE: namafile.txt itu akan menjadi nama file yang akan dibuat, ubahlah sesuai keinginan.

Click gambar untuk memperbesar gambar
setelah di jalankan, maka akan ada file dengan nama "namafile.txt" dengan isinya berupa text seperti gambar di bawah ini. 
Click gambar untuk memperbesar gambar

ok, selanjutnya saya membuat file baru "createZip.php" dan menuliskan beberapa kode seperti berikut. 
Click gambar untuk memperbesar gambar

lalu saya jalankan seperti sebelumnya dengan memanggil file createZip.php melalui browser.

NOTE: pada tahap diatas, penulis menuliskan nama file "namafile.txt" ketika proses addFile. pada tahap ini, harus di tuliskan secara jelas, dimana letak file "namafile.txt" tersebut. Dimana dalam kasus kali ini, file tersebut berada pada foder "files" maka dari itu penulis menyusunnya menjadi "files/namafile.txt".
Click gambar untuk memperbesar gambar

 dan, tadaaa..
file zip tercipta dengan file txt yang sebelumnya berada di dalamnya. Gambar di bawah adalah buktinya.

Click gambar untuk memperbesar gambar


Ok, catatan kali ini cukup sampai disini

Silahkan tinggalkan komentar terkait catatan saya kali ini.
Terimakasih banyak.

Tuesday, November 13

November 13, 2018

Delete data from database (MySQL) PHP NATIVE

Catatan ini adalah catatan lanjutan dari catatan sebelumnya, diharapkan membaca catatan sebelumnya terlebih dahulu di sini.

Ok, dari semua proses (Create, Read, Update, Delete merupakan proses yang paling mudah). kenapa saya katakan begitu ?
Langsung coba saja, dan rasakan perbedaannya dengan proses yang sebelumnya.


1. Buat file HapusCategory.php
Click gambar untuk memperbesar gambar
2. seperti biasa, saya import terlebih dahulu file Database.php nya ke dalam file HapusCategory.php ini.
Click gambar untuk memperbesar gambar
3. karena pada proses Edit, saya sudah menyisipkan id ke dalam link hapus, maka saya akan manfaatkan id tersebut sebagai patokan.
Click gambar untuk memperbesar gambar
4. tahap selanjutnya saya membuat query untuk hapus data dari database. Lalu saya tambahkan kondisi, dimana jika proses hapus sudah berjalan, maka akan kembali ke halaman BacaCategory.php

Click gambar untuk memperbesar gambar
5. SELESAI
Iya hanya sesingkat itulah tahapan untuk menghapus data dari database.

6.
Loh, katanya udah selesai ???
Daripada di bilang No Pic hoax, mending saya kasih pic nya nih, BUKTI...
Click gambar untuk memperbesar gambar
itu adalah gambar sebelum saya klik link Hapus.
Click gambar untuk memperbesar gambar
dan itu adalah penampakan setelah saya klik link hapusnya.


Ok, serial CRUD PHP NATIVE sampai selesai sampai disini.
Terimakasih banyak karena sudah tanpa sengaja membaca catatan saya ini.

Silahkan tinggalkan komentar di kolom bawah ya...

TERIMA KASIH BANYAK....

Monday, November 12

November 12, 2018

Edit data from database (MySQL) PHP NATIVE


Melanjutkan catatan yang sebelumnya (Read data from database (MySQL)), maka catatan kali ini adalah tentang Update data. Untuk proses update ini menurut saya adalah proses yang sedikit lebih rumit dari pada proses CRUD lainnya (Create, Read, Delete).

Saya menganggap proses kali ini agak rumit karena ada beberapa proses yang perlu di lakukan sekaligus. Yaitu proses Read juga perlu di terapkan di dalam proses ini.


daripada kebanyakan baca yang tidak di inginkan, mending langsung cekibrot.
sebelum memulai file proses edit, saya ada sedikit merubah file dari project yg sebelumnya.

Click gambar untuk memperbesar gambar
seperti yang terlihat dari gambar diatas, saya merubah file BacaCategory.php seperti yang saya tandai dengan kotak. dengan dirubahnya a href maka link akan menjadi seperti berikut.
Click gambar untuk memperbesar gambar
perhatikan pada link yang muncul di bagian bawah, ada angka 4 di ujungnya. Angka 4 itu adalah id dari data IPA. Link tersebut muncul jika kita mengarahkan kursor ke arah link Edit / Hapus.

Apa tujuannya ?
Tujuannya adalah, supaya data yang diubah benar-benar data yang sudah dipilih.


Ok, lanjutkan dengan membuat file baru dengan nama EditCategory.php, dan tambahkan tag html seperti berikut.

Click gambar untuk memperbesar gambar


seperti pada project sebelumnya, mari kita import Database.php ke dalam file EditCategory.php ini.
Click gambar untuk memperbesar gambar

ok, saatnya menggunakan id yang sudah dibuat di pembukaan tadi. Disini saya membuat kondisi, dimana jika id ada di url, maka akan masuk kondisi ini.
Click gambar untuk memperbesar gambar
setelah itu, saya tambahkan kode, untuk mengambil data category_buku yang id nya adalah id yang tertulis di url (dalam contoh ini, idnya 4). Lalu tampung data dari category_buku ke dalam variable $data.
selanjutnya, saya pindahkan tag html ke dalam kondisi if tadi. supaya hanya tampil jika ada id di urlnya.
Click gambar untuk memperbesar gambar
kemudian saya tampilkan nama category yang di dapat berdasarkan id tadi, ke dalam form. (tujuannya, supaya kita tau apa sih data sebelumnya yang ingin kita rubah ini).

Click gambar untuk memperbesar gambar
jika kode diatas di jalankan, maka akan menampilkan seperti berikut.
Click gambar untuk memperbesar gambar
seperti yang terlihat, data IPA tampil di dalam form. tujuannya seperti yang saya jelaskan sebelumnya, yaitu sebagai pemberitahu kita, bahwa data IPA lah yang ingin kita rubah.

setelah itu, saya lanjutkan dengan menambahkan form input baru, yang berguna sebagai penampung id.
Click gambar untuk memperbesar gambar
tujuannya adalah, supaya nanti ketika button di klik, maka form ini akan mengirimkan data, nama category dan id dari category yang ingin dirubah.
oh iya, karena button belum saya beri nama, maka saya tambahkan nama, menjadi seperti berikut.
Click gambar untuk memperbesar gambar
sekaligus saya buatkan kondisi, yang mana akan masuk kondisi ini jika tombol update di klik.
lalu di dalam kondisi ini saya tambahkan query untuk update data.

Click gambar untuk memperbesar gambar
pada gambar diatas, saya memberi penunjuk. maksud dari penunjuk tersebut adalah sebagai penanda, bahwa data yang di masukkan di query berasal dari apa yang ada di dalam form input tersebut. seperti type_category yang ada di dalam query akan menampung nilai yang dimasukkan pada type_query yang di dalam form.

ok, saya lanjutkan dengan merubah sedikit codenya, supaya nanti ketika aplikasi di jalankan, dan ketika data sudah terupdate, maka akan kembali ke halaman BacaCategory, maka saya rubah seperti berikut.
Click gambar untuk memperbesar gambar

Ok, time for test the code.

Click gambar untuk memperbesar gambar
saya merubah data dari yang awalnya adalah IPA menjadi IPA bukan IPS, kemudian saya tekan button Update. Dan hasilnya adalah
Click gambar untuk memperbesar gambar

Yeahhhh...
Halaman berpindah ke halaman BacaCategory.php, dan data yang tadinya IPA sekarang telah berubah menjadi IPA bukan IPS.



FYI : Tahapan dalam edit memang sedikit rumit, bahkan saya saja ketika mebuat kode tersebut, mengalami beberapa kali kegagalan. Tapi tetep inget ya, apapun yang kamu pelajari, tidak akan sama sekali tidak berguna. Jadi jangan menyerah ketika menghadapi error atau hasil yang tidak sesuai.

OK, proses edit sudah selesai, Terimakasih banyak.
Jangan lupa tinggalkan kritik dan sarannya di kolom komentar ya.

Terimakasih banyak.