Goal Oriented Requirements Engineering (GORE)

Meskipun terdapat beberapa metodologi dan pendekatan dalam Information System Development Life Cycle (SDLC), secara umum mempunyai tahap-tahap pengembangan[3]: studi kelayakan, investigasi, analisis, desain, implementasi, serta review&maintenance. Analisis merupakan tahapan yang utamanya menitikberatkan pada penentuan/penemuan kebutuhan (requirements) user. Ukuran keberhasilan suatu sistem software adalah  ditentukan seberapa besar sistem software itu memenuhi/sesuai dengan tujuannya[5], yang tentu saja akan diperoleh ketika tahap analisis sistem tersebut. Oleh karena itu dalam dekade terakhir ini, muncullah disiplin baru yang dikenal dengan Requirements Engineering (RE) yang mengcover kegiatan dalam tahap analisis sistem.

RE adalah proses untuk menemukan tujuan (purpose) dari sistem software dengan mengidentifikasi stakeholder dan kebutuhan-kebutuhannya dan dengan mendokumentasikannya dalam bentuk yang dapat diterima dalam analisis, komunikasi, dan implementasi berikutnya[4]. Dalam RE, orientasi Goal dan Agent(Actor), diketahui sebagai pendekatan yang lebih menjanjikan dibanding pendekatan barbasis fungsional maupun pendekatan tradisional lainnya[1]. GORE merupakan pendekatan didalam RE berientasi Goal dan Actor yang akhir-akhir ini berkembang cukup pesat. Salah satu alasan kemunculan GORE ini adalah dirasakannya kekurangcukupan dalam pendekatan analisis tradisional ketika berkenaan dengan sistem software yang lebih kompleks[5] dan agar dapat lebih difahami oleh stakeholder. Kebanyakan pendekatan tradisional, lebih menekankan pemodelan requirement dalam bentuk low-level pada data, operasi, dan lainnya yang lebih banyak difahami oleh programmer & developer internal lainnya, sedangkan stakeholeder/user/customer cenderung kurang peduli dengan pemodelan seperti itu. Sementara Goal model (GORE) juga dilengkapi pada sisi high-levelnya[5].

Beberapa metode/teknik yang telah dikembangkan dalam GORE, a.l[6]: Deriving Tabular Event-Based Specifications from goal oriented requirement model (DTEBS), GBRAM(Goal-Based Requirements Analysis Method[5]), AGORA(Attributed Goal-Oriented Requirements Analysis Method[9]), Visual Variability Analysis for goal models (VVA), Goal-Oriented Idea Generation Method (GOIG), Deriving Operational Software Specifications (DOSS), Agent-Based Tactics for goal-oriented requirements elaboration (A-BT), and goaloriented requirement elicitation based on General System Thinking Heuristics (GSTH). Selain itu ada juga[5]: Non-Functional Requirements Framework (NFR Framework), i*/Tropos, Knowledge Acquisition in autOmated Specification atau Keep All Objects Satisfied (KAOS), maupun Goals-Skills-Preferences Framework (GSP Framework)[10]. Dari beberapa metode/teknik tersebut, ada yang masuk kategori berbasis Agent/Actor (Agent-based), ada juga yang masuk kategori berbasis Goal (Goal-based).

Dari beberapa metode/teknik tersebut, ada yang telah dikelompokan berdasarkan RE coveragenya[6], walaupun tidak semua metode/teknik tersebut tercover. Lihat Gambar 1:

GORE Methods Coverage

Referensi:

[1]   Donzelli, P., Bresciani, P., “Goal Oriented requirements Engineering: a case Study in eGovernment”, proceedings of the 15th Conference on Advanced Information Systems Engineering (CAISE’03), Klagenfurt, Austria, 16-20 June, 2003

[2]   B. Hui, S. Liaskos, J. Mylopoulos. Requirements Analysis for Customizable Software: A Goals-Skills-Preferences Framework. Proc. International Conference on Requirements Engineering (RE’03), Monterey, USA, September 2003

[3]   Avison, D., Fitzgerald, G., “Information System Development methodologies, techniques & tools 4th ed.”, McGrawHill, 2006.

[4]   B. Nuseibeh, S. Easterbrook. Requirements Engineering: A Roadmap. Proc. Conference on the Future of Software Engineering.Limerick, Ireland, June 2000

[5]   Lapouchnian, A., “Goal-Oriented Requirements Engineering: An Overview of the Current Research”, Department of Computer Science University Of Toronto, 2005

[6]   Anwer, S., Ikram, N., “Goal Oriented Requirement Engineering: A Critical Study of Techniques”, XIII ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC’06), 2006.

[7]   Singh, Y., Gosain, A., Kumar, M., ”Evaluation of Agent Oriented Requirements Engineering Frameworks”, International Conference on Computer Science and Software Engineering, 2008

[8]   Sarantis, D., Charalabidis, Y., Askounis, D., “A Goal Oriented and Knowledge Based e-Government Project Management Platform”, Proceedings of the 43rd Hawaii International Conference on System Sciences, 2010.

[9]   Haruhiko Kaiya, Hisayuki Horai, Motoshi Saeki, “AGORA: Attributed Goal-Oriented Requirements Analysis Method”. Proceedings of the IEEE Joint International Conference on Requirements Engineering (RE’02), University of Essen, Germany, 2002.

[10]         Hui, B., Liaskos, S.m Mylopoulos, J., “Requirements Analysis for Customizable Software: A Goals-Skills-Preferences Framework”. Proc. International Conference on Requirements Engineering (RE’03), Monterey, USA, September 2003

Inilah 21 Finalis IWIC 2009

Inilah 21 Finalis IWIC 2009.

Belajar dari Situ Gintung, Perlu Sistem Realtime Peringatan Dini Bahaya Jebolnya Bendungan

Jebolnya Waduk/Bendungan Situ Gintung Ciputat jum’at(27 Maret 2009) yang lalu bak tsunami kecil, telah menghanyutkan & memporak porandakan ratusan rumah serta menelan 98 jiwa meninggal dan 100 jiwa lainnya masih dinyatakan hilang. Innalillahi wainna ilaihi raji’un…

Banyak yang menilai, kejadian semacam ini seharusnya dapat diantisipasi/dideteksi di awal sehingga bendungan itu tidak sampai jebol, atau jika kejadian jebolpun korban maupun kerugiannya dapat lebih diminimalisir.

Salah satu solusi yang mungkin bisa dijadikan bagian dari solusi integral pengelolaan bendungan untuk membantu meminimalisir terjadinya bahaya itu adalah Sistem Realtime Peringatan Dini Bahaya Jebolnya Bendungan, singkat aja sebagai SiMetani Bendungan hehe…

Idenya adalah di titik-titik tertentu dipasang sensor-sensor yang dapat mendeteksi variabel-variabel bahaya tersebut. Kemudian sensor-sensor tersebut secara otomatis/periodik & realtime akan mengirimkan data-datanya ke komputer pusat/server (komunikasi/pengiriman datanya bisa melalui radio/seluler/lainnya). Komputer pusat akan mengolah & menganalisa data, jika ada sesuatu parameter/nilai yang nilainya melewati ambang & dianggap bahaya, maka komputer pusat secara otomatis akan memberikan peringatan/warning & menyebarkan informasinya ke pejabat-pejabat terkait (ke handphonenya misalnya), instansi-instansi terkait maupun ke posko-posko & masyarakat yang berkepentingan dengan adanya alarm tanda bahaya. Arsitektur umumnya mirip dengan Sistem Pemantau Curah Hujan yang telah ditulis di blog ini juga (http://imamshofi.wordpress.com/2008/11/25/sistem-pemantau-curah-hujan-dengan-memanfaatkan-teknologi-layanan-komunikasi-bergerak/)

Beberapa variabel bahaya yang dapat dipasang sensor itu a.l: curah hujan, ketinggian air, pergeseran/keretakan tanah, dll.

Kita cukup banyak mempunyai bendungan-bendungan yang tersebar di seluruh nusantara, diantaranya dekat dengan pemukiman penduduk. Sudah sewajarnya dikembangkan sistem semacam ini, toh biayanya saya kira tidak terlalu mahal & sangat terjangkau oleh pemerntah. Kita juga sudah cukup banyak memiliki ahli-ahli untuk dapat mengembangkan sistem semacam ini.

Permainan: Uniknya angka 3 & 9

Angka 3:

Kita tahu kelipatan 3 adalah 3, 6, 9, 12, 15, 18, 21, 24, 27, …

Nah semua bilangan (kecuali 0), jika kita kalikan dengan 3, maka hasil penjumlahan bilangan yang tersusun adalah antara 3, 6, & 9.

Misalnya:

3×4 = 12 –> 1+2 = 3, 3×5 = 15 –> 1+5 = 6, 3×6 = 18 –> 1+8 = 9

3×7 =21 –> 2+1 = 3, 3×8 = 24 –> 2+4 = 6, 3×9 = 27 –> 2+7 = 9

dst…

sampai perkalian yang menghasilkan lebih dari 2 digitpun akan demikian.

3×43 = 129 –> 1+2+9=12–>1+2=3, 3×44 = 132 –> 1+3+2=6, 3×45 = 135 –> 1+3+5=9

Keunikan berikutnya adalah jika kelipatan 3 tersebut diatas dikalikan dengan 37, seperti berikut ini:

3 x 37 = 111

6 x 37 = 222

9 x 37 = 333

12 x 37 = 444

15 x 37 = 555

18 x 37 = 666

21 x 37 = 777

24 x 37 = 888

27 x 37 = 999

hmmm….

Angka 9:

Semua bilangan jika dikalikan dengan 9 maka hasil penjumlahan bilangan yang tersusun adalah  9 juga. Misalnya:

5 x 9 = 45 –> 4 + 5 = 9,

15 x 9 = 135 –> 1+3+5 = 9,

dst..

Unik bukan…? Nah ini bisa dijadikan bahan permainan dengan teman-teman.

Struktur Data Tumpukan (Stack)

Tumpukan (stack) adalah sekumpulan data yang organisasi atau strukturnya berupa tumpukan. Elemen-elemen baru atau biasa disebut simpul (node) dapat diletakkan maupun diambil dari sebuah tumpukan hanya dari bagian akhir (atas). Oleh sebab itu, maka tumpukan mengacu pada struktur LIFO (Last In First Out), yaitu elemen yang terakhir masuk adalah yang awal dapat dikeluarkan. Kadang juga disebut struktur FILO (First In Last Out).
Aaron M. Tenenbaum mendefinisikan stack sebagai berikut : (Tenenbaum, Aaron:1996)
“A stack is an ordered collection of items into which new items may be inserted and from which items may be deleted at one end, called the top of the stack”
Beberapa contoh ilustrasi yang dapat menggambarkan tumpukan dan cara beroperasinya adalah tumpukan sate, tumpukan Compact Disk (CD), dan lain-lain. Sate misalnya, si pembuat sate menusukan (memasukan) daging sate ke tusukan satu per satu dari ujung tusukan (ujung yang runcing) menuju/mendekati batas pangkal, jika telah dimasak, maka si pemakan sate akan mengeluarkan (memakan) sate satu persatu dari ujung (yang akhir-akhir dimasukan si pembuat, itulah yang awal-awal dimakan). Demikian juga dengan tumpukan CD, orang akan mengambil CD dari tumpukan teratas yang mana merupakan yang terakhir dimasukan di dalam tumpukan.
Struktur data tumpukan banyak digunakan di beberapa aplikasi komputer. Sebagai contoh adalah sebuah prosessor yang mengeksekusi sebuah program, ketika pemanggil fungsi (function call) tercipta, maka fungsi yang dipanggil tersebut harus mengetahui bagaimana untuk kembali ke program, oleh sebab itu alamat (address, di memori komputer) saat ini dari eksekusi program harus dimasukan (push) kedalam tumpukan. Suatu ketika fungsi tersebut selesai dilaksanakan, alamat yang disimpan/dimasukan kedalam tumpukan tadi dikeluarkan kembali dari tumpukan. Jika deretan pemanggil fungsi muncul, maka nilai pengembalian (return value) berturut-turut akan dimasukan kedalam tumpukan dengan mengikuti struktur LIFO, sehingga masing-masing fungsi dapat kembali bersesuaian fungsinya untuk memanggil program.
Tumpukan juga digunakan oleh compiler didalam memproses evaluasi ekspresi dan men-generate kode bahasa mesin. Tumpukan juga digunakan untuk mengelola/menyimpan alamat kembalian (return address) dalam sebuah rantai pemanggil method (method calls) selama eksekusi program.

Kemana ya cari Sekolah?

Pah..Yazka sekolah baiknya dimana ya? Pertanyaan ini sering muncul dari istriku akhir-akhir ini yang juga jadi pertanyaanku juga..:).

Terus terang kami berpikir keras bagaimana sebaiknya mensekolahkan anak kami ini. Dia baru berumur 5th 2bln, tetapi sekarang sudah di TK Besar (hampir setahun ini). Dia sudah jauh-jauh hari (jauh-jauh bulan) sebelumnya selalu merengek setelah lulus TK ini, mau masuk SD. Memang kalau kami perhatikan, dari sisi kemampuan membaca, menulis, berhitung, dllnya (kecuali umur), anak ini sudah layak masuk SD. Sementara jika tetap bertahan di TK anak ini khawatir/sudah hampir pasti jenuh. Tetapi dari info-info yang kami dapat, kalau dibawah umur 6tahun, seorang anak tidak dapat diterima di SD Negeri. Sementara jika masuk SD swasta, biayanya itu loh… Dari hasil survey sekilas kami, rata-rata SD swasta di Wilayah Jakarta maupun pinggiran Jakarta biaya masuknya saja bisa lebih dari 7juta, (apalagi yang kualitasnya ehm…, bisa bisa belasan bahkan likuran juta lebih),  sementara SPP tiap bulannya juga rata-rata diatas 300rb.  Saya yang seorang dosen (Negeri) + beberapa penghasilan tambahan (halal gak ya? seorang PNS sambil punya pekerjaan lain sbg penghasilan tambahan)  aja pusiing,  gimana yang lain ya??? hehe..

Kemana ya cari Sekolah???

Materi UAS Struktur Data

Kepada Mahasiswa TI-3A s/d TI-3D, berikut adalah kisi-kisi materi yang harus dikuasai dalam menghadapi  UAS:

  1. Implementasi & pemanfa’atan Tumpukan (Stack):
    • implementasi statik & dinamik
    • pemanfa’atan oleh Compiler dalam memeriksa kelengkapan pasang kurung, mengkonversi antar notasi (Infix, Prefix, Postfix) mapun penyelesaian operasi aritmetik
    • pemanfa’atan untuk Reverse Word, konversi dari desimal ke biner, dll.
  2. Implementasi & pemanfa’atan Antrian (Queue):
    • implementasi statik & dinamik
    • pemanfa’atan dalam berbagai keperluan (a.l: parking system, messaging system, antrian di loket-loket, dll.)
  3. Implementasi & pemanfa’atan Senarai (List):
    • implementasi statik (array list) & dinamik (linked list)
    • pemanfa’atan dalam berbagai keperluan
  4. Implementasi & pemanfa’atan Pohon (Tree):
    • implementasi pohon biner (binary tree), pohon pencarian biner (binary search tree),
    • metode kunjungan (travelsal methods) : PreOrder, InOrder, & PostOrder
  5. Implementasi & pemanfa’atan Graf (Graph):
    • implementasi graph dengan matriks maupun list
    • Kunjungan graph (DFS, BFS)
    • Pemanfa’atan untuk menentukan jalur terpendek (Algoritma Dijkstra, Warshall, & Flyod)

Sebagian besar (sampai 80%) adalah materi diatas, sedangkan sisanya (sekitar 20%) adalah materi teori/pemahaman tentang Stack, Queue, List, Tree & Graph.

Soal terdiri-dari soal pilihan ganda & essay.

Q: who is the real terrorist in the world? A:israel

Judul tersebut merupakan status terakhir saya mulai kemarin di facebook maupun Yahoo Messanger berkaitan dengan serangan “gila” israel di Gaza. Beberapa status saya sebelumnya a.l:

tgl27&28 Des 2008 (sesaat stl terjadinya serangan):  ikut mengutuk serangan “gila” israel dan mendukung upaya penghentiannya.

tgl.29 Des 2008 – 01 Jan 2009: menanti&mengharapkan pernyataan&aksi “cerdas” Obama terkait serangan “gila” israel yg mematahkan sikap Bush

tgl.02 Jan 2009 : klo dg kutukan PBB+ratusan negara saat ini tdk digubris israel+”amerika”, perlu dipertimbangkan sgr memberi tindakan militer (kirim pasukan) unt menghentikan.

tgl.03 Jan 2009 : saatnya menghentikan israel dg aksi militer dg bantuan dr negara” muslim, indonesia bisa memelopori.

=============================

sebagaimana diketahui, sudah seminggu lebih ini dunia dibuat geram dengan ulah israel yang pembenaran tindakannya didukung “Amerika” melalui Bush. Walaupun hampir seluruh masyarakat dunia mengutuk & minta serangan “gila”nya dihentikan, tapi israel tetap dableg. Anehnya lagi, kenapa dunia (PBB) kok tidak berkutik ya??? padahal israel sudah menginjak-injak seperti itu.

—> to be continued


Kedatangan Tamu Istimewa

Jum’at, 21 Nopember 2008 (pas hari ulang tahun istriku nih…) ba’da subuh sekira pukul 05:00 didalam tidurku (setengah sadar) aku mendengar getaran handphoneku berbunyi, entah yang keberapa kali akhirnya aku tersadar, setelah aku lihat ternyata ada yang menelpon. Setelah aku angkat, terdengar suara “Assalamu’alaikum.., Imam ya? Ini pak Kyai…”. Spontanitas aku langsung terperanjat. Sebagaimana yang pernah aku tulis di blog ini, bahwa aku pernah menuntut ilmu di pondok pesantren Manba’ul A’laa Purwodadi-Grobogan kurang lebih 2tahun. Telpon tersebut seolah-olah mengingatkan aku karena sudah berminggu-minggu ini saya jarang sekali ke masjid untuk sholat jama’ah sebagaimana hari-hari sebelumnya terutama jama’ah sholat subuh. Memang semenjak saya dapat tugas mengajar yang “over load” (senin-jum’at jam 07:30-22:00, sabtu juga seharian ngajar), mungkin karena kecapekan, maka saya jarang sekali bangun menjelang subuh. Sering kali saya sholat subuh jam05:00 lewat. Astaghfirullahal adziim. Ini bisa jadi pelajaran agar nantinya (semester depan) jam mengajar tersebut dapat dikurangi. Alhamdulillah juga, mulai minggu ini, beberapa kelas yang aku handle, ada/dapat penggantinya juga. Semoga Allah menjagaku sehingga hati ini tidak berlarut-larut dalam “melupakan”-Nya.

Setelah bercakap-cakap sekedar melepas kerinduan antara Kyai dan santri, pak Kyai menceritakan bahwa Sabtu (22 Nopember 2008) beliau ada acara di Jakarta dan jika memungkinkan akan mampir ke rumah. Subhanallah…, perasaan ini campur aduk antara haru, bahagia, dll. Seorang Kyai pengasuh pondok pesantren yang cukup disegani di Kabupaten berkenan mampir ke rumah santrinya. Jadi ingat betapa tulus dan ikhlasnya pak Kyai ini mendidik santri-santrinya.

Ketika kemarin saya membaca email seorang teman dari suatu milist yang isinya tulisan dengan judul “Guru Fisika yang Insprirasional” dimana diceritakan bahwa guru tersebut:

  • selalu sudah ada di kelas sepuluh menit sebelum jam kuliah dimulai
  • selalu tampil necis:busananya, kebersihannya, dan istimewa tulisannya. Dia membersihkan sendiri papan tulis
  • pekerja cepat, hari ini ujian, besok jawaban soal-soalnya sudah tertempel di papan pengumuman.
  • hafal semua mahasiswa yang diajarnya. Pada setiap kuliah ia mampu memanggil nama mahasiswa secar acak untuk diajak berinteraksi
  • Ia bukan tipe dosen yang berbahagia melihat mahasiswa pusing tujuh keliling, lalu takut pada dosennya. Sedikitpun tak ada perangai galak padanya apalagi killer.

Setelah membaca tulisan itu, saya merasa bahwa sosok tersebut benar-benar seorang guru/dosen yang ideal. Saya sendiri merasa akan sangat susah sekali mencapai guru/dosen ideal seperti itu. Tetapi ketika ingat pak Kyai ini, subhanallah..saya merasa pak Kyai ini jauh melebihi dari ciri-ciri yang disebutkan itu. Jangankan ratusan/ribuan santri yang saat ini sedang belajar, dari ribuan santri yang pernah menuntut ilmu di ponpesnyapun, hampir semua beliau mengenalinya. Tiap hari menjelang subuh, beliau yang awal-awal membangunkan para santrinya dengan didatanginya kamar ponpes satu per satu, selalu memberi nasehat-nasehat bijak sesuai dengan kebutuhan santri masing-masing, selalu menjaga hubungan batin antara kyai dan santrinya, dll. dll. Setiap santri akan merasa diistimewakan oleh beliau.

Alhamdulillah pada sabtu itu, pak Kyai berkenan menginap di rumah walaupun beberapa jam, tapi kami sangat berkesan & mohon ma’af jika penyambutan kami kurang berkenan. Kami selalu rindu didikan-didikan dan nasehat-nasehatmu pak Kyai. Semoga Allah selalu merahmati engkau.

Sistem Pemantau Curah Hujan dengan memanfaatkan teknologi layanan komunikasi bergerak

Sekarang ini teknologi layanan komunikasi bergerak cukup banyak dan bervariatif juga biayanya yang relatif jauh lebih murah dibanding beberapa tahun yang lalu. Beberapa layanan komunikasi bergerak misalnya call, SMS, MMS, GPRS, dll. Layanan-layanan komunikasi bergerak tersebut dapat dimanfa’atkan untuk berbagai keperluan/sistem, termasuk dapat kita manfa’atkan untuk “Sistem Pemantau Curah Hujan”.

Karena dengan memanfa’atkan teknologi layanan komunikasi bergerak, Sistem Pemantau Curah Hujan atau dapat juga disingkat SIPERAHU yang dimaksud disini adalah sistem yang digunakan untuk memantau curah hujan yang terjadi didaerah tertentu dan mengirimkannya secara online/jarak jauh. Setiap turun hujan di suatu daerah akan dideteksi besar kecil curah hujan yang terjadi. Data curah hujan tersebut akan diolah menjadi data digital sesuai stadar yang berlaku, kemudian dikirimkan ke terminal pusat. Disini data yang diterima dapat berasal dari berbagai lokasi pengiriman. Kumpulan data-data tersebut dikirimkan juga ke instansi terkait (posko-posko) yang memiliki kewenangan untuk memantau data. Selain itu, setiap pihak yang mempunyai hak memperoleh informasi curah hujan juga diberikan informasi melalui SMS atau layanan lainnya.

Arsitektur umum SIPERAHU dapat dilihat pada gambar berikut: