Sistem Pakar
Tahap-tahap Pengembangan Sistem Pakar
Kelas A & B
Jonh Fredrik Ulysses
Pengantar
• Sistem Pakar sebagai sistem memiliki 6 Fase
pengembangan:
– Inisialisasi
– Analisis dan desain sistem
– Rapid prototyping dan demo prototype
– Pengembangan sistem
– Implementasi
Fase I: Inisiasi Proyek
• Terdiri dari beberapa sub-fase:
– Identifikasi masalah
– Taksiran kebutuhan
Menentukan kebutuhan fungsional dari sistem
– Evaluasi solusi alternatif
Ketersediaan pakar, pelatihan, perangkat lunak
– Verifikasi pendekatan sistem pakar
Verifikasi kebutuhan, justifikasi kebutuhan, menaksir
kemungkinan pengembangan sistem
Fase I: Inisiasi Proyek
• Sub fase (lanjutan)
– Studi kelayakan
Mengevaluasi kelayakan dari sisi teknologi, manajemen, dan
perubahan
– Analisa biaya-keuntungan
Evaluasi kelayakan dari sisi ekonomi, identifikasi dan estimasi
biaya dan keuntungan potensial dari sistem (IRR, NPV)
– Pertimbangan manajemen
Personel, keuangan, aspek hukum, pemasaran dan potensi
pasar, dan dukungan pengguna
– Pengorganisasian tim pengembangan
– Capaian akhir
Fase II: Analisis dan Desain
Sistem
Fase II: Analisis dan Desain Sistem
• Sub-fase
– Desain dan rencana konsep
Memberikan gambaran kerja sistem dan
bagaimana sistem tersebut menyelesaikan
masalah
– 3 Strategi pengembangan :
• Pengembangan internal
• Outsourcing
Menyewa konsultan, kemitraan dengan universitas,
bergabung dengan konsorsium industri, dan membeli produk
jadi
Fase II: Analisis dan Desain Sistem
• Sumber Pengetahuan
– Dualisme sumber
– Beberapa pertanyaan yg mungkin muncul :
• Siapa yg memilih pakar?
• Siapakah pakar itu? (Karakter apa yg dimiliki)
• Bagaimana mengatur beberapa pakar jika dibutuhkan?
• Bagaimana memotivasi pakar untuk bekerja sama?
– Beberapa pertanyaan untuk pihak manajemen:
• Apakah pakar mendapat kompensasi?
• Apakah pakar jujur dalam menjelaskan pengetahuannya?
• Bagaimana pakar dan pihak lain dapat diyakinkan bahwa mereka tidak
kehilangan pekerjaannya?
Fase II: Analisis dan Desain Sistem
•
Pemilihan Lingkungan Pengembangan
– Shell sistem pakar
Contoh: EXSYS dari CORVID
Exsys Corvid® development software provides non-programmers a new way to easily build interactive Web applications that capture the logic and processes used to solve problems and deliver it online, in stand-alone applications and embedded in other technologies.
Fase II: Analisis dan Desain Sistem
– Bahasa Pemrograman
Menggunakan LISP atau PROLOG
– Lingkungan hybrid
Fase III: Prototyping dan Demo
• SDLC(Software Development Life Cycle) dan
Prototyping
Fase III: Prototyping dan Demo
• Beberapa metode prototyping
– Agile
Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Konsep Agile
Software Development dicetuskan oleh Kent Beck dan 16 rekannya dengan menyatakan bahwa Agile Software Development adalah cara membangun software dengan
melakukannya dan membantu orang lain membangunnya sekaligus.
Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.
Namun demikian, sama seperti model proses yang lain, Agile Software Development memiliki kelebihan dan tidak cocok untuk semua jenis proyek, produk, orang dan situasi. Agile Software Development memungkinkan model proses yang toleransi terhadap
perubahan
kebutuhan sehingga perubahan dapat cepat ditanggapi. Namun di sisi lain menyebabkan produktifitas menurun.
– XP (Extreme Programming)
Extreme Programming (XP) merupakan salah satu metodologi dalam
rekayasa perangkat lunak dan juga merupakan satu dari beberapa
agile software development methodologies yang berfokus pada coding
sebagai aktivitas utama di semua tahap pada siklus pengembangan
perangkat lunak (software development lifecycle).
Metodologi ini mengedepankan proses pengembangan yang lebih
responsive terhadap kebutuhan customer (”agile”) dibandingkan
dengan metode-metode tradisional sambil membangun suatu
software dengan kualitas yang lebih baik.
Extreme Programming muncul menawarkan sebuah disiplin baru
dalam pengembangan software secara agile. Nilai dasar yang
terkandung di dalam Extreme Programming adalah: Komunikasi
(Communication), Kesederhanaan (Simplicity), Umpan balik
(Feedback) Keberanian (Courage) dan menghormati (Respect).
– JAD (Joint Application Development)
Teknik Joint Application Development (JAD) merupakan tahapan atau langkah-langkah dan merupakan salah satu prinsip bagaimana agar pengembangan pendekatan atau penerapan bagaimana menggunakan alat dan peraturan-peraturan yang melengkapi satu atau lebih tahap-tahapan (metode). Teknik Join Application Development (membangun sistem secara bersama-sama merupakan:
• Penerapan JAD jika pengembang dan user bekerja bersama dalam satu tim akan sangat mendukung penerapan prototyping.
• Penentuan keperluan oleh sekumpulan pemegang saham. • Melibatkan kerjasama tim projek, pengguna dan pengurusan. • Dapat mengurangkan scope creep hingga 50%.
• Teknik yang sangat berguna.
Sistem informasi sukses. Sedangkan teknik merupakan antara pengembang dengan pemakai sistem informasi) Metode JAD merupakan suat menjabarkan permintaan pemakai, teknik yang dibutuhkan dan unsur rancangan eksternal. Tujuan JAD adalah memberi kesempatan kepada user dan untuk kerjasama yang terstruktur antara pemakai sistem informasi, manajer dan ahli sistem informasi untuk menentukan dan manajemen untuk berpartisipasi secara luas dalam siklus pengembangan sistem informasi.
– RAD (Rapid Application Development)
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
• Component based construction ( pemrograman berbasis komponen bukan prosedural).
• Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
• Pembangkitan kode program otomatis/semi otomatis.
• Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang