Oktober 08, 2013

Teknik Dokumentasi Aplikasi Pert 4

Produk Dokumentasi


Dokumentasi produk biasanya berguna untuk waktu yang lebih lama selama produk tersebut masih digunakan daripada Dokumentasi Proses yang waktu kadaluwarsa-nya lebih cepat.

Dokumentasi produk ini melingkupi user documentation yang memberitahu pengguna bagaimana cara mengoperasikan produk software, dan system documentation yang diperuntukkan bagi teknisi maintenence.
User documentation,meliputi :


1. End-user menggunakan software sebagai alat bantu untuk mengerjakan suatu tugas, menulis sebuah buku, mengelola keuangan, bahkan menerbangkan pesawat. Mereka ingin tahu seberapa software dapat memudahkan pekerjaan mereka tetapi tidak ingin tahu detail teknis tentang software tersebut.

2. System administrator bertanggung jawab mengelola dan memelihara software yang digunakan oleh end-user. Dapat berupa operator, network manager, hingga master teknis yang memecahkan segala permasalahan end-user berkaitan dengan software, atau juga penghubung antara user dengan software developer.



Sumber :
http://bintarmadayraditya.files.wordpress.com/2012/02/dokumentasi-software.pdf
Materi Kuliah TDA

Oktober 05, 2013

Teknik Dokumentasi Aplikasi Pert 3

Proses Dokumentasi



Untuk membuat software diperlukan proses dokumentasi dimana proses dokumentasi itu dapat membantu pengembang,user dalam hal mengembangkan lagi, maupun maintenence. Dalam proses dokumentasi terdapat beberapa kategori, yaitu :
  1. Perencanaan, perkiraan, dan penjadwalan.
  2. Laporan – laporan
  3. Standarisasi
  4. Kertas kerja
  5. Pesan email, atau Komunikasi yang berbentuk pesan.


  • Dalam kategori yang pertama dokumen dibuat oleh manajer yang berfungsi sebagai prediksi, kontrol, maupun rencana-rencana dasar seperti berapa banyak estimasi biaya, dan bagaimana penjadwalannya. Dokumen ini biasanya dibuat sebelum proyek berjalan, biasa disebut project management plan.


  • Dalam Kategori laporan, dokumen ini mencatat bagaimana sumber daya yang digunakan selama mengembangkan software tersebut.


  • Standarisasi mengatur bagaimana seharusnya suatu proses diimplementasikan. Semakin bagus suatu perusahaan maka semakin tinggi standard yang digunakan.


  • Lembar kerja/ working paper Sering kali merupakan dokumen komunikasi teknis utama dalam suatu proyek. Dokumen ini merekam ide-ide dan pikiran-pikiran para engineer yang bekerja dalam proyek, yang merupakan dokumentasi produk versi sementara yang menjelaskan strategi pengimplementasian dan penentuan masalah yang telah diidentifikasi. Seringkali dokumen ini mencatat alasan-alasan pemilihan suatu keputusan dalam desain.


  • Memo dan surat/pesan elektronik. Dokumen yang merekam rincian komunikasi sehari-hari antara manajer dan development engineer. Karakteristik utama dari dokumentasi proses adalah hampir semuanya akan menjadi kadaluarsa. Banyak informasi yang akan menjadi tidak berguna apabila telah terlewati dan normalnya tidak ada kepentingan untuk tetap menyimpannya setelah sistem/software telah jadi, seperti jadwal / perencanaan pembuatan.






September 29, 2013

Teknik Dokumentasi Aplikasi Pert 2

Pengembangan Software

Ada beberapa Model Pengembangan Software, seperti “Waterfall”, “Spiral”  dan “Agile”. Tetapi yang paling sering digunakan dalam proses pengembangan software atau perangkat lunak adalah model “Waterfall” atau “Agile". Dalam Dokumentasi Aplikasi kedua model ini sering bertolak belakang dan berbeda. Pada kesempatan kali ini akan dibahas apa perbedaan dari model ini, dan mungkin akan membuka wawasan anda mengenai perbedaan dan karakter kedua model ini.
Model Sekuensial Linear (Waterfall)
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut “Classic Life Cycle” atau model "Waterfall". Model ini muncul pertama kali sekitar tahun 1970 sehingga sering disebut klasik/kuno, tetapi merupakan model yang sering digunakan oleh Software Engineering. Disebut waterfall karena tahap demi tahap yang menunggu selesainya tahap sebelumnya dan berjalan berurutan.



Berikut penjelasan dari tahap-tahap yang dilakukan didalam model ini :


Analisis kebutuhan perangkat lunak
Analisa kebutuhan bisa dilakukan dengan cara observasi atau wawancara. Setelah itu selesai kemudian kebutuhan – kebutuhan di analisa dan didefinisikan untuk membangun sebuah aplikasi.
Desain
Proses software design untuk mengubah kebutuhan-kebutuhan di atas menjadi representasi ke dalam bentuk "blueprint" software sebelum coding dimulai. Langkah ini meliputi membuat sistem flow, dfd, erd serta user interface.
Coding
Tahap ini yaitu memberikan instruksi-instruksi fungsi ke dalam desain tersebut untuk dijalankan oleh computer.
Testing
Setelah coding selesai maka aplikasi tersebut di uji coba apakah ada kesalahan –kesalahan atau pun error sebelum aplikasi ini di gunakan oleh user.
Maintenance
Pemeliharaan suatu aplikasi diperlukan, termasuk di dalamnya adalah pengembangan, karena aplikasi yang dibuat tidak selamanya hanya seperti itu ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan sebelumnya atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

Model Agile

Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan software. Agile method adalah jenis pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun.

Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.

Agile Method juga dapat diartikan sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.

Kelebihan dari Agile Method
1. Meningkatkan kepuasan kepada klien
2. Pembangunan sistem dibuat lebih cepat
3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
4. Jika pada saat pembangunan sistem terjadi kegagalan,kerugian dari segi materi relatif kecil.







Perbedaan Antara Agile dan Waterfall

  1. Keuntungan utama adalah skalabilitas mundur dalam Agile . Dalam pendekatan Waterfall kita tidak bisa mengubah keputusan dan implementasi sebelum dibuat tahap sebelumnya. Jika kita ingin mengganti atau mengubah sesuatu keputusan di dalam waterfall system, Kita harus membangun lagi proyek dari awal sekali lagi. Sedangkan Agile bisa Fleksibel.
  2. Fleksibilitas dalam Agile lebih baik untuk mengecek error dan mengatasi bug dibanding waterfall sistem yang hanya dapat menguji bug pada akhir modul pembangunan.
  3. Sejak Agile menyediakan fleksibilitas untuk membuat perubahan sesuai kebutuhan pelanggan itu lebih cenderung ke arah kepuasan pelanggan yang baik. Sedangkan Waterfall tidak memungkinkan modifikasi setelah modul selesai.




Sumber :

http://www.buzzle.com/articles/waterfall-model-vs-agile.html
http://roedavan.blogspot.com/2009/10/model-proses-perangkat-lunak.html
http://www.sdlc.ws/agile-vs-waterfall/
http://dwijaantara.wordpress.com/2010/10/25/agile-method/

September 10, 2013

Teknik Dokumentasi Aplikasi Pert 1



Teknik Dokumentasi Aplikasi

Dokumentasi Software
Software Documentation adalah teks tertulis yang menyampaikan isi perangkat lunak komputer. Software Documentation menjelaskan bagaimana mengoperasikan atau menggunakan software tersebut dan dapat menjelaskan hal-hal penting lainnya terhadap user yang membacanya.



Crisis Software
Software Crisis adalah istilah yang digunakan dalam ilmu komputer untuk menggambarkan dampak kompleksitas masalah dalam kemampuan komputer itu bekerja. Istilah ini pada intinya, mengacu pada kesulitan menulis kode yang benar, pemahaman rancangan yang sesuai dengan kebutuhan, dan dapat diverifikasi program komputer sesuai dengan platform komputer yang memadai.
Penyebab Software Crisis bisa bermacam-macam. 
Contohnya :

  • Proyek berjalan membutuhkan anggaran yang melebihi dari apa yang dianggarkan.

  • Proyek berjalan melebihi waktu yang dianggarkan.

  • Software tidak sesuai dengan yang dibutuhkan dan memiliki kualitas yang rendah.

  • Tidak ada pengendali error sehingga membuat program sulit terkendali.

  • Software tidak dapat dijangkau oleh User yang bebas(awam)




Pentingnya Dokumentasi Software
Buge Satriono Lelono dalam tulisannya mengenai pentingnya dokumentasi dalam IT atau pembuatan Software menjelaskan bahwa dokumentasi sebagai pendukung pengembangan sistem. Beliau menjelaskan menurut pengalamannya bagaimana pentingnya Dokumentasi dalam pembuatan Sotware. Berikut Penjelasannya :

“Dari berbagai literatur dan sumber-sumber informasi lainnya, bisa disimpulkan bahwa Software Engineer/System Application Documentation, meliputi elemen-elemen sebagai berikut di bawah ini:
  1. Requirements Documentation
  2. Architecture & Design Documentation
  3. Technical  Documentation
  4. End User Manuals Documentation
Elemen ke dua, yakni Architecture & Design Documentation, meliputi Database Design Documentation atau DDD. Sedangkan Technical Documentation, meliputi coding/scripting/querying documentation (tujuan,  deskripsi, algoritma, API & class yang digunakan - kalau ada, Query yang digunakan, dan database yang digunakan).

Mengapa hal tersebut di atas menjadi begitu penting? Baiklah, saya memberi contoh sederhana saja, dari pengalaman saya sendiri (pengalaman konyol karena mengabaikan dokumentasi). Pernah suatu ketika saya bekerja di sebuah perusahaan, seorang programmer mendadak mengundurkan diri. Awalnya tentu tidak masalah buat saya, mengingat bahwa aplikasi yang dibuatnya kebetulan memang sangat stabil, termasuk berbagai urusan dengan end-user yang menyangkut “bug handling”. Yang kemudian menjadi masalah besar adalah, ketika perusahaan atau manajemen, mengubah kebijakan teknis yang tentunya bertujuan untuk efesiensi biaya yang efeknya juga merembet pada keharusan me-modifikasi aplikasi berbasis komputer.
Tentu saja saya kelabakan, meskipun elemen pertama dan kedua sudah terdokumentasi, namun elemen ke tiga, Technical Documentation sama sekali tidak saya miliki dan memang ketika itu saya abaikan, atau lebih tepatnya, saya anggap sepele. Ujung-ujungnya ya kerja bakti, sambil mencari-cari programmer pengganti. Saat itu pun saya sudah bisa memprediksi, secanggih apa pun programmer pengganti, tanpa Technical Documentation yang tersusun baik dan benar, pasti akan membutuhkan waktu lama agar dapat “tune in” untuk urusan pengembangan aplikasi. Artinya, apabila “cost & effectiveness” juga diperhitungkan, maka waktu yang terbuang akibat Technical Documentation yang tidak tersedia, jelas sangat merugikan perusahaan.”

Kesimpulan
Kesimpulannya adalah dalam pengembangan aplikasi,Dokumentasi itu hal yang penting dan tidak boleh diremehkan. Karena dengan adanya dokumentasi dapat menjelaskan bagaimana program itu, apakah kelemahan program itu, atau bagaimana cara menjalankan program itu kepada user. Selain itu, dapat juga memudahkan user jika user akan mencoba memodifikasi aplikasi tersebut.



Terima Kasih Atas Perhatiannya..