14 Jun 2007

Doa yang Makbul

Berdoa merupakan bentuk pengharapan yang dipanjatkan kepada Sang Khaliq. Berdoa menyampaikan apa yang belum teraih saat ini dan dimohonkan tergapai di masa datang.




Sehingga untuk mewujudkan harapan perlu diwujudkan dengan usaha yang aktif, bukan pasif. Dengan berjalannya waktu kekonsistenan dan kepasrahan yang diberikan dalam berusaha akan berujung pada keterkabulan harapan.



Powered by ScribeFire.

13 Jun 2007

Kerja IT


Bagi Anda yang lulusan atau berlatar belakang keilmuan IT, Manakah yang menjadi pilihan Anda?
  • Bekerja IT di perusahaan dengan core business-nya IT, atau
  • Bekerja IT di perusahaan bukan IT, atau
  • Bekerja bukan IT.
Saya pribadi telah mengalami dua opsi teratas. Ada suka dan dukanya pada dua jenis pekerjaan tersebut.


Yang pertama penuh ketegangan sedangkan yang kedua terlalu santai. Bagi fresh grad terjun langsung ke tempat kedua mungkin akan mengalami kebosanan dan mungkin akan segera resign dengan alasan ‘tidak menantang’. Bagi yang sudah berumur tetap bertahan sebagai kuli di tempat kerja pertama mungkin akan merasa beban bertambah berat.

Powered by ScribeFire.

12 Jun 2007

MDA - Part 4: Lapisan Pemodelan

OMG menggunakan arsitektur empat lapis (four-layered) dalam standard-standard yang dipakai di MDA. Lapisan ini mendefinisikan model-model untuk tingkat abstraksi yang berbeda, masing-masing lapisan dinamakan sebagai M0, M1, M2, dan M3.
Lapisan-lapisan tersebut memuat sebuah hirarki dari tingkatan-tingkatan model, masing-masing (kecuali yang paling atas) merupakan sebuah instans dari (instance of) tingkatan di atasnya. Tabel 1 adalah penjelasan masing-masing lapisan pemodelan beserta contohnya.
  1. Lapisan M0 (Apa yang dimodelkan)
    Lapisan M0 adalah lapisan dari data user (user data), atau merupakan instans aktual. Sebagai contoh, seorang mahasiswa dengan nama “Budi” dan beralamat di “Jalan Ganesha 10”, dan seorang mahasiswa bernama “Ahmad” dan beralamat di “Jalan Dago”, keduanya adalah instans.
  2. Lapisan M1 (Model)
    Lapisan M1 adalah model yang memuat M0. Sebagai contoh, mahasiswa dapat dimodelkan dalam UML sebagai kelas yang memiliki atribut nama dan alamat.
  3. Lapisan M2 (Metamodel)
    Lapisan M2 adalah metamodel, yaitu sebuah abstraksi dari model. Sebagai contoh, spesifikasi dari UML adalah sebuah metamodel.
  4. Lapisan M3 (Meta-metamodel)
    Lapisan M3 adalah meta-metamodel, yaitu sebuah spesifikasi dari bahasa pemodelan yang digunakan untuk mengekspresikan metamodel dalam M2. Dalam OMG, lapisan ini adalah selalu bahasa pemodelan MOF.

Tabel 1 Empat Lapisan Pemodelan OMG [1]
Lapisan
Deskripsi
Contoh
meta-metamodel (M3)
Infrastruktur untuk sebuah arsitektur pe-metamodel-an.
Mendefinisikan bahasa untuk mespesifikasikan sebuah metamodel.
MetaClass, MetaAttribute, MetaOperation
metamodel (M2)Sebuah instans dari sebuah meta-metamodel.
Mendefinisikan bahasa untuk menspesifikasikan sebuah model.
Class, Attribute, Operation,Component
model (M1)Sebuah instans dari sebuah metamodel.
Mendefinisikan sebuah bahasa untuk menggambarkan suatu domain informasi
Mahasiswa, Jurusan, hitungIPK
user data atau user object (M0)
Sebuah instans dari sebuah model.
Mendefinisikan sebuah domain informasi tertentu.
<Budi, Jl. Ganesha 10>, IF, 3.55
Gambar 6 memperlihatkan contoh lapisan pemodelan untuk UML dan bahasa pemrograman Java. Pada lapisan M0 terdapat user data dan objek dari bahasa java, keduanya adalah instansiasi dari lapisan M1. Pada lapisan M1, sebuah model UML dan sebuah kelas dalam bahasa Java adalah instansiasi dari lapisan M2. Lapisan M2 berisi metamodel dari UML dan bahasa Java, yaitu model yang menggambarkan atau menspesifikasikan UML dan bahasa Java. Dan pada lapisan teratas atau lapisan M3 terdapat MOF yang merupakan suatu infrastruktur untuk pembuatan metamodel yang menjadi standard dalam MDA. MOF dapat dikatakann sebagai metamodel dari metamodel (M2).
Lapisan Pemodelan untuk UML dan Java.Gambar 6 Lapisan Pemodelan untuk UML dan Java. [2]

Referensi:
  1. OMG Unified Modeling Language Specification Version 1.4, OMG, September 2001.
  2. Kurtev, Ivan and Berg, Klaas van den (2004), Unifying Approach for Model Transformations in the MOF Metamodeling Architecture, Software Engineering Group, University of Twente.


MDA - Part 3: Metamodel

Sebuah metamodel adalah sebuah model spesifikasi untuk sebuah kelompok dari SUS dimana masing-masing SUS dalam kelompok tersebut adalah sebuah model yang sah (valid) yang diekspresikan dalam bahasa pemodelan tertentu. Metamodel membuat pernyataan-pernyataan tentang apa yang dapat diekspresikan dalam model-model yang sah untuk sebuah bahasa pemodelan tertentu [1]. Gambar 5 menunjukkan hubungan antara model, bahasa, metamodel dan metabahasa.

Pembangunan dalam MDA adalah proses mentransformasi model asal menjadi model sasaran, masing-masing model diekspresikan dalam sebuah bahasa pemodelan tertentu, sehingga diperlukan pendefinisian dua macam bahasa pemodelan. Oleh karena pemodelan adalah sebuah formalisasi dari pengetahuan, maka diperlukan suatu model untuk mendefinisikan sintaks dan semantik dari bahasa pemodelan. Model untuk bahasa pemodelan ini disebut metamodel, sebagai contoh standard dari UML ditulis dengan menggunakan metamodel UML [2].
Model, Bahasa, Metamodel dan Meta-bahasa.
Gambar 5 Model, Bahasa, Metamodel dan Meta-bahasa [3].


Referensi:
  1. Weiss, E. (2003), What Models Mean, IEEE Software, vol. 20, no. 5, Sept./Oct. 2003, pp. 26-32.
  2. Mellor, S. J., et al (2003), Model-Driven Development, IEEE Software, vol. 20, no. 5, Sept./Oct. 2003, pp. 14-18.
  3. Kleppe, A. et al. (2003), MDA Explained: The Model Driven Architecture™: Practice and Promise, Addison Wesley.

Gaya Membaca

Membaca adalah sebuah aktivitas yang menyenangkan sekaligus menguras pikiran. Ada tulisan yang menghadirkan emosi dan ada juga yang murni mengerahkan segenap power dari ‘processor’ di kepala. Membaca bisa sekedar mengaktifkan otak kanan, menyalakan otak kiri, dan juga sekaligus keduanya.


Setiap orang memiliki cara tersendiri dalam membaca. Untuk membaca buku, saya tidak selalu harus menyelesaikan tuntas sebuah buku. Kadang-kadang pada saat bersamaan saya bisa membaca dua atau lebih, maksudnya tidak persis bersamaan — tepatnya timesharing. Belum selesai satu bagian dari sebua buku, saya bisa berpindah ke bagian tertentu buku lain. Ini biasanya dilakukan ketika membaca buku teks atau buku teknik.


Membaca blog, saya suka bagian komentar dari topik yang sedang diketengahkan. Semakin banyak komentar semakin sering saya kunjungi dan blog dari pengomentar akan saya kunjungi juga untuk melihat apakah dia hanya bisa berkomentar saja atau menulis topik.
Bagaimana dengan Anda?

Powered by ScribeFire.