Postingan

‘Mengamankan’ Kode dengan Obfuscator, perlukah?

Perlukah melindungi kode perangkat lunak yang kita buat dari jamahan pihak lain? Beragam pendapat akan terlontar untuk membahas masalah ini. Satu pendapat mungkin mengatakan perlu, karena itu adalah kekayaan intelektual dan kita berhak melindunginya. Dan bagi vendor /pengembang perangkat lunak yang telah menginvestasikan biaya, tenaga dan pikiran untuk membuat kode tersebut tidak rela kode yang dibuatnya dijamah (dibaca) oleh orang lain. Pendapat lain mengatakan tidak perlu, mereka berargumen kode hanyalah hasil dari sebuah proses pengembangan perangkat lunak dan nilai terbesar dari keduanya adalah proses. Orang yang membaca kode program tidak mengalami proses yang sama  dengan yang membuat kode asal, sehingga kode hanyalah cuplikan kecil dari suatu nilai yang berharga. Pandangan saya terhadap pertanyaan di atas lebih cenderung ke pendapat kedua. Pendapat pertama lebih terpengaruh oleh kaptialisme dimana semuanya dianggap ‘modal’ dan ‘milik saya’, orang lain yang ingin menja...

Oracle Package untuk fungsi ‘terbilang’ (repost)

Contoh penggunaan: SELECT PKG_DIGIT_SPELLER.ENGRupiah('12345') FROM DUAL SELECT PKG_DIGIT_SPELLER.ENGRupiah('12345.56') FROM DUAL Hasil: TWELVE THOUSAND THREE HUNDRED AND FOURTY-FIVE RUPIAHS TWELVE THOUSAND THREE HUNDRED AND FOURTY-FIVE RUPIAHS FIFTY-SIX CREATE OR REPLACE PACKAGE PKG_DIGIT_SPELLER IS /******************************************************************************* Nama Package : PKG_DIGIT_SPELLER Oleh : Ibrahim F Burhan (ibrahim@burhan.biz) Deskripsi : Menghasilkan ucapan bilangan dalam bahasa Indonesia dan Inggris Hak Cipta Oleh Ibrahim F Burhan (ibrahim@burhan.biz) 2000 Siapa saja diperkenankan untuk memakai, mengubah ataupun mengembangkan source code ini, dengan syarat tetap mencantumkan keterangan ini. Reposted from my archive (Mar 16, 2001) *******************************************************************************/ TYPE typeSpellString IS VARRAY(100) OF VARCHAR2(20); arrSpellString ...

Paradigma OO

Kata paradigma yang dimaksud dalam topik ini memiliki arti metodologi pengembangan perangkat lunak. Paradigma OO berarti metodologi pengembangan perangkat lunak dengan OO. Sebelum lebih jauh membahas OO, akan dikupas sedikit tentang paradigma. Kenapa perlu paradigma atau metodologi untuk membuat perangkat lunak? Apa sih sebenarnya paradigm? Saya akan mencoba menjelaskan bukan dengan definisi-definisi tetapi dengan sebuah ilustrasi. Perangkat lunak adalah suatu benda tak berwujud ( intangible ) yang berpasangan dengan perangkat keras yang dibuat untuk memenuhi suatu maksud atau tujuan tertentu. Tujuan atau maksud ini bisa jadi bagian dari sebuah sistem atau bahkan sistem itu sendiri. Manusia berperan dalam membangun atau membuat kedua perangkat tersebut, dan berperan untuk menggunakan atau menerima hasilnya. Misalnya perangkat lunak personalia, perangkat lunak tersebut dijalankan pada suatu komputer (perangkat keras) untuk menangani masalah-masalah yang terkait dengan pengelolaan ...

Object Oriented: Sudut pandangku

Object oriented (OO) atau terjemahannya berarahan objek (Anda dipersilakan menggunakan apa saja yang disukai) adalah sebuah istilah yang baru saya kenal dan belum diajarkan ketika saya kuliah sekitar awal tahun 1990-an. Walaupun di dunia, OO sudah dikenal jauh sebelum itu, pada matakuliah-matakuliah yang diajarkan di kampus masih sedikit yang menyinggungnya. Bahkan pada kuliah pemrograman, hanya ada pemrograman prosedural dan non-prosedural (fungsional, deklaratif, dll). Saat ini OO di Indonesia sudah meluas baik di kalangan akademisi maupun praktisi. Tapi saya masih menemukan kesalahpahaman orang tentang OO. Ada yang mengakatan “Apa gunanya memakai OO kalau masih bisa dengan yang dulu (dekomposisi fungsional atau metode terstruktur)?”, “OO dipakai biar perangkat lunak/tesis/tugas akhir/skripsi kelihatan wah!” atau “OO hanya teori, ketika implementasi pakai metode terstruktur”. Beberapa ungkapan bahkan berasal dari kalangan akademisi yang seharusnya memahami “sesuatu” di belakang/m...

Kilobyte vs Kibibyte

Kilobyte (kB) vs. Kibibyte (KiB atau K atau KB) Istilah kilobyte telah menimbulkan banyak masalah karena diinterpretasikan berbeda oleh berbagai kelompok. Ilmuwan komputer dahulu menggunakannya sebagai 2 10 , yaitu 1.024 byte. Insinyur telekomunikasi menggunakannya sebagai 1.000 byte. Komisi Elektroteknik Internasional ( IEC: International Electrotechnical Commission ) memutuskan pada tahun 1998 bahwa 1.024 byte adalah satu kibibyte (KiB) dan 1.000 byte sebagai satu kilobyte. Begitu juga satu mebibyte dinyatakan sebagai 2 20 dan satu megabyte adalah 1.000.000 byte (satu juta byte). Satu gibibyte dinyatakan sebagai 2 30 , dan satu gigabyte dinyatakan sebagai 1.000.000.000 byte (satu milyar byte).

camelCase

Cara penulisan identifier yang terdiri dari 2 atau lebih kata. Huruf awal suatu kata ditulis dalam huruf besar (kapital) dan huruf-huruf lainnya ditulis dalam huruf kecil. Contoh: Customer Account PrintWriter Aturan penulisan ini biasa dipakai pada bahasa pemrograman Java untuk nama Kelas dan interface .

Konsistensi = Motif + Kesadaran + Introspeksi

Hal yang tidak mudah dalam kehidupan sehari-hari adalah menjadikan diri ini konsisten. Entah melakukan apapun membutuhkan konsistensi, agar tujuan yang diinginkan tercapai. Ada beberapa hal yang dibutuhkan untuk menjaga konsistensi, antara lain: Motif Motif atau niat adalah energi penggerak awal atau trigger kita melakukan sesuatu. Semakin besar tingkatnya semakin besar percepatan dan kecepatan kita mengerjakan. Untuk itu dalam perencanaan, buatlah atau catatlah motif yang paling kuat/tinggi. Jangan membuat motif tersebut hanya ’sekadarnya’. Contoh: Pada saat kuliah, tentukanlah motif kita belajar. Apakah untuk sekadar mengejar titel, berbakti pada orang tua, atau yang lebih tinggi lagi. Kesadaran Hidup kita adalah fungsi waktu, dalam perjalananya bisa saja muncul gangguan-gangguan. Demikian juga dengan sesuatu yang telah kita niatkan dalam perjalanan waktu akan mendapat gangguan. Gangguan di sini adalah bermakna negatif, yaitu menurunkan konsistensi. Sehingga kecepatan yang te...