Contents

balitax/AngkaTerbilang

[![Build Status](https://github.com/balitax/AngkaTerbilang/actions/workflows/swift.yml/badge.svg)](https://github.com/balitax/AngkaTerbilang/actions) [![Swift](https://img.shields.io/badge/swift-5.7-orange.svg)](https://swift.org) [![SPM compatible](https://img.shields.io/badge/SPM-compatible-brightgreen.svg?style=flat)](https://swift.org/package-manager/) [![Codecov](https://codecov.io/gh/balitax/AngkaTerbilang/branch/main/graph/badge.svg)](https://codecov.io/gh/balitax/AngkaTerbilang) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Fitur

  • Konversi angka (Int, Double, String) ke teks terbilang Bahasa Indonesia
  • Dukungan angka besar (hingga triliun)
  • Dukungan angka negatif
  • Dukungan angka desimal (misal: 1.5 → "satu koma lima")
  • Konversi ke format mata uang (default: rupiah, bisa custom)
  • Penanganan input string dengan format ribuan/koma
  • Ekstensi Swift: .toTerbilang(), .toRupiah() untuk Int, Double, dan String
  • Penanganan edge case (nol, negatif, Int.min, input tidak valid)

Instalasi

Swift Package Manager (SPM)

Tambahkan ke dependencies di Package.swift:

.package(url: "https://github.com/balitax/AngkaTerbilang.git", from: "1.0.0")

Lalu tambahkan ke target dependencies:

.target(
    name: "YourTarget",
    dependencies: ["AngkaTerbilang"]
)

Atau, pada Xcode:

  • File > Add Packages > masukkan URL repo ini

Cara Pakai

Import modul di file Swift-mu:

import AngkaTerbilang

Contoh penggunaan:

let angka = 15000
print(angka.toTerbilang()) // "lima belas ribu"
print(angka.toRupiah())    // "lima belas ribu rupiah"

let nilai = 1234.56
print(nilai.toTerbilang()) // "seribu dua ratus tiga puluh empat koma lima enam"

let teks = "2.500.000"
print(teks.toTerbilang())  // "dua juta lima ratus ribu"

// Custom prefix/suffix
print(angka.toRupiah(prefix: "sekitar", suffix: "IDR")) // "sekitar lima belas ribu IDR"
print(teks.toRupiah(prefix: "Terbilang")) // "Terbilang dua juta lima ratus ribu rupiah"

// Penanganan input tidak valid
print("abc".toTerbilang()) // "tidak valid"

let besar = 1_234_567_890_123
print(besar.toTerbilang()) // "satu triliun dua ratus tiga puluh empat miliar lima ratus enam puluh tujuh juta delapan ratus sembilan puluh ribu seratus dua puluh tiga"

Testing

Jalankan unit test dengan Swift Package Manager:

swift test

Atau dari Xcode: Product > Test

Kontribusi

Kontribusi sangat terbuka! Silakan:

  1. Fork repo ini
  2. Buat branch baru untuk fitur/bugfix
  3. Commit perubahanmu
  4. Buat Pull Request (PR) ke branch main

Pastikan:

  • Kode sudah teruji (unit test tidak gagal)
  • Ikuti gaya penulisan Swift yang konsisten
  • Sertakan deskripsi jelas pada PR

Lisensi

MIT License © 2025 Agus Cahyono

Package Metadata

Repository: balitax/AngkaTerbilang

Stars: 0

Forks: 0

Open issues: 0

Default branch: main

Primary language: swift

README: README.md