REST API Sederhana Menggunakan Laravel – Perwira Learning Center

 

 

 REST API Sederhana Menggunakan Laravel

 

1. Latar Belakang

    Perkembangan teknologi informasi yang semakin pesat mendorong kebutuhan akan sistem yang mampu saling terintegrasi dan bertukar data secara cepat serta efisien. Dalam pengembangan aplikasi modern, tidak jarang sebuah sistem harus terhubung dengan aplikasi lain, seperti aplikasi mobile, website frontend, maupun layanan pihak ketiga. Oleh karena itu, dibutuhkan suatu mekanisme komunikasi yang terstandarisasi, ringan, dan mudah digunakan, salah satunya melalui REST API. REST API memungkinkan pertukaran data menggunakan protokol HTTP dengan format yang umum seperti JSON sehingga dapat diakses oleh berbagai platform tanpa bergantung pada satu jenis teknologi tertentu.

    Di sisi lain, proses pembangunan API memerlukan framework yang mampu menyediakan struktur yang jelas serta fitur yang lengkap agar pengembangan menjadi lebih cepat dan terorganisir. Laravel hadir sebagai salah satu framework PHP yang banyak digunakan karena kemudahan sintaks, dokumentasi yang lengkap, serta dukungan fitur seperti routing, migration, dan ORM. Dengan memanfaatkan Laravel, pembuatan REST API sederhana dapat dilakukan secara sistematis melalui pengelolaan model, controller, dan routing yang terintegrasi. Oleh karena itu, pembahasan mengenai pembuatan REST API sederhana menggunakan Laravel menjadi penting untuk dipahami sebagai dasar dalam pengembangan aplikasi berbasis layanan web.

 

 Apa itu laravel? - Angon Data Aji Saka

 

2. Alat dan Bahan

 a. Perangkat Lunak

    - Web browser (contoh: Google Chrome atau Mozilla Firefox) 

    - Code editor / text editor (contoh: Visual Studio Code)

    - Terminal / Command Prompt

    - Web server    

    - Composer 

    - PHP minimal versi 8.x 

b. Perangkat Keras

     - Laptop / Komputer.   

3. Pembahasan

3.1 Apa itu Laravel dan Rest API? 

    Laravel adalah framework aplikasi web berbasis PHP yang menggunakan arsitektur Model View Controller atau MVC untuk memisahkan logika program, pengelolaan data, dan tampilan. Framework ini dikembangkan oleh Taylor Otwell dan dirancang untuk mempermudah proses pengembangan aplikasi dengan sintaks yang jelas, struktur proyek yang terorganisir, serta fitur bawaan seperti routing, middleware, validasi, sistem autentikasi, dan Eloquent ORM untuk pengelolaan database. Dengan Laravel, pengembang tidak perlu membangun sistem dari nol karena sebagian besar kebutuhan dasar aplikasi web sudah tersedia dan terintegrasi dengan baik, sehingga pengembangan menjadi lebih cepat, aman, dan terstruktur.

    REST API adalah konsep arsitektur layanan web yang memungkinkan dua sistem berbeda berkomunikasi melalui protokol HTTP dengan pertukaran data umumnya dalam format JSON. REST (Representational State Transfer) bersifat stateless, artinya setiap permintaan dari klien ke server berdiri sendiri tanpa menyimpan kondisi sebelumnya. REST API menggunakan metode HTTP seperti GET untuk mengambil data, POST untuk menambahkan data, PUT atau PATCH untuk memperbarui data, serta DELETE untuk menghapus data. Laravel sangat cocok digunakan untuk membangun REST API karena menyediakan fitur routing berbasis resource dan kemudahan dalam menghasilkan respons JSON, sehingga aplikasi dapat diintegrasikan dengan berbagai platform seperti aplikasi mobile, frontend berbasis JavaScript, maupun sistem lain secara efisien dan terstandarisasi.

3.2 Langkah - Langkah Membuat Rest API sederhana pada Laravel 

Berikut ini langkah - langkah membuat REST API sederhana menggunakan Laravel:

1. Membuat projek laravel 

composer create-project laravel/laravel api-siswa

    Masuk ke folder projek: 

cd api-siswa

    Jalankan server: 

php artisan serve 

    Akses di browser: 

http://127.0.0.1:8000/

Kalau ini tidak jalan, berarti ada yang salah di instalasi PHP atau Composer. Dan itu bukan salah Laravel. 

2. Mengatur database 

    Buat database baru di phpMyAdmin: db_api_siswa 

    Kita atur file .env, ubah nama db_connection dan db_database nya.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_api_siswa
DB_USERNAME=root
DB_PASSWORD= 

3. Membuat model dan migration 

    Kita bisa membuat model dan migration secara bersamaan menggunakan perintah berikut:

php artisan make:model Siswa -m

    Edit file migration di folder database/migrations:

public function up()
    {
        Schema::create('siswa', function (Blueprint $table) {
            $table->id();
            $table->string('nama');
            $table->string('kelas');
            $table->timestamps();
        });
    }
    Jalankan migration: 

php artisan migrate 

    Sekarang tabel siswa sudah ada di database. 

4. Edit model siswa

    File: app/Models/Siswa.php 

class Siswa extends Model
{
    protected $table = 'siswa';
    protected $fillable = ['nama', 'kelas'];

5. Membuat API controller

    Kita bisa membuat API controller menggunakan perintah:      

php artisan make:controller Api/SiswaController --api

    File: app/Http/Controllers/Api/SiswaController.php

    Isi lengkap controller: 

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Models\Siswa;
use Illuminate\Http\Request;

class SiswaController extends Controller
{
    // GET /api/siswa
    public function index()
    {
        return response()->json(Siswa::all());
    }

    // POST /api/siswa
    public function store(Request $request)
    {
        $request->validate([
            'nama' => 'required',
            'kelas' => 'required'
        ]);

        $siswa = Siswa::create($request->all());

        return response()->json($siswa, 201);
    }

    // GET /api/siswa/{id}
    public function show($id)
    {
        $siswa = Siswa::find($id);

        if (!$siswa) {
            return response()->json(['message' => 'Data tidak ditemukan'], 404);
        }

        return response()->json($siswa);
    }

    // PUT /api/siswa/{id}
    public function update(Request $request, $id)
    {
        $siswa = Siswa::find($id);

        if (!$siswa) {
            return response()->json(['message' => 'Data tidak ditemukan'], 404);
        }

        $siswa->update($request->all());

        return response()->json($siswa);
    }

    // DELETE /api/siswa/{id}
    public function destroy($id)
    {
        $siswa = Siswa::find($id);

        if (!$siswa) {
            return response()->json(['message' => 'Data tidak ditemukan'], 404);
        }

        $siswa->delete();

        return response()->json(['message' => 'Data berhasil dihapus']);
    }
}

 

6. Membuat routing API

    File: routes/api.php 

    Untuk memunculkan file tersebut kita gunakan perintah ini dahulu: 

php artisan install:api

    Lalu isi file routes/api.php, dengan kode berikut: 

<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\SiswaController;

Route::get('/user', function (Request $request) {
    return $request->user();
})->middleware('auth:sanctum');

Route::apiResource('siswa', SiswaController::class);

    Laravel otomatis membuat endpoint:

    - GET /api/siswa

    - POST /api/siswa

    - GET /api/siswa/{id}

    - PUT /api/siswa/{id}

    - DELETE /api/siswa/{id}

    Laravel mengurus semuanya. Kamu tinggal pakai.

    Setelah membuat route kita harus cek apakah sudah ada apa belum. 

    Kita bisa cek menggunakan perintah: 

php artisan route:list 

 

7. Testing API di Postman

    Untuk melakukan testing API kita bisa menggunakan aplikasi Postman dan pastikan server terus berjalan     

    a. Mengambil semua data (index)

        Method: GET

        URL:

    http://127.0.0.1:8000/api/siswa 

        Hasil: 

    b. Mengambil data berdasarkan id (show)

        Method: GET

        URL:

    http://127.0.0.1:8000/api/siswa/id

        Hasil: 

 

    c. Menambah data (store)

        Method: POST

        URL:

    http://127.0.0.1:8000/api/siswa

        Body → raw → JSON:

{
  "nama": "Nadya",
  "kelas": "12 rpl"
}

        Hasil: 

 

 

    d. Mengupdate data 

        Method: PUT

        URL:

    http://127.0.0.1:8000/api/siswa/id

        Body → raw → JSON:

{
  "nama": "Nadya Kameela",
  "kelas": "12 rpl"
}

        Hasil: 

 

    e. Menghapus data (destroy)

        Method: DELETE

        URL:

    http://127.0.0.1:8000/api/siswa/id

        Hasil: 

3.3 Kesimpulan  

    Berdasarkan pembahasan yang telah dijelaskan, dapat disimpulkan bahwa Laravel merupakan framework berbasis PHP yang mempermudah proses pengembangan aplikasi web dengan struktur yang terorganisir serta fitur bawaan yang lengkap. Dengan menerapkan konsep MVC, Laravel membantu pengembang dalam memisahkan logika program, pengelolaan data, dan pengaturan alur aplikasi sehingga kode menjadi lebih rapi, mudah dipahami, dan mudah dikembangkan kembali. Selain itu, Laravel menyediakan berbagai fasilitas seperti routing, migration, Eloquent ORM, dan validasi yang sangat mendukung pembuatan layanan berbasis API.
 
    REST API sendiri merupakan arsitektur layanan web yang memungkinkan pertukaran data antar sistem menggunakan protokol HTTP dan format JSON. Melalui implementasi REST API sederhana menggunakan Laravel, proses pembuatan endpoint untuk operasi CRUD dapat dilakukan dengan lebih cepat dan sistematis menggunakan fitur seperti apiResource. Dengan demikian, Laravel terbukti efektif digunakan untuk membangun REST API yang terstruktur, efisien, dan siap diintegrasikan dengan berbagai platform seperti aplikasi web maupun aplikasi mobile.

4. Daftar Pustaka  

Biznet Gio. (n.d.). Apa itu Laravel? https://www.biznetgio.com/blog/apa-itu-laravel/

Hostinger. (n.d.). Apa itu Laravel? Panduan lengkap untuk pemula. https://www.hostinger.com/id/tutorial/apa-itu-laravel

Jakarta Telkom University. (n.d.). Laravel: definisi, cara kerja, keunggulan dan kekurangan. https://jakarta.telkomuniversity.ac.id/laravel-definisi-cara-kerja-keunggulan-dan-kekurangan/

Rumahweb Indonesia. (n.d.). Laravel adalah: pengertian, fungsi dan kelebihannya. https://www.rumahweb.com/journal/laravel-adalah/

 




Posting Komentar

0 Komentar