Senin, 03 November 2008

Pengenalan UML

Pertama-tama yang perlu diketahui untuk belajar UML adalah pertanyaan apa kepanjangan UML? Jangan tertawa dahulu. Soalnya banyak yang mengartikan UML sebagai Universal Modeling Language ... (jangan-jangan diartikan Ungu Modeling Language!!). Baik, jawabannya UML singkatan dari Unified Modeling Language (logonya dapat dilihat di pojok kiri atas situs ini). Lalu siapa penemunya? Hingga saat ini, dari browsing di internet hingga studi literatur tidak ada yang ngaku-ngaku sebagai penemu atau pencetus UML. Karena pemodelan terhadap object programming sudah ada sejak dahulu, tapi tiap pengembang memiliki model masing-masing sehingga membingungkan orang yang baru belajar walaupun mahasiswa-mahasiswa kita terkenal cerdas. Oleh karena itu tiga orang yang sering dijuluki "three amigos" yakni Ivar Jacobson, Grady Booch dan Rumbaugh yang gambarnya terpampang di pojok kiri atas blog ini berusaha untuk menyeragamkan notasi yang saat itu berjumlah lebih dari 50 jenis. Namun demikian ketiga orang itu dibantu oleh suatu konsorsium bernama OMG (Object Management Group) yang terdiri dari pengembang, industri perangkat lunak, kampus dan pihak-pihak yang berkecimpung dalam dunia software engineering.
Berbeda dengan DFD, ERD, Normalisasi dan model-model yang biasa dikenal oleh siswa yang belajar analisa dan disain sistem informasi, UML berusaha membuat suatu model yang bisa dipakai dalam segala jenis programming. Pernah gak membuat DFD untuk game packman atau game moto-gp? Pasti bingung khan? Atau jika sistem core-banking dibuatkan DFD-nya, kira-kira berapa lembar kertas yang dibutuhkan? Walaupun dari namanya unified, tidak berarti UML hanya terdiri dari satu model. O-iya, sebelumnya jangan samakan model dengan diagram ya .. Diagram beda dengan model karena model tidak hanya berupa gambar/diagram, termasuk di dalamnya narasi (jalan cerita diagramnya). Model dalam UML terdiri dari diagram-diagram antara lain: use case, class, object, packet, component, activity, statechart, deployment dan interraction. Interraction diagram terdiri dari sequence, communication, timing dan global overview interraction. Pasti ada yang protes, kok di buku ini 9 diagram, di buku itu 13 diagram. Baik, UML itu seperti software, sudah masuk versi 2.0 atau lebih. Beberapa literatur mengatakan diagram UML ada sembilan (biasanya dipakai di kampus sebagai materi kuliah). Nah yang menyebutkan diagram UML ada 9 berarti yang dimaksud adalah UML 1.4. Sedangkan literatur-literatur yang membahas UML 2.0 hampir semuanya menyebutkan diagram UML ada delapan (use case, class, package, component, activity, statechart, deployment dan interraction). Lalu dimana diagram sequence yang terkenal? Ternyata diagram sequence bersama dengan diagram timing, communication dan overview masuk dalam kategori diagram interraction. Kemudian dimana diagram collaboration? Nah ini masalahnya. Dalam UML 2.0 diagram collaboration diganti namanya dengan diagram communication, tapi collaboration tetap dipakai tapi tanpa menyebutkan kata diagram, jadi "collaboration" saja.

Sebenarnya UML itu bahasa pemrograman atau hanya pemodelan? Berbeda dengan jenis pemodelan pada pemrograman terstruktur (o iya berarti harus tahu terlebih dahulu dong jenis-jenis bahasa pemrograman, ok nanti dibahas) UML sesuai dengan singkatannya merupakan language/bahasa pemrograman. Nanti kita akan bahas dengan software rational rose enterprise 2003. Dan ternyata model yang dibuat dalam diagram-diagram UML dapat dikonversi menjadi source code oleh software rational rose dalam bahasa java, c++, vb6 dan oracle. Tetapi yang kita bahas nanti sepertinya konversi UML menjadi bahasa visual basic karena tahu sendiri, kan vb6 yang paling gampang.

O iya, hampir lupa. Pemrogram terdiri dari pemrograman terstruktur dan pemrograman berorientasi object (tapi bukan berarti pemrograman tidak terstruktur lho ... apalagi disebut pemrograman nggak teratur/ngaco). Aslinya sih sebelum ada pemrograman terstruktur ada pemrograman jenis lama (basic, fortran dan sejenisnya) yang mengandalkan instruksi GOTO yang untuk komputer-komputer saat ini yang paralel kurang efisien karena loncat sana - loncat sini beda dengan bahasa pascal atau c++ yang sudah terstruktur dengan prosedur khusus. Walaupun pada program jenis petruk (pemrograman terstruktur) menggunakan juga GOTO tapi penggunaannya tidak harus, bisa dengan procedure atau teknik lain. Nah saya agak canggung menyebut pemrograman yang lama itu dengan sebutan pemrograman tidak terstruktur, takut menyindir orang yang mempelajarinya (soalnya dosen-dosen saya dulu hampir semuanya menggunakan) karena kata tidak terstruktur berkonotasi negatif.

4 komentar:

wenwen mengatakan...

wah blog nya bagus.. lumayan bwad mengerti UML..

soalnya saya sedang mcari tahu UML untuk mengerjakan tugas..

terima kasih..

Anonim mengatakan...

ada jurnall mengenai UML gak?
kalo ada bsia d share gak...
makasih...
nice blog...

Unknown mengatakan...

blognya bagus sekali, menambah wawasan mengenai UML.

mahrOez BloGgeR mengatakan...

termakasih bro.... bgus pengertiannya UML nya cepat dimengerti/....