Agile Vs Waterfall

Agile Vs Waterfall



Metodologi pengembang perangkat lunak
Dalam rekayasa perangkat lunak, metodologi pengembangan perangkat lunak atau metodologi pengembangan sistem adalah suatu kerangka kerja yang digunakan untuk menstrukturkan, merencanakan, dan mengendalikan proses pengembangan suatu system informasi. Banyak ragam kerangka kerja yang telah dikembangkan selama ini, yang masing-masing memiliki kekuatan dan kelemahan sendiri-sendiri.
Suatu metododologi pengembangan sistem tidak harus cocok untuk difgunakan untuk semua royek. Masing-masing metodologi mungkin cocok diterapkan untuk suatu proyek tertentu, berdasarkan berbagai pertimbangan teknis, organisasi, proyek, serta tim.
Ada 12 metode Softwate Development yang saya rangkum dari beberapa sumber di internet, antara lain:
1. Waterfall Model
2. Agile Methodology
3. Scrum Development Methodology
4. RAD (Rapid Application Development)
5. Prototype Methodology
6. Dynamic Systems Development Model (DSDM)
7. Spiral Model
8. Extreme programming
9. Feature Driven Development
10. Joint Application Development
11. Lean Development
12. Rational Unified Process





Agile Development Method
 Sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile development methods merupakan salah satu dari Metodologi pengembangan perangkat lunak yang digunakan dalam pengembangan perangkat lunak. Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada. Sehingga saat membuat perangkat lunak dengan menggunakan agile development methods diperlukan inovasi dan responsibiliti yang baik antara tim pengembang dan klien agar kualitas dari perangkat lunak yang dihasilkan bagus dan kelincahan dari tim seimbang.
Kelebihan metode ini:
• Proses Iterative dan Incremental.
• Requirement dapat berubah sewaktu-waktu.
• Pelacakan requirement dengan melihat Backlog produk.
• Keterlibatan user secara aktif.
• Rilis yang lebih cepat dan berkala, fungsi dirilis setiap akhir iterasi.
• Testing dilakukan setiap saat.
Kekurangan dari metode ini:
• Interaksi dengan client yang kadang terlalu berlebihan.
• Agile sulit diimplementasikan dalam proyek yang berskala besar.
• Waktu perencanaan proyek yang singkat.
• Membutuhkan manajemen tim yang terlatih.

Waterfall Development Method
Pengembangan sistem dan juga perangkat lunak dari sebuah software komputer dilakukan secara sekuensial dan juga saling berurutan. Pada model pengembangan sistem metode waterfall, sebuah pengembangan sistem dilakukan berdasarkan urutan analisis, desain, pengkodean, pengujian, dan berakhir pada tahap supporting. Disebut sebagai metode waterfall dikarenakan tahapan dan juga urutan dari metode yang dilakukan merupakan jenis metode yang berurutan dan berkelanjutan, seperti layaknya sebuah air terjun.
Kelebihan metode ini:
• Relatif mudah dimengerti dan mudah digunakan.
• Requirement dari sistem bersifat stabil.
• Baik dalam manajemen kontrol.
• Bekerja dengan baik ketika kualitas lebih diutamakan dibandingkan dengan biaya dan jadwal/deadline.
Kekurangan dari metode ini:
• Semua kebutuhan sistem harus diketahui di awal
• Integrasi sekaligus di akhir sistem.
• Testing hanya dilakukan pada setiap akhir fase, bahkan tidak jarang testing hanya dilakukan di akhir-akhir proyek.
• Membutuhkan waktu yang cukup lama meski kadang proyeknya tidak terlalu besar.
• Perubahan requirement dapat merubah keseluruhan proses yang telah dilaksanakan.

Agiel Vs Waterfall
Tahap Analisis
Pada metode waterfall, tahap analisis dilakukan setelah inisialisasi proyek. Pada tahap ini semua kebutuhan sistem dikumpulkan dari client atau pemilik proyek. Sistem analis akan menganalisa proyek sebelum dilanjutkan ke fase berikutnya dan hasilnya berupa kebutuhan sistem yang biasanya bersifat statis.
Pada metode Agile, tahap analisis akan dilakukan di awal-awal project. Pada Agile namun masih ada kemungkinan bahwa hasil dari tahap analisis ini mengalami perubahan tergantung dari kebutuhan sistem. Karena susah untuk dapat mengumpulkan semua kebutuhan sistem pada awal proyek maka tidak jarang analisis juga dilakukan pada setiap iterasi, namun analisis yang dilakukan disini lebih spesifik ke fungsi tertentu saja.
Tahap Pengujian
Pada metode waterfall proses pengujian menggunakan metode waterfall, penggujian dilakukan setelah semua proses selesai dan penggujian metode waterfall terpisah dari proses build  sistem.
Pada metode agile proses pengujian menggunakan metode Agile, pengujian dilakukan beriringan dengan proses implementasi atau coding, sehingga tidak membutuhkan tahapan tersendiri untuk melakukan testing.
Waktu
Waktu yang dimaksud adalah lama pelaksanaan proyek. Metode waterfall memakan waktu yang relatif lebih banyak dibandingkan dengan metode agile namun tetapi kualitas yang dihasilkan sebanding dengan waktu pengerjaannya.
Sedangkan pada metode agile dengan prinsipnya “rilis berkala” kadang membuat suatu proyek terkesan terburu-buru dan kualitas secara keseluruhan kurang terlalu diperhatikan.
Biaya
Waktu pengerjaan suatu proyek akan berpengaruh terhadap biaya yang harus dikeluarkan untuk sebuah proyek. Semakin lama waktu pengerjaan suatu proyek maka biaya yang dibutuhkan juga akan semakin besar. Tak jarang suatu proyek dihentikan karena kekurangan biaya. Atau bisa juga biaya yang diberikan oleh client tidak sebanding dengan tingkat kesulitan proyek.






Linier layout android

Linier Layout Horisontan

Dengan menggunakan Linear Layout setiap komponen atau elemen yang akan digunakan untuk merancang aplikasi android disejajarkan dalam satu arah saja, yaitu secara horizontal atau vertical.

Tag pembuka dari Linier layout adalah < LinearLayout > dan tag akhirannya yaitu </LinearLayout> .  Untuk menentukan horizontal atau vertical tag atau atribut yang dipakai yaitu android:orientation.

Contoh sederhana Linier layout horinsontal :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context=".MainActivity"
    android:background="#03A9F4">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Muhammad Amfahtori Wijarnoko"
        android:textColor="#000"
        android:background="#009688" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="170441100012"
        android:textColor="#000"
        android:textAlignment="center"
        android:background="#FFEB3B" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Sistem Informasi 2017"
        android:textColor="#000"
        android:textAlignment="center"
        android:background="#FF5722"/>
    
</LinearLayout>

Hasil : 

Linier layout android

Linier Layout Vertikal

Dengan menggunakan Linear Layout setiap komponen atau elemen yang akan digunakan untuk merancang aplikasi android disejajarkan dalam satu arah saja, yaitu secara horizontal atau vertical.

Tag pembuka dari Linier layout adalah < LinearLayout > dan tag akhirannya yaitu </LinearLayout> .  Untuk menentukan horizontal atau vertical tag atau atribut yang dipakai yaitu android:orientation.

Contoh sederhana Linier layout :



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context=".MainActivity"
    android:background="#03A9F4">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Muhammad Amfahtori Wijarnoko"
        android:textColor="#000"
        android:textAlignment="center"
        android:background="#009688"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="170441100012"
        android:textColor="#000"
        android:textAlignment="center"
        android:background="#FFEB3B"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Sistem Informasi 2017"
        android:textColor="#000"
        android:textAlignment="center"
        android:background="#FF5722"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp" />
    
</LinearLayout>



Hasil : 


Metode SAW (Simple Additive Weighting )

Simple Additive Weighting (SAW)

Pengertian :

Metode Simple Additive Weighting (SAW) sering juga dikenal istilah metode penjumlahan terbobot.
Konsep dasar metode SAW adalah mencari penjumlahan terbobot dari rating kinerja pada setiap alternatif pada semua atribut (Fishburn, 1967)(MacCrimmon, 1968).
Metode SAW membutuhkan proses normalisasi matriks keputusan (X) ke suatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada


Langkah-langkah : 
  1. Menentukan kriteria-kriteria yang akan dijadikan acuan dalam pengambilan keputusan.yaitu (Ci).
  2. Menentukan rating kecocokan setiap alternatif pada setiap kriteria.
  3. Membuat matriks keputusan berdasarkan kriteria(Ci), kemudian melakukan normalisasi matriks berdasarkan persamaan yang disesuaikan dengan jenis atribut (atribut keuntungan ataupun atribut biaya) sehingga diperoleh  matriks ternormalisasi R.
  4. Hasil akhir diperoleh dari proses perankingan yaitu penjumlahan dari perkalian matriks ternormalisasi R dengan vektor bobot sehingga diperoleh nilai terbesar yang dipilih sebagai alternatif terbaik sebagai solusi(Ai)
Rumus : 


Dimana :
r_ij=rating kinerja ternormalisasi
〖Max x〗_ij= nilai maksimum dari setiap baris dan kolom
〖Min x〗_ij  = nilai minimum dari setiap baris dan kolom
x_ij= baris dan kolom dari matriks

Mencari nilai alternatif untuk setiap prefensi :
:
Dimana :
V_i= Nilai akhir dari alternatif
w_j= Bobot yang telah ditentukan
r_ij= Normalisasi matriks

Nilai Vi yang lebih besar besar mengindikasikan bahwa alternatif Ai lebih terpilih

Kategori

Kategori