Blue Fire Pointer

Minggu, 06 Oktober 2019

Download Aplikasi Pemilihan Desa KKN dengan Metode SAW

Salam Programmer gan. Disini saya akan share aplikasi buatan saya dalam penyeleksian tempat KKN dengan menggunakan Metode SAW pakai framework Laravel dan Semantic UI buat tampilannya.
langsung aja liat penampakannya gan.


Tampilan login gan.

Dashboard gan.

Data Alternatif gan

Data Kriteria gan.

Data Detail Kriteria gan.

Data Nilai Alternatif gan

Data Nilai Akhir gan sesuai rumus metode SAW

Mungkin seperti itu penampakan aplikasi Penyeleksian tempat KKN dengan Metode SAW.
jika membutuhkan silahkan sedot gan
Terimakasih sudah berkunjung.
Jika ada pertanyaan silahkan chat langsung via WA 

Download Aplikasi SPK Metode MAUT

Salam Programmer gan. Disini saya mau share tentang aplikasi buatan saya dengan metode MAUT menggunakan Framework laravel, dan template SEMANTIC UI. langsung saja ke penampakannya gan.


Tampilan Dashboardnya Gan


Input Jabatannya Gan


Kriteria Gan

Detail Kriteria Gan

Nilai Alternatif


Nilai Akhir Gan

Sekian penampakan dari aplikasi metode MAUT ini.
jika membutuhkan silahkan sedot gan.
Terimakasih sudah berkunjung :D
Jika ada pertanyaan silahkan chat langsung via WA



Minggu, 10 September 2017

Download Aplikasi SPK Menggunakan KNN

Salam programer.. disini saya akan share aplikasi buatan saya yaitu aplikasi sistem pendukung keputusan menggunakan metode KKN 9 K-Nearest Neighbor) dimana pada aplikasi ini untuk menentukan gizi pada pasien. adapaun hak akses dalam aplikasi ini yaitu admin dan konselor atau ahli gizi. dimana konselor menginputkan pasien yang akan dihitung nilai gizinya sesuai makanan yang dimakan. sedangkan admin menginputkan data kasus. karena pada prinsipnya untuk KNN semakin banyak kasus atau sampel maka semakin akurat perhitungannya.
langsung saja test drive gan


Login Admin


Admin Kelola Hak Akses User


Admin Kelola Modul


admin Kelola AKG


Admin Kelola Kasus atau sampel


Admin Kelola DKBM


Admin Kelola Makanan Kasus


Admin Kelola Total Gizi Kasus/ Sampel

Admin Kelola Hasil Kasus/ Sampel


Login Konselor atau Ahli Gizi


Halaman Utama Konselor


Konselor Kelola AKG


Konselor Kelola DKBM


Konselor Kelola Data Pasien


Konselor Kelola Data Makanan Pasien


Konselor Kelola Total Gizi Pasien


Konselor Kelola Hasil Gizi Pasien


Konselor Mendapat Rekomendasi Gizi


Laporan Gizi Pasien


Sekian Penampakan Aplikasi Estimasi Gizi Menggunakan Metode KNN
Jika Membutuhkan Silahkan Sedot Gan
Terimakasih Sudah Berkunjung.
Jika ada pertanyaan silahkan chat langsung via WA








Download Aplikasi SPK Menggunakan Metode AHP

Salam programer.. disini saya akan share aplikasi buatan saya yaitu aplikasi sistem pendukung keputusan penerimaan dana hibah dan bansos menggunakan metode AHP.
dalam sistem ini terdapat 4 user yaitu admin, tim pertimbangan, walikota, dan TU.
admin dapat mengelola semua data, tim pertimbangan hanya dapat menginputkan data kriteria, nilai kriteria, hasil akhir dan evaluasi dana. sedangkan walikota hanya mencetak laporan penerima dana bantuan sosial. dan tu hanya bisa menginputkan data pemohon anggaran.
adapun penampakannya seperti pada gambar dibawah ini saya contohkan tampilan admin saja karena tim pertimbangan dan walikota dan yang lainnya cuma perbedaan hak akses saja.


Halaman Utama.


Login


Halaman Utama


Kelola SKPD


Kelola APBD


Kelola Satuan Harga


Kelola Organisasi Hukum


Kelola Pemohon Anggaran atau Alternatif


Kelola Data Kriteria


Nilai Prioritas Kriteria


Hasil Akhir


Laporan Pemohon Atau Alternatif


Laporan Penerima Dana

Sekian Penampakannya
Jika Membutuhkan Silahkan Sedot Gan.
Terimakasih Sudah Berkunjung
Jika ada pertanyaan silahkan chat langsung via WA

Jumat, 19 Agustus 2016

Mengatasi Error Yang Terjadi Di Pemrograman PHP

 Assalamualaikum. Kali ini saya akan membagikan cara mengatasi beberapa error yang teradi di dalam pemrograman php.

Langsung saja mari kita simak penjelasannya.
Error:

Warning: mysql_fetch_array(): supplied argument is not
a valid MySQL result resource in .... 
atau
Warning: mysql_num_rows(): supplied argument is not
a valid MySQL result resource in ... 

Penjelasannya
Penyebab:
Error di atas disebabkan ada query SQL yang salah. Bisa jadi karena sintaks perintah query SQL nya salah, misalnya kurang tanda petik untuk menyatakan string dll. Selain itu bisa juga terjadi karena nama field dan tabel yang salah penulisannya.

Solusi:
Coba cek kembali statement query SQL Anda. Pastikan tidak ada lagi kesalahan dalam penulisannya. Untuk proses debugging query SQL (mengetahui letak kesalahannya), Anda bisa menambahkan statement die(mysql_error()) pada perintah mysql_query() nya. Contoh:
$query = ".....";
mysql_query($query) or die(mysql_error());
.
. 

Error:
Warning: session_start() [function.session-start]:
Cannot send session cookie - headers already sent by
(output started at ... ) in ... on line ... 
atau
Warning: session_start() [function.session-start]:
Cannot send session cache limiter - headers already sent
(output started at ...) in ... on line ... 

Penjelasannya

Penyebab:
Error di atas biasanya terjadi pada penggunaan session. Sewaktu memberikan perintah session_start(), terdapat baris perintah di atasnya yang menampilkan string atau kode html ke browser. Sebagai contoh, perhatikan script berikut ini:
<?php
echo "Hallo...";
session_start();
?> 
atau
<html>
<head>
    <title>....</title>
</head>
<?php
session_start();
?> 

Bila Anda perhatikan script di atas, maka terdapat string yang di-echo-kan atau terdapat kode html yang diletakkan sebelum session_start(). Nah… inilah yang menyebabkan error. Selain contoh di atas, error juga bisa muncul dari script yang berbentuk seperti ini:
<?php
include "header.php";
session_start();
?> 
Meskipun sebelum session_start() tidak ada echo atau kode html, namun error akan tetap muncul apabila isi dari script header.php terdapat echo atau kode html juga, misalnya

header.php
<?php
echo "hallo";
?>

Solusi:
Pastikan sebelum perintah session_start() tidak terdapat perintah echo atau kode html apapun.

Error:
Warning: Cannot modify header information – headers already sent by
(output started at ...) in ... 

Penjelasannya
Penyebab:
Peringatan di atas biasanya muncul ketika Anda melakukan redirecting menggunakan perintah
header("Location: ..."); 
Seharusnya, sebelum perintah header("Location: ...") tidak boleh ada string apapun yang ditampilkan di browser, meskipun itu kode HTML (sama seperti penyebab error di session_start() sebelumnya). Sebagai contoh perhatikan script berikut ini:
<?php
echo "<p>Hallo Apa kabar?</p>";
header("Location: test.php");
?> 
Pada script di atas, sebelum perintah header() terdapat string yang ditampilkan ke browser. Inilah yang mengakibatkan muncul peringatan tsb. Lantas bagaimana dengan script berikut ini?
<?php
$a = 10;
if ($a < 0) echo "Nilai A negatif";
else header("Location: test.php");
?> 
Kira-kira muncul Warning nya gak ya? Jika Anda coba, maka tidak muncul Warning nya meskipun sebelum header() terdapat string yang ditampilkan ke browser. Mengapa demikian? ya.. meskipun di situ terdapat perintah untuk menampilkan string ke browser, namun perintah tersebut tidak pernah dijalankan karena nilai $a nya positif.

Solusi:
Pastikan sebelum perintah header("Location: ...") tidak ada kode HTML atau perintah echo apapun. Jika Anda mengincludekan suatu script di atas header("Location: ...") pastikan dalam script yang diincludekan tersebut tidak ada kode HTML atau echo.

Error:
Warning: mysql_connect() [function.mysql-connect]:
Access denied for user ‘root’@'localhost’ (using password: YES) in ... 
Penjelasannya

Penyebab:
Error di atas disebabkan karena koneksi yang gagal ke MySQL. Penyebab gagalnya bisa jadi disebabkan nama user atau password yang salah.

Solusi:
Pastikan username dan password koneksi ke MySQL Anda sudah benar ketika menggunakan perintah koneksi mysql_connect("namahost", "namauser", "passworduser");

Error:
Parse error: syntax error, unexpected T_STRING,
expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in ... 

Penjelasannya
Penyebab:
Penyebab pastinya, saya kurang mengetahuinya. Namun biasanya ini terjadi karena penggunaan versi PHP yang rendah (versi di bawah PHP 5) untuk menjalankan script PHP yang menggunakan OOP.

Solusi:
Coba upgrade versi PHP Anda, atau gunakan PHP dengan versi yang lebih tinggi.

Error:
Parse error: syntax error, unexpected T_ELSE in ... 

Penjelasannya
Penyebab:
Error tersebut muncul sebagai akibat penulisan sintaks IF … ELSE yang tidak sesuai aturan. Perhatikan contoh penggunaan IF ELSE yang salah di bawah ini
<?php
$a = 5;
if ($a > 0) $status = "A lebih besar dari 0"
else ($a < 0) $status = "A lebih kecil dari 0"
else $status = "A sama dengan 0"
?> 
Contoh di atas terdapat kesalahan yaitu setiap akhir statement tidak diberikan tanda titik koma (;), dan pada bagian else ($a < 0) kurang IF, seharusnya
<?php
$a = 5;
if ($a > 0) $status = "A lebih besar dari 0";
else if ($a < 0) $status = "A lebih kecil dari 0";
else $status = "A sama dengan 0";
?> 

Solusi:
Pastikan struktur statement yang Anda gunakan berbentuk seperti ini
<?php
if (syarat1) statement1;
else if (syarat2) statement2;
else if (syarat3) statement3;
.
.
else statementX;
?>
atau

<?php
if (syarat1)
{
   statement;
   statement;
   .
   .
}
else if (syarat2)
{
   statement;
   statement;
   .
   .
}
.
.
else
{
   statement;
   statement;
   .
   .
}
?> 

Errror:
Fatal error: Call to undefined function: ... 

Penjelasannya
Penyebab:
Error tersebut disebabkan karena nama function yang digunakan tidak ada atau tidak dikenal oleh PHP. Jika function tersebut adalah built in function, misalnya str_split() bisa jadi hal ini disebabkan pada versi PHP yang digunakan belum ada function tersebut. Jika function tersebut adalah function buatan sendiri, bisa jadi anda lupa menyisipkan ke dalam script atau meng-include-kannya.

Solusi:
Jika function yang tidak dikenal adalah built in function, maka lakukan upgrade versi PHP yang lebih tinggi. Sedangkan jika function yang tidak dikenal adalah buatan sendiri, pastikan Anda sudah meng-includekan di dalam scriptnya sehingga bisa dikenal. Contohnya:
function.php

<?php
function jumlah($a, $b)
{
   return $a + $b;
}
?>
script.php

<?php
include "function.php";
echo jumlah(9, 10);   // akan menghasilkan 19
?>
atau

script.php

<?php
function jumlah($a, $b)
{
   return $a + $b;
}

echo jumlah(9, 10);   // akan menghasilkan 19
?> 

Error:
Parse error: parse error, unexpected $end 

Penjelasannya
Penyebab:
Error di atas disebabkan karena kurangnya tanda penutup kurung kurawal. Contohnya:
<?php
if ($a > 1)
{
   echo "Nilai A lebih dari 1";
?>
atau

<?php
while ($a > 1)
{
   .
   .
   .
?> 
Selain itu, bisa pula error tersebut disebabkan karena efek perbedaan penggunaan tanda pembuka PHP <?php dan <?. Contohnya
<?php
if (syarat)
{
   statement1;
   statement2;
?>

<?
   statement3;
   statement4;
}
?> 
Perhatikan contoh script di atas, bahwa pada blok statement IF oleh si programmer dipecah menjadi 2 blok, namun perhatikan bahwa untuk blok kedua, tanda pembukanya menggunakan <? saja. Nah... terkadang suatu server hanya membolehkan tanda pembuka script PHP menggunakan <?php, sehingga untuk blok kedua tidak dianggap sebagai script, dan.. akibatnya statement IF nya dianggap tidak ada tanda } penutup.

Solusi:
Pastikan tanda kurung kurawal penutup tidak lupa menuliskannya. Jika ternyata kasus yang Anda hadapi sama seperti contoh kasus terakhir (perbedaan tanda pembuka script PHP), konsistenkan penulisan tanda pembukanya menggunakan <?php supaya aman.
s

Error:
Parse error: syntax error, unexpected T_STRING 

Penjelasannya
Penyebab:
Error tersebut disebabkan karena penggunaan tanda petik (double quote atau single quote) yang tidak tepat untuk menyatakan suatu string. Sebuah string harus diapit oleh dua buah tanda petik. Sebagai contoh:
<?php
$a = "ini sebuah string";
?>

atau

<?php
$a = 'ini sebuah string';
?> 
Namun... jika dalam string tersebut terdapat tanda petik lagi, misalkan
<?php
$a = "ini sebuah " string";
?>

atau

<?php
$a = 'ini sebuah ' string';
?> 
maka akan terdapat error di atas. Hal yang sama jika Anda menggunakan single quote (tanda petik tunggal).

Solusi:
Pastikan di dalam sebuah string, anda mengapitnya dengan hanya 2 buah tanda petik saja. Jika Anda bermaksud menyisipkan tanda petik dalam sebuah string, gunakan tanda \" atau \', contoh
<?php
$a = "ini sebuah \" string";
?>
atau

<?php
$a = 'ini sebuah \' string';
?> 

Error:
Notice: Undefined index: ...

atau

Notice: Undefined variable: ... 

Penjelasannya
Penyebab:
Sebenarnya itu bukan error, namun sekedar peringatan saja bahwa ada variabel atau index array yang belum terdefinisi sebelumnya. Di beberapa versi PHP peringatan tersebut muncul, namun di versi yang lain tidak muncul. Berikut ini contohnya:
<?php
if ($a > 0)
{
   ....
}
?> 
Jika kita perhatikan script di atas, variabel $a langsung diberikan statement pengecekan IF, padahal nilai $a ini tidak ada sebelumnya. Nah... di beberapa versi PHP, akan muncul peringatan
Notice: Undefined variable: a 
Namun, bila nilai $a ini sudah didefinisikan sebelumnya misalnya
<?php
$a = 10;
if ($a > 0)
{
   ....
}
?> 
maka peringatan di atas tidak akan muncul lagi. Peringatan yang hampir sama juga bisa muncul untuk contoh berikut ini
<?php
if ($_GET['test'] == 0)
{
   ....
}
?> 
yang dikarenakan nilai $_GET['test'] belum terdefinisi sebelumnya atau belum ada nilainya (belum ada request GET untuk parameter 'test').

Solusi:
Sebenarnya peringatan di atas bisa saja diabaikan karena tidak berpengaruh pada kinerja script atau proses yang terjadi di dalamnya. Namun, jika Anda ingin menghilangkan peringatan tersebut caranya adalah dengan memodifikasi parameter

error_reporting  = ...
pada file konfigurasi php.ini

Tambahkanlah nilai "& ~E_NOTICE" pada nilai parameternya, contoh:
error_reporting  =  E_ALL & ~E_NOTICE 
Maksud dari parameter di atas adalah, PHP akan menampilkan bunyi error kecuali NOTICE. Jika sudah, silakan merestart Apache nya.

Error:
Fatal error: Maximum execution time of ... seconds exceeded in ... 

Penjelasannya
Penyebab:
Error di atas disebabkan karena lama eksekusi sebuah script PHP telah mencapai batas maksimumnya. Jika Anda menggunakan AppServ atau XAMPP, default maximum execution time nya diset 30 detik. Jika lama eksekusi script yang Anda buat melebihi 30 detik, maka akan muncul error di atas.

Solusi:
Anda dapat meningkatkan atau menambah max execution time pada file php.ini, dengan cara carilah parameter

max_execution_time = ...

Tambahlah nilainya, misalnya menjadi 9999 detik, sehingga nilai parameternya menjadi

max_execution_time = 9999

Selanjutnya, simpan kembali php.ini nya, lalu restart Apachenya.
Kalau perlu, lakukan analisis algoritma pada script Anda apabila dirasa tidak efisien sehingga mengakibatkan running time yang lama.

Demikian postingan yang dapat saya buat untuk kali ini, semoga ada banyak waktu luang lagi untuk terus berbagi dengan teman-teman semua,
Sekian Semoga Bermanfaat

Model Pengembangan Perangkat Lunak Beserta Contohnya

Pada postingan kali ini, saya akan membahas tentang “Model – Model Pengembangan Perangkat Lunak Beserta Contoh Penerapannya”. Sebelumnya, Apa itu Pengembangan Perangkat Lunak?
8
Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu. Dalam prosesnya, terdapat beberapa paradigma model pengembangan sistem perangkat lunak, diantaranya :
  1. Model Sekuensial Linier atau Waterfall Development Model
Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun, merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.

2

Berikut Merupakan Tahapan – tahapan Pengembangan  Model Sekuensial Linear / Waterfall Development Model :
  • Rekayasa dan pemodelan sistem/informasi
Langkah pertama dimulai dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan Hardware, User, dan Database.
  • Analisis kebutuhan perangkat lunak
Pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan antarmuka.  Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan kembali kepada pelanggan.
  • Desain
Pada proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada  struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural.
  • Pengkodean
Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.
  • Pengujian
Setelah Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil dari pengembangan tersebut sesuai dengan hasil yang diinginkan.
  • Pemeliharaan
Proses Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan yang dilakukan pada proses pemeliharaan antara lain :
  • Corrective Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.
  • Adaptive Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai dengan lingkungan yang baru, misalnya hardware, periperal, sistem operasi baru, atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan driver, dll.
  • Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
 1
  • Contoh Penerapan dari Pengembangan Model Sekuensial Linear / Waterfall Development Model
Contoh dari penerapan model pengembangan ini adalah pembuatan program pendaftaran online ke suatu Instansi Pendidikan. Program ini akan sangat membantu dalam proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah sebagai berikut :
  • Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya.
  • Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta kondisi user.
  • Kelebihan Model Sekuensial Linear / 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.
    • Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
  • 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.
    • Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
    • 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.

  1. 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.

3

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.

4

Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Prototype, yaitu :
  • Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
  • Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
  • Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.
  • Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
  • Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur, dll.
  • Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan sebelumnya akan diulang.
  • Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Model Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di mana masalah-masalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh penyelesaian yang segera. Model ini juga dapat berjalan dengan maksimal pada situasi di mana sistem yang diharapkan adalah yang inovatif dan mutakhir sementara tahap penggunaan sistemnya relatif singkat.
Berikut merupakan Jenis – jenis dari Prototyping :
  • Feasibility prototyping
digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
  • Requirement prototyping
digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
  • Desain Prototyping
digunakan untuk mendorong perancangan sistem informasi yang akan digunakan.
  • Implementation prototyping
merupakan lanjutan dari rancangan prototype, prototype ini langsung disusun sebagai suatu sistem informasi yang akan digunakan.
  • Contoh Penerapan Metode Prototype.
Sebuah rumah sakit ingin membuat aplikasi sistem database untuk pendataan pasiennya. Seorang atau sekelompok programmer akan melakukan identifikasi mengenai apa saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja program tersebut. Kemudian dilakukan rancangan program yang diujikan kepada pelanggan. Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai kembali di lakukan.
  • 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.
  • Biasanya kurang fleksibel dalam mengahadapi perubahan.
  • 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.

  1. 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.

5

Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Rapid Application Development (RAD), yaitu :
  • Bussiness Modeling
Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:
  • Informasi apa yang menegndalikan proses bisnis?
  • Informasi apa yang dimunculkan?
  • Di mana informasi digunakan ?
  • Siapa yang memprosenya ?
  • Data Modeling
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan hubungan antar objek-objek tersebut didefinisikan.
  • Proses Modeling
Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
  • Aplication Generation
Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi konstruksi perangkat lunak.
  • Testing dan Turnover
Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.
  • 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.
  • RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
  • 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.

  1. Model Evolutionary Development / Evolutionary Software Process Models
Model Evolutionary Development bersifat iteratif (mengandung perulangan). Hasil prosesnya berupa produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Model Evolutionary Development / Evolutionary Software Process terbagi menjadi 2, yaitu :
  1. 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.

 6 

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.
Pada proses Pengembangan dengan Model Incremental, perangkat lunak dibagi menjadi serangkaian increment yang dikembangkan secara bergantian.
  • Contoh Penerapan Model Incremental
Perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti (core product).  Dan pada pertambahan selanjutnya, produk inti akan dikembangkan terus hingga menghasilkan produk jadi yang siap untuk digunakan/dipasarkan.
  • 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.
  • Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan.
  • Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya setiap bagian demi bagian.
  • 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 increament.

2. 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.


7

Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut :
  • Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.
  • Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
  • Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
  • Tahap Rekayasa (engineering):pembuatan prototipe.
  • Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
  • Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
  • Kelebihan model iniadalah 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 model iniadalah 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.

Model Spiral/Boehm sangat cocok diterapkan untuk pengembangan sistem dan perangkat lunak skala besar di mana pengembang dan pemakai dapat lebih mudah memahami kondisi pada setiap tahapan dan bereaksi terhadap kemungkinan terjadinya kesalahan. Selain itu, diharapkan juga waktu dan dana yang tersedia cukup memadai.
Mungkin cukup sekian postingan saya kali ini, semoga pembahasan tentang “Model – model Pengembangan Perangkat Lunak” diatas dapat bermanfaat untuk kita semua.