Mengenal MuhaazSolver

MuhaazSolver merupakan library untuk menyeselaikan hitung-hitungan matematika baik dari input LaTeX, urutan operasi, atau teks biasa. Salah satu kelebihannya adalah dapat menampilkan langkah pengerjaan. Pengerjaan project ini sudah berjalan sejak 1 Agustus 2018. Ditulis dalam bahasa Java + Kotlin. Semua catatan pengembangan ada di Version Control dan di buku jurnal saya (please jangan dimaling :lol).

MuhaazSolver menggunakan teknik shunting yard algorithm* termodifikasi sebagai inti program. Dimana setiap variabel dan operasi dijadikan Object yang berisi bentuk Suku (koefisien, variabel, konstanta). Untuk menghasilkan langkah step-by-step digunakan HashMap. Sedangkan untuk menampilkan LaTeX digunakan engine KaTeX & MathJax (Distribusi dapat dilihat di web masing2).

Gambar ilustrasi Shunting* dengan three-way railroad junction
(sumber: https://en.wikipedia.org/wiki/File:Shunting_yard.svg)

Nama MuhaazSolver diambil dari nama pembuat, Muh Hadi Abdul Aziz + Solver 🙂

*Tertanggal 24 Juli 2019 inti MuhaazSolver tidak menggunakan Shunting Yard Algorithm lagi, melainkan menggunakan teknik indexing berbobot. SYA tetap dipakai sebagai algoritma yang menangani respon pertama, baru setelah itu diikuti indexing.

 

Dibanding dengan library yg beredar, MuhaazSolver memiliki kelebihan diantaranya (yg sudah dikerjakan):

  • Tidak sekedar menampilkan LaTeX namun juga dapat menghitungnya.
  • Menampilkan cara pengerjaan step-by-step hingga hasil akhir dalam LaTeX.
  • Dapat mengenali variabel di LaTeX sehingga variabel tersebut dapat dimanipulasi.
  • Dapat menghasilkan scanner/input variabel, dimana pengguna bisa memasukkan nilai ke rumus.
  • Konversi unit ke +120 macam unit. Misal input meter ke yard, maka secara otomatis akan mengkonversi input variabel termasuk menampilkan cara pengerjaan.
  • Dapat mengenali +60 konstanta, seperti konstanta bilangan e, pi, gravitasi bumi, dll. (Terus di update)
  • Dapat di integrasikan ke aplikasi Android atau platform lain. Selama satu environment dengan Java (JVM).
  • Gratis (kalau saya yg pakai :peace)

Saat ini MuhaazSolver dapat menangani input sebagai berikut:

  1. Direct: hitung operasi matematika dengan bahasa penulisan biasa.
    contoh: (a+b)÷c^2
  2. Sequence: input berupa urutan pengerjaan dalam notasi MuhaazSolverWildCard (PECS).
  3. Interpreter: menghandle input LaTeX.
    contoh penulisan LaTeX:
    \vec{F}_g=-F\frac{m_1 m_2}{r^2} \vec{e}_rmenghasilkan tampilan (*ini contoh latex, bukan MuhaazSolver):

Sekilas MuhaazSolver seperti MathLab atau sebagainya. Bedanya MuhaazSolver ini semacam library sehingga dapat dipakai di mana2. Kelebihan lain adalah dapat di integrasikan ke database untuk menghandle koleksi variabel dan konstanta serta dapat digunakan sebagai basis auto content creator. 

MuhaazSolver secara eksklusif akan hadir di Megie Ultimate (coming soon).

 

——————– Versi hingga saat ini: 0.0.190718 ———————–

Total waktu pengerjaan: 9 bulan

Jumlah baris kode kotlin: 22.324 baris

Jumlah baris kode java: 4.049 baris

Jumlah baris kode xml: 8.614 baris

catatan: belum termasuk database

———————————————————————————————

 

Curhat:
Saya sering lihat aplikasi2 di Play Store atau aplikasi skripsi2 yang ada kalkulator rumusnya, misal menghitung luas atau menghitung gaji. Barang kali ada ratusan atau ribuan aplikasi serupa, cuma beda mata pelajaran/topik saja.
 
Kalau 1 aplikasi saja perlu waktu berhari2 untuk membuat. Bagaimana kalau 1000?? Selain itu, kalau pengguna mau koleksi rumus lengkap maka perlu pasang banyak aplikasi sekaligus?
 
Ada sih yang lengkap, tapi yg saya lihat bentuknya masih sebatas penjelasan dan kebanyakan berbayar *lirik sebelah*
 
Padahal kalau menyebut nama saya 3x, saya akan datang memberi solusi.. hehe….
 
#MegieUltimate (coming soon)
 
Apa bedanya dengan MathLab? Kalau pakai MathLab kan harus dengan PC sendiri dan minimal butuh space 5GB. Perlu ngetik rumus dulu. Tapi memang sudah terjamin.
 
Kalau yang ini nanti rencananya adalah aplikasi (free, gak usah bayar kalau mau download & pakai, tapi xxxx hehe..). Ada berbagai hal yang akan ada (*rahasia dulu*).
 
Tapi pokoknya konten sudah tersedia ketika rilis (minimal mencakup materi SMA). Kedepan untuk umum harapannya user bisa input sendiri, melakukan pencarian dan download bundle.
 
Produk yg menginspirasi (nanti akan mirip2 ini):
Paseban: RIP. Dulu penyedia soal2 yang lengkap dan ada pembahasan tanpa bayar2
MathLab: bisa mengerjakan problem math
PhotoMath: bisa muncul langkah2 pengerjaan
Duolingo: ide gamifikasi
Pak Anang: blog keren yang membahas rumus2 dan cara cepat
Anki: belajar kosa kata
 
Impian saya kedepan adalah:
– Terciptanya sistem yang menghubungkan orang di seluruh dunia untuk berbagi dan bertukar ide secara instan.
– Membalas budi kepada orang2 yg dulu iklas berbagi ilmu hingga saya bisa seperti ini.

catatan: artikel ini akan di update sesuai perkembangan, foto menyusul.

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *