Skip to content

Instantly share code, notes, and snippets.

View kaqfa's full-sized avatar
😁

Fahri Firdausillah kaqfa

😁
View GitHub Profile
@kaqfa
kaqfa / JavaFX Acad.md
Last active May 28, 2025 02:33
Tutorial: Membangun Aplikasi Desktop Java dengan JavaFX, SQLite, dan Pola MVVM

Cerita Pembuka: Bayangkan kita adalah seorang developer yang diminta membangun sistem informasi akademik sederhana. Seperti membangun rumah, kita perlu merencanakan arsitektur yang baik sejak awal. Tutorial ini akan mengajak Anda membangun aplikasi step-by-step dengan cara yang terstruktur dan mudah dipahami.

🎯 Tujuan Pembelajaran

Setelah mengikuti tutorial ini, mahasiswa diharapkan mampu:

  • Memahami dan mengimplementasikan pola MVVM (Model-View-ViewModel)
  • Menerapkan DAO Pattern untuk akses database
  • Membuat GUI desktop dengan JavaFX tanpa FXML
  • Mengintegrasikan SQLite database dalam aplikasi Java
  • Menerapkan data binding dan event handling
@kaqfa
kaqfa / Bootcamp Test.side
Last active December 8, 2023 08:26
Bootcamp Question Test Script
{
"id": "148edab2-3271-4bae-ab23-83112dc75008",
"version": "2.0",
"name": "Bootcamp Test",
"url": "http://localhost:8000",
"tests": [{
"id": "49636379-e70e-4758-82db-e75616aad032",
"name": "Create Question",
"commands": [{
"id": "a40351e3-33bd-44a7-ba54-835eb749cb50",
@kaqfa
kaqfa / docker-compose.yml
Created January 24, 2022 04:14
Docker for Multiple PHP Version AMP
version: '3'
networks:
localnet:
external: true
services:
php54:
image: pretzlaw/php:5.6-apache
@kaqfa
kaqfa / index.php
Created November 29, 2020 01:09
Web servis serderhana untuk RESTFUL service aplikasi curhat berbasis Android
<?php
$file_db = "curhat.db";
try {
$pdo = new PDO("sqlite:$file_db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$sql_create = "CREATE TABLE IF NOT EXISTS `curhat`(
@kaqfa
kaqfa / moodle.py
Created June 28, 2020 17:19
Python Class for moodle REST Access
from requests import get, post
class MoodleWS():
"""Moodle webservice interface, thanks to https://github.com/mrcinv/moodle_api.py
"""
def __init__(self, key, url, endpoint):
self.key = key
self.url = url
self.endpoint = endpoint
@kaqfa
kaqfa / Dictionary
Created May 16, 2020 13:49
InsertMahasiswaLulusDO
{'request': {'token': '',
'record[id_registrasi_mahasiswa]': {'type': 'uuid',
'primary': 'primary',
'nullable': 'not null',
'keterangan': 'Web Service: GetListRiwayatPendidikanMahasiswa'},
'record[id_jenis_keluar]': {'type': 'character(1)',
'primary': '',
'nullable': 'not null',
'keterangan': 'Web Service: GetJenisKeluar'},
'record[tanggal_keluar]': {'type': 'date',
@kaqfa
kaqfa / multi-php-compose.yml
Last active May 6, 2020 16:52
docker compose to setup multiple php versions on single host
version: '3'
networks:
default:
driver: bridge
ipam:
config:
- subnet: 192.168.0.0/16
services:
@kaqfa
kaqfa / docker.md
Last active December 27, 2019 15:16
Kumpulan perintah dasar docker dari slide-nya Umam

Persiapan paling awal

docker version
docker info

Cari download dan cek images

  • mencari image di repository
@kaqfa
kaqfa / django.py
Last active December 17, 2019 01:24
Snippet for Django
from django.db import models
from django.contrib.humanize.templatetags.humanize import intcomma
class Package(models.Model):
PACK_STATUS = [('a', 'Aktif'), ('n', 'Non-Aktif')]
code = models.CharField('Kode', max_length=3, blank=True, null=True)
price = models.IntegerField('Harga', blank=False, null=False, default=0)
state = models.CharField('Status', max_length=1, choices=PACK_STATUS, default='a')
created_at = models.DateTimeField('dibuat', auto_now_add=True)
updated_at = models.DateTimeField('diupdate', auto_now=True)
@kaqfa
kaqfa / git.txt
Created December 11, 2019 01:37
gitignore not working
git rm -r --cached .
git add .
git commit -m "fixed untracked files"