Rabu, 29 April 2026

Menggabungkan Statistik Dua Website Dalam Satu Dashboard API - Perwira Learning Center

Latar Belakang

Dalam sistem monitoring modern, sering kali kita perlu menggabungkan data dari beberapa sumber atau website ke dalam satu dashboard terpusat. Hal ini berguna untuk mempermudah analisis dan pengambilan keputusan. Dengan Laravel, kita dapat menggabungkan data dari dua database atau dua sistem berbeda ke dalam satu endpoint API berbasis JSON.

Alat yang Digunakan

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • API JSON

  • Web Server (Apache/Nginx)

Konsep Penggabungan Data

Kita akan menggabungkan statistik dari:

  • Database utama (mysql)

  • Database kedua (second_mysql)

Data yang diambil bisa berupa:

  • Total user

  • Login harian

Kemudian semua data tersebut akan dikembalikan dalam satu endpoint API.

Implementasi Endpoint API

Tambahkan atau gunakan endpoint berikut:

Route::get('/dashboard/stats', [DashboardController::class, 'stats']);

Membuat Method Controller

Berikut contoh method untuk menggabungkan data dari dua database:


Contoh Response JSON

{
  "main_website": {
    "total_user": 120,
    "login_hari_ini": 30
  },
  "second_website": {
    "total_user": 80,
    "login_hari_ini": 15
  }
}

Penjelasan Kode

  • Mengambil data dari database utama menggunakan DB::table()

  • Mengambil data dari database kedua menggunakan DB::connection('second_mysql')

  • Menggunakan whereDate() untuk filter login hari ini

  • Semua data digabung dalam satu response JSON

Kelebihan Pendekatan Ini

  • Monitoring terpusat dalam satu endpoint

  • Mendukung multi database / multi sistem

  • Mudah dikonsumsi oleh frontend (dashboard, grafik, dll)

  • Struktur data rapi dan scalable

Catatan Penting

  • Pastikan kedua database memiliki struktur tabel yang sama

  • Perhatikan performa jika jumlah data besar

  • Gunakan caching jika diperlukan

  • Pastikan koneksi database kedua stabil

Kesimpulan

Menggabungkan statistik dari dua website dalam satu endpoint API di Laravel merupakan solusi efektif untuk membangun sistem monitoring terpusat. Dengan memanfaatkan multiple database connection dan Query Builder, kita dapat menyajikan data secara real-time dalam format JSON yang mudah digunakan oleh frontend.

Daftar Pustaka

Laravel Documentation. (2025). "Database: Query Builder". Diakses dari https://laravel.com/docs/queries
Laravel Documentation. (2025). "Database: Multiple Connections". Diakses dari https://laravel.com/docs/database
W3Schools. (2025). "JSON Server Response". Diakses dari https://www.w3schools.com/js/js_json_server.asp

Menghubungkan Laravel Dengan Database Kedua - Perwira Learning center

 


Latar Belakang

Dalam pengembangan aplikasi monitoring, terkadang data tidak hanya berasal dari satu database. Misalnya, kita ingin mengambil data dari sistem lain atau memisahkan database utama dengan database log/monitoring. Laravel menyediakan fitur multiple database connection yang memungkinkan kita terhubung ke lebih dari satu database dalam satu aplikasi.

Alat dan Teknologi

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • Composer

  • Web Server (Apache/Nginx)

Konsep Multiple Database

Laravel memungkinkan kita mendefinisikan beberapa koneksi database dalam file konfigurasi. Setiap koneksi dapat digunakan sesuai kebutuhan, misalnya:

  • Database utama (mysql)

  • Database kedua (second_mysql)

Menambahkan Konfigurasi Database Kedua

Tambahkan konfigurasi database kedua pada file .env:

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

SECOND_DB_HOST=127.0.0.1
SECOND_DB_PORT=3306
SECOND_DB_DATABASE=second_database
SECOND_DB_USERNAME=root
SECOND_DB_PASSWORD=

Kemudian buka file config/database.php dan tambahkan koneksi baru:

'connections' => [

    'mysql' => [
        'driver' => 'mysql',
        // konfigurasi default
    ],

    'second_mysql' => [
        'driver' => 'mysql',
        'host' => env('SECOND_DB_HOST', '127.0.0.1'),
        'port' => env('SECOND_DB_PORT', '3306'),
        'database' => env('SECOND_DB_DATABASE', 'forge'),
        'username' => env('SECOND_DB_USERNAME', 'forge'),
        'password' => env('SECOND_DB_PASSWORD', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
    ],

],

Menggunakan Koneksi Database Kedua

Setelah konfigurasi selesai, kita bisa menggunakan koneksi tersebut dengan Query Builder:

use Illuminate\Support\Facades\DB;

$data = DB::connection('second_mysql')
    ->table('users')
    ->get();

return $data;

Contoh Penggunaan

Misalnya kita ingin mengambil total user dari database kedua:

$totalUser = DB::connection('second_mysql')
    ->table('users')
    ->count();

Penjelasan Kode

  • DB::connection('second_mysql') digunakan untuk memilih koneksi database kedua

  • Query selanjutnya akan dijalankan pada database tersebut

  • Bisa digunakan untuk semua operasi (select, insert, update, delete)

Kelebihan Pendekatan Ini

  • Mendukung integrasi dengan sistem lain

  • Memisahkan data sesuai kebutuhan (misalnya log dan utama)

  • Fleksibel dalam pengolahan data multi-source

  • Tetap menggunakan Query Builder yang sama

Catatan Penting

  • Pastikan konfigurasi .env sudah benar (host, database, username, password)

  • Gunakan nama koneksi yang konsisten (second_mysql)

  • Perhatikan performa jika sering berpindah koneksi database

  • Jalankan php artisan config:cache setelah mengubah konfigurasi

Pengembangan Lanjutan

Fitur ini bisa dikembangkan dengan:

  • Mengambil data lintas database untuk dashboard monitoring

  • Sinkronisasi data antar database

  • Menggunakan Eloquent Model dengan koneksi berbeda

  • Integrasi dengan API eksternal

Kesimpulan

Menghubungkan Laravel dengan database kedua sangat mudah dengan fitur multiple connection. Dengan menggunakan DB::connection('second_mysql'), kita dapat mengakses database lain secara fleksibel dan efisien, terutama dalam sistem monitoring yang membutuhkan data dari berbagai sumber.

Daftar Pustaka

Laravel Documentation. (2025). "Database: Configuration". Diakses dari https://laravel.com/docs/database
Laravel Documentation. (2025). "Query Builder". Diakses dari https://laravel.com/docs/queries
W3Schools. (2025). "MySQL Connections". Diakses dari https://www.w3schools.com/php/php_mysql_connect.asp


Menambahkan Fitur Logout Menggunakan Session Laravel - Perwira Learning Center

 


Latar Belakang

Dalam sistem monitoring berbasis web, fitur autentikasi tidak hanya berhenti pada login, tetapi juga membutuhkan mekanisme logout. Logout berfungsi untuk mengakhiri sesi pengguna sehingga akses ke sistem menjadi lebih aman. Laravel menyediakan pengelolaan session yang memudahkan kita dalam menyimpan dan menghapus status login user.

Alat yang Digunakan

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • Blade Template Engine

  • Web Server (Apache/Nginx)

Konsep Session Login

Session adalah cara untuk menyimpan data sementara di server selama pengguna masih aktif menggunakan aplikasi. Pada sistem login sederhana, kita bisa menyimpan informasi seperti user_id atau status login ke dalam session.

Contoh saat login berhasil:

session([
    'user_id' => $user->id,
    'is_login' => true
]);

Dengan session ini, kita bisa mengecek apakah user sudah login atau belum di halaman tertentu.

Implementasi Logout

Logout dilakukan dengan cara menghapus session yang telah disimpan sebelumnya.

Membuat Route Logout

Tambahkan route berikut pada routes/web.php:


Menambahkan Method Logout

Tambahkan method berikut pada AuthController:


Contoh Penggunaan di View

Tambahkan tombol logout pada halaman dashboard:

<a href="/logout">Logout</a>

Penjelasan Kode

  • session([...]) digunakan untuk menyimpan data login

  • session()->flush() digunakan untuk menghapus seluruh data session

  • Setelah logout, user diarahkan kembali ke halaman login

Alur Sistem

  1. User login → session disimpan

  2. User mengakses halaman dashboard

  3. User klik tombol logout

  4. Session dihapus

  5. User kembali ke halaman login

Kelebihan Pendekatan Ini

  • Mudah diimplementasikan

  • Tidak membutuhkan konfigurasi kompleks

  • Cocok untuk sistem sederhana atau simulasi

  • Terintegrasi dengan fitur login sebelumnya

Catatan Penting

  • Untuk keamanan lebih baik, gunakan method POST untuk logout

  • Bisa juga menggunakan session()->forget('user_id') jika ingin menghapus sebagian session saja

  • Pertimbangkan menggunakan sistem bawaan Laravel (Auth) untuk aplikasi production

Kesimpulan

Fitur logout menggunakan session di Laravel sangat penting untuk menjaga keamanan aplikasi. Dengan menghapus session saat logout, sistem dapat memastikan bahwa user tidak lagi memiliki akses ke halaman yang dilindungi.

Daftar Pustaka

Laravel Documentation. (2025). "Session". Diakses dari https://laravel.com/docs/session
Laravel Documentation. (2025). "Routing". Diakses dari https://laravel.com/docs/routing
W3Schools. (2025). "PHP Sessions". Diakses dari https://www.w3schools.com/php/php_sessions.asp

Selasa, 28 April 2026

Membuat Sistem Login dan Update Last Login - Perwira Learning Center


 

Latar Belakang

Dalam sistem monitoring, tidak hanya data user yang penting, tetapi juga aktivitas login mereka. Salah satu data yang sering digunakan adalah waktu terakhir user melakukan login (lastlogin). Dengan mencatat informasi ini, kita bisa membuat statistik login harian maupun analisis aktivitas pengguna. Oleh karena itu, diperlukan sistem login sederhana yang sekaligus memperbarui data lastlogin.

Alat yang digunakan

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • Blade Template Engine

  • Web Server (Apache/Nginx)

Konsep Sistem Login

Sistem login berfungsi untuk memverifikasi apakah email dan password yang dimasukkan user sesuai dengan data di database. Laravel menyediakan fungsi Hash::check() untuk mencocokkan password yang diinput dengan password yang sudah di-hash di database.

Setelah login berhasil, sistem akan memperbarui kolom lastlogin dengan waktu saat ini.

Membuat Route

Tambahkan route berikut pada routes/web.php:


Membuat Method Login di Controller

Tambahkan method berikut pada AuthController:


Membuat View Login

Buat file resources/views/login.blade.php:


Penjelasan Kode

  • Hash::check($request->password, $user->password) digunakan untuk memverifikasi password

  • Jika login berhasil, sistem menjalankan update() untuk mengisi lastlogin dengan waktu sekarang

  • Jika gagal, user akan dikembalikan ke halaman login dengan pesan error

Alur Sistem

  1. User membuka halaman /login

  2. Mengisi email dan password

  3. Sistem mengecek data ke database

  4. Jika valid → login berhasil dan lastlogin diperbarui

  5. Jika tidak valid → tampil pesan error

Kelebihan Pendekatan Ini

  • Sederhana dan mudah dipahami

  • Menggunakan hashing untuk keamanan password

  • Data login langsung terintegrasi dengan sistem monitoring

  • Mendukung pembuatan statistik login harian

Catatan Penting

  • Tambahkan validasi input untuk keamanan

  • Gunakan session atau authentication Laravel (Auth) untuk sistem login yang lebih aman

  • Pastikan kolom lastlogin tersedia di tabel users dengan tipe data datetime dan null

Kesimpulan

Dengan menggunakan Hash::check() dan fitur update pada Query Builder, kita dapat membuat sistem login sederhana sekaligus memperbarui data lastlogin. Fitur ini sangat penting dalam sistem monitoring untuk melacak aktivitas terakhir pengguna secara akurat.

Daftar Pustaka

Laravel Documentation. (2025). "Hashing". Diakses dari https://laravel.com/docs/hashing
Laravel Documentation. (2025). "Database: Query Builder". Diakses dari https://laravel.com/docs/database
W3Schools. (2025). "PHP Password Hashing". Diakses dari https://www.w3schools.com/php/php_password_hash.asp

Membuat Form Register Sederhana untuk Simulasi User - Perwira learning center

Latar Belakang

Dalam pengembangan sistem monitoring, kita membutuhkan data user sebagai bahan pengujian (simulasi). Salah satu cara termudah untuk menghasilkan data tersebut adalah dengan membuat fitur register sederhana. Dengan adanya form register, kita bisa menambahkan user baru ke database sekaligus menguji fitur statistik yang telah dibuat sebelumnya.

Alat dan Teknologi

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • Blade Template Engine

  • Web Server (Apache/Nginx)

Konsep Form Register

Form register adalah tampilan (frontend) yang digunakan untuk menginput data user seperti nama, email, dan password. Data ini kemudian dikirim ke server dan disimpan ke dalam database.

Membuat Route

Tambahkan route berikut pada file routes/web.php:


Membuat Controller

Buat controller jika belum ada:

php artisan make:controller AuthController

Kemudian tambahkan method berikut:


Membuat View (Form Register)

Buat file resources/views/register.blade.php:


Penjelasan Alur
  1. User membuka halaman /register

  2. Form ditampilkan ke pengguna

  3. User mengisi data dan submit

  4. Data dikirim ke method register()

  5. Data disimpan ke tabel users

  6. Sistem menampilkan pesan sukses

Kelebihan Pendekatan Ini

  • Sederhana dan mudah dipahami

  • Cocok untuk simulasi data user

  • Terintegrasi langsung dengan database

  • Mendukung pengujian fitur monitoring

Catatan Penting

  • Gunakan validasi untuk keamanan (misalnya email unik, password minimal)

  • Password harus selalu di-hash menggunakan Hash::make()

  • Hindari penggunaan ini untuk production tanpa pengamanan tambahan

Kesimpulan

Membuat form register sederhana di Laravel sangat berguna untuk simulasi data user dalam sistem monitoring. Dengan fitur ini, kita dapat dengan mudah menambahkan data baru dan menguji statistik seperti total user maupun login harian.

Daftar Pustaka

Laravel Documentation. (2025). "Database: Query Builder". Diakses dari https://laravel.com/docs/database
Laravel Documentation. (2025). "Hashing". Diakses dari https://laravel.com/docs/hashing
W3Schools. (2025). "HTML Forms". Diakses dari https://www.w3schools.com/html/html_forms.asp


Kamis, 23 April 2026

Membangun Endpoint API JSON untuk Monitoring Sementara - Perwira Learning Center


 

Latar Belakang

Dalam pengembangan sistem monitoring, kebutuhan untuk menampilkan data secara dinamis dan real-time sangat penting. Salah satu pendekatan yang umum digunakan adalah dengan menyediakan endpoint API berbasis JSON. Endpoint ini nantinya dapat diakses oleh frontend (seperti dashboard) untuk menampilkan statistik tanpa harus memuat ulang halaman secara keseluruhan.

Alat dan Teknologi

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • Composer

  • Postman (untuk testing API)

Konsep Endpoint API Monitoring

Endpoint API adalah URL yang disediakan oleh backend untuk memberikan data dalam format tertentu, biasanya JSON. Dalam konteks ini, kita akan membuat endpoint /api/dashboard/stats yang berfungsi untuk menampilkan data statistik sederhana, seperti total user dan login harian.

Membuat Route API

Tambahkan kode berikut pada file routes/api.php:


Endpoint ini nantinya dapat diakses melalui:

http://localhost:8000/api/dashboard/stats

Membuat Controller

Buat controller jika belum ada:

php artisan make:controller DashboardController

Kemudian tambahkan method stats:


Contoh Response JSON

Jika endpoint diakses, maka akan menghasilkan response seperti berikut:

{
  "total_user": 100,
  "login_hari_ini": 25
}

Pengujian Endpoint

Untuk menguji endpoint API, kamu bisa menggunakan:

  • Browser (akses langsung URL)

  • Postman

  • Curl

Pastikan server Laravel berjalan:

php artisan serve

Kelebihan Endpoint API Ini

  • Data dapat diakses secara real-time

  • Mudah diintegrasikan dengan frontend (Vue, React, dll)

  • Struktur data rapi dalam format JSON

  • Cocok untuk sistem monitoring sementara maupun pengembangan awal

Kesimpulan

Membangun endpoint API JSON seperti /api/dashboard/stats di Laravel merupakan langkah penting dalam membuat sistem monitoring yang fleksibel dan modern. Dengan data yang tersaji dalam format JSON, frontend dapat dengan mudah mengolah dan menampilkan informasi secara dinamis.

Daftar Pustaka

Laravel Documentation. (2025). "Routing". Diakses dari https://laravel.com/docs/routing
Laravel Documentation. (2025). "Responses". Diakses dari https://laravel.com/docs/responses
Postman. (2025). "API Testing Guide". Diakses dari https://www.postman.com/api-platform/api-testing/
W3Schools. (2025). "JSON Introduction". Diakses dari https://www.w3schools.com/js/js_json_intro.asp

Membuat Fitur Percobaan Statistik Login Harian - Perwira Learning Center


 

Latar Belakang

Dalam sistem monitoring aplikasi, informasi mengenai aktivitas pengguna menjadi sangat penting, salah satunya adalah jumlah user yang login setiap hari. Data ini dapat digunakan untuk menganalisis tingkat penggunaan aplikasi, mendeteksi aktivitas abnormal, hingga sebagai dasar pengambilan keputusan. Laravel menyediakan kemudahan untuk melakukan hal ini melalui Query Builder.

Alat dan Teknologi

Beberapa alat yang digunakan:

  • PHP

  • Laravel Framework

  • MySQL / MariaDB

  • Composer

  • Web Server (Apache/Nginx)

Konsep Statistik Login Harian

Statistik login harian adalah proses menghitung jumlah user yang melakukan login pada tanggal tertentu (biasanya hari ini). Data ini biasanya disimpan dalam kolom seperti lastlogin pada tabel users.

Implementasi Query Builder

Untuk mengambil jumlah user yang login hari ini, kita bisa menggunakan method whereDate() yang disediakan oleh Laravel.

Contoh kode:


Penjelasan Kode

  • DB::table('users') mengakses tabel users

  • whereDate('lastlogin', now()) memfilter data berdasarkan tanggal hari ini

  • now() mengambil waktu saat ini (tanggal hari ini)

  • count() menghitung jumlah user yang login hari ini

Contoh Penggunaan dalam Controller


Data tersebut bisa ditampilkan di dashboard sebagai statistik harian.

Kelebihan Pendekatan Ini

  • Query ringan dan cepat

  • Tidak perlu mengambil seluruh data user

  • Mudah dikombinasikan dengan filter lain

  • Cocok untuk sistem monitoring real-time

Catatan Penting

  • Pastikan kolom lastlogin bertipe DATETIME atau TIMESTAMP

  • Perhatikan timezone aplikasi (config/app.php) agar hasil sesuai waktu lokal

  • Gunakan indexing pada kolom lastlogin untuk performa lebih baik

Kesimpulan

Dengan memanfaatkan method whereDate() dan count() pada Query Builder Laravel, kita dapat dengan mudah membuat fitur statistik login harian. Fitur ini sangat penting dalam sistem monitoring untuk melihat aktivitas pengguna secara real-time.

Daftar Pustaka

Laravel Documentation. (2025). "Database: Query Builder". Diakses dari https://laravel.com/docs/database
Laravel Documentation. (2025). "Helpers: Dates". Diakses dari https://laravel.com/docs/helpers
W3Schools. (2025). "SQL WHERE Clause". Diakses dari https://www.w3schools.com/sql/sql_where.asp