Saturday 27 October 2012

Metode Waterfall

Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE).

Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

Tahap-tahap Model Waterfall Menurut Pressman

1. System / Information Engineering and Modeling.
 Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.

Software Requirements Analysis.
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.

2. Design.
 Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.

3. Coding.
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.

Metode Prototype

Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini  pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.

Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer. Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan sistem
yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu
penyelesaian yang telah ditentukan.

Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan

Tahapan-tahapan Prototyping
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:
1.  Pengumpulan kebutuhan
Pelanggan dan  pengembang bersama-sama mendefinisikan  format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

2.  Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)


Model Spiral (Original: Boehm)



Proses digambarkan sebagai spiral. Setiap loop mewakili satu fase dari software process. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya. Setiap Loop dibagi menjadi beberapa sektor :
1.  Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan. 


2.  Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini. Langkah-langkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan. 


3.  Development and Validation (Pembangunan dan pengujian):
Setelah evaluasi resiko, maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka menggunakan model formal dengan perhitungan matematis, dan jika masalahnya adalah integrasi sistem model waterfall lebih cocok.  


4.  Planning: Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak. Jika melanjutkan ke fase berikutnya rencana untuk loop selanjutnya.


Extreme Programming (XP) Model

Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi.
Menurut Kent Beck XP adalah : “A lightweight, efficient, low-risk, flexible,predictable, scientific and fun way to develop software”. Suatu model yang menekankan pada:
-  keterlibatan user secara langsung
-  pengujian
-  pay-as-you-go design

Adapun empat nilai penting dari XP
1.  Communication/Komunikasi : komunikasi antara developer dan klien sering menjadi masalah. Karena itu komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding  dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas juga
diperhitungkan.
2.  Simplicity/ sederhana: Menekankan pada kesederhanaan dalam pengkodean:
“What is the simplest thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
3.  Feedback / Masukan/Tanggapan: Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
4.  Courage / Berani: Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.



Jenis Pemeliharaa Sistem

Pemeliharaan sistem dapat digolongkan menjadi empat jenis :
1. Pemeliharaan Korektif
pemeliharaan korektif adalah bagian pemeliharaan sistem yang tidak begitu tinggi nilainya dan membebani, karena pemeliharaan ini mengkoreksi kesalahan-kesalahan yang ditemukan pada saat sistem berjalan.
Umumnya pemeliharaan korektif ini mencakup kondisi penting atau bahaya yang memerlukan tindakan segera. Kemampuan untuk mendiagnosa atau memperbaiki kesalahan atau malfungsi dengan cepat sangatlah berharga bagi perusahaan

2. Pemeliharaan adaptif
Pemeliharaan adaptif dilakukan untuk menyesuaikan perubahan dalam lingkungan data atau pemrosesan dan memenuhi persyaratan pemakai baru.
Lingkungan tempat sistem beroperasi adalah dinamik, dengan demikian, sistem terus merespon perubahan persyratan pemakai. Misalnya, Undang-undang Perpajakan yang baru mungkin memerlukan suatu perubahan dalam kalkulasi pembayaran bersih.
Umumnya pemeliharaan adaptif ini baik dan tidak dapat dihindari,

3. Pemeliharaan Penyempurnaan
Pemeliharaan Penyempurnaan mempertinggi cara kerja atau maintainabilitas (kemampuan untuk dipelihara). Tindakan ini juga memungkinkan sistem untuk memenuhi persyaratan pemakai yang sebelumnya tidak dikenal.
Ketika membuat perubahan substansial modul apapun, petugas pemeliharaan juga menggunakan kesempatan untuk meng-upgrade kode, mengganti cabang-cabang yang kadaluarsa, memperbaikikecerobohan dan mengembangkan dokumentasi.
Sebagai contoh , kegiatan pemeliharaan ini dapat berbentuk perekayasaan ulang atau restrukturisasi perangkat lunak, penulisan ulang dokumentasi, pengubahan format dan isi laporan, penentuan logika pemrosesan yang lebih efisien, dan pengembangan efisiensi pengoperasian perangkat.

4. Pemeliharaan Preventif
Pemeliharaan Preventif terdiri atas inspeksi periodik dan pemeriksaan sistem untuk mengungkap dan mengantisipasi permasalahan.
Karena personil pemeliharaan sistem bekerja dalam sistem ini, mereka seringkali menemukan cacat-cacat (bukan kesalahan yang sebenarnya) yang menanadakan permasalahan potensial. Sementara tidak memerlukan tindakan segera, cacat ini bila tidak dikoreksi di tingkat awal, jelas sekali akan mempengaruhi baik fungsi sistem maupun kemampuan untuk memeliharanya dalam waktu dekat

PEDOMAN IMPLEMENTASI ERP


Berikut ini adalah ringkasan poin-poin yg bisa digunakan sebagai pedoman pada saat implementasi ERP


1. ERP adalah bagian dari infrastruktur perusahaan, dan sangat penting untuk kelangsungan hidup perusahaan. Semua orang dan bagian yang akan terpengaruh oleh adanya ERP harus terlibat dan memberikan dukungan terhadap jalannya ERP.

2. ERP ada untuk mendukung fungsi bisnis dan meningkatkan produktivitas, bukan sebaliknya. Tujuan implementasi ERP adalah untuk meningkatkan daya saing perusahaan.

3. Pelajari kesuksesan dan kegagalan implementasi ERP, jangan berusaha membuat sendiri praktek implementasi ERP. Ada metodologi tertentu untuk implementasi ERP yang lebih terjamin keberhasilannya.

Penyebab Gagalnya ERP:
- Waktu dan biaya implementasi yang melebihi anggaran
- Pre-implementation tidak dilakukan dengan baik
- Strategi operasi tidak sejalan dengan business process design dan pengembangannya
- Orang-orang tidak disiapkan untuk menerima dan beroperasi dengan sistem yang baru

Tanda-tanda kegagalan ERP
- Kegagalan ERP biasanya ditandai oleh adanya hal-hal sebagai berikut:
- Kurangnya komitmen top management
- Kurangnya pendefinisian kebutuhan perusahaan (analisa strategi bisnis)
- Cacatnya proses seleksi software (tidak lengkap atau terburu-buru memutuskan)
- Kurangnya sumber daya (manusia, infrastruktur dan modal)
- Kurangnya ‘buy in’ sehingga muncul resistensi untuk berubah dari para karyawan
- Kesalahan penghitungan waktu implementasi
- Tidak cocoknya software dgn business process
- Kurangnya training dan pembelajaran
- Cacatnya project design & management
- Kurangnya komunikasi

TIPS MEMILIH ERP



Berikut adalah beberapa tips bagaimana cara memilih ERP yang sesuai bagi perusahaan:

1. Knowledge & Experience: knowledge adalah pengetahuan tentang bagaimana cara sebuah proses seharusnya dilakukan, jika segala sesuatunya berjalan lancer. Experience adalah pemahaman terhadap kenyataan tentang bagaimana sebuah proses seharusnya dikerjakan dengan kemungkinan munculnya permasalahan. Knowledge tanpa experience menyebabkan orang membuat perencanaan yang terlihat sempurna tetapi kemudian terbukti tidak bisa diimplementasikan. Experience tanpa knowledge bisa menyebabkan terulangnya atau terakumulasinya kesalahan dan kekeliruan karena tidak dibekali dengan pemahaman yang cukup.

2.Selection Methodology: ada struktur proses seleksi yang sebaiknya dilakukan untuk memenuhi kebutuhan perusahaan dalam memilih ERP. Proses seleksi tidak harus selalu rumit agar efektif. Yang penting organized, focused dan simple. Proses seleksi ini biasanya berkisar antara 5-6 bulan sejak dimulai hingga penandatanganan order pembelian ERP. Berikut ini adalah akivitas yang sebaiknya dilakukan sebagai bagian dari proses pemilihan software ERP: analisa strategi bisnis, analisa sumber daya manusia, analisa infrastruktur dan analisa software.

3. Analisa Business Strategy: bagaimana level kompetisi di pasar dan apa harapan dari customers? Adakah keuntungan kompetitif yang ingin dicapai? Apa strategi bisnis perusahaan dan objectives yang ingin dicapai? Bagaimana proses bisnis yang sekarang berjalan vs proses bisnis yang diinginkan? Adakah proses bisnis yang harus diperbaiki? Apa dan bagaimana prioritas bisnis yang ada dan adakah rencana kerja yang disusun untuk mencapai objektif dan prioritas tersebut? Target bisnis seperti apa yang harus dicapai dan kapan?

Pendekatan Implementasi ERP



1. The Big Bang
Strategi penerapanseluruh modul dalam paket ERP secara simultan di seluruh perusahaan.

Kelebihannya :
- hanya memerlukan sedikit interface antara sistem lama dan sistem baru
- sangat efisien dari segi waktu dan hasilnya optimal

Kekurangannya :
implementasi yang kompleks sehingga resiko kegagalan tinggi.

2. Step by Step (Phased Approach)
melakukan implementasi sedikit demi sedikit. Tahap selanjutnya berkonsentrasi mengimplementasikan modul yang terkait. Keseluruhan proses bisnis harus terlebih dahulu disiapkan.

Kelebihannya :
- kompleksitas dapat dikurangi
- memungkinkan terjadinya perbaikan proyek yang akan datang akibat konsultasi internal
- ongkos tidak terlalu membebani

Kekurangan :
- waktu implementasi keseluruhan lebih panjang
- Manfaat ERP hanya dapat dirasakan sedikit demi sedikit akibatnya hasil tidak optimal

Teori Fase Implementasi ERP

1. Sumber: Deloitte, 1999








  1. Fase first wave: Tahapan awal dari sebuah implementasi ERP, aktivitasnya berupa proses instalasi sistem ERP pada perusahaan sampai dengan ERP tersebut go live pada perusahaan.
  2. Fase second wave: Fase sesudah implementasi dimana merupakan tahapan dilakukannya proses-proses untuk mencapai benefits dari implementasi ERP


2. Sumber: Markus & Tanis (1999)


 













Project chartering
Perusahaan menentukan keputusan berkaitan dengan implementasi sistem ERP dan pendanaannya.

Pihak-pihak yang terlibat dalam fase ini:
- eksekutif perusahaan
- Vendor
- IT specialist
- Konsultan.

Aktivitas-aktivitas utama pada fase ini:
- Mengemukakan ide implementasi sistem ERP
- Analisis indikator kinerja yang akan menjadi ukuran
- menyeleksi paket software ERP
- menyusun anggaran
- membuat project plan.

The Project (configure & rollout)
ERP mulai diimplementasikan sampai siap untuk digunakan oleh perusahaan.

Pihak-pihak yang terlibat dalam fase ini:
- Manajer Proyek
- Anggota Tim Proyek
- Vendor
- Konsultan.

Aktivitas-aktivitas utama pada fase ini:
- Penyusunan detail project plan,
- Membangun sistem ERP
- Melakukan training kepada pengguna. 



3. Sumber: Esteves & Pastor (1999)











Adoption DecisionMerupakan fase dimana seorang manajer harus mengetahui kebutuhan perusahaan terhadap sistem ERP yang baru dan menganalisis dampak sistem ERP pada tigkat bisnis dan organisasi.

Acquisition merupakan fase dimana dilakukan pemilihan produk ERP yang paling sesuai dengan kebutuhan perusahaan untuk menghindari kostumisasi yang besar.

Implementation merupakan fase dimana sistem ERP yang diadopsi dilakukan kostumisasi atau parameterisasi sesuai dengan kebutuhan perusahaan.