BAB V PERANCANGAN MOXIE

dokumen-dokumen yang mirip
BAB IV PERENCANAAN DAN ANALISIS MOXIE

BAB I PENDAHULUAN. 1.1 Latar Belakang I-1

BAB III ANALISIS PROSES BELAJAR DAN KONSEP KNOWLEDGE LIBRARY

BAB IV PERANCANGAN. 4.1 Proses Bisnis Pengadaan Barang

BAB III ANALISIS DAN PERANCANGAN SISTEM. Pada bab ini akan dibahas tentang tahapan-tahapan analisis dan desain

Tujuan 04/07/ :01

DESKRIPSI PERANCANGAN PERANGKAT LUNAK. <Nama Perangkat Lunak>

BAB III ANALISIS. 3.1 Model Penerapan BPM pada SOA III-1

BAB I PENDAHULUAN I-1

BAB III TAHAPAN ANALISIS DAN PERANCANGAN SISTEM. analisis dan perancangan sistem penerimaan mahasiswa baru di INKAFA.

DESKRIPSI PERANCANGAN PERANGKAT LUNAK. <Nama Perangkat Lunak>

MODEL DESAIN & DOKUMENTASI DESAIN

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB II LANDASAN TEORI. Institut merupakan Perguruan Tinggi yang menyelenggarakan pendidikan

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

PERENCANAAN PROYEK PERANGKAT LUNAK

BAB III ANALISIS. 3.1 Analisis Umum Sistem

BAB II LANDASAN TEORI

MI2193 PEMROGRAMAN WEB LANJUT PHP FRAMEWORK. Created by MTA Revised by HPU

BAB V STUDI KASUS. V.1 Deskripsi Umum Studi Kasus yang Dipilih

: ENDRO HASSRIE NIM : MATKUL : REKAYASA PERANGKAT LUNAK PEMODELAN DATA

BAB II TINJAUAN PUSTAKA. 2.1 Komponen Sumber Daya Manusia dalam Ruang Lingkup Fakultas. Nuraeny (2010) mengemuckakan bahwa Sumber Daya Manusia

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM

Prinsip dan Konsep Desain Perangkat Lunak

BAB V STUDI KASUS. Pada bab ini dilakukan studi kasus untuk menerapkan model komunitas belajar learnercentered hasil perancangan pada bab IV.

BAB 1 Service Oriented Architecture 1.1 Evolusi SOA

BAB IV PERANCANGAN. IV.2 Perancangan Model Komunitas Belajar Learner-Centered

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem merupakan suatu kegiatan penguraian dari suatu sistem yang

APLIKASI BERBASIS WEB PEMETAAN INFORMASI PADA GAMBAR BITMAP

Minggu 6 Prinsip & Konsep Desain

Pengenalan Obyek. Arna Fariza. Materi

BAB I PERSYARATAN PRODUK

BAB 1 PENDAHULUAN. Dalam komunikasi tersebut baik yang berisi informasi maupun pemberitahuan

MAKALAH REKAYASA PERANGKAT LUNAK ( PEMODELAN DATA )

BAB III METODOLOGI PENELITIAN. dalam pengumpulan data atau informasi guna memecahkan permasalahan dan

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

3.1 Ganesha Digital Library

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB IV PERANCANGAN. IV.2 Komponen Knowledge Management System Framework

BAB III LANDASAN TEORI. dengan istilah web adalah sebuah sistem terhubung dari hypertext document yang

Bab 6 PERANCANGAN PERANGKAT LUNAK

BAB IV ANALISIS DAN PERANCANGAN SISTEM

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

BAB I PENDAHULUAN. pesat terutama perkembangan internet. Dengan adanya internet dapat

BAB II LANDASAN TEORI. bidang media komunikasi dan informasi. Internet adalah suatu jaringan komputer

BAB IV ANALISA DAN PERANCANGAN SISTEM. Adapun analisis sistem akan dilakukan pada bagian gudang ruang lingkup

LEMBAR PENGESAHAN ABSTRACT

BAB I PENDAHULUAN. Kehidupan manusia tidak lepas dari penggunaan internet, dikarenakan akses internet era sekarang penggunaannya cukup mudah.

PERANGKAT LUNAK PENJUALAN BERBASIS WEB (E-COMMERCE) DI PETERNAKAN AYAM HIAS PARENGNA

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB IV ANALISIS DAN PERANCANGAN SISTEM. permasalahan dari suatu sistem informasi. Hasil akhir dari analisis sistem

BAB III ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. dihadapi. Dan agar mempermudah dalam pembuatan perancangan sistem yang

BAB IV ANALISIS DAN PERANCANGAN APLIKASI KMS KLUB SEPAKBOLA

BAB III ANALISIS DAN PERANCANGAN SISTEM. informasi akademik pada SMP Al-Falah Assalam Tropodo 2 Sidoarjo. Tahaptahap

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

Jenis Metode Pengembangan Perangkat Lunak


BAB II LANDASAN TEORI

1 BAB III OBJEK DAN METODE PENELITIAN

BAB III LANDASAN TEORI. Flippo (1984) mendefinisikan sebagai berikut: Penarikan calon pegawai

BAB I PERSYARATAN PRODUK

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENGUJIAN BERORIENTASI OBJEK

Analisis dan desain model

PENGGUNAAN PARADIGMA SOA (SERVICE ORIENTED ARCHITECTURE) UNTUK MEREALISASIKAN INTEROPERABILITAS DAN INTEGRITAS SISTEM INFORMASI.

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

SOFTWARE TESTING. Ratna Wardani

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

DASAR REKAYASA PERANGKAT LUNAK

1BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI. digunakan untuk memodelkan kebutuhan data dari suatu organisasi,

REKAYASA PERANGKAT LUNAK

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. yang manual, yaitu dengan melakukan pembukuan untuk seluruh data dan

BAB 1 PENDAHULUAN. Era teknologi informasi yang semakin pesat membawa dampak besar bagi

BAB IV ANALISIS, PERANCANGAN, DAN IMPLEMENTASI PERANGKAT LUNAK

BAB I PERSYARATAN PRODUK

BAB III METODE PENELITIAN

BAB 1 PENDAHULUAN Latar Belakang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. di PT. POS INDONESIA khususnya pada layanan POS Express sudah

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB 2 LANDASAN TEORI

PENGANTAR RUP & UML. Pertemuan 2

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

BAB III LANDASAN TEORI. Pembayaran dapat dilakukan secara tunai maupun kredit. Menjual atau penjualan

Analisis dan Perancangan Sistem II T02 Use Case

BAB III ANALISA DAN PERANCANGAN

BAB IV ANALISA DAN PERANCANGAN SISTEM. diusulkan dari sistem yang ada di Dinas Kebudayaan dan Pariwisata Kota

Rancang Bangun Sistem Informasi E-Learning Berbasis Web di SMK Negeri 1 Tangerang

BAB IV ANALISIS SISTEM DAN PERANCANGAN

BAB I PENDAHULUAN I-1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 METODE PENELITIAN

BAB 1 PENDAHULUAN.

Transkripsi:

BAB V PERANCANGAN MOXIE Bab ini berisi penjabaran dari hasil perancangan Moxie. Pembahasan pada bab ini mencakup perancangan arsitektur dan model skenario untuk Moxie. Model skenario merupakan produk dari fase perancangan untuk siklus 1, sedangkan arsitektur merupakan produk dari siklus 2. Secara umum, produk dari fase perancangan ini disebut sebagai blueprint atau solution model dari Moxie. 5.1 Perancangan Arsitektur Perancangan arsitektur sangat dipengaruhi oleh stakeholder. Stakeholder utama yang dinilai sangat terkait dengan pengembangan Moxie adalah pengguna dan pihak pengembang. Namun, dalam konteks pengembangan Moxie, perancangan arsitektur ditujukan terutama bagi pihak pengembang selanjutnya. Rancangan arsitektur yang dihasilkan diharapkan dapat menjadi panduan atau alat untuk memahami bagaimana komponen sistem dibangun dan atribut kualitas apa saja yang perlu diperhatikan. Hasil identifikasi atribut kualitas ini dijabarkan lebih lanjut dalam subbab 5.1.1. 5.1.1 Pemilihan Atribut Kualitas Pada dasarnya, pembangunan sebuah sistem yang ideal sebaiknya dapat mempertimbangkan seluruh atribut kualitas yang ada. Namun, Brosseau [BRO07] menyatakan bahwa tidak mungkin (atau sangat sulit) untuk memenuhi seluruh atribut yang ada sekaligus. Selain itu, tidak semua atribut memiliki relevansi terhadap sistem yang dirancang [BRO07]. Oleh sebab itu, dalam siklus pengembangan Moxie saat ini, akan dipilih dua atribut kualitas untuk ditelaah lebih lanjut, yaitu modifiability dan reusability. 5.1.1.1 Modifiability (Kemudahan Modifikasi) Moxie merupakan sebuah sistem yang kompleks karena dibangun atas sejumlah komponen yang berkoordinasi untuk menyediakan layanan bagi pengguna. Kompleksitas ini dapat menyebabkan sistem sulit untuk diubah. Padahal dalam pengembangannya, akan terdapat sejumlah kondisi yang menyebabkan Moxie harus mampu mengakomodasi perubahan, misalnya koreksi terhadap bug atau perubahan spesifikasi oleh pengguna. Selain itu, spesifikasi kebutuhan Moxie yang didefinisikan pada tahap pengembangan ini sendiri belum lengkap dan metodologi prototyping memungkinkan terdefinisinya sejumlah spesifikasi kebutuhan baru di masa mendatang. V-1

V-2 Adanya kebutuhan untuk menjadikan sistem adaptif terhadap perubahan atau penambahan komponen menyebabkan modifiability perlu dipertimbangkan sebagai atribut kualitas dalam perancangan blueprint sistem. Dalam proses menganalisis atribut ini ada tiga hal yang perlu didefinisikan lebih lanjut, yaitu: 1. Dari hasil perancangan arsitektur sistem perlu didefinisikan modifikasi pada level apa yang dapat diakomodasi oleh sistem. 2. Dari hasil perancangan arsitektur perlu didefinisikan jenis komponen apa yang akan terlibat dalam modifikasi apakah berupa komponen hardware atau software. 3. Dari hasil perancangan arsitektur perlu didefinisikan konteks modifikasi yang dapat dilakukan terhadap sistem apakah terjadi di masa pengembangan atau saat runtime sistem. 5.1.1.2 Reusability (Kemudahan untuk Digunakan Kembali) Sesuai dengan tahapan dalam metodologi prototyping, pengembangan Moxie dapat dilakukan secara berkelanjutan, artinya setelah sebuah produk dihasilkan, Moxie masih mungkin untuk terus dikembangkan sehingga menghasilkan produk versi berikutnya. Menggunakan kembali komponen dari produk sebelumnya dapat mereduksi waktu dan biaya. Berdasarkan pertimbangan tersebut, maka reusability menjadi atribut yang perlu dipertimbangkan dalam rancangan arsitektur Moxie. Reusability sendiri sesungguhnya merupakan kasus khusus dari modifiability, meskipun jarang disebutkan sedemikian rupa [BAS98]. Membangun sistem sehingga mudah dimodifikasi akan berakibat pada peningkatan reusability [BAS98]. Hal ini menjadi alasan lain mengapa reusability menjadi atribut lain yang perlu dipertimbangkan bersamaan dengan modifiability. Ada dua hal yang perlu dianalisis lebih lanjut dari atribut reusability, yaitu: 1. Dari hasil perancangan arsitektur perlu didefinisikan level komponen apa yang dapat digunakan kembali apakah berupa kelas, fungsi, proses, dan sebagainya. 2. Dari hasil perancangan arsitektur perlu diperhatikan batasan dari komponen yang dapat digunakan kembali apakah dapat digunakan kembali secara penuh (full reuse) atau sebagian (half reuse). 5.1.2 Solusi Arsitektur Moxie Ada dua atribut kualitas yang menjadi spesifikasi dalam arsitrektur Moxie, yaitu modifiability dan reusability. Beberapa strategi yang digunakan agar Moxie dapat mencapai atribut tersebut dapat dijabarkan sebagai berikut:

V-3 1. Membagi sistem menjadi sejumlah modul. Modularitas sistem harus cukup sederhana dan jelas sehingga komponen sistem mudah dipahami, dan dengan demikian, mudah untuk dimodifikasi atau digunakan kembali. 2. Menyembunyikan detail informasi setiap komponen (information hiding) dengan cara enkapsulasi. Setiap modul menyediakan sekumpulan prosedur yang dapat dipanggil oleh modul lain. Prosedur ini memungkinkan terjadinya komunikasi intermodul. Selain prosedur ini, detil informasi dari setiap modul disembunyikan hanya untuk modul tersebut. Strategi semacam ini menjadikan sebuah modul independen terhadap modul lainnya baik dari segi modifikasi maupun kemampuan untuk digunakan kembali. Ringkasan dari penjabaran di atas dapat dilihat pada Tabel V-1. Tabel V-1 Strategi untuk Mencapai Atribut Kualitas Moxie Atribut kualitas Strategi untuk mencapai atribut kualitas Modifiability 1. Modularitas Reusability 2. Information hiding Agar sejalan dengan strategi yang telah ditetapkan, solusi arsitektur Moxie akan direpresentasikan dalam tiga struktur, yaitu module structure, uses structure, dan data flow. Module structure dipilih untuk memperlihatkan bagaimana sistem didekomposisi menjadi sejumlah modul. Struktur ini menjelaskan fungsi setiap modul dan bagaimana suatu modul dibagi menjadi sejumlah submodul. Module structure mendeskripsikan relasi antar komponen selama masa pengembangan sistem. Tujuan yang ingin dicapai dari struktur ini adalah membangun arsitektur sistem yang mendukung modularitas. Uses structure digunakan untuk mengilustrasikan bagaimana ketergantungan antar modul saat proses runtime. Unit dari struktur ini adalah modul. Modul A dikatakan menggunakan (use) modul B jika di dalam modul B terdapat prosedur ataupun data yang dapat menjamin modul A berjalan sesuai spesifikasi. Data flow dipilih untuk menunjukkan data apa saja yang ditransmisikan di antara modul. Unit dari struktur ini adalah modul yang berhubungan dengan modul lain melalui relasi aliran data. Bersamaan dengan use structure, struktur ini menunjukkan arsitektur sistem saat proses runtime, khususnya dalam aspek aliran data. Melalui uses structure dan data flow, dapat diperoleh gambaran apakah suatu modul mengakses modul yang lain, dan jika hal tersebut terjadi, maka informasi ini dapat menjadi modal bagi pengembang untuk menentukan detil apa saja yang dapat diakses dan perlu

V-4 disembunyikan dari sebuah modul. Hal ini terkait dengan information hiding yang menjadi strategi pencapaian atribut kualitas. Ringkasan dari uraian mengenai pemilihan struktur arsitektur dapat dilihat pada Tabel V-2. Tabel V-2 Pemilihan Struktur Arsitektural Moxie Struktur Unit Struktur Relasi Antar Unit Module Modul Merupakan structure submodul dari (is a submodule of); berbagi informasi dengan (share a secret with) Uses structure Modul Dapat menggunakan (is allowed to use) Data flow Modul Dapat mengirimkan data ke (may-send-datato) 5.1.2.1 Module Structure Yang Dijelaskan oleh Struktur Ini 1. Dekomposisi sistem menjadi sejumlah modul 2. Menunjukkan relasi antara modul dengan submodul, relasi antar modul selama masa pengembangan sistem Menunjukkan relasi penggunaan antar modul saat runtime sistem Menunjukkan relasi data antar modul saat runtime sistem Berdasarkan fungsionalitas dan tanggung jawabnya, struktur Moxie dibagi menjadi lima modul, yaitu: modul antarmuka, akses dan autentikasi, aplikasi, middleware, dan repositori. Dalam subbab ini akan dijabarkan mengenai deskripsi dan tanggung jawab setiap modul. MODUL 1: ANTARMUKA Merupakan modul yang berhubungan langsung dengan pengguna. Tugas utama dari modul ini adalah menerima input dari pengguna dan memberikan output dalam representasi yang sesuai. Pembagian submodul pada modul antarmuka harus disesuaikan dengan modul aplikasi dan modul repositori. Mengenai hal ini akan dijelaskan lebih lanjut di dalam pembahasan mengenai modul aplikasi. MODUL 2: AKSES DAN AUTENTIKASI Merupakan modul yang terkait dengan pengaturan hak akses, session, dan autentikasi pengguna. Tugas utama dari modul ini adalah mengecek validitas pengguna dalam mengakses layanan yang disediakan oleh Moxie. Modul akses dan autentikasi berhubungan dengan keamanan sistem, khususnya masalah pengaksesan sistem oleh pengguna yang berhak. Pendekatan yang digunakan sebagai solusi dalam domain ini dapat dijabarkan sebagai berikut: 1. Setiap kelompok pengguna memiliki deskripsi hak akses masing-masing. Deskripsi hak akses setiap pengguna disimpan oleh sistem di dalam repositori.

V-5 2. Proses autentikasi dimaksudkan untuk mengecek apakah pengaksesan suatu layanan oleh pengguna sudah sesuai dengan haknya. Oleh sebab itu, sistem melakukan proses autentikasi setiap kali pengguna akan mengakses suatu layanan. Untuk kebutuhan proses autentikasi, sistem perlu mengakses deskripsi hak akses pengguna di repositori. Proses pengaksesan repositori sendiri harus dilakukan melalui API yang terdapat di modul middleware. MODUL 3: APLIKASI Merupakan modul yang terdiri atas mesin utama dari layanan yang membangun Moxie. Tugas utama dari modul aplikasi adalah menyediakan layanan yang tepat berdasarkan kebutuhan pengguna. Aplikasi yang disediakan oleh Moxie merupakan representasi teknologi dari spesifikasi yang disediakan oleh sistem. Spesifikasi ini sendiri telah dijabarkan sebagai use case dalam subbab 4.3.4. Seperti yang telah dijelaskan pada subbab 4.3.4, use case pada Moxie dapat dikelompokkan ke dalam empat kategori utama, yaitu: use case yang mengakomodasi layanan untuk knowledge creation, knowledge retention, knowledge sharing, dan knowledge utlization. Sebuah use case juga dapat dikelompokkan ke lebih dari satu kategori. Berdasarkan uraian di atas, dapat dinyatakan bahwa pendefinisian aplikasi pada Moxie dilakukan berdasarkan use case. Dalam subbab ini tidak akan dijelaskan lebih rinci mengenai contoh aplikasi yang dapat digunakan untuk mengimplementasikan Moxie. Namun, akan dijabarkan mengenai alternatif bentuk aplikasinya saja. Hal ini dapat dilihat pada Tabel V-3. Sedangkan untuk contoh dari setiap bentuk aplikasi yang ada, terdapat sejumlah referensi yang dapat dibaca, salah satunya adalah [TIW00]. Modul aplikasi berperan sebagai mesin utama yang menyediakan layanan, sedangkan modul antarmuka adalah representasi layanan yang berinteraksi langsung dengan pengguna. Data-data yang terkait dengan suatu layanan perlu disimpan di dalam repositori. Berdasarkan hubungan antara ketiga modul tersebut, maka pendefinisian submodul pada modul aplikasi harus disesuaikan dengan modul antarmuka dan modul repositori. Sebagai contoh, jika pada Moxie telah ditetapkan untuk mengimplementasikan aplikasi berupa blog, maka pada masing-masing modul aplikasi, modul antarmuka, dan modul repositori perlu dibangun submodul blog.

V-6 Tabel V-3 Alternatif Bentuk Aplikasi untuk Layanan yang Disediakan Moxie Spesifikasi Moxie Proses Aliran Pengetahuan yang Alternatif Bentuk Aplikasi Berdasarkan Use Case Diakomodasi Mencari dokumen TA Knowledge creation Information retrieval Mencari sumber belajar di World Wide Web Melakukan korespondensi Mengkonsumsi sumber belajar secara aktif Mengelola catatan/ringkasan Mengarsipkan hasil belajar untuk publik Melakukan upload dokumen TA Knowledge creation Knowledge creation, knowledge utilization Knowledge creation Knowledge creation, knowledge retention Knowledge sharing Knowledge sharing Mesin pencari (search engine) Email, newsgroup (forum), text chat, audio / video conference, expertise yellow pages Document reader dengan perangkat tambahan untuk manipulasi isi dokumen Mapping tools, aplikasi content management Aplikasi content management, blog, personal website Aplikasi content management, file uploader Mengelola dokumen TA Knowledge sharing Aplikasi content management Mengelola anggota -- Personal management, user profiling Validasi pengguna -- (ditangani oleh layer akses dan autentikasi) MODUL 4: MIDDLEWARE Modul ini mendefinisikan middleware yang digunakan dalam Moxie. Middleware adalah teknologi yang menyediakan layanan yang memungkinkan beberapa proses, aplikasi atau program berjalan pada satu atau sejumlah mesin yang terhubung sehingga memungkinkan terjadinya pertukaran data atau pesan. Dalam arsitektur Moxie, middleware diharapkan dapat menjadi jembatan atau antarmuka untuk komunikasi antar submodul aplikasi, modul aplikasi dengan repositori, dan modul akses dan autentikasi dengan repositori. MODUL 5: REPOSITORI Merupakan modul yang terdiri atas sejumlah media penyimpanan, bisa berupa basis data relasional, file data, data warehouse, dan sebagainya. Pemilihan bentuk repositori dapat didefinisikan berdasarkan kebutuhan. Namun, perlu diingat bahwa keragaman bentuk repositori tentunya akan meningkatkan kompleksitas dalam penyimpanan dan pengaksesan data sehingga membutuhkan perancangan lebih lanjut untuk membangunnya.

V-7 Untuk memperjelas uraian mengenai struktur modul pada arsitektur Moxie, dibuat Gambar V-1. Melalui gambar ini dapat dilihat bahwa Moxie dibangun oleh lima modul utama. Setiap modul dapat dibangun oleh sejumlah submodul. Pada modul antarmuka, aplikasi, dan repositori, pendefinisian sebuah submodul harus dibuat sinkron, artinya jika pada modul aplikasi terdapat submodul X, maka pada modul antarmuka dan modul repositori juga perlu dibangun submodul X. Gambar V-1 Module Structure Moxie Berdasarkan uraian di atas, maka dapat dilihat bahwa setiap submodul memiliki spesifikasi pekerjaan yang jelas. Komunikasi antar submodul hanya dapat dilakukan melalui prosedur yang memang disediakan oleh sebuah submodul agar dapat diakses oleh submodul lainnya (prosedur ini disebut dengan call procedure [BAS98]). Sedangkan, detil informasi lainnya disembunyikan hanya untuk submodul tersebut. Dengan demikian, pengaruh dari modifikasi suatu submodul hanya perlu dilihat dari call procedure yang dimanfaatkan oleh submodul lain, dan jika tidak ada masalah dalam hal tersebut, maka perubahan pada submodul tersebut tidak akan mempengaruhi submodul lainnya. 5.1.2.2 Uses Structure dan Data Flow Uses structure menjelaskan relasi dapat menggunakan atau is-allowed-to-use dari sekumpulan modul yang membangun Moxie. Relasi ini dapat dijelaskan melalui Tabel V-4. Tabel V-4 Spesifikasi Relasi Use pada Arsitektur Moxie Nama Modul dapat menggunakan modul Antarmuka Akses dan Autentikasi, Aplikasi Akses dan Autentikasi Middleware Aplikasi Middleware Middleware Aplikasi, Repositori Repositori -- Aspek lain yang perlu diperlihatkan dari arsitektur sistem saat runtime adalah aliran data atau data flow. Jika relasi use dan aliran data diilustrasikan ke dalam sebuah gambar, maka

V-8 komponen sistem dapat ditunjukkan sebagai kumpulan layer. Setiap modul direpresentasikan sebagai sebuah layer dan dihubungkan dengan layer lainnya seperti yang tampak pada Gambar V-2. Garis solid menunjukkan relasi use sedangkan garis putus-putus berlabel menunjukkan aliran dan nama data yang ditransmisikan antar modul. Adapun penjelasan mengenai aliran data dari arsitektur pada Gambar V-2 dapat dijabarkan secara garis besar sebagai berikut: 1. Layer antarmuka menerima data berupa input dari pengguna dan memberikan output dalam representasi yang sesuai. Input dari pengguna diubah ke dalam format yang sesuai dan ditransmisikan ke layer akses dan autentikasi. 2. Input terformat dari layer antarmuka diproses oleh layer akses dan autentikasi sehingga menghasilkan data hasil autentikasi. Untuk memperoleh hasil ini, layer akses dan autentikasi harus mengakses deskripsi hak akses pengguna di repositori. Pengaksesan layer repositori sendiri hanya dapat dilakukan melalui layer middleware. Itu sebabnya terjadi aliran data dari layer akses dan autentikasi ke layer middleware, dan sebaliknya. 3. Input terformat dari layer antarmuka juga ada yang diteruskan ke layer aplikasi. Selama proses runtime, layer aplikasi sendiri akan membutuhkan data dari atau mengirim data ke repositori. Karena pengaksesan layer repositori hanya dapat dilakukan oleh layer middleware, maka akan terjadi aliran data dari layer aplikasi ke layer Middleware untuk selanjutnya diteruskan ke layer repositori, dan sebaliknya. 4. Layer middleware tidak hanya menghubungkan layer aplikasi dengan repositori, namun juga menyediakan antarmuka jika sebuah submodul di layer aplikasi perlu berkomunikasi dengan submodul lain di layer tersebut. Dengan demikian, layer middleware menjembatani aliran data dari dan ke layer aplikasi itu sendiri. Seluruh layer yang membangun arsitektur Moxie terintegrasi melalui Web. Dengan demikian, client dapat ditempatkan terpisah dengan server dan client yang satu dapat berkomunikasi dengan client yang lain melalui jaringan.

V-9 Gambar V-2 Arsitektur Layer yang Menggambarkan Uses Structure dan Data Flow Moxie 5.1.3 Kesimpulan atas Solusi Arsitektural Moxie Berdasarkan solusi arsitektural Moxie yang dijabarkan dalam subbab 5.1.2 dapat dijabarkan beberapa kesimpulan sebagai berikut: 1. Prinsip modularitas dan information hiding menjadikan sistem Moxie adaptif terhadap modifikasi di level submodul. Perubahan di suatu submodul setidaknya hanya perlu memperhatikan call procedure yang diakses oleh submodul lainnya, dan jika tidak ada masalah dalam hal tersebut, maka perubahan pada submodul yang bersangkutan seharusnya tidak mengganggu submodul lain. Hal ini menunjang tercapainya modifiability sistem. Argumen yang sama berlaku terhadap atribut reusability. Karena

V-10 submodul yang satu independen terhadap yang lain, maka pemanfaatan kembali submodul tersebut dalam pembangunan produk versi selanjutnya sangat dimungkinkan. 2. Sistem layer dalam arsitektur Moxie lebih berbicara kepada rancangan dari sisi perangkat lunak (software). Arsitektur ini belum memperlihatkan bagaimana keterlibatan komponen mekanis (hardware) di dalam sistem. 3. Aristektur Moxie menunjukkan struktur sistem baik dalam konteks pengembangan maupun saat runtime sistem. Module structure mendeskripsikan relasi antar modul yang membangun sistem dalam konteks pengembangan. Sedangkan, relasi antar komponen sistem saat proses runtime ditunjukkan melalui uses structure dan data flow. 4. Karena setiap komponen memiliki deskripsi fungsionalitas yang jelas, maka komponen dapat digunakan kembali pada sistem lain, baik Moxie atau bukan. Proses reuse dapat dilakukan terhadap sebuah submodul saja, misalnya Database Connection API dari modul middleware, atau rentetan submodul dari beberapa modul sekaligus, misalnya penggunaan kembali submodul blog dari modul aplikasi perlu mempertimbangkan penggunaan submodul blog dari modul antarmuka dan modul repositori. Hal ini dapat disesuaikan dengan kondisi sistem yang akan melakukan reuse. 5.1.4 Rekomendasi terhadap Solusi Arsitektural Moxie Terhadap solusi arsitektural Moxie yang telah dijabarkan dalam subbab 5.1.2, ada beberapa hal yang perlu dipertimbangkan sebagai rekomendasi. Rekomendasi ini dapat menjadi masukan jika rancangan arsitektur akan diterapkan atau disempurnakan lagi di masa mendatang. Penjabaran dari rekomendasi tersebut dapat diuraikan sebagai berikut: 1. Untuk mendukung modifiability sistem, rancangan arsitektur dan implementasi Moxie sebaiknya mempertimbangkan penggunaan bahasa pemrograman yang berorentasi objek. Dengan demikian, perubahan pada sebuah komponen yang mungkin berpengaruh terhadap komponen lain lebih mudah diakomodasi (misalnya dengan membuat antarmuka untuk komponen tersebut). 2. Sebuah sistem yang kompleks membutuhkan integritas agar komponen sistem dapat berkoordinasi dengan baik. Terkait dengan pengembangan Moxie di masa mendatang, integrability merupakan atribut yang perlu dipertimbangkan dalam perbaikan rancangan arsitektur Moxie. Konteks pembahasan yang dicakup dalam atribut ini berhubungan dengan mekanisme agar komponen sistem yang telah dimodifikasi atau akan digunakan kembali (reuse) dapat diintegrasikan ke dalam sistem yang ada. 3. Penambahan modul atau layer pada arsitektur Moxie perlu dipertimbangkan untuk memperluas layanan yang disediakan Moxie. Sebagai contoh, Moxie ingin dilengkapi dengan kemampuan untuk beradaptasi dengan kebutuhan personal pembelajar,

V-11 melakukan klasifikasi sumber belajar menurut ontologi tertentu, atau memberikan rekomendasi sumber belajar sesuai minat pembelajar. Dengan demikian, pada Moxie perlu dipertimbangkan adanya penambahan sebuah modul atau layer yang menangani masalah inteligensia sistem. Namun, penambahan modul atau layer ini perlu memperhatikan uses structure dan data flow dari arsitektur yang telah ada. 4. Pemilihan struktur arsitektural sangat tergantung pada sudut pandang yang ingin ditunjukkan oleh arsitektur. Dalam pengembangan selanjutnya, perancangan sistem telah mencapai tahap yang lebih detil sehingga perlu mempertimbangkan struktur lain untuk merepresentasikan sistem, misalnya: control flow, logical structure, atau class structure. 5.2 Perancangan Skenario Skenario digunakan untuk mengilustrasikan bentuk interaksi yang terjadi antara pengguna dan sistem. Dalam perancangan ini, skenario akan dirancang berdasarkan use case yang telah diidentifikasi pada subbab 4.3.4. Tahapan yang dilakukan dalam perancangan skenario Moxie dapat dijabarkan sebagai berikut: 1. Memetakan metodologi proses belajar pada Gambar IV-3 menjadi sebuah model skenario utama proses belajar. 2. Mengidentifikasi use case prioritas dalam perancangan skenario. Hal ini dilakukan dengan melihat apakah use case yang bersangkutan terkait erat dengan proses belajar. Hasil identifikasi ini dapat dilihat pada Tabel V-5. 3. Memetakan use case prioritas ke dalam proses yang ada di model skenario utama proses belajar. Oleh sebab itu, pada setiap simbol proses di model skenario akan terdapat simbol yang menyatakan daftar use case yang tercakup dalam proses tersebut. Hasil perancangan model skenario belajar ini dapat dilihat pada Gambar V-3. 4. Membuat deskripsi skenario untuk masing-masing use case prioritas. Hasil deskripsi skenario ini dapat dilihat pada Lampiran D. Deskripsi skenario digunakan untuk menunjukkan bagaimana interaksi antara aktor dan sistem. Dalam pengembangan Moxie saat ini, deskripsi skenario Moxie dirancang dalam batasan tertentu, yaitu: a. Skenario yang dirancang adalah skenario normal. b. Skenario yang dirancang bersifat umum atau belum berbicara spesifik terhadap bentuk aplikasi yang akan digunakan, seperti: apakah teknologi untuk korespondensi akan berupa email atau video conference, apakah pengguna dapat membuat catatan dalam bentuk tulisan saja atau juga simbol/gambar, dan sebagainya. Oleh sebab itu, di masa mendatang, skenario yang dihasilkan masih mungkin mengalami penyesuaian terhadap teknologi yang akhirnya dipilih untuk diimplementasikan pada Moxie.

V-12 Tabel V-5 Identifikasi Use Case Prioritas dalam Perancangan Skenario Kode Use Case Use Case Tergolong ke dalam Use Case Prioritas UC-01 Mencari Dokumen TA UC-02 Mencari Sumber Belajar di World Wide Web UC-03 Melakukan Korespondensi UC-04 Mengkonsumsi Sumber Belajar Secara Aktif UC-05 Mengelola Catatan/Ringkasan UC-06 Mengarsipkan Hasil Belajar untuk Publik UC-07 Melakukan Upload Dokumen TA UC-08 Mengelola Dokumen TA UC-09 Mengelola Anggota -- UC-10 Validasi Pengguna -- Catatan : Simbol () menyatakan use case yang menjadi prioritas dalam perancangan skenario, yaitu use case yang tergolong ke dalam model skenario utama proses belajar

V-13!"#!$! $ % "!%!!$#!&#!' # # "!$#!'#!( "!)#!*! " Gambar V-3 Model Skenario Utama Belajar Tugas Akhir (TA)