.
.
belakangan ini sya tertarik dengan salah satu project opensource dari luar untuk aplikasi Computer Aided Engineering (CAE) ada diskusi langsung dengan pembuatnya melalui forum dan email. sya mempelajari sekilas bahasa pemrograman yg digunakannya, ternyata sesuatu yg baru bagi saya yaitu C# .Net dari Microsoft. walau sudah lama mendengar dan mengetahui, hal tersebut membuat sya kurang tertarik. namun karena project yg sya minati menggunakan bahasa tersebut, menjadikan sya ingin lebih mengenal dan (mungkin) mengaplikasikan atau mengkonversi source dari program jadi yg sudah sya buat dengan bahasa C (sebagian) dan Python (kebanyakan). awalnya berpikir menggunakan Visual Studio Community untuk IDE dan compiler, namun karena besarnya file installer (2.29Gb Net only) untuk di download serta tidak tersedianya untuk OS Linux maka sya mencari info alternative. menemukan cara lain yg lebih sederhana yaitu menggunakan distribusi installer .Net SDK (186Mb) yg memang sudah cross platform (Windows, Linux, Mac). tambahan untuk IDE adalah Visual Studio Code (76.2Mb), namun kali ini sya hanya menggunakan text editor SciTe.
.
(source: Microsoft, 2021)
.
mempelajari lebih lanjut, dukungannya kepada Linux cukup baik terlihat dengan adanya support terhadap salah satu distro terkenal yaitu Ubuntu bahkan untuk versi 16.04(LTS) yg sudah di release sejak sekitar 6 tahun yg lalu. saat ini sya menggunakan OS Windows 10 64bit, setelah instalasi dapat dilakukan check pada command prompt sebagai berikut,
.
.
memulai project aplikasi console dengan perintah berikut, maka akan membuat file template dasar beserta folder dan setting.
.
.
.
migrasi awal dari sya sebagai pengguna bahasa pemrograman C dan Python cukup membantu memahami dan menerapkannya pada pemrograman C#. disini sya lakukan modifikasi sesuai keinginan dan tujuan pembuatan program. contoh sederhana menghitung luas, keliling dan berat dari besi tulangan dengan jumlah dan panjang tertentu. hasil program yg ditampilkan dibuat sejelas mungkin agar menghindari user membaca berulang program manual references, untuk itu tentunya diperlukan baris kode yg lebih banyak dari biasanya.
.
.
.
untuk pembacaan dan penyimpanan data, sya lebih suka menggunakan format XML ketimbang plain text biasa. pertimbangan lebih terorganisir dan mudah dijangkau/diakses karena definisi tiap elemen sudah ditentukan. juga data masukan dan hasil keluaran dapat disimpan dalam satu file yg sama. cukup berguna untuk pengolahan jumlah data yg besar, banyak program opensource atau commercial saat ini mendukung format file tersebut.
.
.
terkadang diperlukan output data dalam format spreadsheet sehingga dapat diolah lanjut, untuk tujuan khusus tersebut diperlukan instalasi library terlebih dahulu. sebagai berikut,
.
secara pribadi, sya bukan hardcore programmer yg menekuni secara terus menerus dan berkelanjutan. karena memang banyak bekerja sebagai designer, namun kenyataannya terkadang bahkan sering juga memerlukan program khusus untuk kepentingan internal sendiri agar mempercepat kerja sehingga menghemat waktu dan tenaga, juga untuk menghindari pekerjaan perulangan yg terlihat membosankan. selama ini lebih banyak ke problem solving ketimbang graphical user interfaces, sebenarnya jika melihat algorithma untuk perhitungan desain sipil/struktural tidak terlalu rumit. kebanyakan aritmetika biasa: penjumlahan, perkalian pembagian, min/maks, pangkat, akar, konversi satuan/units dan beberapa pencabangan atau iterasi. seperti contoh sederhana diatas, hanya dengan penggunaan aritmetika sederhana sudah dapat mengitung berat tulangan yg digunakan dalam suatu konstruksi gedung beton bertulang, dapat dikembangkan juga untuk volume beton dan luasan bekisting untuk tujuan Bill of Materials (BoM). begitu juga dengan aplikasi desain struktural, seperti perencanaan balok/kolom beton bertulang atau struktur baja atau pelat dan pondasi terlihat hanya ada tambahan pencabangan dan iterasi saja sudah dapat menyelesaikan masalah yg melelahkan jika dikerjakan manual kalkulator tangan. penekanan lebih terhadap alur program (flowchart) dan implementasi dari pengetahuan perencana (knowledge based) ketimbang penguasaan semua materi bahasa pemrograman. dapat diartikan saat implementasi maka penggunaan bahasa program lebih cenderung monoton itu-itu saja. berbeda halnya untuk aplikasi khusus, kadang sya stuck juga terhenti belum ketemu berkelanjutan dikemudian waktu karena memang belum ada dedikasi khusus.
.
.
bahasa C# (Microsoft) yg up to dates diketahui lebih cepat (dapat jauh) dibanding IronPython (Microsoft) yg out dates terutama pada saat recursive, looping dan iterasi, dapat dibuat compile static atau dynamic juga, dapat dibuat dan berjalan di Linux, kompatible dengan project opensource yg sya minati untuk kemudahan integrasi. karena pertimbangan tersebut kemungkinan besar bahasa pemrogram C# yg akan sya gunakan kedepannya migrasi menggantikan IronPython berikut konversi source code yg sudah banyak sya buat selama ini. walau ada yg beberapa yg belum selesai seperti kolom biaksial beton bertulang atau komposit pembuatan permukaan runtuh (failure surface) tiga dimensi karena lama sekali tidak disentuh lagi dan kurangnya motivasi akibat tersedianya program jadi non/komersil yg sudah ada beredar.
.
Tidak ada komentar:
Posting Komentar