PPPURG v 2.0.0

V2_1

Diluncurkan pada awal 2009 (dengan mengambil segmen Tahun Baru untuk promosi hehehe…), nomor versi yang baru menunjukkan sudah ada perubahan yang signifikan terhadap program ini, antara lain adalah :

  • Pemakaian splash screen saat memulai program.

Ketika kita membuka suatu program, misal MS Word, Excel, Adobe Acrobat, SAP2000, dll. biasanya di awal kita akan menjumpai adanya tampilan kotak informasi nama program, versi, lisensi, dst selagi program dibuka (loading). Itulah splash screen, seperti yang tampak pada gambar di bawah judul (PPPURG v 2.0.0). Sebenarnya manfaat splash screen hanyalah untuk sekadar pengisi waktu saat program dalam proses loading, yang untuk beberapa program mungkin memakan waktu agak lama. Informasi yang ditampilkan pada splash screen bisa bermacam-macam, namun umumnya adalah nama program, versi, lisensi, pabrik/pembuat, dan kadang juga tampak persentase progress loading program. Untuk program PPPURG ini memang sebenarnya loading hanya memakan waktu yang sebentar, sehingga penampilan splash screen di sini lebih hanya untuk sekadar memberikan informasi saja, di samping itu pengguna juga bisa mengetahui bahwa program memang sedang loading (memang berjalan). Splash screen biasanya ditampilkan secara singkat saja, bisa sekitar 1-1,5 detik atau kurang, atau selama proses loading program. Untuk program ini hanya ditampilkan sebentar saja yaitu 1,5 detik. Splash screen dibuat dengan form bisa atau tertentu, dan pada form tersebut diisi dengan keterangan (bisa langsung atau dengan kode saat program berjalan) dan juga bisa ditampilkan logo program / pabrik pembuat atau gambar lain. Untuk pengaturan waktu penampilan form, ditambahkan obyek timer dengan properties bagian interval diisikan angka dalam satuan milidetik (untuk contoh ini 1500 mdetik=1,5 detik).

Private Sub Form_Load()

. . .

lblLicenseTo.Caption = “[ FREEWARE ]”

lblPlatform.Caption = “”

lblVersion.Caption = “Versi ” & App.Major & “.” & _

App.Minor & “.” & App.Revision

. . .

lblWarning.Caption = “<< Berdasarkan SKBI-1.3.5.3-1987 >>”

Timer1.Interval = 1500

End Sub

Setelah waktu timer selesai, selanjutnya yang diperlukan adalah menampilkan layar program utama, sbb. :

Private Sub Timer1_timer()

Unload Me

Form1.Show

End Sub

V2_5

  • Beberapa revisi pada Disclaimer.

Untuk hal ini tidak terlalu banyak perubahan, hanya sedikit penambahan keterangan pada Disclaimer, juga penambahan gelar dari pembuat program hehehe… Ya sebagai ungkapan syukur juga, toh sudah susah-susah mendapatkannya, sia-sia kalau tidak dicantumkan🙂 .

V2_2

  • Penggunaan style dengan property page.

Pada versi sebelumnya (1.0.0 dan 1.1.0), tab­ pembebanan ditampilkan memakai obyek SSTab dengan style dipilih tabbed dialog. Style ini memiliki kelebihan ruang judul tab mengisi seluruh ruang sehingga masing-masing judul tab akan mempunyai lebar yang sama. Hanya kekurangannya adalah tampilannya yang tidak terlalu ‘manis’. Pada versi 2.0.0 ini digunakan style property page, dengan lebar judul tab menyesuaikan, namun tampilannya bisa lebih rapi dan modern. Selain itu, untuk lebih mempermanis tampilan, pada properties bagian picture diberikan gambar icon sederhana, sehingga program tampil lebih ‘rame’ warnanya. Perubahan lain yang mencolok adalah pemakaian SSTab juga pada sub-tab beban, misal sub-tab ‘Bahan Bangunan’ dan ‘Komponen Gedung’ pada tab ‘Beban Mati’. Pada versi sebelumnya menggunakan option button, dengan tampilan di layar akan menyesuaikan pilihan pada option button tersebut (lihat penjelasan versi 1.0.0). Dengan memakai SSTab juga, maka data yang ada adalah terpisah pada masing-masing tab (memiliki jendela sendiri), sehingga penanganannya juga bisa diatur lebih mudah.

  • Penampilan tabel beban dengan data Excel langsung (bukan capture).

Nah, ini juga merupakan salah satu ‘revolusi’ dibandingkan dengan versi sebelumnya. Seperti yang telah diuraikan pada pembahasan versi sebelumnya,di versi 1.0.0 dan turunannya 1.1.0 tampilan tabel beban dan keterangannya pada layar utama program hanyalah merupakan gambar (image) dari hasil screen scpture tabel di MS Excel. Pada versi 2.0.0 ini, digunakan data dari sumbernya langsung, dengan jalan memanfaatkan OLE (Object Linking and Embedding), dan dipilih object type dari MS Office Excel Chart. Obyek OLE tersebut selanjutnya diisi dengan data tabel dari MS Excel yang sudah tersedia sebelumnya. Dengan cara ini, maka tampilan bisa lebih rapi dan jelas. Bandingkan dengan kualitas gambar capture yang ukuran hurufnya bisa berbeda-beda menyesuaikan dengan frame yang tersedia. Tentu saja pada pemakaian obyek OLE dengan MS Excel tersebut juga harus dilakukan penyesuaian pada sel-sel tabel agar dapat termuat semua pada ruang yang disediakan, namun pengaturannya bisa lebih mudah dan langsung dibandingkan dengan editing gambar capture.

V2_3V2_4

  • Fasilitas beban tambahan / beban sendiri.

‘Bonus’ lain pada versi ini, yaitu fasilitas untuk catatan beban tambahan lainnya yang mungkin belum tercantum atau tercakup dalam program amupun peraturan terkait. Maklum, program ini hanya merupakan rangkuman dari peraturan pembebanan, dan peraturan pembebanan yang diacu pun mungkin tidak terlalu lengkap dan bisa mengakomodasi kebutuhan user. Misalnya beban lift, beban cairan kimia tertentu, dll. Nah, dengan adanya fasilitas ini maka pengguna dapat memasukkan sendiri beban, koefisien atau data lain yang sering dipakainya dalam ‘catatan’ kecil ini, sehingga data-data pembebanan dapat tersedia dalam satu tempat yang praktis. Begitulah latar belakang pembuatan feature ini.

Sekarang untuk urusan kode programnya. Secara garis besar, data beban tambahan ditampilkan dalam format baris dan kolom seperti tabel (ditampilkan menggunakan obyek Listview pada VB), dan data tersebut disimpan dalam file teks tertentu. Editing data oleh pengguna dilakukan dengan membuka file teks tersebut secara langsung (lewat tombol “Edit Data”), dan setelah disimpan dan ditutup, pengguna perlu untuk refresh tampilan pada program dengan tombol “Update Data”. Kode untuk membuka file teks tersebut adalah sbb. :

Private Declare Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA” _

(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _

ByVal lpParameters As String, ByVal lpDirectory As String, _

ByVal nShowCmd As Long) As Long

Private Sub cmdEdit_Click()

Call ShellExecute(0, “Open”, “data.txt”, vbNullString, _

vbNullString, vbNormalFocus)

End Sub

Saat program mulai dijalankan, maka file teks akan dibaca oleh program dan selanjutnya diisikan pada tampilan data pada Tab “Beban Lain / Tambahan”.

Open “Data.txt” For Input As #1

For I = 1 To 100

While Not EOF(1)

Input #1, Beban, Besar, Satuan, Keterangan

Set ItmX = ListView1.ListItems.Add()

ItmX.Text = Beban

ItmX.SubItems(1) = Besar

ItmX.SubItems(2) = Satuan

ItmX.SubItems(3) = Keterangan

Wend

Next I

Close #1

Pada baris Input #1 … program akan membaca isi file teks baris per baris, dengan urutan variabel masing-masing beban, besar, dst. (ada 4 variabel per baris data). Mulai baris ItmX. … data yang sudah dibaca tadi kemudian dituliskan ke obyek listview pada VB sesuai urutannya. Rangkaian perintah ini akan dijalankan kembali ketika tombol “Update Data” diklik, yaitu untuk memperbarui data yang telah diubah. Ingat, tombol “Edit Data” hanya berfungsi untuk membuka file teks saja lewat bantuan progam text editor semacam Notepad, dan ketika dilakukan penyimpanan (save) sebenarnya hanya pada file teks itu sendiri, belum pada obyek tabel di VB sehingga perlu untuk melakukan refresh/update secara manual. Untuk tombol “Format Data” hanya meampilkan form baru dengan teks yang diisi keterangan cara pengisian data pada file teks beban tambahan.

  • Distribusi file lewat upload ke situs internet.

Pada versi sebelumnya, file kompresi yang berisi program dan pendukungnya disebar lewat attachment pada email yang dikirimkan. Menjelang tanggal peluncuran program, penulis melakukan tes terlebih dahulu dengan mengirim email berisi attachment tersebut ke email penulis sendiri yang lain (account lain tapi masih milik penulis). Ternyata pada saat itu, pihak dari Yahoo! (provider email yang digunakan penulis) tidak mengizinkan adanya attachment pada email yang berisi executable file dengan ekstensi semacam *.exe, *.com, dll. yang dikhawatirkan berpotensi mengandung virus dan saudara-saudaranya. Banyak komplain terhadap kebijakan ini, namun penulis belum mengecek kembali perkembangannya saat ini. Sekalipun dalam bentuk terkompresi, tetap akan terdeteksi sehingga email dapat terkirim, tapi attachment tidak bisa. Hal ini membuat penulis mesti putar otak lagi untuk dapat mendistribusikannya kepada dunia… Saat peluncuran versi 1.0.0 dan 1.1.0 attachment tersebut masih berfungsi baik (file macam apapun asal ukurannya masih memadai bisa dikirim serta). Penulis juga baru mengetahui adanya kebijakan baru tersebut setelah gagal menerima kiriman pada tes pertama tadi. Masih untung belum jadi diluncurkan secara masal. Di sini pula tampak arti penting pengetesan sebelumnya.

Muncul di ingatan penulis (akibat hobi donwload sana sini…), tentang situs-situs yang menyediakan jasa penyimpanan file di internet secara gratis, dengan cara diunggah (upload) ke situs tersebut kemudian bagi yang membutuhkan bisa diunduh alias donwload dengan alamat link tertentu pada situs yang sama. Penulis kemudian mencoba mencari-cari situs yang bagus dengan ditemani mas Google dan pak Yahoo!, untuk bisa ‘menitipkan’ karya penulis. Akhirnya pilihan penulis jatuh pada situs MediaFire (bukan promosi lho), karena kelebihan tampilannya yang lumayan rapi dan profesional, dan adanya fasilitas untuk pembuatan account. Sebenarnya untuk melakukan upload bisa secara langsung (tidak perlu membuat account) dan situs akan kemudian memberikan alamat link untuk download, namun penulis merasa perlu karena bisa mempermudah pengaturan file di kemudian hari. Setelah mempelajari beberapa hal tentang situs tersebut, akhirnya penulis unggah program versi 2.0.0 ke MediaFire dan mendapatkan link download, yang kemudian dalam email promosi cukup disertakan alamat link itu saja (tidak perlu attachment). Kelihatan jadi agak repot memang, tapi untuk mengakali kebijakan dari Yahoo! tersebut, apa boleh buat. Bisa saja penulis membuat account baru pada provider email lain semacam Google, MSN, dll. namun penulis khawatir jika ternyata provider tersebut juga menerapkan aturan serupa, sehingga daripada bersusah-susah mencoba email sana sini, akan lebih baik jika penulis mencari cara lain seperti yang diuraikan sebelumnya. Di sisi lain, ukuran email juga bisa lebih kecil karena tidak harus menyertakan attachment file program dan kawan-kawannya. Saat itu pula penulis mulai pertama kali berkenalan dengan fasilitas upload file ke situs internet. Maklum, biasanya cuma donwload melulu, atau sekedar attach ke email… Karena penulis kemudian merasa bahwa cara ini lebih efektif, maka untuk versi selanjutnya juga dilakukan dengan media yang sama.

Sebenarnya ada satu lagi tambahan penting yang penulis inginkan untuk bisa disertakan pada versi ini, yaitu penambahan program freeware konversi satuan sederhana (buatan orng lain lho…) yang relatif simple but powerful. Walaupun tergolong freeware, namun penulis tidak ingin begitu saja asal comot, nanti dikira maling (duh…). Jadi, penulis mencoba melakukan kontak dengan empunya pembuat program ini lewat sarana e-mail, intinya sih hanya minta izin saja diikutkan sebagai bonus namun credit tetap ada pada si pembuat programnya. Namun demikian sudah sekitar dua kali mengirimkan email untuk jangka waktu yang cukup lama, ternyata tidak kunjung mendapat tanggapan atau jawaban apapun. Pada sisi lain tanggal peluncuran sudah cukup dekat (kayak peresmian proyek gede aja ya…), sehingga dengan terpaksa penulis membatalkan rencana penambahan freeware tersebut. Tidak apa-apa lah, toh itu bukanlah point utama dalam pembuatan versi ini. Maybe next time?…

Hmm… lumayan panjang pembahasan versi 2.0.0 ini. Maklum, perubahannya sudah cukup banyak dibandingkan dengan versi sebelumnya. Walau demikian, masih saja terasa ada beberapa kekurangan, misalnya: teks pada beberapa form yang masih ditulis langsung pada obyek VB-nya (tidak lewat kode), data yang dirasa kurang lengkap (seperti pada beban angin), fasilitas beban tambahan dirasa masih kurang user-friendly untuk editingnya, dan masalah integrasi / mobilitas program (masih memakai format kompresi semacam .zip atau .rar, belum menggunakan format setup / instalasi). Nah, beberapa kekurangan tadi yang kemudian menjadi salah satu faktor penggerak untuk dibuatnya versi selanjutnya. Simak liputannya pada pembahasan Versi 3.0.0