Sebelum masuk kedalam tutorial mari kita mengenal terlebih dahulu apa itu Lumen. Lumen merupakan Micro Framework yang dikembangkan oleh pengembang Laravel untuk mengakomodasi depelover dalam menciptakan aplikasi dalam skala kecil.

Pertama-tama kita harus mempersiapkan terlebih dahulu:
2. PHP (dalam tutorial ini menggunakan PHP version 7.*)
3. Web Server (Xampp, Laragon, atau sejenisnya)
4. Text editor (Visual Studio Code, Sublime, Notepad++)

Kemudian kita buat projectnya dengan nama "PHP-Lumen-Service-App".
Buat terlebih dahulu database dengan nama lumen_service_app pada tutorial ini menggunakan Mysql. Untuk membuatnya bisa masuk ke database tools menggunakan phpmyadmin atau langsung masuk ke console nya.

Membuat koneksi database
Untuk melakukan setting database, mari kita ikuti langkah-langkah dibawah ini:
1. Edit file bootstrap/app.php, uncomment:
    $app->withFacades();
    $app->withEloquent();

2. Buka file .env dan lakukan konfigurasi database nya dengan mengubah 
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=lumen_service_app
    DB_USERNAME=root
    DB_PASSWORD=(Sesuaikan dengan DB yang anda buat)

Database Migration
Database migration digunakan untuk melakukan DDL pada SQL database dengan menggunakan code PHP. Untuk membuat database migration, mari ikuti langkah-langkah dibawah ini:
1. membuat table posts dengan menggunakan fungsi bawaan dari laravel degan ketik php artisan make:migration create_post_table
Apabila berhasil maka akan tampil Created Migration: 2019_10_12_203951_create_post_table

2. Database/migrations/2019_10_12_030749_create_posts_table. Nama file nya akan berbeda-beda, tapi patternya sama, yakni: 
[tahun]_[bulan]_[tanggal]_[randon_number]_create_posts_table.php

3. Open filedatabase/migrations/[tahun]_[bulan]_[tanggal]_[randon_number]_create_posts_table.php
kemudian edit function up menjadi seperti ini (lihat line 19 - 22):

4. Untuk menjalankan migrasinya ketikan php artisan migrate. Jika berhasil, tabel nya akan terbuat secara otomatis

5. Untuk pertama kali melakukan migration, kita akan dibuatkan satu table dengan nama migrations. Table ini digunakan Lumen untuk mencatat file migration mana saja yang sudah dijalankan

6. Kalau berhasil, maka ditabase kita akan ada dua table, dengan nama:
    a. Migration
    b. posts


Selanjutnya buat Modelnya pada contoh ini saya akan membuat folder Models di dalam folder app untuk menampung semua model - model yang akan dibuat.

Buat file Post.php

Buat file controller app/Http/Controllers/PostsController.php, code nya seperti ini

Buka file routes/web.php, tambahkan code dibawah ini

Untuk mengechek service yang telah kita buat, menggunakan API Client Tools seperti postman
Jalankan terlebih dahulu aplikasi nya dengan ketik php -S localhost:8000 -t public

Buka postman nya lalu ikuti langkah dibawah ini