Hi, Assalamualaikum Warahmatulahi Wabarakatuh.
Bismillahirahmanirahim.
Kali ini aku bakal share penjelasan materi mata kuliah RPL Pertemuan 10 yaitu mengenai Desain Arsitektur.
Semoga Bermanfaat! ✨
1.
Konsep
Desain Arsitektur
Perancangan arsitektur ialah tahap
pertama dalam proses perancangan PL, yang dimulai dengan perancangan data kemudian
berlanjut pada penurunansatu atau lebih struktur arsitektural sistem.
Arsitektur sistem/PL adalah
struktur sistem/PL yang menggabungkan komponen PL, menggabungkanproperti yang
tampak dari komponen tersebut, dan mendeskripsikan hubungan antar komponen.
Output dari perancangan arsitektur
berupa model arsitektur yang menggambarkan bagaimana sistem diatur sebagai satu
set komponen yang saling berkomunikasi.
2.
Arsitektur
Perangkat Lunak
Arsitektur PL mencakup:
a.
Komponen
bangunan yang berbeda dapat diintegrasikan menjadi suatu bentuk keseluruhan
yang bersifat kohesif.
b.
Bangunan
yang dibuat sesuai dengan lingkungannya.
c.
Bangunan
yang dibangun sesuai dengan kegunaannya.
d.
Tekstur,
warna dan material pembentuknya dikombinasikan untuk membuat tampilan yang
bagus.
e.
Perancangan
pencahayaan, template, dan garis batas merupakan suatu bentuk seni,
Arsitektur PL merupakan
representasi yang memungkinkan untuk:
a.
Melakukan
analisis terhadap efektivitas perancangan dan disesuaikan dengan kebutuhan yang
dinyatakan sebelumnya.
b.
Melakukan
pertimbangan alternatif arsitektural pada tahap dimana perubahan rancangan
dapat dilakukan dengan cara yang relatif mudah.
c.
Mengurangi
risiko yang berhubungan dengan konstruksi PL.
Alasan arsitektur PL:
a.
Representasi
arsitektur PL adalah sesuatu yang memungkinkan terjadinya komunikasi di antara
semua pihak yang tertarik pada pengembangan sistem berbasis komputer.
b.
Arsitektur
yang dibuat di awal perancangan akan memiliki efek yang menentukan pada semua
pekerjaan RPL selanjutnya.
c.
Arsitektur
menggambarkan model yang relatif kecil dan mudah dipahami, dan menggambarkan
bagaimana sistem distrukturkan dan bagaimana komponen di dalamnya saling
bekerja sama.
Sasaran dari deskripsi
arsitektural:
a.
Untuk
menetapkan kerangka kerja konseptual dan kosa kata yang digunakan selama
perancangan arsitektur PL.
b.
Untuk
menyediakan panduan yang rinci pada waktu merepresentasikan deskripsi
arsitektural
c.
Untuk
memandu praktek perancangan yang baik
Pola deskripsi keputusan
arsitektur:
a.
Permasalahan
Perancangan Deskripsikan permasalahan perancangan arsitektural yang akan
diselesaikan.
b.
Penyelesaian
Menentukan pendekatan yang dipilih untuk menyelesaikan permasalahan yang
bekaitan dengan perancangan.
c.
Kategori
Spesifikasi kategori perancangan yang akan diselesaikan permasalahannya,
seperti perancangan data, struktur isi dan komponen, integrasi, presentasi.
d.
Asumsi-asumsi
Indikasikan asumsi saat menentukan keputusan. Misalnya standar teknologi, pola
yang tersedia, permasalahan yang berkaitan dengan sistem/PL
e.
Alternatif-alternatif
Secara singkat deskripsikan alternatif yang akan dipertimbangkan dan mengapa
ditolak
f.
Argumen
Jelaskan mengapa memilih penyelesaian di atas dan alternatif-alternatif lainnya.
g.
Keputusan
yang berhubungan Keputusan terdokumentasi yang berhubungan dengan keputusan
yang diambil
h.
Implikasi
Indikasikan konsekuensi perancangan akibat penentuan keputusan. Apakah
penyelesaian akan berakibat pada perancangan lainnya?
i.
Perhatian
yang berhubungan Adakah kebutuhan lain yang berhubungan dengan keputusan yang
diambil?
j.
Produk
kerja Indikasikan dimana keputusan yang diambil akan tercermin dalam deskripsi
arsitektur
k.
Catatan
Rujukan catatan tim lainnya yang sebelumnya telah digunakan untuk membuat
keputusan.
Beberapa pertimbangan dalam
keputusan Arsitektur:
a.
Adakah
arsitektur aplikasi generik yang dapat bertindak sebagai template untuk sistem
yang sedang dirancang?
b.
Bagaimana
sistem akan didistribusikan ke sejumlah perangkat keras?
c.
Pola
atau gaya arsitektur apa yang digunakan?
d.
Pendekatan
fundamental apa yang digunakan untuk menyusun sistem?
e.
Bagaimana
komponen struktural dalam sistem akan terdekomposisi menjadi sub-komponen?
f.
Strategi
yang akan digunakan untuk mengontrol pengoperasian komponen dalam sistem
g.
Organisasi
arsitektur apa yang terbaik untuk memberikan persyaratan sistem non-fungsional?
h.
Bagaimana
desain arsitektur akan dievaluasi?
i.
Bagaimana
arsitektur sistem didokumentasikan?
3.
Tampilan
Arsitektural
a.
Tampilan
Logis Abstraksi dalam sistem sebagai objek atau kelas objek.
b.
Tampilan
Proses Menunjukkan bagaimana (pada saat run-time) sistem terdiri dari proses
yang saling berinteraksi.
c.
Tampilan
Pengembangan PL diuraikan untuk pengembangan, yaitu menunjukkan detail dalam
komponen yang akan diimplementasikan oleh pengembang tunggal atau tim
pengembang.
d.
Tampilan
Fisik Menunjukkan perangkat keras sistem dan bagaimana komponen PL
didistribusikan di seluruh sistem.
4.
Gaya
Arsitektur
Gaya arsitektur mendeskripsikan
kategori sistem yang mencakup:
a.
Kumpulan
komponen, seperti sistem basis data dan modul-modul yang melaksanakan fungsi
tertentu yang diperlukan oleh sistem.
b.
Penghubung
(konektor) yang memungkinkan komunikasi, koordinasi, dan kerja antar komponen.
c.
Batasan
yang mendefinisikan bagaiman komponen dapat iintegrasikan untuk membentuk suatu
sistem/PL.
d.
Model
semantik yang memungkinkan perancang sistem memahami properti keseluruhan
sistem.
Gaya dan Struktur Arsitektur
(Persyaratan Non-Fungsional):
a.
Kinerja
(Performance) Arsitektur harus dirancang agar semua komponen dapat digunakan
pada berbagai komputer/prosesor, dan mendistribusikan di seluruh jaringan.
b.
Keamanan
(Security) Menggunakan struktur berlapis untuk melindungi aset yang paling
penting di lapisan terdalam, dengan tingkat validasi keamanan yang tinggi.
c.
Keamanan
(Safety) Operasi yang terkait dengan keselamatan terletak di salah satu
komponen tunggal atau komponen kecil. Gaya dan struktur arsitektur (persyaratan
nonfungsional)
d.
Ketersediaan
(Availability) Arsitektur harus dirancang untuk menyertakan komponen redundan
sehingga dimungkinkan saat mengganti dan memperbarui komponen tanpa
menghentikan sistem.
e.
Pemeliharaan
(Maintainability) Arsitektur sistem harus dirancang menggunakan komponen
mandiri yang dapat diubah dengan mudah. Struktur data bersama harus dihindari.
Struktur Dasar Arsitektur:
Arsitektur PL merepresentasikan
suatu struktur dimana beberapa kumpulan entitas (komponen) dihubungkan dengan
sejumlah relasi (konektor).
Komponen dan konektor dihubungkan
dengan properti yang dapat membedakan jenis komponen dan konektor yang
digunakan.
a. Struktur Fungsional :
* Komponen merepresentasikan fungsi atau entitas.
* Konektor merepresentasikan antarmuka untuk melewatkan data ke suatu komponen.
* Properti mendefinisikan sifat dari komponen dan mengorganisasikan antarmuka.
b. Struktur Implementasi :
* Komponen berbentuk paket, kelas, objek, prosedur, fungsi, metode, dll, yang merupakan sarana untuk mengemas fungsionalitas komponen pada berbagai peringkat abstraksi.
* Konektor meliputi kemampuan untuk melewatkan data dan kendali, berbagi data, menggunakan, dan menginstansiasi.
* Properti pada komponen fokus pada karakteristik kualitas, seperti kemampuan untuk maintenance dan reuse yang dihasilkan saat struktur diimplementasikan.
c.
Struktur
Konkurensi :
*
Komponen
merepresentasikan unit-unit konkurensi yang terorganisasi sebagai pekerjaan
paralel (thread).
*
Konektor
mencakup sinkronisasi, prioritas, mengirim data, dan menjalankan proses/fungsi.
*
Properti
mencakup prioritas, kemampuan untuk meramalkan, dan waktu eksekusi.
d.
Struktur
Fisik :
*
Komponen
merupakan perangkat keras fisik.
*
Konektor
merupakan antarmuka antar komponen perangkat keras.
*
Properti
berkaitan dengan kapasitas, bandwidth, kinerja, dan atribut lainnya.
e. Struktur Pengembangan :
* Mendefinisikan komponen, produk kerja, dan sumber informasi lainnya.
* Konektor merepresentasikan relasi antar produk kerja.
* Properti mengidentifikasi karakteristik tiap-tiap item.
5. Pola
Arsitektur (Architectural Patterns)
a.
Lapisan
Arsitektur (Layered Architecture) : Pemahaman tentang pemisahan dan independensi
sangat penting untuk desain arsitektur karena memungkinkan perubahan secara
lokal. Menambahkan tampilan baru atau mengubah tampilan yang ada dapat
dilakukan tanpa perubahan apa pun pada data dalam model.
Lapisan atas : menyediakan fasilitas
antarmuka pengguna.
Lapisan aplikasi : komponen
fungsionalitas aplikasi dan komponen utilitas.
Lapisan ketiga: manajemen antarmuka
pengguna dan menyediakan otentikasi dan otorisasi pengguna.
Lapisan terendah: PL pendukung
sistem (basis data dan OS).
b.
Arsitektur
Repositori (Repository Architecture) : Bagaimana satu set komponen yang saling
berinteraksi dapat berbagi data. Model ini cocok untuk aplikasi di mana data
dihasilkan oleh satu komponen dan digunakan oleh yang lain. Tidak perlu
mentransmisikan data secara eksplisit dari satu komponen ke komponen lainnya.
Tetapi komponen harus beroperasi di sekitar model data repositori yang
disepakati. Pola repositori berkaitan dengan struktur statis dari suatu sistem
dan tidak menunjukkan organisasi run-time.
c. Client–Server Architecture : Sebuah sistem yang mengikuti pola client-server diatur sebagai satu set layanan server, dan client yang mengakses dan menggunakan layanan. Komponen utama dari model ini adalah:
* Server memberikan layanan ke komponen lain. Contoh: server menawarkan layanan pencetakan, server file yang menawarkan layanan manajemen file, dan server kompilasi yang menawarkan layanan kompilasi bahasa pemrograman.
* Client yang menggunakan layanan yang ditawarkan oleh server.
* Jaringan yang memungkinkan client untuk mengakses layanan.
Arsitektur client-server dianggap sebagai arsitektur sistem terdistribusi, tetapi model logis dari layanan independen yang berjalan pada server terpisah dapat diimplementasikan pada satu komputer.
Penggunaan yang efektif dapat dilakukan dari sistem jaringan dengan banyak prosesor terdistribusi. Sangat mudah untuk menambahkan server baru dan mengintegrasikannya dengan seluruh sistem atau mengupgrade server secara transparan tanpa mempengaruhi bagian lain dari sistem.
d.
Pipe
and Filter Architecture : Model dari sistem run-time di mana transformasi
secara fungsional memproses input dan menghasilkan output. Aliran data bergerak
secara berurutan (seperti dalam pipa). Setiap langkah pemrosesan diimplementasikan
sebagai transformasi. Transformasi dapat dilakukan secara berurutan/paralel. Data
diproses oleh transformasi per-item-nya atau dalam satu batch. Pipe digunakan
untuk melewati aliran teks dari satu proses ke proses lainnya. Filter digunakan
pada transformasi untuk menyaring data.
6.
Arsitektur
Aplikasi
Sistem aplikasi dimaksudkan untuk
memenuhi kebutuhan bisnis yang memiliki banyak kesamaan dan menggunakan
aplikasi tertentu.
Arsitektur aplikasi dapat
diimplementasikan kembali ketika mengembangkan sistem baru, tetapi untuk banyak
sistem bisnis, penggunaan kembali aplikasi dimungkinkan tanpa implementasi
ulang.
a.
Sistem
Pemrosesan Transaksi (Transaction Processing Systems)
Aplikasi pemrosesan transaksi
adalah aplikasi yang berpusat pada database yang memproses permintaan pengguna
untuk informasi dan memperbarui informasi dalam basis data. Merupakan jenis
sistem bisnis interaktif yang paling umum, di mana pengguna membuat permintaan
asynchronous untuk layanan transaksi basis data adalah urutan operasi yang
diperlakukan sebagai unit tunggal, dan semua operasi dalam transaksi harus
diselesaikan sebelum perubahan basis data dibuat permanen. Dari perspektif
pengguna, transaksi adalah setiap urutan operasi yang koheren yang memenuhi
tujuan, seperti menemukan jadwal perkuliahan.
Sistem pemrosesan transaksi dapat
diatur sebagai arsitektur 'pipe and filter' dengan komponen sistem sebagai
input, pemrosesan, dan output. Misal: pelanggan menarik uang tunai dari ATM.
Sistem ini terdiri dari dua komponen PL ATM dan PL pemrosesan akun di server
basis data bank. Komponen I/O diimplementasikan sebagai PL di ATM dan komponen
pemrosesan adalah bagian dari server database bank.
b.
Sistem
Informasi
Semua sistem yang melibatkan
interaksi dengan basis data dapat dianggap sebagai sistem informasi berbasis
transaksi. Sistem informasi memungkinkan akses yang terkontrol ke basis
informasi yang besar. Seperti katalog perpustakaan, jadwal penerbangan, atau
catatan pasien di rumah sakit. Sebagai contoh dari instantiation model berlapis.
Contoh Sistem Informasi:
Sistem dimodelkan menggunakan
pendekatan berlapis di mana lapisan atas mendukung antarmuka pengguna dan
lapisan bawah adalah database sistem. Lapisan komunikasi pengguna menangani
semua I/O dari antarmuka pengguna, dan lapisan pencarian informasi untuk
mengakses dan memperbarui database.
c.
Sistem
Pemrosesan Bahasa (Language Processing Systems) merupakan sistem di mana maksud
pengguna dinyatakan dalam bahasa formal (seperti Java). Memproses ke dalam
bahasa formal, kemudian menafsirkan representasi secara internal. Sistem
pemrosesan bahasa dengan compiler, yang menerjemahkan bahasa program tingkat
tinggi ke dalam kode mesin. Sistem pemrosesan bahasa juga menerjemahkan bahasa
alami atau buatan ke dalam representasi bahasa lain, dan bahasa pemrograman
dapat mengeksekusi kode yang dihasilkan.
Comments
Post a Comment