Selamat datang di artikel rilis hidrokit 0.4.0! 🎉 Perkenalkan nama saya Taruma, di artikel ini saya ingin membahas rilisnya hidrokit versi 0.4.0 dan berbagai fitur baru yang telah tersedia.
Pendahuluan Versi 0.4.0
Bagi yang baru mendengar atau mengenal kata “hidrokit”, hidrokit bermula sebagai proyek open source paket python yang dapat digunakan untuk membantu proses analisis hidrologi dimulai dari pengolahan data, analisis data, dan visualisasi data. hidrokit bangkit pada tahun 2019 karena kebutuhan pribadi dalam bereksperimen dengan data science terutama pada topik deep learning pada kasus rainfall-runoff. Seiringnya waktu, saya mengalihkan hidrokit yang semula hanya proyek tunggal, menjadi wadah kolaborasi dengan berbagai proyek. Proyek yang saat ini aktif antara lain situs hidrokit, situs hidrokit-notebook, dan situs hidrokit-blog, dimana proyek-proyek tersebut saling berhubungan. Untuk lihat proyek lainnya bisa lihat di hidrokit.github.io.
Pada tulisan sebelumnya di tahun 2020 (hidrokit versi 0.3.5), saya menulis telah mengakhiri pengembangan hidrokit, hal tersebut dikarenakan kesibukan lain yang harus diprioritaskan ataupun motivasi yang sudah meredup. Akan tetapi, pada tahun 2022, hidrokit kembali saya bangkitkan dari masa hiatusnya. Dan hal ini berkat dukungan dari PT. FIAKO Enjiniring Indonesia (FIAKO Engineering) yang percaya bahwa pengembangan hidrokit memiliki potensi untuk merubah atau meningkatkan alir kerja sekarang (yang tentunya tidak terbatas di bidang sumber daya air saja). Dengan kerjasama antara hidrokit dan FIAKO Engineering, saya harap dapat menghasilkan suatu inovasi dan kolaborasi sebagai produk yang dibutuhkan bagi para praktisi ataupun akademisi.
Dengan hubungan kerjasama tersebut, tentunya hidrokit harus mempersiapkan agenda yang ingin dicapai tahun ini dan pada versi lanjutan berikutnya. Dan dengan tulisan ini, saya harap bisa memberi gambaran apa yang saya rencanakan untuk pengembangan hidrokit selanjutnya.
Fitur dan Perubahan Versi 0.4.0
Saat ini, hidrokit versi 0.4.0 sudah dirilis melalui github ataupun pypi. Untuk panduan instalasi bisa lihat di halaman instalasi di hidrokit/hidrokit.
Pembaruan Logo
proyek hidrokit/hidrokit
Meski ini bukan bagian dari perubahan software, tapi alangkah baiknya untuk menyebut perubahan “tampilan” yang menjadi halaman depannya proyek ini. Logo hidrokit dan variasinya dikembangkan dan dibuat oleh @firmansennie. Berikut variasi lainnya (notebook dan blog).
proyek hidrokit/notebook
proyek hidrokit/blog
Perubahan Penomoran Versi
Sejak versi 0.4.0, pemberian nomor versi sedikit diubah yang sebelumnya hanya mengubah patch version saat ditambahnya modul/fitur baru di subpaket .contrib
, menjadi minor version jika tersedia modul/fitur baru. Hal ini terkait bugfix yang mungkin terjadi di versi 0.4.x, sehingga untuk patch version dikhususkan untuk perubahan tersebut. Dengan perubahan ini diharapkan sudah mengikuti pedoman semantic versioning 2.0.0
Fitur Baru
Pada versi 0.4.0, hidrokit memfokuskan diri pada bagian awal dari setiap analisis hidrologi, yaitu analisis frekuensi dan uji kecocokan distribusi. Bagian tersebut merupakan bagian rutin dari pekerjaan hidrologi. Saat pengembangan juga, saya menemukan beberapa alternatif cara perhitungannya (untuk distribusi log pearson III dan gumbel). Selain itu, saya mengajukan untuk menggunakan beberapa konstanta/nilai yang dibangkitkan langsung menggunakan python (paket scipy) dibandingkan dengan cara penggunaan tabel (kecuali untuk distribusi gumbel). Tapi, jika ingin menggunakan tabel, hanya perlu menyatakan di argumen source
sumber tabel mana yang akan digunakan. Untuk lebih lanjutnya, bisa mengunjungi masing-masing manualnya. Seluruh notebook (gist) bisa dilihat juga melalui halaman kumpulan notebook.
Isu | modul | keterangan | manual |
---|---|---|---|
#102 | .hk102 | upsampling dataset | Gist |
#151 | .hk151 | uji outlier | Gist |
#158 | .hk158 | perhitungan parameter statistik | Gist |
#140 | .hk140 | uji kolmogorov-smirnov | Gist |
#141 | .hk141 | uji chi-square | Gist |
#124, #179 | .hk124 | distribusi log normal 2 parameter | Gist |
#126, #179 | .hk126 | distribusi log pearson tipe III | Gist |
#127, #179 | .hk127 | distribusi gumbel | Gist |
#172, #179 | .hk172 | distribusi normal | Gist |
Karena penamaan modul mengikuti nomor isu yang diselesaikan dan untuk mengingat nomor tersebut cukup sulit (termasuk saya sendiri), oleh karena itu perlu juga modul perantara untuk penggunaan fitur baru 0.4.0. Berikut modul tersebut:
modul | keterangan |
---|---|
.anfrek | kumpulan modul analisis frekuensi (hk124, hk126, hk127, hk172) |
.ujidist | kumpulan modul uji distribusi (hk140, hk141) |
Seluruh fitur baru di 0.4.0 (kecuali .hk102
), telah saya peragakan juga di Laporan Implementasi 5: Analisis Frekuensi dan Uji Kecocokan Distribusi.
Perbaikan
Berikut daftar perbaikan (bugfix) di versi 0.4.0:
isu | modul/fungsi | keterangan | manual |
---|---|---|---|
#169 | test_prep_excel.test__dataframe_table() | perbaikan fungsi test | - |
Pembaruan / Perubahan
Berikut daftar pembaruan di versi 0.4.0:
isu | modul/fungsi | keterangan | manual |
---|---|---|---|
#162 | .contrib.taruma.hk88.read_workbook() | luaran as_df=False berubah dari list menjadi dictionary | Gist |
#162 | .contrib.taruma.hk88.read_workbook() | pembaruan fungsi untuk membaca seluruh sheet tanpa memasukkan nama stasiun/sheet | Gist |
#115 | .contrib.taruma.hk98.summary_all() | penambahan argumen verbose=False | Gist |
Daftar Perubahan 0.3.6 ➡️ 0.4.0
Berikut daftar perubahan detail dari versi 0.3.6 ➡️ 0.4.0 (termasuk nomor pull request):
- Fix #114 Penambahan modul hk102 by @taruma in #171
- Fitur #151 (Uji Outlier) by @taruma in #168
- Fitur #158 (Parameter Statistik) by @taruma in #167
- Fitur #126 Log Pearson 3 by @taruma in #170
- Bugfix #115 verbose mode hk98 by @taruma in #173
- Bugfix #169 Fix assertion frame
test__dataframe_table
by @taruma in #174 - Fitur #127 Analisis Frekuensi Gumbel by @taruma in #175
- Fitur #124 Analisis Frekuensi Log Normal by @taruma in #176
- Fitur #172 Analisis Frekuensi Normal by @taruma in #177
- Fitur #179 CDF untuk anfrek by @taruma in #180
- Fitur #140 Uji Kolmogorov-Smirnov by @taruma in #181
- Fitur #141 Uji Chi-Square by @taruma in #183
- Fitur #162 Pembaruan fungsi read_workbook by @taruma in #184
- Memperbarui github issue template dan .github by @taruma in #188
- Pembaruan changelog sampai versi 0.3.6 by @taruma in #187
- remove ci and checkers by @taruma in #190
- perbarui readme dan informasi lainnya by @taruma in #191
- Fitur #194 Rekap Anfrek by @taruma in #195
- Fix #201 Ubah CDF agar sesuai saat tes KS by @taruma in #202
- Fix #192 RD to Github Actions by @taruma in #203
- fitur #200 modul rekap uji kecocokan distribusi by @taruma in #204
- penambahan nama index kala ulang by @taruma in #205
- tambah arg show_detail untuk fungsi hk158.check_distribution by @taruma in #207
- menambahkan github action untuk jekyll by @taruma in #208
- tambah pytest-ci by @taruma in #212
Versi 0.5.x
Saat ini, lebih dari 10 isu yang masih terbuka di github hidrokit, sehingga untuk saat ini, masih ada ide untuk fitur di versi 0.5.x. Rencananya, fitur 0.5.x akan fokus kepada modul HSS (hidrograf satuan sintetik). Untuk durasi dan mulainya pengembangan tidak dapat saya pastikan saat ini (tapi ada rencananya 4-5 bulan setelah versi 0.4.x). Saya juga ingin mengingatkan bahwa hidrokit sendiri merupakan proyek open source, jadi siapapun dapat berkontribusi. Dan tentunya jika terdapat fitur baru di hidrokit dari kontributor lain, versi yang dirilis berikutnya adalah 0.5.x. Jika memiliki kontributor baru, mungkin durasi rilis bisa dipersingkat menjadi per 2-3 bulan tergantung masuknya kontribusi orang lain pada subpaket .contrib
. Untuk pengembangan diluar subpaket .contrib
dipertimbangkan dialihkan ke versi 1.x.x.
FIAKO Engineering
PT. FIAKO Enjiniring Indonesia (FIAKO ENGINEERING)
PT. FIAKO Enjiniring Indonesia (FIAKO ENGINEERING) is an Avant Garde engineering consultancy firm in Indonesia. We were established in January 2017. Within our first year, we were acquired some outstanding and remarkable infrastructure projects in Indonesia such as Kalikuto Bridge and Semarang - Batang Toll Road bridges design.
Our company is situated in the city of Bandung, West Java. The firm itself comprises young yet well-experienced experts, energetic, multidisciplinary, integrally and holistically way of think in terms of engineering.
Our aim is to deliver the needs of our clients regarding their requirements within design quality, time and budget. We are waiting for your necessity to be fulfilled by us.
- fiako.co.id
Untuk mengetahui lebih lanjut mengenai proyek yang dikerjakan oleh FIAKO Engineering bisa mengunjungi situsnya di fiako.co.id atau galeri proyek FIAKO Engineering.
Penutup
Bagi yang memiliki pertanyaan, kritik, komentar bisa dimulai diskusinya melalui Forum Diskusi hidrokit. Untuk memulainya bisa klik disini (harap login terlebih dahulu). Untuk kontak langsung ke saya bisa melalui email timhidrokit@gmail.com.