Sudah banyak artikel yang saya tulis di situs ini yang menyebutkan bahwa PHPMaker dapat menghemat waktu pengembangan Aplikasi Web. Rata-rata 80 sampai 90 persen waktu development bisa dipangkas. Hal ini bukanlah iklan, janji manis, atau jargon belaka… tapi memang kenyataan.
Mungkin di antara Anda ada yang masih bertanya dan berkata seperti ini: “Kok bisa?”, “Masak, sih?”, “Bagaimana caranya?”, “Ah, aku gak percaya sebelum ada buktinya!”. Baiklah kalau begitu. Jika Anda masih penasaran, dan ingin buktinya, silahkan simak pengalaman saya berikut.
Jadi begini. Beberapa hari yang lalu, salah seorang Client menghubungi saya via email. Dia meminta bantuan saya untuk mengimplementasikan beberapa proses bisnis seputar Kehadiran, Lembur, dan Cuti di perusahaan tempatnya bekerja ke dalam Aplikasi Web.
O iya, sekedar informasi. Client lama saya ini sudah lama juga menggunakan PHPMaker. Dia juga salah seorang Web Developer yang menggunakan Masino Extensions untuk semua Aplikasi Web yang dibikinnya dengan PHPMaker.
Sebenarnya dia sudah tahu kekuatan dan fleksibelitas PHPMaker, makanya dia selalu menghubungi saya jika memerlukan bantuan. Dia hanya mengalami kesulitan ketika ingin menuliskan kode PHP untuk menghitung durasi jam kehadiran dan perhitungan jam dan uang lembur seorang Karyawan. Demikian juga untuk pengajuan permohonan cuti yang membutuhkan perhitungan hari cuti dan persetujuan, sampai kepada pemutahiran ke data kehadirannya.
Semua spesifikasi yang dia butuhkan dia ceritakan dengan detail kepada saya melalui beberapa file. Saya pun langsung mempelajarinya. Satu per satu kebutuhan dia langsung saya konversikan melalui beberapa baris kode yang saya tambahkan melalui fitur Server Events dan Client Scripts di project PHPMaker.
Singkat cerita, hanya dalam waktu satu minggu saja, saya dapat menyelesaikannya. Tentu dengan bantuan Google. Saya bahkan baru menyadari, bahwa ternyata saya hanya perlu menambahkan sedikit kode PHP saja ke dalam server event Global Code, Recordset_Selecting, Row_Inserting, Row_Inserted, Row_Rendered, Row_Updating, Row_Updated.
Server event Global Code untuk menaruh fungsi-fungsi PHP yang bersifat global dan dapat dipanggil dari file .php mana pun di Aplikasi Web yang dihasilkan oleh PHPMaker. Server event Recordset_Selecting untuk menyaring Record yang berbeda untuk setiap level Pengguna.
Kode PHP di server event Row_Inserting untuk menghitung jumlah durasi Jam atau Tanggal, mendeteksi hari Libur Nasional, hari Sabtu dan Minggu, Tanggal Cuti, menghitung besar uang Lembur yang akan diperoleh oleh seorang Karyawan, termasuk mencegah proses penyimpanan data jika tidak memenuhi kriteria yang bisa kita tentukan sendiri.
Kode PHP di server event Row_Inserted untuk mengeksekusi perintah SQL jika ingin menambahkan atau memperbarui data ke table lain setelah data berhasil disimpan.
Hal yang hampir sama juga untuk kode PHP pada server event Row_Updating dan Row_Updated. Khusus untuk yang terakhir ini, bisa digunakan saat event persetujuan dilakukan oleh Manajer SDM, maka akan menambahkan data ke table kehadiran dengan status Cuti untuk Karyawan yang mengajukan permohonan tadi.
Untuk informasi dan contoh-contoh kode PHP mengenai server event tadi, bisa Anda baca melalui topik Server Events and Client Scripts dari menu Help PHPMaker.
Selain kode PHP, saya bahkan menambahkan lebih sedikit kode jQuery lagi ke bagian Client Scripts. Kode jQuery ini hanya untuk validasi yang bisa diatur sesuai dengan logic tertentu, misalnya untuk memeriksa apakah Tanggal Awal lebih besar dari Tanggal Akhir, atau Jam Awal lebih besar dari Jam Akhir, maka sistem akan mencegah data disimpan, dan menampilkan pesan ke Pengguna.
Yang menarik adalah saat mengkonversikan proses bisnis melalui fitur Server Events di PHPMaker. Bagaimana cara menghitung Jumlah Hari Cuti yang diambil oleh seorang Karyawan. Sistem harus mempertimbangkan Jenis Hari Kerja si Karyawan, apakah 5 atau 6 Hari Kerja. Sistem juga harus bisa memeriksa apakah di antara Tanggal Awal dan Tanggal Akhir Cuti tersebut terdapat Hari Libur Nasional. Termasuk sampai jika Hari Libur Nasional itu bertepatan pada hari Sabtu atau Minggu.
Setelah semua kebutuhan itu berhasil diimplementasikan melalui PHPMaker, saya pun memeriksa ulang lagi semua kode PHP maupun jQuery yang sudah saya tambahkan masing-masing ke bagian Server Events dan Client Scripts. Saya hanya cukup melihat nama Server Events dan Client Scripts yang bercetakan tebal. Ternyata memang hanya sedikit kode saja yang sudah saya tambahkan.
Dengan cara ini, maka kita tidak perlu sama sekali membuka-buka file script yang sudah dihasilkan oleh PHPMaker. Semua pekerjaan cukup dilakukan dari dalam project PHPMaker. Kita sebagai Web Developer dapat mengetahui dengan cepat, di bagian mana saja yang sudah kita tambahkan kode PHP atau jQuery tadi. Kita pun menjadi lebih mudah untuk mempebaruinya di waktu yang akan datang, misalnya jika terjadi perubahan kebutuhan proses bisnis.
Inilah bukti bahwa PHPMaker dapat menghemat waktu pembuatan Aplikasi Web sampai sekitar 80 – 90 persen.
mang cecep mengatakan
Salam kenal pa, kalo boleh saya minta alamat email bapak?? saya tertarik dengan ulasan-ulasan bapak masalah PHPmaker ini..terimakasih atas perhatiannya
Masino Sinaga mengatakan
Email saya: masino [dot] sinaga [at] gmail [dot] com
Freddy mengatakan
ada quote bilang “hindari persaingan yang ketat untuk bisa bertahan hidup” so as new in web developer i’m going to move another languange but hard to learn, duh butuh keberanian
Masino Sinaga mengatakan
Hmmmm…. 🙂