Anda di halaman 1dari 33

Sesi 2 Understanding Application Characteristics: From Functionality to Performance

Karakteristik Aplikasi

Hal yang sangat penting untuk dievaluasi secara obyektif dalam menentukan perlu tidaknya migrasi adalah apakah aplikasi memiliki

karakteristik (functional dan non functional) yang masih dalam batas yang diterima bisnis
atau tidak ?

2 of 32

Understanding Application Characteristics : From Functionality to Performance

Core vs Non-Core

Pastikan fungsi yang diinginkan pada Core Application betul-betul fungsi Core. Faktor non-fungsional pada Core Application yang berpengaruh pada cost (development dan operasional) menyebabkan tidak ekonomis untuk memasukkan fungsi Non-Core dalam Core Application.

3 of 32

Understanding Application Characteristics : From Functionality to Performance

Karakteristik Aplikasi
Fungsi Utama Fungsional Fungsi Pendukung Reliability Karakteristik Aplikasi Speed Performance Optimal Usage of Resources Scalability Non-Fungsional Security Availability User Friendliness Extensibility Manageability Maintainability

4 of 32

Understanding Application Characteristics : From Functionality to Performance

Fungsional

Fungsional aplikasi apa yang bisa dilakukan oleh aplikasi untuk memenuhi kebutuhan bisnis atau peran aplikasi dalam mendukung atau memungkinkan proses bisnis dilaksanakan.

Apa yang dapat pengguna lakukan pada aplikasi?


Bagaimana perilaku (behavior) aplikasi pada saat terjadi hal tertentu? Proses otomatis apa yang dapat dilakukan aplikasi? Laporan seperti apa yang dapat diolah aplikasi dari data yang ada? Apa yang dapat dilakukan aplikasi untuk mengefisienkan proses bisnis? Bagaimana pengguna dapat menggunakan aplikasi?
Sumber: Sharing VisionTM, 2012

5 of 32

Understanding Application Characteristics : From Functionality to Performance

Fungsional: Fungsi Utama dan Fungsi Pendukung

Fungsi utama adalah fungsi aplikasi dalam

menyokong

fungsi bisnis utama perusahaan. Dalam kasus ekstrimnya, bisnis utama tidak dapat berjalan tanpa adanya fungsifungsi utama dalam aplikasi.
Fungsi pendukung adalah fungsi yang harus ada untuk

mendukung fungsi utama aplikasi

6 of 32

Understanding Application Characteristics : From Functionality to Performance

Fungsional: Cara Mengevaluasi Fungsionalitas

Dinilai dari hal yang bisa dipenuhi dari kebutuhan fungsi aplikasi yang kita butuhkan. Kebutuhan fungsi bisa dilihat dari kebutuhan para

user bisnis (berdasarkan practices untuk perusahaan


top managemen.

dokumen atau interview) dan

best

serupa, maupun kebutuhan strategic dari

Contoh parameter:
Pemenuhan fungsionalitas opsional (yang mandatory biasanya menjadi go atau no-go filter).

7 of 32

Understanding Application Characteristics : From Functionality to Performance

Fungsional: Contoh Checklist Fungsional Aplikasi

Kode Menu
AB018 M_02D M_01A ST085 TE097 TE098 KO053

Kesesuaian Nama Menu Catatan Ketidaksesuaian

Sesuai Tidak
Laporan Transaksi Pinjaman Pemelihataan Data Kredit Pemeliharaan Data Debet Setoran Tunai Penyerahan Ke Teller Penerimaan Dari Teller Laporan Transaksi x x x x x x x Tidak ada data Belum ada kebijakan tertulis transaksi teller ke teller. Belum ada kebijakan tertulis transaksi teller ke teller. Masih bisa digunakan

Sumber: Sharing Vision Experiences, 2011

8 of 32

Understanding Application Characteristics : From Functionality to Performance

Non-Fungsional

Karakteristik non-fungsional meliputi:


Performance

Security (CIA)
User Friendliness Manageability

Sumber: Sharing Vision Experience

9 of 32

Understanding Application Characteristics : From Functionality to Performance

Non Fungsional (1): Performance

Performance meliputi:
Reliability Speed Optimal Use of Resource Scalability Availability

10 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (1): Reliability

Reliability adalah kemampuan dari aplikasi untuk selalu

bekerja dengan baik dan tepat setiap kali aplikasi


digunakan oleh user

Reliability terkait erat dengan bug dan defect dalam aplikasi. Suatu aplikasi core yang baik harus dipastikan memiliki karakteristik

zero-bug (atau paling tidak mendekati zero-bug), sehingga dapat


dikatakan sangat Reliable

11 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (1): Contoh Kasus Reliability

Vernon Kidd meninggal akibat over-dosis radiasi sinar X. Hasil penyidikan menemukan indikasi bahwa: hal ini terjadi karena adanya kesalahan pada software yang menyebabkan mesin tidak merespon kalibrasi data.
Puluhan tentara Amerika meninggal dikarenakan

software kendali rudal Patriot berhenti bekerja


dengan baik setelah digunakan selama 14 jam. European Ariane 5 meledak 40 detik setelah take-0ff karena

kesalahan pada software


Sumber: Mark Minasi, Software Conspiracy

12 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (1): Contoh Kasus Reliability

Sebuah perusahaan di Indonesia tidak bisa mendeteksi beberapa nomor kuitansi yang loncat karena kesalahan manajemen pengadaan software.

Bunga untuk nasabah sebuah bank di Indonesia

pernah berubah nilainya menjadi lebih besar untuk beberapa bulan.


Sharing Vision Experience

13 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (2): Speed

Speed: kecepatan aplikasi melakukan operasi/proses


Berapa transaksi yang dapat didukung oleh aplikasi pada setiap detik (transaction per second)? Berapa lama proses batch dilaksanakan oleh aplikasi?

Kecepatan dari aplikasi juga tergantung pada kemampuan hardware

14 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (2): Contoh Kasus Speed

Kasus 1: Waktu EOD (End of Day):


Salah satu bank di indonesia pernah mengalami End of Day (EOD) sekitar 12 jam, dibandingkan dengan EOD normal sekitar 4-6 jam. Sehingga menyebabkan keterlambatan pembukaan bank.

Kasus 2: Respon Time:


Pernah terjadi sebuah perusahaan, waktu respon cetak laporan sekitar 30 menit per-satu kali cetak.

15 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (3): Optimal Use of Resource

Kemampuan aplikasi dalam menggunakan

resource (CPU,

Memory, Network, Disk) secara optimal untuk memaksimalkan kemampuan resource

Dukungan aplikasi terhadap arsitektur CPU multi-core


Aplikasi menerapkan buffering / caching untuk mengurangi waktu pengambilan data dari disk/network Memberikan petunjuk/manual bagi operator optimalisasi penggunaan resource aplikasi dalam mendukung

16 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (4): Scalability

dapat bekerja dengan baik dan cepat dengan tambahan beban (volume data maupun akses secara bersamaan / concurrent
access)
Aplikasi dinyatakan memiliki scalability baik jika tambahan beban selalu dapat diatasi dengan penambahan hardware/resource Aplikasi yang tidak memiliki scalability baik dapat mengalami penurunan performance jika beban bertambah (misalnya menjadi tidak Reliable, ataupun Speed berkurang)

Scalability: Kemampuan aplikasi untuk

17 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (5): Availability

Availability yaitu memastikan user aplikasi dapat mengakses aplikasi

pada setiap saat aplikasi dibutuhkan.

Contoh:
Sistem billing telco dengan availability minimal 99.99% dalam 30 hari maksimal mengalami unavailable selama : (1 99,99%) x 30 hari x 24 jam/hari x 60 menit/jam = 4.32 menit
Sumber: Sharing VisionTM
18 of 32

Understanding Application Characteristics : From Functionality to Performance

Performance (5): Konsep Availability

Availability (A) = A1 x A2 x A3 x A4 x A5 ... An


Software Hardware Human Interface Process

Availability aplikasi terdiri dari rangkaian komponen pendukung sistem aplikasi yang mempengaruhi satu sama lain. Availability total akan lebih kecil dari availability terkecil dari komponen pembentuk sistem dan proses secara keseluruhan
Sumber: Sharing VisionTM
19 of 32

Understanding Application Characteristics : From Functionality to Performance

Bagaimana Mengukur Performance?

Hasil uji atau evaluasi Tentukan Performance Requirement

Uji atau evaluasi performance terhadap requirement

Kenyataannya pengujian atau evaluasi performance tidak sederhana. Ada banyak pendekatan yang bisa dilakukan. Misalnya : Jika kita bisa menemukan satu kondisi dimana requirement

performance tidak terpenuhi, maka berarti aplikasi tersebut tidak memenuhi kriteria minimal yang
dibutuhkan perusahaan

20 of 32

Understanding Application Characteristics : From Functionality to Performance

Non-Fungsional (2): Security


Keamanan dari aplikasi untuk memastikan bahwa seluruh

proses yang dilakukan di dalam aplikasi aman


Confidentiality

Hanya user yang mempunyai hak yang dapat mengakses informasi Informasi terjaga, yaitu tidak dapat berubah secara tidak benar (misalnya: diubah oleh pihak yang tidak berwenang)
Security menjaga dari ancaman terhadap ketersediaan sistem bagi user
Sumber: Sharing VisionTM, 2012

Integrity

Availability

21 of 32

Understanding Application Characteristics : From Functionality to Performance

Security:
Penilaian Security

Ada setidaknya dua cara yang bisa dilakukan untuk menilai Application Security :

1) Meminta vendor untuk menjelaskan aspek-aspek application securitynya, dari sisi proses design nya, arsitektur maupun solusi-solusi security yang digunakan, dan apa yang telah dilakukannya untuk menghindari major software security vulnerabilities sesuai best practices
2) Adanya pihak auditor independen yang terpercaya yang telah mengaudit Application Security dari aplikasi tersebut
Cara yang kedua relatif lebih kuat dan untuk Bank, hal tersebut adalah mandatory (berdasar PBI MRTI 09/15/2007)

22 of 32

Understanding Application Characteristics : From Functionality to Performance

Security:
Contoh Kasus (1)

Kebobolan lewat aplikasi ATM

Di suatu bank di Indonesia aplikasi ATM telah dibobol sehingga seorang nasabah yang tidak memiliki ATM, uangnya terkuras habis melewati ATM orang lain.

Sumber: Sharing VisionTM

23 of 32

Understanding Application Characteristics : From Functionality to Performance

Security:
Contoh Kasus (2)

Isi ulang ilegal voucher telekomunikasi

Banyak kasus voucher telekomunikasi bisa diisi ulang oleh orang yang tidak berwenang

Sumber: Sharing VisionTM

24 of 32

Understanding Application Characteristics : From Functionality to Performance

Non-Fungsional (3): User Friendliness

User Friendliness artinya aplikasi dapat digunakan oleh user dengan mudah dan nyaman.
Biasanya dinilai dari :
jenis user interface (preferensi: web) perintah bisa diakses bukan hanya dengan mouse namun juga dengan shortcut-shortcut auto-completion konsistensi tampilan Mudah dibaca Simpel

Sumber: Organizational Requirements Engineering

25 of 32

Understanding Application Characteristics : From Functionality to Performance

User Friendliness:
Contoh Kasus

TUI (Textual User Interface) ke GUI (Graphical User Interface) dan dari GUI ke:
Perubahan antarmuka aplikasi GUI + touch GUI + touch + voice GUI + touch + voice + gesture

26 of 32

Understanding Application Characteristics : From Functionality to Performance

Non Fungsional (4): Manageability

Manageability meliputi: Extensibility Maintainability

27 of 32

Understanding Application Characteristics : From Functionality to Performance

Manageability (1):
Extensibility
Extensibility adalah kapabilitas dan kemudahan aplikasi untuk disesuaikan

dengan perubahan atau penambahan kebutuhan bisnis

terhadap

aplikasi atau dengan kata lain kapabilitas dan kemudahan untuk mengubah/menambah aspek fungsional dari aplikasi
Contoh: Aplikasi menggunakan arsitektur SOA, menyediakan Web Service untuk semua fungsi utama aplikasi, sehingga dapat dengan mudah diintegrasikan dengan aplikasi eksternal untuk otomatisasi proses bisnis Aplikasi menyediakan kapabilitas custom reporting, sehingga setiap report dapat dengan mudah disesuaikan dengan perubahan kebutuhan Aplikasi dirancang dengan arsitektur yang sangat modular dan dengan base module/framework yang baik, sehingga penambahan fungsi dapat dilakukan dengan mudah, tanpa mengubah source code yang ada
http://en.wikipedia.org/wiki/Extensibility

Manageability (1):
Cara Mengevaluasi Extensibility

Adanya tools atau cara untuk :


Menambah fungsi Merubah fungsi Mengintegrasikan dengan sistem lain Menginterkoneksikan dengan sistem lain

29 of 32

Understanding Application Characteristics : From Functionality to Performance

Manageability (2):
Maintainability

Dalam operasional suatu aplikasi, akan selalu terdapat permasalahan menyangkut aplikasi, baik bersumber dari aplikasi, infrastruktur (jaringan, server, dsb) dan kesalahan user.
Maintainability aplikasi terkait dengan kemudahan: 1. Memonitor komponen aplikasi 2. Mencari dan mengisolasi akar masalah 3. Memperbaiki akar masalah pada aplikasi
Sumber: Wikipedia

30 of 32

Understanding Application Characteristics : From Functionality to Performance

Manageability (2):
Cara Mengevaluasi Maintainability

Ketersediaan tools atau cara untuk :


Memonitor komponen aplikasi Mencari dan mengisolasi akar masalah Memperbaiki akar masalah pada aplikasi

31 of 32

Understanding Application Characteristics : From Functionality to Performance

Penutup

Aplikasi dapat ditinjau karakteristiknya dari dua sisi utama yaitu fungsional dan non-fungsional.

Untuk penentuan kebutuhan migrasi atau tidak, bisa dilakukan uji karakteristik aplikasi.
Karakteristik aplikasi juga diperlukan untuk memilih solusi core application yang paling tepat bagi perusahaan bila telah diputuskan bahwa migrasi core application feasible. Hal ini akan dibahas lebih lanjut pada sesi berikutnya.

32 of 32

Understanding Application Characteristics : From Functionality to Performance

Merci bien
Arigatoo Matur Nuwun

Hatur Nuhun
Matur se Kelangkong Syukron Kheili Mamnun Danke

Terima Kasih

33 of 32

Understanding Application Characteristics : From Functionality to Performance

Anda mungkin juga menyukai