• Tidak ada hasil yang ditemukan

BAB V IMPLEMENTASI DAN PENGUJIAN PERANGKAT LUNAK

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB V IMPLEMENTASI DAN PENGUJIAN PERANGKAT LUNAK"

Copied!
17
0
0

Teks penuh

(1)

52

BAB V

IMPLEMENTASI DAN PENGUJIAN PERANGKAT

LUNAK

Bab ini menjelaskan tahap implementasi serta pengujian yang dilakukan pada perangkat lunak IECS.

V.1 Implementasi

Implementasi ke tujuh bagian subsistem yang terdapat dalam sistem IECS. Masing-masing subsistem tersebut seperti yang dijelaskan pada bab sebelumnya adalah Simulator, Studio, Setting Panel, Workspace, Dashboard, Flow Engine dan Unit Server.

Flow Engine dan Unit Server adalah aplikasi server yang bertugas menerima permintaan dari aplikasi klien dan memberikan balikan sesuai dengan permintaan, sedangkan Simulator, Studio, Setting Panel, Workspace dan Dashboard merupakan aplikasi yang berjalan di mesin klien. Implementasi diawali dengan implementasi Flow Engine dan Unit Engine baru kemudian diikuti oleh implementasi Simulator, Studio, Control Panel, Workspace dan Dashboard.

V.1.1 Lingkungan Implementasi

Lingkungan implementasi terdiri dari dua bagian yaitu perangkat keras dan perangkat lunak. Lingkungan perangkat keras terlihat di tabel V-1

Tabel V.1. Lingkungan Implementasi Server

Item Spesifikasi

Processor Intel Core Duo 1.4 GHz

RAM 512 MB

Layar 14 Inch

Periferal Mouse, keyboard

(2)

53

Sedangkan untuk lingkungan perangkat lunak yang dipergunakan terbagi menjadi dua bagian menurut letak kerja dari subsistem. Lingkungan perangkat lunak yang dipergunakan terlihat di table V-2 dan V-3.

Tabel V-2. Lingkungan perangkat lunak server Server (FlowEngine dan UnitServer)

Item Spesifikasi

Sistem Operasi Windows XP

Web Server Apache 2.0

Bahasa Pemrograman PHP 5.1

Database MySQL 5.0

FrameWork Klorofil Platform (www.klorofil.org)

IDE PSPad (Script Editor)

Tabel V-3. Lingkungan perangkat lunak klien Client (Studio, Control Panel dan Workspace)

Item Spesifikasi

Sistem Operasi Windows XP

Web Browser Mozilla FireFox 2.0 dan Internet Explorer 7.0 Bahasa Pemrograman JavaScript

FrameWork Purefect Desktop (www.klorofil.org)

IDE PSPad (Script Editor)

V.1.2 Implementasi Kelas

Modul pertama yang diimplementasikan adalah Flow Engine diimplementasikan sebagai aplikasi server dengan menggunakan bahasa pemrograman PHP.

(3)

54

Tabel V-4. Implementasi Flow Engine

Package Kelas Keterangan

autoflow ResourceManager Kelas ini berfungsi sebagai antar muka modul workflow engine dengan modul lain yang menyediakan fungsionalitas untuk manajeman resource dalam AutoFlow.

RemoteResourceMgr Interface dari kelas

ResourceManager.

ProcessManager Kelas ini berfungsi sebagai antar muka modul workflow engine dengan modul lain yang

berhubungan dengan pelaksanaan instan proses.

RemoteProcessMgr Interface dari kelas

ProcessManager.

DashboardManager Kelas yang berfungsi menerima permintaan fungsi - fungsi dashboard

RemoteDashboardMgr Interface dari kelas DashboardManager

Process Kelas objek proses yang dapat diserialisasi antar modul.

Unit Kelas objek unit yang dapat diserialisasi antar modul.

UnitServer Kelas objek unit server yang dapat diserialisasi antar modul. autoflow_model Component Kelas yang dipergunakan untuk

mengambil dan menyimpan data komponen untuk studio dari database internal AutoFlow.

(4)

55

Process Kelas yang dipergunakan untuk mengambil dan menyimpan data proses dari database.

ProcessAttachment Kelas yang dipergunakan untuk mengambil dan menyimpan data attachment proses dari database. ProcessHistory Kelas yang dipergunakan untuk

mengambil dan menyimpan data sejarah proses dari database. ProcessValue Kelas yang dipergunakan untuk

mengambil dan menyimpan data nilai yang dipergunakan proses dari database.

Program Kelas yang dipergunakan untuk mengambil dan menyimpan data program dari database.

Unit Kelas yang dipergunakan untuk mengambil dan menyimpan data unit dari database.

UnitServer Kelas yang dipergunakan untuk mengambil dan menyimpan data unit server dari database.

autoflow_struct CallFunction Kelas yang bertugas untuk melakukan pemanggilan fungsi Decision Kelas yang bertugas untuk

melakukan pemilihan jalur proses sesuai dengan data yang dimiliki instan proses tersebut. Delay Kelas yang bertugas untuk

memasukkan instan proses ke pool menunggu untuk diaktifkan di waktu kemudian sesuai

(5)

56

dengan spesifikasi proses.

FlowControl Kelas dasar untuk operasi proses.

Join Kelas yang bertugas untuk menggabungkan beberapa sub instan menjadi satu instan.

Start Kelas yang bertugas untuk memulai instan proses.

Stop Kelas yang bertugas untuk menghentikan instan proses. Split Kelas yang bertugas untuk

membagi satu instan menjadi beberapa sub instan yang berjalan paralel.

UserTask Kelas yang bertugas untuk membangkitkan tugas untuk divisi tertentu.

Salah satu kode contoh kode yang diimplementasi di subsistem Flow Engine dapat dilihat di gambar V-1. Potongan kode di gambar tersebut berasal dari kelas ProcessManager dari paket autoflow.

public function startProcess($processId, $selectedStaff = null)

{

$result = null;

$process = new saltanera_autoflow_model_Process();

if ($process->open($processId)) {

$system =

$this->getSessionObjectByClass("klorofil_purefect_System");

if ($system instanceof klorofil_purefect_System) {

(6)

57 if ($program->open($process->getProgramName())) { $xml = $program->getFlowXML(); $programObj = new saltanera_autoflow_struct_Program(); $programObj->fromXML($xml); $start = $programObj->getStart(); if ($start instanceof saltanera_autoflow_struct_FlowControl) $stateId = $start->getFlowId(); else $stateId = null; uses("saltanera_autoflow_model_ProcessHistory"); $hist = new saltanera_autoflow_model_ProcessHistory(); $hist->add($processId, $stateId, $start->getCaption(), "", $system->getUserId(), $system->getUserName()); if ($start->isUseDeadLine()) { $deadLineCount = $start->getDeadLine();

if (($deadLineCount != null) &&

($deadLineCount > 0)) { $deadLineUnit = $start->getDeadLineUnit(); switch ($deadLineUnit) { case 1 :

$deadLine = strtotime("+$deadLineCount hours"); break;

case 2 :

$deadLine = strtotime("+$deadLineCount days"); break;

case 3 :

$deadLine = strtotime("+$deadLineCount weeks"); break;

(7)

58

$deadLine = strtotime("+$deadLineCount months"); break;

case 5 :

$deadLine = strtotime("+$deadLineCount years"); break;

}

$deadLine = date("Y-m-d H:i", $deadLine); $process->setCurrentProcessDeadLine($deadLine); }

} }

}

$result = $this->moveProcess($processId, $selectedStaff); if ($result) $process->start(); } return $result; }

Gambar V-1. Contoh kode di subsistem Flow Engine

Subsistem disisi klien yang diimplementasikan pertama kali adalah Studio. Studio merupakan aplikasi web yang diimplementasikan dengan menggunakan bahasa pemrograman javascript.

Kelas yang diimplementasikan dalam subsistem Studio terlihat pada tabel V-5

Tabel V-5. Kelas implementasi subsistem Studio

Package Kelas Keterangan

autoflow Process Kelas untuk menyimpan data proses yang dapat diserialisasi

antar subsistem.

RemoteResourceMgr Kelas interface untuk

mengakses kelas ResourceManager di subsistem flow engine.

(8)

59

Studio.

StudioForm Kelas tampilan utama dari subsistem Studio.

NewForm Kelas tampilan untuk pembuatan program baru.

OpenForm Kelas tampilan untuk membuka program yan sudah ada.

SplashForm Kelas tampilan untuk identitas subsistem yang muncul pertama kali subsistem dijalankan.

autoflow_control CodeEditor Kelas antar muka untuk menulis kode program

FlowCanvas Kelas antar muka untuk menggambar diagram spesifikasi proses.

FormCanvas Kelas antar muka untuk mendesain form tugas.

autoflow_control_flow CallFunction Kelas komponen diagram untuk pemanggilan fungsi.

Decision Kelas komponen diagram

untuk pemilihan jalur proses.

Delay Kelas komponen diagram

untuk penundaan ekssekusi instan proses.

FlowControl Kelas dasat komponen

diagram.

Join Kelas komponen diagram

untuk penggabungan beberapa sub instan menjadi satu instan.

(9)

60

untuk permulaan proses.

Stop Kelas komponen diagram

untuk penghentian proses.

Split Kelas komponen diagram

untuk pembagian instan menjadi beberapa sub instan yang berjalan secara paralel.

UserTask Kelas komponen diagram

untuk pembangkitan tugas manual staff.

Contoh kode progam dari subsistem Studio dapat dilihat di gambar V-2. Potongan kode program tersebut berasal dari kelas StudioForm dari paket autoflow_studio. Kode program tersebut berfungsi untuk pembuatan program proses baru dan penyiapan tampilan untuk program baru tersebut.

window.saltanera_autoflow_studio_StudioForm.prototype.doNewProgram = function(name, desc, version) {

var id = this.manager.addProgram(name, desc, version);

if (id) {

var program = new saltanera_autoflow_struct_Program(); program.setProgramName(name); program.setDescription(desc); program.setVersion(version); program.setDeployed(false); this.programs.set(name, program);

var projectNode = new

klorofil_controls_TreeItem(this.treeProject); projectNode.setCaption(name);

var nodeFlow = new klorofil_controls_TreeItem(projectNode); nodeFlow.setCaption("Flow");

(10)

61

var nodeForm = new klorofil_controls_TreeItem(projectNode); nodeForm.setCaption("Start Form");

nodeForm.setIcon("images/saltanera/autoflow/button/form.png"); nodeForm.onDblClick.set(this, "nodeFormDblClick");

var nodeUnit = new klorofil_controls_TreeItem(projectNode); nodeUnit.setCaption("Units"); nodeUnit.setPopUpMenu(this.popTreeUnit); this.manager.getProgramFlow(name); } }

Gambar V-2 Contoh kode di subsistem Studio

Kelas implementasi selengkapnya dapat dilihat di Lampiran F.

V.1.3 Implementasi Antarmuka

Antarmuka yang diimplementasi dapat terlihat di gambar V-3 dan V-4.

(11)

62

Gambar V-4. Implementasi antarmuka pembuatan form tugas

Gambar implementasi antarmuka selengkapnya dapat terlihat di Lampiran G.

V.1.4 Batasan Dalam Implementasi

Berdasarkan analisa kebutuhan perangkat lunak dan implementasi diatas maka batasan dalam implementasi perangkat lunak dalam tesis ini adalah :

1. Pemodelan data hanya untuk pemodelan data standar seperti penciptaan tabel, manipulasi struktur tabel dan hubungan antara unit organisasi dengan tabel.

2. Notasi diagram proses bisnis yang diimplementasi adalah notasi diagram dasar seperti yang dijelaskan dalam bab 3.

3. Hubungan server aplikasi khusus yang diimplementasi hanya server aplikasi dengan protokol HTTP.

V.2 Pengujian

Sub bab ini berisi pengujian terhadap aplikasi yang telah dibuat. Pengujian dilakukan dengan menjalankan seluruh aplikasi pada sistem IECS kemudian melakukan pengujian terhadap fungsionalitas aplikasi dalam lingkup tesis ini.

(12)

63 V.2.1 Tujuan Pengujian

Pengujian dilakukan dengan tujuan sebagai berikut:

1. Membuktikan kesesuaian aplikasi dengan spesifikasi kebutuhan pada bagian analisis dan perancangan.

2. Mengetahui kinerja aplikasi. V.2.2 Lingkungan Pengujian

Pengujian perangkat lunak dilakukan dengan menggunakan komputer yang telah di diinstalasi sistem IECS. Spesifikasi perangkat keras pengujian dapat dilihat pada Tabel V-6.

Tabel V.6. Spesifikasi Perangkat Pengujian

Item Spesifikasi

Processor Intel Core Duo 1.4 GHz

RAM 512 MB

Layar 15 Inch

Periferal Mouse, keyboard

V.2.3 Prosedur Pengujian

Pengujian fungsionalitas aplikasi dilakukan dengan memasukkan data-data sesuai kebutuhan pada setiap layanan yang disediakan, mengeksekusi layanan yang disediakan tersebut, kemudian mengamati hasil keluaran aplikasi. Pengujian ini dilakukan untuk setiap use case dalam sistem. Hasil pengujian fungsionalitas aplikasi berdasarkan use

case yang telah dilakukan adalah sebagai berikut :

1. Use case membuat diagram proses

Prosedur pengujian untuk case membuat program flow adalah  Membuka aplikasi Studio

 Menekan tombol “New Program”

 Memasukkan data program baru yaitu nama program “Test” dan deskripsi program “Deskripsi Test”.

 Menambah unit baru bernama “UnitA”  Menambah tugas ke unit “UnitA”

 Menambah table bernama “TableA” ke diagram

 Menambah server aplikasi khusus ke diagram dengan tipe “HTTP” dengan alamat koneksi ke “http:/localhost/test.php”.

(13)

64

 Menambahkan komponen UserTask pada diagram

 Menambahkan garis sekuens dari komponen Start ke UserTask dan dari UserTask ke stop.

 Menyimpan program dengan menekan tombol “Save”  Menutup dan membuka ulang aplikasi

 Membuka ulang program yang telah disimpan untuk melihat keberhasilan penyimpanan.

Hasil pengujian terlihat di table V-7.

Tabel V-7 Tabel pengujian case membuat program flow

Masukan Keluaran yang Diharapkan

Hasil yang Didapat Kesimpulan

- Nama program “Test” - Deskripsi program “Deskripsi Test” - Unit “UnitA” - Table “TableA” - Aplikasi khusus tipe HTTP ke “http:/localhost/test.ph p” - Koneksi Start-UserTask dan UserTask-Stop

Program bernama test tercatat di database internal, saat dibuka ulang diagram proses sama seperti saat disimpan

Program bernama test tercatat di database internal, saat dibuka ulang diagram proses sama seperti saat disimpan

Lolos Uji

2. Use Case membuat form tugas unit

Prosedur pengujian untuk case membuat form tugas unit adalah :  Membuka aplikasi Studio.

 Membuka program “Test” dengan menekan tombol “Open”.

 Menekan tombol menu “Add Form” pada unit “unit1” dengan nama “form1”.  Mengklik ganda “form1” dari “unit1”.

(14)

65  Menutup dan membuka ulang aplikasi

 Membuka ulang program yang telah disimpan untuk melihat keberhasilan penyimpanan.

Hasil pengujian terlihat di table V-8.

Tabel V-8. Tabel pengujian case membuat form tugas unit

Masukan Keluaran yang

Diharapkan

Hasil yang Didapat Kesimpulan

- Form untuk “unit1” dengan nama “form1”

Form terdaftar dalam unit , saat dibuka ulang form sama seperti saat disimpan

Form terdaftar dalam unit , saat dibuka ulang form sama seperti saat disimpan

Lolos Uji

3. Use Case menulis kode skrip khusus

Prosedur pengujian untuk case membuat form tugas unit adalah :  Membuka aplikasi Studio.

 Membuka program “Test” dengan menekan tombol “Open”.  Menambah komponen decision ke diagram.

 Mengeset skrip pemilihan ke komponen decision.  Menutup dan membuka ulang program “Test”.

 Membuka ulang skrip komponen decision untuk melihat keberhasilan penyimpanan.

Hasil pengujian terlihat di table V-9.

Tabel V-9. Tabel pengujian case menulis kode skrip khusus

Masukan Keluaran yang

Diharapkan

Hasil yang Didapat Kesimpulan

- Komponen decision dengan skrip

pemilihannya

Komponen decision menyimpan skrip yang ditulis.

Komponen decision menyimpan skrip yang ditulis.

(15)

66 4. Use Case manajemen staf unit

Prosedur pengujian untuk case manajemen unit adalah :  Membuka aplikasi Setting Panel.

 Membuka tab unit.

 Menekan tombol “Open” pada “Unit1”.  Menekan tombol “Add Staff”.

 Memberi data staf baru dengan nama user “admin”.  Menutup dan membuka ulang aplikasi .

 Membuka ulang staf yang telah disimpan untuk melihat keberhasilan penyimpanan.

Hasil pengujian terlihat di table V-10.

Tabel V-10. Tabel pengujian case manajemen staf unit

Masukan Keluaran yang

Diharapkan

Hasil yang Didapat Kesimpulan

- Staf dengan nama “admin”

Staf terdaftar dalam database dan data tetap sama saat dibuka ulang

Staf terdaftar dalam database dan data tetap sama saat dibuka ulang

Lolos Uji

5. Use Case membuat instan proses baru

Prosedur pengujian untuk case melihat daftar tugas adalah :  Membuka aplikasi Workspace.

 Membuka tab “Program”.  Mengklik ganda program “Test1”

 Menekan tombol “send” di form yang muncul Hasil pengujian terlihat di table V-11.

(16)

67

Tabel V-11. Tabel pengujian case membuat instan proses baru

Masukan Keluaran yang

Diharapkan

Hasil yang Didapat Kesimpulan

- Pemilihan program Test

- Penekanan tombol “send”

Tercipta instan baru dengan state ke state kedua

Tercipta instan baru dengan state ke state kedua

Lolos Uji

6. Use Case melihat daftar tugas

Prosedur pengujian untuk case melihat daftar tugas adalah :  Membuka aplikasi Workspace.

 Membuka tab “MyTask”. Hasil pengujian terlihat di table V-12.

Tabel V-12. Tabel pengujian case melihat daftar tugas

Masukan Keluaran yang

Diharapkan

Hasil yang Didapat Kesimpulan

- Pemilihan tab MyTask

Daftar tugas staff Daftar tugas staff Lolos Uji

7. Use Case menjalankan form tugas & menggerakkan state sesuai diagram Prosedur pengujian untuk case melihat daftar tugas adalah :

 Membuka aplikasi Workspace.  Membuka tab “MyTask”.

 Klik 2 kali di task yang tersedia di daftar tugas

 Menekan tombol “Execute” di tab “Flow” dari form yang muncul Hasil pengujian terlihat di table V-13.

(17)

68

Tabel V-13. Tabel pengujian case menjalankan form

Masukan Keluaran yang

Diharapkan

Hasil yang Didapat Kesimpulan

- Pemilihan task dari daftar task

- Penekanan tombol “Execute”

Proses pada state selanjutnya

Proses pada state selanjutnya

Lolos Uji

8. Use Case memonitor pelaksanaan proses

Prosedur pengujian untuk case melihat daftar tugas adalah :  Membuka aplikasi dashboard.

Hasil pengujian terlihat di table V-14.

Tabel V-14. Tabel pengujian case memonitor pelaksanaan proses

Masukan Keluaran yang

Diharapkan

Hasil yang Didapat Kesimpulan

- membuka aplikasi dashboard Tampil statistik performansi proses Tampil statistik performansi proses Lolos Uji

V.2.4 Analisis Hasil Pengujian

Dari pengujian yang telah dilakukan, dapat diperoleh hasil pengamatan sebagai berikut: 1. Berdasarkan pengujian fungsionalitas aplikasi, dapat diambil kesimpulan bahwa

secara umum, fungsionalitas aplikasi IECS yang telah dibangun dapat berjalan dengan baik.

2. Pembuatan diagram dengan komponen diagram standar telah berjalan baik, tetapi perlu pengetesan untuk proses bisnis yang kompleks.

Gambar

Tabel V.1. Lingkungan Implementasi Server
Tabel V-2. Lingkungan perangkat  lunak server  Server (FlowEngine dan UnitServer)
Tabel V-4. Implementasi Flow Engine
Gambar V-1. Contoh kode di subsistem Flow Engine
+7

Referensi

Dokumen terkait

Memo pemberitahuan harga jual / price list yang sudah ditandatangani oleh F&A Mgr Internal Subdist dan Head of BU didistribusikan melalui email kepada ASM, Controller, di

Berdasarkan Tabel 7-10 dan analisis peluruhan amplitudo dalam analisis spektral, osilasi 10-20 harian yang dapat digolongkan kedalam osilasi gelombang Kelvin adalah yang terdapat

52 Untuk mengetahui simulasi besar waktu yang dibutuhkan kembali normal pada ruas jalan Purwodadi – Lawang (arah Surabaya – Malang) saat terjadi kemacetan yang

>> Para pihak bebas melangsungkan perjanjian dan membentuk perjanjian menurut kehendak mereka sendiri, asal tidak melampaui batas-batas yang teleh ditentukan oleh kaidah-

Ketiga , menimbang bahwa berdasarkan uraian tersebut di atas maka pasal 43 ayat (1) UU No 1 Tahun 1974 yang menyatakan, “ Anak yang dilahirkan di luar perkawinan

“Siapakah yang dapat menduga bahwa saya begitu cepat jatuh setelah menerima sekian banyak anugerah dari Tuhan, setelah Yang Mahakuasa mulai memberikan kepada saya

Setelah dinyatakan lulus ujian lisan Tugas Akhir, mahasiswa wajib mengumpulkan Tugas Akhirnya yang telah direvisi dan ditanda tangani oleh pembimbing dan penguji,

Berbagai pengertian di atas mengisyaratkan bahwa konsep good governance sesungguhnya sangat berkaitan dengan penyelenggaraan kekuasaan dan kewenangan negara baik