Anda di halaman 1dari 8

Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6

Yogyakarta, 18 Juni 2005

PEMBANGUNAN PERANGKAT LUNAK BERBASIS KOMPONEN


STUDI KASUS: SISTEM INFORMASI AKADEMIK TERDISTRIBUSI
Sandra Islama Putra
Laboratorium Rekayasa Perangkat Lunak dan Sistem Informasi
Jurusan Teknik Informatika, Fakultas Teknik, Universitas Pasundan Bandung
Jalan Setiabudi No 193 Bandung
E-mail: syss1998@plasa.com

Abstrak
Model komputasi Client/Server merupakan salah satu teknologi yang digunakan dalam bidang
pengembangan perangkat lunak. Salah satu aspek yang menarik untuk dikaji dalam model ini adalah teknologi
pengembangan perangkat lunak berbasis komponen. Makalah ini membahas mengenai teknologi pengembangan
perangkat lunak berbasis komponen dan penerapannnya dalam suatu studi kasus.

Kata kunci: CBSD, Komponen,Aplikasi Terdistribusi

1. Pendahuluan Informasi Akademik berbasis komponen


terdistribusi (DISTSIMAK) di Jurusan Informatika
Model komputasi Client/Server, selanjutnya
UNPAS Bandung.
disebut model komputasi terdistribusi tengah
menjadi isu yang menarik dan hangat
2. Komponen dan Aplikasi Terdistribusi
diperbincangkan dalam dunia teknologi informasi
khususnya dalam bidang pengembangan perangkat Beberapa tahun terakhir ini teknologi
lunak. Salah satu aspek yang menarik untuk dikaji pengembangan perangkat lunak berbasis komponen
dalam model ini adalah teknologi pengembangan telah menjadi sebuah paradigma baru dalam
perangkat lunak berbasis komponen. mengembangkan suatu aplikasi perangkat lunak
Dikatakan menarik karena tujuan dari terutama pada aplikasi terdistribusi. Keuntungan dari
teknologi ini adalah untuk mengurangi waktu dan teknologi ini adalah untuk mengurangi waktu dan
usaha yang diperlukan dalam pengembangan suatu biaya pengembangan, serta meningkatkan derajat
perangkat lunak. Hal ini disebabkan karena suatu dari interoperabilitas, portabilitas dan
komponen dimungkinkan untuk melakukan maintainabilitas. [CRN97]. Bagian ini akan
komunikasi dengan komponen yang lainnya memberikan gambaran tentang beberapa aspek dari
sehingga dapat digunakan oleh banyak aplikasi yang teknologi komponen.
besar dan beragam dalam suatu jaringan komputer.
Teknologi ini juga sering disebut dengan istilah 2.1 Definisi Komponen
middleware, maksudnya komponen yang dibuat
Komponen adalah entitas yang dapat
dijadikan sebagai penghubung antara front-end dan
digunakan oleh beberapa program yang berbeda.
back-end application.
Komponen menyediakan model standar untuk
Teknologi berbasis komponen
pemaketan layanan-layanan. Pada sebuah aplikasi
dimplementasikan oleh Microsoft dengan teknologi
yang menggunakan komponen, komponen hanyalah
COM dan DCOM (Distributed Common Object
sebuah kotak hitam, karena semua data dan
Model), OMG (Object Management Group)
implementasi detail yang dimiliki oleh sebuah
mengimplementasikannya dengan teknologi
komponen disembunyikan. Layanan dari sebuah
CORBA (Common Object Request Broker
komponen dibuka melalui public interfaces. Saat ini
Architecture), sedangkan sun mengimplementasi-
tools untuk pembuatan komponen telah mendukung
kannya dengan JavaBean dan Entreprise Java Bean
penggunaan interface. [BRI01]
(EJB). Ketiga teknologi ini dirancang dengan tujuan
Dari literatur yang lain, istilah komponen
yang sama, yaitu sebagai platform independen yang
adalah bagian dari perangkat lunak dalam bentuk
memungkinkan terjadinya komunikasi antar objek
binary form, dapat disebarkan (deployed) secara
dalam jaringan komputer.
bebas (dapat dimuat kedalam sistem secara dinamis,
Di dalam makalah ini, akan dilakukan kajian
ataupun diganti secara dinamis). Komponen harus
terhadap teknologi pengembangan perangkat lunak
memiliki mekanisme yang memungkinkan untuk
berbasis komponen sekaligus menerapkannya
berintegrasi dengan sistem tanpa modifikasi dan
dengan cara membuat komponen-komponen
mengembangkan ulang sistem. [KIR98]
terdistribusi (DISTSIMAKServer).
Suatu komponen dianggap sebagai language-
Untuk menguji komponen yang dibuat, maka
neutral. Artinya bahwa sejumlah komponen dapat
dalam makalah ini komponen yang dibuat akan
ditulis dalam bahasa yang berbeda. Ini berarti bahwa
diimplementasikan dalam studi kasus protipe Sistem

A-19
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6
Yogyakarta, 18 Juni 2005

meskipun komponen-komponen tersebut dirancang makalah ini istilah komponen dikaitkan dengan
dan disebarkan dalam bahasa yang berbeda namun simple component.
mereka dapat bekerja bersama. [BRO00]
Suatu komponen dapat diimplementasikan 2.2 Komponen Terdistribusi
terbebas dari komponen yang lainnya. Hal ini
Komponen terdistribusi adalah komponen
dimungkinkan sebab komponen terenkapsulasi,
perangkat lunak yang disimpan di mesin yang
dimana masing-masing komponen memiliki unit
terpisah dengan aplikasi klien dan difasilitasi oleh
kecil dari pengembangan dan pengujian. Suatu
protokol komunikasi yang ditambahan kedalam
komponen tidak dibatasi untuk dapat dijalankan
komponen dasar. Dengan memisahkan komponen
pada platform tunggal, karena dimungkinkan untuk
dari aplikasi klien diharapkan dapat memudahkan
membuat deployment yang berbeda untuk suatu
pengembang dalam melakukan perubahan fitur dan
komponen agar dapat dijalankan pada beberapa
implementasi dari komponen di kemudian hari,
platform. [BRI01]
tanpa harus mengkompilasi ulang aplikasi yang ada
Meskipun sebagian besar komponen dibuat
di klien.
untuk memenuhi kebutuhan dari suatu aplikasi,
Komponen-komponen terdistribusi biasanya
namun setiap kali suatu komponen dibuat dan
dikelola oleh suatu kakas yang berfungsi untuk
disebarkan, maka sangatlah mungkin untuk
mengelola dan memonitor aktifitas dari komponen.
menggunakan komponen tersebut pada aplikasi yang
Contoh dari kakas ini adalah Microsoft Transaction
berbeda. Selama interface dari komponen tersebut
Server.
memenuhi kebutuhan pengguna, maka komponen
yang sama dapat digunakan untuk mengembangkan
2.3 Aplikasi Terdistribusi
atau meningkatkan aplikasi yang lain. [KIR98]
Kegunaan dari komponen adalah untuk Arsitektur aplikasi adalah pandangan secara
menyediakan beberapa layanan yang dapat konseptual terhadap struktur dari sebuah aplikasi.
digunakan oleh sistem yang berada di Pada umumnya sebuah aplikasi terdiri dari kode
lingkungannya. Lingkungan dari komponen dapat program untuk pengolahan data, business logic dan
terdiri dari komponen lain, aplikasi, dan lain user interface. Di dalam pengembangan aplikasi
sebagainya. Layanan yang disediakan oleh enterprise tradisional digunakan paradigma yang
komponen kepada lingkungannya diakses melalui bersifat monolitik, artinya basis data, business logic
satu atau lebih interface. Spesifikasi Interface dapat dan user interface digabung kedalam satu aplikasi
dipandang sebagai sebuah kontrak, yang terjadi yang sama. Akibatnya ketika terjadi perubahan,
antara komponen yang menyediakan seluruh sistem perlu dikompilasi ulang, sementara
(mengimplementasi) layanan tertentu dan lingkunan perubahan yang dilakukan tidak terlalu banyak.
yang menggunakan layanan tersebut. [BRO00] Kelemahan lainnya, reusability dari modul-modul
Komponen terdiri dari beberapa properti yang sangat rendah. [STA00]
menggambarkan karakteristik dari komponen Jenis-jenis arsitektur aplikasi terdistribusi
tersebut. Komponen seharusnya bersifat yang dikenal dalam lingkungan pengembangan
composable, artinya sebuah komponen bukanlah perangkat lunak diantaranya adalah:
merupakan sebuah aplikasi lengkap, melainkan
merupakan bagian dari sebuah keseluruhan sebuah 2-Tier Client-Server on Intranet
aplikasi. Dengan kata lain, sebuah komponen 2-Tier Client-Server on Internet
seharusnya menyediakan beberapa fungsionalitas 3-Tier Client-Server on Intranet
yang digabungkan dengan fungsionalitas yang 3-Tier Client-Server on Internet
disediakan oleh komponen lain untuk memperoleh
aplikasi yang lengkap. Suatu komponen harus dapat Saat ini aplikasi yang ada sebagian besar
digunakan oleh beberapa aplikasi, meskipun menggunakan arsitektur 2-tier atau lebih dikenal
terkadang terdapat komponen yang sangat spesifik dengan aplikasi client/server yang dijalankan di
sehingga sulit untuk digunakan ulang pada aplikasi intranet maupun internet. Pada arsitektur ini, klien
yang lain. menangani kode untuk pemrosesan data dan
Komponen dapat diklasifikasikan dalam 2 antarmuka dengan pemakai dari aplikasi. Sedangkan
kategori yaitu simple and composite components. data disimpan dan dikelola oleh komputer server.
Jika kelakuan dari sebuah komponen dihasilkan dari Untuk mengakses data yang diperlukan maka
sekumpulan binary code, maka komponen tersebut komputer klien melakukan hubungan secara
dikategorikan sebagai simple component. langsung ke komputer server, dan hubungan ini
Sedangkan, jika kelakuan dari komponen seringkali dilakukan selama aplikasi dijalankan.
merupakan hasil penggabungan dari beberapa Arsitektur 2-tier bekerja dengan baik pada
komponen, maka komponen tersebut dikategorikan lingkungan yang banyaknya pemakai terbatas,
sebagian composite components. namun jika digunakan pada sistem dengan jumlah
Composite components sering juga disebut pemakai yang sangat banyak, kinerja dari sistem
dengan istilah compound components. Dalam akan berkurang. Hal ini dikarenakan terbatasnya

A-20
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6
Yogyakarta, 18 Juni 2005

hubungan yang tersedia antara Klien dan Server. 2.4 Keterkaitan Komponen dan Aplikasi
Selain itu aplikasi yang ada pada klien relatif Terdistribusi
berukuran besar, karena setiap aplikasi di klien
Komponen tidak hanya dapat digunakan
mengandung kode untuk pemrosesan data (sering
untuk mengembangkan aplikasi terdistribusi. Dalam
disebut dengan istilah fat client). Repotnya lagi, jika
pengembangan aplikasi tidak terdistribusi,
kode untuk pemrosesan data memerlukan
pengembang perangkat lunak dapat menggunakan
perubahan, maka aplikasi harus didistribusikan
komponen sebagai bagian dari aplikasi yang
ulang ke seluruh komputer yang ada pada klien.
dikembangkan. Biasanya komponen yang digunakan
Kemudian timbul ide untuk melakukan
adalah komponen untuk user interface dan data
sedikit perbaikan dengan cara memindahkan kode
access. Contohnya adalah pada aplikasi yang
untuk pemrosesan data kepada komputer server.
dikembangkan dengan menggunakan Delphi,
Misalnya dengan menggunakan fitur Stored
dimana untuk keperluan masukan dan keluaran dari
Procedures, yang disediakan oleh beberapa DBMS
aplikasi, pengembang aplikasi yang menggunakan
Server. Arsitektur ini terkadang disebut dengan
Delphi menggunakan komponen-komponen yang
arsitektur "two-and-a-half tier.". Namun dari segi
sudah disediakan oleh Borland dan pengembang lain
scalability dan reuseability, arsitektur ini masih
yang mengembangkan komponen-komponen untuk
memiliki keterbatasan. Masalah keterbatasan
dapat digunakan pada Delphi. Sedangkan
scalability dan reuseability ini akhirnya dapat
pengembang yang menggunakan Visual Basic,
diperbaiki secara siginifikan dengan
menggunakan kontrol-kontrol untuk
diperkenalkannya arsitektur 3-tier. Pada model ini,
mengembangkan aplikasi terutama untuk user
kode untuk antarmuka dengan pemakai, pemrosesan
interface dan data access. Pada dasarnya kontrol
data dan pengaksesan data dipisahkan satu dengan
adalah komponen yang dibangun dengan
yang lainnya, namun perlu dicatat bahwa pemisahan
menggunakan teknologi COM yang disimpan dalam
yang dilakukan hanya pada sisi logik saja, bukan
sebuah file yang memiliki ekstensi OCX.
pemisahan secara fisik. Hebatnya lagi, kode-kode itu
Terdapat beberapa pengertian tentang
tidak perlu ditulis dalam bahasa yang sama, tidak
aplikasi terdistribusi. Pengertian yang pertama
perlu pula berada platform yang sama ataupun pada
adalah adanya pengembang yang memiliki
mesin yang sama. Arsitektur 3-tier dapat dilihat pada
pandangan bahwa jika basis data yang dikelola oleh
gambar berikut
aplikasi dipisahkan dari aplikasi dengan cara
menyimpannya pada mesin yang lain (1-tier
Error! Not a valid link.
application) maka aplikasi tersebut dapat
Arsitektur 3-Tier. [KIR98]
dikategorikan sebagai sebuah aplikasi terdistribusi.
Pengertian yang kedua adalah adanya pengembang
Dengan menggunakan model arsitektur 3-tier
yang memiliki pandangan bahwa jika basis data
, maka sumber daya yang ada misalnya koneksi ke
dikelola oleh DBMS Server, sedangkan aplikasi
basis data dapat digunakan bersama oleh beberapa
hanya terdiri dari User Interface dan Business
klien. Pada arsitektur ini klien tidak lagi
Services (2-tier application) maka aplikasi tersebut
berhubungan secara langsung dengan data server,
dapat dikategorikan sebagai sebuah aplikasi
karena komunikasi untuk melakukan permintaan
terdistribusi. Pengertian yang ketiga adalah adanya
data dilakukan melalui business service. Hal ini
pengembang yang memiliki pandangan bahwa
berbeda dari komunikasi klien dan database pada
sebuah aplikasi dikategorikan sebagai aplikasi
aplikasi 2-tier.
terdistribusi, jika kode untuk user interfaces,
Pada aplikasi yang menggunakan arsitektur
business services, dan data access dipisahkan satu
3-tier, kode untuk antarmuka dengan pemakai,
dengan yang lainnya.
pemrosesan data dan pengaksesan data dipisahkan
Dalam makalah ini, penulis sependapat
satu dengan yang lainnya. Karena adanya pemisahan
dengan pengertian yang ketiga. Sehingga hubungan
ini, maka mulailah diperkenalkan istilah Service
antara komponen dan aplikasi terdistribusi
Model.
ditekankan pada penggunaan komponen yang berada
Service Model adalah cara yang digunakan
di lapisan Business Services. Dalam pengembangan
untuk mengelompokkan komponen-komponen yang
aplikasi terdistribusi berbasis komponen, komponen
dibuat dalam sebuah aplikasi yang menggunakan
untuk business services ini sering disebut dengan
arsitektur 3-tier. Ada tiga service model yang
istilah middleware.
dikenal, yaitu: [JER99]
3. Studi Kasus
User Services / Presentation Layer
Business Services / Business Layer Untuk menerapkan teknologi pengembangan
Data Services / Data Access Layer perangkat lunak berbasis komponen terdistribusi
yang menjadi kajian dalam penulisan makalah ini,
maka diperlukan suatu implementasi dalam bentuk
studi kasus. Dalam memilih studi kasus yang akan

A-21
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6
Yogyakarta, 18 Juni 2005

dibuat, penulis memutuskan untuk mengembangkan Melakukan tinjauan terhadap aplikasi SIMAK.
ulang aplikasi yang pernah dikembangkan oleh Melakukan ReEngineering aplikasi SIMAK
penulis. Dari sekian banyak aplikasi yang pernah pada aplikasi DISTSIMAK.
dikembangkan oleh penulis, maka penulis memilih
untuk mengembangkan ulang ( Reengineering ) Sebelum dilakukan pembahasan mengenai
aplikasi Sistem Informasi Akademik (SIMAK) di pekerjaan-pekerjaan tersebut, terlebih dahulu akan
STMIK Mardira Indonesia yang dikembangkan dilakukan perbandingan terhadap aplikasi SIMAK
dengan arsitektur 2-tier dan metodologi dan DISTSIMAK yang dilakukan pada beberapa
pengembangan konvensional, menjadi Distributed sisi. Hal ini dilakukan untuk memperjelas
Sistem Informasi Akademik (DISTSIMAK) yang perbedaaan maupun perubahan yang terjadi dari
menggunakan arsitektur 3-tier. Alasan yang ketiga aplikasi tersebut. Perbandingan tersebut dapat
mendasari dilakukannya reengineering terhadap dilihat pada berikut ini.
aplikasi SIMAK, adalah:
1. Dikaitkan dengan karakteristik teknologi Perbandingan SIMAK dan DISTSIMAK
pengembangan perangkat lunak berbasis No Aspek SIMAK DISTSIMAK
komponen maka SIMAK cocok untuk 1 Arsitektur 2-tier 3-tier
2 Paradigma Service Model Service Model
dikembangkan ulang dengan menggunakan 3 Model Aliran Data CBD
teknologi tersebut. Proses (Component
a. Aplikasi-aplikasi yang ada pada sebuah Based
enterprise, dapat menggunakan komponen Development)
yang sama tanpa harus mengkompilasi 4 Metodologi Data Oriented Object Oriented
5 DBMS Microsoft Access Sybase
ulang aplikasi jika terjadi perubahan 6 Platform Windows Family Windows
implementasi pada komopnen yang Family
digunakan. Dengan mengembangkan ulang 7 Tipe Windows Based Windows dan
SIMAK melalui metodologi berbasis Aplikasi WEB Based
8 Aksi Use Use, dan Create
komponen maka akan komponen-
terhadap
komponen yang dibuat oleh aplikasi Komponen
SIMAK akan dapat digunakan oleh aplikasi 9 Model COM DCOM
lain di lingkungan STMIK Mardira Komponen
Indonesia. 10 Bahasa VB dan Delphi VB, ASP, dan
Pemrograma Delphi
b. Karena komponen menjadi bagian utama n
dari perangkat lunak, maka jika dilakukan 11 Kakas - Power Designer
perubahan pada aturan bisnis, tidak perlu Pemodelan dan Rational
dilakukan perubahan pada aplikasi-aplikasi Rose
12 Notasi - UML
yang ada, melainkan cukup dilakukan pada Pemodelan
komponen yang membentuk aplikasi
tersebut.
3.1 Tinjauan Terhadap Aplikasi SIMAK
c. Dengan digunakannya komponen, maka
aplikasi pada klien akan menjadi semakin Tinjauan terhadap aplikasi SIMAK
tipis ( thin client ) yang mengakibatkan dilakukan dengan tujuan untuk mengetahui beberapa
tidak diperlukannya sumber daya komputer hal yang terkait dengan SIMAK ditinjau dari
yang terlalu tinggi. berbagai aspek, yaitu:
2. Terdapat beberapa kelemahan dari arsitektur Spesifikasi
aplikasi SIMAK, diantaranya: Aspek ini perlu ditinjau ulang dengan tujuan agar
a. Business logic pada SIMAK masih penulis dapat menentukan spesifikasi
digabungkan kedalam presentation logic. masukan,proses dan keluaran yang harus ada
b. Tidak adanya dokumentasi perangkat lunak pada DISTSIMAK.
SIMAK, mengakibatkan kesulitan saat Arsitektur
dilakukan pemeliharaan terhadap aplikasi Aspek ini perlu ditinjau ulang dengan tujuan agar
SIMAK. dapat dilihat perbedaan arsistektur antara
c. Perlunya intalasi ulang pada semua klien SIMAK dan DISTSIMAK.
saat dilakukan perubahan. Basis Data
d. Tingginya sumber daya komputer yang Aspek ini perlu ditinjau ulang dengan tujuan
dibutuhkan oleh setiap klien karena semua untuk dapat dijadikan sebagain acuan untuk
kode program dibebankan terhadap menentukan basis data yang harus ada pada
komputer klien. DISTSIMAK.

Dengan demikian dalam pembuatan studi


kasus pada makalah ini akan dilakukan pekerjaan-
pekerjaan berikut:

A-22
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6
Yogyakarta, 18 Juni 2005

3.1.1 Spesifikasi SIMAK Power Designer. Hasilnya diketahui bahwa basis


data SIMAK terdiri dari beberapa tabel, yaitu:
Masukan dari SIMAK adalah data akademik
dan keuangan mahasiswa yang diperlukan dan
Absensi_Dosen Agama
dimasukkan oleh operator aplikasi SIMAK. Data
Bagian Bayar_Per_Semester
yang dimasukkan terdiri dari data mahasiswa, dosen,
Bayar_Per_Tahun Bayar_Sekali
kurikulum, registrasi, pembayaran uang kuliah , nilai
Biaya Biodata_Dosen
dan lain-lain.
Biodata_Mahasiswa Biodata_Staff
Proses yang dilakukan adalah melakukan
Datum Datum1
proses penghitungan dan rekapitulasi data akademik
Dosen Extra_Jadwal
yang telah dimasukkan. Proses yang terdapat dalam
Golongan_Darah Hak_Akses
perangkat lunak ini diantaranya penghitungan IPK,
Hari IPK
pembuatan transkrip, merekap jumlah mahasiswa
Item_Kwitansi Jadwal
yang melakukan registrasi dan lain-lain.
Jadwal_UAS Jadwal_UTS
Keluaran perangkat lunak SIMAK adalah berupa
Jam Jenis_Kelamin
informasi data akademik, misalnya Kartu Hasil
Jenis_Kwitansi Jenis_Mata_Kuliah
Studi, Kartu Studi Mahasiswa dan lain-lain.
Jurusan Kelas
Keterangan_Mata_Kuliah Kewarganegaraan
3.1.2 Arsitektur SIMAK
KHS KHS_Pindahan
SIMAK diimplementasikan dengan Kota Kwitansi
menggunakan arsitektur 2-tier dengan mode multi- Lembaga Log_Book
user. Aplikasi SIMAK terdiri atas beberapa file Mahasiswa Mata_Kuliah
eksekusi yang berhubungan langsung dengan Nilai Orangtua
pengguna dan berisi modul-modul seperti diuraikan Pekerjaan Pemakai
pada 4.1.1. File eksekusi ini menggunakan Pendidikan Rekap_Nilai
komponen dan paket ( lihat bagian 4.1.4 ) yang Ruangan Semester
melakukan perubahan terhadap data yang disimpan Staff Status_Dosen
pada file basis data yang disimpan pada komputer Tahun_Akademik Transfer
server. Basis data SIMAK dikelola oleh DBMS Transkip Uraian_Kwitansi
Microsoft Access. Arsitektur dari SIMAK dapat
dilihat pada gambar berikut. 3.2 Reengineering SIMAK menjadi
DISTSIMAK
Tahapan Reengineering SIMAK menjadi
DISTSIMAK dibagi kedalam 2 bagian, yaitu:
Analisis dan Perancangan DISTSIMAK
Analisis komponen DISTSIMAKServer dan
perancangan interface beserta kelas-kelas yang
mengimplementasikan kode dari beberapa
interface yang ada pada DISTSIMAKServer,
dimana komponen DISTSIMAKServer
merupakan bagian penting dari prototipe aplikasi
DISTSIMAK.

Arsitektur Aplikasi SIMAK 3.2.1 Analisis dan Perancangan DISTSIMAK


Pada makalah ini, untuk tahapan analisis,
SIMAK menggabungkan seluruh layanan diagram UML yang digunakan adalah Use Case
aplikasi yang terbagi atas beberapa modul dalam Diagram. Use Case Diagram digunakan dengan
satu wadah, sehingga aplikasi SIMAK bersifat fat tujuan untuk memodelkan kelakuan sistem, dan juga
client. Untuk mengimplementasikan seluruh layanan untuk menggambarkan requirement perangkat lunak.
tersebut telah digunakan beberapa komponen dan Di dalam Use Case Diagram digambarkan aktor, use
kontrol yang disediakan oleh bahasa pemrograman case, dan relasi keduanya. Use case adalah deskripsi
Delphi dan VB, maupun komponen dan kontrol aksi yang dilakukan sistem. Aktor menggambarkan
yang dibuat sendiri oleh penulis. peran yang dimainkan pengguna use case pada saat
melakukan interaksi dengan use case. Use Case
3.1.3 Basis Data SIMAK Diagram dan penjelasan selengkapnya dapat dilihat
Dalam melakukan tinjauan terhadap basis pada SPL_DISTSIMAK.
data SIMAK yang menggunakan DBMS Microsoft Diagram lain yang digunakan adalah Object
Access, dilakukan proses reverse engineering pada Diagram, Class Diagram, Component Diagram
basis data SIMAK dengan menggunakan kakas dan Sequence Diagram yang menggambarkan

A-23
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6
Yogyakarta, 18 Juni 2005

interaksi antar obyek dan relasinya. Diagram ini 3.2.3 Arsitektur DISTSIMAK
merupakan aspek dinamis dari sistem. Sequence
DISTSIMAK diimplementasikan dengan
Diagram ditunjukkan pada SPL-DISTSIMAK.
menggunakan arsitektur 3-tier pada jaringan
Semua diagram yang digunakan dalam
Intranet. Alasan pemilihan arsitektur 3-tier karena
makalah ini menggunakan tool Rational Rose, yang
arsitektur ini mendukung konsep reuse, hal ini
sekaligus dapat digunakan untuk menguji diagram
dirasakan perlu karena:
yang dibuat.
Aplikasi yang baru, dikembangkan pada level
Secara umum, fungsi dari perangkat lunak
tertinggi dibandingkan dengan data sederhana
DISTSIMAK adalah untuk menerapkan teknologi
dan kelas-kelas untuk string.
pengembangan perangkat lunak berbasis komponen.
Penggunaan ulang dari Business Components
Selain itu perangkat lunak ini dapat digunakan untuk
mempengaruhi investasi pada sisi server dalam
membantu pengelolaan administrasi akademik di
aspek arsitektur dan pemodelan.
STMIK Mardira Indonesia, meskipun untuk saat ini
fitur yang disediakan masih dibatasi.
Aplikasi DISTSIMAK terdiri file eksekusi
Fungsi-fungsi yang dimiliki perangkat lunak
yang berhubungan langsung dengan operator
DISTSIMAK, secara umum adalah:
DISTSIMAK dan berisi modul-modul. File
Pengelolaan dan pemrosesan data yang menjadi
eksekusi ini menggunakan komponen dan paket
entitas utama dari sistem akademik.
yang melakukan perubahan terhadap data yang
Pengelolaan dan pemrosesan data kurikulum.
disimpan pada file basis data yang disimpan pada
Pengelolaan dan pemrosesan data registrasi.
komputer server. Basis data DISTSIMAK dikelola
Pengelolaan dan pemrosesan data nilai.
oleh DBMS Sybase SQL Server.
Dalam pengembangan studi kasus
DISTSIMAK akan digunakan teknologi berbasis
komponen. Model komponen yang akan digunakan
adalah DCOM, arsitektur yang digunakan 3-tier
client/server intranet, untuk memodelkan sistem
akan digunakan bahasa UML, sedangkan dalam
implementasi perangkat lunak akan digunakan
bahasa pemrograman Delphi dan Visual Basic.
Dipilihnya kedua bahasa ini didasari kepada
pertimbangan bahwa kedua bahasa tersebut
memberikan dukungan penuh terhadap seluruh
aspek yang digunakan dalam mengembangkan studi
kasus DISTSIMAK. Dukungan tersebut berupa:
Dukungan terhadap pembuatan program dengan
arsitektur 3-tier. Arsitektur Distributed SIMAK
Dukungan terhadap konsep software reuse.
Visual Basic didukung oleh kakas Rational Rose, 3.2.4 Perancangan DISTSIMAK
sehingga dapat dilakukan integrasi antara model Untuk melakukan perancangan perangkat
yang dibuat dengan bahasa UML dengan lunak DISTSIMAK yang akan dibuat, digunakan
program yang dibuat dengan Visual Basic. diagram UML yaitu Class Diagram, Component
Dukungan penuh terhadap teknologi DCOM. Diagram, dan Sequence Diagram. Penggunaan
diagram dan penjelasannya secara terperinci dapat
3.2.2 Hasil yang Diharapkan dilihat pada SPL-DISTSIMAK. Bagian ini hanya
Dengan adanya perubahan arsitektur dari 2- mengemukakan perancangan perangkat lunak secara
tier ke 3-tier, diharapkan perangkat lunak sebagai global.
pengganti dari SIMAK dapat memenuhi hal-hal Tahapan yang diambil dalam perancangan
berikut: perangkat lunak DISTSIMAK adalah:
Dengan digunakannya komponen 1. Perancangan masukan dan keluaran
DISTSIMAKServer maka fungsi bisnis dari 2. Perancangan aspek statis perangkat lunak, yang
DISTSIMAK dapat diimplementasikan dengan meliputi penentuan struktur data internal,
mudah. penentuan kelas dan hubungan antar kelas yang
Kemudahan dalam melakukan evolusi sistem terjadi. Diagram yang digunakan adalah class
melalui penggunaan komponen untuk server-side diagram.
yang membungkus aplikasi dan data. 3. Perancangan aspek dinamis, yang meliputi
Kemudahan dalam modularitas dan penghidupan obyek, pemanggilan layanan yang
interoperabilitas dengan aplikasi lain melalui disediakan obyek, dan pemusnahan obyek.
componentization seluruh aplikasi. Diagram yang digunakan adalah collaboration
diagram dan sequence diagram.

A-24
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6
Yogyakarta, 18 Juni 2005

a. Perancangan Masukan dan Keluaran properti ini tidak menjadi kebutuhan utama dari
Perancangan masukan dan keluaran meliputi aplikasi yang dikembangkan sebagai studi kasus.
masukan yang diberikan pengguna, sedangkan e. Dalam pembuatan komponen-komponen yang
keluarannya adalah keluaran secara visual dan akan digunakan dalam studi kasus, maka model
keluaran yang berbentuk report yang dapat komponen yang akan digunakan harus dapat
ditampilkan pada layar monitor, maupun dicetak ke dapat memberikan solusi terhadap permasalahan
kertas melalui printer. berikut:
Basic Interoperability
b. Perancangan Aspek Statis Bagaimana suatu komponen yang
Pada perancangan aspek statis, yang dikembangkan oleh suatu pengembang
dikemukakan adalah struktur data internal yang dapat diyakinkan untuk dapat interoprate
digunakan untuk menyimpan informasi, serta kelas dengan komponen lain yang dikembangkan
yang diperlukan oleh DISTSIMAK. oleh pengembang yang berbeda.
Untuk menyimpan semua infomasi yang ada Versioning
pada perangkat lunak DISTSIMAK digunakan Bagaimana mengupgrade suatu komponen
objek-objek yang merupakan instance dari kelas- tanpa memerlukan upgrade pada komponen
kelas yang ada pada komponen yang digunakan oleh lain pada suatu sistem?.
perangkat lunak DISTSIMAK. Gambar berikut Language independence
menunjukkan Object Diagram pada perangkat Bagaimana komponen-komponen yang
lunak DISTSIMAK. ditulis dalam bahasa yang berbeda dapat
saling berkomunikasi?.
c. Perancangan Aspek Dinamis Transparent cross-process interoperability
Pada perancangan aspek dinamis, yang Bagaimana memberikan keleluasaan
diketengahkan adalah pengorganisasian obyek dan kepada pengembang untuk membuat suatu
interaksi yang terjadi antar objek. komponen untuk dapat dijalankan dalam
mode in-process atau cross-process,
3.2.5 Pembuatan Komponen dengan menggunakan model pemrograman
DISTSIMAKSERVER yang sederhana.
Pada makalah ini akan dibuat komponen
Dari hasil eksplorasi yang dilakukan penulis
DISTSIMAKServer yang dapat digunakan dalam
terhadap model komponen DCOM, penulis
lingkungan komputasi terdistribusi khususnya untuk
menemukan fakta bahwa fitur-fitur yang disediakan
aplikasi DISTSIMAK yang menggunakan arsitektur
DCOM sangat mendukung untuk memecahkan
3-tier.
masalah tersebut. Adapun fitur-fitur yang dimiliki
Model komponen yang digunakan oleh
DCOM adalah :
penulis adalah DCOM. Alasan-alasan yang
Komunikasi antar komponen, baik antar proses
mendasari digunakannya model komponen ini
maupun dalam batasan
adalah:
Manajemen memori secara bersama antar
a. Bahasa pemrograman yang digunakan saat
komponen
implementasi adalah Delphi dan VB. Kedua
Pelaporan status dan kesalahan
bahasa ini memberikan dukungan penuh
Pemuatan komponen secara dinamis.
terhadap teknologi DCOM ( lebih jelasnya lihat
bagian lampiran). Apalagi DCOM dan VB
4. Kesimpulan
dikembangkan oleh vendor yang sama yaitu
Microsoft, sehingga interaksi diantara keduanya Dari uraian diatas dapat disimpulkan bahwa
sangatlah erat. untuk membangun perangkat lunak berbasis
b. Platform yang digunakan oleh aplikasi yang komponen, diperlukan syarat-syarat sebagai berikut :
dibuat adalah keluarga dari Windows, dengan a. Pemahaman terhadap teknologi pengembangan
demikian penggunaan DCOM untuk digunakan perangkat lunak berbasis komponen .
pada platform menjadi mudah. b. Pengetahuan tentang kemampuan dari beberapa
c. Aspek usabilitas, robustness, simple instalation, tools yang mendukung teknologi yang dikaji.
dan integration yang menjadi fitur utama yang c. Pembuatan komponen-komponen terdistribusi ,
harus dimiliki perangkat lunak saat ini dapat yang dapat digunakan oleh pemrogram yang
terpenuhi dipenuhi oleh point a,b. mengembangkan perangkat lunak berbasis
d. Properti yang harus dimiliki oleh sebuah komponen terdistribusi.
komponen terdistribusi seperti diuraikan pada
bab II, semuanya dimiliki oleh DCOM meskipun Daftar Pustaka
untuk beberapa properti seperti dukungan
[BAS98] Bass L., Clements P., Kazman R.Britton,
terhadap cross-platform, Common Services,
Software Architectures in Practice.
Transparently tidak terlalu baik, namun properti-
Addison-Wesley, 1998

A-25
Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005) ISBN: 979-756-061-6
Yogyakarta, 18 Juni 2005

[BRI01] Britton, Chris. IT Architectures and [PRE97] Pressman, Roger. Software Engineering.
Middleware. Addison-Wesley, 2001 McGraw-Hill, 1997
[BRO90] Brock, Rebecca., Wiener, Lauren.,
Wilkerson, Brian., Designing Object [SCH99] Schmuler, Joseph. Teach Yourself UML
Oriented Software. Prentice-Hall. 1990. in 24 Hours. Sams Publishing, 1999
[BRO00] Brown A., Large-scale Component- [STA00] Stamatakis, William. Microsoft Visual
based Development. Prentice Hall, 2000 Basic Design Patterns. Microsoft Press,
[BOS00] Bosch J., Design and Use of Software 2000
Architectures. Addison-Wesley, 2000 [WAL01] Wallnau K. and Stafford J., Ensembles:
[CAN99] Cantu, Marco. Mastering Delphi Abstractions for a New Class of Design
5.Sybex, 1999 Problem, 27 th Euromicro Conference
[COA91] Coad, Peter., Yourdon, Edward., Object 2001 Proceedings, IEEE Computer
Oriented Design. Prentice-Hall. 1991. society, 2001, pp. 48-55
[COA93] Coad, Peter., Nicola,Jill., Object [XML03] Extensible Markup language(XML),
Oriented Programming. Prentice-Hall. http://www.w3.org/XML , Access Date
1993. 2003-05-27
[CRN00a] Crnkovic Ivica.,Larsson Magnus , New [VOA00] Voas J. and Payne J., Dependability
Paradigm of Software Development. Certification of Software Components,
Addison-Wesley, 2000 Journal of Systems and Software, No. 52,
[CRN00b] Crnkovic I., Larsson M., Küster Filipe J. 2000, pp. 165-172.
K., Lau K., Databases and Information
Systems, Fourth International Baltic
Workshop, Baltic DB&IS, Selected
papers, Kluwer Academic Publishers
2001, pp.237-252
[CRN97] Crnkovic, Ivica., Larsson, Magnus.,
Component-Base Software Engineering.
Microsoft Press, 1997
[HEI01] Heineman G. and Councill W.
Component-based Software Engineering,
Putting the Pieces Together. Addison
Wesley, 2001
[HEN97] Henderson, Ken. Client/Server
Developer’s Guide With Delphi 3. Sams
Publishing, 1997
[JER99] Jerke, Noel, et. al. Visual Basic 6
Client/Server How-To. Sams Publishing,
1999
[KIR98] Kirtland, Mary. Designing Component-
Based Applications. Microsoft Press,
1998
[KOT01] Kotonya G. and Rashid A., A strategy for
Managing Risks in Component-based
Software Development,27 th Euromicro
Conference 2001 Proceedings, IEEE
Computer society, 2001, pp. 12-21
[LIB99] Liberty, Jesse, et. al. Object Oriented
Analysis and Design. Sams Publishing,
1999
[MOR01] Morris J., Lee G., Parker K., Bundell G.,
Peng Lam C., "Software Component
"Certification", IEEE Computer, 2001,
September
[MRV97] Mrva M., Reuse Factors in Embedded
System Design, High-Level Design
Techniques Dept. At Siemens AG, 1997
[OPC03] OPC Foundation,
http://www.opcfoundation.org/, Access
Date 2003-04-17

A-26

Anda mungkin juga menyukai