{"id":4898,"date":"2024-04-27T11:02:33","date_gmt":"2024-04-27T04:02:33","guid":{"rendered":"https:\/\/binus.ac.id\/bekasi\/?p=4898"},"modified":"2024-04-27T11:02:33","modified_gmt":"2024-04-27T04:02:33","slug":"tanggung-jawab-sebagai-software-architect","status":"publish","type":"post","link":"https:\/\/beta.binus.ac.id\/bekasi\/2024\/04\/27\/tanggung-jawab-sebagai-software-architect\/","title":{"rendered":"Tanggung Jawab Sebagai Software Architect"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-4899 aligncenter\" src=\"http:\/\/binus.ac.id\/bekasi\/wp-content\/uploads\/2024\/04\/sofeng-lagii-640x437.png\" alt=\"\" width=\"573\" height=\"391\" \/><\/p>\n<p>Tanpa kita sadari setiap harinya kita telah menggunakan arsitektur perangkat lunak (<em>software architecture<\/em>). Mulai dari mengirim pesan di Whatsapp, memesan transportasi online, hingga memesan makanan secara online dari restaurant favorit. <em>Software architecture <\/em>adalah fondasi teknologi yang saat ini bahkan belum diketahui oleh kabanyakan orang.<\/p>\n<p>Tujuan utama <em>Software architecture <\/em>adalah untuk merepresentasikan dan mewujudkan keputusan desain sistem yang sedang dibangun. Secara umum tujuan utama <em>Software architecture<\/em> yaitu:<\/p>\n<ul>\n<li>Membantu para stakeholder untuk memvisualisasikan, memahami, dan menganalisis kualitas sistem.<\/li>\n<li>Berfokus pada struktur bukan pada implementasi<\/li>\n<li>Dapat digunakan untuk mengantisipasi pilihan-pilihan yang mahal dalam sebuah proyek sebelum dibuat.<\/li>\n<li>Digunakan sebagai dasar untuk membuat Keputusan inti untuk memastikan pekerjaan berkualitas tinggi<\/li>\n<\/ul>\n<p>Tentu saja <em>Software architect<\/em> memainkan peran penting dalam mendesain dan Menyusun sistem <em>software<\/em> yang kompleks. Berikut ini tanggung jawab utama <em>software architect:<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4900 aligncenter\" src=\"http:\/\/binus.ac.id\/bekasi\/wp-content\/uploads\/2024\/04\/sofeng-lagiii-640x407.png\" alt=\"\" width=\"577\" height=\"367\" \/><\/p>\n<p><strong>High-Level Design<\/strong><\/p>\n<p><em>Software architect<\/em> membuat struktur keseluruhan sistem, menentukan komponen, modul, dan interaksinya. Mereka mempertimbangkan faktor-faktor seperti skalabilitas, pemeliharaan, dan kinerja.<\/p>\n<p><strong>Abstraction and Decompotition<\/strong><\/p>\n<p><em>Software architect<\/em> memecah sistem menjadi bagian-bagian yang lebih kecil dan mudah dikelola. Hal ini melibatkan identifikasi subsistem, antarmuka (<em>interfaces<\/em>), dan ketergantungan (<em>independencies<\/em>).<\/p>\n<p><strong>Quality Attributes<\/strong><\/p>\n<p><em>Software architect<\/em> membahas persyaratan non-fungsional (atribut kualitas) seperti <em>performance<\/em>, <em>security<\/em>, <em>reliability<\/em>, dan <em>usability<\/em>. Arsitek membuat keputusan desain untuk mengoptimalkan atribut-atribut ini.<\/p>\n<p><strong>Patterns and Styles<\/strong><\/p>\n<p><em>Software architect<\/em> memilih pola arsitektur yang sesuai (misalnya <em>layered<\/em>, <em>client-server<\/em>, <em>microservices<\/em>) berdasarkan kebutuhan sistem. Pola-pola ini memandu organisasi sistem.<\/p>\n<p><strong>Trade-offs and Decisions<\/strong><\/p>\n<p><em>Software architect<\/em> membuat trade-off antara tujuan yang saling bertentangan (misalnya, fleksibilitas vs kinerja) dan keputusan desain dokumen. Seorang \u00a0menyeimbangkan pertimbangan teknis dan bisnis.<\/p>\n<p><strong>Communication<\/strong><\/p>\n<p>Seorang arsitek memfasilitasi komunikasi antara tim developer, <em>stake holder<\/em>, dan anggota proyek lainnya. Mereka memastikan semua orang memahami visi arsitektur.<\/p>\n<p><strong>Risk Management<\/strong><\/p>\n<p>Mengidentifikasi dan memitigasi risiko yang berkaitan dengan arsitektur sangatlah penting. Arsitek menilai potensi masalah dan merencanakan strategi untuk menanganinya.<\/p>\n<p><strong>Technology Selection<\/strong><\/p>\n<p>Arsitek mengevaluasi dan memilih teknologi (bahasa pemrograman, kerangka kerja, basis data) yang selaras dengan kebutuhan sistem.<\/p>\n<p><strong>Documentation<\/strong><\/p>\n<p>Dokumentasi arsitektur yang jelas dan ringkas membantu pengembang memahami struktur, antarmuka, dan perilaku sistem.<\/p>\n<p><strong>Evolution and Adaptation<\/strong><\/p>\n<p>Seiring berkembangnya sistem, arsitek memandu perubahan arsitektur, memastikan perubahan tersebut selaras dengan visi awal dan menjaga integritas sistem.<\/p>\n<p><em>Software Engineer<\/em> adalah gabungan dari seni dan ilmu pengetahuan, dan seorang <em>software architect<\/em> yang efektif menyeimbangkan keahlian teknis dengan pertimbangan praktis untuk menciptakan sistem perangkat lunak yang baik.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Referensi<\/strong><\/p>\n<ul>\n<li><span style=\"font-size: 10pt\"><a href=\"https:\/\/www.uber.com\/en-ID\/blog\/driver-onboarding-funnel\/\">https:\/\/www.uber.com\/en-ID\/blog\/driver-onboarding-funnel\/<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt\"><a href=\"https:\/\/webcache.googleusercontent.com\/search?q=cache:ya4xvYaEckQJ:https:\/\/www.future-processing.com\/blog\/what-is-software-architecture-in-software-engineering\/&amp;cd=1&amp;hl=es-419&amp;ct=clnk&amp;gl=ar\">https:\/\/webcache.googleusercontent.com\/search?q=cache:ya4xvYaEckQJ:https:\/\/www.future-processing.com\/blog\/what-is-software-architecture-in-software-engineering\/&amp;cd=1&amp;hl=es-419&amp;ct=clnk&amp;gl=ar<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt\"><a href=\"https:\/\/anywhere.epam.com\/en\/blog\/software-architect-job-description\">https:\/\/anywhere.epam.com\/en\/blog\/software-architect-job-description<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt\"><a href=\"https:\/\/resources.workable.com\/software-architect-job-description\">https:\/\/resources.workable.com\/software-architect-job-description<\/a><\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tanpa kita sadari setiap harinya kita telah menggunakan arsitektur perangkat lunak (software architecture). Mulai dari mengirim pesan di Whatsapp, memesan transportasi online, hingga memesan makanan secara online dari restaurant favorit. Software architecture adalah fondasi teknologi yang saat ini bahkan belum diketahui oleh kabanyakan orang. Tujuan utama Software architecture adalah untuk merepresentasikan dan mewujudkan keputusan desain [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4899,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-4898","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer-science-software-engineering"],"_links":{"self":[{"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/posts\/4898"}],"collection":[{"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/comments?post=4898"}],"version-history":[{"count":0,"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/posts\/4898\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/media\/4899"}],"wp:attachment":[{"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/media?parent=4898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/categories?post=4898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.binus.ac.id\/bekasi\/wp-json\/wp\/v2\/tags?post=4898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}