Saturday, February 20, 2010

LANGKAH MENGGAMBARKAN MODEL BISNIS

Untuk mulai membuat model bisnis, kita membentuk tim proyek yang terdiri dari para Pimpinan, Representatif Bisnis, Spesialis BPR. Spesialis pemodelan bisnis (business modeler) dan user (management representative) untuk secara tim mulai melakukan identifikasi elemen-elemen model bisnis seperti bisnis Actor, bisnis Worker, bisnis Use Case, lalu menggambarkan model bisnisnya serta mendokumentasikannya. Langkah-langkah dalam menggambar model bisnis sebagai berikut :


1.Identifikasi Bisnis Actor

- Lihat ruang lingkup (scope) proyek apa sajakah yang terdapat di dalamnya.

- Lakukan brainstorming diantara anggota tim untuk memutuskan elemen-elemen dari model bisnis.

- Lakukan review visi, goal, material lain untuk mengetahui bisnis entiti.

Contoh dalam sebuah perusahaan penerbangan, materi untuk mempromosikan penerbangan terdiri dari customer dan employee. Disini kita dapat mengidentifikasikan ada dua bisnis Actor yaitu Customer dan Potensial Employee. Selanjutnya setelah mewawancarai petugas Hubungan Masyarakat (Humas), yang menyatakan bahwa perusahaan mempunyai pemilik, maka mungkin kita menambahkan bisnis Actor Shareholder. Selanjutnya kita juga mengetahui bahwa perusahaan penerbangan terikat dengan aturan-aturan Federasi Penerbangan (FAA), maka kita memunculkannya sebagai bisnis Actor, selain itu juga pembuat pesawat terbang, dimunculkan sebagai bisnis Actor.











2. Identifikasi Bisnis Worker

Untuk mengidentifkasi bisnis Worker , lihatlah sekali lagi ruang lingkup(scope) dari proyek. Apabila didalam organisasi itu telah terdapat gambar struktur organisasi, akan memudahkan untuk menemukan bisnis Worker itu. Tetatpi harus diingat, bahwa menentukan bisnis Worker bukan dari posisi –nya tetapi dari peran(role) dari bisnis Worker itu di dalam organisasi. Lalu buatlah daftar seluruh bisnis Worker yang ada di dalam perusahaan.

Contoh : Pada perusahaan penerbangan tadi, kita menemukan pilot, co-pilot, navigator, steward dan stewardesses, mechanics, ticket sales, luggage handler, security guard dan sebagainya.













3. Identifikasi Bisnis Use Case

Untuk mengidentifikasi bisnis Use Case, kita mulai dengan mempelajari visi dan misi perusahaan. Selanjutnya dirinci ke dalam kegiatan-kegiatan yang harus ada untuk mencapai misi tersebut. Untuk setiap kegiatan dapat ditanyakan aktifitas apa yang dilakukan . Penelitian dilakukan pada kegiatan utama(core workflow) maupun kegiatan lainnya yang ada di dalam perusahaan seperti Sales, Marketing, Accounting, dan area bisnis lainnya.








Contohnya :Perusahaan penerbangan tadi mempunyai misi mengantar para penumpang keseluruh kota di seluruh dunia. Sehingga pada waktu ditanyakan kegiatan apa yang dilakukan jika terdapat seorang penumpang ingin berangkat dari satu airport ke satu kota tujuan. Pertama, penumpang itu harus Membeli Tiket, selanjutnya melakukan Check-in di bagian bagasi, mengisi bahan bakar untuk pesawat, bagasi dan penumpang; meyakinkan bahwa keselamatan penumpang telah terjamin, menerbangkan pesawat, mendaratkan pesawat dan mengeluarkan isinya di bandara tujuan.

Pada kasus ini kita menemukan Use Case yang terdiri dari Issue Ticket, Check Passenger, Check Luggage, Perform Safety Check, Load Aircraft, Fliying Aircraft, Land Aircraft, Unload Aircraft, dan sebaginya.



4. Menggambarkan interaksi diantara elemen model bisnis

Tahap selanjutnya setelah bisnis Actor, bisnis Worker, bisnis Use Case ditemukan, adalah menggambarkan interaksi diantara mereka.

Pada gambar diatas, tanda panah dari bisnis Worker ke bisnis Use Case menyatakan bahwa bisnis Worker memberikan perintah (menginisiasi) kepada bisnis Use Case agar melakukan kegiatannya.








Sedangkan tanda panah dari bisnis Actor ke bisnis Use Case menyatakan bahwa Actor memerintahkan bisnis Use Case melakukan prosesnya.



SEQUENCE DIAGRAM

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.

Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.

Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.

Contoh sequence diagram :

CLASS DIAGRAM

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.

Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :
• Private, tidak dapat dipanggil dari luar class yang bersangkutan
• Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
• Public, dapat dipanggil oleh siapa saja








Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.









Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.







Hubungan Antar Class

1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.

2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).

3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.


Contoh Class Diagram :






ACTIVITY DIAGRAM

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.


Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.


Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.


Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.


Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.


Contoh activity diagram tanpa swimlane:

USE CASE DIAGRAM

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.

Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.

Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Contoh use caase diagram :

GOMS

  • Goal : goal apa yang ingin dicapai oleh user
  • Operator : level terendah analisa, tindakan dasar yang harus dilakukan user dalam menggunakan sistem
  • Methods : Ada beberapa cara yang dilakukan dimana memisahkan kedalam beberapa subgoals. Contoh : pada window manager, perintah CLOSE dapat dilakukan dengan menggunakan popup menu atau hotkey
  • Selection : Pilihan terhadap metode yang ada

Analisa GOMS umumnya terdiri dari single high-level goal, kemudian didekomposisi menjadi deretan unit task, selanjutnya dapat didekomposisi lagi sampai pada level operator dasar. Dimana dalam membuat dekomposisi tugas digunakan hierarchical task analysis.

Analisa struktur goal GOMS dapat digunakan untuk mengukur kinerja. Kedalaman tumpukan struktur goal dapat digunakan untuk mengestimasi kebutuhan memori jangka-pendek.


Cognitive Complexity Theory (CCT)

CCT (Kieras dan Polson) dimulai dengan premis dasar dekomposisi goal dari GOMS dan menyempurnakan model untuk menghasilkan kekuatan yang lebih terprediksi.

Deskripsi goal user berdasarkan hirarki goal mirip-GOMS, tetapi diekspresikan terutama menggunakan production rules yang merupakan urutan rules:

If kondisi then aksi

Dimana kondisi adalah pernyataan tentang isi dari memori kerja. Aksi dapat terdiri satu atau lebih aksi elementary.


Wednesday, February 17, 2010

UML (Unified Modelling Language)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap Dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada ebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).













Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.

Konsepsi Dasar UML
Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML, sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar dibawah.




















Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut.

Pengembangan Sistem

Pengembangan sistem dapat berarti menyusun suatu sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang telah ada.


Perlunya Pengembangan Sistem :

  • Adanya permasalahan (problem) yang timbul pada sistem yang lama.

Permasalahan yang timbul dapat berupa :

- Ketidakberesan

- Pertumbuhan organisasi

  • Untuk meraih kesempatan (opportunities).

Teknologi informasi telah berkembang dengan cepatnya

  • Adanya instruksi-instruksi (directives).


Prinsip Pengembangan Sistem

  • Sistem yang dikembangkan adalah untuk manajemen.
  • Sistem yang dikembangkan adalah investasi modal yang besar.

Investasi modal harus mempertimbangkan 2 hal :

1. Semua alternatif yang ada harus diinvestigasi

2. Investasi yang terbaik harus bernilai

  • Sistem yang dikembangkan memerlukan orang yang terdidik.

  • Proses pengembangan sistem tidak harus urut.

  • Jangan takut membatalkan proyek.

  • Dokumentasi harus ada untuk pedoman dalam pengembangan sistem.


Tahapan Pengembangan Sistem

Tahapan utama siklus hidup Pengembangan Sistem terdiri dari :

1. Perencanaan Sistem (Systems Planning)

2. Analisis Sistem (System Analysis)

3. Perancangan Sistem (Systems Design) Secara Umum

4. Seleksi Sistem (System Selection)

5. Perancangan Sistem (Systems Design) Secara Umum

6. Implementasi dan Pemeliharaan Sistem (System Implementation & Maintenance).


Model Pengembangan Sistem Intruksional

Pengembangan sistem intruksional ialah proses menciptakan situasi dan kondisi tertentu yang memungkinkan siswa berinteraksi sehingga terjadi perubahan perilaku pengembangan, sistem ini memerlukan pemantauan interaksi siswa. Pengembangan senantiasa didasarkan pada pengalaman. Pengamatan yang seksama dan percobaan yang terkendali. Ada dua proses pengembangan, pertama ialah pendekatan secara empiris yang menggunakan dasar-dasar teori, bahan pengajaran disusun berdasarkan pengalaman pengembang. Pendekatan kedua ialah dengan pendekatan model. Dalam penyusunan rancangan pengajaran ada langkah-langkah secara sistem : cara mencapainya dipilihkan cara-cara tertentu, kondisi tertentu, dan perubahan tertentu. Hasil uji coba memberi informasi tertentu yang dapat dijadikan bahan penilaian perihal tingkat kesulitan suatu program. Model ialah seperangkat prosedur yang berurutan untuk mewujudkan suatu proses melaksanakan pengembangan sistem pengajaran seperti penentuan suatu kebutuhan. Ada beberapa model pengembangan intruksional :


  1. Model Bella Banathy

Model ini ada 6 langkah :

  • Merumuskan tujuan
  • Mengembangkan test
  • Menganalisis kegiatan belajar
  • Mendesain sistem intruksioanal
  • Melaksanakan kegiatan dan mengetes hasil
  • Mengadakan perbaikan.


  1. Model Kemp

Langkah-langkahnya :

  • Penentuan Tujuan Intruksional Umum (TIU)
  • Menganalisis karakteristik siswa
  • Menentukan Tujuan Intruksioanal Khusus (TIK)
  • Menentukan materi pelajaran yang sesuai dengan TIK yang ditetapkan
  • Mengadakan penjajakan awal
  • Menentukan starategi belajar yang relevan : efisiensi, keefektifan, ekonomis, kepraktisan
  • Mengkoordinasikan sarana penunjang yang dibutuhkan : biaya, fasilitas, peralatan, waktu dan tenaga
  • Mengadakan evaluasi.


  1. Model IDI (Intruksional Development Institute)

Langkah-langkahnya :

  • Pembatasan. Ada 3 hal yang perlu dipertimbangkan : karakteristik siswa, kondisi, sumber-sumber yang relevan.
  • Pengembangan. Tujuan yang hendak dicapai, TIK merupakan penjabaran yang lebih rinci dibandingkan dengan TIU. Ini karena TIK : Dapat memehami secara jelas, building block dari pengajaran yang diberikan, sebagai penanda tingkah laku yang harus diperhatikan.
  • Penilaian.