Tuesday, November 11, 2008

Taut ke "Strategi Mewujudkan Sekolah Murah di Indonesia"

Saya menemukan artikel yang menarik di blog Ilma Pratidina :

http://netsains.com/2008/10/strategi-mewujudkan-sekolah-murah-di-indonesia/

Senang juga mengetahui banyak orang yang punya kepedulian bagi kemajuan bangsa ini, dan mampu menuangkannya dalam usulan yang konkrit :)

Monday, November 10, 2008

Software Modeling Tools yang saya gunakan

Hampir 2 tahun berjalan semenjak saya dan teman mulai serius berkutat dalam software development. Sejauh ini kami berupaya menerapkan praktik-praktik software engineering yang telah kami pelajari (meski dalam penerapannya kami sesuaikan untuk setiap kasus yang dijumpai). Mumpung ada semangat untuk menulis =p kali ini saya akan berbagi informasi seputar modeling tools yang kami gunakan, baik saat pengembangan produk maupun saat mengerjakan proyek. Sampai dengan saat ini saya mengkategorikan kakas pemodelan yang saya gunakan ke dalam 2 kategori yaitu:
  • Software Architecting
  • Business Process Modeling

Untuk Software Architecting saya memakai StarUML (staruml.sourceforge.net) dan melakukan pemodelan menggunakan notasi UML. Metode yg saya gunakan dalam software development adalah Object Oriented Software Engineering (OOSE) jadi saya banyak memodelkan entity object, interface object, dan controller object. Dan syukurlah StarUML mendukung semua notasi utk objek-objek tersebut :)

Penggunaan StarUML secara intensif sebenarnya baru saya mulai sekitar 3 bulan lalu (meski sudah saya install sejak setahun yg lalu =p) sebagai pengganti Rational Rose. StarUML merupakan open source software dengan lisensi GPL (GNU Public License), mendukung spesifikasi UML versi 2.0 (StarUML™ maximizes itself to order UML 1.4 standard and meaning, and it accepts UML 2.0 notation on the basis of robust meta model), dan mendukung MDA (Truly Platform Independent Models (PIM) can be created, and Platform Specific Model (PSM) and executable codes can be automatically generated in any way). Untuk kebutuhan pemodelan static dan behavioral dengan menggunakan 9 jenis diagram UML, StarUML saya anggap sudah memadai. Untuk fitur MDA saya tidak tahu bagaimana dukungannya sebab saya belum menerapkan MDA dlm kegiatan software development.

Dibandingkan free-software lainnya seperti AgroUML, saya lebih memilih StarUML karena StarUML merupakan native-application jadi lebih cepat dieksekusi, dan saya pantau penggunaan memorinya (RAM) juga tidak besar. AgroUML saya nilai lebih lambat dan berat (penggunaan RAM tergolong besar), maklum karena dibangun menggunakan Java dan hal ini cukup mengganggu kenyamanan memrogram saya karena biasanya saya menjalankan minimal 3 buah program secara bersamaan. Area kerja (drawing area) AgroUML juga lebih sempit, kecuali mau menggunakan layar monitor yg besar :(

Netbeans juga menyediakan plug-in untuk menggambar diagram UML tetapi meski saya menggunakan Netbeans sebagai IDE utama, saya tidak memilih menggunakan plug-in tersebut karena (lagi-lagi) konsumsi RAM yang cukup besar (umumnya saat memrogram saya melihat konsumsi RAM oleh Netbeans 6.5 RC2 sebesar ~300MB). Selain itu terkadang saya hanya perlu melakukan modeling UML tanpa memrogram. Jadi seandainya kegiatan tersebut saya lakukan di Netbeans, maka untuk memulainya saja sudah harus menunggu loading time yang cukup lama.

Ke depannya saya dan teman berencana membeli Sparx Enterprise Architect untuk menggantikan StarUML. Saya sudah mencoba test-drive Enterprise Architect (EA) dan saya nilai lebih bagus dari StarUML dalam hal kelengkapan dokumentasi dan tampilan. Untuk soal code-generation, saya dapati hasil Rational Rose masih lebih tepat ketimbang StarUML maupun EA.

Untuk Business Process Modeling saya menggunakan BizAgi BPMN Process Modeler yang mendukung pemodelan menggunakan notasi BPMN (Business Process Modeling Notation). Tampilan BizAgi sangat intuitif, warna-warni diagram-nya menarik, dan simple. BizAgi juga merupakan free software (no need to buy). Sejauh ini saya belum menggunakan BizAgi secara intensif dan hanya untuk pemodelan yg tergolong simple. Sebelum menggunakan BizAgi saya menggunakan Visio dan Borland Together Architect.

Oh ya, baik StarUML maupun BizAgi hanya tersedia untuk platform Win32 (setidaknya hingga artikel ini dimuat). Untuk platform *nix, saya belum melakukan eksplorasi ^_^

Wednesday, November 05, 2008

My Review about Sang Pemimpi


Two thumbs up!!!

Jika membaca buku ini dengan sepenuh hati dan open-minded, maka byk sekali kisah2x perjuangan yg bisa dijadikan contoh. Buku ini memotivasi pembaca utk berusaha menggapai impian/cita-cita dan tidak berkeluh kesah dgn berbagai keterbatasan yg ada. Serunya lagi, ini based on true story :)


Buku ini jika dibandingkan dengan buku-buku karya Robert Kiyosaki, Tung Desem, atau buku-buku chicken soup, dan dilihat menggunakan "kacamata" keadaan di Indonesia (negara berkembang), maka buku ini lebih menggugah semangat dan motivasi untuk maju. Bukan karena buku-buku tersebut kurang bagus, tetapi kebanyakan buku-buku tersebut memberikan motivasi dlm bentuk strategi atau pandangan-pandangan terhadap suatu masalah dimana pembaca yg disasar adalah orang yang memang sudah siap utk menjalankannya (karena mereka berada dlm lingkungan yg memiliki standar kehidupan yg lebih baik dari masyarakat "kecil" Indonesia). Tapi jika yg hendak menjalankan strategi tersebut belum punya tekad baja untuk berjuang, maka penerapan strategi bisa kandas di tengah jalan. Nah di sinilah saya melihat peran buku "Sang Pemimpi", yaitu sebagai peletak motivasi dasar utk bagaimana berjuang menggapai mimpi dengan tidak menghiraukan segala keterbatasan dan keterpurukan/kemiskinan. Bahkan bila perlu menjadikan keterpurukan/kemiskinan sebagai teman dalam perjuangan. Jadi bagi yg ingin maju, baca dulu buku ini baru kemudian dilanjutkan membaca buku2x motivasi/strategi yg lebih modern.

Thursday, October 30, 2008

Sistem dan Data


1. Pendahuluan

Sistem dan data merupakan dua istilah yang sering kita dengar, terlebih lagi di dalam era informasi sekarang ini dimana komputer memiliki peranan yang penting dalam aktifitas kehidupan kita sehari-hari. Keduanya merupakan hal yang saling berkaitan. Untuk dapat lebih memahami apa yang dimaksud dengan sistem dan apa yang dimaksud dengan data, melalui tulisan ini penulis mencoba untuk menjelaskan keduanya.


2. Penjelasan sistem

Sistem secara umum dapat diartikan sebagai kumpulan komponen-komponen yang saling bekerja sama untuk mencapai suatu tujuan tertentu. Masing-masing komponen tersebut memiliki fungsi tersendiri, tetapi saling berinteraksi satu sama lain sehingga melalui interaksi tersebut dapat tercapai hasil yang lebih besar, yang merupakan tujuan dari sistem tersebut. Keberadaan sistem dapat kita jumpai di sekeliling kita. Sebagai contoh, tubuh kita dapat merasakan suatu sensasi berdasarkan gejala fisik yang dialaminya misalnya, rasa sakit jika kulit kita terkena benda tajam. Rasa sakit tersebut bisa dirasakan karena adanya sistem penginderaan yang bekerja. Komponen-komponen yang bekerja dalam sistem tersebut sangat kompleks, mulai dari respon saraf-saraf pada kulit ketika terkena benda tajam kemudian diteruskan ke sistem saraf tulang belakang dan diteruskan lagi ke otak kita, dan selanjutnya otak kita menginterpretasikan adanya rasa sakit. Contoh lain dari sistem adalah kegiatan bisnis. Komponen-komponen yang terlibat dalam kegiatan bisnis meliputi pemasaran, keuangan, penjualan, personalia, dan lain sebagainya. Demikian halnya dengan mesin komputer, baik komputer yang kita gunakan sehari-hari yang dikenal dengan nama PC (Personal Computer) maupun komputer yang digunakan sebagai server atau mainframe, juga merupakan suatu sistem. Adapun komponen-komponen yang terlibat dalam sistem komputer meliputi keyboard, mouse, monitor, memori, CPU, perangkat lunak, dan perangkat-perangkat lainnya.


Di dalam sistem dikenal adanya proses. Proses dapat dikatakan sebagai kegiatan-kegiatan (aktifitas) yang terjadi di dalam sistem untuk mendukung tercapainya tujuan dari sistem tersebut. Banyaknya proses yang terjadi di dalam suatu sistem bergantung dari tingkat kompleksitas sistem tersebut. Bisa hanya terdapat satu proses atau bisa juga lebih. Beberapa proses yang melakukan aktifitas sejenis atau melakukan aktifitas yang bertujuan untuk memperoleh suatu hasil dan hasil tersebut akan digunakan kembali oleh sistem, maka proses-proses tersebut dapat dikelompokkan untuk membentuk sistem yang lebih kecil dari suatu sistem yang besar. Sistem yang kecil tersebut disebut sebagai sub-sistem. Gambar 1 berikut menggambarkan secara umum sistem dan komponen penyusunnya.


Gambar 1. Gambaran sistem secara umum


Pada Gambar 1 di atas, sistem digambarkan sebagai sebuah kotak persegi yang didalamnya terdapat komponen-komponen yang digambarkan sebagai lingkaran-lingkaran kecil. Komponen-komponen tersebut menjalankan fungsinya masing-masing dan saling berinteraksi. Apa yang dilakukan oleh komponen-komponen tersebut menjadi suatu proses yang terjadi di dalam sistem.

3. Penjelasan data

Untuk dapat lebih memahami tentang sistem maka sebelumnya kita juga perlu memahami apa yang dimaksud dengan data. Hal ini perlu dilakukan sebab data dan sistem merupakan dua hal yang saling berkaitan dan saling membutuhkan.

Kata data secara tata bahasa merupakan bentuk majemuk dari kata datum. Data dapat diartikan sebagai informasi dalam bentuk mentah, yaitu merupakan kumpulan fakta. Data jika diolah dengan suatu aturan tertentu dapat memberikan informasi yang bermanfaat. Karena pengertian data (dan juga informasi) demikian luasnya, maka sesuatu hal dapat dikatakan sebagai data atau sebagai informasi, bergantung dari pihak-pihak yang menggunakannya dan juga bergantung dari konteks penggunaannya. Sebagai contoh, dalam kegiatan jual-beli di toko sepatu, seorang pegawai mengatakan bahwa sepatu jenis A memiliki stok sebanyak lima buah. Bagi seorang konsumen yang ingin membeli sepatu jenis A, fakta yang disampaikan oleh pegawai tersebut merupakan informasi bahwa sepatu yang diinginkan masih tersedia cukup banyak. Bagi seorang manajer yang ingin menghitung tingkat pembelian sepatu, fakta yang diberikan oleh pegawai tersebut merupakan salah satu data yang diperlukan untuk mengetahui perbandingan tingkat pembelian sepatu jenis A dibandingkan sepatu jenis lainnya. Lain lagi bagi pengunjung toko yang tidak ingin membeli sepatu jenis A, fakta tersebut tidak berarti sama sekali bagi dirinya. Contoh data lainnya adalah biodata mahasiswa. Yang tersimpan dalam biodata mahasiswa adalah nama, nomor induk, alamat, tanggal lahir, dan sebagainya. Kumpulan biodata ini selanjutnya oleh sistem kemahasiswaan dapat diolah dengan aturan tertentu untuk menghasilkan suatu informasi, misalnya untuk mengetahui usia rata-rata mahasiswa ketika pertama kali mendaftar, persentase jumlah mahasiswa berdasarkan asal daerah, dan lain sebagainya.

4. Hubungan sistem dan data

Setiap sistem memiliki tujuannya masing-masing dan proses yang dilakukan untuk mencapai tujuan tersebut pun berbeda-beda. Untuk mencapai tujuannya, sistem perlu berinteraksi dengan lingkungan luar, yaitu lingkungan yang tidak berada di dalam sistem. Lingkungan luar tersebut akan memberikan masukan (input) kepada sistem. Bagi sistem, masukan yang diberikan tersebut merupakan data yang perlu diproses agar diperoleh informasi yang diinginkan. Setelah data diterima oleh sistem, maka data akan digunakan di proses-proses dalam sistem tersebut. Hasil pemrosesan yang dilakukan akan memberikan suatu hasil/informasi/keluaran (output). Sebagai contoh, ketika kita menggunakan komputer untuk keperluan mengetik surat, komputer sebagai suatu sistem berinteraksi dengan kita untuk mendapatkan masukan berupa karakter-karakter atau perintah-perintah dan selanjutnya memproses masukan tersebut dan memberikan hasil/informasi berupa tampilan yang dapat kita lihat di layar monitor, ataupun hasil fisik berupa cetakan (print out). Perlu diketahui bahwa sumber data yang digunakan oleh sistem tidak harus selalu berasal dari lingkungan luar, akan tetapi bisa juga berasal dari dalam sistem itu sendiri. Gambaran umum hubungan sistem dan ditunjukkan pada Gambar 2 berikut:


Gambar 2. Hubungan sistem dan data


Karena sistem terdiri dari komponen-komponen yang berfungsi melakukan aktifitas tertentu, maka fungsionalitas dari tiap-tiap komponen turut mempengaruhi kinerja sistem. Apabila suatu komponen tidak dapat menjalankan fungsinya dengan baik, maka akan mempengaruhi komponen-komponen lain yang berinteraksi dengannya dan pada akhirnya dapat mempengaruhi output yang dihasilkan oleh sistem.

Dari penjelasan singkat di atas, kita dapat memahami secara mendasar apa yang dimaksud dengan sistem, data, dan bagaimana hubungan keduanya. Banyak sekali contoh sistem yang bisa kita temui di sekeliling kita. Hal lain yang perlu diketahui adalah, sistem ada karena dibutuhkan.


Pustaka
  1. James A. Senn, Analysis & Design of Information Systems, second edition, McGraw-Hill, 1989.

  2. Roger S. Pressman, Software Engineering A Practitioner's Approach, fifth edition, McGraw-Hill, 2001.

  3. Benhard S., Diktat perkuliahan matakuliah Manajemen Informasi, Institut Teknologi Bandung, 2003.


Tuesday, April 29, 2008

Ujian Negara, Menguji Kejujuran

Artikel ini diambil dari harian Kompas. URL asli: http://www.kompas.com/kompascetak.php/read/xml/2008/04/29/00183589/un.menguji.kejujuran


UN, Menguji Kejujuran
Selasa, 29 April 2008 00:18 WIB
Denni B Saragih

Dietrich Bonhoeffer suatu kali memberi contoh tentang seorang anak yang ditanya gurunya di depan kelas, apakah bapaknya pernah pulang dalam keadaan mabuk.

Ketika menjawab tidak pernah, si anak telah berbohong karena kenyataannya tiap hari bapaknya pulang dalam keadaan mabuk. Masalahnya, kepada siapa beban dan sanksi moral ketidakjujuran si anak harus ditanggungkan? Kepada si anakkah? Atau kepada guru yang telah menempatkannya dalam posisi tidak berdaya untuk mengatakan kejujuran?

Kejujuran adalah sesuatu yang relasional. Unsur hubungan tidak dapat dipisahkan dari apa yang disebut kejujuran dan kecurangan. Kejujuran bukan sesuatu yang statis, tetapi sesuatu yang hidup dan dinamis sesuai konteks di mana kejujuran dan kecurangan terjadi. Memisahkan konteks kehidupan dari masalah kejujuran, menjadikan kejujuran sebagai sesuatu yang kosong, tinggal tampang semata.

Dari kacamata ini, membaca kecurangan ujian nasional (UN) bisa memberi pengertian berbeda tentang kecurangan yang terjadi.

Kecurangan dalam UN bukan fenomena steril yang bisa dipisahkan dari konteks kebijakan itu dilaksanakan. Artinya, kecurangan tidak harus dibaca sebagai ekspresi dari karakter curang dan licik yang harus diberikan sanksi dan hukuman. Kecurangan bisa berarti sebuah ekspresi rasa frustrasi dari guru dan siswa karena tidak berdaya menghadapi tuntutan sebuah kebijakan.

Eksperimen kejujuran

Mendiknas dalam berbagai kesempatan menyebutkan UN sebagai ujian kejujuran bagi guru dan siswa. Pernyataan ini menarik saat dibaca dalam konteks politikus menguji kejujuran para guru. Menguji kejujuran adalah pengujian sebuah karakter. Karena itu, eksperimen kejujuran ini adalah sebuah pedang bermata dua. Penguji kejujuran menempatkan diri pada posisi yang superior secara moral dalam hal kejujuran.

Penguji berarti lebih jujur, termasuk dalam menguji sebuah kebijakan yang disebut UN. Karena itu, UN adalah sebuah ujian kejujuran bagi para pembuat kebijakan dan pengambil keputusan. Benarkah UN memiliki dampak meningkatkan mutu pendidikan sebanding dengan biaya, baik anggaran, sosial, psikologis maupun moral, yang harus dibayar?

Penangkapan 18 guru-guru di Lubuk Pakam yang sedang mengganti jawaban peserta UN adalah sebuah tragedi kejujuran. Membaca peristiwa ini semata-mata sebagai tindakan tidak bermoral yang harus dihukum dan dicela adalah sama seperti menyalahkan seorang anak yang berbohong untuk menutupi kenyataan bahwa orangtuanya adalah pemabuk.

Sebaliknya, pembuat kebijakan yang menempatkan guru-guru itu dalam posisi ”tidak berdaya” dan ”terpaksa membela” anak didiknya dengan cara-cara sungsang ini tidak sepatutnya mencuci tangan dengan memosisikan diri sebagai innocent evil.

Blunder etika dan sosial UN

UN adalah sebuah blunder etika. Menolong seorang pemabuk untuk berhenti sebagai pemabuk bukan dengan menempatkannya dalam sebuah rumah yang penuh minuman beralkohol. Membangun kejujuran dalam dunia pendidikan bukan dengan memberi tuntutan yang tidak masuk akal untuk dipenuhi guru dan siswa.

Pertanyaan yang mendegilkan diri untuk muncul setiap kali laporan kecurangan UN menunjukkan fenomena massal adalah, mengapa guru dan siswa sepakat beramai-ramai melakukan kecurangan?

Terlalu negatif bila dijawab, hal itu menunjukkan kemerosotan moral yang amat parah. Tanpa menyangkal bahwa gejala kemerosotan moral memang selalu terjadi, sulit untuk menutup mata terhadap penafsiran bahwa gejala itu menunjukkan rasa tidak percaya diri yang sedemikian besar dalam menghadapi UN.

Karena itu, kecurangan UN adalah sebuah pemberontakan secara diam-diam (silent betrayal) dari sekolah, siswa, dan guru terhadap pembuat kebijakan UN. Ketika protes terbuka bukan sebuah pilihan yang menarik dan menyiapkan diri dengan berbagai drill sekeras-kerasnya berakhir dengan frustrasi dan desperasi, kecurangan UN adalah sebuah keniscayaan.

UN memikul beban terlalu berat ketika dijadikan syarat mutlak sebuah kelulusan. Benar sekali, UN adalah sebuah kejujuran, bukan bagi guru dan siswa, tetapi bagi para pengambil keputusan dan pembuat kebijakan UN.

Denni B Saragih Dewan Pembina Komunitas Air Mata Guru

Monday, February 11, 2008

Never Ending Journey

Three years have past since my last (actually the first) post and now... still I haven't start to fill my blog with something useful. It seems that I'm too busy in my software development, too much thought, etc.

Cartoon by Scott Simmerman