Artikel ini bisa jadi berguna bagi sampeyan yang banyak menyimpan data-data rahasia dan tak ingin diketahui oleh orang lain. Data-data penting tersebut bisa kita kunci dengan menggunakan sandi tertentu. Sehingga orang yang ingin membukanya tanpa tahu sandinya akan kesulitan untuk membacanya.
Memang saat ini banyak perangkat lunak yang ditawarkan untuk melakukan hal tersebut diatas. Dari yang berbayar hingga yang gratis. Tapi kali ini kita mencoba memprotek file dan folder tanpa menggunakan software-software tersebut. Cukup dengan menggunakan Notepad saja.
Langkah pertama, download file text yang berisi kode batch file.
LockCode.txt
Buka file tersebut di dalam program Notepad kemudian ganti perintah "“type your password here” menjadi password yang dikehendaki. Simpan file ini menjadi file LockCode.bat
Ada baiknya sampeyan mengubah settingan folder di Folder Options dari menu Tools pada My Computer atau Windows Explorer agar kita bisa tahu extension file yang ada.
Pada kotak dialog, pilih tab View kemudian carilah checkbox Hide extensions for known file types dan uncheck kotak tersebut.
Sekarang kita bisa melihat file LockCode.bat lengkap beserta ekstensinya.
Langkah selanjutnya, klik dua kali file LockCode.bat tersebut. Jika pada folder dimana file LockCode.bat berada tidak terdapat folder bernama Locker, maka folder tersebut akan terbentuk. Folder-folder yang lain dapat kita tambahkan di script file LockCode.bat.
Selanjutnya, jika kita melakukan double klik pada file LockCode.bat maka akan terdapat pertanyaan, apakah kita akan melakukan penguncian terhadap folder Locker tersebut. Jawab Y jika kita akan melakukan penguncian dan jawab N jika kita melakukan sebaliknya.
Untuk membuka kunci dari folder Locker, kita bisa melakukan double klik pada file LockCode.bat, maka kita akan diminta untuk memasukan sandi. Sandi ini harus sesuai dengan sandi yang pertama kali kita masukan saat melakukan editing file LocCode.bat tadi.
Tips:
Mungkin sampeyan merasa metode ini masih belum aman benar karena password masih tersimpan di file LockCode.bat. Untuk mengatasi hal ini, pada saat setelah sampeyan melakukan penguncian file/folder berhasil, silakan ubah password yang terdapat pada file LockCode.bat dengan password dummy. Tapi ingat sampeyan harus ingat betul password yang benar. Jika tidak, maka ini akan jadi masalah, karena sampeyan jadi ndak bisa membuka kunci folder yang sampeyan proteksi.
Jika ternyata cara diatas masih juga kurang manjur, maka dianjurkan setalah berhasil melakukan proteksi folder, langsung hapus/delete saja file LockCode.bat. Nanti untuk membuka kuncian folder, sampeyan bisa membuat file LockCode.bat dari file LockCode.txt yang sudah sampeyan download tadi.
Catatan:
- Terimakasih buat Rakshit Khare dan Lori Kaufman atas artikelnya yang bermanfaat.
Selasa, Maret 23, 2010
Mengunci File/Folder di Windows Tanpa Software Tambahan
Senin, Oktober 05, 2009
Bagaimana memilih metodologi pengembangan sistem yang tepat?
Pada tulisan sebelumnya saya telah memaparkan beberapa metodologi yang dapat digunakan dalam pengembangan sebuah sistem informasi. Pertanyaannya kemudian, metodologi apa yang sebaiknya digunakan?
Memilih sebuah metodologi bukanlah hal yang mudah dilakukan karena tidak satupun metodologi yang bisa dikatakan terbaik. Setiap organisasi biasanya memiliki standarisasi tertentu. Sebenarnya banyak hal yang bisa dijadikan pertimbangan dalam pemilihan sebuah metodologi. Pada gambar berikut ditampilkan komparasi dari metodologi pengembangan sistem.
Beberapa pertimbangan pemilihan metodologi meliputi; kejelasan kebutuhan pengguna (clarity user requirement), penguasaan teknologi (familiarity with technology), tingkat kerumitan sistem (system complexity), tingkat kehandalan sistem (system realibility), waktu pelaksanaan (short time schedules) dan visibilitas jadwal pelaksanaan (schedule visibility)- Kejelasan kebutuhan pengguna
Jika pada suatu saat kita dihadapkan pada kondisi ketidakjelasan kebutuhan pengguna, maka metodologi RAD berbasis prototipe dan prototipe sekali pakai (throwaway prototyping) merupakan salah satu metodologi yang tepat untuk digunakan. - Penguasaan teknologi
Penguasaan teknologi merupakan satu bagian yang vital untuk dipertimbangkan dalam menentukan sebuah metodologi. Familiaritas terhadap teknologi dasar yang tidak memadai akan menimbulkan pembengkakan waktu dan biaya. - Tingkat kerumitan sistem yang akan dibangun
Sistem yang kompleks membutuhkan analisis dan desain yang sangat hati-hati. Oleh karena itu methodologi agile dan prototyping dipandang kurang begitu baik diterapkan jika tingkat kerumitan sistem sangat tinggi. - Tingkat kehandalan sistem
Kehandalan sistem biasanya merupakan faktor penting dalam pengembangan sistem. Metodologi berbasis prototipe umumnya bukan pilihan yang baik karena mereka kurang berhati-hati tahap analisis dan desain. - Waktu pelaksanaan pengembangan
Metodologi berbasis RAD cocok untuk proyek-proyek dengan jadwal waktu singkat yang membutuhkan kecepatan deliverables. metodologi berbasis waterfall adalah pilihan terburuk ketika waktu adalah penting karena tidak memungkinkan untuk memudahkan perubahan jadwal. - Visibilitas jadwal pelaksanaan
Metodologi berbasis RAD banyak bergerak dari keputusan2 penting sehingga metodologi ini paling cocok diterapkan jika manager proyek mengenali dan memberikan perhatian lebih bagi tahapan yang mempunyai faktor resiko dan ekspetasi yang tinggi.
Referensi:
- Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, 2nd Edition, Alan Dennis, Barbara Wixom, and David Tegarden, 2005
Senin, September 14, 2009
Mengenal Metodologi Pengembangan Sistem Informasi
Pada saat dihadapkan pada pemilihan metodologi pengembangan sistem, banyak diantara kita yang akhirnya bingung. Padahal salah menentukan metodologi, dapat merembet ke penyusunan jadwal, staffing proyek, biaya dan lain-lain. Oleh karena itu, pemilihan metodologi menurut saya merupakan bagian yang lumayan penting, tidak hanya pada saat pengembangan sistem informasi namun juga pada pengembangan proyek-proyek lain.
Dalam pengembangan sebuah sistem, kita mengenal konsep SDLC (system development life cycle). Secara global definisi SDLC dapat dikatakan sebagai suatu proses berkesinambungan untuk menciptakan atau merubah sebuah sistem, merupakan sebuah model atau metodologi yang digunakan untuk melakukan pengembangan sistem. Dapat dikatakan dalam SDLC merupakan usaha bagaimana sebuah sistem informasi dapat mendukung kebutuhan bisnis, rancangan & pembangunan sistem serta delivering-nya kepada pengguna.
Secara umum, tahapan SDLC meliputi proses perencanaan, analisis, desain dan implementasi.
Planning
Proses perencanaan biasanya lebih menekankan pada alasan mengapa sebuah sistem harus dibuat.
Analysis
Tahapan perencanaan ini kemudian dilanjutkan dengan proses analisis yang lebih menekankan pada siapa, apa, kapan dan dimana sebuah sistem akan dibuat.
Design
Sedangkan pada proses desain lebih menekankan kepada bagaimana sistem akan berjalan
Implementation
Tahap terakhir dilanjutkan dengan fase implementasi yaitu proses delivery-nya kepada pengguna.
Pendekatan formal tahapan pengembangan sistem disebut metodologi. Saat ini bermacam-macam metodologi dalam pengembangan sistem. Wah, tambah bingung aja milihnya dong.. Nggak usah kuatir, sampeyan dapat memilih metodologi yang tepat disesuaikan dengan kebutuhan proses bisnis dan data yang mendukungnya.
Beberapa metodologi yang biasa dikenal antara lain Structural Design, Rapid Application Development (RAD) dan Agile Development.
Structural Design
Merupakan sebuah metode pengembangan sistem dimana antara satu fase ke fase yang lain dilakukan secara berurutan. Biasanya sebuah langkah akan diselesaikan terlebih dahulu sebelum melanjutkan ke fase berikutnya. Keuntungan menggunakan metodologi ini requirement harus didefinisikan lebih mendalam sebelum proses coding dilakukan. Disamping itu metodologi ini memungkinkan sesedikit mungkin perubahan dilakukan pada saat proyek berlangsung. Namun, metodologi ini juga mempunyai beberapa kelemahan, diantaranya desain harus komplit sebelum programming dimulai, serta jika terjadi fase yang terlewati, maka biaya yang akan ditimbulkan akan lumayan besar.
Bagian dari metodologi ini antara lain Waterfall Modeling dan Parallel Development. Berbeda dengan Waterfall Modeling, Parallel Development memungkinkan beberapa fase dilakukan secara bersama-sama untuk mempersingkat waktu.
Rapid Application Development (RAD)
Metodologi ini melakukan beberapa penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan pengguna. metodologi ini biasanya mensyaratkan beberapa teknik dan alat2 khusus agar proses bisa cepat, misalnya melakukan sesi joint application development (JAD), penggunaan alat-alat computer aided software engineering (CASE Tools), kode generator dan lain-lain.
Beberapa kategori RAD misalnya Phased Development, Prototyping dan Throw-away Prototyping. Phased Development membagi sistem secara keseluruhan menjadi beberapa versi sistem. Setelah desain untuk versi pertama selesai maka akan dilanjutkan ke implementasi. Setelah versi pertama terselesaikan, maka pengembang akan memulai lagi ke versi selanjutnya.
Metodologi prototyping melakukan analisis, desain dan implementasi secara bersamaan, kemudian dilakukan secara berulang-ulang untuk mendapat review dari pengguna. Sebuah prototiping adalah sebuah sistem dalam fungsi yang sangat minimal.
Sedangkan metodologi Throwaway Prototyping hampir sama dengan metodologi Prototyping. Perbedaannya bahwa pada metodologi ini, analisis dilakukan lebih mendalam lagi.
Agile Development
Bisa dikatakan ini merupakan metodologi yang lebih cepat dalam pengembangan sebuah sistem informasi. Metodologi ini melakukan perampingan pada proses pemodelan dan pembuatan dokumentasi. Pengembangan metodologi ini adalah eXtreme Programming dan Scrum.
Referensi:
- http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle
Selasa, Mei 12, 2009
Memanggil Webservice Menggunakan Ms Visual Basic 6
STUDI KASUS: MEMANGGIL WEBSERVICE BC1.1 DI INSW
Sekilas Info Tentang Data BC1.1
Data BC1.1 adalah salah satu contoh data pre-notification untuk pengiriman dokumen impor. Seringkali untuk mendapatkan data ini, importir/PPJK mengalami kesulitan. Data BC1.1 merupakan data respon dari KPBC untuk perusahaan pengangkutan (baca: shipping agent) terkait dengan pengiriman dokumen manifestnya tersebut. Setiap 1 pos di dokumen manifes biasanya terhubung dengan 1 dokumen PIB dengan menggunakan parameter data BC1.1 tersebut. Oleh karena demi peningkatan pengawasan arus barang masuk di pelabuhan, maka sejak diberlakukannya implementasi sistem PDE Manifes, Bea Cukai mewajibkan informasi data BC1.1 tercantum disetiap dokumen PIB yang di kirim ke KPBC oleh importir/PPJK.
Mulai melakukan pemrograman
Sebelum melakukan pemrograman pemanggilan service menggunakan VB6, maka terlebih dahulu kita harus melakukan instalasi SOAP Toolkit yang bisa didownload di website Micro$oft. Software ini merupakan software yang dapat diunduh gratis berisi library-library SOAP yang bisa digunakan oleh VB6.
Alamat webservice BC1.1 adalah di http://services.insw.go.id/BC11Services/Services mempunyai satu method yang bisa di invoke yaitu CekBC11. Informasi detail tentang method Cek BC11 bisa ditemukan di WSDL yang disertakan. Disana kita melihat terdapat 2 parameter input yaitu string dan string0. Penjelasan tentang method tersebut dapat diringkas menjadi tabel sebagai berikut.
Parameter yang digunakan pada saat pemanggilan adalah Nomor dan Tanggal Bill of lading. Data ini sangat spesifik dan biasanya sudah cukup dikenal oleh para importir mengingat data ini merupakan salah satu dokumen pendukung yang "wajib" ada saat mengirimkan PIB disamping invoice.Selanjutnya, kita buka software M$ Visual Basic 6. Buat sebuah project baru (Standar exe) kemudian buat satu form yang terdiri dari textbox dan tombol-tombol seperti contoh dibawah ini dan berilah nama variabel di masing-masing obyek tersebut.
Jangan lupa, kita juga harus membuat referensi ke library SOAP Toolkit yang telah kita instal tadi. Langkahnya:- Buka menu Projects | References
- Cari library Micro$oft SOAP Type Library v3.0
- Kemudian klik tombol OK.Kita mulai men-coding!
Pada form yang telah kita buat tadi, klik di tombol cmdInvoke ("Get BC1.1") ikut isikan baris sebagai berikut.
Private Sub cmdInvoke_Click()
Dim wsClient As SoapClient30
Dim strWSDL As String
Dim strResult As String
Dim noBL As String
Dim tgBL As String
Set wsClient = New SoapClient30
strWSDL = "http://services.insw.go.id/BC11Services/Services?WSDL"
noBL = txtNoBL.Text
tgBL = Format(txtTgBL.Value, "DD-MM-YYYY")
wsClient.MSSoapInit strWSDL
strResult = wsClient.cekBC11(noBL, tgBL)
Text2.Text = strResult
End Sub
Selanjutnya jalankan (Run) program yang kita buat ini. Masukan paramater Nomor BL dan Tanggal BL yang valid. Contoh response yang kita dapatkan akan keluar string sbb:
001476|22/04/2009|0001.0000.0000|040000|MT. LAUREN|04|PT INDORAMA SYNTHETICS TBK,Langkah selanjutnya kita bisa lakukan parsing data tersebut untuk digunakan lebih lanjut.
Mudah, bukan? Selamat mencoba!
Selasa, Maret 31, 2009
Belajar Mapping Dokumen UN/EDIFACT Menggunakan Software AtlasEDI/ PalapaDI
Pada tulisan sebelumnya kita telah mempelajari bagaimana proses mapping dokumen UN/EDIFACT, kali ini saya akan mengajak sampeyan untuk mempelajari lagi bagaimana caranya melakukan mapping dokumen menggunakan software EDI Enabler yang lain. Sebenarnya banyak sekali sofware translator dokumen EDI yang bisa digunakan. Salah satunya adalah AtlasEDI.
AtlasEDI merupakan salah satu software EDI Enabler yang dikembangkan pertama kali oleh Atlas Product International. Kemudian diakhir hayatnya sempat pula dikelola oleh Harbinger Corporation, salah satu perusahaan di Inggris. Saya sendiri sempet merasakan nguprek software ini mulai dari yang versi AIX, versi DOS dan terakhir adalah versi Windows (versi 4.2.x).
Pada perkembangannya, ternyata software ini di Indonesia kemudian bermutasi nama menjadi PalapaDI, yang dikembangkan oleh salah satu software house lokal Indonesia. Pada jaman kejayaannya (tahun 1990-an), software ini merupakan salah satu software EDI yang cukup mumpuni. Disamping sebagai translator EDIFACT, juga menyediakan fasilitas koneksi dengan berbagai protokol komunikasi, dari protokol proprietary hingga teknologi TCP/IP yang kala itu baru mulai ngetrend.
Sebagai contoh case study untuk sharing knowledge kali ini, saya masih tetap menggunakan dokumen PIB yang telah kita pelajari sebelumnya. Langkah-langkah melakukan mapping dokumen UN/EDIFACT di software ini adalah sebagai berikut.
Membuat Table Maintenance
Fungsi table maintenance ini sama persis dengan file EDF yang pernah saya sampaikan sebelumnya yaitu digunakan untuk menginterpretasikan struktur global message UN/EDIFACT yang telah kita tentukan. Jika sampeyan lupa, silakan baca kembali tulisan saya sebelumnya. Untuk masuk ke menu ini, sampeyan bisa masuk ke software kemudian pilih menu Administration | Message Table Maintenance.
Setelah muncul form seperti diatas, selanjutnya pilih tombol Add maka akan muncul layar Message table maintenance. Terlebih dulu pilih tab Header. Isikan kolom-kolom tersebut sesuai dengan informasi yang terdapat dalam PIA. Misalnya sbb.
Kemudian klik tombol Segment. Pada layar ini terdapat beberapa isian yaitu:
- Label, merupakan label rekord yang didefinisikan di PIA
- Level, merupakan level segment tag UN/EDIFACT yang dipakai. Jika ada kesempatan, saya akan tuliskan apa yang dimaksud dengan hal ini.
- Repeat, merupakan jumlah perulangan yang dijinkan dalam segment group atau tag itu.
- G.M/C, merupakan scope perulangan dari segment group, apakah mandatory atau conditional. Jika tidak didefinisikan C atau M, maka tag tersebut bukan merupakan kepala segment group.
- M/C, adalah scope kemunculan dari tag itu sendiri.
- Segment, merupakan jenis-jenis tag element UN/EDIFACT yang dipakai.
- Description merupakan keterangan dari masing-masing tag.
Sampeyan bisa gunakan tombol-tombol di layar ini;- Insert --> untuk menyisipkan tag baru diantara tag-tag yang sudah ada.
- Add --> untuk menambahkan tag baru diakhir tag
- Delete --> untuk menghapus tag yang sudah diisikan.
Melakukan Mapping Data
Proses ini hampir mirip pada saat kita membuat file HDF ditulisan sebelumnya. Klik menu Administration | Translation Setting | Data Mapping. Muncul layar Table selection, kemudian pilihlah dokumen yang akan diedit. Misalnya DOKPIB, kemudian klik tombol Edit.
Kemudian akan muncul form sebagai berikut lakukan editing terhadap tag-tag element yang diperlukan. Pastikan bahwa semua tag element telah dimasukan sesuai dengan kebutuhan yang terdapat dalam PIA.
Langkah terakhir tentu saja melakukan pengetesan terhadap pekerjaan tersebut diatas. Caranya? Untuk melakukan translate dokumen dari flat file ke bentuk EDIFACT gunakan menu Data Processing | Export Translation.Selamat mencoba!
Rabu, Maret 25, 2009
Belajar mapping dokumen menggunakan standar UN/EDIFACT
Gak serius dulu
Buat orang awam: Opo tho yo standar UN/EDIFACT itu? Apa sejenis kue lemper? Apa enak dimakan? Atau malah bikin saya muntah jika saya mempelajarinya?
Buat orang yang sudah ngerti: Satu guru-satu ilmu dilarang ganggu.
Mulai sedikit serius
Ide menulis ini didalam blog saya sebenarnya sederhana saja. Ketika saja tanya Paman Google, adakah blog berbahasa Indonesia yang pernah membahas tentang standar UN/EDIFACT? Paman Google menjawab belum. Alasan kedua, kemaren sempet kesal ada Mr-Mr yang sotoy nggak ngerti dokumen UN/EDIFACT tapi belagu dan nyalah-nyalain orang lain. Padahal mereka cuman expert di ISO 8583. Hehehe... Ya, sudah, daripada pengetahuan ini jadi hilang dari ingatan saya, lebih baik saya tulis aja disini sekalian sharing knowledge buat pembaca sekalian. :D Itu adalah alasan ketiga.
Ini baru serius.
UN/EDIFACT merupakan singkatan dari United Nation/Electronic Data Interchange for Administration, Commerce and Transport yaitu sebuah standar dokumen yang dikembangkan dibawah naungan salah satu badan PBB untuk kepentingan pertukaran data secara elektronik untuk kebutuhan administrasi, perdagangan dan transportasi. Pada perkembangannya, standar ini dikelola dan dikembangkan lebih lanjut oleh UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) dibawah naungan UN Economic Commission for Europe (UN/ECE). UN/EDIFACT sendiri telah menerima sertifikasi standar ISO 9735.
Standar UN/EDIFACT telah banyak digunakan dalam kebutuhan pertukaran data elektronik antar intitusi/lembaga. Bahkan WCO telah lama merekomendasikan standar ini untuk digunakan pada instansi kepabeanan di dunia.
Di Indonesia sendiri, selain digunakan oleh pertukaran data di lingkungan kepabeanan, beberapa perusahaan pelayaran pun telah lama menggunakan standar UN/EDIFACT ini untuk bertukar data dengan para prinsipalnya.
Berikut ini kita akan belajar standar dokumen UN/EDIFACT dengan mengambil studi kasus pada penerapan sistem kepabeanan impor di Indonesia.
Dokumen Pemberitahuan Impor Barang dibeberapa Kantor Pelayanan Bea dan Cukai telah diterapkan secara elektronik dalam penyampaiannya. Bisa menggunakan media disket, maupun menggunakan fasilitas EDI provider. Untuk menggunakan cara yang kedua dibutuhkan proses integrasi agar dokumen yang disampaikan dapat dimengerti oleh tujuan. Salah satu proses integrasi tersebut adalah melakukan mapping dokumen yang dipertukarkan antara data inhouse dengan data yang dikirimkan ke jaringan EDI begitu pula sebaliknya. Tulisan ini tidak membahas secara detil tentang konsep sistem EDI, namun hanya pada proses mapping dokumen saja. Semoga lain kali jika ada waktu, saya akan menuliskannya dikesempatan yang lain.
Gambaran kerja integrasi sistem secara global adalah seperti berikut.
Modul/sistem internal akan mengeluarkan sebuah file flat kemudian oleh EDI Enabler akan dibentuk sedemikian rupa sehingga menghasilkan file berstandar EDIFACT. Pada saat menerima dokumen akan berlaku sebaliknya. Berikut ini adalah salah satu contoh isi dari flat file dokumen PIB.
(di klik aja untuk memperjelas gambar diatas)Apakah Anda mengerti maksud dan arti disetiap baris flat file tersebut diatas? Bisa jadi banyak pembaca yang bilang nggak ngerti. Bisa jadi pula ada diantara sampeyan yang masuk kategori kemeruh dan bilang "Ya, saya ngerti!" hehehe... Tentu saja akan sulit menginterpretasikan arti tiap-tiap baris flat file tersebut jika tidak terdapat kamus datanya. Kamus data pada sistem PDE Kepabeanan disebut dengan Pedoman Integrasi Aplikasi.
Tulisan di blog ini akan menjelaskan urut-urutan membuat mapping dokumen UN/EDIFACT. Secara garis besar, urut-urutannya adalah sebagai berikut.
Tentukan jenis message yang digunakan.
Jenis message di UN/EDIFACT bisa macam-macam. Misalnya untuk dokumen PIB ini disebut dengan CUSDEC (customs declaration message). Penentuan jenis message ini dapat dilihat dari konten dan tipikal data yang akan dipertukarkan, kemudian carilah referensi di UN/EDIFACT direktori. Pilih satu message dan rilis yang cocok sesuai
Pelajari struktur dokumen
Setelah ditentukan jenis message yang digunakan, selanjutnya pelajari pula struktur dokumen yang terdapat dalam direktori tersebut. Struktur dokumen UN/EDIFACT memiliki segment table seperti berikut.
Dalam sebuah segment tabel terdapat tag (UNH, BGM dst), uraian dari masing-masing tag, scope (mandatori atau conditional kemunculannya) dan pola perulangan. Dalam tag tabel tersebut terdapat pula segment group.Persiapkan file EDI Definition File (EDF)
File ini merupakan terminologi jika menggunakan software Intercept Plus (IPLUS) sebagai EDI Enabler, jika menggunakan software lain, bisa jadi nama filenya berbeda namun secara konsep tetap saja sama. File ini merupakan file yang isinya merupakan representasi dari struktur lengkap document message tersebut diatas. Bisa jadi tidak semua tag digunakan. Boleh saja menggunakan tag yang dibutuhkan saja untuk dituliskan. Namun kita harus hati-hati, misalnya pada contoh diatas kita akan mengambil tag FTX di segment group ke-3, maka kita tak boleh begitu saja menuliskannya di file EDF kita tanpa menuliskan tag-tag pada segment group diatasnya. Keculai jika kita hanya menginginkan tag RFF di segment group ke-1, maka kita bisa saja melewatkan tag dibawahnya ataupun tag di segment group ke 2 atau ke 3.
(Contoh file EDF. Klik untuk memperjelas)Buatlah file Inhouse Definition File (HDF)
Langkah selanjutnya, adalah memetakan masing-masing komponen data di flat file ke dalam dokumen EDF. Kita lihat disetiap tag terdapat variabel yang bisa dipanggil oleh file HDF. Contohnya RFF0010, PAC0010 dst. Jangan lupa, untuk memetakan ini, kita harus pegang buku 'sakti' Pedoman Integrasi Aplikasi untuk masing-masing dokumen.
(Contoh file HDF. Klik gambar untuk memperjelas)Langkah selanjutnya adalah teliti kembali pekerjaan Anda dan lakukan testing sampai tidak ditemukan error. Hehehe...
Contoh dokumen UN/EDIFACT PIB kira-kira kayak gini.
(Contoh dokumen EDIFACT PIB, sebenarnya kagak nyambung dengan flatfile yang diatas hehehe. Klik deh untuk memperjelas.)Selasa, September 09, 2008
Melenyapkan banner di aplikasi Yahoo Messenger 8
Ketika melihat aplikasi Yahoo Messenger salah satu temen di kantor bisa digunakan untuk berbincang menggunakan voice, saya sangat tertarik. Sayangnya aplikasi YM saya masih versi 7 sehingga belum mendukung fasilitas ini. Maklumnya, saya untuk urusan yang kayak gini agak sedikit katrok :P
Akhirnya saya lakukan upgrade ke versi yang lebih tinggi yaitu versi 8. Permasalahan baru timbul, tatkala mata saya sedikit risih dengan beberapa iklan di bagian bawah aplikasi YM 8 tersebut. Apalagi, saat aplikasi YM 8 tersebut malah nggak bisa digunakan di jaringan lokal di kantor. Memang jaringan proxy kantor akan memfilter link-link ads. Mungkin inilah yang menyebabkan aplikasi YM tersebut nggak bisa digunakan. Wihhh... tambah manyun aja deh.
Saya pun bertekad keras untuk segera mengganyang dan melenyapkan banner tersebut. Baca-baca referensi sana sini di internet akhirnya saya menemukan jurus jitu untuk melakukan hal tersebut.
Update regedit
Pertama kali bacalah Bismillah, semoga apa yang akan dilakukan mendapatkan ridho dari Yahoo dan dari Allah SWT. Periksa aplikasi YM kita. Jika masih aktif lakukan Signout dan Exit dari aplikasi tersebut. Kemudian bukalah isi registry di komputer kita. Dari menu Start | Run ketikkan regedit. Selanjutnya buka HKEY_CURRENT_USER\Software\Yahoo\pager\YUrl. Ganti semua isian yang ada disitu dengan karakter asterik (*)
Langkah selanjutnya, hapus seluruh isian file urls.xml yang ada di folder C:\Program Files\Yahoo!\Messenger\Cache\ dengan menggunakan Notepad. Simpan perubahan tersebut. Jalankan aplikasi YM Anda. Ucapkan Alhamdulillah, karena sekarang aplikasi YM Anda telah terbebas dari banner-banner yang tentunya akan menyedot banyak bandwith tersebut.
Efek samping
Sampai saat saya tulis artikel ini belum di laporkan adanya efek samping yang terindikasi dari proses tersebut diatas. Mohon melaporkan jika ada hal-hal yang mencurigakan seteah aplikasi YM ini di obrak-abrik dengan cara diatas.
Cara mudah
Cara lain yang dirasakan lebih mudah adalah dengan menggunakan aplikasi Y!Msgr ad removal tool Yahoo! Messenger AD-Remover New 2 Patch yang akan melakukan proses patching file YahooMessenger.exe dan melakukan editing beberapa nilai registry Windows.
Selamat mencoba!
Rabu, Juli 16, 2008
Flock, browser sahabat blogger
Bagi Anda yang sudah bisa dikatakan sebagai blog-holic, ini merupakan kabar yang cukup menggembirakan. Apalagi jika saat ini, kita telah memiliki banyak account blogging, jejaring sosial, webmail dan media sharing maka bisa jadi browser ini bisa membantu kepuyengan Anda mengelola semua itu karena semua bisa dilakukan di satu tempat saja.
Flock versi 1.2 adalah nama browser tersebut yang telah diluncurkan pada pertengahan Juni tahun ini dengan menggunakan basis code Firefox 3. Flock ini adalah sebuah browser yang bisa dikatakan sangat memanjakan para bloger. Betapa tidak, menggunakan Flock, kita bisa melakukan penambahan posting di blog yang kita miliki dengan mudah.
Menurut saya, secara keseluruhan, dibandingkan dengan browser lainnya, fitur blogging sangat ditonjolkan di browser ini. Utilitas yang dibutuhkan oleh bloger untuk menuliskan ide-idenya bisa langsung difasilitasi, misalnya fitur pengelolaan blog. Dengan fitur ini, kita bisa langsung melakukan posting ke web-blog yang kita miliki, tanpa harus melakukan login lagi.
Perangkat dukungan terhadap kebutuhan blogging yang tersedia di browser ini, antara lain:
- Web Search
Tool ini ditujukan untuk dapat melakukan pencarian secara cepat ke beberapa search engine. Diantaranya Google, Yahoo dll. Fitur ini sama persis dengan yang dimiliki oleh Firefox. - Photo Uploader
Menggunakan fitur ini, kita bisa melakukan upload file-file gambar yang berada di harddisk ke beberapa website penyedia layanan photo sharing seperti Picasa, PhotoBucket dll. Fitur ini juga menyediakan fasilitas untuk croping file secara mudah. - Web Clipboard
Dengan menggunakan fitur ini, kita dengan leluasa mengambil konten-konten dari web berupa teks, tautan ataupun gambar untuk disimpan dan dapat digunakan sewaktu-waktu dengan cara yang mudah, yakni cukup dengan cara click and drag. - Feeds
Gunakan tools ini untuk berlangganan artikel melalui rss juga menjadi lebih mudah. Kita dijamin tak akan lagi ketinggalan berita dari website berita favorit kita, karena browser ini juga menyediakan mengelolaan rss dengan sangat mudah dan cepat menggunakan menu Tools|Feed kemudian klik Feed Option|Add feed dan masukkan URL rss yang ingin dinikmati. - Blog Editor
Aplikasi ini hampir mirip dengan addon Mozila Firefox, Performancing atau ScribFire. Bedanya, tentu saja, aplikasi ini telah disempurnakan dengan menambahkan fitur-fitur yang baru. Tidak hanya bisa digunakan untuk menulis draft sebuah posting dan melakukan publish semata, namun bisa juga untuk memasukan file multimedia yang tersebar di jejaring sosial ke blog yang kita miliki. Dengan menggunakan fitur ini, kita bisa dengan cara offline pada saat menuliskan artikel. Koneksi ke internet hanya digunakan pada saat kita membutuhkan untuk melakukan publikasi dari tulisan blog tersebut. Kita tak perlu khawatir, draft tulisan akan hilang karena dia akan tersimpan di harddisk kita. - Media Bar
Perangkat ini bisa kita gunakan untuk mencari file-file multimedia (gambar dan video) yang tersedia secara online.
Interface yang dimiliki Flock tak jauh beda dengan Firefox. Ya iyalah, (masak ya iya dong). Bisa dikatakan Flock merupakan turunan dari Firefox. Tetapi Flock lebih banyak tampilan grafisnya misalkan tampilan window dan tabbed yang lebih indah. Selain itu, dominasi warna biru juga lebih sejuk. Apalagi , beberapa add-ons/extension bisa di pasang di browser ini.
Namun, pada versi 1.2 ini, menurut saya masih terdapat kekurangan pada fitur Blog Editor, dimana kita tak bisa secara langsung menempelkan file gambar atau video dari harddisk atau media penyimpan lokal di komputer kita pada Blog Editor. Tak ada menu browse ke hardisk untuk melakukan hal itu. Kita hanya dapat diperbolehkan menempelkan file gambar atau video yang telah di upload di internet saja. Jadi untuk menyisipkan file berpa gambar dan video, kita terlebih dulu di haruskan mengupload terlebih dahulu, kemudian tautan link tersebut yang akan kita panggil untuk disisipkan di artikel kita. Ini mungkin masih kalah dengan menu editor di Blogger ataupun di Wordpress dimana terdapat pilihan untuk menyisipkan file gambar dan video baik secara langsung dari harddisk lokal maupun dari layanan online lainnya.
Untungnya, kekurangan tersebut bisa dimaklumi karena sampai saat ini browser ini bisa diunduh secara gratis. Asyiknya...
Kamis, Mei 08, 2008
Biar inget : Gagal konek ke MySQL 5 dari PHP 4
Paling sebel kalo sering lupa. Padahal masalah ini pernah (bahkan sering) aku alami, tapi begitu mengalami lagi lupa sintaksnya. :D Jadi supaya nggak lupa tips ini aku tulis aja disini.
Seringkali kalo kita melakukan koneksi dari aplikasi yang berjalan diatas PHP4 (versi lama) kemudian harus melakukan koneksi ke server database MySQL5, normalnya kita melakukan seting password untuk user sbb :
SET PASSWORD FOR root@localhost = PASSWORD(’mypassword’);Begitu kita coba konek dari PHP4 (atau versi yang lebih lama) muncul pesan
"Client does not support authentication protocol requested by server; consider upgrading MySQL client"Supaya kita nggak perlu banyak effort untuk melakukan perubahan, gunakan fungsi OLD_PASSWORD untuk melakukan enkripsi password tsb
SET PASSWORD FOR root@localhost = OLD_PASSWORD(’mypassword’);Berhasil!
Sumber :
- Mysql OLD_PASSWORD authentication fix
- MySQL5 Manual reference
Selasa, Maret 25, 2008
Memahami konsep CMM (bukan : Cwi Mie Malang)
Coba bayangkan dalam sebuah pertandingan bola.
Ketika sebuah bola ditendang oleh seorang pemain, kemudian bola tersebut melayang bebas ke arah sebuah tim apa yang terjadi? Mungkin Anda pernah melihat sebuah pertandingan sepak bola yang ada di kampung dan diadakan dalam rangka ulang tahun kemerdekaan, dimana para pemainnya adalah para amatir yang terdiri dari pemuda-pemuda kampung. Bagaimana cara mereka bertanding? Ya tentu saja ketika ada bola yang harus diperebutkan, mungkin mereka akan serta merta berlarian saling merebutkan bola. Atau mungkin ada pula yang dengan tenang-tenang saja berjalan-jalan tanpa melakukan apa-apa. Ketika bola tersebut ditendang lagi, mungkin mereka juga akan melakukan hal yang berbeda dari sebelumnya. Kadang, bisa jadi seorang kiper bisa merangkap menjadi penyerang :D
Coba bandingkan dengan pertandingan sepak bola dunia, misalnya Piala Dunia dimana pemain-pemainnya adalah pemain profesional. Ketika sebuah bola ditendang, mungkin setiap pemain akan langsung pindah ke posisi yang semestinya. Kadang mungkin mereka gagal bermain dengan baik, tapi selalu saja mereka akan mencoba melakukan sesuatunya dengan benar sesuai dengan porsinya masing-masing.
Tim kesebelasan profesional jelas lebih matang (mature) dibandingkan dengan tim kesebelasan cap kampung tadi. Mereka akan selalu bermain dengan baik, melakukan regenerasi dan selalu mencari cara-cara baru untuk bermain lebih baik lagi.
Sama halnya dengan membangun sebuah perangkat lunak. Sebuah organisasi pengembang profesional yang berkualitas bagus tentu berbeda dengan pengembang perangkat lunak kelas amatir. CMM (capability maturity model) mencoba menangkap perbedaan-perbedaan itu. CMM berusaha keras untuk menciptakan pengembang software yang 'matang' atau lebih matang dibandingkan sebelum menerapkan CMM.
CMM di deskripsikan menjadi 5 level yang bisa dilihat di gambar berikut :
Level 1 : Initial
Perusahaan dengan predikat CMM - Level 1, berkarakter : Pengelolaan yang tidak menentu, tidak dikelola dengan baik, tidak ada dokumentasi, proyek terkadang melebihi deadline dan tidak terencana.
Level 2 : Repeatable
Pada level ini, perusahaan mulai sadar akan pentingnya kualitas. Tidak hanya kualitas pada software sebagai ‘produk’ tapi juga kualitas pada cara penanganan proyek. Mulai memperhitungkan kelayakan proyek terhadap kemampuan organisasi (perusahaan).
Mulai mendokumentasi perencanaan dan perhitungan cost, dan menjadikannya rujukan di proyek-proyek selanjutnya.
Di level ini mulai ada Key Process Area (KPA) :
- Requiremets Analisys
- Software Project Planning
- Software Project Tracking
- Software sub-contract management (out-sourcing)
- Software Quality Assurance
- Software Configuration Management
Level 3 : Defined
Tidak hanya mulai sadar, tapi sudah mulai melakukan peningkatan-peningkatan baik dari segi organisational atau di level project quality. Istilah kerennya mulai “Tercerahkan”.
Tak hanya pemuasan konsumen (stake holder) tapi juga ada pencerahan untuk developer, training tentang kesadaran kualitas (quality awareness) dan penerapannya di semua divisi.
KPA-nya meliputi :
- Organisation Process Focus
- Organisation Process Definition
- Training Program
- Integrated Software Management
- Software product re-engineering
- Inter-group coordination
- Peer Reviews
Level 4 : Managed
Peningkatan kualitas sudah membudaya, sehingga kualitas proyek sudah bisa di prediksi sejak awal. Statistik sudah mulai diterapkan untuk mengukur dan mengontrol variasi proyek dan diterapkan di semua divisi organisasi.
KPA :
- Quantitative Process Management
- Software Quality Management
Level 5 : Optimized
Kualitas adalah segalanya, di semua lini organisasi sudah aware akan pentingnya kualitas baik untuk operasional organisasi ataupun terhadap proyek yang ditangani.
KPA :
- Defect Prevention
- Technology Change Management
- Process Change Management
Bagaimana menerapkan CMM dalam organisasi kita? Ada beberapa cara, diantaranya :
1. Menyewa assesor resmi yang telah bersetifikat CMM untuk conduct evaluasi secara formal. Misalnya untuk memenangkan tender pemerintah, untuk mencari sub kontraktor pengembang software yang berkualitas baik atau hanya untuk pure development shop --> memberi kesan kualitas yang baik kepada klien.
2. Mengirim pegawai/karyawan untuk mengikuti training CMM kemudian melakukan internal asessement
dll.
Referensi :
- Kim Caputo, CMM Implementation Guide : Choreographing Software Process Improvement, Addison Wesley, 1998
- http://goblog.wordpress.com/2006/11/28/cmm-is-a-religion/
Rabu, Februari 27, 2008
Metodologi tangkas dalam pengembangan software
Bahasa kerennya sih Agile Development Methodologies.
Metodologi pengembangan software ini muncul karena adanya beberapa alasan antara lain ;
- susahnya melakukan prediksi apa saja yang bakal terjadi selanjutnya dari proyek pengambangan software karena tuntutan kebutuhan user yang selalu berubah.
- kesulitan untuk dapat melakukan pendefinisian secara utuh kebutuhan2 user dari sebuah proyek
- tuntutan lingkungan bisnis yang sangat dinamis.
Kent Beck telah memberikan beberapa sila dari manifesto pengembangan software menggunakan metodologi ini :
- kemampuan individual dan interaksi lebih diutamakan daripada proses dan tools
- working software lebih diutamakan daripada sekedar dokumentasi. Working software merupakan hasil yang ingin dicapai dari sebuah pengembangan sistem.
- kolaborasi dengan user lebih diutamakan daripada negosiasi dan kontrak.
- memberikan respon di setiap perubahan yang diinginkan user daripada mengikuti rencana pengembangan awal.
Filosofi dari metodologi ini lebih didasarkan pada :
- kepuasan pelanggan adalah yang nomer satu!
- sedapat mungkin melakukan delivery software sedini mungkin, namun bukan prototipe.
- biasanya merupakan tim kecil yang memiliki motivasi yang tinggi.
- meminimalisasi dokumentasi dari pengembangan, namun tidak dihilangkan sama sekali.
- jadikan keseluruhan pengembangan sesederhana mungkin.
Intinya sih, pada metodologi ini, user harus dilibatkan dalam tim pengembangan (kalo bisa) sehingga bisa sedini mungkin jika terdapat perubahan dapat langsung direspon dengan baik. Kadang pula batasan antara customer dan developer dihilangkan. Ini penting, karena agar muncul kerjasama yang baik antara pengembang dan pengguna software itu sendiri.
Namun, karena tujuan awalnya adalah untuk meningkatkan kepuasan pelanggan, tak jarang metodologi ini jadi tak bisa efektif diterapkan. Proyek bakalan tidak bisa selesai2. Lha wong, yang namanya customer khan maunya banyak :D
Agar efektif maka penerapan metodologi ini harus didasarkan pada tiga kunci asumsi yaitu :
a. diterapkan kepada situasi yang sangattttttt susah diprediksi.
b. perancangan dan pengembangan adalah satu kegiatan yang interleaved. (konstruksi digunakan untuk membuktikan desain)
c. analisa, perancangan dan testing tidak bisa diprediksi sesuai dengan rencana yang seharusnya.
Ada sedikit pertanyaan yang menggelitik, karena metodologi ini lebih banyak ditujukan untuk secepat mungkin merespon setiap perubahan, maka tak jarang pekerjaan jadi lebih panjang dari waktu yang diharapkan dan tidak bisa diprediksi kapan selesainya. Bagaimana dengan pola kerjasama dengan user? Jelas tidak bisa menggunakan konsep kontrak proyek selesai putus. Memang ada beberapa hal yang bisa diusulkan, salah satunya adalah metoda outsourcing pengembang software dalam jangka panjang (1 tahun, 2 tahun dst). Hal ini bisa lebih efektif. Namun untuk pekerjaan dalam lingkungan pemerintahan (RI 'kali), hal ini agak sulit dilakukan, mengingat sebelum pekerjaan di tenderkan, tentunya sudah disiapkan TOR atau kerangka acuan kerja yang sejelas mungkin padahal bisa jadi saat pekerjaan dilaksanakan banyak perubahan terjadi disana sini nggak sesuai KAK awal. Apakah kita sebagai pengembang masih bisa menerapkan metodologi ini? Atau kita bersikap kaku aja? Atau, bagaimana dong?
Mengingat betapa dituntut sedemikian responsipnya metodologi ini, maka gak bisa main-main untuk menyusun tim pengembang. Kriteria2 sbb harus ada dalam anggota tim tsb :
- Kompetensi --> spesific software skill
- Fokus pada deliveri
- Bisa berkolaborasi dan komunikasi yang baik dengan user dan bisnis manager.
- Memiliki kemampuan decision making yang baik, terutama untuk teknis dan project issue pada situasi2 yang tidak jelas.
- Memiliki sikap kepercayaan dan respek yang tinggi, dan menyadari bahwa tim memiliki tujuan yang sama.
- Memiliki kemampuan untuk bisa mengatur diri sendiri
Beberapa langkah pengembangan software menggunakan metodologi ini adalah :
–Customer communication --> contoh : user akan bercerita (user stories)
–Planning
–Modeling
–Construction
–Delivery
–Evaluation
Referensi :
- http://en.wikipedia.org/wiki/Agile_software_development
- Roger S. Pressman, Software Engineering: A Practitioner’s Approach, McGrawHill, 2005.
Kamis, Februari 14, 2008
Evolusi pengembangan sistem informasi
Membangun sebuah sistem informasi, memang tidak bisa dikatakan mudah. Permintaan calon user yang sering berubah-ubah, waktu yang diberikan, biaya dan sumber daya yang terbatas seringkali membuat pengembangan sistem harus dilakukan dengan menggunakan pemilihan metodologi yang cocok.
Metodologi dapat diartikan sebagai sebuah pendekatan formal atau sebuah rangkaian langkah dalam mengembangkan sebuah sistem. Pemilihan sebuah metodologi sangat tergantung terhadap dua hal yaitu berorientasi kepada bisnis proses atau object data. Menulis sebuah kode tanpa berpikir panjang mungkin bisa dilakukan pada program yang kecil, namun hal ini jarang terjadi pada program yang besar.
Metodologi yang menggunakan pendekatan proses bisnis lebih fokus pada pendefinisian setiap aktifitas yang mendukung sistem tersebut. Metodologi ini lebih menekankan bagaimana sebuat proses yang membutuhkan input dan mengeluarkan output dari system.
Sedangkan metodologi yang menggunakan pendekatan pada object data, lebih menekankan bagaimana data diorganisasi dan konten data yang ada di dalamnya.
Dewasa ini dikenal banyak sekali metodologi yang digunakan dalam pengembangan sistem informasi.
Beberapa yang dikenal antara lain :
- Structured Design
- Waterfall
- Parallel
- Rapid Application Development (RAD)
- Phased Development
- Prototyping
- Throw-Away Prototyping
- Agile Development
- Extreme Programming
- Scrum
Selasa, April 03, 2007
April mop ala Google
Ada apa di bulan April?
Kalo pertanyaan ini di tanyakan kepada semua orang, pasti jawabnya bisa macam-macam. Kalo saya yang ditanya, maka dengan spontan saya jawab,"..ini bulan kelahiran saya.."
Tapi gimana kalo Anda menanyakan bulan April kepada Google?
Bulan April tahun ini, Google meluncurkan produk baru yaitu Google TiSP. Idenya adalah untuk memberikan koneksi internet gratis kepada pengguna internet menggunakan jalur toilet. Bahkan di websitenya telah dilengkapi petunjuk instalasi, faq bahkan press release untuk menggunakan layanan ini.
Tertarik dengan layanan ini?
Jangan percaya begitu saja, karena tidak semua yang di katakan Google itu benar walaupun terus terang saya akui idenya cukup menarik.
Senin, Januari 29, 2007
Kangkung Hoax (?)
Pagi ini di salah satu milis aku terima email yang rada2 serem, kayak gini :
> Jika Anda penggemar kangkung, baik itu ca kangkung, petis
> kangkung, kangkung cos, dll yang berkaitan dengan kangkung,
> mungkin cerita ini dapat menjadi pertimbangan bagi Anda pada saat
> akan mengkonsumsi kangkung.
>
> Saya mendapat cerita ini dari seorang teman, tapi Saya lupa tempat
> persisnya di negara mana, yang jelas antara Singapura / Malaysia.
>
> Pada suatu hari di rumah sakit terkenal, semua dokter kebingungan
> hanya karena ada seorang anak kecil yang tampan menderita sakit
> perut. Anak itu dibawa ke rumah sakit oleh orang tuanya setelah 2
> hari menderita diare. Sudah bermacam obat sakit perut yang
> diberikan kepada anak itu, namun diarenya tidak kunjung sembuh.
>
> Di rumah sakit orang tua anak tersebut ditanya oleh dokter,
> makanan apa saja yang sudah dimakan oleh anak tersebut selama 2
> hari ini. Orang tua anak itu kebingungan, karena sejak anaknya
> diare otomatis anak tersebut tidak mau makan, dia hanya minum
> susu, itu pun langsung dikeluarkan lagi. Setelah usut punya usut,
> ternyata sebelum menderita diare, malamnya anak tersebut baru saja
> diajak makan kangkung cos di restoran oleh orang tuanya.
>
> Dokter segera melakukan rontgen, ternyata diusus anak tersebut
> telah berkembang biak lintah dengan anaknya yang kecil-kecil.
> Dokter angkat tangan dan menyatakan tidak sanggup mengambil
> tindakan medis apapun. Akhirnya anak kecil tampan yang malang
> itupun meninggal dunia.
>
> Usut punya usut, ternyata lintah itu sebelumnya bersemayam di
> dalam batang kangkung yang besar. Memang, untuk penggemar kangkung
> cos yang paling enak adalah batangnya, apa lagi jika dimasak oleh
> seorang ahli, maka kangkung cos rasanya akan menjadi renyah.
> Lintah yang berada di dalam batang kangkung itu tidak akan mati
> walau dimasak selama apapun, apa lagi untuk kangkung cos
> prosesmemasak tidak terlalu lama untuk menghasilkan rasa kangkung
> yang enak. lintah hanya akan mati jika dibakar.
>
> Di dalam usus anak tadi, lintah yang tadinya hanya 1 dalam 2 hari
> berkembang biak dengan cepatnya karena terus menerus menghisap
> darah yang ada, otomatis dokter juga kebingungan, bagaimana
> mematikan/membersihkan lintah yang telaha sangat banyak tersebut
> dari dalam usus anak malang itu.
>
> Jujur, sejak mendengar cerita itu, kesukaan saya akan kangkung
> menjadi berkurang, boleh dibilang sudah 1 bulan ini saya sama
> sekali tidak mengkonsumsi kangkung dalam bentuk apa pun, bukan
> karena menjadi paranoid, tapi bagi Saya lebih banik menjaga segala
> kemungkinan yang ada, toh tidak hanya kangkung yang dapat kita
> konsumsi, masih banyak sayur lain yang dapat kita makan dengan
> meminimalisir segala kemungkinan "lintah" yang terselip di dalamnya.
>
> Semoga cerita ini dapat menjadi pertimbangan untuk kita semua pada
> saat ingin mengkonsumsi kangkung.
Kalo membaca beritanya serem sekali khan? Walaupun saya bukan salah satu anggota IPK (Ikatan Penggemar Kangkung), tapi saya termasuk yang doyan makan kangkung seperti cah kangkung, terutama kalo pas ke warung seafood.
Tapi kalo diperhatikan dengan seksama, kok kayaknya ada ciri2 hoax mail di berita tersebut. Salah satunya adalah baris sbb :
> Saya mendapat cerita ini dari seorang teman, tapi Saya lupa tempat
> persisnya di negara mana, yang jelas antara Singapura / Malaysia.
Rata-rata hoax mail selalu memberikan informasi yang tidak pasti. Kata-kata "konon kabarnya" yang tidak terlalu jelas sumber beritanya, adalah ciri-ciri hoax.
Lainnya, adalah analisa aneh tidak masuk akal yang menyatakan bahwa lintah tidak akan mati walaupun dimasak selama apapun dan hanya mati hanya dengan cara dibakar. Mungkin tidak aneh kalau masak kangkungnya nggak pake api hehehe.... Dan setahu saya, cara memasak kangkung apalagi batangnya yang besar adalah dengan cara dibelah terlebih dulu. Bukan langsung memasukkan batang yang masih bulet. Tapi entahlah kalo kokinya bukan orang sini.
Sayangnya, saya nggak menemukan efek forward di email ini, namun kalo Anda membaca email ini, pasti tanpa sadar, Anda akan berusaha mengirimkannya ke orang lain bukan?
Jadi masih mau makan kangkung??
Referensi :
- Melawan SPAM dan HOAX Secara Baik dan Benar
Kamis, Mei 11, 2006
SherryCute yang bikin pusing
Wahai Dinda..
Jalan kita masih terlalu panjang. Mungkin ini hanya do'a belaka untuk mempercayai keabadian tak bertepi. Keabadian yang mungkin saja kini telah mati, hilang bagai ombak yang ditelan samudera misteri, diterbangkan angin beliung yang kemudian menghempaskan keabadian itu dan mencabik-cabiknya hingga lenyap menjadi butiran-butiran debu.
Andai saja belenggu kita berdua saling berikatan, mungkin saat ini kita telah bahagia di dunia perkabungan abadi. Tapi terkadang penderitaan memang harus ada. Kepedihan akan mengantarkan kita menuju kebahagiaan sejati, membimbing kita untuk meniti peta luka tak terperikan, menjadikannya negeri impian para dewa dan peri.
Dan disaat itulah kita terlahir kembali dalam kesendirian yang suci. Perlahan, segala keputusasaan, kesedihan, dan segala rasa yang porak-poranda oleh duka akan terhapuskan oleh senyum penuh kemenangan, senyum yang dulu pernah hilang, senyum yang kini hadir kembali, bersemi, indah seakan semesta ikut berbondong-bondong menyaksikannya.
Apapun yang akan terjadi nanti, Dinda, kuharap engkau akan tetap bertahan dan terus bertahan. Tidak akan berpaling hati ini meski beribu bidadari menghadang setiap jejak langkahku. Tidak akan pernah berpaling hati ini walapun bulan, bintang dan matahari bersimpuh di hadapanku. Dinda, senantiasa tunggulah aku dan saat aku kembali akan kubuat badai yang selama ini mengusik hidup kita sujud di bawah kakimu.
Hanya untukmu.. dari aku yang akan selalu merindukanmu..
Kata-kata romantis yang ditulis menggunakan program Ms Word tersebut diatas, langsung muncul di PC notebookku. Tak lama kemudian akan muncul pertanyaan apakah dokumen tersebut akan dsimpan. Terdapat 3 pilihan "Yes", "no" atau "Cancel". Namun pilihan tersebut gak ada artinya. Apapun yang aku pilih, pasti komputer akan melakukan restart sendiri. Ya, kena virus deh...
Memang udah lama, PC notebook ini gak disusupi virus lagi. Terakhir yang numpang lewat adalah program spyware. Untuk ngebersihinnya aku harus begadang selama 2 hari. Dan sekarang kena lagi dah... Asem! Virus lokal lagi, pasti program antivirus nggak banyak yang bisa ngebersihin, dan ini betul terjadi. Program AVG yang aku pasang nggak mampu nge-detect keberadaan si virus, padahal selalu terupdate engine-nya. Ini udah aku duga. Oke dah say, terpaksa harus berjuang sendiri.
Setelah melihat model2 serangannya, akhirnya komputerku bersih juga dari virus ini. Dan aku akan sharing disini, sapa tahu ada yang bernasib sial, sama dengan aku..heheh
Gejala serangan si virus ada beberapa bentuk, diantaranya :
- memunculkan surat cinta yang otomatis dengan tulisan seperti diatas dalam program MS Word dan beberapa menit akan me-restart komputer.
- Mematikan menu Start | Run
- Mematikan registry editor
- Mematikan task manager
- Mengalihkan panggilan msconfig untuk membuka document Ms Word.
- Mengubah tampilan format jam AM/PM menjadi Sherry
- Mematikan menu Folder Option di Windows Explorer
- Menghidden extension file di Windows Explorer
- Mengubah label folder/disk drive menjadi SherryCute, Sherry Trash, Sherry Documents.
- Mengubah title dan start page Internet Explorer menjadi www.spyrozone.tk <-- hemmm ini dia biang keroknya. Pertama kali yang aku curigai adalah virus mematikan registry editor, task manager dan msconfig. Artinya virus ini bersembunyi di suatu tempat dengan nama tertentu dan kemunculannya di picu oleh setting2 registry dan msconfig. File-file yang disembunyikan antara lain berada di root folder (C:\), di folder C:\Windows dan di C:\Windows\system32. File2 itu adalah :
- C:\Vindika-Anastasya.exe
- C:\Cinderella.exe
- C:\Windows\5herry.exe
- C:\Windows\system32\lExplore.exe
- C:\Windows\system32\msconfig.exe (dengan icon Ms Word jika dilihat di Windows Explorer)
- C:\Windows\system32\sherry.exe
- C:\Windows\system32\olg5.tmp
attrib -h [namafile] [enter]
Dan jangan ragu-ragu untuk menghapus file2 jahanam tersebut! Namun sebelumnya matikan dulu fasilitas System Restore di Windows System.
Selanjutnya kita harus berusaha mengaktifkan registry editor. Untuk itu coba scanning mungkin ada file regedit "jadi-jadian". Jika ternyata ada yang mencurigakan (ukuran, jam create dll). Maka semua file regedit.exe untuk sementara bisa karantina dan ubah menjadi file dengan extension yang lain. Kemudian bikin file regedit.inf yang berisi baris-baris sbb :
[version]
signature=$chicago$
[defaultinstall]
delreg=regedit
[regedit]
HKCU,Software\Microsoft\Windows\CurrentVersion\Policies\System,"DisableRegistryTools"
HKLM,Software\Microsoft\Windows\CurrentVersion\Policies\System,"DisableRegistryTools"
[End]
Kemudian untuk mengaktifkan aku bikin file regenable.reg yang berisi baris sbb :
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableRegistryTools"=dword:00000000
Klik kanan dan pilih Install file regedit.inf di Windows Explorer. Kemudian dobel klik file regenable.reg yang udah kita buat tadi. Jika ada pertanyaan, apakah ada penambahan, klik "Yes". Kemudian dari Command Prompt panggil registry editor. Ketik regedit [enter].
Pada registry editor cari beberapa key data untuk dihapus sbb :
HKEY_CURRENT_USER\Control Panel\International
s1159 = Sherry
s2359 = Sherry
HKEY_CURRENT_USER\Control Panel\Desktop
SCRNSAVE.EXE = C:\WINDOWS\System32\logon.scr
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
MSOfficeAgent = C:\WINDOWS\5herry.exe
CriticalSystem = C:\WINDOWS\system32\lExplore.exe
Kemudian aktifkan menu Start | Run, Folder Option dll dengan cara mengubah value data menjadi 0, yaitu di :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
NoDispCpl = 0 [Hexadecimal]
NoFind= 0 [Hexadecimal]
NoFolderOptions= 0 [Hexadecimal]
NoRun= 0 [Hexadecimal]
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
DisableTaskMgr = 0 [Hexadecimal]
Beres dah.. Restart komputer dan selamat menempuh hidup baru ! :D
Catatan :
*) oh, ya... saya nggak bertanggung jawab jika ternyata nggak berhasil dan malah bikin komputer Anda error. Maka pastikan setiap langkah lakukan dengan hati2. Oke!
Rabu, Mei 10, 2006
Antara Java vs PHP
Tulisan ini saya buat berdasarkan thread di salah satu milis Java. Komunitas yang hampir semua adalah para developer Java tersebut baru-baru ini memuat topik diskusi tentang CMS (Content Management System) di web. Mereka mencari tahu mengapa aplikasi CMS rata-rata dikuasai oleh PHP.
Memang benar, saat ini pasaran CMS memang di kuasai oleh PHP. Banyak produk CMS berbasis PHP yang disediakan gratis, diantaranya PHPNuke, Mambo dll. Aplikasi itu tinggal di download, di extract, instal, setting dan hup! udah langsung bisa jalan. Server yang dipakai pun bisa macam-macam, dari yang versi "kacangan" sampai versi enterprise. Pokoknya ada webserver (IIS, Apache) udah cukup.
Sedangkan lihat untuk aplikasi CMS yang berbasis Java. Bisa dibilang hampir nggak ada. Memang benar ada beberapa produk semisal openCMS dan Alfresco. Namun berdasarkan pengalaman beberapa developer Java, dua aplikasi ini bener2 pemakan memory yang hebat. Jelas beda dibanding dengan CMS yang berbasis PHP yang ringan dan mudah pemeliharaannya. Bahkan website Friendster yang dulunya menggunakan Java sudah pindah menggunakan PHP. Jadi, ada apa dengan Java?
Menurut saya, Java sendiri sangat bagus untuk aplikasi yang mengandung workflow model bisnis dan multiplatform. Dia bisa main di aplikasi desktop (walaupun PHP juga mempunyai kemampuan yang sama dengan menggunakan PHP-GTK), sebagai aplikasi internet (nggak perlu tanya lagi..) dan aplikasi mobile (nah ini PHP gak punya sampai saat ini..) Kekuatan lainnya, Java didukung oleh perusahaan kelas dunia, Sun Microsystem, sedangkan PHP enggak. Untuk Indonesia sendiri, developer yang benar2 expert Java sangat sedikit. Tentu saja hal ini mendongkrak "harga" dari seorang programmer Java. Keunggulan lain, untuk dapat menjalankan aplikasi Java, diperlukan sebuah Java Virtual Machine. Hal ini saya bilang suatu keunggulan, karena jika terjadi error pada aplikasi tersebut hanya akan berimplikasi dengan JVM-nya saja, nggak sampai meng-error-kan sistem operasinya (teorinya gitu sich :D). Hebat bukan?? Namun, untuk kelas aplikasi yang berbasis internet, Java dinilai beberapa kalangan sbg aplikasi yang "sombong" karena cuman main di server2 besar. Dan bagi programmer pemula, banyaknya framework di Java yang macem2 tentu akan memusingkan kepala. Mau dimulai dari mana ya?
Sedangkan PHP, ini adalah platform murah meriah yang benar-benar didukung komunitas open source. PHP engine/application servernya gratis..tis untuk penggunaan non komersial maupun komersial. Bandingkan dengan Java, untuk kelas ecek2 emang gratis. Kita bisa gunakan application server seperti Tomcat, namun untuk kelas enterprise semisal JBoss, JRun atau Bea WebLogic kita harus keluarkan duit yang enggak sedikit.
Sedikit sekali perusahaan2 besar yang memberi dukungan penuh terhadap perkembangan PHP sehingga seringkali aplikasi yang berbasis PHP dianggap aplikasi "kacangan" yang ala kadarnya dan nggak object oriented (walah... belum tahu dia.. hehehe). Saking murah meriahnya, maka untuk programmer pemula dapat langsung mempelajari bahasa ini dan menguploadnya ke webhosting PHP yang bertebaran dari yang gratisan sampai yang berbayar. Mulai dari webhosting yang menawarkan paket murah meriah (5 ribu rupiah perbulan) sampai yang mahal (ratusan ribu rupiah). Coba bandingkan, apa ada webhosting yang menawarkan Java capability? Hmmm... jawabnya udah tau sendiri khan? Programmer PHP yang expert bisa dibilang sangat banyak, sehingga harganya pun murah. Untuk belajar PHP pun cukup gunakan webserver (IIS, Apache) yang resourcenya bener2 ramah. Hehehe...
Namun memang, PHP sangat kedodoran jika mau digunakan untuk aplikasi middleware yang bisa dihandalkan misalnya membuat aplikasi web services. Bahkan bisa dikatakan mending jangan dah... dan saya sendiri nggak menyarankan aplikasi middleware menggunakan PHP, walaupun pada kenyataannya hal itu bisa dilakukan.
Saya pribadi nggak terlalu memusingkan penggunaan PHP atau Java. Karena menurut saya semua tergantung situasi, kondisi, toleransi, pandangan dan jangkauan (kalo disingkat kok saru ya..hehehe..) dari masing2 user yang nantinya menggunakan aplikasi tersebut. Mau pakek Java atau PHP yang penting project bisa kelar dengan cepat, langsung terjual dan mudah melakukan maintenance-nya. Karena nantinya user nggak bakalan mempertanyakan aplikasinya dibangung pakek apa, kecuali memang usernya sejak awal memutuskan platform pemrograman yang digunakan... ya udah nggak bisa ngapa-ngapain dah!
Saya sendiri saat ini sedang tergila-gila "mencintai" Java (J2ME - Java 2 Micro Edition). Hal ini gara-gara termotivasi oleh anak saya yang gemar main game melalui ponsel saya. Saya mau buatin aplikasi mobile untuknya, 'kali aja nanti bisa dijual juga. Siapa tahu...???
Rabu, April 05, 2006
Pengen ngebut dengan Firefox?
Berbeda dengan web browser yang lain, Mozila Firefox dapat kita setting sesuai dengan kemamuan kita. Maklum namanya juga software open source, kodenya pun dapat kita download. Jika kita adalah pengguna broadband internet, kita dapat menambah kecepatan browsing dari si Firefox. Gimana caranya? Ok, simak baik-baik ya...
- Buka dulu browser Firefox dikomputer kamu. Trus di Address Location Bar ketikkan "about:config". Jika kita beruntung (hehehe..), maka akan muncul beberapa parameter yang dapat kita ubah atau bahkan kita tambah settingnya.
- Kemudian cari beberapa baris berikut menggunakan scroll down/up :
network.http.pipelining
network.http.proxy.pipelining
Nilai default kedua parameter tersebut adalah "false", ubah nilainyanya menjadi "true" menggunakan doble klik mouse. Biasanya browser hanya dapat melakukan satu request pada saat bersamaan, jika kita enable maka browse akan mampu melakukan beberapa request pada saat bersamaan. Ini disebut dengan metode HTTP Pipelining. - Selanjutnya cari parameter :
network.http.pipelining.maxrequests
Ubah nilai defaultnya menjadi 30 atau lebih (misalnya 100). Caranya sama, yaitu doble klik pada parameter tersebut. Ini digunakan untuk menentukan jumlah request browser pada saat bersamaan. - Kemudian kita buat satu parameter baru bertipe integer dengan nama :
nglayout.initialpaint.delay
Caranya dengan klik kanan mouse, pilih New -> Integer -> Enter the preference name : "nglayout.initialpaint.delay". Set isinya dengan "0", nilai ini menunjukkan waktu yang digunakan oleh browser untuk menampilkan isi informasi yang didapat. - Selanjutnya restart Firefox kita, yaitu tutup dan jalankan lagi Firefox tsb.
Ada lagi satu tip untuk mempercepat pemanggilan tabulasi baru di Firefox. Caranya masih sama dari "about:config" kemudian cari paramater "browser.tabs.showSingleWindowModePrefs" jika belum ada maka kita bisa buat baru (lihat cara buat baru parameter di point-4 diatas) dengan type boolean dan isikan nilainya dengan kondisi "true". Restart browser Firefox dan selanjutnya setiap kita melakukan pemanggilan New Tab (CTRL-T), maka tabulasi baru akan muncul lebih cepat.
Nggak percaya? Coba aja sendiri :D
Sumber : http://www.mozila.pl/firefox-speed-up.html dan berbagai sumber di internet.
Jumat, Maret 24, 2006
Belajar Exchange Data MP3-Pajak (ISO 8583)
Akhirnya baru ini dah kayaknya aku nulis tentang teknologi informasi. Gak papa lah biar lambat yang penting nulis.. sapa tau berguna untuk yang mbaca.
Entah kenapa kok tiba-tiba aku kecemplung ngerjain proyek di perbankan. Tapi terus terang ini adalah hal baru yang menurutku akan memberikan ilmu yang baru juga. Jadilah, hampir 2 minggu aku jadi jarang sowan ke DIKC tempat dimana biasanya aku "nongkrong" dengan temen-temen Bea dan Cukai. Untungnya Bos Jamin (salah satu bos di DIKC) waktu itu juga sedang menunaikan ibadah haji... sip dah! Jadi nggak banyak dicariin hehehe...
Awal ceritanya, kantor punya proyek dengan salah satu bank swasta asing untuk melakukan pembangunan sistem informasi di bagian Trade Finance-nya. Proyek untuk melakukan integrasi dan pertukaran data antara nasabah si bank, Bea dan Cukai dan Ditjen Pajak. Proyek ini sebenernya di subkan ke seseorang yang katanya ngerti sistem perbankan, namun begitu mau UAT (User Acceptance Test) eh malah kabur tuh orang... Jadilah si Project Manager membentuk tim baru yang terdiri dari pendekar2 tanpa bayangan hahahaha..... Salah satunya aku dah kesangkut...
Proses bisnis diawali pengiriman data pajak-pajak impor yang biasanya dilakukan oleh si nasabah secara manual berganti secara elektronik, kita sebut saja dengan nama Payment Order (PAYORD). Nah, PAYORD ini biasanya tidak dilakukan secara langsung oleh si nasabah yang notabene adalah importir namun diuruskan oleh PPJK. Masalahnya antara importir dan PPJK sering terjadi miss communication. Sekarang maunya importir juga bisa mengetahui alur proses data yang diuruskan oleh PPJK dan bank. Ok, maunya si importir kita akomodasi dah.
Kebutuhan yang lain di sisi bank. Bank pengennya, data PAYORD yang di kirimkan ke dia bisa langsung di pecah menjadi data SSP (Surat Setoran Pajak -- dikirim ke DJP) dan SSPCP (Surat Setoran Pajak, Cukai dan Pabean -- dikirim ke BC). Ok, clear deh semua user requestnya.
Setelah di klasifikasi kebutuhan user, tim di pecah menjadi tim aplikasi internal, tim exchange data pajak dan tim exchange data pembayaran. Kebetulan aku masuk di tim exchange data pajak. Jadi aku mo cerita yang sistem pengiriman data ke Pajak aja...
Ditjen Pajak telah mengimplementasikan sistem MP3 (bukan file musik ya...) yaitu sistem untuk memonitor pemberitahuan pembayaran pajak yang dilakukan oleh bank-bank devisa persepsi yang menerima pembayaran pajak-pajak. Sistem ini mengunakan metode request-respon dengan standar dokumen ISO8583 yaitu sebuah standar dokumen untuk pertukaran data keuangan secara real time. Bentuk data-nya sederhana dan hampir semua berisi data numerik. Biasanya dokumen ini digunakan di mesin-mesin ATM. Ini hal baru man buat aku, biasanya ngertinya cuman standar UN-EDIFACT doang... heheh
Ditjen Pajak mengeluarkan panduan implementasinya. Pada intinya data yang dikirimkan terbagi menjadi data Financial Transaction (kode pengenalnya 02xx), Reversal (pembatalan transaksi-- kode pengenalnya 04xx) dan Network Management (kode 08xx). Setiap dokumen request yang dikirim akan mendapatkan respon dengan tambahan nilai 10. Jadi misalnya request Network Management dengan kode 0800 maka akan dibalas dengan respon 0810, 0200 dibalas dengan 0210 dan seterusnya. Hasil akhir yang ingin dicapai sebenernya sih penerbitan respon NTPP (Nomor Tanda Pembayaran Pajak).
Komponen paket data ISO8583-MP3 terdiri dari Data Start (ISO), MP3 Header (011000017), kode pengenal paket data (08xx/02xx/ 04xx), Primary/Secondary Bitmap (64 bit) dan isi dari data sendiri (data element). Data elementnya dan secondari bitmapnya sendiri diatur kemunculan di primary bitmap.. <-- apa pula nech hahaha... Header data sendiri juga ada penjelasnya lengkap, namun nggak perlu aku uraikan disini karena nggak ngaruh (kebanyakan di hardcode aja..bukan variabel data) hahaha...
Element data disimbolkan dengan P-x. Jadi misalnya di primary bitmap request disebutkan sbb.
0111001000111000010000000000000100001000100000011000000000000000
Artinya element data yang harus muncul setelah primari bitmap adalah di bit 2, 3, 4, 7, 11, 12, 13, 18, 32, 37, 41, 48 dan 49. Ambil contoh yang muncul bit 2 (P-2), berdasarkan panduan P-2 artinya adalah Primary Account Number yang di representasikan oleh numerik sepanjang 16 digit. Atau ambil contoh lagi bit 3 (P-3), berdasarkan panduan berarti kemnculan elemen data Processing Code yang direpresentasikan oleh nilai numerik 6 digit berisi kode dan jenis transaksi yaitu 200000 (pembayaran SSP), 300000 (inquiry) dan 200001 (pembayaran SSP tanpa NPWP). Okeh cukup khan..?? Masalahnya kalo dicontohkan semua panjang nech... bisa jadi novel! :D
Jadi paket data lengkap yang dikirimkan menjadi (ini hanya contoh -- sengaja aku pecah per bit, aslinya sih cuman satu baris aja..)
ISO
011000017
0200
0111001000111000010000000000000100001000100000011000000000000000
160000000000015228
200000
000000010000
0611084115
123456
100221
0520
7010
040305
000000000001
0000000000000001
0460100111610530000011110002022002000000000000000
360
Setelah melakukan request, sistem inhouse MP3-Pajak akan langsung mengeluarkan respon yang diletakkan di bit ke-39, maka primary bit response biasanya sbb :
0111001000111000010000000000000100001010100000011000000000000000
Lihat di bit 39 bernilai "1" artinya element data di response akan ada kemunculan bit-39 (P-39) yang direpresentasikan oleh numerik sepanjang 2 digit. Contoh respon sbb.
ISO
011000017
0210
0111001000111000010000000000000100001010100000011000000000000000
160000000000015228
300000
000000010000
0611084115
123456
100221
0520
7010
04 0305
000000000001
00 <-- bit 39
0000000000000001
160CITI BANK N.A. LANDMARK CENTER LT.4 JL.JEND. SUDIRMAN KAV.1 - SETIA BUDI PPh Pasal
21 Masa / Angsuran
360
Lihat! Di bit ke-39 bernilai "00" artinya pengiriman data kita di approve/sukses.
Hebatnya lagi sistem ini, jika pada saat komunikasi data terdapat kegagalan, maka kita diperbolehkan mengirimkan data advice dengan menyebutkan alasan pengiriman data advice tersebut, misalnya karena time-out atau hal lain yang diletakan di bit ke-60.
Awalnya, mengingat implementasi realtime biasanya menggunakan socket programming dan kebetulan aplikasi internal yang dibangun berbasis web dengan bahasa pemrograman PHP, aku buat program exchange datanya menggunakan socket PHP. Namun kurang begitu "menggigit" hasilnya. Jadilah exchange data menggunakan M$ Visual Ba$ic :D dan hasilnya cukup lumayan. (Belum ada masalah sampai tulisan ini dibuat hehehe...)
Oke, segitu dulu dah tentang sistem MP3-Pajak (ISO8583) ini, kalo kurang jelas atau minta source programnya ya hubungi aku aja atau langsung nanya ke Ditjen Pajak. Ok, ok.. :P
*) Trims bwat Mr. Joko from Sigma atas sharing ilmunya.
