• Tidak ada hasil yang ditemukan

Architectural Design

Dalam dokumen BAB 2 LANDASAN TEORI (Halaman 32-42)

2.11 Object Oriented Analysis & Design (OOA&D)

2.11.3 Architectural Design

Arsitektur komponen berfokus pada kelas (aspek stabil) yang menyusun sistem dalam komponen yang berhubungan, dan terutama memperhatikan pertimbangan secara logis. Arsitektur komponen memecahkan sistem menjadi komponen-komponen yang dapat diidentifikasi dan berhubungan satu sama lain (Mathiassen, et al., 2000, p174).

Arsitektur proses berfokus pada objek (aspek dinamis) yang menyusun proses-proses sistem untuk mencapai koordinasi dan penggunaan efisien dari

technical platform, dan terutama memperhatikan pertimbangan secara fisik.

Arsitektur proses memecahkan sistem menjadi beberapa proses yang saling berinteraksi (Mathiassen, et al., 2000, p174).

Hubungan dan perbandingan antara arsitektur komponen dan arsitektur proses dapat dilihat pada Gambar 2.14.

Sumber: Mathiassen, et al., 2000, p174

Gambar 2.14 Arsitektur Komponen dan Arsitektur Proses

Istilah-istilah yang terdapat dalam perancangan arsitektur:

• Kualitas dan objektif perancangan: kriteria-kriteria ini diterapkan untuk menentukan apakah sebuah perancangan memenuhi tujuannya (Bennett, Mcrobb, & Farmer, 2010, p 354). Kriteria-kriteria tersebut dapat dilihat pada Tabel 2.1.

Tabel 2.1 Kriteria Klasik untuk Kualitas Software Kriteria Pengukuran dari

Functional

Kemampuan fungsi untuk dapat bekerja secara benar dan lengkap sesuai dengan harapan dan kebutuhan user (Bennett, Mcrobb, & Farmer, 2010, p354-355).

Efficient

Penghematan sumber daya yang digunakan untuk menjalankan fungsi, meliputi penyimpanan disk, waktu pemrosesan, dan kapasitas jaringan guna untuk mengoptimalkan solusi yang dihasilkan (Bennett, Mcrobb, & Farmer, 2010, p355).

Economical

Biaya tetap dari hardware dan software yang digunakan dan juga biaya yang ditimbulkan dari menjalankan sistem (Bennett, Mcrobb, & Farmer, 2010, p356).

Reliable

Kehandalan sistem yang diukur dari ketidakmudahan hardware atau

software gagal dan dapat dipercaya untuk memelihara integritas dari data

dalam sistem (Bennett, Mcrobb, & Farmer, 2010, p356).

Secure

Keamanan sistem yang harus dirancang untuk menghindari adanya serangan jahat dari orang luar dan terhadap orang dalam yang tidak berhak (Bennett, Mcrobb, & Farmer, 2010, p356).

Flexible

Kemampuan sistem untuk dapat beradaptasi terhadap perubahan kebutuhan bisnis yang berbeda-beda dari waktu ke waktu (Bennett, Mcrobb, & Farmer, 2010, p356-357).

General

Kemampuan penerapan pada program utilitas dibanding sistem informasi besar, mencakup juga penerapan pada hardware yang berbeda. Sistem yang sama harus dapat digunakan pada client di industri lain (Bennett, Mcrobb, & Farmer, 2010, p357).

Buildable

Kemampuan pembangunan sistem dengan penulisan kode program berdasarkan sudut pandang programmer (Bennett, Mcrobb, & Farmer, 2010, p357).

Manageable Kemampuan pengelolaan terhadap konsekuensi perubahan bagian dari sistem dalam pengembangan (Bennett, Mcrobb, & Farmer, 2010, p357).

Maintainable Kemampuan perancangan yang baik untuk mendukung pemeliharaan sistem yang semakin mudah (Bennett, Mcrobb, & Farmer, 2010, p357).

Usable Kemampuan sistem untuk dapat memuaskan kebutuhan user dan

produktif (Bennett, Mcrobb, & Farmer, 2010, p358).

Reusable

Kemampuan sistem untuk dapat dipakai kembali, baik dalam berupa kelas atau komponen yang sudah ada untuk diturunkan ke sistem lain (Bennett, Mcrobb, & Farmer, 2010, p358).

• Kondisi: teknikal, organisasi, dan kesempatan dan batasan manusia yang terlibat dalam melakukan sebuah tugas (Mathiassen, et al., 2000, p178).

• Arsitektur komponen: sebuah struktur sistem yang menyusun komponen-komponen yang saling berhubungan. Tujuan utama dari arsitektur komponen-komponen adalah bahwa sistem menjadi mendalam dan fleksibel (Mathiassen, et al., 2000, p190-191).

• Komponen: sebuah bagian terbatas dari sebuah sistem dan biasanya mengandung lebih dari satu kelas, yang berfokus pada tanggung jawab komponen dalam hubungannya dengan komponen lainnya (Mathiassen, et al., 2000, p191).

Menurut Mathiassen, et al. (2000, p201), tiga perhatian utama dalam komponen adalah: model, fungsi, dan interface.

9 Model: tanggung jawab utama dari komponen adalah untuk memegang objek yang mewakili problem domain (Mathiassen, et al., 2000, p201). 9 Fungsi: tanggung jawab utama dari sebuah function component adalah

untuk menyediakan fungsionalitas model. Apabila sistem memiliki kebutuhan fungsional yang rumit, maka perlu dilakukan pemisahan pada

function component (Mathiassen, et al., 2000, p203).

9 Interface: tanggung jawab utama dari sebuah interface component adalah untuk menangani interaksi antara aktor dan fungsionalnya (Mathiassen, et al., 2000, p204).

• Arsitektur proses: sebuah struktur pengeksekusian sistem yang terdiri dari proses-proses yang saling bergantungan. Tujuan dari perancangan arsitektur

proses adalah untuk menyusun kegiatan eksekusi pada sebuah tingkat fisikal (Mathiassen, et al., 2000, p210-211).

Menurut Mathiassen, et al. (2000, p175-176), langkah-langkah dalam perancangan arsitektur:

• Kriteria: membantu dalam mengelompokkan prioritas perancangan. Tidak ada resep umum atau sederhana untuk perancangan yang baik; untuk mencapainya, kondisi dari masing-masing proyek pengembangan tertentu harus dipertimbangkan (Mathiassen, et al., 2000, p177).

• Pola arsitektur client-server: arsitektur ini dikembangkan untuk menangani distribusi dari sebuah sistem antara beberapa processor yang tersebar secara geografis. Komponen-komponen dalam sebuah arsitektur client-server adalah sebuah server dan beberapa client (lihat Gambar 2.15) (Mathiassen, et al., 2000, p197).

Sumber: Mathiassen, et al., 2000, p197

Gambar 2.15 Pola Arsitektur Client-Server

Tanggung jawab server adalah untuk menyediakan hal yang umum bagi

jawab client adalah untuk menyediakan sebuah interface lokal untuk user. Arsitektur berlapis menawarkan sebuah disiplin hierarki, dimana arsitektur

client-server merupakan sebuah ekspresi dari pemikiran jaringan (Mathiassen, et al., 2000, pp197-198).

Untuk memperoleh bentuk tersebut, pola client-server digunakan sebagai sebuah dasar, kemudian diuraikan dalam arsitektur dasar, menggunakan komponen model (M), fungsi (F), dan user interface (U) (Mathiassen, et al., 2000, p200). Macam pola distribusi arsitektur diperlihatkan dalam Tabel 2.2.

Tabel 2.2 Bentuk Berbeda dari Distribusi Arsitektur Client-Server

Client Server Arsitektur

U U + F + M Distributed presentation

U F + M Local presentation

U + F F + M Distributed functionality

U + F M Centralized data

U + F + M M Distributed data

Sumber: Mathiassen, et al., 2000, p200

Proses: arsitektur proses membawa kepada tingkatan fisikal dari sistem yang berfokus pada distribusi dan eksekusi, dan bekerja dengan proses dan objek sebagai lawan dari komponen dan kelas. Arsitektur proses juga berhubungan dengan peralatan eksternal yang akan dieksekusi oleh sistem dan dipertimbangkan apabila koordinasi penyebaran sumber daya diperlukan (Mathiassen, et al., 2000, p209).

Component diagram dapat digunakan untuk memodelkan baik pandangan abstrak, logis dari komponen-komponen dalam sistem atau subsistem atau

komponen fisik yang dipakai (Bennett, Mcrobb, & Farmer, 2010, p564).

Deployment diagram merupakan diagram implementasi utama dalam UML

yang digunakan untuk menunjukkan konfigurasi dari elemen proses waktu berjalan dan artifak software dan proses yang berada di dalamnya (Bennett, Mcrobb, & Farmer, 2010, p566). Notasi penggambaran deployment diagram dapat dilihat pada Gambar 2.16.

Sumber: Mathiassen, et al., 2000, p339

Gambar 2.16 Notasi untuk Deployment Diagram

Perancangan arsitektur proses dapat dikatakan sebagai titik keberangkatan dari komponen logis yang muncul dari aktivitas komponen. Tujuannya adalah untuk mencapai sebuah distribusi logis mengenai komponen-komponen dalam processor yang tersedia untuk eksekusi (Mathiassen, et al., 2000, p213).

Menurut Mathiassen, et al. (2000, p215-219), ada tiga macam pola

distribusi:

9 Pola terpusat: solusi paling mudah bagi masalah distribusi adalah mendistribusikan sesedikit mungkin, yang dapat dicapai dengan menyimpan semua data dalam server pusat dan client hanya menangani

user interface (Gambar 2.17) (Mathiassen, et al., 2000, p215-216).

Sumber: Mathiassen, et al., 2000, p216

Gambar 2.17 Pola Terpusat Deployment Diagram

Keuntungan dari pola ini, antara lain: dapat diimplementasi dengan client yang tidak mahal, semua data konsisten dikarenakan hanya berada pada satu tempat, strukturnya sederhana untuk dapat dipahami dan diimplementasi, dan kepadatan jaringannya menengah (Mathiassen, et al., 2000, p216).

Kerugian dari pola ini, antara lain: kekuatan tingkat rendah, client tidak dapat melakukan apapun apabila server atau jaringan down, waktu pengaksesan tinggi dikarenakan aktivasi beberapa fungsi client termasuk perubahan dengan server, dan perancangan tidak memfasilitasi cadangan (backup) data (Mathiassen, et al., 2000, p217).

9 Pola terdistribusi: pada pola ini, segala sesuatunya didistribusikan kepada

client dan server hanya perlu mengumumkan pembaharuan model antara client. Sebuah salinan dari model lengkap terletak pada masing-masing client (Gambar 2.18) (Mathiassen, et al., 2000, p217).

Sumber: Mathiassen, et al., 2000, p217

Gambar 2.18 Pola Terdistribusi Deployment Diagram

Keuntungan dari pola ini, antara lain: waktu pengaksesan rendah, dikarenakan fungsi dan model berada pada client lokal dan tidak terjadi kepadatan jaringan, kekuatan dimaksimasi karena seorang client dapat melanjutkan pekerjaan bahkan ketika jaringan, server, dan seluruh client lain down, dan banyaknya cadangan (backup) data karena setiap client

memiliki sebuah salinan dari model lengkap (Mathiassen, et al., 2000, p218).

Kerugian dari pola ini, antara lain: jumlah dari data berlimpah dan potensi ketidak-konsistenan antara data yang berada pada client yang berbeda, kepadatan jaringan tinggi sebagai akibat dari pembaharuan pada client diumumkan kepada seluruh client, kebutuhan teknis meningkat karena

client harus menjalankan model, fungsi, dan interface, dan arsitektur akan

lebih rumit untuk dipahami dan diimplementasi (Mathiassen, et al., 2000, p218).

9 Pola terdesentralisasi: pola ini terletak di antara dua pola sebelumnya.

Client memiliki data masing-masing, sehingga hanya data umum yang

terletak dalam server (Gambar 2.19) (Mathiassen, et al., 2000, p218).

: Client Function Model (local) System Interface User Interface

...

: Server Function Model (common) System Interface User Interface More Clients

Sumber: Mathiassen, et al., 2000, p219

Keuntungan dari pola ini, antara lain: konsistensi data karena tidak ada penggandaan data antar client atau antara client dan server, beban jaringan rendah karena jaringan hanya digunakan ketika data umum diperbaharui di

server, dan waktu pengaksesan untuk data lokal rendah, meskipun akses

untuk data umum memerlukan waktu yang lebih panjang (Mathiassen, et al., 2000, p218).

Kerugian dari pola ini, antara lain: seluruh processor harus memiliki kemampuan untuk mengeksekusi fungsi kompleks dan mempertahankan sebuah model besar, biaya hardware meningkat, dan sistem tidak memiliki fasilitas cadangan (backup) built-in, yang memungkinkan perlunya penanganan lokal (Mathiassen, et al., 2000, p218).

Dalam dokumen BAB 2 LANDASAN TEORI (Halaman 32-42)

Dokumen terkait