19 Mar 2007

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?

13 Mar 2007

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 lunak, UML (Unified Modeling Language) telah menjadi bahasa pemodelan de facto [2].
Hubungan antara model, sistem dan bahasa pemodelan ditunjukkan oleh Gambar 3 [3]. Suatu model menggambarkan suatu sistem dan diekspresikan dalam suatu bahasa pemodelan tertentu.
Hubungan antara Model, Sistem dan Bahasa Pemodelan
Gambar 3 Hubungan antara Model, Sistem dan Bahasa Pemodelan

Setiap model dapat diekspresikan dalam bahasa pemodelan yang berbeda. Masing-masing bahasa pemodelan memiliki kemampuan yang berbeda dalam menggambarkan aspek-aspek dari sistem, sebagai contoh suatu sistem dapat digambarkan dengan model ER (Entity-Relationship) atau model Petrinet (Gambar 4). Pemilihan bahasa yang digunakan untuk memodelkan sistem bergantung pada aspek apa yang menjadi perhatian.
Sebuah sistem memiliki aspek struktural dan dinamika yang masing-masing digambarkan oleh model yang berbeda, yaitu model struktural dan model dinamika. UML memiliki kemampuan untuk menggambarkan kedua aspek tersebut dalam diagram yang berbeda, misal aspek struktural digambarkan dalam diagram kelas, dan aspek dinamika digambarkan dalam diagram state.

Gambar 4 Sebuah Sistem Digambarkan ke alam Model dan Bahasa yang Berbeda


Referensi:

  1. MDA Guide Version 1.0.1, OMG, 12 June 2003.
  2. Weiss, E. (2003), What Models Mean, IEEE Software, vol. 20, no. 5, Sept./Oct. 2003, pp. 26-32.
  3. Kleppe, A. et al. (2003), MDA Explained: The Model Driven Architecture™: Practice and Promise, Addison Wesley.

12 Mar 2007

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 sistem perangkat lunak [2].
Siklus hidup pembangunan dengan MDA berbeda dengan siklus hidup pembangunan tradisional dalam hal artifak yang dihasilkan selama proses pembangunan. Pada MDA, artifak yang dihasilkan adalah berupa model (Gambar 1 (b)), berbeda dengan yang dihasilkan oleh pembangunan secara tradisional (Gambar 1 (a)). Ada tiga macam model yang dihasilkan dalam proses pembangunan dengan MDA, yaitu:
  1. Platform Independent Model (PIM)
    Model pertama yang didefinisikan oleh MDA adalah sebuah model dengan abstraksi tingkat tinggi yang bebas (independent) terhadap teknologi implementasi. Model ini disebut dengan Platform Independent Model (PIM).
  2. Platform Specific Model (PSM)
    Pada langkat berikutnya, PIM ditransformasikan ke dalam satu atau lebih Platform Specific Model (PSM). Sebuah PSM dibuat untuk menspesifikasikan sistem dalam kaitannya dengan konstruksi implementasi yang tersedia pada sebuah teknologi implementasi tertentu. Sebagai contoh, PSM EJB adalah sebuah model dari sistem dalam lingkup struktur EJB, biasanya terdiri dari home interface, entity bean, session bean dan lain sebagainya.
  3. Kode
    Langkah terakhir dalam pembangunan adalah transformasi masing-masing PSM menjadi kode.

Gambar 1 Siklus Hidup Pembangunan Perangkat Lunak
Perbedaan siklus hidup pembangunan dengan MDA dan tradisional berikutnya adalah dalam hal hubungan antara artifak dengan kode program. Pada siklus hidup pembangunan tradisional, ketika tahapan pengkodean telah dimulai maka hubungan antara kode program dengan dokumen yang dihasilkan di tiga tahap sebelumnya (kebutuhan, analisis dan perancangan) mulai menghilang. Sedangkan pada siklus hidup pembangunan dengan MDA kode program dengan model-model pada tahap sebelumnya tetap memiliki keterkaitan yang erat.
MDA mendefinisikan PIM, PSM, dan kode, dan mendefiniskan juga bagaimana keterkaitannya di antara ketiganya. Sebuah PIM harus dibuat, kemudian ditransformasikan ke dalam satu atau lebih PSM, yang kemudian ditransformasikan menjadi kode. Langkah yang paling rumit dalam proses pembangunan dengan MDA adalah ketika sebuah PIM ditransformasikan ke dalam satu atau lebih PSM [2].
Tiga Langkah Utama dalam Proses Pembangunan Menggunakan MDA
Gambar 2 Tiga Langkah Utama dalam Proses Pembangunan Menggunakan MDA



Referensi:


  1. Model Driven Architecture (MDA), OMG Architecture Board ORMSC, 9 July 2001.
  2. Kleppe, A. et al. (2003), MDA Explained: The Model Driven Architecture™: Practice and Promise, Addison Wesley.