Sabtu, 28 Juni 2025

Aplikasi Android Mikrotik Hotspot User Manajemen (AnTikMan)

Hallo teman-teman, 

Baru-baru ini saya membuat sebuah projek aplikasi untuk mengisi waktu luang. Idenya adalah membuat Aplikasi Android menggunakan bahasa pemrograman Free Pascal dan Lazarus IDE yang dapat berkomunikasi dengan perangkat Mikrotik (RouterOS) melalui Application Programming Interface (API). Setidaknya aplikasi harus memiliki kemampuan untuk manajemen data user hotspot dari perangkat android meliputi menambah, menampilkan, mengubah, menghapus, generate dan mencetak user hotspot menjadi file PDF dan HTML. 

Dan setelah berhari-hari mengotak-atik Lazarus Android Module Wizard (LAMW), akhirnya aplikasinya selesai dan saya beri nama Android Mikrotik Hotspot User Manajemen alias AnTikMan. Projek ini menggunakan unit Delphi RouterOS API untuk berkomunikasi dengan Mikrotik sehingga berketergantungan (dependent) dengan Synapse. Sedikit informasi terkait tools pendukung yang saya gunakan adalah sebagai berikut:

- Windows 11 64
- Lazarus 3.6 + Free Pascal (FPC) 3.2.2 + Lazarus Android Module Wizard (LAMW) 0.8.6.4 (dipasang menggunakan tools fpcupdeluxe)
- Apache-ant-1.10.14 (optional)
- Gradle 8.5.0
- Java 21 (Zulu), set JAVA_HOME pada saat instalasi
- Android NDK r22b (versi yang lebih tinggi perlu melakukan build toolchains secara mandiri)
- Android SDK (diperoleh melalui android studio/install platform, platform tools dan build tools yang diperlukan setidaknya versi >=33 yang disyaratkan oleh Google Play Service)

Tampilan

Terlepas dari kekurangannya, salah satu hal yang membuat saya suka mengembangkan aplikasi Android menggunakan Lazarus IDE adalah pada saat melakukan layout tampilan. Rasanya cukup mudah karena hanya mengubah Property pada Object Inspector tanpa harus mengutak-atik file XML. Dan untuk tampilan aplikasinya menggunakan Theme AppCompat, jadi tidak ketinggalan zaman. Beberapa gambar di bawah ini adalah contoh tampilannya. 

Aplikasi Android Mikrotik Hotspot User Manajemen (AnTikMan)Aplikasi Android Mikrotik Hotspot User Manajemen (AnTikMan)Aplikasi Android Mikrotik Hotspot User Manajemen (AnTikMan)

Aplikasi Android Mikrotik Hotspot User Manajemen (AnTikMan)Aplikasi Android Mikrotik Hotspot User Manajemen (AnTikMan)Aplikasi Android Mikrotik Hotspot User Manajemen (AnTikMan)

Selengkapnya silahkan cek di github Source Code | Download .apk. Selamat berkreasi :)

Minggu, 22 Juni 2025

Aplikasi Web Service Android Menggunakan PHP dan Database MariaDB

Satu hal yang paling menyenangkan dari Bahasa Pemrograman Pascal Modern (Free Pascal) adalah kemampuannya untuk membuat berbagai macam aplikasi lintas platform. Saat ini, Free Pascal sudah dapat membuat aplikasi Windows, Linux, MacOS bahkan Android dan IOS sehingga tidak perlu repot mempelajari bahasa pemrograman lain untuk kebutuhan pengembangan aplikasi di platform-platform tersebut. Mempelajari Bahasa Pemrograman Baru tentu memerlukan effort yang tidak sederhana terutama dari sisi efisiensi waktu. 

Pada contoh ini saya akan sharing cara pembuatan aplikasi Web Service menggunakan Free Pascal - PHP - MariaDB. Terlebih dahulu silahkan pasang tools yang diperlukan, jika anda baru pertama kali menggunakan Lazarus dan LAMW, saya sangat menyarankan anda memasangnya menggunakan fpcupdeluxe. Pasang versi stable yang disarankan oleh aplikasi tersebut. Prosesnya memang memakan waktu cuku lama, anda hanya perlu menunggu hingga prosesnya selesai. Jika anda ingin mempelajari langkah-langkah instalasi secara mandiri, silahkan baca postingan saya di sini

Pertama-tama, untuk menyamakan persepsi, pada contoh ini saya menggunakan versi alat pendukung (tools) untuk kebutuhan pembuatan aplikasi sebagai berikut:

- Windows 11 64
- Lazarus 3.6 + FPC 3.2.2 + LAMW 0.8.6.4 (seluruh perkakas dipasang menggunakan tools fpcupdeluxe)
- Apache-ant-1.10.14
- Gradle 8.5.0
- XAMPP (PHP 8.2.4 and MariaDB 10.4.28)
- Java 21 (Zulu), set JAVA_HOME pada saat instalasi
- Android NDK r22b (untuk versi yang lebih tinggi perlu melakukan build toolchains secara mandiri)
- Android SDK (diperoleh melalui android studio/install platform, platform tools dan build tools yang diperlukan setidaknya versi >=33 yang disyaratkan oleh Google Play Service)
- Xiaomi Redmi Note 9 / Android 12 (mode USB debug)
- Samsung / Android 15 

Setelah pemasangan selesai, pada Lazarus IDE jangan lupa atur, Tools - [LAMW] Android Module Wizard - Path Settings [Jdk, Sdk, Ndk...]. Sampai pada tahap ini, saya anggap tidak ada permasalahan dalam proses pemasangan alat pendukung. Buktikan dengan ujicoba Build salah satu projek android milik LAMW yang ada di folder Demo (C:\fpcupdeluxe\ccr\lamw\demos). Pada temuan saya, terkadang terjadi error pada proses build aplikasi android karena versi Gradle yang berbeda, silahkan edit file build.gradle yang ada di dalam folder projek kemudian sesuaikan dengan versi gradle yang digunakan classpath 'com.android.tools.build:gradle:8.5.0'

Penting! Pada saat membuat projek baru, pilih File - New - LAMW [GUI] Android App. Perhatikan pada Target API pilih setidaknya >=33 yang didukung oleh Google Play Store. Pilih Architecture ARMv71+VFPv3 (32 Bit) atau Aarch64 (64 Bit). Jika menemukan error pada saat memindahkan komponen "Error moving component jButton1:jButton", anda hanya perlu melakukan build ulang Lazarus IDE dengan cara Tools - Build Lazarus with Profile: Normal IDE atau pada kasus saya, Project - Project Options - [LAMW] Android Project Options - Min SDK version 23 dan Target SDK version 33.  

Setelah semua konfigurasi selesai, berikutnya adalah melakukan proses menulis script yang akan bertugas memproses data baik itu mengambil atau mengirim data ke server PHP kemudian menyimpannya ke Database MariaDB. Seluruh data akan menggunakan format JSON agar lebih mudah diproses oleh Pascal dan PHP. Sekedar informasi, seluruh file Pascal berada di folder jni (java native interface). 

Pada dasarnya, jika anda sudah memahami bagaimana membuat aplikasi web service menggunakan bahasa pemrograman Free Pascal pada versi Desktop (cek postingan saya di sini), maka hal itu dapat diterapkan juga pada aplikasi Android jika anda menggunakan Lazarus Android Module Wizard (LAMW). Hanya perlu melakukan sedikit penyesuaian pada komponen sisi tampilan perangkat yang digunakan. Selebihnya tidak akan jauh berbeda karena unit yang digunakan masih sama seperti fpjson dan jsonparser. Selain itu, component LAMW juga tergolong lengkap banget jadi tinggal pakai aja. 

Secara umum Aplikasi memiliki kemampuan untuk Mengambil data JSON dari PHP dan menampilkannya ke dalam ListView Android, Mengirimkan Data JSON dari Android Menggunakan Free Pascal untuk selanjutnya diproses oleh PHP (Insert, Update dan Delete) ke dalam Database MariaDB. Selain itu, terdapat Fitur Upload dan Download File. Sudah di ujicoba pada smartphone Andorid 12 (Xiaomi) dan Android 15 (Samsung) dan berjalan dengan normal.  

Perlu diperhatikan dari sisi pengaturan dan tata letak komponen agar tampilannya tidak berantakan pada saat dijalankan di Smartphone Android. Sebagai tambahan informasi, silahkan cek dan pahami Properties masing-masing komponen terutama pada Anchor, LayoutParamHeight, LayoutParamWidth, PosRelativeToAnchor dan PosRelativeToParent. Berikut adalah contoh tampilannya. Namun jika anda tertarik untuk mencicipi, source code projek tersedia di github pada link ini | Contoh Demo.apk

Aplikasi Web Service Android Menggunakan PHP dan Database MariaDBAplikasi Web Service Android Menggunakan PHP dan Database MariaDBAplikasi Web Service Android Menggunakan PHP dan Database MariaDB

Note : Nonaktifkan firewall agar koneksi dari Android tidak diblok oleh Windows

Rabu, 18 Juni 2025

Aplikasi Database Client Server dengan Free Pascal dan Lazarus

Hallo guys,

Di era yang semakin canggih ini, kebutuhan untuk menghubungkan aplikasi melalui jaringan komputer semakin tidak dapat dinafikan. Bahkan tidak berlebihan jika dikatakan kemampuan aplikasi untuk dapat terhubung satu-sama lain menjadi sebuah keharusan. Tidak hanya aplikasi komputer, aplikasi berbasis smartphone juga rata-rata sudah dapat terhung dengan server yang umumnya menggunakan antarmuka Application Programming Interface atau yang juga dikenal dengan istilah API. 

Aplikasi Database Client Server dengan Free Pascal dan Lazarus

Pada implementasinya, pendekatan yang banyak digunakan untuk melakukan pertukaran data pada aplikasi database berbasis client server adalah melalui HTTP Request. Para pengembang aplikasi biasanya membuat aplikasi kecil yang sering disebut dengan istilah mikro service atau umumnya disebut API, selanjutnya aplikasi client akan meminta dan mengirimkan informasi (melalukan pertukaran data) melalui service atau API tersebut.

Aplikasi Database Client Server dengan Free Pascal dan Lazarus

Pada postingan ini saya akan share source code aplikasi database client server menggunakan bahasa pemrograman pascal. Aplikasi ini dapat melakukan pertukaran data melalui protokol HTTP, baik proses pengambilan atau pengiriman data. Seluruh data yang dikirim dan diterima dibungkus ke dalam format JSON agar lebih mudah untuk diproses. Berikut sedikit informasi terkait aplikasi ini.

- Menggunakan FPC 3.2.2 + Lazarus 4.0 
- Mengimplementasikan HTTP Request (Multithread)
- Menggunakan SQLite Database
- Server App as a Service (Start, Stop and Logging) , implementasi HTTP Server.
- Client App (Retrieve, Insert, Update, Delete, Upload and Download File), implementasi HTTP Client. 

Aplikasi ini masih sederhana, kemampuan yang dimiliki hanya sebatas Insert, Update, Delete, mengambil data dari server untuk ditampilkan pada komponen String Grid serta proses pengiriman file baik upload dan download dari aplikasi client. Meski demikian, rasanya sudah cukup mewakili untuk memahami konsep pertukaran data melalui HTTP request pada Free Pascal dan Lazarus. Jika anda tertarik mengembangkannya silahkan cek di github pada link ini. Anda dapat mengembangkan dengan menambahkan fitur-fitur lainnya sesuai kebutuhan. Selamat mencoba.