ARCHITECTURE DESIGN
Disusun Oleh :
2022
ARCHITECTURE DESIGN
Dewasa ini, kebanyakan sistem informasi tersebar di dua komputer atau lebih. Sistem
berbasis Web, misalnya, dapat berjalan di peramban di komputer desktop anda, tetapi akan
berinteraksi dengan server Web (dan mungkin komputer lainnya) di Intermet. Sebuah sistem
yang beroperasi sepenuhnya di dalam jaringan sebuah perusahaan mungkin memiliki
program dasar Visual yang terinstal di komputer anda, tetapi berinteraksi dengan server
database di tempat lain di jaringan perusahaan. Langkah penting dalam tahap desain adalah
pembentukan desain arsitektur, rencana tentang bagaimana komponen sistem informasi
akan didistribusikan di beberapa komputer dan perangkat keras, perangkat lunak sistem
operasi, dan perangkat lunak aplikasi apa yang akan digunakan pada setiap komputer
(misalnya.. Windows atau Linux perangkat lunak sistem operasi).
Mendesain sistem arsitektur bisa cukup sulit. Oleh karena itu, banyak organisasi
menggunakan keterampilan arsitek sistem yang berpengalaman dan ahli (konsultan atau
karyawan) yang berspesialisasi dalam tugas itu. Dalam bab ini, kita akan memeriksa faktor-
faktor kunci dalam desain arsitektur. Adalah penting untuk mengingat bahwa diperlukan
banyak pengalaman untuk melakukannya dengan baik. Persyaratan non-fungsional yang
dikembangkan pada tahap analisis (lihat bab 3) memainkan peranan kunci dalam desain
arsitektur. Persyaratan ini diperiksa kembali dan dimurnikan menjadi persyaratan yang lebih
terperinci yang mempengaruhi arsitektur sistem. Dalam bab ini, kami pertama kali
menjelaskan bagaimana para desainer berpikir tentang arsitektur aplikasi dan
menggambarkan arsitektur yang paling umum digunakan saat ini, arsitektur server klien.
Kami membahas secara singkat beberapa arsitektur yang kurang umum: basis di server dan
basis data klien. Kami juga membahas perkembangan-perkembangan baru dalam arsitektur
sistem, seperti komputasi awan dan virtualisasi. Kemudian kita memeriksa bagaimana
persyaratan umum nonfungsional dari fase analvsis dimurnikan menjadi persyaratan yang
lebih spesifik, dan implikasi yang mereka miliki untuk desain arsitektur. Akhirnya, kita
mempertimbangkan bagaimana persyaratan dan desain arsitektur dapat digunakan untuk
mengembangkan perangkat keras dan perangkat lunak spesifik yang menentukan dengan
tepat apa perangkat keras dan perangkat lunak lainnya (misalnya sistem database)
diperlukan untuk mendukung sistem informasi yang sedang dikembangkan.
A. ELEMEN DARI DESAIN ARSITEKTUR
1. Komponen arsitektur
Komponen arsitektur utama sistem apapun adalah perangkat lunak dan perangkat
keras. Komponen perangkat lunak utama sistem yang sedang dikembangkan harus
diidentifikasi dan kemudian dialokasikan ke berbagai komponen perangkat keras yang
akan digunakan sistem ini. Setiap komponen ini dapat dikombinasikan dalam berbagai
cara. Semua sistem perangkat lunak dapat dibagi menjadi empat fungsi dasar. Yang
pertama adalah penyimpanan data. Sebagian besar sistem informasi memerlukan data
untuk disimpan dan diambil, apakah file kecil, seperti daftar bahan kimia rumput yang
tidak lagi diizinkan untuk aplikasi perumahan, atau database besar yang menyimpan data
organisasi catatan sumber daya manusia. Ini adalah entitas data yang didokumentasikan
dalam ERD. fungsi kedua adalah logika akses data, pemrosesan yang diperlukan untuk
mengakses data, sering berarti kueri basis data dalam Structured Query Language (SQL).
Ketiga fungsi adalah logika aplikasi, logika yang didokumentasikan dalam DFD, kasus
penggunaan, dan persyaratan fungsional. Fungsi keempat adalah logika presentasi
tampilan informasi kepada pengguna dan penerimaan perintah pengguna (antarmuka
pengguna). Keempat fungsi ini (penyimpanan data, logika akses data, logika aplikasi,
dan logika presentasi) adalah blok bangunan dasar dari sistem informasi apa pun. Tiga
komponen perangkat keras utama dari suatu sistem adalah komputer klien, server, dan
jaringan yang menghubungkannya.
Komputer klien adalah input-output perangkat yang digunakan oleh pengguna dan
biasanya komputer desktop atau laptop, tetapi dapat juga perangkat genggam,
smartphone, terminal tujuan khusus, dan sebagainya. Server biasanya adalah komputer
multi-pengguna yang lebih besar yang digunakan untuk menyimpan perangkat lunak dan
data yang dapat diakses oleh siapa saja yang memiliki izin. Jaringan yang
menghubungkan komputer dapat bervariasi dalam kecepatan dari ponsel lambat atau
koneksi modem yang harus dihubungi, ke jaringan relai frame selalu aktif berkecepatan
sedang, ke jaringan selalu aktif cepat koneksi broadband seperti modem kabel, DSL, atau
sirkuit T1, ke kecepatan tinggi sirkuit Ethernet, T3, atau ATM yang selalu aktif.
2. Arsitektur Klien–Server
Sebagian besar organisasi saat ini menggunakan atau pindah ke arsitektur client-
server, yang mencoba menyeimbangkan pemrosesan antara perangkat klien dan satu atau
lebih perangkat server. Dalam arsitektur ini, klien bertanggung jawab atas logika
presentasi, sedangkan server bertanggung jawab atas logika akses data dan data
penyimpanan. Logika aplikasi mungkin berada di klien, berada di server, atau dipisahkan
antara keduanya (Gambar 8-1). Jika klien yang ditunjukkan pada Gambar 8-1 berisi
semua atau sebagian besar logika aplikasi, itu disebut klien tebal atau gemuk. Saat ini,
klien tipis, yang hanya berisi sebagian kecil dari logika aplikasi, sangat populer karena
overhead yang lebih rendah dan perawatan yang lebih mudah. Misalnya, banyak sistem
berbasis Web dirancang dengan browser Web yang melakukan presentasi dan hanya
logika aplikasi minimal yang menggunakan bahasa pemrograman seperti JavaScript,
sedangkan sisi server memiliki sebagian besar logika aplikasi, semua data logika akses,
dan semua penyimpanan data.
Arsitektur client-server juga memiliki beberapa batasan kritis, yang paling yang
penting adalah kompleksitasnya. Semua aplikasi dalam komputasi client-server memiliki
dua bagian, perangkat lunak di sisi klien dan perangkat lunak disisi server. Menulis
perangkat lunak ini lebih rumit daripada menulis perangkat lunak all-in-one tradisional
yang digunakan dalam arsitektur berbasis server (dibahas nanti bagian). Memperbarui
sistem secara keseluruhan dengan versi baru dari perangkat lunak lebih rumit juga.
Dengan arsitektur client-server, Anda harus memperbarui semua klien dan semua server
dan Anda harus memastikan bahwa pembaruan diterapkan di semua perangkat.
3. Tingkat Klien–Server
Ada banyak cara di mana logika aplikasi dapat dipartisi antara klien dan server.
Susunan pada Gambar 8-1 adalah konfigurasi umum.
Dalam hal ini, server bertanggung jawab atas data dan klien bertanggung jawab untuk
aplikasi dan presentasi. Ini disebut arsitektur dua tingkat karena hanya menggunakan dua
set komputer-klien dan server. Arsitektur tiga tingkat menggunakan tiga set komputer,
seperti yang ditunjukkan pada Gambar 8-2.
Dalam hal ini, perangkat lunak pada komputer klien bertanggung jawab atas logika
presentasi, server aplikasi bertanggung jawab atas logika aplikasi, dan server database
terpisah bertanggung jawab atas logika akses data dan penyimpanan data. Biasanya,
antarmuka pengguna berjalan pada PC desktop atau workstation dan menggunakan
antarmuka pengguna grafis standar. Logika aplikasi dapat terdiri dari satu atau lebih modul
terpisah yang berjalan pada workstation atau server aplikasi. Akhirnya, DBMS relasional
yang berjalan pada server database berisi logika akses data dan data penyimpanan. Tingkat
menengah dapat dibagi menjadi tingkatan itu sendiri, menghasilkan keseluruhan arsitektur
yang disebut "arsitektur n-tier". Arsitektur n-tier mendistribusikan pekerjaan aplikasi
(bagian tengah) di antara beberapa lapisan komputer server yang lebih khusus. Jenis ini
arsitektur umum dalam sistem e-commerce berbasis Web saat ini. Lihat Gambar 8-3.
Perangkat lunak browser pada komputer klien membuat permintaan HTTP untuk melihat
halaman dari server Web, dan server Web memungkinkan pengguna untuk melihat barang
dagangan untuk dijual dengan menanggapi dengan dokumen HTML. Saat pengguna
berbelanja, komponen aktif server aplikasi dipanggil sesuai kebutuhan untuk
memungkinkan pengguna memasukkan item ke dalam kereta Belanja; menentukan harga
dan ketersediaan barang; menghitung biaya pembelian, pajak penjualan, dan biaya
pengiriman; mengotorisasi pembayaran, dll.
Arsitektur client-server telah menjadi arsitektur utama yang digunakan saat ini. Dua
arsitektur lain kurang umum ditemukan, tetapi masih digunakan dalam situasi tertentu.
Arsitektur komputasi pertama ini adalah berbasis server, dengan server (biasanya,
komputer mainframe pusat) melakukan semua empat fungsi aplikasi. Klien (biasanya,
terminal) memungkinkan pengguna untuk mengirim dan menerima pesan ke dan dari
komputer server. Klien hanya menangkap penekanan tombol dan mengirimnya ke
server untuk diproses, dan menerima instruksi dari server tentang apa yang akan
ditampilkan Arsitektur yang sangat sederhana ini seringkali bekerja dengan sangat baik.
Perangkat lunak aplikasi adalah dikembangkan dan disimpan di server, dan semua data
berada di komputer yang sama. ada satu titik kontrol karena semua pesan mengalir
melalui satu server pusat. Perangkat lunak pengembangan dan administrasi perangkat
lunak disederhanakan karena satu komputer menghosting seluruh sistem (sistem
operasi dan perangkat lunak aplikasi).
Virtualisasi server melibatkan partisi server fisik menjadi virtual yang lebih kecil
Server. Perangkat lunak digunakan untuk membagi server fisik menjadi beberapa
lingkungan virtual, yang disebut server virtual atau pribadi. Kemampuan ini mengatasi
keterbatasan utama arsitektur berbasis server gaya lama yang didasarkan pada arsitektur
tunggal, besar, dan besar. mahal, komputer monolitik. Saat ini, perangkat server fisik dapat
digunakan untuk menyediakan banyak server virtual yang independen satu sama lain,
tetapi hidup bersama di server fisik yang sama. Setiap server virtual menjalankan sistem
operasi dan dapat reboot secara independen dari server virtual lainnya. Lebih sedikit
perangkat keras yang diperlukan untuk menyediakan satu set server virtual dibandingkan
dengan server fisik yang setara, sehingga biaya berkurang. Pengaturan ini juga dapat
mengoptimalkan pemanfaatan fisik server, menghemat biaya operasional.
Sebuah survei Gartner baru-baru ini dari bisnis menengah menemukan bahwa lebih
dari 75% dari bisnis menengah menemukan bahwa lebih dari 75% dari bisnis menengah
bermaksud untuk memanfaatkan virtualisasi server secara luas oleh 2012. Organisasi-
organisasi ini menunjukkan bahwa mereka secara agresif mencari cara untuk menurunkan
biaya, meningkatkan pemanfaatan, dan meningkatkan ketersediaan, dan telah menemukan
virtualisasi server menjadi kontributor penting untuk tujuan tersebut.
Cloud Computing Tidak perlu lagi bagi organisasi untuk memiliki, mengelola, dan
mengelola infrastruktur komputasi mereka sendiri. Kita berada di tengah-tengah
munculnya komputasi awan, di mana segala sesuatu, dari daya komputasi hingga
infrastruktur komputasi, aplikasi, proses bisnis hingga kolaborasi pribadi dapat dikirimkan
sebagai layanan di mana pun dan kapan pun diperlukan. "Awan" di Komputasi awan dapat
didefinisikan sebagai set perangkat keras, jaringan, penyimpanan, layanan, dan antarmuka
yang menggabungkan untuk memberikan aspek komputasi sebagai layanan. Layanan
cloud mencakup pengiriman perangkat lunak, infrastruktur, dan penyimpanan melalui
Internet (baik sebagai komponen terpisah atau platform lengkap) berdasarkan permintaan
pengguna.
Cloud computing dapat diimplementasikan dalam tiga cara: private cloud, public
awan, dan awan hibrida. Dengan awan publik, layanan disediakan "sebagai layanan"
melalui Internet dengan sedikit atau tanpa kontrol atas infrastruktur teknologi yang
mendasarinya. Cloud pribadi menawarkan aktivitas dan fungsi "sebagai layanan’ tetapi
disebarkan melalui intranet perusahaan atau pusat data yang dihosting. Awan hibrida
menggabungkan kekuatan awan publik dan pribadi. Dalam skenario ini, kegiatan dan tugas
dialokasikan untuk awan pribadi atau publik sesuai kebutuhan.
Pada saat ini, komputasi awan sedang dalam tahap awal pengembangan. Pendukung
komputasi awan menunjukkan sejumlah keuntungan dari komputasi awan. pola. Pertama,
saat memanfaatkan cloud, sumber daya yang dialokasikan dapat ditingkatkan atau
menurun berdasarkan permintaan. Kemampuan ini, yang disebut elastisitas, membuat
awan scalable cloud dapat ditingkatkan untuk periode permintaan puncak dan menurunkan
skala untuk waktu permintaan yang lebih sedikit. Aplikasi di cloud dapat ditingkatkan saat
pengguna ditambahkan dan ketika persyaratan aplikasi berubah. Kedua, pelanggan cloud
dapat memperoleh sumber daya cloud dengan cara yang mudah. Pengaturan dilakukan
dengan cloud penyedia layanan untuk sejumlah komputasi, penyimpanan, perangkat
lunak, proses, atau sumber daya lainnya. Setelah menggunakan sumber daya ini, mereka
dapat dilepaskan jika tidak lagi Diperlukan. Ketiga, layanan cloud biasanya memiliki API
standar (application program interface). Ini berarti bahwa layanan telah menstandarisasi
cara yang program atau sumber data berkomunikasi satu sama lain. Kemampuan ini
memungkinkan pelanggan lebih mudah membuat hubungan antara layanan cloud.
Akhirnya, model komputasi awan memungkinkan pelanggan untuk ditagih untuk sumber
daya saat mereka digunakan. Penggunaan dari cloud diukur dan pelanggan hanya
membayar untuk sumber daya yang digunakan seperti Anda menggunakan listrik di
apartemen Anda. Fitur ini membuat cloud computing sangat menarik dari perspektif
keuangan.
1. Merancang Arsitektur
Dalam banyak kasus, persyaratan lingkungan teknis seperti yang didorong oleh
bisnis persyaratan hanya dapat menentukan arsitektur aplikasi. Dalam hal ini, pilihan
sederhana: Persyaratan bisnis mendominasi pertimbangan lain. Sebagai contoh,
persyaratan bisnis dapat menentukan bahwa sistem perlu bekerja melalui Web,
menggunakan browser Web pelanggan. Dalam hal ini, arsitektur aplikasi harus thin client-
server. Persyaratan bisnis seperti itu kemungkinan besar terjadi dalam sistem dirancang
untuk mendukung pelanggan eksternal. Sistem internal juga dapat memaksakan bisnis.
persyaratan, tetapi biasanya mereka tidak membatasi.
Dalam hal persyaratan lingkungan teknis tidak memerlukan pilihan arsitektur
tertentu, maka persyaratan nonfungsi lainnya menjadi penting. Bahkan dalam kasus ketika
persyaratan bisnis mendorong arsitektur, itu Masih penting untuk bekerja melalui dan
memperbaiki persyaratan nonfungsional yang tersisa, karena mereka penting pada tahap
selanjutnya dari desain dan implementasi Fase. Gambar 8-10 merangkum hubungan antara
persyaratan dan arsitektur yang direkomendasikan.
Fase desain juga merupakan waktu untuk mulai memilih dan memperoleh perangkat
keras. dan perangkat lunak yang akan dibutuhkan untuk sistem masa depan. Dalam banyak
kasus, sistem baru hanya akan berjalan pada peralatan yang ada dalam organisasi. Di lain
waktu, Namun, perangkat keras dan perangkat lunak baru (biasanya, untuk server) harus
dibeli. Spesifikasi perangkat keras dan perangkat lunak adalah dokumen yang menjelaskan
perangkat keras apa yang dan perangkat lunak diperlukan untuk mendukung aplikasi. Ada
beberapa langkah terlibat dalam pembuatan dokumen. Gambar 8-11 menunjukkan contoh
spesifikasi perangkat keras dan perangkat lunak.
Pertama, Anda perlu menentukan perangkat lunak yang akan berjalan pada setiap
komponen. Ini biasanya dimulai dengan sistem operasi (misalnya, Windows, Linux) dan
termasuk perangkat lunak tujuan khusus apa pun pada klien dan server (misalnya, database
Oracle). Sini Anda harus mempertimbangkan biaya tambahan seperti pelatihan teknis,
pemeliharaan, jaminan diperpanjang, dan perjanjian lisensi (misalnya, lisensi situs untuk
perangkat lunak paket). Sekali lagi, kebutuhan yang Anda daftar dipengaruhi oleh
keputusan yang dibuat. dalam kegiatan fase desain lainnya.
Selanjutnya, Anda harus membuat daftar perangkat keras yang diperlukan untuk
mendukung sistem masa depan. Secara umum, daftar dapat mencakup hal-hal seperti
server database, jaringan server, perangkat periferal (misalnya, printer, pemindai),
perangkat cadangan, komponen penyimpanan, dan komponen perangkat keras lainnya
yang diperlukan untuk mendukung aplikasi. Di kali ini, Anda juga harus mencatat jumlah
setiap item yang akan dibutuhkan.
Langkah ini akan menjadi lebih mudah bagi Anda dengan pengalaman; Namun, ada
beberapa petunjuk yang dapat membantu Anda menjelaskan kebutuhan perangkat keras
(lihat Gambar 8-12). Misalnya mempertimbangkan standar perangkat keras dalam
organisasi atau yang direkomendasikan oleh Vendor. Bicaralah dengan pengembang
sistem berpengalaman atau perusahaan lain dengan hal serupa Sistem. Akhirnya, pikirkan
faktor-faktor yang mempengaruhi kinerja perangkat keras, seperti harapan waktu respons
pengguna, volume data, memori perangkat lunak persyaratan, jumlah pengguna yang
mengakses sistem, jumlah eksternal koneksi, dan proyeksi pertumbuhan.
Setelah menyiapkan spesifikasi perangkat keras dan perangkat lunak, tim proyek
bekerja dengan departemen pembelian untuk memperoleh perangkat keras dan perangkat
lunak. tim proyek menyiapkan RFP berdasarkan kebijakan hukum dan organisasi yang
diberikan oleh departemen pembelian, yang kemudian mengeluarkan RFP. Tim proyek
kemudian memilih vendor yang paling diinginkan untuk perangkat keras dan perangkat
lunak berdasarkan proposal yang diterima, mungkin menggunakan matriks alternatif
tertimbang. Pada proyek besar, evaluasi ini mungkin memakan waktu berbulan-bulan dan
melibatkan pengujian ekstensif dan pembandingan proyek yang ditawarkan oleh vendor.
Departemen pembelian adalah terlibat aktif dalam pemilihan vendor, sekali lagi
memastikan bahwa kebijakan organisasi diikuti. Akhirnya, departemen pembelian
menegosiasikan persyaratan akhir dengan vendor, mengeluarkan kontrak, dan menerima
pengiriman barang, tunduk pada persetujuan dari tim proyek.
DAFTAR PUSTAKA
Alan Dennis, B.H. (2013). System Analysis And Design. United State Of America : Wiley.