Yani’s Weblog

it’s all about software engineering…

More than just a friend…

Innalillahi wa inna ilaihi rojiun. Rasanya masih belum percaya bahwa rekan kami Dr. Ing. Farid Wazdi meninggalkan kami secepat ini. Almarhum meninggalkan kami Senin 9/2/09 pukul 00.15. Paginya (sekitar jam 10), kami mengantarkan beliau ke tempat istirahat terakhirnya.

Bagi saya, Pak Farid bukan hanya rekan sekerja di STEI. Beliau adalah wali akademik saya saat masih kuliah tahap sarjana. Beliau adalah wali yang penuh perhatian dan selalu memberi kami semangat. Perwalian kami selalu dilaksanakan di luar kampus. Beliau juga menjadi pembimbing Tugas Akhir saya. Masih saya ingat segala bimbingannya tentang bagaimana menyelesaikan sebuah TA.

Menjelang lulus, beliau juga yang mengajak saya untuk bergabung sebagai dosen. Sebelum beralih ke bidang Software Engineering, saya membantu mengajar kuliah-kuliah yang beliau pegang (Sistem Operasi dan Teknik Kompilasi). Lebih personal lagi, beliau pula yang membuat saya kenal dengan seseorang yang sekarang jadi suami saya, sehingga saat pernikahan dulu, beliau kami minta untuk menjadi salah satu saksi.

Begitu banyak hal-hal yang sudah kami lakukan bersama beliau. Tidak akan mudah melupakannya. Di bawah ini adalah foto kami saat berwisata ke Gunung Bromo sekitar tahun 95-96:

scan0005_edit_900

Ya, beliau lebih dari sekedar guru dan rekan kami…

Selamat jalan Pak Farid. Semoga Allah SWT memaafkan segala kesalahannya, menerima seluruh amal ibadahnya dan mengganjarnya dengan pahala berlipat-lipat…

February 9, 2009 Posted by yaniwid | Uncategorized | | 2 Comments

Sekolah terindah dalam hidupku…

Jum’at minggu lalu, saya diundang dua rapat di Sekolah Alam Bandung (SAB) tempat anak-anak saya bersekolah. Pertama di kelas TK-A lalu di kelas 3 SD. Itu adalah kegiatan rutin di awal semester. Acaranya adalah pembahasan weekly plan kegiatan belajar di SAB.

Banyak acara menarik yang akan diikuti Didit (TKA-A) sepanjang semester ini. Dari tema Transportasi, Didit akan berkunjung ke terminal dan station KA, bermain rakit, dan membuat origami pesawat. Dari tema Pekerjaan, ada outing ke Kantor Pemadam Kebakaran, rolling play jadi pedagang, wirausaha jualan jagung bakar, dan akan ada guru tamu seorang dokter. Dari tema Komunikasi, ada kegiatan membuat telepon sederhana, membuat kolase peta, dan ada permainan “Aku lihat, aku ingat”. Dari tema Air, Tanah, dan Udara, ada percobaan banjir, menanam dan merawat tanaman kelas, membuat maket hutan, membuat kolase sampah, lomba memecahkan balon, serta games harta karun. Dan masih banyak lagi…

Acara Kiki (3 SD) juga tidak kalah menarik. Weekly plan yang dibahas baru satu tema, yaitu Profesi, yang akan dilaksanakan hingga tengah semester. Selain kegiatan rutin menghapal Al-Qur’an, membaca satu buku per hari, menulis diary, dan berkirim email, acara pengenalan berbagai jenis profesi dikemas dalam berbagai mata pelajaran: sains, matematika, bahasa, seni dan budaya, serta kegiatan outing dan outbond. Ada bedah film Laskar Pelangi, simulasi barter (sejarah uang), outing ke Kantor Pemadam Kebakaran, dan outing ke PLTA Bengkok. Untuk kelas 3 ini, juga sudah ada rencana outing ke Taman Mini Indonesia pada tema Seni dan Budaya. Nah, kalau outing-nya jauh begini, anggota Dewan Kelas (para orang-tua yang sebagian besar diwakili para ibu) biasanya ikutan jalan-jalan… :-)

Ya, anak-anak akan cukup sibuk semester ini. Tapi mereka juga akan bergembira, karena motto SAB “Sekolah terindah dalam hidupku” benar-benar mereka rasakan…

February 6, 2009 Posted by yaniwid | Uncategorized | | No Comments Yet

Architecture Model

OK, pentingnya memilih dan merancang arsitektur software sudah kita ketahui dari posting sebelumnya. Lalu, seperti apa sebenarnya model arsitektur yang harus kita buat. Berikut adalah beberapa model yang bisa kita gunakan:

  • model struktur statis yang memperlihatkan subsistem atau komponen software yang akan kita bangun sebagai bagian-bagian yang terpisah
  • model proses dinamis yang memperlihatkan sistem diorganisasi dalam terminologi proses saat run-time
  • model antarmuka yang mendefinisikan layanan yang ditawarkan/disediakan oleh setiap subsistem/komponen melalui public interface-nya
  • model relasi yang menggambarkan berbagai relasi antar elemen model seperti aliran data antar subsistem/komponen
  • model distribusi yang menggambarkan bagaimana subsistem didistribusikan di berbagai node

Notasinya seperti apa ? Menurut saya, notasi apapun boleh digunakan asalkan mudah dipahami. Tapi memang akan lebih baik kalau kita menggunakan notasi standar. Jika menggunakan UML, model statis digambarkan dengan diagram kelas, diagram package, atau diagram komponen.  Model proses dinamis digambarkan dengan diagram proses. Model distribusi digambarkan dengan diagram deployment.

Sejumlah peneliti sebenarnya sudah mengusulkan penggunaan ADL (Architecture Description Language). Elemen dasar bahasa ini adalah komponen dan konektor. Ada aturan dan pedoman untuk mendeskripsikan well-formed architecture. Akan tetapi, bahasa-bahasa khusus tersebut umumnya hanya bisa dipahami dengan baik oleh para expert bahasanya. Agak sulit untuk digunakan secara praktis. Karena itu, notasi yang umum digunakan adalah notasi informal seperti UML.

Apakah seluruh model harus dibuat ? Makin lengkap tentu saja makin baik. Tapi, untuk kasus-kasus tertentu, mungkin kita hanya perlu memodelkan beberapa view saja…

February 6, 2009 Posted by yaniwid | software architecture | | 2 Comments

Stylish bug…

cartoon_stylish_bug

February 5, 2009 Posted by yaniwid | fun | | No Comments Yet

The Ariane 5 launcher failure…

While developing the Ariane 5 space launcher, the designer decided to reuse the inertial reference software that had performed successfully in the Ariane 4 launcher. The inertial reference software maintains the stability of the rocket. They decided to reuse this without change, although it included additional functionality over and above that required in Ariane 5.

In the first launch of Ariane 5, the inertial navigation software failed after 37 seconds and the rocket could not be controlled. Ground controllers instructed the launcher to self-destruct and the rocket payload was destroyed. A subsequent enquiry found that the cause of the problem was an unhandled exception when a conversion of a fixed-point number to an integer resulted in a numeric overflow. This caused the run-time system to shut down the inertial reference system and launcher stability could not be maintained.

The fault had never occurred in Ariane 4 because it had less powerfull engines and the value that was converted could not be large enough for the conversion to overflow. The fault occurred in code that was not required for Ariane 5. The validation tests for the reused software were based on Ariane 5 reqirements. Because there no requirements for the function that failed, no tests were developed. Consequently, the problem with the software was never discovered during launch simulation tests…

February 5, 2009 Posted by yaniwid | testing | | No Comments Yet

Class-based vs Prototype-based OO Languages

Sekian banyak bahasa pemrograman berorientasi -objek bisa dikelompokkan dalam dua kategori besar: class-based dan prototype-based. Pada class-based OO language, kita perlu mendefinisikan class sebelum melakukan instansiasi object. Sedangkan pada prototype-based, kita melakukan cloning (copy operation) terhadap prototype untuk mendapatkan object. Sebagian besar OO programming language yang populer masuk kategori class-based, seperti Java, Smalltalk, dan C++. Contoh yang prototype-based antara lain adalah JavaScript.

Sebenarnya masih ada beberapa OO programming language yang tidak mengambil pendekatan di atas. Tapi sangat jarang…

February 4, 2009 Posted by yaniwid | oop | | 6 Comments

Angka cantik…

Ini hasil capture pagi ini, setelah kurang-lebih 7 bulan nge-blog:

status-3-nov2

February 3, 2009 Posted by yaniwid | Uncategorized | | 6 Comments

Semester baru…

Masih seperti biasanya, semester ini pun kuliah Rekayasa Perangkat Lunak masih saya yang pegang, paralel dengan kelas yang dipegang Bu CS. Yang baru adalah saya mengajar kuliah Pemrograman Berorientasi Objek, ber-partner dengan Pak AI dan Pak RSP. Ini adalah jam terbang pertama saya di kuliah ini. Pengalaman PBO saya baru di taraf sebagai pemrogram, bukan pengajar. Kuliah pemrograman lain yang pernah saya pegang adalah Pemrograman Fungsional dan Struktur Data. Jadi, ayo kita belajar bersama-sama .. :-)

February 3, 2009 Posted by yaniwid | lecture | | No Comments Yet