Why XML ?
Kenapa XML makin populer digunakan sebagai format dokumen yang dipertukarkan antar software ? XML (eXtensible Markup Language) adalah bahasa untuk memberikan markup pada dokumen teks. Standar ini dikeluarkan oleh W3C.
Dengan XML, kita bisa membuat sebuah dokumen teks yang tadinya hanya bisa dipahami manusia, menjadi dokumen yang bisa dipahami software. Kenapa begitu ? Karena setiap informasi pada dokumen XML diberi markup yang menunjukkan ’semantik’ dari informasi tersebut. Dan markup ini bisa dikenali software.
Berikut contoh dokumen XML:
<buku>
<judul>Mari membuat blog..</judul>
<pengarang>Yani Widyani </pengarang>
<penerbit>ITB </penerbit>
</buku>
Software memahami dokumen tersebut dengan cara melakukan proses parsing. Parser diberi pengetahuan tentang arti dari setiap markup. Nah, karena XML ini sudah jadi standar W3C, maka cukup banyak parser yang bisa kita gunakan pada software kita, sehingga software bisa memahami dokumen XML.
Jadi, dokumen XML bisa dipahami manusia, dan sekaligus bisa dipahami software.
Selingan Ramadhan (5)
Idealnya, Bulan Ramadhan lebih banyak diisi dengan berbagai kegiatan keagamaan. Ternyata, bulan Ramadhan kali ini, saya tidak sempat terlibat dengan berbagai kegiatan tersebut. Kuliah yang saya pegang semester ini 9 SKS. Salah satunya adalah kuliah baru sehingga waktu persiapan materi kuliah praktis lebih panjang lagi. Belum lagi beberapa mahasiswa bimbingan yang ingin ikut wisuda Oktober. Batas sidangnya adalah Jum’at (19/9) ini. Tidak lupa urusan domestik: belanja ke pasar, antar jemput anak, dll.
Awalnya sedih juga… Tapi, setelah membaca tafsir surat Al Ashr di bawah ini, saya tidak terlalu sedih lagi…
Wal ‘ashr (Demi masa)
Innal insaana la fii khusr (Sesungguhnya manusia itu benar-benar berada dalam kerugian)
Illal ladziina aamanuu wa’amilushshaalihaati wa tawaashau bil haqqi wa tawaashau bish shabr (Kecuali orang-orang yang beriman dan mengerjakan amal shaleh, dan nasihat-menasihati supaya mentaati kebenaran, serta nasihat-menasihati agar tetap dalam kesabaran)
Pada ayat di atas, Allah SWT bersumpah dengan waktu. Tujuannya adalah agar kita memperhatikannya dengan seksama. Manusia berada dalam kerugian apabila tidak mengisi waktu dengan hal-hal yang bermanfaat, melalaikan waktu. Orang yang tidak melalaikan waktu dijelaskan dalam ayat ke-3.
Yang akan saya bahas di sini adalah tentang beramal shaleh. Apa itu amal shaleh ? Bagaimana agar kita bisa beramal shaleh sehingga tidak masuk kategori orang-orang yang berada dalam kerugian ?
Kata amiluu berasal dari kata ‘amalun yang artinya “pekerjaan yang dilakukan dengan penuh kesadaran”. Kata shalihaat berasal dari kata shaluha yang artinya “bermanfaat atau sesuai”. Jadi, amal shaleh adalah aktivitas yang dilakukan dengan penuh kesadaran bahwa pekerjaan tersebut akan memberi manfaat untuk dirinya ataupun orang lain. Amal shaleh tidak harus berkaitan dengan kegiatan keagamaan.
Mudah-mudahan, kuliah saya di kelas, membimbing mahasiswa tugas akhir, belanja ke pasar, antar-jemput anak, dll, dinilai Allah SWT sebagai amal shaleh. Seluruh kegiatan yang menyibukkan dan menghabiskan waktu itu, mudah-mudahan menjadi bagian dari amal shaleh. Dan terakhir, menulis di blog ini pun mudah-mudahan dinilai sebagai salah satu cara untuk saling menasehati dalam kebenaran dan kesabaran.
Jadi, jangan sedih dan kecewa kalau akhir-akhir ini anda sibuk dengan berbagai tugas kuliah, sibuk dengan tugas akhir, atau kegiatan lainnya. Niatkan saja kesibukan kita itu sebagai bagian dari amal shaleh kita…
Implementing WS-Security
Tahun lalu, saya (bersama para asisten di Lab RPL) terlibat dalam pekerjaan yang tujuan utamanya adalah mengintegrasikan berbagai aplikasi yang sudah ada. Integrasi di sini bukan integrasi yang ideal, tetapi sebatas melakukan pertukaran data secara otomatis. Solusi yang dipilih adalah pertukaran data melalui web services.
Karena web services tidak terlalu aman, maka kami merancang mekanisme pertukaran data yang menerapkan WS-Security (WS generasi ke-2). Dengan menerapkan WS-Security, maka header untuk SOAP message yang dipertukarkan harus ditambah dengan informasi untuk otentikasi. Informasi ini juga harus di-enkripsi agar tidak mudah dibaca. Pustaka nuSOAP (PHP) dimodifikasi agar mendukung WS-Security.
Ada dua alternatif solusi, yaitu pertukaran data secara peer-to-peer. Akibatnya, setiap aplikasi harus mengelola informasi untuk otentikasi seluruh aplikasi lain yang boleh bertukar pesan dengannya. Alternatif lain, ini yang kami pilih, adalah membangun sebuah WS-Center yang menerima permintaan data dari sebuah aplikasi dan meneruskannya ke aplikasi pemilik data. Hasilnya pun akan diberikan melalui WS-Center. Untuk solusi ini, cukup WS-Center yang harus mengelola informasi untuk otentikasi.
WS-Center ini berperan seperti direktori services. Dia mendaftar seluruh services yang tersebar di seluruh aplikasi. Sebuah aplikasi yang perlu suatu data (service) tidak perlu tahu aplikasi mana yang harus dihubungi untuk memperoleh data (service) tersebut. Solusi ini berhasil diimplementasikan, tetapi time response-nya kurang baik. Meskipun tetap jauh lebih baik dibandingkan pertukaran data manual.
WS-Center ini menurut saya mirip UDDI. Kami sudah mencari implementasi UDDI yang cocok, tapi gagal. Yang kami temukan adalah implementasi UDDI dalam Java, sehingga sulit untuk diintegrasikan dengan berbagai aplikasi yang sudah dibangun dengan PHP. Adakah yang bisa sharing ?
Atau, ini peluang untuk TA lagi ??
Selingan Ramadhan (4)
Apakah kebahagiaan itu ?
Kebahagiaan itu, menurut para sahabat, adalah sesuatu yang tidak banyak menyibukkan, kehidupan yang sangat sederhana…
Kebahagiaan itu adalah keriangan hati, karena kebenaran yang dihayati…
Kebahagiaan itu adalah kelapangan dada, karena prinsip yang menjadi pedoman hidup…
Kebahagiaan itu adalah ketenangan hati, karena kebaikan di sekelilingnya…
Dari: La Tahzan (Jangan Bersedih) – Dr. Aidh al-Qarni
Why distribute ?
Software yang kita bangun kadangkala tidak cukup jika di-deploy di sebuah site saja. Ada kebutuhan yang menjadikannya perlu didistribusikan di beberapa lokasi berbeda. Berikut ini adalah alasan mengapa beberapa komponen software perlu didistribusikan:
- mengurangi load prosesor; pada beberapa kasus, pemrosesan tidak mampu ditangani satu prosesor; dengan mendistribusikan komponen software, eksekusi bisa didistribusikan di beberapa prosesor
- ada kebutuhan pemrosesan secara khusus; pada beberapa kasus, misalnya pemrosesan sinyal digital, pemrosesan tidak bisa dilakukan oleh prosesor biasa, butuh prosesor khusus.
- pertimbangan skalabilitas; jumlah pengguna yang besar akan lebih baik apabila dilayani oleh lebih dari satu server, satu prosesor.
- pertimbangan faktor ekonomi; penggunaan banyak prosesor dengan kapasitas terbatas masih lebih ekonomis dibandingkan dengan penggunaan satu prosesor berkemampuan tinggi.
Selingan Ramadhan (3)
Bosan dengan tajil berupa kolak ?
Ini ada resep sederhana. Bahannya cukup jelly (saya pakai nutrijel), plain yoghurt, dan susu kental manis. Caranya membuatnya juga sangat sederhana: Nutrijel yang sudah jadi dipotong-potong dadu. Tuangkan plain yoghurt dan susu kental manis. Aduk hingga rata. Selesai.
Gampang kan ? Dan hasilnya adalah menu tajil yang segar…
Selamat mencoba…
Solusinya…
Lanjutan dari tulisan di bawah:
1. Tanda-tanda ada masalah
2. Root causes
Solusi untuk mengatasi berbagai penyebab masalah dalam pembangunan software adalah dengan menerapkan berbagai best practices dari berbagai pihak. Beberapa best practices yang ditawarkan adalah sebagai berikut:
Develop iteratively; dengan membangun secara iteratif, akomodasi terhadap perubahan dapat dilakukan dengan lebih baik. Beberapa resiko juga dapat dideteksi lebih dini…
Manage requirements; setiap requirement perlu diberi identitas; setiap pengubahan requirement perlu dicatat -lengkap dengan alasannya, sumbernya, dll-
Use component architectures; arsitektur berbasis komponen relatif lebih stabil; tambahan, pengurangan, atau modifikasi dapat dilakukan dengan lebih fokus, tanpa terlalu membuat efek samping terhadap komponen lainnya yang tidak perlu diubah…
Model the software visually; gambar akan lebih mudah dipahami dan meminimalkan kekurangan dari penggunaan natural language (misalnya ambigu, tidak jelas, tidak konsisten, dll)…
Verify quality; kualitas perlu dinilai di sepanjang proses, bukan di akhir proses; formal review atau walkthrough bisa dijadwalkan beberapa kali…
Control changes; proses pengubahan perlu didefinisikan; siapa yang berhak memutuskan adanya pengubahan, siapa yang boleh melakukan pengubahan, siapa yang harus mencatat setiap pengubahan, siapa yang harus menguji hasil pengubahan dll…
Best practices di atas mendasari dikembangkannya Rational Unified Process (RUP), satu metode pembangunan software yang dikembangkan oleh Rational Software. Jadi, pastikan kita memilih model proses dan metode yang tepat pada saat membangun software agar berbagai masalah yang sering muncul dapat diminimalisasi…
Selingan Ramadhan (2)
Ingat lagu Tombo Ati (Obat Hati) yang pernah ngetop ? Katanya, obat hati itu ada lima:
- baca Al Quran dan maknanya…
- shalat malam dirikanlah…
- berkumpulkan dengan orang-orang sholeh…
- perbanyaklah berpuasa…
- zikir malam perpanjanglah…
Wah, untuk istiqomah menjalankannya ternyata sulit juga ya… Pantaslah hati ini masih jauh dari rasa tentram. Penyakit hati seperti sedih, kecewa, takut, cemas, marah, dll, masih sering mampir.
Mumpung bulan Ramadhan, ayo kita obati hati kita…
Uji Performansi dan Panduan Pemilihan Browser
Bhimantyo (2004) mengembangkan sebuah panduan dan rekomendasi penggunaan browser. Ya, dengan tersedianya banyak browser, pengguna seringkali sulit memilih browser yang tepat dengan kebutuhannya dan akhirnya ‘terjebak’ menggunakan browser yang ‘ngetop’ saja.
Dari delapan browser, Tyo menguji dukungan masing-masing browser terhadap standar yang dikeluarkan W3C serta menguji performansinya. Selanjutnya, Tyo melakukan survei untuk mengetahui tren penggunaan browser.
Dari hasil pengujian dan survei, dilakukan analisis untuk menghasilkan rekomendasi dan panduan pemilihan browser. Cukup menarik fakta yang ditemukan. Misalnya, di atas 90% responden yang sering nge-blog tidak menggunakan browser yang cocok untuk para blogger. Hanya 18,5% responden yang memilih menggunakan browser yang sudah belum mendukung standar W3C.
Tyo baru pagi ini sidang TA. Nah, siapa bilang TA di Prodi IF harus selalu menghasilkan software ?
Selingan Ramadhan
Membaca tafsir satu ayat di bawah ini (QS. Al Humazah-1) ternyata cukup menyentak…
Wailullikulli humazatillumazah
“Kecelakaan untuk setiap pengumpat dan pencela”
Wailun biasanya digunakan untuk menggambarkan kecelakaan dan kehinaan. Kata ini diulang-ulang sebanyak 27 kali di dalam Al Quran. Humazah berasal dari kata al hamzu yang artinya “memojokkan orang lain dengan ucapan”. Lumazah berasal dari kata al lamzu yang artinya “mengejek dengan lisan ataupun isyarat mata atau anggota tubuh lainnya”.
Humazah dan lumazah adalah kata jamak, sehingga ancaman ayat di atas ditujukan kepada orang-orang yang sering mengumpat dan mencela sehingga perbuatan tersebut sudah menjadi karakter hidupnya.
Rasulullah SAW menjelaskan bahwa mengumpat (ghibah) itu adalah membicarakan orang lain tentang apa yang tidak disukainya.
Kalau kita renungkan, begitu sering kita terjebak dalam situasi ‘mengumpat’ dan .’mencela’. Rasanya tidak afdol ngobrol-ngobrol tanpa membicarakan orang lain. Rasanya kurang afdol kalau kita belum berkomentar tentang penampilan orang lain. Lihat saja di TV saat ini… Banyak sekali acara yang disebut sebagai infotainment yang isinya bisa masuk kategori ‘mengumpat’ dan ‘mencela’. Pagi, siang, sore, dan malam hari…
Kecelakaan seperti apa yang diancamkan ayat tersebut di atas ? Jawabannya ada di ayat-ayat berikutnya… Mudah-mudahan kita tidak termasuk golongan pengumpat dan pencela…
(dari Tafsir Al Quran Kontemporer-nya Pak Aam Amiruddin)
-
Archives
- January 2010 (1)
- December 2009 (8)
- November 2009 (5)
- October 2009 (15)
- September 2009 (12)
- August 2009 (5)
- July 2009 (4)
- June 2009 (7)
- May 2009 (14)
- April 2009 (7)
- March 2009 (7)
- February 2009 (18)
-
Categories
- analysis
- aspect oriented
- CBSE
- critical system
- design
- digital learning
- e-business
- ecosystem
- final project
- fun
- health informatics
- introduction
- lecture
- maintenance
- method
- oop
- others
- programming
- project
- project management
- quality
- real time system
- requirement
- research
- service computing
- soa
- software architecture
- software developer
- software metrics
- software process
- software product
- software quality
- software standard
- technology
- testing
- tools
- Uncategorized
- webE
-
RSS
Entries RSS
Comments RSS