Thursday, May 31, 2012

Come to The Implementation

Menuju sidang nih, kudu cepet2 implementasi aplikasi. Satu hal yang mau saya bagi di sini adalah,,, meskipun sesi analisis dan desain HARUSnya sudah berakhir, namun kenyataannya tidak bisa se-ideal itu. Karena, ketika seminar 3, kita menyadari banyak sekali hal yang masih kurang, bisa itu lewat teguran penguji, melihat referensi TA temen2 lainnya, maupun dari pencerahan yang tiba2 datang begitu saja. Tapi ga perlu khawatir, selama kita masih menyadarinya sekarang, ga ada yang terlambat, mumpung belum sidang kan...
Di Implementasi (khususnya untuk si laporan) kita akan banyak sekali merujuk ke Bab Analisis dan Perancangan karena apa yang akan kita implementasi adalah apa2 yang sudah kita analisis dan kita rancang. Itu adalah HARUS! Jangan ngalor ngidul, okeh. Karena kelompok kami banyak sekali mendapat teguran atas kelalaian kami yang tak memperhatikan dengan teliti kedua bab tersebut dan para dosen penguji akan sangat memperhatikan hal2 tersebut.Yuk kita tilik satu persatu komponen Implementasi (ini versi pemahaman kami loh...)

  1. Batasan Implementasi
    Ini adalah bab yang menjelaskan sampai mana kita akan mengimplementasi sistem yang sudah kita analisis dan rancang. Karena pada kenyataannya rata2 kita tak bisa mengimplementasi 100% sesuai dengan harapan kita. Ya, itu boleh2 saja, asalkan jelas kita beritakan di laporan.
  2. Deployment Diagram + Penjelasan
    Ini adalah diagram yang akan menjelaskan di atas apa kita membangun sistem kita, dan di atas apa sistem kita akan berjalan, secara hardware maupun software. Misal, OS nya apa, package library nya apa, toolsnya apa, dst.
  3. Implementasi Modul
    Dalam Bab Perancangan sudah kita rancang kira2 modul apa saja yang kita butuhkan. Nah, di sini kita akan secara transparan memberi tahu modul apa saja yang ingin diimplementasi, requirement apa saja yang terpenuhi olehnya, dan status keberadaannya dalam sistem (ada/tidak terimplementasi).
  4. Implementasi Requirement
    Nah loh, apa pula ini??? Awalnya kami juga bingung, karena dosen penguji mengharuskan kami membuat suatu tabel yang dapat menginformasikan keterkaitan tujuan, analisis, dan requirement yang ada. Namun terlepas dari apa judulnya begini kurang lebih yang kami buat.
  5. Implementasi Data
    Kalo yang ini, kita perlu memberi informasi status apakah tabel2 yang sudah dirancang tersebut diimplementasi atau tidak.
  6. Implementasi UI
    Untuk membuktikan bahwa kita sudah mengimplementasi suatu sistem aplikasi, tentu perlu ada bukti kan? Nah, di sini perlu kita tampilkan seperti apa tayangan sekilas mengenai aplikasi kita. Tak perlu semua kemungkinan, hanya beberapa yang sekiranya menjadi andalan dan perlu/penting untuk disampaikan. Karena demo aplikasi pun nanti akan dilakukan.
 Itu sekilas dari apa yang harus kita perhatikan dari segi LAPORAN. Namun dalam implementasi, tentunya yang paling penting untuk diperhatikan adalah HOW TO DO IT? Ya, ini tak mudah, karena kita bahkan harus mulai melakukannya saat masa analisis, karena kita perlu mempelajari terlebih dahulu sistem yang akan kita kembangkan. Hal terpenting yang kami rasakan adalah:
  • Perlu kembali me-refresh/mengenal pengetahuan teknis dari (sintaks2, how to use, dll) dari tools yang akan kita gunakan.
  • Perlu membuat kasus2 kecil, terkait dengan modul2 yang akan kita gunakan. Jangan langsung berpikir HOW TO FINISH OUR PROGRAM, tapi pikirkan HOW TO SOLVE OUR PROBLEM. Jadi kan kita bagi2 sistem kita ke dalam beberapa modul, nah kita test masing2 modul tersebut dengan percobaaan2 kecil.
  • Pembagian tugas per anggota harus jelas. Minimal meskipun tugas perorangnya tidak spesifik, tapi harus jelas pertanggungjawaban masing2nya. Misal, yang bertanggungjawab terhadap integrasi laporan, integrasi code, database, dll.
  • Ketika dirasa harapan pencapaian sistem tidak bisa 100%, rancang kembali strategi untuk 'menurunkan' idealisme namun poin tujuan di awal tetap dapat dicapai.
Intinya sih, semuanya harus terstruktur, bila perlu gunakan cara SVN, supaya jelas versioning nya. Jaga harmonisasi kelompok, jangan biarkan egoisme meruntuhkan keutuhan kelompok kita. Semangat implementasi !!! ^^

Thursday, May 17, 2012

Terlalu lama ya...? Now, Let's Designing!

Maaf ya, sekian lama kami melaksanakan TA, belum melaporkan progress lagi, hehehe. Kami sudah sampai di tahap pra-Seminar 3. Di Seminar 3 ini, kami dituntut untuk menghasilkan dokumen sampai ke perancangan dan sudah bisa  men-demo-kan aplikasi yang akan dibuat, sehingga Dosen Penguji sudah bisa melihat kemungkinan realisasi aplikasi yang telah direncanakan.
Dalam dokumen Bab Perancangan, yang biasanya dibahas adalah :

  1. Rancangan Database yang biasanya direpresentasikan oleh ER (Entity-Relationship) Diagram, CDM (Conceptual Data Model), lalu PDM (Physical Data Model). Adapun dari ERD, kita harus menjelaskan masing-masing tabel yang akan kita gunakan pada sistem aplikasi kita.
  2. Model Perilaku Sistem yang direpresentasikan oleh use case diagram + skenario nya. Dan yang jangan dilupakan juga adalah penjelasan aktor yang tertera pada use case.
  3. Masih berlanjut dari poin 2, lalu masuk ke Sequence Diagram yang akan lebih menjelaskan alur pekerjaan tiap use case yang ada. Tiap komponen Sequence Diagram akan mewakili kemungkinan class-class apa saja yang akan kita gunakan.
  4. Seperti yang diungkapkan di atas, setelah tergambar dari sequence diagram, maka buat Package Diagram dan Class Diagram nya. Package Diagram merupakan penggambaran pengelompokan class agar lebih terstruktur, misal komponen class yang mengurusi database, kalkulasi, dll dipisah dalam package yang berbeda. Sedangkan class diagram sendiri adalah untuk menggambarkan class-class yang akan kita gunakan, juga keterkaitannya dengan class lain (tergambar juga dalam sequence diagram).
  5. Dalam class, pasti berisi modul-modul yang menunjang fungsionalitas dari class tersebut, sehingga dibutuhkan Tabel Deskripsi Modul. Jika modul yang digunakan sangat banyak, misal dalam tiap class bisa mencapai 10 modul, maka pilih saja yang utama dan sekiranya penting untuk diketahui pembaca laporan, misal jika kita berdomainkan 'Sistem Temu Balik Informasi', maka sertakan modul yang utamanya, seperti misal searchByInput, cosineSimilarity, SVD, LSACalculation, dll.
  6. Dalam modul juga, pasti kita akan bertemu dengan variabel-variabel atau record-record yang akan menjadi parameter dan diproses dalam modul yang kita buat, nah maka dari itu dibutuhkan Perancangan Struktur Data. Di sini akan dijelaskan mengenai nama variabel yang kita gunakan, deskripsinya dan bagaimana struktur datanya.
  7. Bagian paling penting bagi pembaca adalah Rancangan User Interface, sehingga terlihat bagaimana hasil tampilan sistem aplikasi yang akan kita buat. Ini bisa dibuat dengan menggunakan salah satu tools mock-up (*my fav ^^) yaitu Balsamiq Mockups. Tapi, selain gambar UI nya, juga harus ada penjelasan mengenai masing-masing komponen yang ada di situ, misal jika ada tombol A, jelaskan apa guna tombol tersebut, bagaimana respon sistem setelah itu, juga modul-modul yang terkait.
Yah, sekian penjelasan yang akan kami lakukan pada sesi Perancangan ini, semoga membantu... ^^