Langsung ke konten utama

Postingan

Menampilkan postingan dari 2007

ASCII Art

Jaman dahulu ketika komputer masih barang langka, tugas-tugas sekolah yang berupa laporan biasanya dibuat dengan mesin ketik (ketik atau tik yang benar ya?). Bentuk laporan sebenarnya sederhana-sederhana saja, cuman menggunakan karakter yang monospace, dan kadang-kadang diselingi lapisan tip-ex (ini nama produk bukan nama generik). Ada hal yang menarik ketika membuat laporan tersebut, yaitu ketika membuat sampulnya. Karena ukuran font yang ada cuman satu-satunya maka dicarilah trik bagaimana meperbesar dan menonjolkan judul. Saat itu saya menggunakan karakter sama dengan “=” dan matriks 5 x 7 untuk membuat sebuah huruf. Contohnya:  ===   ==== =   =  =   = =   =  =   = =====  ==== =   =  =   = =   =  =   = =   =  ==== Hal tersebut mirip dengan ASCII art . Di bawah ini adalah gambar diri saya dalam ASCII art dengan menggunakan JavE .

Learning English

A couple weeks ago I have taken final test for English course in level 7. On November 4, new term will begin. I haven’t seen the test result yet, but I hope I passed it. If I did, I will continue to level 8, the last level in English course. Here, my company provides English class for its employees to enhance their English skill. This skill was very important because there were many expatriates worked for the company. Even though only a few expatriates left, the skill is still relevant. It is also needed as a requirement for employee who wants to get promoted, for example in order to get promoted as Superintendent, a candidate should have passed level 6. This writing is an exercise for me to get used to English. Some mistakes could be made and occurred, but I think it’s a process. A process for better skill. More writings in English will appear in my blog as part of that process. So to you, reader, I beg for your help to correct any mistakes and give any suggestions. Thank you.

Ramadhan Mubarak

Selamat datang bulan yang penuh rahmat, berkah dan ampunan. Semoga menjadi jalan untuk masuk golongan Muttaqin. Saya mohon maaf atas khilaf dan salah, baik yang disengaja maupun tidak.

Language Theory Humor

Diambil dari buku  The Definitive ANTLR Reference ,  Terence Parr . Language Theory Humor Apparently, the great Niklaus Wirth* had an excellent sense of humor. He used to joke that in Europe people called him by “reference” (properly pronouncing his name “Ni-klaus Virt”) and that in America people called him by “value” (pronouncing his name “Nickle-less Worth”). At the Compiler Construction 1994 conference, Kristen Nygaard† (inventor of Simula) told a story about how, while teaching a language theory course, he commented that “Strong typing is fascism,” referring to his preference for languages that are loose with types. A student came up to him afterward and asked why typing hard on the keyboard was fascism. *. See  http://en.wikipedia.org/wiki/Niklaus_Wirth . †. See  http://en.wikipedia.org/wiki/Kristen_Nygaard .

Doa yang Makbul

Berdoa merupakan bentuk pengharapan yang dipanjatkan kepada Sang Khaliq. Berdoa menyampaikan apa yang belum teraih saat ini dan dimohonkan tergapai di masa datang . Sehingga untuk mewujudkan harapan perlu diwujudkan dengan usaha yang aktif , bukan pasif. Dengan berjalannya waktu ke konsisten an dan ke pasrah an yang diberikan dalam berusaha akan berujung pada keterkabulan harapan. Powered by ScribeFire .

Kerja IT

Bagi Anda yang lulusan atau berlatar belakang keilmuan IT, Manakah yang menjadi pilihan Anda? Bekerja IT di perusahaan dengan core business-nya IT, atau Bekerja IT di perusahaan bukan IT, atau Bekerja bukan IT. Saya pribadi telah mengalami dua opsi teratas. Ada suka dan dukanya pada dua jenis pekerjaan tersebut. Yang pertama penuh ketegangan sedangkan yang kedua terlalu santai. Bagi fresh grad terjun langsung ke tempat kedua mungkin akan mengalami kebosanan dan mungkin akan segera resign dengan alasan ‘tidak menantang’. Bagi yang sudah berumur tetap bertahan sebagai kuli di tempat kerja pertama mungkin akan merasa beban bertambah berat. Powered by ScribeFire .

MDA - Part 4: Lapisan Pemodelan

OMG menggunakan arsitektur empat lapis ( four-layered ) dalam standard-standard yang dipakai di MDA. Lapisan ini mendefinisikan model-model untuk tingkat abstraksi yang berbeda, masing-masing lapisan dinamakan sebagai M0, M1, M2, dan M3. Lapisan-lapisan tersebut memuat sebuah hirarki dari tingkatan-tingkatan model, masing-masing (kecuali yang paling atas) merupakan sebuah instans dari ( instance of ) tingkatan di atasnya. Tabel 1 adalah penjelasan masing-masing lapisan pemodelan beserta contohnya. Lapisan M0 (Apa yang dimodelkan) Lapisan M0 adalah lapisan dari data user ( user data ), atau merupakan instans aktual. Sebagai contoh, seorang mahasiswa dengan nama “Budi” dan beralamat di “Jalan Ganesha 10”, dan seorang mahasiswa bernama “Ahmad” dan beralamat di “Jalan Dago”, keduanya adalah instans. Lapisan M1 (Model) Lapisan M1 adalah model yang memuat M0. Sebagai contoh, mahasiswa dapat dimodelkan dalam UML sebagai kelas yang memiliki atribut nama dan alamat. Lapisan M2 (Metamodel

MDA - Part 3: Metamodel

Sebuah metamodel adalah sebuah model spesifikasi untuk sebuah kelompok dari SUS dimana masing-masing SUS dalam kelompok tersebut adalah sebuah model yang sah ( valid ) yang diekspresikan dalam bahasa pemodelan tertentu. Metamodel membuat pernyataan-pernyataan tentang apa yang dapat diekspresikan dalam model-model yang sah untuk sebuah bahasa pemodelan tertentu [1] . Gambar 5 menunjukkan hubungan antara model, bahasa, metamodel dan metabahasa. Pembangunan dalam MDA adalah proses mentransformasi model asal menjadi model sasaran, masing-masing model diekspresikan dalam sebuah bahasa pemodelan tertentu, sehingga diperlukan pendefinisian dua macam bahasa pemodelan. Oleh karena pemodelan adalah sebuah formalisasi dari pengetahuan, maka diperlukan suatu model untuk mendefinisikan sintaks dan semantik dari bahasa pemodelan. Model untuk bahasa pemodelan ini disebut metamodel, sebagai contoh standard dari UML ditulis dengan menggunakan metamodel UML [2] . Gambar 5 Model, Bahasa, Metamodel dan

Gaya Membaca

Membaca adalah sebuah aktivitas yang menyenangkan sekaligus menguras pikiran. Ada tulisan yang menghadirkan emosi dan ada juga yang murni mengerahkan segenap power dari ‘processor’ di kepala. Membaca bisa sekedar mengaktifkan otak kanan, menyalakan otak kiri, dan juga sekaligus keduanya. Setiap orang memiliki cara tersendiri dalam membaca. Untuk membaca buku, saya tidak selalu harus menyelesaikan tuntas sebuah buku. Kadang-kadang pada saat bersamaan saya bisa membaca dua atau lebih, maksudnya tidak persis bersamaan — tepatnya timesharing. Belum selesai satu bagian dari sebua buku, saya bisa berpindah ke bagian tertentu buku lain. Ini biasanya dilakukan ketika membaca buku teks atau buku teknik. Membaca blog, saya suka bagian komentar dari topik yang sedang diketengahkan. Semakin banyak komentar semakin sering saya kunjungi dan blog dari pengomentar akan saya kunjungi juga untuk melihat apakah dia hanya bisa berkomentar saja atau menulis topik. Bagaimana dengan Anda? Powered by

Ketika Syukur adalah Nikmat (juga)

Syukur adalah sebuah ekspresi/ungkapan positif terhadap nikmat yang diperoleh. Syukur dapat diwujudkan dalam ucapan maupun perilaku. Segala bentuk syukur menunjukkan kesadaran akan bernilainya nikmat yang diperole, yang diberikan oleh sang Khaliq. Tapi pernahkah terpikirkan betapa banyak nikmat yang belum disyukuri? Bahkan syukurpun adalah sebuah nikmat, karena tanpa pemberian-Nya, tak dapatlah syukur terwujud. Jadi, nikmat mana lagi dari Rabb-mu yang didustakan?

Tak ada listrik di kota penghasil batu bara

Sudah untuk yang ke sekian kalinya aliran listrik dipadamkan. Kekesalan atas ketidakbecusan PLN dan Pemkab Kutai Timur dalam mengelola listrik di kota Sangatta sudah memuncak. Bagaimana tidak, kota dengan tambang batu bara yang sangat besar tapi tidak bisa menyuplai energi? Kemana APBD yang 1,3 triliun itu? Sampai geleng-geleng kepala saya memikirkannya….

MDA - Part 2: Model

Model sebuah sistem adalah sebuah deskripsi atau spesifikasi dari sistem tersebut beserta lingkungannya untuk keperluan tertentu [1] . Sebuah model dapat dikatakan juga sebagai sebuah himpunan pernyataan tentang suatu system under study (SUS), sistem dalam penelaahan. Pernyataan mengandung makna beberapa ungkapan ( expression ) tentang SUS yang dapat ditentukan benar atau salah. Sebuah model dapat digunakan untuk menggambarkan SUS, dalam hal ini model dapat dikatakan tepat jika semua pernyataannya adalah benar untuk SUS [2] . Sebuah model adalah sebuah abstraksi dari sesuatu yang ada dalam kenyataan, merupakan sesuatu yang lain dari benda ( thing ) yang dimodelkannya, dan dapat digunakan untuk suatu hal (misalnya, menghasilkan sesuatu yang nyata) [3] . Model biasanya ditampilkan atau diekspresikan sebagai kombinasi dari gambar dan tulisan. Sebuah bahasa pemodelan ( modeling language ) dapat digunakan untuk mengekspresikan pernyataan-pernyataan dalam model. Pada pemodelan perangkat l

MDA - Part 1

Tulisan mengenai MDA ini akan dibagi ke dalam beberapa bagian. Bagian pertama ini adalah pengantar MDA. Tulisan ini adalah bagian dari Tesis Magister penulis di bidang Rekayasa Perangkat Lunak. Model-Driven Architecture Model-Driven Architecture (MDA) adalah visi dari OMG (Object Management Group) untuk pembangunan sistem yang menekankan pada integrasi, portabilitas dan guna ulang ( reuse ). MDA memfokuskan pada pemisahan spesifikasi fungsionalitas sebuah sistem dengan spesifikasi implementasi dari fungsionalitas tersebut pada sebuah platform teknologi tertentu [1] . MDA dan standard-standard yang mendukungnya memungkinkan sebuah model yang menspesifikasikan suatu sistem dapat direalisasikan ke dalam banyak platform . MDA dapat dipandang sebagai kerangka kerja ( framework ) dalam proses pembangunan perangkat lunak. Fokus dari MDA adalah pentingnya model dalam proses pembangunan perangkat lunak. Pada MDA, proses pembangunan perangkat lunak disetir ( drive ) oleh aktivitas pemodelan s

‘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 menjamah

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