ustek sistem informasi
Post on 03-Dec-2015
350 Views
Preview:
DESCRIPTION
TRANSCRIPT
08Fall
Rencana Proyek Pembangunan
Sistem Informasi TerintegrasiPT. INDUSTRI TELEKOMUNIKASI INDONESIA (PERSERO)
[ P T . Z a n t a r a L i n t a s I n f o r m a s i ]K o m p l e k s R u k o B a t u n u n g g a l I n d a h J l . B a t u n u n g g a l I n d a h 1 1 2 B a n d u n g 4 0 2 6 6
SISTEM INFORMASI
PT. INDUSTRI TELEKOMUNIKASI INDONESIA
1. ARSITEKTUR PERANGKAT LUNAK
Arsitektur perangkat lunak yang digunakan adalah arsitektur multitier berbasis web. Dalam arsitektur
multitier sistem secara keseluruhan dibagi menjadi 3 bagian yang merupakan aplikasi-aplikasi yang
berbeda.
Ketiga bagian itu adalah:
A. Lapis Data
Lapis data terdiri dari aplikasi yang
bertugas untuk membaca dan
menyimpan data. Untuk jumlah data
yang besar diperlukan sebuah
Relational Database Management
System yang berupa aplikasi server.
Sebuah RDBMS berkomunikasi dengan
lapis yang lain dengan menggunakan
bahasa pemrograman SQL (Structured
Query Language). SQL distandarisasi
oleh ISO dan implementasinya diikuti
oleh mayoritas vendor server database.
B. Lapis Logika
Lapis logika terdiri dari aplikasi yang melakukan pemrosesan dan perhitungan data. Seluruh
aturan-aturan yang dijalankan oleh sistem terletak di dalam lapis logika ini. Lapis logika juga
mengatur komunikasi data dengan lapis data dan lapis presentasi. Lapis logika umumnya
berupa sebuah server aplikasi yang tereksekusi secara terpisah dari lapis-lapis lainnya. Untuk
sistem berbasis web, server aplikasi ini disebut server web. Komunikasi server web dengan
lapis data dilakukan dengan menggunakan bahasa pemrograman SQL(Structured Query
Language), sedangkan komunikasi dengan lapis presentasi dilakukan melalui protokol HTTP
(HyperText Transfer Protocol).
C. Lapis Presentasi
Lapis presentasi berfungsi untuk menampilkan antar muka aplikasi kepada pengguna
aplikasi. Pengguna melakukan pemasukan data, melihat data, mengubah data, dan membuat
laporan di aplikasi ini. Untuk aplikasi berbasis web umumnya aplikasi ini berupa sebuah
browser yang dapat menerjemahkan file-file berformat HTML (HyperText Markup Language),
2
Gambar 1 Arsitektur Multi-tier
CSS (Cascading Style Sheet), dan JavaScript yang dikirimkan oleh lapis logika menjadi
sebuah tampilan visual yang interaktif. Selain menggunakan browser untuk keperluan khusus
aplikasi pada lapis presentasi dapat pula berupa aplikasi desktop yang memroses data
berformat XML (eXtensible Markup Language) yang dikirimkan oleh aplikasi di lapis logika.
Format XML yang umum digunakan adalah format XML-RPC (XML Remote Precedure Call)
atau SOAP (Simple Object Access Protocol).
Sistem multitier digunakan agar masing-masing bagian dapat dikembangkan atau diupgrade secara
terpisah. Pemusatan pemrosesan dan penyimpanan data pada lapis data dan lapis logika juga berarti
bahwa pengelolaan aturan-aturan dapat dilakukan secara cepat dan terpusat di satu tempat. Hal ini
menghindari terjadinya adanya aplikasi yang berbeda versinya dapat berjalan pada saat yang sama.
Sedangkan aplikasi pada lapis presentasi dapat terletak dalam banyak komputer yang dapat
digunakan oleh banyak pengguna pada saat yang bersamaan.
2. MODUL FUNGSIONAL PERANGKAT LUNAK
Sistem informasi yang terdapat pada aplikasi ini merupakan gabungan dari beberapa sub-
sistem yang terintegrasi. Beberapa sistem yang ada meliputi :
1. Sistem Akunting
2. Sistem Procurement
3. Sistem Marketing
2.1 Sistem Akunting
Sistem accounting terdiri dari beberapa modul yang terintegrasi. Modul yang terdapat
dalam sistem informasi accounting antara lain :
A. Modul – modul yang menunjang untuk pembuatan work sheet :
a. Cash balance
Modul ini akan digunakan untuk membuat KAS sebagai referensi untuk pembuatan
general jurnal per periode
Disertai dengan pembuatan faktur (bukti) CASH AND BANK PAYMENT
Disertai dengan pembuatan faktur (bukti) CASH AND BANK RECEIPT
b. Purchase
Modul ini berfungsi untuk membuat Purchase Jurnal yang juga akan dijadikan data
referensi untuk pembuatan general jurnal per periode
Disertai dengan pembuatan faktur (bukti) INVOICE
c. Sales
Modul ini berfungsi untuk membuat Sales Jurnal yang juga akan dijadikan data
referensi untuk pembuatan general jurnal per periode.
3
d. Aktiva Tetap
Modul untuk pembuatan daftar aktiva tetap perusahaan
e. Jatuh Tempo Utang / Piutang
Modul pembuatan dokumen Jatuh Tempo Utang / Piutang
f. Mutasi Utang / Piutang usaha
Modul pembuatan dokumen mutasi Utang / Piutang usaha
B. Pelaporan
Dari data yang didapat dari modul modul diatas akan diproses sehingga akan menghasilkan
laporan-laporan yang terdiri dari data-data numerik berbentuk tabel dan data-data tekstual.
Beberapa laporan yang bisa diproses pada data yang diambil dari modul diatas antara lain :
a. General Journal
b. Trial Balance
c. WorkSheet
d. Income Statement
e. Balance Sheet
Proses Pembuatan Laporan
Penjelasan :
Data, yang terdiri dari data numerik maupun text akan diinput melalui antar muka aplikasi yang
kemudian akan disimpan ke dalam persistence storage (database) setelah itu data bisa diproses
untuk kemudian di jadikan Laporan sesuai dengan kebutuhan tiap-tiap departement.
4
2.2 Sistem Procurement
Sistem procurement terdiri dari beberapa modul yang terintegrasi. Modul yang terdapat
dalam sistem informasi procurement antara lain :
A. Modul untuk pembuatan Purchase Order (PO) out.
B. Modul pembuatan Delivery Order masuk dari Vendor/Supplier
C. Modul pembuatan Delivery Order Keluar
D. Modul pembuatan material request.
2.3 Sistem Marketing
Sistem procurement terdiri dari beberapa modul yang terintegrasi. Modul yang terdapat
dalam sistem informasi procurement antara lain :
A. Modul untuk menangani Purchase Order masuk dimana PO didapat dari perusahaan lain
yang akan mengorder barang.
B. Modul untuk menangani buku penjualan (Work Order Realease)
5
3. TEKNOLOGI PERANGKAT LUNAK
Sistem Informasi yang dibangun terdiri dari berbagai jenis aplikasi yang digunakan secara
bersamaan. Secara umum pilihan aplikasi dilakukan atas dasar faktor-faktor utama:
1. Keandalan dan stabilitas
2. Keamanan
3. Kinerja
4. Kemudahan penggunaan
5. Kemudahan perawatan dan modifikasi
6. Open source agar biaya support dan upgrade di masa mendatang dapat ditekan.
Faktor-faktor tersebut di atas disesuaikan dengan kebijakan pemerintah untuk
memanfaatkan perangkat lunak berbasis open source dalam program IGOS yang
tertuang di dalam Surat Edaran Menkominfo No. 05/SE/M.KOMINFO/10/2005 tentang Pemakaian
dan Pemanfaatan Penggunaan Piranti Lunak Legal.
Aplikasi-aplikasi tersebut adalah:
A. Sistem operasi server
Komputer server adalah komputer yang menjalankan aplikasi pada lapis data dan lapis
logika. Seluruh proses sistem secara fisik dilakukan di komputer ini. Sistem operasi adalah
perangkat lunak dasar yang diperlukan agar aplikasi lain dapat dijalankan di perangkat keras.
Sistem operasi menghubungkan antara perangkat keras dan perangkat lunak lain.
Sistem operasi server yang digunakan adalah Ubuntu Linux 6.06 LTS. Sistem
operasi GNU/Linux adalah sistem operasi open source yang meniru arsitektur
UNIX yang umum digunakan di server-server mainframe. GNU/Linux yang
awalnya diprakarsai oleh Linus Torvalds kini pengembangan dan
penggunaannya telah mendapat dukungan dari banyak vendor-vendor
perangkat lunak termasuk IBM, HP-Compaq, Oracle, dan Sun Microsystem. Kelebihan utama
penggunaan GNU/Linux adalah:
a. Kinerja dan stabilitas. Sistem operasi ini memang didesain untuk dijalankan di server
sehingga faktor stabilitas dan kecepatannya menjadi prioritas utama dan sudah
terbukti dalam pelaksanaannya. Stabilitas yang tinggi berarti server tidak
membutuhkan perhatian yang terus-menerus dalam proses perawatannya.
b. Keamanan. Dengan standar keamanan yang tinggi sistem operasi ini juga relatif lebih
kecil kemungkinannya mendapat gangguan dari faktor luar. Faktor luar dapat berupa
pengguna, dapat juga berupa program lain seperti virus atau worm. Sejauh ini belum
ada virus atau worm yang dikenal telah menyebar di sistem operasi GNU/Linux
walaupun sistem operasi ini digunakan oleh mayoritas server di internet. Virus-virus
Linux yang ada sekarang masih berupa bahan studi dalam dunia akademik.
6
c. Biaya kepemilikan keseluruhan (Total Cost of Ownership). Biaya kepemilikan meliputi
biaya pembelian lisensi penggunaan, biaya dukungan (support), biaya pelatihan,
serta biaya upgrade. Dengan menggunakan GNU/Linux pembelian lisensi dan
upgrade tidak diperlukan lagi, sehingga biaya hanya terdiri dari dukungan dan
pelatihan. Untuk dukungan dan pelatihan dapat diperoleh dari vendor dalam negeri
sehingga dapat diperoleh dengan harga lebih murah dan tidak perlu ada biaya yang
dikeluarkan ke luar negeri. Hal ini pula yang menyebabkan pemerintah mendorong
program IGOS (Indonesia Go Open Source).
Ada lebih dari seratus jenis distribusi GNU/Linux baik yang telah bersifat komersial maupun
non-komersial. Yang akan digunakan adalah Ubuntu Linux yang diproduksi oleh perusahaan
Canonical dari Isle of Man. Keunggulan penggunaan Ubuntu Linux adalah:
a. Tersedianya edisi download yang dapat digunakan secara gratis sehingga biaya
lisensi dan upgradenya di masa mendatang tidak diperlukan lagi.
b. Ubuntu menyediakan support yang komersial sehingga bila di masa mendatang
dukungan itu diperlukan maka dukungan komersial dapat diperoleh tanpa perlu
mengganti ke sistem operasi lain.
c. Aplikasi tambahan dapat diperoleh secara mudah dan gratis melalui koneksi internet.
d. Pilihan aplikasinya lebih luas dibanding mayoritas distribusi lain yang berbasis di
Amerika Serikat karena Ubuntu tidak terikat pada pembatasan paten yang
didaftarkan di Amerika Serikat (umumnya pada perangkat lunak enkripsi dan codec
multimedia).
e. Aplikasi-aplikasi utama yang dibutuhkan oleh sistem informasi (Apache, dan MySQL)
sudah tersedia dalam paket standar sehingga tidak perlu diinstal secara terpisah.
f. Ubuntu Linux adalah distro Linux yang paling populer sehingga memiliki basis
pengguna yang besar baik di dalam maupun di luar negeri.
g. Ubuntu Linux mewarisi kestabilan dan kemudahan perawatan dari Debian GNU/Linux
yang dikenal dari keandalannya sebagai system operasi server.
B. Sistem operasi client
Komputer client adalah komputer yang digunakan secara langsung oleh pengguna. Agar
dapat digunakan komputer client harus terhubung melalui jaringan ke komputer server.
Sistem operasi client yang digunakan adalah Microsoft Windows XP Professional SP 2 dan
Ubuntu Linux.
C. Server database
Server database adalah sebuah aplikasi yang berfungsi untuk menyimpan dan membaca
data terstruktur dengan cara yang cepat, aman, namun dapat menampung data dalam jumlah
yang besar. Mayoritas server database berupa Relational Database Management System
(RDBMS) yang menyimpan data dalam bentuk tabel-tabel yang saling berhubungan.
Komunikasi dengan sebuah RDBMS dilakukan dengan menggunakan bahasa SQL yang
7
distandarisasi oleh ISO. Walaupun jenis produk dan vendor RDBMS cukup beragam (di
antaranya yang terbesar adalah Oracle, IBM, dan Microsoft) semuanya memiliki implementasi
SQL standar tersebut dengan sedikit perbedaan (disebut dialek SQL).
Server database yang digunakan dalam sistem adalah MySql 5.0. MySql termasuk ORDBMS
(Object-Relational Database Management System), yang selain memiliki fitur standar
RDBMS juga memiliki kemampuan object-oriented. MySql dikembangkan secara open
source oleh Sun Microsystem mengikuti standar ISO SQL 2003 dengan fitur-fitur:
a. Query yang kompleks
b. Foreign key
c. Function / procedures
d. Trigger
e. View
f. Integritas transaksi
g. Multiversion concurrency control
MySql 5.0 dapat dijalankan di sistem operasi berbasis UNIX, GNU/Linux, maupun Windows
NT. MySql dapat digunakan secara gratis, namun dukungan komersial juga dapat diperoleh
dari beberapa perusahaan.
MySql 5.0 juga dilengkapi dengan perangkat administrasi untuk melakukan fungsi-fungsi
backup, restore, optimasi secara otomatis, logging, dll.
D. Aplikasi Server
Mongrel adalah library HTTP yang cepat dan server untuk bahasa pemprograman Ruby yang
diperuntukan untuk hosting aplikasi web yang dibuat oleh bahasa pemprograman ruby, yang
menggukanan teknologi plain HTTP. Mongrel merupakan framework dan sudah support
untuk Ruby On Rails, Og+Nitro, Camping, and IOWA frameworks
E. Framework dalam pembuatan Aplikasi
Framework aplikasi adalah desain dan program kerangka aplikasi yang digunakan untuk
membangun aplikasi-aplikasi yang sejenis. Framework memiliki banyak pustaka tingkat tinggi
yang dapat digunakan secara berulang. Umumnya framework perangkat lunak didesain
secara berorientasi objek sehingga desain dan programnya tersedia sebagai class-class
abstract. Framework aplikasi mendefinisikan arsitektur aplikasi sehingga penambahan fungsi-
fungsi lain dapat dilakukan dengan menambah modul-modul tanpa perlu memodifikasi kode
program yang sudah ada (kecuali file-file konfigurasi).
Dalam sistem ini, framework yang digunakan yaitu rails, sebuah framework untuk bahasa
pemprograman ruby.
Rails :
Sebuah framework yang memiliki produktivitas tinggi
Ditulis dalam bahasa pemprograman ruby oleh David Heinemeier Hansson
8
10 kali lebih cepat dalam developing suatu sistem dibandingkan dengan jenis framework
yang sama.
Sebuah framework open source untuk developing back-end (database) untuk aplikasi web
Tidak perlu mengkompilasi code untuk menjalankan aplikasinya
Full Stack Framework :
Sudah termasuk kebutuhan untuk pembuatan database menggunakan pattern Model-View-
Controller.
Baris code lebih sedikit dan efektif
Konvensi Melebihi Konfigurasi :
Rails menitik beratkan pada konvensi (penamaan) dibandingkan dengan konfigurasi.
Sehingga pembuatan aplikasi dapat dilakukan lebih cepat.
9
F. Abstraksi Database
RDBMS tersedia dari berbagai vendor dan dapat terdiri dari beberapa produk. Walaupun
semuanya menerapkan standar SQL, namun implementasi SQL antar produk tetap memiliki
perbedaan kecil yang disebut dialek SQL. Perbedaan yang ada menyebabkan sebuah
aplikasi umumnya hanya menggunakan salah satu dialek saja dan oleh karena itu hanya
dapat menggunakan suatu jenis RDBMS saja. Aplikasi abstraksi database adalah sebuah
aplikasi / pustaka yang menyediakan metode standar untuk berkomunikasi dengan database
lalu menyediakan dialek SQL yang cocok untuk RDBMS yang digunakan. Aplikasi yang
menggunakan abstraksi database dapat menggunakan RDBMS yang berbeda-beda tanpa
perubahan dalam aplikasi itu sendiri.
Penggunaan Rails memungkinkan aplikasi untuk bermigrasi ke database lain bila suatu saat
kebutuhannya dinilai perlu untuk meningkatkan kapasitas / kapabilitas databasenya.
G. Pengguna dan Hak Akses
Pengguna dan Hak Akses adalah bagian dalam sebuah perangkat lunak yang mengatur hak-
hak akses yang dimiliki oleh setiap pengguna. Modul ini memastikan bahwa setiap informasi
hanya dapat dilihat atau diubah oleh pengguna yang memang memiliki wewenang untuk itu.
Hak akses mengatur berdasarkan kelompok yang dimiliki oleh pengguna bagian-bagian
10
mana dari aplikasi yang dapat diakses. Pengelolaan pengguna dan hak akses ini diatur
dalam modul yang bernama Roles dan Permission.
Modul Roles mengelola sebuah objek yang disebut role. Role merepresentasikan baik
pengguna maupun kelompok pengguna. Role didesain dengan fleksibel sehingga sebuah
role dapat merupakan anggota dari role lain secara tidak terbatas. Sebuah role juga dapat
menjadi anggota dari beberapa role sekaligus. Sebuah role lalu dapat diberikan sebuah atau
beberapa objek privilege yang merepresentasikan hak akses pada bagian modul tertentu.
Modul Roles menyediakan pula perangkat pengujian untuk mensimulasikan hak akses ini
untuk kombinasi role dan privilege tertentu.
Pembagian dasar jenis ada tiga buah yaitu:
a. anonymous, yaitu akses yang dapat diperoleh tanpa login
b. administrator, yaitu akses yang dimiliki oleh administrator sistem
c. user, yaitu akses yang dimiliki oleh pengguna biasa.
Akses user umumnya dapat dibagi-bagi lagi sesuai dengan jenis pengguna yang ada dalam
proses kerja aplikasi.
Modul Permission mengelola objek privilege. Objek privilege dapat dikaitkan dengan akses
pada tingkat modul, komponen, class, bahkan instantiasi dari class yang bergantung pada
data. Hak akses pada objek privilege memiliki beberapa tingkat, yaitu:
a. None
b. Overview
c. Read
d. Edit
e. Add
f. Delete
g. Admin
Perilaku pada setiap tingkat dapat diinterpretasikan secara bebas dalam desain setiap
modulnya.
H. Antar Muka Browser dengan AJAX
Browser menjadi antar muka yang populer digunakan untuk aplikasi-aplikasi yang
penggunanya banyak dan tersebar di beberapa lokasi. Hal ini disebabkan telah tersedianya
berbagai jenis browser secara otomatis di berbagai sistem operasi sehingga di komputer-
komputer client tidak perlu diinstal sesuatu lagi. Hal ini amat memudahkan pada saat
perawatan sehingga setiap terjadi masalah atau terjadi perubahan sistem semuanya cukup
dilakukan di server saja, tidak perlu memeriksa komputer-komputer client. Ini disebut konsep
thin client karena komputer client sama sekali tidak melakukan pemrosesan logika aplikasi.
Pemrosesan yang terjadi di komputer client hanyalah pemrosesan yang dilakukan oleh antar
muka untuk memberi kemudahan penggunaan.
Ada beberapa komponen yang diolah oleh sebuah browser:
11
a. XHTML (eXtensible HyperText Markup Language) berisi struktur dan data antar
muka. Seluruh informasi dan fungsionalitas dideskripsikan dalam file ini, termasuk
widget-widget sederhana untuk keperluan input data. XHTML adalah sebuah standar
yang ditetapkan oleh W3C (World Wide Web Consortium) dan merupakan
pengembangan XML dari HTML (yang berbasis SGML).
b. CSS (Cascading Style Sheet) berisi informasi mengenai layout dan style tampilan,
termasuk unsur visualnya. Agar aplikasi tampak teratur dan mudah digunakan, maka
pengaturan tata letak, penekanan dengan warna dan efek, serta nilai estetika dapat
diatur lewat file CSS ini. CSS ini juga memungkinkan antar muka bersifat konsisten
antar modulnya. CSS adalah standar yang ditetapkan oleh W3C. CSS terdiri dari 3
level, di mana sampai saat ini sebagian besar browser baru mengikuti level 1 secara
penuh. Browser paling populer Internet Explorer 6 baru mengimplementasikan
sebagian CSS level 2, sedangkan browser Mozilla dan Opera sudah
mengimplementasikan sebagian besar CSS level 2.
c. JavaScript adalah sebuah bahasa pemrograman yang dapat dijalankan di dalam
browser. JavaScript dipergunakan untuk melakukan pemrosesan antar muka,
termasuk melakukan pengecekan-pengecekan awal terhadap validitas data.
JavaScript mengakses struktur pada XHTML dengan menggunakan DOM (Document
Object Model) yang disediakan oleh browser dan memanipulasinya berdasarkan style
yang ada pada CSS. Kombinasi XHTML, CSS, dan JavaScript ini sering kali disebut
DHTML (Dynamic HTML). DOM adalah standar yang ditetapkan oleh W3C,
sedangkan JavaScript distandarisasi oleh ECMA (European Computer Manufacture
Association) dengan nama ECMAScript.
Walaupun populer digunakan namun antar muka yang dilakukan di browser memiliki
keterbatasan-keterbatasan yang tidak didapati di aplikasi desktop lain. Keterbatasan yang
dimaksud misalnya fitur drag-and-drop dan kemampuan mengambil atau menyimpan data
tambahan ditengah proses pengisian form.
Untuk mengatasi hal ini dimunculkan konsep RIA (Rich Internet Application) atau Rich Client
dimana aplikasi client masih menggunakan browser namun sudah memiliki kekayaan antar
muka seperti aplikasi desktop lainnya. Salah satu solusi RIA ini adalah sebuah konsep yang
dinamakan AJAX (Asynchronous JavaScript and XML). AJAX memanfaatkan sebuah object
JavaScript non-standar yang pertama kali dibuat oleh Microsoft bernama XMLHttpRequest
untuk mengirimkan dan menerima informasi dari server secara asynchronous (di belakang
layar) berupa file dalam format XML atau JSON (JavaScript Object Notation). Dengan
memanfaatkan AJAX ini aplikasi berbasis web terasa lebih interaktif, responsif, dan cepat
tanpa melakukan proses reload atau submit seperti halnya aplikasi web tanpa AJAX. Aplikasi
web modern berbasis AJAX dapat dilakukan dengan persyaratan browser minimal Microsoft
Internet Explorer 6.0, Mozilla Firefox 1.0, Opera 8.0, atau browser berbasis KHTML 3.2
(seperti Konqueror dan Safari di Macintosh).
12
Gambar 4: Perbandingan alur proses kerja pada model klasik dengan AJAX
AJAX mulai dipopulerkan penggunaannya pada tahun 2005 oleh Google dengan peluncuran
Gmail dan GoogleMaps. Sejak saat itu mulai bermunculan pustaka AJAX yang dapat
diperoleh secara bebas.
I. Pelaporan
Pelaporan adalah modul yang memungkinkan untuk dilakukan pengolahan data dalam format
tertentu lalu hasilnya dapat dicetak oleh printer. Ada 3 buah metoda yang dapat dilakukan
untuk mencetak data:
a. Menggunakan fitur print yang telah ada di Aplikasi. Umumnya sebuah halaman dapat
dibuat versi printernya yang tidak memiliki latar belakang dan format yang
menghilangkan widget-widget interaksi. Untuk laporan yang sederhana hal ini dapat
dilakukan.
b. Konversi data ke dalam format PDF (Portable Document Format). Format PDF
yang dibuat oleh Adobe merupakan format yang paling umum dipakai untuk
format printer. Format PDF tidak berubah bila dicetak menggunakan printer
yang berbeda-beda.
c. Konversi data ke dalam format XLS (Excell Sheet). Format XLS bawaan microsoft
merupakan format yang paling umum dipakai untuk file report. Format XLS tidak
berubah bila dicetak menggunakan printer yang berbeda-beda.
13
Gambar 5: Perbandingan alur data synchronous dan asynchronous
4. METODOLOGI PENGEMBANGAN
A. Unified Process
Ada beberapa metodologi pengembangan perangkat lunak yang umum dipakai.
Perkembangan yang pesat di bidang teknologi informasi baik di bidang analisis dan desain
maupun di bidang teknik pemrogramannya menyebabkan metodologi pengembangan
perangkat lunak juga harus ikut menyesuaikan diri. Metodologi yang lebih baru telah
mengadopsi metode analisis, desain, dan pemrograman yang berorientasi objek. Metodologi
yang paling populer saat ini adalah Unified Process.
Unified Process dikembangkan sebagai metodologi yang bersifat use-case driven, berpusat
pada arsitektur, iteratif, dan incremental didasarkan pada UML (Unified Modeling Language)
yaitu bahasa model standar untuk desain berorientasi objek. Unified Process dikembangkan
oleh Rational Software (yang sekarang bagian dari IBM) tahun 1999. Unified Process
mendeskripsikan pemberian dan pengelolaan tugas serta tanggung jawab dalam sebuah
organisasi pengembang perangkat lunak. Unified Process yang dilaksanakan dengan produk-
produk bantu yang dibuat oleh Rational Software (IBM) disebut Rational Unified Process
(RUP).
Unified Process mendefinisikan tahap pelaksanaan, kegiatan, peran pelaksana, hasil
pekerjaan, dan prinsip yang harus diikuti. Namun Unified Process tidak dapat diterapkan
secara langsung karena memang dimaksudkan sebagai kerangka proses kerja yang harus
diadaptasikan. Unified Process menyediakan berbagai 'pustaka' proses kerja yang harus
dipilih untuk disesuaikan dengan tim pelaksana dan jenis perangkat lunak yang
dikembangkan.
Prinsip-prinsip Unified Process adalah:
a. Pengembangan perangkat lunak secara iteratif
b. Pengelolaan kebutuhan
c. Penggunaan arsitektur yang berbasis komponen
d. Pemodelan perangkat lunak secara visual (diagram UML)
e. Verifikasi kualitas perangkat lunak
f. Perubahan pada perangkat lunak yang terkendali
Agile Unified Process adalah adaptasi-adaptasi Unified Process yang menekankan pada
kecepatan pengembangan dan fleksibilitas kebutuhan. Umumnya Agile Unified Process
memilih set aktivitas dan artifak UP yang sesederhana mungkin dan menggunakan
perencanaan tingkat tinggi untuk keseluruhan proyek (phase plan) dengan menyusun
perencanaan detil (iteration plan) pada setiap awal iterasi. Salah satu jenis Agile Unified
Process yang digunakan adalah Crystal Clear yang diprakarsai oleh Alistair Cockburn.
14
Deskripsi Unified Process selanjutnya adalah Unified Process yang diadaptasikan dengan
Crystal Clear.
B. Tahap Pelaksanaan
Fase pengembangan dalam Unified Process ada 4 buah, ditambah dengan 1 fase
penggunaan.
a. Insepsi
Tahap insepsi adalah tahap persiapan. Hal-hal yang perlu ditentukan dalam
tahap insepsi ini adalah jadwal kerja, pembentukan tim, dan ruang lingkup
perangkat lunak yang akan dikembangkan.
b. Elaborasi
Tahap elaborasi adalah tahap perencanaan di mana penekanan dilakukan pada
terselesaikannya deskripsi kebutuhan perangkat lunak (termasuk survei), analisis
dan desain arsitektur, serta pembangunan kerangka dasar aplikasi dan metode
pengujiannya.
c. Konstruksi
Tahap konstruksi adalah tahap pembangunan di mana penekanan dilakukan
pada desain teknis, pemrograman, dan pengujian perangkat lunak.
d. Transisi
Tahap transisi adalah tahap penerapan di mana dilakukan uji coba oleh calon
pengguna, pelatihan, persiapan pemakaian dan diakhir dengan pemakaian
sistem oleh pengguna.
15
Gambar 7 Diagram Sistematika Metodologi Pengembangan Perangkat Lunak
e. Produksi
Tahap produksi adalah tahap operasional di mana kegiatan utama adalah
perawatan sistem termasuk melakukan backup data.
C. Kegiatan Pelaksanaan
Dalam setiap tahap dilakukan beberapa jenis kegiatan yang umumnya berjalan bersamaan.
Enam kegiatan pertama kerkaitan dengan kegiatan inti pengembangan aplikasi sedangkan
empat kegiatan selanjutnya adalah kegiatan dukungan.
a. Business Modelling
Pemodelan Bisnis mendokumentasikan proses bisnis, yaitu cara kerja pengguna
dalam memanfaatkan aplikasi ini (baik tanpa aplikasi maupun cara kerja yang
diinginkan dengan menggunakan aplikasi). Hal ini dilakukan dengan cara:
i. Survei dan pemetaan yang terdiri dari:
Pertemuan Awal untuk menyepakati ruang lingkup umum dan project
charter.
Pertemuan Teknis yang terdiri dari pengumpulan data, wawancara
dengan calon pengguna, studi literatur dan peraturan perundang-
undangan.
ii. Analisis cara kerja penggunaan yang menghasilkan:
Diagram Workflow yaitu alur kerja pemakaian perangkat lunak.
Diagram Use-Case yaitu diagram yang menjelaskan jenis-jenis
pengguna dan aktivitas yang dapat dilakukan oleh pengguna di
dalam sistem.
Glossary yaitu daftar kota kata istilah yang sering dipakai dalam
bidang ruang lingkup aplikasi.
Domain model yaitu identifikasi entitas-entitas yang terlibat di dalam
sistem.
b. Requirements
analisis kebutuhan mendeskripsikan secara detil apa yang akan dilakukan oleh
aplikasi, hal ini dilakukan dengan penyusunan dokumen use-case dan business
rules. analisis kebutuhan dilakukan oleh Analis Bisnis. analisis kebutuhan meliputi:
i. Melakukan analisis terhadap kondisi sistem informasi yang telah ada. Pada
tahap ini, akan dilakukan analisis mengenai siapa saja pihak-pihak yang
akan terlibat di dalam Sistem (organisasi atau aplikasi lain) dan bagaimana
bentuk komunikasi informasi yang terjadi antar pihak-pihak tersebut.
ii. Melakukan analisis terhadap kebutuhan sistem informasi. Berkaitan dengan
analisis terhadap kondisi sistem informasi yang telah ada di atas, maka pada
tahap ini akan dilakukan analisis mengenai proses-proses mana saja yang
membutuhkan penanganan melalui Sistem Informasi.
16
iii. Mengidentifikasi ruang lingkup sistem informasi. Pada tahap ini, dilakukan
pengidentifikasian ruang lingkup sistem informasi yang akan dibangun sesuai
dengan analisis kebutuhan di atas.
iv. Mengidentifikasi ruang lingkup keluaran sistem informasi. Sebagai kelanjutan
dari tahapan di atas, pada tahap ini dilakukan pengidentifikasian ruang
lingkup bentuk keluaran (output) dari sistem informasi yang akan dihasilkan.
v. Melakukan analisis terhadap aplikasi yang akan dibangun. Pada tahap ini
dilakukan analisis terhadap aplikasi yang akan dibangun. analisis yang
dilakukan meliputi bentuk dan sistematika aplikasi sistem yang akan
dibangun.
vi. Pendokumentasian hasil analisis. Hasil akhir analisis kebutuhan adalah
dokumen-dokumen berikut:
Dokumen Use Case yang berisi pendetilan skenario penggunaan
aplikasi mengikuti format yang telah ditetapkan.
Non Functional Requirements yaitu berisi pembatasan-pembatasan
teknis mengenai perangkat lunak yang harus dibangun.
Business Rules yaitu aturan-aturan yang harus diikuti oleh aplikasi.
Business Rules diperoleh langsung dari peraturan kerja organisasi
dan dari hasil survei.
Sketsa Antar Muka yaitu desain antar muka yang akan digunakan di
dalam aplikasi.
c. Analysis and Design
analisis dan Desain mendeskripsikan solusi teknis yang akan digunakan untuk
mencapai perilaku yang sudah ditetapkan dalam kegiatan requirement. Desain di sini
meliputi desain alur, desain interaksi, desain visual, dan desain teknis. Kegiatan ini
dilakukan oleh Analis dan Desainer Sistem, Desainer Visual, dan Administrator Basis
Data.
Metodologi analisis dan Desain yang digunakan di dalam pengerjaan Sistem
Informasi ini adalah metodologi analisis dan desain berorientasi objek dengan
menggunakan UML (Unified Modeling Language). UML adalah bahasa pemodelan /
diagram yang secara standar digunakan untuk mengekspresikan hasil analisis dan
desain. UML disepakati sebagai standar industri di bawah pengawasan OMG (Object
Management Group). UML berisi spesifikasi beberapa jenis dokumen atau diagram,
seperti misalnya diagram use case untuk menjelaskan requirement atau diagram
class untuk menjelaskan class-class
yang diperlukan dalam pemrograman nanti. Selain diagram/dokumen UML untuk
melengkapi desain diperlukan pula dokumen tambahan, seperti misalnya desain
sketsa user interface dan ERD (Entity Relationship Diagram) untuk menjelaskan
17
struktur database yang akan digunakan. Dokumen-dokumen yang umum dibuat
dalam UML dapat dilihat melalui gambar berikut ini:
analisis dan Desain merupakan proses multi langkah yang terdiri dari kegiatan-
kegiatan sebagai berikut:
i. Melakukan desain terhadap aplikasi yang akan dibangun. Setelah dilakukan
analisis, maka pada tahap ini dilakukan kegiatan desain aplikasi yang akan
dibangun.
ii. Melakukan desain format keluaran sistem. Tahapan ini adalah fase dimana
dilakukan penetapan mengenai keluaran (output) seperti apa yang akan
dihasilkan dari aplikasi.
iii. Menyusun kebutuhan data untuk sistem yang akan dibangun. Pada tahap ini,
dilakukan penyusunan kebutuhan data-data yang akan tercakup di dalam
informasi-informasi yang disajikan, dan dilakukan pencocokan antara data-
data tersebut dengan perangkat pendukungnya.
iv. Merancang alur sistem aplikasi. Tahap ini merupakan tahapan awal dari
dimulainya pembangunan Sistem Informasi. Tahapan ini adalah tahapan
yang mencoba untuk menentukan aturan-aturan bisnis (business rules) yang
akan membangun sistem secara keseluruhan.
v. Melakukan pembangunan / pengembangan database. Di dalam kegiatan ini,
dilakukan pembangunan / pengembangan database dari aplikasi Sistem
Informasi berkaitan dengan aturan-aturan bisnis (business rules) di atas.
18
Gambar 8 Dokumen yang dihasilkan menurut UML
vi. Pendokumentasian hasil analisis dan desain berupa dokumen-dokumen
utama berikut:
Activity Diagram atau Sequence Diagram
Desain Antar Muka
Class Diagram
ERD (Entity Relationship Diagram)
Desain Visual
d. Implementation
Implementasi yaitu merealisasikan desain ke dalam kode komputer yang dapat
dieksekusi oleh komputer. Ini dilakukan dengan melakukan pemrograman.
Metodologi pemrograman yang digunakan di dalam pengembangan aplikasi Sistem
Informasi adalah metodologi Object Oriented Programming (OOP). Alasan
digunakannya metodologi OOP ini berkaitan erat dengan karakteristik yang menjadi
ciri-ciri yang dimilikinya, yaitu:
i. Pendekatan lebih pada data dan bukan pada prosedur / fungsi.
ii. Program besar dibagi pada apa yang dinamakan objek-objek.
iii. Struktur data dirancang dan menjadi karakteristik dari objek-objek.
iv. Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu objek yang
sama.
v. Data tersembunyi dan terlindung dari fungsi/prosedur yang ada di luar.
vi. Objek-objek dapat saling berkomunikasi dengan saling mengirim pesan satu
sama lain.
vii. Pendekatan adalah dari bawah ke atas (bottom up approach).
Pemrograman dilakukan dengan menggunakan satu atau lebih bahasa pemrograman
dengan bantuan perangkat kerjanya. Perangkat kerja yang digunakan meliputi IDE
(Integrated Development Environment) dan Version Control System.
IDE adalah sebuah perangkat bantu pemrograman yang membantu dalam proses
pengetikan kode, dokumentasi pemrograman, pencarian kesalahan program,
perapian dan organisasi kode program, pelacakan eksekusi program, uji coba
aplikasi, serta kompilasi dan pemaketan hasil akhir program.
Version Control System adalah sebuah perangkat kolaborasi antar pemrogram yang
memungkinkan setiap pemrogram bekerja pada satu buah basis kode yang sama.
Penggunaan version control system amat penting agar tidak terjadi kehilangan data
dan aplikasi dapat diuji integrasinya secara cepat. Version Control System yang
digunakan adalah Bazaar yang bersifat terdistribusi sehingga version control system
ini selalu dapat digunakan walaupun tidak terhubung ke server kerja yang utama.
19
Hasil akhir pemrograman sebuah perangkat lunak yang telah dapat dijalankan sesuai
dengan desain. Dokumentasi yang akan digunakan oleh pengguna seperti manual
penggunaan juga dihasilkan dalam kegiatan ini. Kegiatan ini melibatkan Administrator
Basis Data, Programmer dan Penulis Dokumentasi.
e. Test
Uji Coba adalah melakukan uji coba untuk menghilangkan kesalahan-kesalahan yang
mungkin timbul. Uji coba dilakukan oleh Pengujicoba Aplikasi dengan bantuan
Programmer. Uji coba terdiri dari beberapa yaitu:
i. Uji coba proses yang dilakukan secara otomatis oleh software. Agar hal ini
dapat dilakukan maka untuk setiap fungsi atau proses di dalam aplikasi perlu
disiapkan data uji dan prosesnya dimasukkan ke dalam sebuah perangkat
yang disebut UnitTest. UnitTest kemudian dapat terus-menerus dijalankan
secara otomatis untuk memastikan bahwa proses telah dilakukan oleh sistem
dengan benar dan tetap benar setelah dilakukan berbagai modifikasi atau
penambahan fitur.
ii. Uji coba antar muka yang dilakukan oleh tester (penguji coba). Penguji coba
selain mencatat kesalahan yang mungkin timbul juga bertanggung jawab
untuk memberi masukan-masukan mengenai kemudahan penggunaan
sistem.
iii. analisis kinerja atas sistem yang dibangun yang disesuaikan dengan
dokumen analisis kebutuhan yang dibuat pada kegiatan analisis kebutuhan.
iv. Uji coba beta (Beta test) adalah uji coba yang dilakukan oleh calon
pengguna. Ini dilakukan pada tahap Transisi.
v. Hasil akhir kegiatan uji coba adalah laporan bug (kesalahan program)
beserta dengan laporan perbaikan kesalahan program yang telah dilakukan.
f. Deployment
Pemasangan Sistem informasi meliputi melakukan pemaketan, instalasi, konversi
data, konfigurasi aplikasi, pelatihan. Sebagian besar kegiatan pemasangan dilakukan
pada fase Transisi. Kegiatan ini melibatkan Administrator Sistem, Administrator Basis
Data, Operator Basis Data, dan Instruktur Pelatihan.
i. Pemaketan dilakukan dengan pembuatan program instalasi sistem,
dokumentasi instalasi, dan penyerahannya dalam bentuk CD dan dokumen.
ii. Instalasi meliputi pemasangan aplikasi tersebut di perangkat keras yang
akan digunakan.
iii. Konfigurasi aplikasi adalah penyesuaian konfigurasi agar aplikasi siap pakai.
iv. Konversi data berupa pemasukan data awal yang dibutuhkan agar aplikasi
dapat mulai dipakai.
20
v. Pelatihan dan sosialisasi dilakukan bagi para pengguna dan administrator
agar mereka dapat mengoperasikan sistem dengan tepat dan efektif.
g. Configuration and Change Management
Pengelolaan konfigurasi dan perubahan meliputi:
i. Pengelolaan dokumentasi, kode, dan aplikasi yang dihasilkan dalam
pengerjaan proyek.
ii. Pengelolaan dan pengendalian perubahan-perubahan yang terjadi selama
berjalannya pengembangan.
iii. Status dan pengukuran kemajuan serta kualitas setiap dokumen.
iv. Kegiatan ini dilakukan oleh Manajer Proyek dengan bantuan sekretaris
proyek.
h. Project Management
Pengelolaan proyek meliputi kegiatan perencanaan, pelaksanaan, pengelolaan
sumber daya, pengelolaan resiko, pembagian tugas, pengukuran kinerja,
pengontrolan, dan evaluasi tim kerja. Kegiatan ini dilakukan oleh Manajer Proyek.
i. Environment
Penyiapan lokasi meliputi pengelolaan alat, sarana, prosedur, guidelines yang
diperlukan pada saat pengembangan. Pemasangan perangkat kerja dilakukan di
lokasi pengembangan, lokasi uji coba, dan lokasi pemakaian akhir. Hasil
pemasangan didokumentasikan dalam dokumen konfigurasi jaringan dan aplikasi.
Dokumentasi merupakan hal yang sangat penting dilakukan karena akan menjadi
acuan pada tahap Perawatan. Kegiatan ini dilakukan oleh Administrator Sistem.
j. Operation and Support
Operasional dan Dukungan bertujuan untuk memastikan bahwa sistem dapat
digunakan secara tepat dan efektif. Hal ini meliputi pengecekan bahwa perangkat
lunak berjalan sebagaimana mestinya, jaringan masih tersedia dan termonitor, serta
data pekerjaan terbackup. Bila terjadi gangguan maka akan diambil langkah-langkah
agar sistem dapat dipakai kembali dalam waktu yang sesingkat-singkatnya tanpa
kehilangan data. Dukungan diberikan untuk mengarahkan para pengguna yang
menemui kesulitan dalam pemakaian sistem.
21
D. Jadwal Kerja
22
ARSITEKTUR PERANGKAT KERAS
Arsitektur perangkat keras yang digunakan terdiri dari Server, Personal Computer Client, Local Area
Network (LAN) serta perangkat pendukung berupa Uninterupted Power Supply (UPS). Skema
arsitektur perangkat keras seperti gambar dibawah ini:
23
top related