5 BAB 2 LANDASAN TEORI
2.1
Analisis Sistem Menurut Steward (1998, p.19), analisis sistem merupakan proses mempelajari suatu sistem untuk menetapkan apa yang dilakukan sistem dalam berbagai keadaan dan apa akibat dari yang dilakukan oleh sistem tersebut. Analisis sistem merupakan bagian dari SDLC (System Development Life Cycle) dimana sistem analis menentukan bagaimana suatu sistem informasi yang sudah ada dalam suatu perusahaan berfungsi, kemudian memperkirakan apa yang diinginkan oleh permakai pada sistem yang baru. Tujuan utama dari analisis sistem adalah untuk mendapatkan gambaran yang lengkap, tidak ambigu, dan konsisten mengenai kebutuhan suatu sistem dan apa yang perlu dilakukan oleh sistem tersebut untuk memenuhi kebutuhan pemakai.
2.2
Perancangan Sistem 2.2.1 Pengertian Perancangan Sistem Menurut Valacich, George, dan Hoffer (2004, p.23), perancangan sistem adalah suatu tahap dalam siklus pengembangan sistem SDLC (System Development Life Cycle) dimana sistem yang dipilih untuk pengembangan dalam analisis sistem pertama kali dijabarkan secara tersendiri dari semua platform komputer (desain logika) dan kemudian diubah menjadi detil-detil teknologi secara spesifik (desain fisik) dari semua rancangan pemrograman dari sistem yang dapat diselesaikan.
6 2.2.2 Alat Perancangan UML (The Unified Modeling Language) merupakan modeling language yang biasa digunakan untuk menggambarkan, menspesifikasikan, membangun dan mendokumentasikan arsitektur suatu sistem software. (Priestley, 2000, p.1) Alat
perancangan
yang
umumnya
digunakan
untuk
menggambarkan rancangan sistem yang akan dibuat antara lain : a. Class Diagram Class
Diagram
merupakan
suatu
diagram
yang
mengidentifikasikan atribut dan modul yang terdapat di dalam setiap kelas. Pada saat pengembangan suatu sistem, titik awal untuk pengembangan sistem berorientasi objek adalah objek, tetapi pusat pengembangan konsepnya adalah class diagram. Tahap-tahap dalam membangun class diagram : 1. Mengidentifikasi objek dan memisahkan kelasnya. 2. Mengidentifikasi atribut dari kelas. 3. Mulai mengkonstruksi kamus data. 4. Mengidentifikasi modul-modul yang terdapat dalam kelas. 5. Menggunakan teknik CRC (Class-Responsibility-Collaboration) card untuk uncover responsibility dan collaboration. 6. Mengidentifikasi hubungan antar kelas, menggunakan asosiasi, agregasi, dan inheritance. 7. Iterate dan refine model.
7 b. Use Case Diagram Use case merupakan gambaran yang digunakan untuk memahami kebutuhan sistem. Suatu use case model dapat membantu dalam perencanaan, pengembangan proyek, dan dokumentasi kebutuhan sistem. Use case adalah suatu interaksi antara user dengan suatu sistem yang menggambarkan keinginan dari user dan tanggapan sistem terhadap user. Pada use case diagram terdapat beberapa simbol yang biasa digunakan ditunjukkan pada gambar 2.1.
Actor, menggambarkan user yang berperan dalam sistem. admin
Sistem Boundary
Use case, merupakan event pada sistem.
Gambar 2.1 Simbol Use Case Diagram beserta keterangannya
c. Sequence Diagram Sequence diagram menggambarkan interaksi yang muncul antara actor
dan
objek
pada
sutu
sistem
operasi/kebiasaan pada skenario-skenario.
yang
membawa
keluar
8 2.3
Teori-Teori Dasar 2.3.1 Saham Saham dapat didefinisikan sebagai tanda penyertaan atau pemilikan seseorang atau badan dalam suatu perusahaan atau perseroan terbatas. (Tjiptono Darmadji dan Hendy M. Fakhruddin, 2001, p.5). Pengertian saham yang lainnya adalah surat berharga yang menandakan kepemilikan dalam suatu Perseroan Terbatas (PT). (Jones, 2002, p.38). Dari beberapa pengertian tersebut diatas maka secara umum sahamm dapat diartikan dengan kepemilikan pada suatu perusahaan dimana pemegang saham tersebut memperoleh pembagian laba yang disebut dividen, memiliki kewenangan secara terbatas untuk mengatur jalannya perusahaan. Saham merupakan surat berharga yang paling populer dan dikenal luas di masyarakat. Saham mempunyai banyak jenis tergantung dari mana saham tersebut ditinjau. •
Ditinjau dari segi kemampuan dalam Hak Tagih atau Klaim, saham dapat dibedakan atas (Tjiptono Darmadji dan Hendy M. Fakhruddin, 2001, p.5): 1. Saham Biasa (Common Stocks), yaitu merupakan saham yang menempatkan pemiliknya paling yunior terhadap pembagian dividen, dan atas hak harta kekayaan perusahaan apabila perusahaan tersebut dilikuidasi. 2. Saham preferen (Preferred Stocks), merupakan saham yang memiliki karakteristik gabungan antara obligasi dan saham biasa, karena bisa
9 menghasilkan pendapatan tetap (seperti bunga obligasi), tetapi juga bisa tidak mendatangkan hasil seperti yang dikehendaki investor.
•
Dilihat dari cara peralihannya saham dapat dibedakan atas (Tjiptono Darmadji dan Hendy M. Fakhruddin, 2001, p.6): 1. Saham Atas Unjuk (bearer stocks), artinya pada saham tersebut tidak tertulis nama pemiliknya, agar mudah dipindahtangankan dari satu investor ke investor lainnya. Secara hukum, siapa yang memegang saham tersebut, maka dialah diakui sebagai pemiliknya dan berhak untuk ikut hadir dalam RUPS. 2. Saham Atas Nama (registered stocks), merupakan saham yang ditulis dengan jelas siapa nama pemiliknya, dimana cara peralihannya melalui prosedur tertentu.
•
Ditinjau dari kinerja perdagangan maka saham dapat dikategorikan atas (Tjiptono Darmadji dan Hendy M. Fakhruddin, 2001, p.6): 1. Blue-Chip Stocks, yaitu saham biasa dari suatu perusahaan yang memiliki reputasi tinggi, sebagai leader di industri sejenis, memiliki pendapatan yang stabil dan konsisten dalam membayar dividen. 2. Income Stocks, yaitu saham dari suatu emiten yang memiliki kemampuan membayar dividen lebih tinggi dari rata-rata dividen yang dibayarkan pada tahun sebelumnya.
10 3. Growth Stocks, yaitu saham-saham dari emiten yang memiliki pertumbuhan pendapatan yang tinggi, sebagai leader di industri sejenis yang mempunyai reputasi tinggi. 4. Speculative Stocks, yaitu saham suatu perusahaan yang tidak bisa secara konsisten meperoleh penghasilan dari tahun ke tahun, akan tetapi mempunyai kemungkinan penghasilan yang tinggi di masa mendatang, meskipun belum pasti. 5. Counter Cyclical Stocks, yaitu saham yang tidak terpengaruh oleh keadaaan ekonomi makro maupun situasi bisnis secara umum.
2.3.2 Real-Time Definisi dari real-time adalah secepat mungkin. Sistem real-time adalah sistem yang harus merespon kepada signal, event atau request secepat mungkin untuk memenuhi beberapa kebutuhan. Pemrosesan real-time adalah tipe pemrograman komputer atau pemrosesan data yang mana informasi yang diterima diproses oleh komputer hampir secara langsung (real-time processing is a type of computer programming or data processing in which the information received is processed by the computer almost immediately, Collins COBUILD on CDROM - Lexicon). Real-time biasanya mendeskripsikan sebuah aplikasi yang menuntut program untuk merespon kepada suatu event dalam jangka waktu yang singkat.
11 Contoh sistem real-time adalah videoconferencing. Videoconferencing membutuhkan sistem real-time yang bisa mentransmisikan video melalui network dan menampilkannya pada sisi yang lain secepat mungkin (bahkan seperti apa yang sedang direkam pada kamera). Game adalah contoh aplikasi real-time yang lain dimana user harus merespon pada input dari user dan merender video frames pada layar secepatnya untuk mensimulasikan gerakan yang nyata.
2.3.3 Internet Internet adalah suatu jaringan terbesar dari jaringan-jaringan, menghubungkan jutaan komputer via protocol, hardware, dan saluran komunikasi. (Williams and Sawyer, 2005, p.64). Internet merupakan jaringan komputer terbesar di dunia, sebenarnya merupakan jaringan yang menghubungkan jaringan-jaringan komputer yang ada di dunia. Hubungan jaringan ini mempertukarkan informasi tanpa terlihat dengan menggunakan sistem open source. Internet mencakup seluruh dunia, dengan pemakai-pemakai yang berasal dari berbagai negara. Internet menyediakan peralatan komunikasi cepat melalui alat bantu seperti e-mail, newsgroups, chat rooms dan e-commerce.
2.3.4 World Wide Web (WWW) World Wide Web (WWW) adalah suatu sistem informasi hypertext global, interaktif, dinamis, cross-platform, terdistribusi, dan grafis yang digunakan pada jaringan internet (Lemay, 2000, p.10). Hypertext
12 memungkinkan pemakai untuk membaca dan mengarahkan text dan informasi gambar berdasarkan apa yang pemakai ingin ketahui selanjutnya. Hypertext merupakan suatu sistem dimana dokumen-dokumen tersebar dalam banyak situs internet yang secara langsung dihubungkan, dengan hyperlink, sehingga suatu kata atau frase dalam satu dokumen menjadi penghubung dengan dokumen lain. WWW merupakan suatu cara untuk menyatukan sejumlah besar informasi yang tersedia melalui jaringan internet. WWW dilihat sebagai bagian dari pergerakan untuk menyatukan network tools dan meniadakan kebutuhan untuk menjalankan beberapa bagian yang berbeda dari piranti lunak agar berfungsi dengan baik. WWW dibuat atas dasar konsep link dan bekerja dengan membuat hyperlink. Hyperlink ini ditulis ke dokumen menggunakan HTML, dimana pemakai tidak dapat melihat langsung tetapi dapat melihat tampilan yang ditampilkan oleh browser.
2.3.5 Web Server Web server adalah suatu program yang berjalan pada suatu website dan bertanggung jawab untuk mencari halaman web yang diminta dan mengembalikannya ke web browser sehingga dapat ditampilkan kepada pemakai (Lemay, 2000, p.23). Informasi dalam web disediakan oleh web server. Pada prinsipnya, web server digunakan untuk memelihara direktori dari halaman web serta untuk menanggapi permintaan web browser untuk
13 menampilkan halaman web tersebut dan berinteraksi dengan server. Web server menyimpan aplikasi-aplikasi atau halaman-halaman web untuk ditampilkan pada web browser. Jika web server menerima permintaan download dari web browser, web server akan mencarikan dokumen yang diminta dan mengirimkannya ke web browser untuk ditampilkan.
2.3.6 Web Browser Web browser adalah program yang dapat digunakan untuk melihat halaman web dan navigasi pada WWW (Lemay, 2000, p.19). Web browser merupakan program yang memungkinkan pemakai untuk menemukan dan melihat halaman web, serta berpindah dari satu halaman ke halaman lain. Web browser, biasa disebut web client, membuat koneksi-koneksi melalui internet sampai layanan jaringan, meminta sumber daya dari jaringan dan menampilkannya. Contoh web browser yang terkenal dan sering digunakan antara lain : Microsoft Internet Explorer dan Netscape.
2.3.7 TCP/IP (Transfer Control Protocol / Internet Protocol) TCP/IP adalah protokol yang memungkinkan semua komputer untuk menggunakan data yang disalurkan melalui jaringan internet (Williams and Sawyer, 2005, p.51). TCP/IP dikembangkan pada tahun 1978 oleh U.S. Department of Defense’s Advanced Research Projects Agency for Space and Computer Research. Protokol TCP/IP ini menentukan jenis pengecekan error build-in yang akan digunakan, metode pengkompresan data (jika ada), bagaimana
14 perangkat pengirim akan mengetahui bahwa ia telah selesai mengirimkan data, dan bagaimana perangkat penerima akan mengetahui bahwa ia telah menerima pesan. TCP/IP memisahkan data menjadi paket-paket yang merupakan blok data terbesar yang dapat dikirimkan melalui internet (kurang dari 1500 karakter, atau 128 kilobyte). IP (Internet Protocol) digunakan untuk mengirimkan paket-paket data melalui internet ke tujuan akhirnya. Sedangkan TCP digunakan untuk mengatur paket-paket data yang dikirimkan ke dalam urutan yang sebenarnya atau memastikan agar penerima menerima paket-paket data secara benar. Jika paket data yang diterima tidak benar, maka penerima akan mengirim pesan agar paket dikirim lagi. Penerima juga akan mengirimkan pesan bahwa paket telah diterima kepada pengirim apabila paket data yang diterima telah benar. Komputer-komputer dalam jaringan internet menggunakan TCP/IP untuk semua transaksi internet yang dilakukan.
2.3.8 URL (Uniform Resource Locator) URL adalah sekumpulan karakter yang menunjuk kepada potongan informasi spesifik pada web. URL digunakan untuk membedakan antara website-website yang ada. (Williams and Sawyer, 2005, p.64). URL merupakan alamat dari suatu halaman web yang dapat digunakan untuk menspesifikasikan sebuah website dengan tujuan untuk menempatkan dan mengidentifikasikan sumber-sumber yang dapat diakses. Suatu URL terdiri dari web protocol, nama web server, direktori/folder pada server, dan
15 file yang terdapat dalam direktori tersebut. Format URL yang umumnya digunakan yaitu : http://hostname/directory-path/filename.
2.3.9 HTTP (Hyper Text Transfer Protocol) HTTP adalah aturan komunikasi yang memungkinkan browser untuk terhubung dengan web server. Tanpa HTTP, file-file tidak dapat ditransfer melalui web (Williams and Sawyer, 2005, p.68). HTTP merupakan protokol yang dapat melayani akses informasi dalam bentuk text, gambar, suara, video, dan bentuk multimedia lainnya secara cepat. Ketika pemakai menggunakan HTTP, browser akan terhubung kepada server, mengambil dokumen yang dibutuhkan, kemudian memutuskan kembali hubungan dengan server. Server HTTP akan memberikan informasi kepada browser mengenai tipe dokumen yang akan ditampilkan sehingga browser akan menampilkan dengan benar.
2.4
Web Programming 2.4.1.Hyper Text Markup Language (HTML) Suatu halaman web dibuat dengan menggunakan bahasa hypertext standar. HTML adalah suatu bahasa yang digunakan untuk mendeskripsikan struktur suatu dokumen web, bukan tampilan yang sebenarnya (Lemay, 2000, p.52). HTML merupakan serangkaian instruksi khusus yang digunakan untuk menentukan struktur, format, dan link ke dokumen lain pada suatu dokumen web (Williams and Sawyer, 2005, p.88).
16 Pemakai dapat membuat dokumen HTML menggunakan text editor atau dengan HTML editor. Elemen HTML adalah tag yang ditulis diantara tanda kurung, contohnya . Tag ini tidak akan terlihat atau tidak ditampilkan pada halaman web. Elemen HTML lainnya adalah atribut yang berfungsi untuk menyediakan informasi melalui nilai atribut setelah tanda sama dengan, contohnya
. Contoh coding dan tampilan :
Example 1 Contoh halaman HTML
Gambar 2.2 Tampilan dari HTML
17 2.4.2 AJAX AJAX, kepanjangan dari Asynchronous Javascript and XML adalah teknik pengembangan web dinamis untuk membuat aplikasi web yang jauh lebih interaktif. Tujuannya adalah untuk membuat halaman web terasa lebih responsif, dengan mengambil hanya sebagian kecil dari data, yaitu hanya data yang kita perlukan saja untuk meng-update sebagian dari keseluruhan halaman web, ketika update tersebut diperlukan pada halaman web. Page refresh, layaknya yang harus dilakukan pada halaman web klasik bahkan pada sebagian besar halaman web saat ini, tidak diperlukan setiap kali ada perubahan data dari server atau user melakukan perubahan yang berpengaruh pada isi sebagian halaman web saja. Contoh konkret aplikasi web yang masih klasik dan memerlukan refresh page untuk meng-update hanya sebagian dari isi halaman adalah pada sebagian aplikasi web yang tenar. Pada web-web ini ketika user baru ingin mendaftar (sign up) sebagai anggota baru, user dihadapkan pada form pengisian data pribadi di mana biasanya beberapa data yang harus diisi adalah country dan state yang biasanya berupa pilihan combobox. Pada keadaan awal, umumnya combobox country sudah terpilih pilihan “US or Canada” dan pada combobox state terisi dengan pilihan nama-nama negara bagian di daerah tersebut, tetapi ketika user mengganti pilihan pada combobox country, halaman web pun juga harus meng-update isi dari combobox state dengan nama-nama negara bagian atau nama-nama propinsi
18 dari negara yang terpilih dan kebanyakan dari aplikasi web ini mengharuskan refresh page untuk meng-update isi dari combobox state. Kasus tersebut adalah salah satu dari sekian banyak kasus yang bisa menggunakan metode AJAX untuk meningkatkan performa aplikasi web-nya. Dengan menggunakan metode AJAX, refresh page tidak diperlukan untuk meng-update isi pilihan dari combobox state, halaman web akan langsung me-request ke server data nama-nama state dari negara yang terpilih dan server akan merespon data nama-nama state ke client untuk kemudian digunakan untuk meng-update isi dari combobox state tanpa harus merefresh ulang semua dari isi halaman web. Metode ini memerlukan modul-modul tambahan pada sisi server untuk menangani request dari client yang meminta hanya sebagian dari isi halaman web. Web-web server seperti ASP, PHP, JSP/Servlet bisa digunakan untuk merespon data kembali ke client. Beberapa keuntungan yang didapat dari pengimplementasian metode AJAX, peningkatan kecepatan, peningkatan interaktifitas halaman web, penghematan bandwith.
Contoh paling sederhana code AJAX pada client :
Ajax at work <script language = "javascript"> var XMLHttpRequestObject = false; if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest();
19 } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } function getData(dataSource, divID) { if(XMLHttpRequestObject) { var obj = document.getElementById(divID); XMLHttpRequestObject.open("GET", dataSource); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { obj.innerHTML = XMLHttpRequestObject.responseText; } } XMLHttpRequestObject.send(null); } }
Fetching data with Ajax
The fetched data will go here.
20
Gambar 2.3 Tampilan sebelum menerima request data
Dalam contoh ini data yang akan diupdate setelah client menerima response dari server diletakkan di dalam tag
pada HTML dan sebelum data diupdate string yang terdapat dalam tag
Dan setelah tombol “Display Message” ditekan, client akan me-request ke server data yang diperlukan dan setelah client menerima response dari server, javascript akan mengganti isi dari tag
tempat data harus di-update dengan data baru yang dikirimkan dari server.
21
Gambar 2.4 Tampilan setelah menerima request data Setelah client menerima respon dari server isi dari tag
yang sebelumnya adalah “The fetched data will go here” diganti menjadi “This text was fetched using Ajax”
2.4.3 Servlet Servlet adalah sebuah objek yang menerima request melalui ServletRequet dan meng-generate response
melalui ServletResponse
berdasarkan request dari client. Servlet juga bisa di-generate secara otomatis melalui JSP. Servlet terletak pada sisi Web server dan menggunakan bahasa pemrograman Java.
22 2.5
Rekayasa Piranti Lunak 2.5.1 Pengertian Piranti Lunak Menurut Pressman (2001, p.6), piranti lunak (software) adalah : 1. Instruksi (program komputer) yang ketika dieksekusi akan menyediakan fungsi dan hasil yang diinginkan. 2. Struktur data yang memungkinkan program untuk memanipulasi informasi yang cukup. 3. Dokumen yang menggambarkan operasi dan penggunaan program.
2.5.2 Pengertian Rekayasa Piranti Lunak Rekayasa piranti lunak pertama kali didefinisikan oleh Fritz Bauer sebagai suatu langkah-langkah yang dibuat secara pasti dalam pemakaian prinsip-prinsip rekayasa untuk menghasilkan piranti lunakyang terpercaya dan bekerja secara efisien pada mesin yang sesungguhnya (Pressman, 2001, p.20)
2.5.3 Karakteristik Piranti Lunak Piranti lunak memiliki karakteristik yang berbeda dengan perangkat keras karena piranti lunak lebih bersifat logika daripada elemen sistem fisik. Menurut Pressman (2001, p.6-8), karakteristik pranti lunak adalah sebagai berikut :
23 1. Piranti lunak dikembangkan, bukan karena dihasilkan seperti dalam pengertian sebenarnya. Kualitas yang baik pada piranti lunak diperoleh melalui desain yang bagus. Permasalahan kualitas tidak ada (dapat mudah diperbaiki). Biaya piranti lunak dipusatkan pada perancangan piranti lunak itu sendiri. 2. Piranti lunak tidak rusak. Piranti lunak tidak rentan terhadap lingkungan yang diakibatkan oleh kerusakan perangkat keras. Dalam masa hidupnya, piranti lunak akan selalu berubah karena adanya pemeliharaan. Setiap perubahan dilakukan, maka kesalahan baru akan muncul sehingga akan menyebabkan tingkat kegagalan semakin tinggi. Apabila level tingkat kegagalan minimum telah meningkat, maka piranti lunak sudah saatnya diganti. 3. Meskipun industri bergerak berdasarkan pemasangan komponen, kebanyakan piranti lunak berlanjut menjadi pesanan. Komponen piranti lunak seharusnya didesain dan diimplementasikan sehingga dapat digunakan pada beberapa program yang berbeda.
2.5.4 Metode Pengembangan Software Yang Digunakan : The Waterfall Model Model waterfall adalah model pengembangan piranti lunak sekuensial (sebuah proses untuk pembuatan sebuah software) dimana pengembangan dilihat sebagai aliran menurun yang stabil (seperti sebuah air terjun) melalui fase-fase analisis kebutuhan-kebutuhan, desain, implementasi, pengujian (validasi), pengintegrasian, dan pemeliharaan.
24
System/ information engineering Analysis
Design
Code
Test
Gambar 2.5. Model Waterfall
Dalam model waterfall yang asli (Pressman, 2001, p.29), fase-fase tersebut diurutkan sebagai berikut : 1. Pemodelan dan rekayasa sistem/informasi 2. Analisis kebutuhan software 3. Desain 4. Coding 5. Pengujian/test
25 Untuk mengikuti model waterfall, suatu proses berjalan dari 1 fase ke fase berikutnya secara sekuensial. Sebagai contoh, fase spesifikasi kebutuhan selesai diproses, maka fase desain akan diproses lebih lanjut. Proses untuk fase berikutnya akan terus berlanjut jikalau proses sebelumnya sudah selesai dikerjakan. Apabila suatu model waterfall akan me-maintain atau memelihara suatu fase, maka proses tersebut akan bergerak ke suatu fase jika fase sebelumnya sudah selesai dan sempurna. Fase-fase yang dikembangkan dalam model waterfall adalah bertingkat, dan tidak ada yang melompat ke depan dan ke belakang, atau melewati diantara mereka.