SIMULASI SAHAM BERBASIS WEB DENGAN TEKNOLOGI VIRTUAL PRIVATE NETWORK DI PORTAL WWW.KONTAN.CO.ID
Albert V. Dian Sano
Information Systems Department, School of Information Systems, Binus University Jl. K.H. Syahdan No. 9, Palmerah, Jakarta Barat 11480 albert_vds@yahoo.com

## ABSTRACT
The objective of this research is to develop a web-based-online-stock-simulation application applying Virtual Private Network (VPN) technology. The web-based application is prefered for user’s convenience and comfort since it does not require any software to be installed on the client side and is also accessable anywhere and anytime with internet connection availability. The application is developed by means of analysis and design towards the technology needed to establish the connectivity between servers through internet as well as database analysis and design. The data are real time derived from the Indonesia Stock Exchange (IDX) and forwarded through an official data vendor PT XYZ. Data from the IDX will be captured by a middleware application at PT XYZ and forwarded to www.kontan.co.id. This application has been tested and succesfully run by around 700 users. This tool is expected to provide a kind of education and motivation to beginner-level investors who want to be engaged with the stock-trading activities.
Keywords: stock simulation, web-based application, virtual private network (VPN)

## ABSTRAK
Penelitian ini bertujuan membuat aplikasi simulasi saham online berbasis web dengan menerapkan teknologi Virtual Private Network (VPN). Aplikasi berbasis web dipilih untuk kemudahan dan kenyamanan penggunaan karena tidak memerlukan software apapun yang harus diinstall di sisi client dan dapat diakses dari manapun dan kapanpun sepanjang ada koneksi internet. Pengembangan aplikasi ini melalui analisis dan perancangan terhadap teknologi yang digunakan untuk konektivitas antar server melalui internet. Dilakukan pula analisis dan perancangan terhadap database.  Data yang digunakan adalah data real time dari Bursa Efek Indonesia (BEI) yang diteruskan melalui vendor data resmi PT XYZ. Data dari BEI akan ditangkap oleh aplikasi middleware di PT XYZ dan kemudian diteruskan ke www.kontan.co.id. Simulasi ini sudah dicoba oleh sekitar 700 pengguna dan berjalan dengan baik. Simulasi saham online berbasis web ini diharapkan mampu memberikan edukasi dan motivasi kepada para investor pemula yang ingin menekuni dunia perdagangan saham.
Kata kunci: simulasi saham, aplikasi berbasis web, virtual private network (VPN),

## PENDAHULUAN
Saat ini fasilitas online trading sudah menjadi kebutuhan tersendiri bagi para pelaku pasar modal. Tidak heran bila anggota bursa mulai menawarkan dengan gencar fasilitas ini kepada para pelanggannya. Fasilitas ini akan semakin memberi kemudahan bagi para penggunanya dalam melakukan transaksi dibandingkan dengan cara transaksi phone-based . Dengan kemudahan dan kecepatan transaksi akan makin memotivasi para pengguna untuk semakin sering melakukan transaksi.
Namun, menurut penelitian yang dilakukan oleh Barber dan Odean, yang meneliti sebanyak 66.465 akun investor ritel di AS selama 1991-1996, ditemukan bahwa semakin sering investor bertransaksi, semakin buruk kinerja portfolio nya (Barber dan Odean, 2000, dalam Atmaja, 2009).  Dan pada penelitian lain, Barber dan Odean (2002), mengingatkan akan bahaya online trading yang membuat jual-beli saham lebih mudah dan murah. Setelah bertransaksi online , para investor cenderung lebih aktif berjual-beli dan lebih spekulatif. Ini sekaligus membuktikan bahwa transaksi online cenderung membuat penggunanya bertransaksi secara lebih emosional (Barber dan Odean 2002 dalam Atmaja 2009).
Kondisi ini akan cenderung mengakibatkan pengalaman buruk bagi para investor pemula yang sama sekali belum pernah mencoba bermain saham. Untuk mengurangi risiko pengalaman buruk bagi para pemain saham pemula, maka perlu ada suatu media untuk berlatih dan belajar secara mudah dan nyaman.
Berkaitan dengan hal tersebut, maka perlu adanya suatu aplikasi untuk simulasi perdagangan saham online yang mampu menyajikan data real time dengan menerapkan teknologi yang sesuai dengan kebutuhan. Aplikasi ini bertujuan untuk edukasi bagi investor pemula yang bersifat murah dan mudah untuk diakses dari manapun. Sayangnya, saat ini aplikasi perdagangan saham online pada umumnya adalah aplikasi executable yang harus di install di komputer pengguna. Telebih lagi, aplikasi semacam ini hanya bisa didapatkan bila pengguna harus terdaftar di suatu perusahaan sekuritas tertentu dan memiliki status sah sebagai member suatu perusahaan sekuritas. Sehingga aplikasi semacam ini tidak bisa memberi ruang yang flexible bagi para pemula yang ingin belajar cara bermain saham.
Aplikasi simulasi saham online berbasis web di financial portal www.kontan.co.id adalah piranti untuk melakukan edukasi dan motivasi kepada para investor atau pemain saham pemula. Banyak pemain saham pemula yang merasa perlu adanya aplikasi yang bisa diakses di manapun secara mudah, nyaman, gratis, untuk keperluan belajar dan berlatih mengasah kemampuan analisis mereka dalam menekuni dunia perdagangan saham. Selain itu, para pemain saham pemula pada umumnya masih ragu-ragu untuk mengambil keputusan terhadap analisis-analisisnya untuk diimplementasikan di real market . Resiko kerugian terhadap aktivitas perdagangan saham pada umumnya membuat mereka ragu-ragu. Aplikasi simulasi saham berbasis web di www.kontan.co.id juga bisa dimanfaatkan para pemain saham pemula untuk lebih memotivasi danmengurangi keraguan terhadap hasil-hasil analisis mereka ke dalam real market setelah melakukan serangkaian eksperimen perdagangan di simulasi saham online ini. Sehingga para pemain saham pemula akan lebih cepat menumbuhkan rasa percaya diri mereka untuk berinvestasi di real market .
Data yang digunakan dalam simulasi saham online ini adalah data real time yang di dapat dari otoritas bursa, yaitu Bursa Efek Indonesia (BEI) melalui salah satu vendor data resmi PT XYZ. Dan tentu saja, simulasi saham online ini harus memiliki ijin dan persetujuan dari BEI.

## METODE
Metode yang digunakan dalam penelitian ini adalah analisis terhadap kebutuhan sistem, analisis dan perancangan teknologi konektivitas antar server melalui internet, kemudian analisis dan perancangan basis data yang akan digunakan oleh aplikasi simulasi saham.
Metode yang pertama adalah melakukan analisis terhadap kebutuhan sistem. Tahap ini dilakukan dengan cara berdiskusi dengan pengguna internet yang ingin belajar bermain saham secara online . Dari analisis kebutuhan ini diketahui bahwa aplikasi yang paling sesuai adalah aplikasi yang berbasis web . Dengan aplikasi ini pengguna tidak perlu melakukan instalasi software apapun di sisi client .
Metode berikutnya adalah analisis dan perancangan terhadap teknologi yang digunakan untuk konektivitas antar server melalui internet. Tahap ini dilakukan untuk menemukan sistem konektivitas terbaik untuk transfer data secara real-time dari server PT XYZ ke server www.kontan.co.id . Tahap ini diterapkan dengan melalukan eksperimen yang melibatkan dua organisasi dengan dua infrastruktur yang berbeda lokasi, dan komunikasi antar server menggunakan jalur internet atau jaringan public.
Berikutnya adalah analisis dan perancangan database . Analisis dan perancangan database pada tahap ini cukup dengan penyajian logical tables, model diagram E-R dan physical tables .

## HASIL DAN PEMBAHASAN
Setelah menganalisis kebutuhan sistem dan menemukan bahwa kebutuhan pengguna adalah aplikasi berbasis web , aplikasi yang akan dikembangkan menggunakan bahasa pemrograman PHP , MySQL sebagai software database  management system dan Apache sebagai web server -nya.. Pertimbangan pemilihan kombinasi PHP , MySQL , dan Apache adalah bahwa kombinasi ini, selain paling banyak digunakan, juga dianggap paling cepat dan efisien untuk melakukan transfer request dan response data dari dan ke pengguna.
Tahap berikutnya adalah merancang proses pengiriman data antara dua infrastruktur jaringan dari dua organisasi, yaitu antara PT XYZ dan kontan.co.id. Pada tahap ini ada dua alternatif untuk proses pengiriman data dari server PT XYZ ke server kontan.co.id. Yang pertama adalah pengiriman data dengan menggunakan sistem open standard , di mana dua organisasi menerapkan kesepakatan atau standard sendiri dalam pengiriman dan penerimaan data. Dalam hal ini server kontan.co.id akan menarik data ( pull-technology ) yang disediakan oleh PT XYZ dalam format eXtensible Markup Language (XML) , kemudian disimpan ke database . Kelemahan dari cara ini adalah data tidak bisa ditampilkan secara benar-benar real-time dan ada delay beberapa saat. Sehingga kondisi data yang digunakan bertransaksi tidak mencerminkan harga pasar yang sebenarnya. Kelemahan yang lain adalah bahwa beban di server terlalu tinggi karena harus secara kontinyu menarik data dan kemudian melakukan update semua harga saham setiap detik ke database . Yang kedua adalah pengiriman data menggunakan teknologi Virtual Private Network (VPN) untuk melakukan update data secara real-time dari aplikasi PT XYZ langsung ke database kontan.co.id (push-technology). Implementasi teknologi ini akan menghilangkan kelemahan-kelemahan dari pilihan pertama di atas. Dan dengan pertimbangan ini, maka pilihan transfer data menggunakan pilihan yang kedua, yaitu menggunakan teknologi VPN antara kontan.co.id dan PT XYZ.
VPN bukanlah teknologi yang pertama untuk membentuk konektivitas privat jarak jauh. Beberapa tahun sebelumnya, cara yang paling umum digunakan untuk koneksi jarak jauh secara privat
adalah menggunakan leased line . Leased line seperti Integrated Services Digital Network (ISDN, 128 Kbps) adalah koneksi jaringan privat yang disewakan oleh perusahaan-perusahaan telekomunikasi kepada para pelanggannya. Leased line bisa diberikan bagi pelanggan korporat untuk memperluas jaringan privatnya sehingga membentuk suatu WideaArea Network (WAN) untuk keperluan bisnisnya. Meski cukup handal dan aman, leased line sangatlah mahal. Dan pada umumnya semakin jauh jarak konektivitasnya, semakin tinggi harga sewanya.  Karena itu saat ini leased line seringkali digantikan dengan teknologi yang memanfaatkan koneksi internet dengan harga yang jauh lebih murah tanpa mengorbankan kinerja dan keamanan, yaitu VPN .
Secara definisi sederhana, VPN adalah cara yang aman untuk menghubungkan Local Area Network (LAN) ke suatu lokasi lain yang berjauhan dengan menggunakan jalur internet atau jaringan publik dalam mengirimkan paket-paket data jaringan secara privat dengan menggunakan enkripsi.
Urutan perjalanan data saham dalam aplikasi simulasi saham online ini adalah sebagai berikut. Awalnya Bursa Efek Indonesia (BEI) melakukan broadcast data saham secara real-time setiap kali ada perubahan data. Kemudian PT XYZ akan menyediakan suatu aplikasi yang berfungsi sebagai middleware untuk menangkap data yang di- broadcast dari server BEI. Aplikasi middleware di PT XYZ kemudian melakukan update data ke database kontan.co.id melalui koneksi VPN . Proses pejalanan transfer data adalah seperti terlihat dalam Gambar 1.
Gambar 1 . Transfer Data dari BEI ke PT. XYZ dilanjutkan ke kontan.co.id.
Implementasi teknologi VPN antara kontan.co.id  dan PT. XYZ adalah seperti terlihat dalam Gambar 2 berikut:
Gambar 2 . Virtual Private Network (VPN) antara kontan.co.id dan PT. XYZ.
Software VPN yang digunakan adalah OpenVPN . OpenVPN server di install di salah satu server kontan.co.id yang akan berperan sebagai server VPN . Di server ini juga ter install DBMS server yang menggunakan MySQL . VPN server akan menggunakan port 1723. Contoh konfigurasinya adalah sebagai berikut: IP public 202.146.5.213. Kemudian IP public ini dikonversi menjadi IP private dengan menggunakan Network Address Translation (NAT) menjadi 10.50.16.204 untuk membentuk private network .
Kemudian OpenVPN yang ter- installed di salah satu server kontan.co.id akan menghasilkan beberapa sertifikat keamanan untuk proses otentikasi, yaitu server certificate , ca certificate , user key , dan user certificate . User key dan user certificate harus diberikan ke VPN client di mana software OpenVPN client di- installed . User key dan user certificate digunakan untuk proses enkripsi-dekripsi data yang dilewatkan melalui private tunnel (VPN) yang terbentuk dan untuk proses otentikasi antara VPN server dan VPN client . Setelah konektivitas dengan menggunakan VPN terbentuk maka server dari PT XYZ bisa melakukan update data ke server kontan.co.id dengan seolah-olah menggunakan jalur lokal atau seolah-olah dalam satu jaringan.
Tahap berikutnya adalah perancangan basis data dan user interface . Perancangan basis data untuk keperluan simulasi saham online disini tidaklah terlalu rumit. Pada dasarnya struktur tabel yang digunakan sudah menyesuaikan dari raw data yang didapat dari BEI dan kemudian di teruskan ke server database kontan.co.id melalui aplikasi middleware dari PT XYZ untuk update data. Tabel yang digunakan hanya satu saja, dengan nama tabel stock, sehingga tidak perlu menerapkan berbagai macam normalisasi. Tabel logikal untuk tabel stock adalah seperi berikut:
tabel stock = {#StockCode, StockName, Status, PreviousPrice, OpenPrice, HighestPrice, LowestPrice, LastPrice, LastVolume, Change, ChangePercentage, Bid, BidVolume, Offer, OfferVolume, TotalFrequency, TotalVolume, TotalValue}.
Field dengan tanda ‘#’ adalah berfungsi sebagai Primary Key (PK) . Untuk deskripsi tipe data adalah seperti yang terlihat dalam Tabel 1 berikut:

## Tabel 1
Nama-Nama Field dan Tipe Data Tabel Stock
Nama field

## Tipe data
StockCode Char(12)
StockName Char(40) Status Char(4) PreviousPrice Int(11) OpenPrice Int(11) HighestPrice Int(11) LowestPrice Int(11) LastPrice Int(11) LastVolume Int(11) Change Int(11) ChangePercentage Float Bid Int(11) BidVolume Int(11) Offer Int(11) OfferVolume Int(11) TotalFrequency Int(11) TotalVolume Int(11) TotalValue Float
Di dalam simulasi saham online ini juga akan tercatat portfolio masing-masing investor atau pengguna. Portfolio adalah nilai saham yang dipegang oleh pengguna dimana nilainya selalu berubah setiap saat akibat transaksi saham di bursa saham. Jadi portfolio masing-masing pengguna akan cenderung selalu bergerak mengikuti nilai saham yang sedang bergerak di pasar entah pengguna tersebut melakukan jual-beli saham atau tidak. Untuk mengimplementasikan fitur portfolio , aplikasi ini perlu menambahkan tabel untuk menyimpan data pengguna. Tabel ini diberi nama member_detail yang akan digunakan untuk login sekaligus untuk membedakan portfolio masing-masing pengguna sesuai dengan saham yang sedang dipegang. Tabel logikal untuk tabel member_detail adalah seperi berikut: tabel member_detail = {#d_id, nama_lengkap, jenis_kelamin, tanggal_lahir, alamat, kota, propinsi, negara, email, telepon, hp, gaji, jabatan, industri, email_confirm, email_status}.
Field dengan tanda ‘#’ adalah berfungsi sebagai Primary Key (PK). Untuk deskripsi tipe data adalah seperti yang terlihat dalam Tabel 2 berikut:

## Tabel 2
Nama-Nama Field Dan Tipe Data Tabel Member_Detail
Nama field Tipe data d_id Int(10) nama_lengkap Varchar(50) jenis_kelamin Varchar(10) tanggal_lahir Date alamat Varchar(255) kota Varchar(30) propinsi Varchar(30) negara Varchar(30) email Varchar(50) telepon Varchar(20) hp Varchar(20) gaji Int(11) jabatan Varchar(30) industri Varchar(50) email_confirm Varchar(50) email_status Int(1)
Karena aktivitas pada aplikasi ini adalah aktivitas transaksional jual-beli saham, perlu disediakan log transaksi dari masing-masing pengguna. Log transaksi ini akan mencatat semua aktivitas jual-beli masing-masing pengguna. Jadi, log transaksi berfungsi sebagai historical records dari transaksi yang dilakukan oleh tiap-tiap pengguna. Fungsi dari log transaksi adalah sebagai alat bukti transaksi bila ditemukan ketidaksesuaian jumlah modal atau portfolio pengguna, fraudulent transaksi, dan sebagainya. Log transaksi akan dicatat dalam tabel log_trading . Tabel logikal untuk tabel log_trading adalah seperi berikut: tabel log_trading = {#log_id, userid, jenis_transaksi, kode, lot, harga, datetime, ip_address}.
Field dengan tanda ‘#’ adalah berfungsi sebagai Primary Key (PK), sedangkan field dengan garis-bawah atau underline adalah untuk Foreign Key (FK). Untuk deskripsi tipe data adalah seperti yang terlihat dalam Tabel 3 berikut:

## Tabel 3
Nama-Nama Field dan Tipe Data Tabel Log_Trading
Nama field Tipe data log_id Int(10) userid Int(10) jenis_transaksi enum(‘jual’, ‘beli’) kode Varchar(10) lot Int(11) harga Decimal(10,2) datetime Timestamp Ip_address Varchar(20)
Model Entity-Relation (E-R) antara entitas stock , member_detail , dan log_trading , mengacu ke kardinalitas antar entitas, seperti yang terlihat pada Gambar 3 berikut:
Gambar 3. Model Diagram E-R entitas stock , log_trading , dan member_detail.
Field yang bertanda # adalah sebagai Primary Key (PK) , sedangkan field dengan tanda garis- bawah atau underline adalah Foreign Key (FK) .
Untuk penggunaan user interface di aplikasi simulasi saham ini, harus diimplementasikan beberapa ketentuan dan peraturan tambahan supaya lebih mendekati kemiripan dengan transaksi yang terjadi di real market . Beberapa ketentuan dan peraturan tersebut adalah seperti berikut: (1) pengguna harus terdaftar terlebih dahulu ke dalam membership . Bagi pengguna yang sudah terdaftar harus login terlebih dahulu untuk masuk ke user interface simulasi saham dan kemudian melakukan transaksi atau
stock
#StockCode StockName Status
PreviousPrice OpenPrice HighestPrice LowestPrice LastPrice LastVolume Change
ChangePercentage Bid BidVolume Offer OfferVolume TotalFrequency
TotalVolume TotalValue log_trading #log_id userid jenis_transaksi kode lot harga datetime ip_address member_detail #d_id nama_lengkap jenis_kelamin tanggal_lahir alamat kota propinsi negara email telepon hp gaji jabatan industri email_confirm email_status (0,M) (1,1) (1,1) (0,M)
hanya sekedar untuk melakukan cek portfolio . Sedangkan pengguna yang belum terdaftar harus melakukan pendafataran terlebih dahulu. Setelah melakukan pendaftaran, pengguna harus melakukan aktivasi melalui link yang dikirim secara otomatis melalui email; (2) input data oleh pengguna untuk melakukan transaksi di interface simulasi saham adalah kode emiten dan jumlah lot, sedangkan harga akan di- generate secara otomatis oleh sistem dengan menggunakan data harga real-time ; (3) modal virtual ( default ) yang diberikan adalah 250.000.000 (dua ratus lima puluh juta); (4) proses pembelian di simulasi ini adalah tanpa antrian; (5) harga beli menggunakan harga offer yang dihasilkan secara otomatis oleh sistem berdasarkan data real-time; (6) harga jual menggunakan harga bid yang dihasilkan secara otomatis oleh sistem berdasarkan data real-time; (7) fee pembelian yang diberlakukan adalah sebesar 0,175%; (8) fee penjualan yang diberlakukan adalah sebesar 0,275%; (9) transaksi perdagangan saham hanya pada hari dan jam sesuai dengan yang berlaku di BEI; (10) report total modal yang dimiliki masing-masing pengguna adalah berupa penjumlahan total dari cash dan portfolio . Portfolio adalah nilai saham-saham yang dipegang oleh pengguna berdasarkan data harga saham real-time terakhir; (11) saham yang terkena sanksi suspensi oleh BEI tidak bisa ditransaksikan. Gambaran lebih jelas mengenai user interface seperti terlihat pada Gambar 4 dibawah ini:
Gambar 4 . User interface simulasi saham online.
Karena aplikasi ini adalah aplikasi yang berbasis web , pengujian dilakukan terhadap kompatibilitas beberapa web browser . Beberapa web browser yang diuji adalah browser-browser yang populer dan paling banyak digunakan yaitu, Mozilla Firefox , Internet Explorer (IE) versi 7 ke atas, Google Chrome , Opera , dan Safari .
Selain pengujian di level aplikasi juga dilakukan pengujian di lever server untuk mengetahui kapasitas beban server dalam menerima proses request dan response . Untuk uji server dilakukan uji stress test . Hasil stress test menunjukkan bahwa kemampuan server dengan aplikasi ini mampu menanggapi proses request dan response sebanyak 200 dalam waktu yang bersamaan. Proses tercepat
tercatat sekitar 1.5 detik dan yang terlama tercatat sekitar 90 detik. Server akan down bila terjadi request yang bersamaan lebih dari 200 request . Server yang digunakan adalah dual core dengan kecepatan processor 3GHz , memory 4 GB RAM.

## PENUTUP
Berdasarkan pengujian yang melibatkan sekitar 700 pengguna dan transaksi aktif lebih dari 500 pengguna setiap hari, sistem mampu berjalan dengan baik. Aplikasi seperti ini, berdasarkan feedback pengguna, sangat membantu mereka dalam melatih kemampuan bertransaksi saham di real market .
Perbedaan cara bertransaksi melalui aplikasi ini dengan transaksi di real market adalah bahwa tidak adanya antrian di aplikasi ini. Proses jual-beli saham terjadi antara pengguna dengan sistem. Untuk lebih mendekati kemiripan dengan transaksi di real market , perlu dilakukan penelitian lebih lanjut supaya bisa memasukkan aturan mengenai transaksi menggunakan antrian. Sehingga jual beli saham bisa terjadi antar pengguna, bukan antara pengguna dengan sistem.
Untuk  menjaga kestabilan beban server dalam menerima request dan response , jumlah pengguna bisa dibatasi, misalnya cukup 1000 pengguna yang terdaftar.
Ada beberapa potensi masalah seperti, konektivitas VPN terputus, webserver dan database server down , potensi aktivitas hacking . Untuk mengantisipasi dan menangani potensi munculnya masalah ini perlu dilakukan penelitian lebih lanjut.
Berdasarkan uji kompatibilitas web browser , aplikasi ini sudah kompatibel dengan beberapa web browser yang paling populer dan paling banyak digunakan seperti, Mozilla Firefox , Google Chrome , Internet Explorer versi 7 ke atas, Opera , dan Safari . Penelitian selanjutnya mungkin bisa diperluas untuk mengakomodasi browser-browser berbasis perangkat mobile .
Selain untuk mengantisipasi dan menangani beberapa potensi munculnya masalah, penelitian lebih lanjut bisa juga ditujukan untuk pengembangan dengan menambahkan beberapa fitur atau tool kecerdasan buatan, misalnya dengan menambahkan fungsi alert jual atau beli yang bisa terkirim secara otomatis melalui short text message ( sms ) atau email pengguna.
Terakhir, adalah bahwa pengembangan teknis aplikasi ini membutuhkan saling kepercayaan yang tinggi antar dua organisasi, dalam hal ini antara kontan.co.id dan PT XYZ sebagai vendor penyedia data. Karena adanya komunikasi server ke server dan berbagi user dan password database dari organisasi yang satu ke organisasi yang lainnya.

## DAFTAR PUSTAKA
Atmaja, L. S. (2009, Agustus). Menggapai Langit, Menginjak Bumi. Harian Kontan , hal.8.
Tyson, J., Crawford, S. How VPNs Work. Diakses 14 Juni 2011 dari http://www.howstuffworks.com/vpn.htm.
VPN. (2011). Diakses 14 Juni 2011 dari http://en.wikipedia.org/wiki/Virtual_private_network.