Sabtu, 28 April 2012

Web Engineering Methodology

Salah satu metodologi pengembangan aplikasi Web adalah dengan menggunakan metode Web Engineering (disingkat WebE). Saya pernah menggunakan metode ini untuk mengembangkan aplikasi berbasis web Official Website Kantor Sinode GMIM.

Berikut cuplikan laporan hasil pengembangan aplikasi ....
Untuk mengembangkan Aplikasi Web Sinode GMIM, akan menggunakan pendekatan RAD dan WebE. Kombinasi kedua pendekatan ini, menghasilkan langkah-langkah pemecahan masalah yang lebih komprehensif.

Langkah-langkah pemecahan masalah tersebut adalah:
1. Fase Analisis Persyaratan
Fase ini memiliki tujuan untuk mengidentifikasi layanan, batasan, dan obyektifitas dari sistem dari pengumpulan data yang dilakukan terhadap stakeholders. Selain itu analisis persyaratan juga bertujuan untuk mendefinisikan persyaratan user dan sistem. Hasil akhir dari analisis persyaratan yaitu spesifikasi awal dari persyaratan user dan sistem. Adapun Fase 1 ini terdiri dari 5 akitivitas  yaitu sebagai berikut:
a. Melakukan Komunikasi dan Perencanaan Proyek
b. Melakukan Studi kelayakan (Teknis, Operasional dan Ekonomi)
c. Melakukan Penjadwalan
d. Menentukan Spesifikasi Pengguna
e. Menentukan Spesifikasi Sistem

2. Fase Analisis Modeling
Tujuan dari fase analisis modeling adalah menganalisis semua kegiatan dalam arsitektur sistem secara keseluruhan dengan melibatkan identifikasi dan deskripsi abstraksi sistem perangkat lunak yang mendasar dan hubungan-hubungannya. Selain itu, analisis modeling juga bertujuan untuk meningkatkan pemahaman terhadap permasalahan tanpa mempertimbangkan solusi teknis. Hasil akhir dari analisis modeling yaitu diagram model logis dari sistem yang sedang berjalan, diantaranya use case diagrams, class diagram, dan sequence diagrams. Aktivitas di fase Analisis Modelling adalah:
a. Mengidentifikasi pelaku bisnis
b. Menganalisis proses dan kinerja sistem
c. Mengidentifikasi struktur obyek dan relasinya

3. Fase Desain Modeling
Tujuan dari fase desain modeling yaitu melakukan perancangan sistem berdasarkan analisis yang telah dilakukan sebelumnya. Tahap analisis dan desain mengalami perulangan hingga diperoleh rancangan sistem yang benar-benar memenuhi kebutuhan. Selain itu, fase 3 ini juga bertujuan untuk memberikan spesifikasi yang jelas dan lengkap kepada programmer dan teknisi. Hasil akhir dari fase ini yaitu basis data, antarmuka, dan spesifikasi desain. Aktivitas Desain Modelling ini adalah:
a. Memodelkan kembali diagram use case untuk  merefleksikan  lingkungan  implementasi
b. Memodelkan interaksi obyek dan behaviours
c. Desain antarmuka
d. Membuat algoritma

4. Fase Konstruksi
Tujuan dari fase konstruksi adalah untuk menunjukkan platform, hardware dan software yang digunakan serta batasan dalam implementasi, serta menguji performansi prototipe perangkat lunak yang telah dibangun agar dapat diketahui apakah prototipe tersebut telah sesuai dengan spesifikasi analisis dan perancangan yang telah diidentifikasi sebelumnya. Hasil akhir dari fase konstruksi adalah platform, hardware dan software yang digunakan, serta daftar batasan implementasi, dan rencana pengujian. Aktivitas pada fase Konstruksi adalah:
a. Mendeskripsikan Lingkungan implementasi
b. Implementasi basis data
c. Melakukan pemrograman
d. Implementasi antarmuka
e. Pengujian; yakni identifikasi tujuan pengujian system, membuat kriteria pengujian system, membuat kasus untuk pengujian, melakukan Pengujian Sistem

Twitter untuk produktivitas pendidikan

Twitter merupakan aplikasi sosial media berbasis Web 2.0. Untuk memahami apa itu Web 2.0, silahkan klik disini. yang mulai "naik daun". Indonesia termasuk negara dengan pengguna twitter cukup banyak. Yang menjadi pertanyaan disini adalah: apakah twitter bisa digunakan dalam dunia pendidikan?
Faktanya sekarang di Indonesia, penetrasi Internet cukup tinggi. Pengguna aplikasi Web 2.0 pun makin banyak. Namun menurut Prof Zaenal Hasibuan, Ph.D, penggunaan TIIK di Indonesia belum mampu meningkatkan produktivitas bangsa. Baca disini datanya!
Ini berarti menjadi tantangan bagi setiap akademisi untuk memulai gerakan pemanfaatan TIK untuk meningkatkan produktivitas. Salah satunya adalah dengan menggunakan twitter sebagai media belajar-mengajar, guna meningkatkan efisiensi dan efektivitas pendidikan, baik di jenjang pendidikan dasar, menengah terlebih pendidikan tinggi!
Jadi, apakah bisa menggunakan twitter untuk meningkatkan produktivitas dalam dunia pendidikan tinggi? Ternyata bisa! Pada kenyataannya, makin banyak komunitas pendidikan yang menggunakan twitter sebagai sarana pembelajaran di kelas. Bahkan untuk kepentingan riset pun, twitter mulai digunakan. 

Untuk panduan menggunakan twitter untuk dunia pendidikan bisa diunduh disini

Berikut adalah panduan Membuat Akun Twitter:
1.    Buka browser internet anda, lalu ketikkan www.twitter.com pada address bar

2.    kalau anda tidak salah dalam menuliskan
url halaman twitter maka akan keluar gambar seperti di bawah ini,
 
 3.    Klik pada icon sign up now dan tunggu beberapa saat untuk bisa membuat twitter. jika koneksi internet anda cepat maka tidak akan lama akan keluar halaman seperti gambar di sebelah

 4.    Di bagian full name silahkan isi nama lengkap anda, kemudian di bagian username silahkan isi nama atau apa saja yang di gunakan ketika nanti anda akan login ke twitter. Isi saja misalkan simon_petrus atau maria_magdalena kemudian di bagian password silakan isi dengan kata kunci yang anda inginkan (anda harus selalu ingat) bagian email silahkan isi email anda selanjutnya isi form type the word above silahkan isi sesuai dengan kata yang tampil disitu.


5.    Langkah terakhir yaitu tekan
enter atau klik create account

Ta daaa.. anda telah berhasil dalam menjalankan langkah membuat twitter. silahkan cek email anda untuk mengetahui bahwa anda sudah benar-benar sukses mengikuti tutorial membuat twitter ini. Kalau di kotak inbox anda ada email dari twitter berarti anda sudah berhasil mempunyai account twitter. Selamat menikmati berselancar di dunia twitter. Selamat ber-twit yaaaa ...

Jumat, 27 April 2012

pengantar UML ...




UML adalah singkatan dari Unified Modeling Language, yaitu suatu notasi pemodelan aplikasi perangkat lunak. Schach[1] menegaskan bahwa UML merupakan bahasa bukan metode. Sebagai bahasa, UML digunakan untuk mendeskripsikan perangkat lunak yang dikembangkan dengan berbagai pradigma pengembangan perangkat lunak dan metodologi. Pendapat Schach[1] didukung oleh Sommerville[2] dan Pressman[3].  

Dennis, Wixom dan Tegarden[4] mendukung pendapat bahwa UML merupakan kumpulan standar pemodelan dengan menggunakan diagram, dimana UML bertujuan untuk menyediakan kosa-kata dari paradigma pengembangan sistem berorientasi obyek guna memodelkan semua tahapan dari daur hidup pengembangan perangkat lunak. Bentley dan Whitten[5], mendukung pemahaman bahwa UML merupakan kumpulan alat pemodelan yang disepakati bersama untuk menjelaskan sistem perangkat lunak. Hal serupa dikemukakan oleh Kendall dan Kendall[6].

Fowler[8] memberikan definisi yang sederhana bahwa UML merupakan kumpulan notasi grafis, yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi obyek. UML merupakan standar yang relatif terbuka yang diatur oleh Object Management Group (OMG), sebuah konsorsium terbuka. OMG berfungsi untuk membuat standar-standar yang mendukung interoperabilitas sistem yang berorientasi objek. Versi terakhir dari UML adalah UML ver 2.0[9].

Menurut Kruchten[10], UML adalah bahasa grafis untuk visualizing, specifying, constructing and documenting setiap artifak dari sistem perangkat lunak.
UML mendukung The 4+1 View Model of Architecture, yakni 
1) The Logical View, 
2) The Implementation View, 
3) The Process View dan 
4) The Deployment View ditambah dengan 
5) The Use Case View.

Lihat Gambar dibawah ini tentang pemetaan UML pada Architecture Model Perangkat Lunak:

Model merupakan representasi lengkap dari sistem perangkat lunak, sedangkan arsitektur merupakan fokus pandangan pada bagian-bagian tertentu dari sistem perangkat lunak. Atau dapat dikatakan arsitektur sistem merupakan cetak-biru aplikasi. Keterhubungan model dan arsitektur sistem perangkat lunak, digambarkan oleh UML.

Tool Yang Mendukung UML
Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah:
Rational Rose (www.rational.com)
Together (www.togethersoft.com)
Object Domain (www.objectdomain.com)
Jvision (www.object-insight.com)
Objecteering (www.objecteering.com)
MagicDraw (www.nomagic.com/magicdrawuml)
Visual Object Modeller (www.visualobject.com)
Data seluruh tool yang mendukung UML, lengkap beserta harganya (dalam US dolar) bisa anda pelajari di situs http://www.objectsbydesign.com/tools/umltools_byCompany.html .
Disamping itu, daftar tool UML berikut fungsi dan perbangingan kemampuannya juga dapat dilihat di
http://www.jeckle.de/umltools.htm.


Referensi Site UML
Sebagai referensi dalam mempelajari dan menggunakan UML, situs-situs yang merupakan pointer
penting adalah:
http://www.cetus-links.org/oo_uml.html
http://www.omg.org
http://www.omg.org/technology/uml/
http://www.rational.com/uml
http://www.uml.org/


Tulisan lainnya tentang UML dapat ditemukan disini

Sumber Acuan
[1] Schach, Object Oriented Software Engineering, 8th Ed, McGrawHill, 2008. 

[2] Sommerville, Software Engineering, 8th ed, Pearson Education Limited, 2007
[3] Pressman, Software Engineering, A Practitioner’s Approach, 6th ed, McGrawHill, Singapura, 2005.
[4] Dennis, Wixom and Tegarden, System Analysis and Design with UML, An Object-Oriented Approach, 3dh ed, John Wiley & Sons, International Student Edition, 2010.
[5] Bentley and Whitten, System Analysis and Design for the Global Enterprise, 7th ed, McGrawHill International Edition, 2007.
[6] Kendall and Kendall, System Analysis and Design, 7th ed, Pearson Prentice Hall, 2007.
[7] CMMI Product Team, CMMI® for Development, Version 1.3, Improving processes for developing better products and services, November 2010, TECHNICAL REPORT CMU/SEI-2010-TR-033 , ESC-TR-2010-033, Software Engineering Process Management Program, Unlimited distribution subject to the copyright. http://www.sei.cmu.edu.
[8] Martin Fowler, UML Distilled, A Brief Guide to the Standard Object Modelling Language, 3th ed, Pearson Education, 2004.
[9] www.uml.org., Unified Modelling Language: Superstructure Version 2.0, ptc/03-08-02.
[10] Philippe Kruchten, The Rational Unified Process An Introduction, 3rd ed, Pearson Education, 2004.



draft Analisa dan Perancangan Sistem Informasi e-Direktori Pariwisata


RANCANGAN ANALISA SISTEM
e-Direktori Pariwisata Sulawesi Utara

Perancangan analisa sistem merupakan suatu kegiatan yang berisi proses analisis dan perancangan aplikasi. Tujuan aktivitas ini adalah untuk mengimplementasikan semua objek dan proses dalam tahap analisis menjadi karakteristik yang dikenali computer:
1. Tujuan Sistem
Tujuan utama pembuatan sistem ini adalah sebagai alat bantu bagi wisatawan, dan khususnya pengelola hotel atau kuliner, baik perorangan maupun organisasi.
2. Analisa Kebutuhan Sistem
e-Direktori Pariwisata Sulawesi Utara (SIP) diharapkan dapat memenuhi beberapa kebutuhan yang terkait dengan pemanfaatan potensi pariwisata provinsi Sulawesi Utara. Kemampuan yang dapat diberikan oleh SIP ini berupa:
1. Sebaran lokasi hotel dan kuliner.
2. Informasi atribut hotel dan kuliner
3. Informasi jalur angkot yang melewati lokasi hotel dan kuliner
4. Informasi terkait lainnya
2.1 Analisa Perangkat Lunak
Pada perancangan sistem informasi Posisi ini, perangkat lunak yang digunakan adalah Macromedia DreamWeaver, PHP dan mySQL. Pemilihan perangkat lunak dan bahasa pemrograman ini didasarkan pada kemampuan perangkat lunak tersebut yang dapat mengolah data berupa peta dan menampilkan informasi dan tampilan yang lebih bagus dibanding dengan perangkat lunak lainnya.
2.2 Analisa Perangkat Keras
Agar dapat berjalan dengan baik maka dibutuhkan harddisk yang berkapasitas minimal 5 GB, processor minimal 800MHZ (Intel maupun AMD), memory minimal 64 MB dan VGA minimal 32 MB. Implementasi SIP ini sangat membutuhkan perangkat keras yang cukup tinggi, dengan kata lain dibutuhkan spesifikasi computer yang cukup tinggi. Hal ini dikarenakan data yang diakses dan yang disimpan tidak hanya dalam bentuk data tabular melainkan adanya data Posisi yang memiliki kapasitas data yang besar untuk menampilkan informasi dan tampilan secara interaktif. Jika spesifikasi perangkat keras yang digunakan tidak memenuhi persyaratan minimal, proses masih dapat berjalan namun dengan kinerja yang cukup lambat.
2.3 Spesifikasi Masukan Sistem
Masukan sistem terdiri dari data – data:
1. Data spasial hotel.
2. Data spasial kuliner.
3. Data angkutan
4. Informasi hotel, kuliner dan angkutan
5. Pencarian.
2.4 Spesifikasi Keluaran Sistem
Hasil sistem berupa:
1. Visualisasi lokasi hotel
2. Visualisasi lokasi kuliner
3. Visualisasi angkutan.
4. Analisa Bersyarat (query).

3. Analisa Pengolahan Data
Proses analisis pengolahan data terdiri dari: visualisasi, pengolahan data (input, edit, update dan delete), cari informasi dan tampilkan informasi.
3.1 Analisa Data Spasial
Analisis menggunakan data spasial yang tediri dari peta jalan, peta hotel, peta kuliner. Skala peta yang digunakan adalah 1:20.000, dengan kedalaman inforamsi pada indentifikasi jalan, luas area kecamatan dan jumlah hotel dan kuliner. Data spasial digunakan sebagai alat bantu pengambilan keputusan melalui hasil visualisasi.
3.2 Analisa Data Non Spasial
Data non spasial disebut juga sebagai atribut dari data spasial. Fungsinya adalah membangun database untuk analisa atau pengolahan data, sehingga dapat memberikan informasi yang dibutuhkan. Data non spasial yang dibutuhkan untuk analisa adalah masing – masing atribut pada data spasial, misalnya atribut jalan, atribut hotel dan atribut kuliner.
3.3 Proses Manage Data
Merupakan proses manage data – data teknis dari gambaran tentang perhotelan dan kuliner provinsi Sulawesi Utara yanga da. Manage data dilakukan untuk menjaga keakuratan data, terutama untuk data yng terus berubah. Proses manage data hanya bisa dilakukan oleh administrator (user tidak diberikan fasilitas ini) atau dengan membuat table dan field baru apabila ada jenis informasi yang diinginkan.
3.4 Penentuan Sebaran Hotel dan Kuliner
Penentuan sebaran hotel dan kuliner dengan cara memilih hotel atau kuliner tertentu yang berbeda dalam suatu theme untuk ditampilkan informasinya secara sendiri.
3.5 Pencarian Hotel dan Kuliner
Proses pencarian hotel dan kuliner dengan cara memilih layer tertentu dan mengaktifkan theme lain yang kemudian dikoneksikan dengan area berdasarkan atribut yang dipilih.
3.6 Analisa Bersyarat
Analisa bersyarat merupakan proses pencarian informasi berdasarkan field – field atribut pada suatu theme. Proses ini dilakukan dengan memilih informasi yang ditampilkan berdasarkan field yang diinginkan.
3.7 Visualisasi
Proses visualisasi ini merupakan ciri khas yang membedakan sistem informasi Posisi dengan sistem informasi lainnya. Dalam visualisasi ini, tampilan yang disajikan dapat dipilih layer mana saja yang diinginkan untuk divisualisasikan, yaitu dengan fasilitas layer control.
3.8 Cari Informasi
Proses ini dilakukan melalui fasilitas query yang terdiri dari find. Didalamnya diinputkan informasi apa yang akan dicari. Tabel beserta fieldnya. Khususnya untuk find, hasilnya dapat langsung ditunjukan di map-nya dalam bentuk symbol. 
3.9 Tampilkan Informasi
Proses menampilkan informasi ini dilakukan dalam bentuk tampilan legend, info tool dan grafik.

4. Kekuatan dan Kelemahan Sistem
4.1 Kekuatan Sistem
Kekuatan sistem yang dihasilkan dapat dilihat dari berbagai aspek, yaitu implementasi, user interface, tampilan, aplikasi, program dan buku petunjuk pengguna.
1) Implementasi
a. Perangkat lunak yang digunakan dapat bertukar data dengan basis data yang dimiliki sehingga memudahkan dalam implementasi sistem.
b. Memiliki banyak fasilitas yang dapat digunakan.
c. Memudahkan dalam analisa untuk perancangan.
2) User Interface
a. Tersedia informasi langsung dalam tiap proses, sehingga mudah dalam memahami proses
b. Tersedianya button, tools dan menu yang lengkap dan praktis untuk pengolahan data membuat aplikasi lebih mudah.
3) Tampilan
a. Penampilan symbol dan warna pada setiap layer peta membuat tampilan lebih menarik dan interaktif.
b. Tool dan button yang disediakan dengan tampilan yang unik, sederhana sehingga mudah dipahami.
c. Dilengkapi dengan design yang menarik.
d. Terlihat info tool, legenda yang terpisah membuat tampilan penyajian data lebih mudah untuk dilihat dan tidak membingungkan.
4.2 Kelemahan Sistem
Menu – menu yang ada sangatlah terbatas karena memang dirancang agar menunya praktis dan mudah dipahami oleh user/pengguna.

5. Analisa Orientasi Pemakai
Pemakai sistem dibagi ke dalam dua kelompok, yaitu:
1. Pemakai umum (atau user)
Pemakai umum dapat mengakses fungsi – fungsi analisa Posisi (aplikasi).
2. Administrator (admin) aplikasi
Administrator SIP berhak mengakses semua fungsi di dalam sistem, termasuk pengelolaan data dan penggunaan password.

Untuk diagram Perancangan bisa diunduh disini


Model Proses Daur Hidup SOftware


Model proses daur hidup perangkat lunak, dikemukakan oleh Schach[1], merupakan tahapan pengembangan perangkat lunak ideal. Model ini menganggap perangkat lunak sebagai produk yang dihasilkan dalam urutan tahapan tertentu secara ideal. Tahapan berurutan tersebut adalah: 
1) Memulai dari scratch (yakni memulai dari tidak ada); 
2) Tahap pendefinisian requirements (atau kebutuhan); 
3) Tahap Analysis; 
4) Tahap Perancangan; 
5) Tahap Implementasi.

Ian Sommerville[2] mengemukan empat tahapan fundamental dalam model proses perangkat lunak, yakni; 
1) Software specification (proses pendefinisian kebutuhan perangkat lunak); 
2) Software design and implementation (mengembangkan perangkat lunak yang sesuai dengan persyaratan user); 
3) Software validation (perangkat lunak yang dihasilkan harus disesuaikan kembali menurut keinginan user);
4) Software evolution (perangkat lunak dikembangkan terus untuk memenuhi kebutuhan user yang bertambah).

Roger Pressman[3] mengusulkan suatu generic process framework perangkat lunak, dengan tahapan sebagai berikut: 
1) Komunikasi; 
2) Perencanaan; 
3) Pemodelan; 
4) Konstruksi; 
5) Implementasi.

Dennis, Wixom dan Tegarden[4] mengemukakan model proses yang disebut System Development Life Cycle (disingkat SDLC) dengan tahapan berikut: 
1) Perencanaan, 
2) Analisis, 
3) Perancangan, 
4) Impelementasi.
Tahapan ini serupa dengan yang dikemukakan oleh Bentley dan Whitten[5], yakni: 
1) System Initiation; 
2) System Analysis; 
3) System Design dan 
4) System Implementation.

Sedangkan Kendall dan Kendall mengusulkan 7 (tujuh) tahapan dalam SDLC, yakni: 
1) Identifikasi permasalahan, kesempatan dan tujuan; 
2) Penentuan persyaratan informasi pengguna; 
3) Analisa kebutuhan sistem; 
4) Perancangan sistem yang telah direkomendasi; 
5) Pengembangan dan dokumentasi perangkat lunak; 
6) Menguji sistem; 
7) Implementasi dan Evaluasi sistem.

Terkait dengan model proses perangkat lunak, maka Software Engineering Institute – Carnegie Mellon (SEI)[7] mengeluarkan framework Standar Ukuran Kematangan yang disebut CMMI for Development (CMMI – DEV). Model CMMI® (Capability Maturity Model® Integration) merupakan kumpulan best practices yang membantu setiap organisasi untuk mengembangkan proses pengembangan perangkat lunak. Model ini dikembangkan dari kalangan industry, pemerintahan dan akademisi pada SEI. Model proses yang disebut CMMI-DEV, menyediakan kumpulan panduan lengkap terkait pengembangan layanan dan produk perangkat lunak.

Menurut Schach[1], model daur hidup perangkat lunak, secara ideal berbeda dengan praktek dikarenakan dua hal:
1) praktisi perangkat lunak adalah manusia, sehingga cenderung untuk membuat kesalahan; 
2) kebutuhan pengguna cenderung mengalami perubahan saat perangkat lunak sementara dikembangkan.

Dari pemaparan tersebut diatas, kita dapat memgetahui bahwa proses pengembangan perangkat lunak ataupun sistem informasi itu mengikuti suatu alur yang berurutan (memiliki nilai logis tertentu). Alur berurutan ini merupakan "best practices"dari berbagai pengalaman para pengembang dalam membangun aplikasi dan sistem informasi. Tujuan utama model proses adalah untuk managing software dengan lebih baik. Managing software dengan lebih baik dipahami sebagai meminimalkan resiko pengembangan software itu sendiri.



Sumber Acuan
[1] Schach, Object Oriented Software Engineering, 8th Ed, McGrawHill, 2008. 
[2] Sommerville, Software Engineering, 8th ed, Pearson Education Limited, 2007
[3] Pressman, Software Engineering, A Practitioner’s Approach, 6th ed, McGrawHill, Singapura, 2005.
[4] Dennis, Wixom and Tegarden, System Analysis and Design with UML, An Object-Oriented Approach, 3dh ed, John Wiley & Sons, International Student Edition, 2010.
[5] Bentley and Whitten, System Analysis and Design for the Global Enterprise, 7th ed, McGrawHill International Edition, 2007.
[6] Kendall and Kendall, System Analysis and Design, 7th ed, Pearson Prentice Hall, 2007.
[7] CMMI Product Team, CMMI® for Development, Version 1.3, Improving processes for developing better products and services, November 2010, TECHNICAL REPORT CMU/SEI-2010-TR-033 , ESC-TR-2010-033, Software Engineering Process Management Program, Unlimited distribution subject to the copyright. http://www.sei.cmu.edu.