Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Cari Blog Ini

Tampilkan postingan dengan label Iseng. Tampilkan semua postingan
Tampilkan postingan dengan label Iseng. Tampilkan semua postingan

26 Mei 2023

Dynamics AX 2012 parameter Args with record

Suatu saat terjadi hal aneh di AX. Dimana ketika user menekan tombol proses, tetapi record yang terupdate bukan record yang dipilih. Saya coba reporduksi bagaimana error tersebut terjadi, namun tidak berhasil. Apa yang saya coba sesuai dengan yang diharapkan. Hingga suatu saat secara tidak sengaja ada rekan saat mencoba fitur baru, dia menekan sebuah tombol dimana tombol tersebut menampilkan dialog terlebih dahulu. Dialog tersebut tanpa modal, setelah dialog muncul, user tetap bisa interaksi dengan form, termasuk menggeser pilihan record yang terpilih. Ternyata ketika dialog muncul dan user menggeser pilihan row maka yang terproses adalah pilihan row yang baru dipilih. Bukan row yang dipilih sebelum dialog tersebut muncul. 

Ternyata di AX jika kita memakai arg.record() sebagai data terpilih, data tersebut bersifat byref (mengambil istilah VB). Jadi ketika user mengganti pilihan record, maka data ikut berubah.

Contoh source dibawah ini:

public static void main(Args arg)
{
    Dialog dlg = new Dialog("TEST");
    
    CustTable tbl = arg.record();
    
    dlg.addText(tbl.AccountNum);
    if (dlg.run())
    {
        info("Selected: " + tbl.AccountNum );
    }
}

Code diatas adalah dialam sebuah Class yang dipanggil oleh MenuAction, dan menu Action menempel pada form yang memiliki data source tabel "CustTable"

Ketika saya pilih baris pertama (kode: 000001), maka tampilan dialog seperti dibawah ini:


Terlihat yang ditampilkan dialog adalah sesuai. Namun kemudian saya pilih row yang lain saat dialog tersebut masih muncul (karena bukan modal).

Terlihat dialog masih menampilkan record awal. Namun saat saya tekan tombol OK maka record yang dipilih ternyata sesuai pilihan terakhir.


Ternyata berbahaya sekali. Karena bisa salah update/proses data. Solusi untuk kasus ini adalah dengan menjadikan dialog menjadi modal. Lihat caranya disini: System Modal Dialog - Microsoft Dynamics AX Forum Community Forum

Cara kedua adalah membiarkan dialog tanpa modal, namun data yang diproses benar, yaitu dengan mengubah code menjadi dibawah ini:

public static void main(Args arg)
{
    Dialog dlg = new Dialog("TEST");
    
    //OLD CODE CustTable tbl = arg.record();
    CustTable tbl = CustTable::findRecId(arg.record().RecId);
    
    dlg.addText(tbl.AccountNum);
    if (dlg.run())
    {
        info("Selected: " + tbl.AccountNum );
    }
}

Pada code yang saya warna biru terlihat variabel tbl bukan dari arg.record() lagi namun query lagi dengan mengambil arg.record().recId. Hasilnya seperti gambar dibawah ini.



06 Juli 2021

Online-Online (Market Place)

Ingat lagu jadul Saykoji 10 tahun lalu. Ya lagu yang menceritakan tentang zaman dimana semua hal bisa dilakukan secara online. Saat ini hampir semua hal! Ngaji, belajar, belanja, bekerja, bahkan ada juga operasi dilakukan oleh dokter secara online!

Saya selama ini memiliki teori, bahwa hukum kekekalan energi juga berlaku pada semua perubahan di dunia ini. Apa itu maksudnya? Makudnya, energi itu bersifat tetap, jika dia berubah menjadi sesuatu bentuk yang lain, maka bentuk yang lain tersebut ditambah dengan energi untuk berubah sama dengan total energi yang berubah. Dalam bahasa sederhana setiap perubahan maka akan ada yang berkorban dan beruntung, namun sebenarnya effort yang dikeluarkan tetap.




Kita bahas mengenai market place. Saat ini pasti ada banyak market place di Indonesia, yang paling besar ya beberapa itu. Saya ingat dulu awal-awal lagu saykoji itu, orang berbelanja online masih tidak yakin. Takut barang tidak dikirim dan lainnya. Yang paling aman saat itu belanja di Kaskus kemudian pakai rekening bersama. Barang diterima dengan baik maka uang diteruskan ke penjual. Saat ini belanja online telah berhasil melibas belanja offline. Lihat berapa toko besar yang akhirnya menyerah berjualan offline. Tapi yang untung siapa sih sebetulnya? Pembeli? Penjual? atau yang lain? Nah ini yang coba saya analisa sesuai teori saya. 

Biaya-biaya yang timbul karena sistem online dari sisi Pembeli
1. Biaya Kirim
2. Biaya Internet
3. Biaya Listrik

Biaya yang hilang dari sisi Pembeli
1. Biaya transport (termasuk parkir, capek karena berpergian)

Biaya yang timbul dari sisi Penjual
1. Biaya Internet
2. Biaya packing (beli bubble warp, beli kardus, dan kegiatan mempacking)
3. Biaya marketing online

Sedang yang hilang dari sisi Penjual
1. Biaya toko (misal sewa toko, pembelian etalase untuk mempercantik toko)

Dari list diatas terlihat ada yang keluar ada yang masuk (biaya). Dalam teori saya biaya yang hilang dan masuk jika digabungkan (dari sisi pembeli dan penjual) maka akan nol. Artinya biaya-biaya tersebut tidak benar-benar hilang atau bertambah, namun berpindah ke entitas lain.

Biaya kirim berpindah dari yang sebulmnya masuk di biaya transport pembeli, berpindah ke biaya biaya kirim dan biaya internet serta listrik. Selain itu biaya packing penjual itu saya rasa juga masuk ke situ. Akhirnya perusahaan jasa pengiriman mendapatkan energi, begitu pula perusahaan produsen buble warp, kardus, isolasi dan benda-benda lain yang berhubungan dengan packing dan pengiriman. Yang "rugi" siapa? Tidak ada, karena biaya transport yang ditanggung pembeli berpindah ke biaya transport perusahaan courir/ojek online. 

Contoh biaya toko yang "hilang" dari sisi penjual, sebetulnya berpindah ke biaya internet dan marketing online, seperti mengupload foto-foto produk. Kegiatan packing yang sebelumnya tidak dilakukan (cukup masukkan ke kresek ketika di toko offline) harus dilakukan lebih berat. Hal ini mungkin juga bisa dijadikan konpensasi atas biaya toko yang mungkin berkurang.

Sedang dari sisi pemilik market place? Tentu effortnya lebih gila lagi. Mereka melakukan bakar uang ber milyar-milyar untuk membuat orang terbiasa dan mau belanja online. Dan mereka berhasil! Tapi persaingan market place akan tetap berdarah-darah. Berpindah dari toko satu ke toko lain akan sangat mudah seperti membalik telapak tangan. Tidak ada konsumen garis keras untuk satu market place. Semua tergantung harga dan cashback.

Nah market place ambil "energi" dari pihak mana? Sepertinya dia ambil energi dari biaya toko. Karena akhirnya market place offline mulai tergerus dan tutup. Mereka menghisap nyawa dari mall-mall (termasuk dalamnya perusahaan parkirnya, outsourcing pegawainya, listrik, dan lainnya).

Oh ya perusahaan internet juga mendapat energi dari perubahan ini pastinya. Sedang listrik, BBM tidak berubah karena yang menggunakan hanya berpindah.


 +  

Jadi: 





11 Juli 2019

View - (View of Life) #Mata Uang

Beberapa waktu yang lalu heboh berita mata uang Venezuela terjun bebas. Hiper inflasi melanda negeri tersebut. Untuk membeli 1 ekor ayam diperlukan 14juta matauang Bolivar. Mengambil gambar dari internet, maka akan terlihat gambarannya seperti ini:
A 2.4 kg chicken is pictured next to 14,600,000 bolivars

Bandingkan dengan Rupiah. Untuk membeli ayam utuh cukup 35ribu rupiah (ayam kampung 90ribu rupiah). Berarti 400x lipat dari nilai rupiah. Selain Venezuela ada juga negara yang mengalami hiperinflasi, yaitu Zimbabwe.

Saya akan membahas masalah 400x lipat. Jika dibandingkan di USA, maka harga ayam adalah USD 2. Artinya Rupiah 17500x lipat lebih rendah. Woowww. Disinilah carapandang berperan. Kita di sodorkan gambar dimana diperlukan setumpuk uang untuk membeli seekor ayam. Mungkin saat itu satuan uang kertas tersebut kecil. Misal per 1 Bolivar. Bagimana jika satuan uang rupiah juga kecil, misal 1 lembar sama dengan Rp 1. Maka untuk membeli 1 ekor ayam diperlukan 35 ribu lembar.


Foto diatas adalah tumpulkan uang sebesar 173 milyar hasil korupsi. Terlihat banyak sekali bukan. Namun jika di uangkan menjadi dinar, maka akan didapatkan 60rb dinar.
Penampakannya akan seperti foto dibawah ini namun 3 tumpukan.
Tumpukan uang koin yang dipakai untuk membeli motor Ninja


05 Oktober 2016

Temperature & Humidity Monitoring

Ruang server seharusnya memiliki suhu ruangan antara 18-27 derajat celcius. Tentu untuk mencapai range suhu tersebut dibutuhkan sistem pendingin. Baik itu mengguakan AC, atau pun pengaturan aliran udara. Kadangkala sistem pendingin tersebut tidak berjalan dengan baik. Terutama jika pendingin ruang server menggunakan AC standart. Saya sendiri pernah mengalami kejadian dimana AC yang digunakan tidak bekerja dengan baik, sehingga tidak dapat mendinginkan suhu ruang server. Akibatnya fatal, server overheat dan menshutdown dirinya.
Dengan pengalaman tersebut, saya terpikir untuk implementasi Temperature & Humidity Monitoring, sehingga suhu ruang server dapat dimonitor 24 jam. Langkah pertama, saya membutuhkan display yang dapat menampilkan suhu ruang server. Display tersebut harus dapat dilihat oleh team security yang rutin melakukan patroli di area pabrik dan dicatat dalam log book. Saya juga buatkan SOP terkait suhu ruang server. Apa yang harus dilakukan team security ketika suhu ruang server pada tiap levelnya.

Dari beberapa penawaran vendor, ada satu vendor yang cukup menarik penawarannya. Selain display (dan sensornya tentunya) temperature dan humidity, terdapat fitur wifi di alat tersebut. Sehingga mengambil data dari alat melalui jaringan komputer.
Penampakan alat

Secara tampilan dan fungsional alat ini cukup baik. Pengerjaannya masih belum terlalu profesional. Terlihat pemasangan plat-plat nya tidak sempurna. Selain itu, tidak disertakan buku paduan/petunjuk mengenai alat ini. Paduan dan petunjuk akhirnya diberikan via email setelah saya komplain. Itu pun masih kurang jelas. Saya harus kontak berkali-kali untuk dapat membuat alat ini dapat tersambung dengan jaringan kantor.
Penampakan software nya
Untuk sofware bawaannya, secara fungsi sudah ok. Bisa menampilkan data. Namun tidak user firendly. Karena setiap kali buka aplikasi nya, saya harus ganti IP address nya. Harusnya ada fasilitas simpan setting. Dan ada hal penting buat saya yang tidak ada di aplikasi ini. Yaitu fasilitas logging atau menyimpan data-data yang telah lalu. 

Sayapun memutuskan untuk membuat sendiri aplikasi monitoring ini. Dengan melakukan koneksi (socket programming) ke port 80, kemudian menjalankan command tertentu, maka response nya berupa tampilan "Temperature : xx || Humidity : yy". Saya tinggal melakukan parse atas hasil tersebut untuk mendapatkan nilai temperatur dan humidity. 

Buatan sendiri
Cara kerjanya adalah pada setiap waktu tertentu akan menampilkan data, dan pada waktu tertentu lainnya menyimpan value tersebut ke database. Jadi tidak semua value disimpan. Pertimbangannya untuk penghematan dan tidak perlu juga harus menyimpan data terlalu banyak. Saya setting 10 menit sekali data disimpan. Saya pilih database nya menggunakan MySQL karena rencananya saya akan integrasikan ke website internal perusahaan. Saat ini saya sudah membuat web page untuk menampilkan secara grafis history temperature dan humidity.



Oh ya, alat ini menggunakan Ardunio sebagai processornya. Referensi yang berguna:
http://www.instructables.com/id/Temperature-and-Humidity-Datalogger-Webserver

Dengan cara diatas tidak perlu lagi membuat program logger sendiri, karena sudah di kerjakan langsung di perangkatnya.




19 April 2012

Translate: How to Inherit Somebody Else’s Code

Kebetulan sekali ada artikel yang membahas tentang hal ini, di saat 2 minggu lagi saya akan melakukan hal ini. Di versi aslinya bahasa inggris, saya akan terjemahkan dengan bantuan google translate.

Source asli: http://www.softwarequalityconnection.com/2012/04/how-to-inherit-somebody-elses-code/




Anda dihadapkan dengan tugas untuk meng-upgrade aplikasi yang dibuat orang lain. Bagaimana Anda memulai dengan cepat dan dengan rasa sakit yang minimal? Berikut adalah lima pedoman nya.



Setiap pengembang/programmer menghadapi situasi dimana aplikasi membutuhkan suatu update (namun bukan dibuat sendiri dari awal). Banyak yang bilang lebih baik cabut gigi tanpa bius dibanding mengembangkan program orang lain dengan struktur kode yang tidak pasti.
Ini bukan berarti bahwa pengembang lainnya sengaja menciptakan aplikasi yang sulit di oprek. Namun ini menyangkut masalah cara berpikir pengembang lain tersebut dalam membuat aplikasi sehingga Anda akan kesulitan ketika mencari lokasi kode-kode yang diinginkan. Artikel ini memberikan beberapa tips untuk meringankan rasa sakit dan Anda bisa mulai lebih cepat.

Hindari Merasa Harus Tau Semua

Sangat penting untuk tidak menjadi terbebani oleh ruang lingkup suatu proyek tertentu. Buat gambaran dari aplikasi dalam pikiran Anda sebelum Anda menelusuri untuk menemukan detail kode. Jangan langsung berusaha menemukan tempat dalam code aplikasi dan mencoba untuk menemukan setiap detailnya-atau Anda akan terjebak dalam detailnya. Cameron Laird, seorang kontributor dari SQC,  melihat seperti ini: "Saya menyerah untuk memahami semuanya. Dalam banyak kasus, Saya me-maintenance aplikasi tanpa memahami apalikasi tersebut. Kadang-kadang hal tersebut berhasil. "
Dalam beberapa kasus, Anda mungkin tidak tahu bahasa pemrogramman yang digunakan (atau setidaknya tidak terlalu mahir). Jim Mischel menjelaskan:
"Tugas pemrogramman pertama saya adalah pada sebuah perusahaan yang memberikan dukungan perangkat lunak untuk bank kecil (vendor software). Basis kodenya terdiri dari beberapa ratus ribu baris COBOL, yang sebagian besar ditulis oleh kontraktor dari sebuah ad hoc design document . Pada saat saya mulai bekerja, tidak ada satupun pekerja disana yang telah terlibat dalam pengembangan awal. Lebih buruk lagi, saya tidak tahu COBOL.
"Saya menyadari dengan cepat bahwa akan dibutuhkan waktu dan riset yang lama untuk memahami kode orang lain. Di satu sisi, beruntung bahwa saya tidak tahu COBOL, karena bila tidak akan memunculkan rekasi bodoh yaitu: "Saya bisa menulis ulang ini lebih cepat dari saya bisa memperbaikinya." Reaksi itu hampir selalu merupakan ide yang buruk. Saya tahu bahwa saya tidak bisa menulis ulang program COBOL ribuan baris yang  telah ditugaskan untuk memperbaiki. Aku hampir tidak bisa memahami apa maksud dari kode-kode itu"
Ambil sedikit waktu untuk membaca kode yang akan Anda warisi dan menilai kualitasnya. Dalam beberapa kasus, Anda dengan senang hati akan menemukan bahwa pekerjaan itu hampir tidak sesulit yang Anda pikir. Bill Schindler, software arsitek di Holmes Corporation di Eagan, MN, menggambarkannya sebagai berikut, "Hanya ada tiga jenis kode yang akan Anda warisi. Yang terbaik adalah ketika programmer lain berpikir dengan cara yang sama Anda lakukan dan tahu dengan jumlah yang sama. Jika tidak, Anda mewarisi kode dari seseorang junior (dalam kemampuan, bukan hanya masa kerja), atau dari seseorang yang senior untuk Anda. "

Organisirkan

Baca dokumentasinya dan coba untuk mencocokkannya dengan modul aplikasi-nya. Terlalu terburu-buru adalah buang-buang waktu. Habiskan waktu di depan untuk menemukan fungsionalitas aplikasi tersebut, karena Anda tidak pernah akan mengerti sampai Anda melakukannya.
Rod Stephens, dari VB Helper , melakukan dengan cara ini. "Ada tiga alasan utama yang mungkin membuat Anda harus mengambil alih kode orang lain: untuk memperbaiki bug, untuk mengembangkan, atau untuk me-maintenance di masa depan. Pada ketiga alsan tersebut, tujuan Anda adalah untuk memahami kode secepat mungkin sebelum Anda dapat membuat perubahan." Laird menerangkan lebih jauh, "Habiskan waktu di depan. Saya ingin berlatih membuat aplikasi. Di tempat pertama, saya perlu meyakinkan bahwa semua telah benar-benar ada, dan mulai dari awal membantu saya dengan itu. Juga, melihat arsitektur dari pabrik membantu saya masuk ke dalam mentalitas para pekerja di dalamnya. "
Lihatlah aplikasi dari perspektif pengguna akhir . Jika memungkinkan, duduk dengan user dan melihat pekerjaan rutin harian yang dilakukan user. Luangkan waktu untuk bermain dengan aplikasi dan membangun pemahaman tentang bagaimana sebenarnya aplikasi itu berjalan untuk menghindari prasangka-prasangka yang mungkin Anda pikir.
Buat daftar lengkap komponen untuk aplikasi, termasuk perangkat keras tempat aplikasi akan bergantung, dengan menggunakan perangkat Application Performance Monitoring (APM). Anda mungkin akan terkejut untuk menemukan bahwa tidak ada yang benar-benar tahu komponen apa saja yang dibutuhkan aplikasi untuk melakukan tugasnya. Tentu saja, Anda tidak harus menggunakan seperti yang disebutkan diatas untuk melakukannya. Laird menambahkan, "Saya juga ingin semua tersusun rapi dalam Sistem Kontrol Source Code."

Luangkan Waktu Secukupnya pada hal Detail

Cari area yang membutuhkan perubahan dan baca komentar/keterangan programmer yang ada dibelakang code tersebut. Dengan pemahaman Anda diperoleh dari dokumentasi aplikasi dan gambaran  telah Anda bangun dalam pikiran, Anda mungkin menemukan bahwa komentar akan sangat membantu.
Namun, jangan terlalu berharap. Mischel berpendapat seperti ini:
"Komentar akan sering bohong seperti seringnya benar. Tapi jangan mengabaikannya sama sekali. Bahkan sekalipun jika komentar tidak cocok dengan kode yang dikomentari. Mereka tetap memberikan informasi yang berharga. Jika komentar dan kode tidak cocok, maka salah satu berikut ini adalah benar:
1) Anda tidak memahami sesuatu.
2) Komentar sebenarnya benar, tetapi ada perubahan kode.
3) Komentar ini menceritakan bagaimana harapan kode tersebut harusnya berjalan.
Setiap komentar tunggal dengan sendirinya tidak terlalu berguna, tetapi ketika Anda memperhatikan/merangkup semua komentar dalam modul tertentu atau seluruh sistem, Anda akan mulai memahami  cara berpikir programmer sebelumnya, dan hal tersebut akan dapat membantu Anda untuk lebih memahami kode nya . "
Gunakan debugger untuk melacak melalui kode aplikasi yang Anda tidak mengerti. Jalan step-by-step  melalui code. Namun ingat bahwa Anda tidak sedang mencari kesalahan, Anda hanya ingin melacak melalui kode untuk melihat bagaimana hal itu berfungsi. Perbedaan perspektif adalah penting.
Stephens mengatakan, "Gunakan debugger untuk mempelajari apa yang kode lakukan dan untuk mengisolasi bug. Set suatu breakpoint dalam kode yang mengandung masalah dan jalan pelan-pelan untuk mencari tau apa yang salah. Jangan mulai memodifikasi kode sampai Anda benar-benar mengerti apa yang tujuannya dan apa yang sebenarnya dilakukan. Sungguh menakjubkan betapa banyak orang hanya mengatakan, 'Aku bertaruh aku tahu apa yang terjadi', dan mulai memodifikasi kode tanpa memverifikasi bahwa teori mereka benar. "

Jangan Menemukan kembali Roda

Ada godaan untuk membuang apapun yang tidak anda mengerti dan menulis ulang dari awal. Pendekatan ini biasanya terbukti sia-sia dan akhirnya Anda melewatkan tenggat waktu jika Anda mencobanya. Seperti yang Mischel jelaskan, "Butuh waktu jauh lebih sedikit untuk mempelajari, memahami, dan memperbaiki kode daripada menulis ulang semua dari awal. Perbedaan waktu akan makin jauh ketika berhadapan dengan sistem lebih besar dan lebih kompleks. Dalam lima tahun saya bergulat pada kode program perbankan. Saya tidak ingat situasi di mana saya menemukan bahwa menulis ulang bagian dari kode lebih cepat dibandingkan dengan memahami kode yang sudah ada dan kemudian memperbaikinya."
Selain itu, Mischel mengatakan, bahkan kode yang ditulis dengan buruk pun. "Membuang kode itu dan menulis ulang karena itu 'mudah' adalah keputusan yang sangat buruk," Lanjutnya, "Dengan gagalnya untuk memahami kode, berarti Anda telah kehilangan keuntungan dari proses pengumpulan informasi sebelumnya. Sebagai hasilnya, 'implementasi baru Anda yang lebih baik' dipastikan hampir akan gagal dan akan memerlukan debugging jauh lebih banyak dari yang Anda pikir. "

Lakukan Update Ketika Diperlukan

Jika sebelumnya dikatakan praktik "Menemukan kembali Roda" adalah hal yang buruk, kadang-kadang aplikasi harus dikorbankan ketika dihadapkan pada suatu masalah. Russ Mullen, Jasa Mullen Bisnis, jika ditemukan proyek semacam itu dan perlu membuat beberapa perubahan signifikan.
"Saya mengerjakan pada sebuah aplikasi dengan front end berbasis web dan back end SQL. Setelah saya sudah membuat beberapa perubahan sehingga aplikasi tersebut bekerja  dengan benar, manajemen memutuskan untuk mengubahnya ke aplikasi desktop karena peralatan yang tesedia tidak bisa menangani volume pekerjaan yang akan diperlukan.
Setelah mendesain ulang saya berhadapan dengan masalah yang mengharuskan saya untuk mengkonversi hub lama mereka menjadi switch yang lebih cepat, selain itu di-update pula RAM dari workstation, dan sebagainya. Konversi aplikasi terjadi dalam tiga tahap, dengan upgrade OS baru pada tahap pertama, bersama dengan membuat beberapa koneksi baru antara kantor pusat dan perusahaan satelitnya. Tahap kedua adalah menciptakan entri data baru yang lebih lengkap. Akhirnya, fase ketiga adalah berhubungan dengan form-form laporan"

Membuat sebuah Proses Berharga untuk Anda

Penting diingat bahwa anda mendapatkan pengalaman pribadi dari pekerjaan yang Anda lakukan. Hal ini merupakan investasi buat Anda. Schindler melihat kode-kode yang sulit adalah suatu pengalaman belajar yang potensial. "Orang-orang cenderung merespon secara berbeda terhadap kode yang ditulis oleh seseorang yang lebih sempurna daripada mereka buat. Ini bisa membuat frustasi juga, karena Anda melihat apa yang mereka lakukan dan Anda benar-benar bingung. Melihat kode yang ditulis oleh orang cerdas adalah sebuah tantangan, Anda bisa belajar sesuatu darinya ".
Anda tidak selalu cukup beruntung untuk dapat bekerja dengan kode dari seseorang lebih sempurna daripada Anda. Stephens menambahkan, "Jika Anda tidak mendapatkan pelajaran dari bekerja dengan kode orang lain, maka Anda akan mendapatkan pelajaran buruknya. Saya pernah melihat proyek tanpa dokumentasi dengan kurang dari 500 komentar dari 60.000 baris kode yang ada. Bahkan untuk mengubah sesuatu yang kecil pun harus dilakukan selama ber-minggu-minggu karena hampir mustahil untuk mencari tahu apa program itu lakukan" Dari situ Anda akan mendapatkan pelajaran bahwa Anda harus meng-imporove code yang ada buat agar mudah di-maintenance di masa mendatang.

Penutup

Mewarisi kode orang lain bisa sulit, membuat frustasi, dan membingungkan. Namun, jika Anda mengerjakannya dengan benar, maka tugas update aplikasi tidak akan sulit. Bahkan, Anda mungkin menemukan bahwa pengalaman belajar untuk kesempatan di masa depan.
Tentu saja, bekerja dengan kode orang lain juga merupakan proses pembelajaran. Anda menemukan bahwa Anda akan memiliki tanggung jawab untuk orang lain yang mungkin meneruskan pekerjaan Anda. Seperti yang Stephens katakan, "Kasihanilah mereka yang mengikuti Anda. Catatlah,  tulislah dokumentasi, dan berikan banyak komentar/keterangan. Saya sudah benar-benar menemui sebuah proyek gagal karena kurangnya komentar. Ini tidak hanya akan membantu siapa saja yang kemudian perlu memodifikasi kode Anda, tetapi akan membantu Anda jika Anda perlu melihat kode lagi beberapa bulan atau tahun dari sekarang dan Anda tidak ingat cara kerjanya. "

06 Oktober 2011

Arisan Emas

Dua tahun sekali ada arisan keluarga. Arisannya itu menggunakan harga emas sebagai patokan. Namun saya belum tertarik untuk ikut arisan tersebut karena saya merasa ada yang salah dalam arisan ini. Karena dulu ketika ibu mertua mendapatkan arisan, harga emas masih murah, jauh sekali dengan harga emas sekarang. Jadi rasanya menjadi beban ketika membayar arisan. Logikanya dengan menggunakan nilai emas diharapkan nilai uang hasil arisan tidak akan termakan oleh inflasi. Karena arisan dilakukan setahun 2x dengan jumlah peserta puluhan, maka satu putaran arisan bisa memakan waktu puluhan tahun. Tentu jumlah uang arisan akan menyusut (untung orang yang mendapat pertama daripada yang mendapat terakhir).

Akhirnya saya tau apa yang salah pada sistem arisan emas ini. Yaitu tidak konsistennya penggunaan emas. Harusnya dalam arisan ini yang dibayarkan adalah emas, bukan uang rupiah. Namun susah juga kalau harus bayar 1 gr emas. Cara lain adalah, setelah mendapatkan arisan, harus langsung di belikan emas. Emas tersebut di simpan untuk membayar arisan sampai selesai (terkendala juga, apa harus menjual emas setiap arisan). Jika tidak dengan cara ini maka yang mendapatkan arisan di awal dianggap berhutang dengan bunga sebesar kenaikan harga emas. Sedang yang mendapatkan diakhir dianggap menabung dengan bunga kenaikan harga emas (menabung dengan emas/investasi emas). Beruntunglah yang mendapatkan arisan terakhir kali.

Jika nanti saya harus ikut, maka sistem arisan ini harus diubah. Bayar arisan dengan emas, maka dapatnya emas.


11 Maret 2011

Alay Vira

Hari ini pas mau download avira free edition, tertegun ketika melihat model di situs avira. Posenya alay banget hahaha. Apa mungkin karena download versi free jadi dikasih model yang seadanya juga.

01 Oktober 2010

Yang baru dari www.jawapos.co.id JILID 3

Wah, www.jawapos.co.id terus ber-inovasi! Dari sebelumnya benar-benar free koran Internet, sekarang menjadi "situs koran yang masukknya dibuat repot".
Laporan sebelumnya:

Seperti biasa, setiap lewat jam 10 pagi, saya sempatkan untuk buka www.jawapos.co.id untuk memantau berita yang ada dikoran jawa pos hari ini. Tapi hari ini (1 Oktober 2010), ternyata ada yang baru!

Sekarang tampilannya seperti di atas. Trus jika pencet "tombol" Digital Edition, maka akan muncul halaman di bawah ini


















Dan ternyata...harus daftar user dulu, trus login. Wah repot banget!!!

30 Agustus 2010

Situs media indonesia dianggap situs berbahaya

Saat coba membaca berita di Media Indonesia via http://m.mediaindonesia.com muncul tampilan:
















Wah ada apa nih? jangan2 kena HACK

17 Juli 2010

Akhir dari Facebook ku

Setelah lama menggunakan FB (3 tahunan) rasanya saya ingin mendapatkan sesuatu yang baru. Hal baru itu adalah bagaimananya ga punya facebook :D
Akhirnya dengan berbagai alasan saya putuskan untuk mentutup account facebook saya. Setelah dulu saya menutup account FS saya. Sekarang pun saya akan menuliskan detik-detik terakhir hidup di FB. Di temani alunan lagu Kadir (Takdir) nya P Project, akhirnya saya mantap kan untuk melakukan proses deactivate.


Tampilan terakhir FB saya...


Alasan deavtive: I spend too much time using FB...dan alasan lain sih...


Well done!


Membuka lembaran baru di:
http://www.millatfacebook.com/shindu_alazzam/



26 Juni 2010

Duck Hunt...oalah


Pernah lihat gambar di atas? Dan pernahkan main game itu??
Game NES (Nintendo Entertaintment System) ini membutuhkan input dari "Pistol", jadi klo ga punya pistol maka ga bisa mainnya.

Gambar NES Zapper (Pistol) -- From wikimedia

Pernah ga kepikiran bagaimana cara kerja alat ini. Cara pakainya cukup arahkan ke layar televisi dan tembak. Kemarin saya kepikiran untuk cari tau cara kerja alat ini ketika liat nizar main. Cari-cari di How Stuff Work, ternyata ada. Disitu disebutkan ada dua metode. Metode ini di jalankan saat pemain menekan triger pistol tersebut.
Pertama adalah: komputer menghitamkan seluruh layar dan menggambar objek target putih. Jadi photodiode dapat membedakan target dan backgroud dengan mudah. Perlu diketahui, photodiode dapat menangkap cahya yang muncul.

Cara kedua adalah dengan menghitamkan seluruh layar, kemudian memutihkan seluruhnya. Proses memutihkan itu membutuhkan waktu (walau mungkin ukuran milisecond). Maka saat proses memutihkan itu akan diketahui posisi arah tembakan pada layar dengan mendeteksi pada line keberapa warna putih di deteksi oleh photodiode.

Nah sudah tau kan ....
sumber: http://electronics.howstuffworks.com/question273.htm

20 Maret 2010

Kenangan itu masih ada....

Klo liat dari judul, pasti dikira posting ini tentang cinta-cintaan....Anda salah bung! Posting ini tentang barang-barang kenangan yang ternyata masih
tersimpan. Marik kita simak cerita dari saya

1. Dompet dengan Peta Singapore

Ceritanya dulu nemu dompet waktu bongkar-bongkar gudang. Eh pas lagi main, dompet nemu itu kena pecahan telur busuk, akhirnya aku nangis. Trus my mom beliin dompet baru. Ya ini dompetnya ada gambar peta Singapore (ga nyangka ternyata pernah ke singapore beneran). Dompet ini adalah dompet ku sejak sekitar kelas 4 SD s/d ... ga tau kapan terakhir pake.

2. Batu Ajaib

Batu ini saya temukan di....embuh lali wis an, kapan juga udah lupa. Kemungkinannya nemu di kali waktu masih di Besuki. Kemungkinan lain nemu di pinggir lapangan sepak bola Perumahan Puri Indah (sebelah nya Wisma Kusuma Indah, Pondok Gede). Jadi perkiraan dapat batu ini ketika kelas 4-5 SD. Ajaibnya apa? Ga ada sih hehehe, cuma klo lg kebelet beol, trus pegang batu itu jadi ga kebelet lagi haahahah.

3. Kaca pembesar dan Termometer Ruangan

Dua benda ini di berikan oleh alm. Om Gatot. Ah..kangen rasanya dengan alm. Waktu itu om lagi mo balik ke Lampung setelah pulang dari Kediri. Jadi mampir ke Jakarta. Banyak barang yang diberikan sih, selain dua benda di atas, termasuk juga kaset M Jackson.

4. Arloji Tag Heuer


Jam ini merupakan hasil dari transaksi senilai Rp 20.000 dengan teman SMP yang namanya Wahyu Prasetyo. Transaksi dilakukan di rumahnya. Lumayan lah jam ini buat gaya-gayaan. Waktu kejadian: Kelas 1 SMP

5. Cat Air SAKURA

Pas 17an di komplek WKI (Wisma Kusuma Indah), saya menang lomba bakiak. Wah seneng banget deh dikasih hadiah yang dibungkus kertas coklat. Setelah dibuka, ternyata salah satunya adalah cat air. Dengan merek sakura dan tulisan Jepang nya, rasanya diri ini telah menjadi maestro lukis internasional. Bener-benar luar biasa khayalan ga mutu itu. Waktu kejadian: kelas 1 SMP

6. Lepak "BoxTon"

Lepak ajaib ini ditemukan disebuah kolong bangku kelas yang telah kosong. Waktu ditemukan berisi macam-macam benang dan peralatan jahit lainnya. Btw waktu itu koq ga aku kasih ke guru ya? biar dibalikin.. :D
Akhirnya setelah berpindah tangan, lepak ini terus menemaniku sampai kelas 3 SMP. Jadi nemunya ini di SMP 259 Jakarta Timur. Nah pas kelas 3 SMP (177 Jaksel), my classmate, Nasikin, ngerobohin meja sampe lepak ku yang ada di kolongnya jatuh trus kegencet meja. Jadinya seperti yang terlihat sekarang, lepak itu penyok-penyok.

7. Printer Canon


Pertama kali aku ngeprint (sendiri) dalam hidup ku adalah dengan printer ini. Waktu itu ngeprint gambar yang dibuat dengan program DOS. Gambarnya hitam putih, bener primitif banget deh klo dibanding dengan sekarang. Waktu kejadian: Kelas 2 SMP 177.

8. Rader colongan

Satu lagi kisah hitam di hidup ku! Waktu kelas 2 SMP ada mata pelajaran Tata Busana alias jahit menjahit. Maka rader adalah tool yang penting untuk dimiliki. Kebetulan ada tugas yang harus dikerjakan dirumah, tapi gw ga punya rader!! Akhirnya timbul ide untuk "meminjam" rader punya sekolah untuk dibawa pulang. Dan ternyata "lupa" mengembalikan sampai sekarang :D

9. G-Shock

Saat itu lagi hot-hotnya jam GShock, akhirnya banyak siluman GShock muncul di pedagang-pedagang pinggir jalan di ps. Senen. Dah terbelilah jam GShock seharga 20ribu... dijual...di jual...
Waktu kejadian: Lupa, kira-kira sih pas masih SMP.

9. Kolektor Uang

Saya selama hidup ini memiliki beberapa kegilaan (seperti dalam novel Laskar Pelangi). Salah satunya adalah kegilaan pada mata uang asling dan ga umum. Kemarin waktu bongkar-bongkar peti harta karun, saya ga menemukan koleksi lengkapnya. Kemana yah?? Yang ditemukan hanya uang-uang diatas. Tapi lumayan lah, antik untuk jaman sekarang.

10. Stempel Kerajaan

Nah kali ini, saya kena kegilaan nomor 20, "Tergila-gila dengan Stempel". Dengan setengah sadar, saya minta di anterin ke tukang buat stempel. Tapi ternyata tukang stempelnya tutup, jadilah saya setengah "sakaw". Dan Ayah tercinta datang sebagai penolong! Dia mengambil sebuah penghapus kotak dan sebilah pisau. Diukirlah penghapus itu dengan nama ku, dan tralaaa...jadilah sebuah stempel dengan tulisan "Milik Shindu"...argghhh. Tapi tak satupun buku ku stempel dengan stempel itu....sory dad :D
Waktu kejadian: Lupa, kira-kira sih pas masih SMP.

11. Almamater yang ku cinta....

Lagi masih maba di Poltek ITS, rasanya sudah menjadi pemilik ITS, akhirnya membeli tempelan ITS dan menjahidnya di Jaket warna biru punya Uniska, akhirnya jadilah jaket ITS. Kemana-mana pake jaket itu, dan ketika kita lewat para gunduler maba ITS memberi hormat. Hahahahah

05 Januari 2010

Yang baru dari www.jawapos.co.id JILID 2

Dulu pernah saya bahas mengenai fasilitas PDF di situs www.jawapos.co.id
dengan judul "Yang baru dari www.jawapos.co.id"
Nah sekarang ternyata ada yang baru lagi...apaan tuhhhh

Ketika klik menu Virtual-Paper yang pertama di Indonesia, sekarang muncul seperti ini:


Wah sekarang pake login segala. Dalam pikiran saya, mungkin mau tracking personal yang mengakses virtual paper. Kemudian saya coba buat user, dan login...
Ternyata......sekarang virtual-paper ga gratis lagi :(
Ini tarifnya:


Ya udah deh, aku coba yang free 10 hari.
Dan ternyata, ketika memilih menu konfirmasi, kita tetap harus mengisi kolom-kolom konfirmasi termasuk bukti transfer...
Arghhhh....
Yo wis, ra liat jawa pos yo po po...

10 Oktober 2009

Niru apa emang seragam resmi? :)

Coba perhatikan

1. Personel Secret Service


2. Personel FBI


Personel Blackwater


Personel Densus 88 :D


Dari gambar-gambar diatas, ada satu kesamaan. Sama-sama pakai kacamata hitam. Dalam benak saya bertanya-tanya. Apa sebenarnya tujuan mereka pakai kacamata hitam itu? Apakah agar terlihat keren? Atau sebenarnya kacamata anti peluru
Yang lebih heran ketika melihat Densus 88 yang ikut-ikutan memakai kacamata hitam. Dengan wajah indonesia-nya, rasanya ga matching. Ga seperti satuan di Amrik yang kulitnya putih-putih. Mungkin sewaktu di training oleh CIA/FBI dulu penggunaan kacamata termasuk salah satu materi pokok

20 Juni 2009

No 1

Iseng searching kata "shindu" di google...Eh blog ku tampil di urutan no satu. Wah yang bener? Jangan-jangan akal-akalan google aja

09 Juni 2009

Bye bye Friendster

Setelah lama menunggu...ternyata tidak ada perubahan di FS ku.
Akhirnya ku putuskan...untuk pergi dari mu FS
Sebagai salam terakhir, ku capture tampilan mu...



Bye bye FS. Semoga engkau sukses dalam melawan FB.



Akhirnya...