Kamis, 03 Mei 2012

Sequence Diagram


Menggambar Sequence Diagram
Apa tujuan membuat UML Sequence Diagram? Ada beberapa tujuan mengapa harus membuat Sequence Diagram diantaranya adalah 1). untuk menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya, yang digambarkan dengan hubungan message dan waktu; 2) untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.
Cara menggambarkan sequence diagram:
1) Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (obyek-obyek yang terkait).
2) Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
3) Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.
4) Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metode dari class.
5) Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.
6) Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.


Berikut saya berikan contoh sebuah proses menggambar Sequence Diagram. Proses bisnis yang digambarkan adalah proses pembelian minuman yang dilakukan oleh seorang actor lewat vending machine. Untuk mempermudah proses penggambaran maka bisnis proses ini dibagi menjadi 3 bagian dengan scenario yang berbeda-beda.

Identifikasi dan klasifikasi obyek adalah: 
Front adalah interface, register adalah controller untuk pembayaran, dan dispenser adalah controller untuk pilihan minuman. 
Scenario pertama mendemonstrasikan proses pembelian dimana:
1) Actor mengisi uang (insert input) sesuai dengan harga minuman. 
2) Input ini diteruskan ke bagian register control. Oleh karena jumlah uang yang dimasukkan sama persis dengan harga minuman, maka dari itu proses ini berhenti disini saja.
3) Selain uang, actor juga menyeleksi minuman yang diinginkan (select selection). Dispenser controller mengirim minuman tersebut ke front. 
Lihar Gambar Sequence Diagram Skenario Pertama dibawah ini:
 Sequence Diagram (Membeli Minuman – Part 1)
Sumber: Schmuller (1999, hal.109)

Scenario kedua:
1) Ada 2 kondisi untuk input yaitu input = price dan input > price.
2) Jika input=price dan pilihan minuman tersedia,maka dispenser akan langsung mengirim minuman tersebut. (Prosesnya sama dengan gambar sequence diagram di atas).
3) Perbedaan antara kedua sequence diagram ini yaitu diagram kedua menambahkan sebuah kondisi jika input > price.
4) Ada 2 hal yang akan divalidasi di sini yaitu:
a. Jika tidak ada uang kembalian tersedia di register controller, maka register akan mengembalikan input (uang) dan transaksi berakhir.
b. Jika ada uang kembalian, maka register akan meneruskan transaksi ini dengan mengirimkan message ke dispenser controller. Kemudian, register akan mengembalikan uang kembalian tersebut. Setelah itu, dispenser controller akan mengirimkan minuman sesuai pilihan si actor.
Lihat Gambar Sequence Diagram Skenario Kedua dibawah ini:

Sequence Diagram (Membeli Minuman – Part 2)
Sumber: Schmuller (1999, hal.111)

Scenario ketiga:
1) Proses ketiga ini adalah lanjutan dari proses sebelumnya.
2) Perbedaannya terletak pada pilihan minuman.
3) Ada 2 hal mengenai pilihan minuman yang akan divalidasi di sini yaitu:
c. Jika minuman yang diinginkan tidak tersedia di dispenser controller, maka dispenser akan menampilkan message untuk memberitahukan hal tersebut ke actor.
d. Jika pilihan minuman tersedia, maka dispenser controller akan mengirimkan minuman sesuai pilihan si actor lewat front interface.
Lihat Gambar Sequence Diagram Skenario Ketiga dibawah ini:

Sequence Diagram (Membeli Minuman – Part 3)
Sumber: Schmuller (1999, hal.111)


TIPS menggambar Sequence Diagram adalah:
PASANGKAN dengan Use Case Tabel !!!
(dan COCOKKAN dengan ACTIVITY DIAGRAM)

Sebuah Video tentang Sequence Diagram, dapat dilihat disini:
http://www.youtube.com/watch?v=4WDbte6cPa8&feature=relmfu

Sebuah Tutorial Menggambar Sequence Diagram dengan menggunakan Visual Paradigm, dapat dilihat disini:
http://www.youtube.com/watch?v=18_kVlQMavE&feature=related


Inovasi e-University

PERUBAHAN!!!
Saya kira kata magis ini yang semakin menjamur dimana-mana. Panggung politik, dari level internasional hingga lokal, mengusung tema ini sebagai ikon. Begitu pun dalam dunia pendidikan. Tapi benarkah PERUBAHAN benar-benar diimplementasikan?
Just recently, saya diberi tahu lewat ACM (atau Association Computer Machinery, dimana saya adalah salah satu membernya) bahwa MIT telah memulai program PERUBAHAN yang disebut MITx. Program MITx ini dipelopori oleh seorang peneliti Anant Agarwal (Staf Pengajar Senior MIT, yang telah berpengalaman mengajar selama 20 tahun, dalam bidang Circuits and Electronics). Penjelasan langsung tentang proyek MITx ini diterangkan disini.


Pada intinya, menurut Prof Anant Agarwal, MITx adalah sebuah initiatives untuk Open Learning Enterprise, yang akan memberikan kesempatan luas kepada semua mahasiswa untuk berkolaborasi dalam belajar.
Belum sempat saya mempelajari dengan lengkap tentang MITx, maka (kembali) melalui Prof @erikbryn (Harvard University) saya diberi tahu bahwa Harvard University dan MIT telah memulai kesepatan untuk mengembangkan sebuah proyek yang disebut EDx, yakni "bergabungnya" Harvard University dalam proyek MITx-nya Prof Anant Agarwal. Lihat berita selengkapnya disini.
Saya "terkejut" akan begitu cepatnya kedua raksasa lembaga pendidikan tinggi ini melakukan kerjasama antar-lembaga untuk suatu proyek REVOLUSIONER, yang akan mengubah wajah-pendidikan di masa depan. Kedua universitas raksasa tersebut telah membuktikan bahwa hambatan-hambatan politis TIDAK BERLAKU untuk dunia pendidikan tinggi.



Di Universitas Sam Ratulangi Manado sendiri, baru saja memulai studi tentang e-Learning, bekerja sama dengan Institut 10 November Surabaya (ITS) dan Kumamoto University Jepang. Riset tentang e-Learning akan disponsori oleh JICA Jepang. Pertemuan initiatives, dilaksanakan dengan menggunakan teknologi videoconfrence. Sepertinya, kita "benar-benar" telah tertinggal. Karena kerjasama kelembagaan antara Unsrat - ITS - Kumamoto ini baru terjalin diantara "pribadi" antar-dosen, belum merupakan "mou"antar lembaga. Risetnya pun baru akan dimulai, sementara Harvard dan MIT telah masuk pada tahap implementasi.
Saya kira, kita tidak perlu rendah diri. Paling tidak, sebuah contoh telah dilakukan oleh MIT dan Harvard University. Sebagai seorang peneliti, kita tidak perlu malu untuk belajar dari kedua-raksasa pendidikan ini, sambil kita melakukan adjustment, menurut budaya asia (Unsrat - ITS - Kumamoto). Saya yakin, terobosan bisa terjadi dalam project ini. Dan saya bangga, ikut terlibat dalam PERUBAHAN ini.
Pagi ini, saya men-tweet: 
@stanlysk: *semoga* jalan-panjang menuju ideal-platform e-University yg sesuai dgn budaya asia, bisa SEGERA dipatenkan oleh Unsrat-ITS-Kumamoto

Catatan:
Saya menulis tulisan blog ini dengan menggunakan koneksi internet Unsrat, dgn kecepatan 1 GB/s, sambil mengunduh aplikasi Google Drive (free media storage 5 GB dari Cloud Computing Google), menunggu para mahasiswa untuk memberi kuliah Analisa dan Perancangan Sistem!

Rabu, 02 Mei 2012

Paradigma Web 2.0: Agile Process

Tulisan ini merupakan lanjutan dari Paradigma Web 2.0 bagian pertama yang telah saya tulis sebelumnya disini. Jika pada tulisannya sebelumnya, saya cenderung menyoroti adanya suatu perubahan paradigma dalam platform Web 2.0, maka pada bagian ini, saya akan menyoroti beberapa faktor pemicu akselerasi Web 2.0 itu.
Keilmuan Informatika merupakan keilmuan yang berkembang pesat, karena dinamis dan mengglobal. Dari sudut pandang saya, maka akselerasi perkembangan Web 2.0 itu dapat dilihat dari beberapa faktor. Faktor-faktor tersebut adalah process, people and technology.
1. Process
Process yang saya maksudkan disini adalah proses pengembangan perangkat lunak aplikasi. Sebenarnya Web 2.0 adalah produk perangkat lunak, dimana perangkat lunak ini, dibangun dengan disiplin software engineering. Nah, dari kacamata software engineering, maka pengembangan aplikasi perangkat lunak harus mengikuti SDLC atau Software Development LifeCycle. Bahasan tentang metodologi SDLC selengkapnya bisa dilihat pada tulisan2 saya disini, disini dan disini. Ketiga metodologi yang telah saya tuliskan itu merupakan metodologi pengembangan perangkat lunak dengan paradigma SDLC dan telah terbukti ampuh menjawab permasalahan pengembangan aplikasi.



Memasuki era 2000- an, maka muncul suatu pendekatan baru dalam pengembangan aplikasi perangkat lunak, khususnya aplikasi perangkat lunak berbasis web. Pendekatan tersebut adalah pendekatan agile.
Pendekatan agile software development pada aplikasi perangkat lunak berbasis web, sangat mempersingkat waktu pengembangan aplikasi. Biasanya dibutuhkan waktu berbulan-bulan bahkan setahun lebih untuk mengembangkan sebuahbaplikasi berbasis web, tapi dengan metodologi dgn pendekatan agile, maka menghasilkan produk software menjadi lebih singkat. Kuncinya sebenarnya ada pada menghasilkan "beta released" dari suatu aplikasi dan komitmen stakeholders dalam membuat perangkat lunak. Dengan menunjukkan terlebih dahulu kepada stakeholders suatu working - software dalam versi beta released, maka time to market sebuah aplikasi dapat dipercepat.
Selain itu pendekatan agile juga bersifat lebih responsive terhadap perubahan requirement. Kita tahu bersama, dalam pengembangan suatu aplikasi perangkat lunak, perubahan requirement sering terjadi. Saat sebuah perangkat lunak direleased untuk digunakan organisasi, biasanya perangkat lunak tersebut "mengikuti" proses bisnis tertentu dalam organisasi. Dalam dunia bisnis, perubahan proses bisnis seringkali menjadi "mati hidupnya" suatu organisasi. Dengan karakteristik agility, maka aplikasi perangkat lunak yang dibangun untuk mendukung proses bisnis, dapat diubah, disesuaikan dalam waktu yang relatif singkat.
Prinsip pendekatan agile selengkapnya  dapat ditemukan pada Agile Alliance. Prinsip dasarnya menjelaskan bahwa pendekatan agile dalam disiplin ilmu teknik informatika diperlukan untuk mengurangi kelambanan dalam tahapan pengembangan perangkat lunak, guna mengantisipasi kebutuhan bisnis yang menuntut dihasilkannya perangkat lunak dengan time-to-market yang singkat. Pendekatan Agile juga berarti sebagai suatu tim yang siap merespons perubahan, yakni perubahan kebutuhan pengguna. Dalam pemahaman ini berarti setiap tim pengembang harus erat bekerja sama dengan pengguna dalam mengembangkan aplikasi berbasis web. Kolaborasi pengguna dan pengembang sangat krusial dilakukan untuk mengantisipasi adanya perubahan dalam kebutuhan perangkat lunak. Tanggap mengantisipasi perubahan merupakan ciri utama dari pendekatan agile. 
Dalam pengalaman saya mengembangkan aplikasi perangkat lunak, maka menggunakan paradigma Agile adalah "susah susah gampang" (dialek Manado, yang berarti kondisi kerja yang mudah namun di saat yang bersamaan bisa menjadi sulit). Tantangannya disini adalah bagaimana mendapatkan stakeholders yang memiliki komitmen, dan menemukan programmer yang ready. Untuk situasi dan kondisi di Manado (hingga tulisan ini dibuat, 2012), maka kombinasi stakeholders yang berkomitmen dengan programmer yang ready, SUKAR ditemukan. 
Implementasi pendekatan agile relatif lebih mungkin dilakukan dalam situasi dan kondisi pengembangan keilmuan, misalnya dalam penyelesaian Kerja Praktek dan Tugas Akhir mahasiswa. Untuk inipun, masih sebatas pada metodologi Agile - Unified Proces; yang pada dasarnya bukanlah metodologi ägile" yang original, karena masih "dikaitkan" dengan Unified Software Development Process.

2. People
Saya berpendapat bahwa perkembangan Web 2.0 yang pesat ditunjang oleh manusia itu sendiri. Kita tidak bisa melupakan jasa para software engineers yang melakukan riset-riset terkait yang mendukung kelahiran Web 2.0 dan teknologi jaringan komputer. Sebut saja Tim Bernes Lee dari CERN. Kemudian Bill Gates dari Microsoft dan Steve Jobs dan Steve Wozniak dari Apple. Saya secara pribadi mengagumi Dennis Ritchie yang mengembangkan bahasa C. Bahasa C ini menjadi dasar pengembangan berbagai aplikasi yang mendukung lahirnya aplikasi perangkat lunak berbasis web. Linus Trovalds juga merupakan salah satu tokoh yang perlu disebut. Bagian ini saya akan jelaskan pada tulisan yang tersendiri.

3. Technology.
Secara mendasar, teknologi yang mendukung perkembangan Web 2.0 dapat dibagi menjadi 3 bagian: 1) hardware, 2) jaringan dan 3) software. Bagian ini pun saya akan tuliskan tersendiri.

Catatan Hardiknas 2012 dan TIK

Pukul 07.00 Pagi, semua dosen, pegawai dan mahasiswa Universitas Sam Ratulangi Manado telah bersiap untuk melakukan Upacara Peringatan Hari Pendidikan Nasional, 2 Mei 2012 di Lapangan KONI Sario Manado. Kegiatan apel memperingati hari kenegaraan tertentu memang sering dilakukan dalam lingkungan kampus Unsrat. Namun, pelaksanaan upacara memperingati Hardiknas tahun ini dirasakan sedikit berbeda. Mengapa berbeda? Sedikitnya ada beberapa hal ...
Universitas Sam Ratulangi baru "pertama kali" ini melakukan apel di Lapangan KONI Sario Manado. Biasanya, kita melaksanakan apel di dalam lingkungan kampus Unsrat. Tapi dengan adanya kondisi "pembangunan" disana sini, maka dirasakan tidak ada lagi tempat yang cukup memadai untuk menampung "ribuan" warga keluarga besar (dosen, pegawai dan mahasiswa) Unsrat.
Ini merupakan hal yang baik menurut hemat saya. Situasi "pindah"-nya lokasi Apel, secara langsung menunjukkan bahwa Unsrat sedang giat-giatnya melakukan pembangunan. Tentu saja pembangunan yang saya maksudkan disini adalah pembangunan fisik, infrastruktur bangunan. Hal ini ditegaskan kembali dalam Sambutan Rektor Prof. DR. D Rumokoy, bahwa visi Universitas Sam Ratulangi, to be excellent University, masih akan di FOKUSkan pada ëxcellent" dalam pembangunan infrastruktur sarana pendidikan, seperti ruang kuliah, Rumah Sakit Pendidikan dan sarana pendukung lainnya. 
Namun, demikian apakah berarti Unsrat akan mengabaikan pembangunan "soft" excellent university? Yang saya maksudkan disini adalah riset-riset menurut keilmuan tertentu dan pengabdian pada masyarakat? Dari sambutan Rektor, sepertinya tidak begitu. Informasi yang saya dapatkan dan ditegaskan oleh beberapa teman, Unsrat akan membangun "soft" excellent university dalam hal Lembaga Kajian Policy dan Regional Studies.

Sebagai seorang dosen "muda" di lingkungan Program Studi Teknik Informatika, maka saya pribadi melihat investasi dalam bentuk pengadaan infrastruktur Teknologi Informasi di kampus Universitas Sam Ratulangi benar-benar sangat besar. Universitas Sam Ratulangi telah membangun jaringan komputer yang menggunakan fiber optic, yang menghubungkan puluhan titik "hot spot". Disamping itu, Universitas Sam Ratulangi juga telah memiliki Knowledge Management Systems (KMS), berupa 8 (delapan) Sistem Informasi yang difokuskan untuk meningkatkan efisiensi dan efektivitas proses belajar mengajar dalam lingkungan Universitas Sam Ratulangi.
Prodi Teknik Informatika sendiri mendapat dana yang luar biasa besar untuk pengadaan Laboratorium Teknologi Informasi Komunikasi (Lab TIK). Lab TIK ini dapat dikatakan merupakan Lab TIK yang sangat modern, yang pernah ada di Sulawesi Utara.
Saya kira, jika dikatakan bahwa visi Universitas Sam Ratulangi adalah menuju Universitas Unggulan di Sulawesi Utara, dengan melihat kenyataan pembangunan infrastuktur yang sedemikian gencarnya, maka memang dapat dikatakan bahwa Unsrat telah menjadi EXCELLENT UNIVERSITY.

Tetapi apakah hanya dengan membangun infrastruktur sedemikian gencarnya maka, Universitas Sam Ratulangi bisa menjadi EXCELLENT? Saya berargumentasi: tidak!
Dibutuhkan suatu sudut pandang yang komprehensif untuk memahami bahwa keunggulan suatu lembaga pendidikan tinggi, bukan dari sekedar pembangunan infrastrukturnya saja. Masih banyak aspek keunggulan yang HARUS diperhatikan segenap Keluarga Besar Unsrat.
Misalkan saaja dalam hal infrstruktur Teknologi Informasi, maka jaringan komputer yang telah ada, perlu untuk dikelola dengan optimal. Disana sini masih terdapat kasus "salah kelola" jaringan komputer Unsrat. Isu availability (atau ketersediaan) koneksi internet masih menjadi masalah di akar-rumput. Belum lagi ditambah dengan content yang diakses yang cenderung tidak mendukung proses belajar-mengajar (yakni kebanyakan mengakses Facebook saat jam kerja, atau mahasiswa yang cenderung mengkases game online).
Dibutuhkan sebuah KOMITMEN bersama untuk menjadikan institutsi kebanggaan Sulawesi Utara ini makin EXCELLENT secara komprehensif. 

Baru-baru ini via twitter saya mendapat informasi mengenai hasil penelitian terkini terkait adanya hubungan yang signifikan linier antara GDP per kapita penduduk dengan skor matematika internasional. Studi ini dilakukan sejak tahun 1960 hingga 2010, di Amerika dan Kanada.


Hasil yang "tak terbantahkan" menunjukkan bahwa lembaga Pendidikan Tinggi masih sangat diperlukan untuk mereformasi dirinya, agar dapat meningkatkan daya saing bangsa di masa mendatang. Masih diperlukan pembangunan BUDAYA ORGANISASI yang lebih adaptif, modern dan melembaga. Dan cara untuk meraihnya hanya dengan menciptakan budaya keunggulan-yang-terus-menerus ... tidak hanya berhenti pada "suatu periode kepemimpinan"seorang Rektor.

Maju Terus Universitas Sam Ratulangi ... menuju Excellent University!

Selasa, 01 Mei 2012

e-Business: Shopping Chart

Melanjutkan tulisan saya tentang e-Business, yakni mengenai Storefront Model disini. Maka kali ini saya akan menulis tentang teknologi Shopping Chart.

Seperti telah saya kemukan sebelumnya, model e-bisnis Storefront Model, berusaha untuk mempertemukan secara langsung seller dan buyer, dalam platform Web 2.0. Model bisnis ini menjadi "possible" dilakukan karena ditemukannya teknologi shopping chart. Teknologi shopping chart sebenarnya adalah sebuah teknologi yang memungkinkan calon pembeli memesan produk yang akan dibeli dan kemudian menyimpannya sebelum dibayar. Konsep shopping chart sebenarnya seperti keranjang belanja saat kita berbelanja di hypermart ataupun supermarket. Tentu saja, konsep ini berbeda dengan keranjang belanja saat kita berbelanja di pasar tradisional. Karena di pasar tradisional, keranjang belanja ditujukan untuk menampung barang-barang ÿang telah dibayar", sedangkan keranjang belanja di hypermart atau supermarket, ditujukan untuk menampung barang-barang yang belum dibayar, bahkan belum tentu dibeli. Inilah pemahaman kunci dari teknologi shopping chart.

Jadi, dengan teknologi shopping chart, dibutuhkan dukungan teknologi otentikasi user, user interface catalog, dan tentu saja, teknologi basis data relational. Pihak merchant mau tidak mau harus menyediakan server untuk data storage dan server untuk web applications. DBMS (database management system) harus bisa mengelola proses storing, reporting dan updating data dalam jumlah besar dan secara online. Bisa dibayangkan sekiranya pada saat yang bersamaan website server harus melayani "permintaan"data processing dalam jumlah besar pada saat yang bersamaan. Maka tentu saja, implementasi DBMS harus menjadi salah satu pertimbangan utama, bagi para pebisnis yang ingin melakukan e-bisnis menurut model storefront.

Isu security dan privacy memang masih menghantui teknologi shopping chart. Namun demikian "success story" beberapa pebisnis online pun makin terkenal. Lihat saja Amazon.com. Dibuka di tahun 1994, maka Amazon.com memasuki dunia bisnis online awalnya hanya sebagai retailer mail-order book. Lini produk Amazon.com awalnya hanya buku sekarang telah berkembang menjadi banyak produk seperti CD, DVD, electronic cards, consumer electronics, perangkat keras berbagai jenis dan masih banyak lagi. Perkembangan terakhir dari Amazon.com malah telah "mengubah"model e-bisnisnya dengan mengimplementasikan teknologi Cloud Computing (yang akan saya ulas pada bagian tersendiri).

Proses commerce di Amazon.com dibuat menjadi sangat sederhana. Kita dapat langsung masuk ke halaman depan Amazon.com, kemudian langsung memilih produk yang ingin kita beli. Fitur "SEARCH BOX" yang terletak dibagian atas tengah halaman web, sangat menyolok dan lumayan besar. Disisi kanan halaman utama ditampilkan pilihan belanja menurut departemen, yakni produk- produk yang telah dikategorikan oleh management Amazon.com. Setelah memilih produk yang ingin kita beli, kita tinggal menekan ADD TO SHOPPING CHART yang ada di sebelah kanan atas halaman web. Shopping chart akan memproses data pembelian tersebut, dan kepada kita akan ditampilkan opsi menambah, mengurangi, membatalkan kuantitas setiap item produk yang ingin kita beli, ataupun untuk memilih selesai belanja dan melanjutkan belanja.
Pembeli langganan, dapat memanfaatkan teknologi 1-Click System. Teknologi ini sebenarnya yang saya kagumi dari Amazon.com, karena dapat "mengingat" sejarah belanja saya, sehingga membantu saya untuk lebih efisien dalam "menemukan" produk yang ingin kita beli selanjutnya.

Selain amazon.com, maka kita bisa melihat www.etoys.com, dan www.webvan.com sebagai contoh model bisnis storefront dengan teknologi shopping chart.