44
“ Pengembangan & Perancangan Perangkat Lunak” Diema HS, S. Kom TESTING & IMPLEMENTASI SISTEM

TESTING & IMPLEMENTASI SISTEM

Embed Size (px)

DESCRIPTION

TESTING & IMPLEMENTASI SISTEM. “ Pengembangan & Perancangan Perangkat Lunak ” Diema HS, S. Kom. Pengembangan Perangkat Lunak. Secara umum , diketahui bahwa dalam suatu siklus pengembangan perangkat lunak selalu terdapat empat proses utama , yaitu :. Plan. Act. Do. Check. - PowerPoint PPT Presentation

Citation preview

Page 1: TESTING & IMPLEMENTASI SISTEM

“ Pengembangan & Perancangan Perangkat Lunak”Diema HS, S. Kom

TESTING & IMPLEMENTASI SISTEM

Page 2: TESTING & IMPLEMENTASI SISTEM

Pengembangan Perangkat Lunak

Page 3: TESTING & IMPLEMENTASI SISTEM

Secara umum, diketahui bahwa dalam suatu siklus pengembangan perangkat lunak selalu terdapat empat proses utama, yaitu :Siklus Pengembangan secara umum

Plan (Menyiapkan rencana)Mendefinisikan tujuan serta menentukan strategi dan metode yang mendukung pencapaian tujuan

Do (melaksanakan rencana)Melaksanakan kondisi dan kinerja yang penting untuk melaksanakan rencana

Check (memeriksa hasil)Pemeriksaan dilakukan untuk menentukan apakah perkembangan pekerjaan sesuai dengan rencana dan apakah hasil yang diharapkan telah terwujud

Action (mengambil tindakan yang penting)Jika ditemukan pekerjaan tidak sesuai dengan rencana dan hasil yang ditetapkan, maka dilakukan pengukuran tentang tindakan apa yang akan diambil

Plan

Act Do

Check

Page 4: TESTING & IMPLEMENTASI SISTEM

Pelaksanaan kegiatan pada tahap analisis, desain dan implementasi di dalam siklus pembuatan perangkat tidak menjamin bahwa suatu perangkat lunak akan bebas dari kesalahan (fault free), untuk mengurangi atau bahkan menghilangkan kesalahan pada perangkat lunak diperlukan suatu tahap pengujian. Kesalahan yang terjadi juga tidak hanya kesalahan yang dapat menyebabkan fungsi perangkat lunak tidak dapat berjalan (error), tetapi dapat juga berarti penggunaan perangkat lunak sukar untuk dimengerti user dan proses pelacakan kesalahan sukar untuk dilakukan.

Page 5: TESTING & IMPLEMENTASI SISTEM

Pengembangan perangkat lunak (Software development) merupakan salah satu dari tahap rancangan system rinci/detail dari Siklus Hidup Pengembangan Sistem (Software Development Life Cycle atau SDLC).

Tim proyek system mungkin mulai mencari paket perangkat lunak komersial yang sesuai atau mendukung spesifikasi rancangan system dan berjalan pada rancangan arsitektur komputernya. Paket perangkat lunak komersial secara luas tersedia untuk aplikasi fungsi spesifik dan aplikasi bisnis yang telah ditetapkan secara baku.

Tetapi untuk rancangan sistem yang terkait dengan kebutuhan khusus atau unik (memenuhi keperluan pemakai dan spesifikasi rancangan sistem) maka paket perangkat lunak komersial mungkin tidak sesuai atau mendukung kebutuhan pemakai secara langsung. Perangkat lunak yang diharapkan untuk mendukung rancangan sistem tersebut harus dibuat sendiri dari awal (scratch)

Page 6: TESTING & IMPLEMENTASI SISTEM

KETERKAITAN PENGEMBANGAN DENGAN PENGUJIAN

Page 7: TESTING & IMPLEMENTASI SISTEM

Tipe Pengembangan Sistem (Proyek Perangkat Lunak)

Tipe proyek pengembangan perangkat lunak harus disesuaikan dengan lingkungan atau metodologi/paradigma yang digunakan dalam pengembangan perangkat lunak.

Tipe Pengembangan Sistem :A. Pengembangan sistem biasa

Karakteristik : Menggunakan metodologi pengembangan system

User mengetahui requirement Pengembangan menentukan struktur

Siasat Pengujian : Pengujian dilakukan pada akhir tiap-tiap tahapMelakukan verifikasi tiap-tiap spesifikasi yang diperlukanMenguji struktur dan fungsi

Page 8: TESTING & IMPLEMENTASI SISTEM

B. Pengembangan Iteratif (Prototyping/CASE)

Karakteristik : Requirement tidak diketahui

Struktur didefinisikan di awal pengembangan

Siasat Pengujian : Verifikasi alat Bantu CASE yang digunakan

Verifikasi kebutuhan tiap prototype

Menguji fungsionalitas

C. Pemeliharaan Sistem

Karakteristik : Memodifikasi struktur

Siasat Pengujian : Menguji struktur

Mengeluarkan metode kerja yang terbaik

Memerlukan pengujian regresi

Page 9: TESTING & IMPLEMENTASI SISTEM

D. Kontrak/Pembelian Software• Karakteristik : Struktur tidak diketahui• Banyak terjadi defect• Fungsionalitas tercantum dalam

dokumen• Terdapat berbagai document• Siasat Pengujian : Verifikasi fungsi yang

diperlukan• Pengujian fungsionalitas• Pengujian di dalam lingkungan kerja

Page 10: TESTING & IMPLEMENTASI SISTEM

Menentukan Lingkup Proyek

Menentukan lingkup suatu proyek ditentukan berdasarkan keseluruhan aktivitas yang tersangkut dalam pembangunan system perangkat lunak.

Lingkup proyek menggambarkan karakteristik yang diperlukan secara lebih rinci, dengan menekankan pada daftar requirements yang telah ditentukan terlebih dahulu.

Page 11: TESTING & IMPLEMENTASI SISTEM

Perbedaan lingkup proyek :

A. Pengembangan Sistem baru

a) Apakah akan mengotomatisasi proses bisnis yang manual

b) Proses bisnis yang mana yang akan dipengaruhi oleh system baru

c) Area bisnis yang mana yang akan dipengaruhi oleh system baru

d) Program Perantara dengan system lama

e) Sistem yang lama akan terpengaruh atau tidak

B. Perubahan system yang telah ada

a) Apakah hanya melakukan koreksi

b) Apakah hanya melakukan proses rekayasa PL secara standar

c) Pengoreksian untuk mengetahui defect dalam rangka perluasan system

d) Apakah terdapat system yang terpengaruh

e) Adakah resiko atau kemunduran system

Page 12: TESTING & IMPLEMENTASI SISTEM

Sumber Perangkat Lunak Aplikasi

Perangkat Lunak Komersial dari VendorPerangkat Lunak Pesanan (customized

software) dikembangkan secara in-house atau oleh kontraktor pemrograman independent

Page 13: TESTING & IMPLEMENTASI SISTEM

A. Perangkat Lunak Komersial dari Vendor

Paket (off-the-self) yang tersedia bisa diterapkan dalam berbagai kebutuhan bisnis. Beberapa paket bersifat generik dan multifungsional yang memungkinkan para pemakai memprogram sofware tersebut untuk kebutuhannya sendiri. Paket-paket tersebut mengotomisasi fungsi-fungsi bisnis dasar yang umumnya tidak terlalu bervariasi dari satu organisasi dengan organisasi lain. Contoh jenis paket adalah spreadsheet dan DBMS.

Page 14: TESTING & IMPLEMENTASI SISTEM

Keuntungan/kelebihan dari Perangkat Lunak Komersial :

1. Implementasi yang cepat Software tersebut bersifat siap, teruji, dan terdokumentasi. Paket yang dibeli biasanya pengimplementasiannya jauh lebih cepat dari pada mengembangkan program yang sama secara in-house atau menyuruh kontraktor independen untuk mengembangkannya sehingga secara potensial membantu memecahkan backlog (penimbunan pekerjaan yang belum selesai).

2. Penghematan BiayaSatu paket perangkat lunak komersial bisa dijual kepada banyak organisasi sehingga biaya pengembangan ditanggung oleh banyak pemakai, dan biaya total suatu paket akan lebih murah dari pada program pesanan yang sama

3. Estimasi biaya dan waktuBiaya atau harga paket komersial telah diketahui, dan tanggal pengimplementasian-nya mudah diestimasi. Sebaliknya program pesanan biasanya cenderung melampaui estimasi waktu dan biaya.

4. ReliabilitasSebelum diterbitkan di pasaran umum, paket perangkat lunak komersial pasti telah diuji secara teliti. Melalui penggunaan yang ekstensif oleh sejumlah organisasi, segala kesalahan yang dijumpai telah dideteksi dan dikoreksi sehingga peluang kesalahannya lebih sedikit.

Page 15: TESTING & IMPLEMENTASI SISTEM

Kerugian/kelemahan :

1. Kesesuaian Rancangan sistem yang tidak baik Paket software komersial dibuat untuk berbagai organisasi,

dan tidak untuk organisasi tertentu maka paket ini mungkin mempunyai beberapa fungsi yang tidak diperlukan atau mungkin tidak mempunyai fungsi yang diperlukan sehingga paket tersebut harus dimodifikasi. Jika vendor tidak membuat kode sumber (source code) yang bisa digunakan untuk penyesuaian dan tidak menyediakan layanan penyesuaian maka rancangan sistem mungkin harus diubah agar sesuai dengan paket tersebut. Jika hal ini terjadi sebaiknya mengembangkan program secara in-house agar programnya bisa memenuhi spesifikasi rancangan sistem yang tepat.

2. Ketergantungan VendorJika organisasi memerlukan perubahan paketnya maka

organisasi akan tergantung pada vendor dalam perolehan dukungannya, dan jika vendor telah tiada maka organisasi akan kesulitan mencari dukungannya.

Page 16: TESTING & IMPLEMENTASI SISTEM

3. Biaya tidak langsung dari kerusakan SDLC

Seringkali apa yang ingin dicapai, manajemen tidak melaksanakan SDLC menyeluruh atau mungkin melewati tahap SDLC, dan secara langsung menuju ke paket perangkat lunak komersial Strategi ini seringkali mengakibatkan paket perangkat lunak komersial tidak berjalan sesuai yang diharapkan dan masalah sistem serta organisasional yang terjadi sebelum implementasi paket tersebut tetap muncul sehingga menimbulkan kesulitan atau harus dibayar kemudian yaitu adanya peningkatan biaya implementasi, operasi, dan pemeliharaan.

Page 17: TESTING & IMPLEMENTASI SISTEM

Penilaian Kinerja Pengoperasian, Dokumentasi, Kemudahan pembelajaran, Kemudahan penggunaan (pengendalian dan penanganan kesalahan, dukungan)

Page 18: TESTING & IMPLEMENTASI SISTEM

B. Perangkat Lunak Pesanan (customized software)

Jika system yang sedang dikembangkan tidak bisa didukung oleh paket software maka harus memesan dari perusahaan jasa/kontraktor independen atau membangun sendiri perangkat lunak (in-house) agar sesuai dengan rancangan sistemnya.

Mengikuti SWDLS (Software Development Life Cycle)Rancangan (Design)Kode (Code)Uji (Test)

Page 19: TESTING & IMPLEMENTASI SISTEM

Siklus Hidup Pengembangan Perangkat Lunak (Software Development Life Cycle)

System Development Life Cycle

Page 20: TESTING & IMPLEMENTASI SISTEM

Membangun perangkat lunak mengikuti tiga tahap SWDLCRancangan (design) :

Bagian dari rancangan sistem terinci yang akan dikonversi ke program aplikasi yang dapat digunakan sebagai pedoman oleh programmer dalam menulis program. Alat (tools) rancangan program yang pokok adalah :Bagan terstrukturBahasa Inggris terstrukturTabel KeputusanPohon KeputusanPersamaan/mirip bahasa pemrograman (Pseudocode)Kamus data

Page 21: TESTING & IMPLEMENTASI SISTEM

Kode (Code):Menulis statemen dalam bahasa

pemrograman, misal 3GL, 4GL, Pemrograman Object

Uji(Test)Pengujian terhadap semua modul kode

untuk mendeteksi kesalahan,misal White Box, Black Box

Page 22: TESTING & IMPLEMENTASI SISTEM

Macam-Macam Perangkat Lunak

Perangkat Lunak Berdasarkan Pemakai Generik: Perangkat lunak yang bisa

digunakan secara umum Spesifik: Perangkat lunak yang dibuat

berdasarkan pesanan Perangkat Lunak Berdasarkan Fungsional

Interfacing Operating System Perangkat Lunak Aplikasi CASE Tools – – – – – –

Page 23: TESTING & IMPLEMENTASI SISTEM

Mengorganisasi Proyek Pengembanganperangkat lunakPerancang dan analis sistem terlibat dalam

tim pengembangan perangkat lunak dan harus mengetahui bagaimana program ini dikode dan bagaimana hasil akhirnya. Untuk itu diperlukan keterampilan pengorganisasian dalam tim proyek. Pengorganisasian proyek pengembangan perangkat lunak memerlukan komunikasi, integrasi dan koordinasi yang baik. Pengorganisasian tim pemrograman menggunakan pendekatan organisasional.

Page 24: TESTING & IMPLEMENTASI SISTEM

Pendekatan Organisasional

Tiga cara untuk mengorganisasi tim pemrograman, yaitu :

Tim Pengembangan Program ( Program development team)

Tim programmer kepala (chief programmer team)

Tim pemrograman bersama (Egoless programming team)

Page 25: TESTING & IMPLEMENTASI SISTEM

Tim Pengembangan Program tersusun atas 2 perancang, 1 pengkode, 2 penguji.

Interface dan lintasan komunikasi berada antara perancang dan pengkode, pengkode dan penguji, perancang dan penguji. Interface dan lintasan komunikasi ke manajer tim hanya memberikan rekapitulasi dan informasi kinerja karena manajer tidak terlibat langsung dalam pekerjaan yang sebenarnya. Jadi total interface dan lintasan komunikasi ada lima, dan

satu interface manajemen.

Page 26: TESTING & IMPLEMENTASI SISTEM

Tim programmer kepala terdiri dari lima programmer pendukung mempunyai

lima interface dan lintasan komunikasi, dan lebih mungkin memenuhi deadline yang ketat.

Page 27: TESTING & IMPLEMENTASI SISTEM

Tim pemrograman bersamaterdiri dari lima programmer. Jumlah

interface dan lintasan komunikasi = n(n-1)/2= 5(5-1)/2=10

Page 28: TESTING & IMPLEMENTASI SISTEM

Merencanakan proyek Siklus Hidup pengembangan perangkat lunak

Perangkat yang digunakan adalah teknik tinjauan dan evaluasi program (PERT)

PERT : untuk menentukan rangkaian atau urutan pelaksanaan tugas pengembangan perangkat lunak dan untuk mengestimasikan lamanya waktu yang diperlukan dari awal

sampai selesainya pelaksanaan tugas

Page 29: TESTING & IMPLEMENTASI SISTEM

Langkah menyusun jaringan PERTIdentifikasi semua tugasMengestimasi waktuMenetapkan rangkaian tugasMenentukan jalur kritis

Page 30: TESTING & IMPLEMENTASI SISTEM

Fungsi dalam Pengembangan Perangkat Lunak

Software Development Management (terdiri dari banyak fungsi dan tim), yaitu

1. Software Project Manager:

pertama berhubungan dengan konsumen, menetapkan anggaran dan jadwal pelaksanaan proyek perangkat lunak.

2. Software Engingeering Analyst

berhubungan dengan konsumen secara lebih rinci; bertugas mendeskripsikan atau menggali fungsi dan unjuk kerja software yang akan dibangun.

Designer : bertugas merancang algoritma/prosedur yang tepat untuk fungsi tersebut disesuaikan dengan hardware atau software pendukung yang ada.

Programmer : mengimplementasikan algoritma dalam bentuk kode-kode program menggunakan bahasa pemograman.

Page 31: TESTING & IMPLEMENTASI SISTEM

3. Software Configuration Management : memantau fungsi-fungsi/prosedur prosedur yang telah ditentukan, mencatat konfigurasi pada tahap-tahap/ waktuwaktu tertentu berdasarkan kenyataan yang ada.

System Administrator : bertugas melakukan pengelolaan terhadap sistem pada saat diimplementasikan.

4. Software Quality

Software Test Engineer : bertugas melakukan pengujian sistem.

Software Quality Assurance: bertugas melakukan pengawasan apakah software yang dibangun telah berjalan sesuai dengan fungsi dan kebutuhannya

Page 32: TESTING & IMPLEMENTASI SISTEM

Dokumen Rencana Pengembangan Perangkat Lunak (RPPL)

Pada umumnya sebelum melakukan pengembangan atau pembangunan suatu perangkat lunak, terlebih dahulu dibuat proposal proyek pengembangan atau pembangunan perangkat lunak tersebut. Hal ini bertujuan untuk memberikan gambaran secara ringkas mengenai perangkat lunak yang akan dikembangkan atau dibangun. Format/kerangka dari dokumen Rencana Pengembangan Perangkat Lunak (RPPL) adalah sebagai berikut :

Page 33: TESTING & IMPLEMENTASI SISTEM

Dokumen Rencana Pengembangan Perangkat Lunak (RPPL)

Page 34: TESTING & IMPLEMENTASI SISTEM
Page 35: TESTING & IMPLEMENTASI SISTEM

Perancangan Perangkat Lunak

Page 36: TESTING & IMPLEMENTASI SISTEM

Tahapan Rancangan Perangkat Lunak2 Pendekatan rancangan perangkat lunak

Rancangan perangkat lunak terstrukturRancangan perangkat lunak berorientasi

objek

Tahap rancangan perangkat lunak :

Page 37: TESTING & IMPLEMENTASI SISTEM

Perancangan Terstruktur

Orientasi pada Proses dan Data Alat perancangan perangkat lunak

terstuktur :Kamus dataModel data logikERDDFDSTDBagan terstruktur

Page 38: TESTING & IMPLEMENTASI SISTEM

Perancangan TerstrukturKarakteristik rancangan untuk program

terstrukturModul disusun secara hirarkis (bagan

struktur,diagram jackson,diagram warnier/orr)Menggunakan Logika CALL-based atau

PERFORM-basedMenggunakan control flow (alur kendali) dan

rancangan top-to-bottom dan pengkodean top-to-bottom atau bottom-to-top

Merancang repetisi atau loop dalam satu modulMenerapkan konsepsi kendali standar (untuk

urutan, seleksi, repetisi)

Page 39: TESTING & IMPLEMENTASI SISTEM

Rancangan Perangkat Lunak Berorientasi ObyekAdalah Strategi perancangan dimana

perancang sistem memikirkan ‘benda’ dan bukan operasi atau fungsi.

Orientasi pada Obyek Alat yang digunakan : DFD, ERD,

STD,Bagan Terstruktur, SE/Pseodocode Tahapan:

Mendeskripsikan Obyek, Kelas, Atribut dan Daftar Operasi

Memodelkan relasi antara Obyek dan Kelas Memodelkan Pewarisan

Page 40: TESTING & IMPLEMENTASI SISTEM

Objek dan kelas objekObjekMemberi identitas kepada orang atau

bendaMerepresentasikan entitas dari aplikasi

yang dirancangKelas ObjekDibuat untuk menurut definisi kelas objekDefinisi kelas objek berfungsi sebagai

template untuk membuat objek

Page 41: TESTING & IMPLEMENTASI SISTEM

Objek dan kelas objekSuperkelas : kumpulan kelasSubkelas : kejadian dari suatu kelasInheritance : kemampuan untuk

mendefinisikan subkelas objek dari suatu kelas objek

Didefinisikan pada UML

Page 42: TESTING & IMPLEMENTASI SISTEM

Representasi alternatif dari kelas berorientasi objek

Page 43: TESTING & IMPLEMENTASI SISTEM

Tahapan perancangan berorientasi objekMendefinisikan Konteks sistem dan model

penggunaanMerancang arsitektur sistemMengidentifikasi obyek utama sistemMengembangkan model desainMenspesifikasi interface obyek

Page 44: TESTING & IMPLEMENTASI SISTEM

TERIMA KASIH ATAS PERHATIAN ANDA