Latihan 1 dari materi Builder Pattern di Design Patterns — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Implementasikan class URLBuilder dengan fluent API:
.protocol(p) — set protocol (default "https").host(h) — set host.path(p) — set path.query(key, value) — tambahkan query param (bisa dipanggil berkali-kali).build() — return URL string format "<protocol>://<host><path>?<k1>=<v1>&<k2>=<v2>"Jika tidak ada query param, jangan tambahkan ?. Setiap method selain build() harus return this untuk chaining.