Minggu, 30 Desember 2018

Mengenal ISO 27001

Salah satu sistem manajemen mutu ISO yang dikenal adalah Sistem Manajemen Mutu ISO 27001. ISO/IEC 27001, atau lengkapnya “ISO/IEC 27001:2005 – Information technology — Security techniques — Information security management systems — Requirements“, adalah suatu standar sistem manajemen keamanan informasi (Information Security Management System – ISMS) yang diterbitkan oleh ISO dan IEC pada Oktober 2005. Tujuan dari standar ISO 27001 adalah untuk menyediakan model guna penetapan, penerapan, pengoperasian, pemantauan, pengkajian, memelihara, dan peningkatan Sistem Manajemen Keamanan Infomasi. ISO 27001 ditujukan untuk digunakan bersama dengan ISO/IEC 27002, yang memberikan daftar tujuan pengendalian keamanan dan merekomendasikan suatu rangkaian pengendalian keamanan secara spesifik. Organisasi yang mengimplementasikan ISMS sesuai dengan pedoman praktik terbaik pada ISO/IEC 27002 kemungkinan juga akan memenuhi persyaratan pada ISO/IEC 27001 walaupun sertifikasinya tetap opsional dan terlepas satu sama lain, kecuali jika diminta oleh para pemangku kepentingan organisasi.

ISO 27001 tidak hanya mencakup aspek teknologi informasi, tetapi standar ISO 27001 juga menjangkau seluruh proses bisnis termasuk pihak pendukung proses bisnis tersebut, seperti pihak ketiga / outsourcing. Standar ini memasukkan aspek proses dan sumber daya manusia yang ada di dalam organisasi bersangkutan. Secara definisi ISO 27001:2005 dan ISO 27002:2007 didesain untuk dapat digunakan oleh perusahaan pada semua sektor industri. Walaupun begitu banyak perusahaan kecil menengah yang menghadapi masalah dalam memenuhi kebutuhan ISMS dikarenakan keterbatasan SDM dan biaya.

Dalam implementasinya, ISO/IEC 27001:2005 menerapkan prinsip-prinsip pokok sebagai berikut:

Prinsip 1 – Confidentiality
Karakteristik informasi di mana hanya mereka yang memiliki akses dan kebutuhan dapat mengakses informasi tertentu.

Prinsip 2 – Integrity
Kualitas atau keadaan yang utuh, lengkap, dan tidak rusak. Integritas informasi bebas dari ancaman korupsi, kerusakan, kehancuran, atau gangguan lain.

Prinsip 3 – Availability
Karakteristik informasi yang memungkinkan pengguna mengakses informasi dalam format yang berguna tanpa interfensi atau gangguan.

Prinsip 4 – Privacy
Informasi dikumpulkan, digunakan dan disimpan oleh organisasi hanya dengan tujuan yang dinyatakan oleh pemilik data pada saat dikumpulkan. Privacy berarti bahwa informasi akan digunakan apabila diketahui oleh orang yg menyediakannya.

Prinsip 5 – Identification
Sistem informasi memiliki karakteristik identifikasi ketika mampu mengenali pengguna individu (username atau ID lainnya).

Prinsip 6 – Authentication
Memastikan adanya kontrol untuk membuktikan bahwa pengguna memiliki identitas yg ia klaim.

Prinsip 7 – Authorization
Menjamin bahwa pengguna (orang atau komputer) telah secara khusus dan secara eksplisit disahkan oleh otoritas yang tepat untuk mengakses, memperbarui, atau menghapus isi dari aset informasi.

Prinsip 8 – Accountability
Memastikan adanya kontrol yang memberikan jaminan bahwa setiap kegiatan yang dilakukan dapat dikaitkan dengan seseorang bernama atau proses otomatis.

Organisasi yang menerapkan ISO 27001 akan memiliki keuntungan antara lain:


  • ISO 27001 memastikan adanya keamanan dalam sistem mutu yang digunakan saat ini.
  • ISO 27001 memberikan kesempatan untuk mengidentifikasi dan mengelola resiko informasi dan sistem.
  • Memberikan kepercayaan diri dan jaminan kepada organisasi mitra dagang dan klien.
  • Memungkinkan audit independen dalam praktek-praktek keamanan informasi.

Penerapan Data Mining

Di bidang apa saja penerapan data mining dapat dilakukan?

1. Analisa Pasar dan Manajemen

Untuk analisa pasar, banyak sekali sumber data yang dapat digunakan seperti transaksi kartu kredit, kartu anggota club tertentu, kupon diskon, keluhan pembeli, ditambah dengan studi tentang gaya hidup publik.
Beberapa solusi yang bisa diselesaikan dengan data mining diantaranya:


  • Menembak target pasar

Data mining dapat melakukan pengelompokan (clustering) dari model-model pembeli dan melakukan klasifikasi terhadap setiap pembeli sesuai dengan karakteristik yang diinginkan seperti kesukaan yang sama, tingkat penghasilan yang sama, kebiasaan membeli dan karakteristik lainnya.


  • Melihat pola beli pemakai dari waktu ke waktu

Data mining dapat digunakan untuk melihat pola beli seseorang dari waktu ke waktu. Sebagai contoh, ketika seseorang menikah bisa saja dia kemudian memutuskan pindah dari single account ke joint account (rekening bersama) dan kemudian setelah itu pola beli-nya berbeda dengan ketika dia masih bujangan.

  • Cross-Market Analysis

Kita dapat memanfaatkan data mining untuk melihat hubungan antara penjualan satu produk dengan produk lainnya. Berikut ini saya sajikan beberapa contoh:

*** Cari pola penjualan Coca Cola sedemikian rupa sehingga kita dapat mengetahui barang apa sajakah yang harus kita sediakan untuk meningkatkan penjualan Coca Cola?

*** Cari pola penjualan IndoMie sedemikian rupa sehingga kita dapat mengetahui barang apa saja yang juga dibeli oleh pembeli IndoMie. Dengan demikian kita bisa mengetahui dampak jika kita tidak lagi menjual IndoMie.


  • Profil Customer

Data mining dapat membantu dalam melihat profil customer/pembeli/nasabah sehingga kita dapat mengetahui kelompok customer tertentu suka membeli produk apa saja.

  • Identifikasi Kebutuhan Customer


Mengidentifikasi produk-produk apa saja yang terbaik untuk tiap kelompok customer dan menyusun faktor-faktor apa saja yang kira-kira dapat menarik customer baru untuk bergabung/membeli.


  • Menilai Loyalitas Customer

VISA International Spanyol menggunakan data mining untuk melihat kesuksesan program-program customer loyalty mereka.


  • Informasi Summary

Memanfaatkan data mining untuk membuat laporan summary yang bersifat multi-dimensi dan dilengkapi dengan informasi statistik lainnya.

2. Analisa Perusahaan dan Manajemen Resiko


  • Perencanaan Keuangan dan Evaluasi Aset

Data Mining dapat membantu dalam melakukan analisis dan prediksi cash flow serta melakukan contingent claim analysis untuk mengevaluasi aset. Selain itu Data Mining juga dapat digunakan untuk analisis trend.

  • Perencanaan Sumber Daya (Resource Planning)

Dengan melihat informasi ringkas (summary) serta pola pembelanjaan dan pemasukan dari masing-masing resource, Data Mining dapat dimanfaatkan untuk melakukan resource planning.

  • Persaingan (Competition)

*** Sekarang ini banyak perusahaan yang berupaya untuk dapat melakukan competitive intelligence. Data Mining dapat membantu  untuk memonitor pesaing-pesaing dan melihat market direction mereka.

*** Melakukan pengelompokan customer dan memberikan variasi harga/layanan/bonus untuk masing-masing grup.

*** Menyusun strategi penetapan harga di pasar yang sangat kompetitif. Hal ini diterapkan oleh perusahaan minyak REPSOL di Spanyol dalam menetapkan harga jual gas di pasaran.

3. Telekomunikasi

Sebuah perusahaan telekomunikasi menerapkan data mining untuk melihat dari jutaan transaksi yang masuk, transaksi mana sajakah yang masih harus ditangani secara manual (dilayani oleh orang). Tujuannya tidak lain adalah untuk menambah layanan otomatis khusus untuk transaksi-transaksi yang masih dilayani secara manual. Dengan demikian jumlah operator penerima transaksi manual tetap bisa ditekan minimal.

4. Keuangan

Financial Crimes Enforcement Network di Amerika Serikat baru-baru ini menggunakan data mining untuk me-nambang trilyunan dari berbagai subyek seperti property, rekening bank dan transaksi keuangan lainnya untuk mendeteksi transaksi-transaksi keuangan yang mencurigakan (seperti money laundry). Mereka menyatakan bahwa hal tersebut akan susah dilakukan jika menggunakan analisis standar.

5. Asuransi

Australian Health Insurance Commision menggunakan data mining untuk mengidentifikasi layanan kesehatan yang sebenarnya tidak perlu tetapi tetap dilakukan oleh peserta asuransi. Hasilnya? Mereka berhasil menghemat satu juta dollar per tahunnya.

6. Olah Raga

IBM Advanced Scout menggunakan data mining untuk menganalisis statistik permainan NBA (jumlah shots blocked, assists dan fouls) dalam rangka mencapai keunggulan bersaing (competitive advantage) untuk tim New York Knicks dan Miami Heat.

7. Astronomi

Jet Propulsion Laboratory (JPL) di Pasadena, California dan Palomar Observatory berhasil menemukan 22 quasar dengan bantuan data mining. Hal ini merupakan salah satu kesuksesan penerapan data mining di bidang astronomi dan ilmu ruang angkasa. 

8. Internet Web Surf-Aid

IBM Surf-Aid menggunakan algoritma data mining untuk mendata akses halaman Web khususnya yang berkaitan dengan pemasaran guna melihat prilaku dan minat customer serta melihat ke-efektif-an pemasaran melalui Web.

Sabtu, 06 Oktober 2018

Apa itu OODB dan ODBMS?

A.    Definisi Object Oriented Database (OODB)

Object oriented database adalah sebuah model basis data di mana informasi disimpan daam bentuk object. Object yang dimaksud tersebut digunakan dalam OOP (object oriented progamming). Ketika kemampuan basis data bergabung dengan kemampuan OOP, hasilnya berupa object database management system (ODBMS). ODBMS ideal untuk pemrogaman object oriented karena ketika dilakukan proses developer, controller dan model memiliki persamaan yaitu sama–sama menggunankan object. ODBMS mendukung data yang kompleks seperti video, suara, gambar, dan sebagainya secara native. Berbeda dengan Relational Database Mangement Sistem (RDBMS), ia tidak bersifat native yang tidak mendukung data kompleks karena harus membagi menjadi dua bagian yaitu : model basis data dan model aplikasi. Bagi yang telah mengenal RDBMS, object pada ODBMS bertindak sama dengan tabel RDBMS. ODBMS dibuat untuk menggantikan RDBMS jika bahasa pemrograman yang digunakan adalah OOP.


Kelebihan-kelebihan OODB antara lain:
1.     Proses penyimpanan dan pengambilan data lebih sederhana;
2.     Program mengakses data dengan object-nya secara langsung sehingga kinerja program akan lebih tinggi.


Kekurangan-kekurangan OODB antara lain :
1.     Kekurangan dukungan platform, kebanyakan OODB hanya mendukung bahasa pemrograman C++, C# dan Java saja;
2.     Kebutuhan keterampilan, dikarenakan OODB masih tergolong baru dan masih relatif jarang penggunanya;
3.     Sulit bermigrasi, dibutuhkan komitmen yang kuat dalam memilih DBMS yang akan digunakan, sekali bermigrasi ke OODB, akan sulit untuk kembali ke RDBMS.
 

B.    Definisi Object Oriented Database Manjemen System (OODBMS)
 

Object Oriented Database adalah sebuah sistem database yang menggabungkan semua konsep penting dari object oriented tersebut dengan beberapa fitur tambahan antara lain :

-  Unique object identifiers
-  Persistent object handling


OODB atau ODBMS dirancang untuk bekerja pada bahasa pemrograman berorientasi objek seperti Java, C++ dan lain-lain. Bila kita ingin menyimpan objek pada program Java atau C++ ke dalam sebuah basis data, kita dapat menggunakan basis data yang berorientasi kepada objek (ODBMS).
ODBMS sangat memudahkan programmer terutama yang terbiasa dengan OOP   dalam  mengolah data dan variabel dalam programnya. Kebanyakan programmer basis data menghabiskan cukup banyak waktu untuk merepresentasikan variabel atau objek pada programnya ke dalam struktur basis data.

Selasa, 27 Maret 2018

Pengertian dan Cara Instalasi MySQL Server

1. Pengertian MySQL
 
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multialur, multipengguna, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, di mana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, di mana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael “Monty” Widenius. 

2. Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain : 
  1. Portabilitas . MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
  2. Perangkat lunak sumber terbuka . MySQL didistribusikan sebagai perangkat lunak sumber terbuka, di bawah lisensi GPL sehingga dapat digunakan secara gratis.
  3. Multi-user . MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
  4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
  5. Ragam tipe data . MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
  6. Perintah dan Fungsi . MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
  7. Keamanan . MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
  8. Skalabilitas dan Pembatasan . MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman ( records ) lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
  9. Konektivitas . MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP , Unix soket (UNIX), atau Named Pipes (NT).
  10. Lokalisasi . MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
  11. Antar Muka . MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  12. Klien dan Peralatan . MySQL dilengkapi dengan berbagai peralatan ( tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
  13. Struktur tabel . MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle .
3. Kelebihan dan Kekurangan MySQL
 
Kelebihan :
  1. Berlisensi GPL dan Multi Platform.
  2. Dapat diintegrasikan dengan beberapa bahasa Pemrograman seperti .Net, Java, Python, Perl yang merupakan bahasa pemrograman yang paling dominan di kalangan programmer.
  3. Mendukung ODBC untuk sistem operasi Windows sehingga bisa digunakan aplikasi yang berjalan diwindows.
  4. Bisa dijalankan pada spesifikasi hardware yang rendah karena lebih hemat resource memory (dibandingkan database lain) sehingga mudah digunakan untuk bahan pembelajaran.
  5. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa meskipun bahasa indonesia belum termasuk didalamnya.
Kekurangan :
  1. Banyak mengklaim kurang support terhadap pemrograman Visual/Desktop, sehingga sedikit yang menggunakan untuk aplikasi visual.
  2. Karena berlisensi GPL sehingga sulit mendapatkan update untuk problem yang urgent, sehingga perusahaan skala menengah keatas lebih memilih RDBMS berlisensi dan disupport seperti Oracle dan MS SQL Server
  3. Sangat diragukan dalam menangani data skala besar, karena ada beberapa opini yang pro dan kontra terhadap kemampuan MySQL terhadap pengolahan data yang besar.
4. Cara Instalasi MySQL di Windows
Pastikan anda telah menyimpan source MySQL pada komputer anda, disini akan dijelaskan instalasi menggunakan versi MySQL Server 5.7.16. Jalankan file mysql-installer-community-5.7.16.0.msi yang ada di komputer.
 
Install database MySQL
Setelah itu akan muncul dialog keterangan Windows Configures MySQL Installer, tunggu sampai proses loading ini selesai.
 
Install database MySQL
Seperti pada umumnya kita menginstall aplikasi, akan muncul tampilan License Agreement, silahkan centang checkbox I Accept the license terms lalu klik Next.
 
Install database MySQL
Lalu akan muncul tampilan Choosing a Setup Type, disini ada beberapa opsi pilihan proses installasi, yaitu:
  1. Developer Default
  2. Server Only
  3. Client Only
  4. Full
  5. Custom
Disini tidak akan dijelaskan mengenai masing-masing opsi tersebut, namun perbedaan yang mendasar dari masing-masing opsi adalah program apa saja yang ingin di install didalamnya, tapi yang pasti kita pilih Server Only, karna memang yang kita butuhkan adalah MySQL Server, tidak 
perlu yang lain. Silahkan Klik Server Only lalu klik Next.
 
Install database MySQL
Selanjutkan akan muncul daftar program apa saja yang kita akan pasang di komputer kita, karna pada sebelumnya kita hanya akan install database mysql server saja maka yang muncul hanya satu saja, yaitu MySQL Server. Setelah itu klik Execute.
 
Install database MySQL
Maka Proses Install Database MySQL berjalan, jika ingin melihat detail proses install database mysql silahkan klik tombol Show details, seperti gambar dibawah ini.
 
Install database MySQL
Setelah itu akan tampil keterangan bahwa proses intall database mysql telah complete pada bagian status dan pada bagian detail proses install database mysql akan muncul fitur apa saja didalamnya, lalu klik Next.


Install database MySQL

Sampai disini akan muncul daftar konfigurasi mysql, karna awal kita memilih Server Only, jadi yang muncul hanya pengaturan konfigurasi Mysql, Klik Next.
 
Install database MySQL
Lalu kita akan dibawa ke bagaian konfigurasi awal, yaitu Type and networking, untuk detail konfigurasi silahkan anda samakan dengan dibawah ini, setelah itu jika telah sesuai klik Next.
  • Config Type: Development Machine
  • Centang TCP/IP
  • Masukan Port Number: 3306
  • Centang Open Firewall Port for network access
  • Kosongkan bagian yang lain
 
Install database MySQL
Setelah itu akan muncul bagian Konfigurasi Accounts and Roles, pada bagian ini penulis tidak tahu apakah kolom password bisa dikosongkan atau tidak, namun penulis mengisi password “admin” tanpa tanda kutip, silahkan anda sesuaikan.
Untuk dibagian bawah dilewatkan saja, kecuali jika ingin menambah pengguna di MySQL yang anda install di komputer anda ini, jika telah selesai silahkan klik Next.
 
Install database MySQL
Setelah itu akan muncul bagian konfigurasi Windows Service , pada konfigurasi ini yang akan menangani proses stratup program MySQL ini, sehingga apabila komputer baru saja diaktifkan maka secara otomatis MySQL dapat langsung digunakan tanpa perlu di aktifkan terlebih dahulu, silahkan ikuti pengaturan dibawah ini, jika telah selesai klik Next.
  • Centang Configure MySQL Server as a Windows Service
  • Pada kolom Windows Service Name silahkan isi sesuai keinginan, namun penulis membiarkan secara default atau bawaan, ini hanya masalah penamaan service saja.
  • Lalu centang pada Start the MySQL Server at System Startup.
  • Lalu pilih Standard System Account.
 Untuk lebih jelaskan silahkan lihat pada gambar dibawah ini.
 
Install database MySQL
Setelah itu akan dibawa kebagian Plugins and Extension, pada konfigurasi ini, penulis membiarkan semuanya dikosongkan. Lalu klik Next.
 
Install database MySQL
Sampai disini semua konfigurasi akan dijalankan secara otomatis dan akan terlihat apa saja yang akan dikonfigurasi oleh system, dibagian ini semua akan berjalan dengan otomatis, anda hanya tinggal klik tombol Execute saja.
 
Install database MySQL
Jika seluruh daftar konfigurasi telah selesai semua, maka daftar itu akan secara otomatis satu persatu muncul icon ceklis warna hijau, icon itu menunjukan bahwa masing-masing konfigurasi telah selesai. Lalu klik Finish.
 
Install database MySQL
Setelah itu kita akan dikembalikan lagi ke bagian Product Configuration, namun bedanya kali ini adalah daftar keterangan modul apa saja yang telah selesai di konfigurasi, karna pada awal kita hanya memilih Server Only, maka yang muncul hanya daftar source MySQL Server. Lalu Klik Next.
 
Install database MySQL
Terakhir akan muncul keterangan Installation Complete, dibagian ini ada tombol Copy Log to Clipboard, tombol ini berfungsi untuk meng-copy seluruh keterangan Log Proses Installasi, biarkan saja tombol tersebut. Silahkan Klik Finish.
 
Install database MySQL
Sampai disini proses install database mysql telah selesai, namun untuk dapat memastikannya silahkan klik tombol start jika anda menggunakan windows 7 atau windows 10, namun jika menggunakan windows 8, silahkan anda cari melalui kolom pencarian pada bagian kanan layar.
 
Install database MySQL
Jika sudah klik start, klik All Programs ->MySQL -> MySQL 5.7 lalu pilih MySQL 5.7 Command Line Client, maka akan muncul Commpand Promp, dan anda ditanya password, silahkan masukan Password yang sebelumnya telah ditentukan pada bagian konfigurasi MySQL.
 
Install database MySQL
 Jika sudah masuk, silahkan ketikan perintah berikut ini:
 
SHOW DATABASES;
Lalu klik enter, maka akan muncul sejumlah database, seperti tampilan dibawah ini.
 
Install database MySQL
Dari tampilan di atas adalah daftar database bawaan pada MySQL, database tersebut adalah konfigurasi MySQL itu sendiri, untuk keluar silahkan ketikan perintah dibawah ini.
 
QUIT;

Minggu, 11 Maret 2018

Pengertian, Kelebihan serta Kekurangan dari beberapa Model Pengembangan Perangkat Lunak


1.     Waterfall Development Model

Waterfall development model merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekuensial.

Berikut Merupakan Tahapan – tahapan Pengembangan  Model Sekuensial Linear / Waterfall Development Model :

a)    Rekayasa dan pemodelan sistem/informasi

b)    Analisis kebutuhan perangkat lunak

c)    Desain

d)    Pengkodean

e)    Pengujian

f)     Pemeliharaan, meliputi:

  • Corrective Maintenance

  • Adaptive Maintenance

  • Perfective Maintenance

Kelebihan Waterfall Development Model :

    • Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
    • Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
    • Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.

Kekurangan Model Sekuensial Linear / Waterfall Development Model :

    • Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
    • Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
    • Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
    • Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
    • Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.



2.     Model Prototype 


Metode Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau Waterfall Development Model.

Dalam Model Prototype, prototype dari perangkat lunak yang dihasilkan kemudian dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan kesempatan untuk memberikan masukan sehingga perangkat lunak yang dihasilkan nantinya betul-betul sesuai dengan keinginan dan kebutuhan pelanggan.

Perubahan dan presentasi prototype dapat dilakukan berkali-kali sampai dicapai kesepakatan bentuk dari perangkat lunak yang akan dikembangkan.

Teknik – teknik Prototyping Meliputi :

  • Perancangan Model
  • Perancangan Dialog
  • Simulasi

Berikut adalah 4 langkah yang menjadi karakteristik dalam proses pengembangan pada metode prototype, yaitu :

  • Pemilihan fungsi
  • Penyusunan Sistem Informasi
  • Evaluasi
  • Penggunaan Selanjutnya

Metode ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri atas model kertas, model kerja dan program. Pihak pengembang akan melakukan identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface, teknik prosedural dan teknologi yang akan dimanfaatkan.

Tahapan - tahapan Proses dengan Model Prototype:

a)    Pengumpulan Kebutuhan

b)    Membangun Prototyping

c)    Evaluasi Prototyping

d)    Pengkodean Sistem

e)    Menguji Sistem

f)     Evaluasi Sistem

g)    Implementasi Sistem

Kelebihan Model Prototype :

  • Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
  • Penentuan kebutuhan lebih mudah diwujudkan.
  • Mempersingkat waktu pengembangan produk perangkat lunak.
  • Adanya komunikasi yang baik antara pengembang dan pelanggan.
  • Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
  • Lebih menghemat waktu dalam pengembangan sistem.
  • Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.

Kekurangan Model Prototype :

  • Proses analisis dan perancangan terlalu singkat.
  • Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
  • Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.

3.     Model Rapid Application Development (RAD)


Rapid Aplication Development (RAD) adalah sebuah model proses perkembanganperangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. 
 

Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Rapid Application Development (RAD), yaitu :

a)    Bussiness Modelling

  • Informasi apa yang menegndalikan proses bisnis?

  • Informasi apa yang dimunculkan?

  • Di mana informasi digunakan ?

  • Siapa yang memprosenya ?

b)    Data Modelling

c)    Process Modelling

d)    Application Generation

e)    Testing & Turnover


Kelebihan Model RAD :

  • Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
  • Cocok untuk proyek yang memerlukan waktu yang singkat.
  • Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.

Kekurangan Model RAD :

  • Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
  • Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
  • Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
  • Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.

4.     Model Incremental


Model Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang, atau bisa disebut gabungan dari Model linear sekuensial (waterfall) dengan Model Prototype. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai.

Model ini berfokus pada penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai. Model ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan ketersediaan waktu yang terbatas.


Kelebihan Model Incremental :

  • Personil bekerja optimal.
  • Mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk menjalankannya.
  • Memaksimalkan pengembalian modal investasi konsumen.

Kekurangan Model Incremental :

  • Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding).
  • Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increment.

5.     Model Spiral / Model Boehm


Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya.  Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.

a)    Tahap Liason

Pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.

b)    Tahap Planning (Perencanaan)

Pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.

c)    Tahap Analisis Resiko

Mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.

d)    Tahap Rekayasa (engineering)

Pembuatan prototype.

e)    Tahap Konstruksi dan Pelepasan (Release)

Pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.

f)     Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.



Kelebihan
Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.


Kekurangan

Waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juga biaya yang besar. Selain itu, sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk diterapkan.


6.     Model V / V-Model


Bisa dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.

Kelebihan V model:

  • V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
  • V Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap V Model.



Kekurangan V model:

  • V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
  • V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.

7.     Extreme Programming


Extreme Programming (XP) adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.“.


Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain:

a)    Planning

b)    Design

c)    Coding

d)    Testing

Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat. Extreme Programming merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.

Core Value Extreme Programming, yaitu:

a)    Komunikasi

b)    Kesederhanaan

c)    Umpan Balik

d)    Keberanian


Berikut Siklus Hidup dalam XP:

Kelebihan Extreme Programming, yaitu:

  • Meningkatkan kepuasan kepada klien
  • Pembangunan system dibuat lebih cepat

Kelemahan Extreme Programming, yaitu:

  • Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
  • XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.