Tugas 9 APSI (D)
Definisi Design Architecture
Arsitektur perangkat lunak adalah struktur atau kerangka kerja yang digunakan untuk merancang dan mengorganisir sistem perangkat lunak. Ini melibatkan pengambilan keputusan tingkat tinggi tentang elemen-elemen sistem, hubungan antara elemen-elemen tersebut, serta pola komunikasi dan aliran data di antara mereka. Desain arsitektur yang baik dapat menghasilkan sistem yang kokoh, skalabel, mudah dipelihara, dan mampu memenuhi persyaratan bisnis yang diperlukan.
Berikut adalah beberapa aspek penting dalam desain arsitektur perangkat lunak:
- Tipe Arsitektur: Ada berbagai tipe arsitektur perangkat lunak yang dapat digunakan, seperti arsitektur client-server, arsitektur berorientasi layanan (SOA), arsitektur berorientasi pesan (message-oriented architecture), arsitektur berorientasi mikro (microservices architecture), dan banyak lagi. Pemilihan tipe arsitektur harus didasarkan pada kebutuhan dan karakteristik sistem yang akan dirancang.
- Komponen Utama: Identifikasi komponen utama dalam sistem perangkat lunak. Komponen-komponen ini bisa berupa modul, kelas, atau layanan yang bertanggung jawab atas tugas-tugas tertentu. Komponen-komponen tersebut harus memiliki tanggung jawab yang jelas dan terisolasi dengan baik.
- Interaksi Antar Komponen: Tentukan cara komponen-komponen saling berinteraksi dalam sistem. Ini melibatkan definisi antarmuka komponen, protokol komunikasi, dan pola komunikasi seperti pengiriman pesan atau pemanggilan metode. Interaksi yang efisien dan efektif antara komponen akan memastikan aliran data dan informasi yang lancar di dalam sistem.
- Skema Data: Desain skema data yang akan digunakan dalam sistem. Ini melibatkan pemodelan basis data, pemilihan sistem manajemen basis data (DBMS), dan pemilihan struktur data yang sesuai untuk menyimpan dan mengakses data secara efisien.
- Keamanan: Pertimbangkan aspek keamanan dalam desain arsitektur. Ini termasuk langkah-langkah untuk melindungi data, otentikasi pengguna, pengaturan izin akses, enkripsi data, serta perlindungan terhadap serangan dan ancaman keamanan lainnya.
- Skalabilitas: Pertimbangkan kemampuan sistem untuk berkembang dan menangani beban kerja yang meningkat seiring waktu. Desain arsitektur yang baik harus memungkinkan penambahan komponen atau server tambahan secara horizontal (horizontal scaling) atau vertikal (vertical scaling) untuk memastikan kinerja sistem yang optimal.
- Ketersediaan dan Kinerja: Desain arsitektur harus mempertimbangkan faktor ketersediaan dan kinerja. Ini termasuk redundansi komponen, strategi toleransi kesalahan, caching data, pengoptimalan kueri, dan manajemen sumber daya untuk memastikan bahwa sistem tetap berjalan dengan baik dan responsif terhadap permintaan pengguna.
- Pemeliharaan dan Evolusi: Pertimbangkan kemudahan pemeliharaan dan perubahan sistem dalam desain arsitektur. Komponen yang terpisah dan independen akan memudahkan perbaikan bug, peningkatan fungsionalitas, dan penyesuaian dengan perubahan kebutuhan bisnis.
- Dokumentasi: Penting untuk mendokumentasikan desain arsitektur dengan jelas. Ini termasuk diagram arsitektur, deskripsi komponen, antarmuka, dan keputusan desain yang diambil. Dokumentasi yang baik akan membantu pemeliharaan, pemahaman sistem, serta kolaborasi dan komunikasi antara tim pengembang.
Desain arsitektur perangkat lunak adalah proses yang kompleks dan bergantung pada kebutuhan spesifik dari sistem yang akan dirancang. Tujuan utamanya adalah menciptakan struktur sistem yang kokoh, terorganisir, mudah dipelihara, dan dapat memenuhi kebutuhan bisnis.
Study Case
Portal MyITS menggunakan arsitektur client-server yang memisahkan peran pengguna (klien) dan server. Desain ini memungkinkan pengguna untuk berinteraksi dengan server untuk mengakses berbagai aplikasi dan sistem informasi yang disediakan melalui portal MyITS. Pengguna dapat mengirim permintaan ke server, yang kemudian memproses permintaan tersebut dan mengirimkan respons yang sesuai kembali ke pengguna.
Salah satu keunggulan utama desain klien-server adalah pengalaman pengguna yang responsif dan efisien. Dengan desain ini, sebagian besar pemrosesan dan komputasi dilakukan oleh server, yang dapat menggunakan perangkat keras dan sumber daya yang lebih kuat. Pengguna dapat dengan cepat mengakses aplikasi dan sistem informasi tanpa terbebani oleh keterbatasan perangkatnya sendiri.
Selain itu, desain client-server juga memungkinkan efisiensi manajemen pusat data. Semua informasi dan aplikasi yang terkait dengan portal MyITS dapat disimpan dan dikelola dengan baik di pusat data pusat. Server bertindak sebagai pusat kontrol yang mengelola akses pengguna, otentikasi, dan otorisasi. Dengan cara ini, pengelolaan data dan pemeliharaan sistem dapat dilakukan dengan lebih efisien. Skalabilitas merupakan faktor penting dalam perancangan arsitektur ini. Karena portal MyITS melayani ribuan pengguna, skalabilitas menjadi perhatian utama. Desain client-server memungkinkan server untuk ditingkatkan secara independen, baik dalam perangkat keras maupun perangkat lunak, untuk menangani lonjakan lalu lintas atau meningkatkan jumlah pengguna. Oleh karena itu, peningkatan kapasitas atau pemeliharaan server tidak akan memengaruhi pengguna.
Keselamatan juga merupakan aspek yang sangat penting dari konstruksi ini. Server bertanggung jawab untuk melindungi data pengguna yang sensitif dan menerapkan praktik keamanan yang ketat. Ini membutuhkan validasi akses pengguna, melindungi data yang dikirimkan, dan melindungi sistem dari potensi ancaman keamanan. Portal MyITS harus memastikan bahwa data pribadi dan akademik siswa aman dan dilindungi dengan metode enkripsi dan protokol keamanan yang sesuai.
Selain desain client-server, MyITS Portal juga memanfaatkan teknologi cloud computing untuk meningkatkan performa dan efisiensi. Dengan menggunakan layanan komputasi awan, MyITS Portal dapat mengoptimalkan sumber daya komputasi, penyimpanan, dan jaringan yang tersedia. Ini memungkinkan Portal MyITS untuk menyesuaikan kapasitas dan memastikan ketersediaan portal secara berkelanjutan. Melalui model penggunaan berbasis cloud, pengguna dapat dengan mudah dan murah mengakses layanan dan sistem informasi ITS.
Secara keseluruhan, arsitektur client-server yang digunakan Portal MyITS menyediakan akses terintegrasi, responsif, dan aman ke berbagai layanan dan sistem informasi ITS. Desain ini meningkatkan kolaborasi dan pembelajaran dengan memisahkan peran antara pengguna dan server, mengoptimalkan penggunaan sumber daya, dan memastikan keamanan data.
- Desain Antarmuka
Portal Integra ITS menggunakan desain responsif yang menggabungkan teknologi HTML, CSS, Js, dan PHP. Hal ini memungkinkan tampilan situs web dapat menyesuaikan diri dengan perangkat yang digunakan oleh pengguna. Selain itu, elemen-elemen visual seperti gambar, ikon, dan font yang menarik digunakan untuk meningkatkan pengalaman pengguna.
- Rincian Arsitektur Web
Arsitektur situs web ini terdiri dari server web, server database, dan browser sebagai klien. Server web, yang menjalankan Apache/2.4.41 (Ubuntu), berfungsi untuk menyajikan halaman web kepada pengguna. Sementara itu, server database menggunakan MySQL untuk menyimpan dan mengelola data yang diperlukan oleh situs web.
- Desain Arsitektur Client-Server pada Portal Integra ITS
Portal Integra ITS menerapkan desain arsitektur client-server, di mana server web berperan sebagai pusat layanan yang memberikan akses kepada browser klien melalui jaringan. Data yang terkait dengan situs web kemungkinan disimpan dan dikelola menggunakan sistem basis data seperti MySQL atau PostgreSQL.
- Teknologi Web dan Pengembangan Front-End
Meskipun tidak ada informasi yang spesifik mengenai teknologi yang digunakan, umumnya teknologi web seperti HTML, CSS, dan JavaScript digunakan untuk mengembangkan tampilan depan (front-end) situs web. Sementara itu, untuk pengembangan bagian belakang (back-end), kemungkinan bahasa pemrograman seperti PHP atau Java digunakan.
- Potensi Penggunaan Cloud Computing untuk Hosting Portal Integra ITS
Walaupun tidak ada informasi yang eksplisit tentang penggunaan cloud computing, namun mengingat keuntungan skalabilitas dan fleksibilitas yang ditawarkan, hosting di infrastruktur cloud dapat menjadi pilihan untuk server web dan database yang digunakan oleh Portal Integra ITS.
Secara keseluruhan, arsitektur client-server yang digunakan Portal MyITS menyediakan akses terintegrasi, responsif, dan aman ke berbagai layanan dan sistem informasi ITS. Desain ini memisahkan peran antara pengguna dan server, mengoptimalkan penggunaan sumber daya, dan menjaga keamanan data. Pengguna juga dapat menggunakan layanan dengan mudah dan murah melalui model penggunaan berbasis cloud.
Comments
Post a Comment