Senin, 30 September 2013

Model Waterfall

Metode rekayasa peranti lunak yang digunakan peneliti adalah Metode waterfall.
Menurut Pressman (2010, p.39) waterfall adalah model klasik yang bersifat
sistematis, berurutan dalam membangun software. Berikut ini ada dua gambaran
dari waterfall model.
Fase-fase dalam model waterfall menurut referensi Pressman:




1. Communication
Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk
mengadakan pengumpulan data dengan melakukan pertemuan dengan customer,
maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel,
maupun dari internet.

2. Planning
Proses planning merupakan lanjutan dari proses communication (analysis
requirement). Tahapan ini akan menghasilkan dokumen user requirement atau
bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam
pembuatan software, termasuk rencana yang akan dilakukan. 9

3. Modeling
Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah
perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini
berfokus pada rancangan struktur data, arsitektur software, representasi
interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan
dokumen yang disebut software requirement.

4. Construction
Construction merupakan proses membuat kode. Coding atau pengkodean
merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh
komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user.
Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu
software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini.
Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang
telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan
terhadap sistem tersebut untuk kemudian bisa diperbaiki.

5. Deployment
Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem.
Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi
akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan
pemeliharaan secara berkala. 10

Kelebihan dari model ini adalah selain karena pengaplikasian menggunakan
model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan
sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal proyek, maka
Software Engineering (SE) dapat berjalan dengan baik dan tanpa masalah.
Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan se-eksplisit
yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal
proyek lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang
terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap
selanjutnya.

Kekurangan yang utama dari model ini adalah kesulitan dalam
mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus
lengkap dan selesai sebelum mengerjakan fase berikutnya.
Masalah dengan waterfall :
1. Perubahan sulit dilakukan karena sifatnya yang kaku.
2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan
secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi
pada kenyataannya jarang sekali konsumen/pengguna yang bisa
memberikan kebutuhan secara lengkap, perubahan kebutuhan adalah
sesuatu yang wajar terjadi.
3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar
yaitu dengan proyek yang dikerjakan di beberapa tempat berbeda, dan
dibagi menjadi beberapa bagian sub-proyek.

Sumber :
http://thesis.binus.ac.id/doc/Bab2/2011-2-00244-MTIF%20Bab2001.pdf

Teori Agile Methode

(Widodo Journal : 2006:1) Metode Agiel adalah suatu metode konvesional untuk membangun beragai jenis Perangkat Lunak dan berbagai macam tipe proyek pengembangan perangkat lunak, yang dapat melakukan pengiriman atau penyampaian hasil dari impelentasi sistem melalui perangkat lunak dengan cepat. 

Pendapat Lain, Agile model adalah sebuah model yang cukup baik untuk diimplementasikan dalam pemodelan perangkat lunak berbasis Teknik Berorientasi Objek; di mana memberikan penekanan kebutuhan dalam ketentuan:
1. Pencapaian tujuan yang tepat.
2. Mudah dimengerti.
3. Cukup akurat.
4. Cukup konsisten.
5. Cukup rinci / detail.
6. Pemberian nilai yang positif.
7. Sederhana untuk direalisasikan.
Jadi, Agile Modeling (AM) adalah sebuah metodologi praktis untuk memodelkan system perangkat lunak ber-teknik orientasi objek secara efektif. Metodologi AM terbentuk dari kumpulan-kumpulan praktis yang dipelihara oleh prinsip-prinsip dan nilai-nilai yang dapat diaplikasikan oleh perangkat lunak profesional dari waktu ke waktu. AM menekankan pada pemodelan yang mantap bukan dokumentasi yang rumit/ berbelit-belit

Karakteristik Agile Modeling:
1.      AM adalah suatu model yang telah nyata (attitude/sikap dati perangkat   lunak), bukan proses untuk menentukan batasan kembali.
2.      AM adalah pelengkap dari metodologi pemodelan yang telah ada; dan AM bukan merupakan metodologi yang lengkap.
3.      AM adalah sebuah cara pemodelan efektif bagi sebuah tim pengembang dalam usahanya untuk mempertemukan kebutuhan setiap proyek dari stakeholder user.
4.      AM adalah metodologi efektif dan suatu metodologi untuk menuju pengembangan perangkat lunak yang efektif.
5.      AM adalah pemodelan sederhana yang praktis dan tidak menekankan secara teoritis (AM is an art model, not a science model).
6.      AM is not a silver bullet (tidak menangani kasus yang sangat spesifik).
7.      AM diperuntukkan bagi developer umum; namun tidak diperuntukkan sebagai pengganti pemodelan bagi para professional.
8.      AM tidak mencakup dokumentasi lengkap; namun hanya meliputi saran-saran untuk mendokumentasikan model yang bernilai/berkualitas.
9.      AM tidak menspesifikasikan pada penanganan per kasus.
10.  AM tidak diperuntukkan bagi semua orang dengan berbagai kalangan dan latar belakang.

Keberadaan
AM memiliki 3 sasaran utama:
1.      Untuk  mendefinisikan dan menampilkan cara pemodelan  dalam bentuk yang nyata / riil dengan melibatkan nilai-nilai, prinsip-prinsip, dan praktik praktis; tanpa mengabaikan efektivitas dan kesederhanaan yang berkualitas sebuah model.
2.      Untuk mengeksplorasi cara menerjemahkan / mengaplikasikan pemodelan orientasi teknik pada proyek perangkat lunak (seperti: XP, DSDM, atau SCRUM) ke dalam pendekatan Agile.
3.      Untuk mengeksplorasi cara memperbaiki pemodelan yang berbasiskan prescriptive process (proses ketetapan / prinsip baku dan kaku); seperti: RUP (Rational Unified Process).

Nilai lebih dari AM (mencakup secara prinsip dan praktik) :
1.      Komunikasi (Communication)
2.      Keberanian (Courage)
3.      Kilas Balik (Feedback)
4.      Kerendahan tingkat (Humility)
5.      Kesederhanaan (Simplicity)

Berdasarkan penilaian standard yang dilakukan oleh Agile Alliance (perkumpulan pengguna Agile modelling); penilaian tambahan terhadap nilai lebih Agile modelling :
1. Individuals and interactions pada proses dan objek alat yang digunakan.
2. Working software yang mencapai dokumentasi luas/umum.
3. Customer collaboration mencakup negosiasi proyek bersama.

4. Responding to change terhadap perencanaan pengembangan.

Sumber : 
  1. http://12puby.blogspot.com/2011/03/metode-agile.html
  2. Makalah Mengenai Metode Agile "STTELKOM"


Proses Pengembangan Dokumentasi Suatu Aplikasi

Sebuah proses pengembangan perangkat lunak , juga dikenal sebagai pengembangan perangkat lunak siklus hidup ( SDLC ) , adalah struktur dikenakan pada pengembangan produk perangkat lunak . Istilah serupa termasuk perangkat lunak siklus hidup dan proses perangkat lunak . Hal ini sering dianggap sebagai bagian dari siklus hidup pengembangan sistem .

Ada beberapa model untuk proses tersebut , masing-masing menggambarkan pendekatan untuk berbagai tugas atau kegiatan yang berlangsung selama proses tersebut . Beberapa orang menganggap model - siklus hidup istilah yang lebih umum dan proses pengembangan perangkat lunak istilah yang lebih spesifik . Sebagai contoh, ada banyak proses pengembangan perangkat lunak khusus yang ' cocok' model spiral siklus hidup . ISO / IEC 12207 adalah suatu standar internasional untuk perangkat lunak proses siklus kehidupan . Ini bertujuan untuk menjadi standar yang mendefinisikan semua tugas yang dibutuhkan untuk mengembangkan dan memelihara perangkat lunak .

Perencanaan
Perencanaan merupakan tujuan dari setiap kegiatan , di mana kita ingin menemukan hal-hal yang termasuk dalam proyek. Sebuah tugas penting dalam menciptakan sebuah program perangkat lunak adalah penggalian persyaratan atau analisa kebutuhan. [ 1 ] Pelanggan biasanya memiliki gagasan abstrak dari apa yang mereka inginkan sebagai hasil akhir , tetapi tidak tahu software apa yang harus dilakukan. Insinyur perangkat lunak terampil dan berpengalaman mengakui tidak lengkap , persyaratan ambigu , atau bahkan bertentangan pada saat ini . Sering menunjukkan kode hidup dapat membantu mengurangi resiko bahwa persyaratan tidak benar .
Setelah persyaratan umum dikumpulkan dari klien , analisis ruang lingkup pembangunan harus ditentukan dan dinyatakan dengan jelas . Hal ini sering disebut dokumen lingkup .
Fungsionalitas tertentu dapat keluar dari lingkup proyek sebagai fungsi biaya atau sebagai akibat dari persyaratan tidak jelas pada awal pembangunan. Jika pembangunan dilakukan secara eksternal , dokumen ini dapat dianggap sebagai dokumen hukum sehingga jika ada perselisihan pernah , setiap ambiguitas yang dijanjikan kepada klien dapat diklarifikasi .

Implementasi , pengujian dan mendokumentasikan
Pelaksanaan adalah bagian dari proses di mana insinyur perangkat lunak sebenarnya program kode untuk proyek .
Software pengujian adalah fase integral dan penting dari proses pengembangan perangkat lunak . Ini bagian dari proses memastikan bahwa cacat diakui sesegera mungkin .
Mendokumentasikan desain internal perangkat lunak untuk tujuan pemeliharaan masa depan dan peningkatan dilakukan di seluruh pembangunan. Hal ini juga dapat mencakup penulisan sebuah API , baik itu eksternal atau internal. Proses rekayasa perangkat lunak yang dipilih oleh tim berkembang akan menentukan berapa banyak dokumentasi internal ( jika ada ) diperlukan . Rencana -driven model ( misalnya , Waterfall) umumnya menghasilkan dokumentasi lebih dari model Agile .

Penyebaran dan pemeliharaan
Deployment dimulai langsung setelah kode tersebut tepat diuji , disetujui untuk rilis , dan dijual atau didistribusikan ke dalam lingkungan produksi . Ini mungkin melibatkan instalasi, kustomisasi (seperti dengan menetapkan parameter untuk nilai pelanggan ) , pengujian , dan mungkin jangka evaluasi .
Pelatihan perangkat lunak dan dukungan adalah penting, sebagai perangkat lunak hanya efektif jika
digunakan dengan benar .
Memelihara dan meningkatkan perangkat lunak untuk mengatasi kesalahan yang baru ditemukan atau persyaratan dapat mengambil banyak waktu dan usaha, karena persyaratan tidak terjawab mungkin memaksa mendesain ulang perangkat lunak .

Sumber :
https://in.wikipedia.org/wiki/Software_development_process

Senin, 09 September 2013

TDA (Teknik Dokumentasi Aplikasi)

Pert. 1

Pengenalan..

Pengertian Dokumentasi :
Dokumentasi adalah mengumpulkan data dengan cara mengalir atau mengambil data-data dari catatan, dokumentasi, administrasi yang sesuai dengan masalah yang diteliti. Dalam hal ini dokumentasi diperoleh melalui dokumen-dokumen atau arsip-arsip dari lembaga yang di teliti.

Pengertian Aplikasi :
Aplikasi berasal dari kata application yaitu bentuk benda dari kata kerja to apply yang dalam bahasa Indonesia berarti pengolah.  Secara istilah, aplikasi komputer adalah suatu subkelas perangkat lunak komputer yang menggunakan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pemakai.
  
Dokumen-dokumen yg baik memiliki sejumlah persyaratan terkait:

  1. Mereka harus bertindak sebagai media komunikasi antara anggota pengembangan tim.
  2. Mereka harus menjadi sistem informasi repositori untuk digunakan oleh insinyur pemeliharaan.
  3. Mereka harus memberikan informasi bagi manajemen untuk membantu mereka merencanakan,anggaran dan jadwal proses pengembangan perangkat lunak.
  4. Beberapa dokumen harus memberitahu pengguna bagaimana untuk menggunakan dan mengelola sistem.
Produk Dokumentasi
Produk dokumentasi seperti dokumen pengguna memberi tahu pengguna tata cara penggunaan software dan sistem yang telah dibuat.

Dokumentasi Pengguna
Hal ini penting untuk membedakan pengguna dan pembuat sistem:
  • Pengguna menggunakan software untuk mempermudah pekerjaan,
  • Pengelola sistem bertanggung jawab pada software yang digunakan oleh pengguna,
  • Deskripsi layanan yg tersedia > Functional > Sistem evaluator,
  • Bagaimana menginstal system>installation>system administrator,
  • Bagaimana memulai system>introductory>pengguna pemula,
  • Detail dari fasilitas>reference>pengguna berpengalaman,
  • Bagaimana mmengoperasikan dan merawat>system administrator>system administrator>Fungsional description, dokumen ini berisi penjelasan dari system dan secara ringkas menjelaskan layanan yang disediakan. Dokumen ini harus memberikan gambaran dari system.
  • >System installation document, ditujukan untuk pengelola system. Berisi tata cara untuk menginstal sistem. Berisi deskripsi dari file yang membentuk system dan konfigurasi hardware  minimal yang diperlukan.
  • >Introductory manual, mendeskripsikan bagaimana cara untuk memulai dan bagaimana cara penggunaan dari sistem serta memberikan informasi jika sistem mengalami kerusakan agar dapat ditangani oleh pengguna.
  • >System reference manual, dokumen ini memiliki detail kerusakan – kerusakan yang mungkin terjadi dan cara penanganannya.
  •  >System administrator’s guide, menyediakan perintah – perintah dan kontrol yang dapat digunakan oleh sistem. Menjelaskan bagaimana menginteraksikan antara sistem satu dengan yang lain.
Pentingnya Dokumentasi pada Aplikasi

  • Dokumentasi mutlak diperlukan dalam menjalankan sistem manajemen mutu baik berupa hard copy ataupun soft copy. Keberadaan dokumen tersebut didesain sedemikian rupa sehingga tidak menghambat jalannya sistem melainkan mempermudah.
  • Pengarsipan. Dokumentasi mempermudah anda dalam menemukan arsip secara efektif, efisien dan terinci. Dengan adanya dokumentasi baik dalam bentuk software(aplikasi), foto maupun video maka terciptalah suatu pengarsipan sejarah bangsa yang terstruktur  dengan lengkap, rapi dan bermanfaat.

Mengapa dokumentasi tersebut penting? karena yang menjalankan sistem tersebut adalah manusia. Dengan dokumentasi para pekerja akan diarahkan bekerja secara teratur, seragam, tidak tumpang tindih, menghindari konflik, memperlancar kerja dan lain-lain. Untuk mencapai tujuan tersebut diperlukan komitmen dan konsistensi semua personel untuk mematuhi apa yang tertulis di dokumen.

Sumber :
  1. Nasution,  Metodologi Research Penelitian Ilmia , ( Jakarta: Bumi Aksara, 2003 ), 143.
  2. http://www.mlarik.com/2013/07/pengertian-aplikasi-komputer.html
  3. http://mutupro.blogspot.com/2010/03/mengapa-iso-9001-memerlukan-dokumentasi.html

TQ..