Ustek (Usulan Teknis) [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Fall



8



Rencana Proyek Pembangunan Sistem Informasi Terintegrasi PT. INDUSTRI TELEKOMUNIKASI INDONESIA (PERSERO)



[PT. Zantara Lintas Informasi] Kompleks Ruko Batununggal Indah 112 Bandung 40266



Jl.



Batununggal



Indah



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



Relational



diperlukan



Database



sebuah



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.



Gambar 1 Arsitektur Multi-tier



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



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 subsistem 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



4



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.



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



6



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.



7



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



8



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 fungsifungsi 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



9







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-ViewController. • 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.



1 0



1 1



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 hakhak 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 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



1 2



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 komputerkomputer 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: 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,



1 3



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).



Gambar 5: Perbandingan alur data synchronous dan asynchronous



Gambar 4: Perbandingan alur proses kerja pada model klasik dengan AJAX



1 4



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.



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 produkproduk bantu yang dibuat oleh Rational Software (IBM) disebut Rational Unified Process (RUP).



1 5



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. 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.



1 6



Gambar 7 Diagram Sistematika Metodologi Pengembangan Perangkat Lunak



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. e. Produksi Tahap produksi adalah tahap operasional di mana kegiatan utama adalah perawatan sistem termasuk melakukan backup data. C. Kegiatan Pelaksanaan



1 7



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 perundangundangan.



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. iii. Mengidentifikasi ruang lingkup sistem informasi. Pada tahap ini, dilakukan pengidentifikasian ruang lingkup sistem informasi yang akan dibangun sesuai dengan analisis kebutuhan di atas.



1 8



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 struktur database yang akan digunakan. Dokumen-dokumen yang umum dibuat dalam UML dapat dilihat melalui gambar berikut ini:



1 9



Gambar 8 Dokumen yang dihasilkan menurut UML



analisis dan Desain merupakan proses multi langkah yang terdiri dari kegiatankegiatan 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 datadata 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. vi. Pendokumentasian hasil analisis dan desain berupa dokumen-dokumen utama berikut: •



Activity Diagram atau Sequence Diagram







Desain Antar Muka



2 0







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. Hasil akhir pemrograman sebuah perangkat lunak yang telah dapat dijalankan sesuai dengan desain. Dokumentasi yang akan digunakan oleh pengguna seperti manual



2 1



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. v. Pelatihan dan sosialisasi dilakukan bagi para pengguna dan administrator agar mereka dapat mengoperasikan sistem dengan tepat dan efektif.



2 2



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.



2 3



D. Jadwal Kerja



2 4



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:



2 5