BAB II LANDASAN TEORI 2.1 Pengertian Sistem Menurut Tata Sutabri (2012:6) “Sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain, yang berfungsi bersama-sama untuk mencapai tujuan tertentu”. Menurut Prof. Dr. Mr. S. Prajudi Atmosudirdjo (2012:07) “Suatu sistem terdiri atas objek-objek atau unsur-unsur atau komponen-komponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengolahan yang tertentu. (Tata Sutabri, 2012).
Gambar 2.1 Model Sistem (http://1.bp.blogspot.com/lTDe949CV7A/T3ncF1jjaYI/AAAAAAAAAXY/DzZUajZqBHU/s1600/1.jpg)
Dalam gambar 2.1 menunjukan bahwa sistem terdiri dari beberapa komponen yaitu input (masukan), processing (pengolahan), out put (keluaran), dan kontrol (balikan).
2.2 Pengertian Informasi Menurut Carlos Coronel (2011:5) informasi adalah hasil dari pengolahan data mentah untuk mengungkapkan maknanya. Sumber dari informasi adalah data. Data adalah sekumpulan fakta mentah. (Carlos, Steven, Peter, 2011:5)
9
10
2.3 Pengertian Sistem Informasi Menurut
Laudon
dan
Laudon
(2010:46)
sistem
informasi
merupakan komponen yang saling bekerja sama untuk mengumpulkan, mengolah, menyimpan dan menyebarkan informasi untuk mendukung pengambilan keputusan, koordinasi, pengendalian, analisis masalah dan visualisasi dalam sebuah organisasi.
2.4 Rekayasa Perangkat Lunak Pengertian rekayasa perangkat lunak adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa
kebutuhan
pengguna,
menentukan
spesifikasi
dari
kebutuhan
pengguna,disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. (Verdi, 2012)
2.4.1 Ruang Lingkup Rekayasa Perangkat Lunak Sesuai dengan definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut :
Gambar 2.2 Ruang Lingkup Rekayasa Perangkat Lunak (Verdi, 2012:4) Software Ruqirement berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak. Software Design mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak.
11
Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan. Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak. Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan. Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu. Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak. Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode rekayasa perangkat lunak. Software engineering process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses rekayasa perangkat lunak. Software quality menitik beratkan pada kualitas dan daur hidup perangkat lunak.
2.4.2
Sofware Development Life Cycle (SDLC) SDLC ( Software Development Life Cycle) atau sering disebut juga System
Develompent Life Cycle adalah proses mengembangkan atau mengubah suatu system perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan system-sistem perangkat lunak sebelumnya berdasarkan best practice atau cara-cara yang sudah teruji baik. (Rosa, Shalahuddin, 2011)
12
Gambar 2.3 SDLC (Software Development Life Cycle) (Adi, 2010 :4)
Tahapan-tahapan SDLC 1. Inisialisasi (initiation) Tahapan ini biasasnya ditandai dengan pembuatan proposal proyek perangkat lunak.
2. Pengembangan konsep sistem (System concept development) Mendefinisikan lingkup konsep termasuk dokumen lingkup sistem, analisis manfaat biaya, manajemen rencana, dan pembelajaran kemudahan system.
3. Perencanaan (planning) Mengembangkan rencana manajemen proyek dan dokumen perencanaan lainnya. Menyediakan dasar untuk mendapatkan sumber daya (resources) yang dibutuhkan untuk memperoleh solusi.
13
4. Analisis kebutuhan (requirement analysis) Menganalisis kebutuhan pemakai system perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional.
5. Disain (design) Mentransformasikan kebutuhan detail menjadi kebutuhan yang sudah lengkap, dokumen disain sistem fokus pada bagaimana dapat memenuhi fungsi-fungsi yang dibutuhkan.
6. Pengembangan (development) Mengkonversi disain ke sistem informasi yang lengkap termasuk bagaimana memperoleh dan melakukan instalasi lingkungan sistem yang dibutuhkan; membuat basis data dan mempersiapkan prosedur kasus pengujian; mempersiapkan berkas atau file pengujian, pengkodean,pengkompilasian, memperbaiki dan membersihkan program; peninjauan pengujian.
7. Integrasi dan pengujian (integration dan test) Mendemonstrasikan sistem perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan pada dokumen kebutuhan fungsional. Dengan diarahkan oleh staf penjamin kualitas (quality assurance) dan user. Menghasilkan laporan analisis pengujian.
8. Implementasi (implementation) Termasuk pada persiapan implementasi, implementasi perangkat lunak pada lingkungan produksi (lingkungan pada user) dan menjalankan resolusi dari permasalahan yang teridentifikasi dari fase integrasi dan pengujian.
14
9. Operasi dan pemeliharaan (operations and maintenance) Mendeskripsikan pekerjaan untuk mengoperasikan dan memlihara sistem informasi pada lingkungan produksi (lingkungan pada user), termasuk implementasi akhir dan masuk pada proses peninjauan.
10. Disposisi (disposition) Mendeskripsikan aktifikas akhir dari pengembangan sistem dan membangun data yang sebenarnya sesuai dengan aktifitas user.
2.4.3 Model Waterfall Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, disain, pengkodean, pengujian, dan tahap pendukung (support). (Rosa, Shalahuddin, 2011)
Gambar 2.4 Model Waterfall (Roger, 2010:39)
Berikut tahapan-tahapan model waterfall :
Analisis kebutuhan perangkat lunak Proses
pengumpulan
kebutuhan
dilakukan
secara
intensif
untuk
menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan.
15
Disain Disain perangkat lunak adalah proses multilangkah yang fokus pada disain
pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi disain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Disain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan.
Pembuatan kode program Disain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap
ini adalah program computer sesuai dengan disain yang telah dibuat pada tahap disain.
Pengujian Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan
memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
Pendukung (support) atau pemeliharaan (maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan
ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
2.4.4
Pengujian Perangkat Lunak Pengujian merupakan bagian yang tidak terpisahkan dari perangkat lunak.
Proses pengujian juga memengaruhi masa penggunaan perangkat lunak. Semakin terperinci proses pengujian yang dilakukan, semakin lama rentang waktu yang akan
16
diperlukan pada satu pemeliharaan perangkat lunak dan untuk proses selanjutnya. (Janner, 2010)
Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah sebagai berikut : 1. Pengujian adalah proses eksekusi suatu program untuk menemukan kesalahan. 2. Kasus pengujian yang baik adalah kasus pengujian yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.
2.4.5
Blackbox Testing Black-Box Testing merupakan pengujian yang berfokus pada spesifikasi
fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program. (Janner, 2010) Klasifikasi black box testing mencakup beberapa pengujian, yaitu : 1. Pengujian fungsional (fungsional testing) Pada jenis pengujian ini, perangkat lunak diuji untuk persyaratan fungsional. Pengujian dilakukan dalam bentuk tertulis untuk memeriksa apakah aplikasi berjalan seperti yang diharapkan.
2. Pengujian tegangan (stress testing) Pengujian tegangan berkaitan dengan kualitas aplikasi di dalam lingkungan. Idenya adalah untuk menciptakan sebuah lingkungan yang menuntut aplikasi, tidak seperti saat aplikasi dijalankan pada beban kerja normal. Pengujian ini adalah hal yang paling sulit, cukup kompleks dilakukan, dan memerlukan upaya bersama dari semua tim.
17
3. Pengujian beban (load testing) Pada pengujian beban, aplikasi akan diuji dengan beban berat atau masukan, seperti yang terjadi pada pengujian situs web, untuk mengetahui apakah aplikasi/situs gagal atau kinerjanya menurun. Pengujian beban beroperasi pada tingkat beban standar, biasanya beban tertinggi akan diberikan ketika sistem dapat menerima dan tetap berfungsi dengan baik.
4.
Pengujian khusus (ad-hoc testing) Jenis pengujian ini dilakukan tanpa penciptaan rencana pengujian (test plan)
atau kasus pengujian (test case). Pengujian khusus membantu dalam menentukan lingkup dan durasi dari berbagai pengujian lainnya dan juga membantu para penguji dalam mempelajari aplikasi sebelum memulai pengujian dengan pengujian lainnya. Pengujian khusus dapat menemukan lubang-lubang dalam pengujian strategi dan dapat mengekspos hubungan di antara subsistem lain yang tidak jelas
5. Pengujian penyelidikan (exploratory testing) Pengujian penyelidikan mirip dengan pengujian khusus dan dilakukan untuk mempelajari/mencari aplikasi. Pengujian penyelidikan perangkat lunak ini merupakan pendekatan yang menyenangkan untuk pengujian.
6. Pengujian usabilitas (usability testing) Pengujian ini disebut juga sebagai pengujian untuk keakraban pengguna (testing for user-friendliness). Pengujian ini dilakukan jika antarmuka pengguna dari aplikasinya penting dan harus spesifik untuk jenis pengguna tertentu. Pengujian usabilitas adalah proses yang bekerja dengan pengguna akhir secara langsung maupun tidak langsung untuk menilai bagaimana pengguna merasakan paket perangkat lunak dan bagaimana mereka berinteraksi dengannya.
7. Pengujian asap (smoke testing) Jenis pengujian ini disebut juga pengujian kenormalan (sanity testing). Pengujian ini dilakukan untuk memeriksa apakah aplikasi tersebut sudah siap untuk
18
pengujian yang lebih besar dan bekerja dengan baik tanpa cela sampai tingkat yang paling diharapkan. Pada sebuah pengujian baru atau perbaikan peralatan yang terpasang, jika aplikasi “berasap”, aplikasi tersebut tidak bekerja.
8. Pengujian pemulihan (recovery testing) Pengujian pemulihan (recovery testing) pada dasarnya dilakukan unuk memeriksa seberapa cepat dan baiknya aplikasi bisa pulih terhadap semua jenis crash atau kegagalan hardware, masalah bencana, dan lain-lain. Jenis atau taraf pemulihan ditetapkan dalam persyaratan spesifikasi.
9. Pengujian volume (volume testing) Pengujian volume, seperti namanya, adalah pengujian sebuah sistem (baik perangkat keras dan perangkat lunak) untuk serangkaian pengujian dengan volume data yang diproses adalah subjek dari pengujian, seperti sistem yang dapat menangkap sistem pengolahan transaksi penjualan real-time atau dapat membarui basis data atau pengembalian data (data retrieval).
10. Pengujian domain (domain testing) Pengujian domain merupakan penjelasan yang paling sering menjelaskan teknik pengujian. Beberapa penulis hanya menulis tentang pengujian domain ketika mereka menulis disain pengujian.
11. Pengujian skenario (scenario testing) Pengujian skenario adalah pengujian yang realistis, kredibel dan memotivasi stakeholder, tantangan untuk program dan mempermudah penguji untuk melakukan evaluasi. Pengujian ini menyediakan kombinasi variabel-variabel dan fungsi yang sangat berarti daripada kombinasi buatan yang didapatkan dengan pengujian domain atau disain pengujian kombinasi.
19
12. Pengujian regresi (regression testing) Pengujian regresi adalah gaya pengujian yang berfokus pada pengujian ulang (retesting) setelah ada perubahan. Pada pengujian regresi berorientasi risiko (riskoriented regressin testing), daerah yang sama sudah diuji, akan kita uji lagi dengan pengujian yang berbeda (semakin kompleks). Usaha pengujian regresi bertujuan untuk mengurangi risiko berikut ini : a. Perubahan yang dimaksudkan untuk memperbaiki bug yang gagal. b. Beberapa perubahan memiliki efek samping, tidak memperbaiki bug lama atau memperkenalkan bug baru.
13. Penerimaan pengguna (user acceptance) Pada jenis pengujian ini, perangkat lunak akan diserahkan kepada pengguna untuk mengetahui apakah perangkat lunak memenuhi harapan pengguna dan bekerja seperti yang diharapkan. Pada pengembangan perangkat lunak, user acceptance testing (UAT), juga disebut pengujian beta (beta testing), pengujian aplikasi (application testing), dan pengujian pengguna akhir (end user testing) adalah tahapan pengembangan perangkat lunak ketika perangkat lunak diuji pada “dunia nyata” yang dimaksudkan oleh pengguna.
14. Pengujian alfa (alpha testing) Pada jenis pengujian ini, pengguna akan diundang ke pusat pengembangan. Pengguna akan menggunakan aplikasi dan pengembang mencatat setiap masukan atau tindakan yang dilakukan oleh pengguna. Semua jenis perilaku yang tidak normal dari sistem dicatat dan dikoreksi oleh para pengembang.
15. Pengujian beta (beta testing) Pada jenis pengujian ini, perangkat lunak didistribusikan sebagai sebuah versi beta dengan pengguna yang menguji aplikasi di situs mereka. Pengecualian/cacat yang terjadi akan dilaporkan kepada pengembang. Pengujian beta dilakukan setelah pengujian alfa. Versi perangkat lunak yang dikenal dengan sebutan versi beta dirilis untuk pengguna yang terbatas di luar perusahaan. Perangkat lunak dilepaskan ke
20
kelompok masyarakat agar dapat memastikan perangkat lunak tersebut memiliki beberapa kesalahan atau bug.
2.5 Paradigma Berorientasi Objek Berorientasi obyek merupakan atau object oriented merupakan paradigma baru dalam rekayasa perangkat lunak. Paradigma ini memandang sistem sebagai kumpulan obyek-obyek diskrit yang saling berinteraksi satu sama lain. Berorientasi obyek bisa juga bermakna kegiatan mengorganisasikan perangkat lunak sebagai kumpulan obyek-obyek diskrit yang bekerja sama antara informasi (atau struktur data) dan perilaku (behavior) yang mengaturnya. Pada paradigma berorientasi obyek, setiap obyek mempunyai dua pengenal, yaitu informasi tentang obyek itu dan perilaku yang pengaturnya. Informasi tentang obyek dapat disebut juga attribute, sedangkan operasi-operasi pengatur obyek bisa disebut juga dengan method. Obyek-obyek yang mempunyai attribute dan operasi yang sama dapat dikelompokkan dalam sebuah kategori. Sebuah kategori untuk beberapa obyek disebut kelas atau class. Paradigma berorientasi obyek mempunyai bidang aplikasi yang sangat luas dalam bidang rekayasa perangkat lunakm antara lain : pemrograman, pemodelan sistem informasi, manajemen proyek, perangkat keras, dan pengujian (testing) perangkat lunak. (Sholiq, Imam, 2010)
2.5.1 Pemodelan UML (Unified Modeling Language) UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML ini merupakan
bahasa visual untuk pemodelan bahasa
berorientasi objek, maka semua elemen dan diagram berbasiskan pada paradigma object oriented. UML adalah salah satu
tool
atau model untuk merancang
pengembangan software yang berbasis object oriented . (Sholiq, Imam, 2010)
21
Tujuan dari UML adalah menyediakan kosa kata umum atau istilah berbasis obyek dan diagram teknik yang sangat lengkap kepada pengembang untuk memodelkan proyek pengembangan sistem informasi dari analisa sampai disain sistem. (Alan, Barbara, Roberta, 2012, chap. 14)
Saat ini UML sudah mencapai versi 2.0. Didalam versi ini, terdapat 14 macam diagram teknik untuk pemodelan sistem. Diagram tersebut dibagi menjadi dua kelompok utama: satu untuk pemodelan struktur sistem dan yang satu lagi untuk pemodelan perilaku sistem atau behavior. Diagram struktur digunakan untuk merepresentasikan data dan relasi statis yang berada di dalam suatu sistem informasi. Sedangkan diagram perilaku menyajikan analisa dengan cara menggambarkan hubungan dinamis antara obyek yang mewakili bisnis sistem informasi. Diagram perilaku memungkinkan untuk melakukan pemodelan perilaku dinamis obyek individu. Diagram perilaku juga mendukung analis membuat pemodelan requirement functional dalam mengembangkan sistem informasi. (Alan, Barbara, Roberta, 2012, chap. 14) Tabel 2.1 Jenis – Jenis Diagram UML (Alan, Barbara, Roberta, 2012: 513) No Nama Diagram Diagram Struktur 1.
2.
Class
Object
3.
Package
4.
Deployment
Kegunaan Menggambarkan hubungan antara kelaskelas yang dimodelkan dalam sistem. Menggambarkan hubungan antara objekobjek yang dimodelkan dalam sistem Mengelompokkan elemen-elemen UML lain secara bersama-sama untuk membentuk konstruksi yang lebih tinggi. Menunjukkan arsitektur fisik sistem. Bisa juga digunakan untuk
Fase Utama Analisa, Disain
Analisa, Disain
Analisa, Implementasi
Disain,
Disain Implementasi
fisik,
22
menujukkan komponenkomponen perangkat lunak yang digunakan didalam sistem. Menggambarkan hubungan fisik di antara 5. Component komponen-komponen perangkat lunak Menggambarkan struktur internal sebuah class, Composite 6. yaitu hubungan antara Structure bagian-bagian sebuah class Diagram Perilaku /Behavior Menggambarkan alur kerja bisnis independen class, alur aktifitas7. Activity aktifitas di dalam sebuah use case, atau disain detail sebuah method. Model perilaku objek dalam sebuah use case. 8. Sequence Fokus pada urutan waktu pada suatu activity. Model perilaku objek dalam sebuah use case. Focus pada komunikasi 9. Communication antara satu set kolaborasi objek dalam suatu activity. Menggambarkan ulasan Interaction 10. alur control sebuah Overview proses. Menggambarkan interaksi yang terjadi 11. Timing diantara objek dan perubahan state Behavioral State Menguji perilaku sebuah 12. Machine class. Menggambarkan Protocol State ketergantungan diantara 13. Machine perbedaan antarmuka sebuah class. Menangkap kebutuhan 14. Use Case bisnis untuk sistem dan menggambarkan interaksi
Disain Implementasi
Analisa, Disain
Analisa, Disain
Analisa, Disain
Analisa, Disain
Analisa, Disain
Analisa, Disain
Analisa, Disain Analisa, Disain
Analisa
fisik,
23
antara sistem lingkungan.
dan
2.5.1.1 Use Case Diagram Diagram use case menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar. Yang menjadi persoalan itu apa yang dilakukan
bukan bagaimana melakukannya. Seorang analis dapat
menggunakan use case diagram untuk lebih mengerti fungsionalitas dari sebuah sistem di level paling tinggi. (Sholiq, Imam, 2010)
Tabel 2.2 Simbol Use Case Diagram (Adi, 2010: 36) Simbol
Nama Simbol
Keterangan
Aktor
Memberikan informasi pada sistem dan memerintahkan sistem untuk melakukan sesuatu. Dapat berkaitan dengan aktor lainnya.
Use Case
Gambaran sesorang akan menggunakan sistem atau bagian utama dari sebuah sistem.
Generalisasi
Menggambarkan hubungan antara use case yang bersifat umum dengan use case-use case yang bersifat lebih spesifik.
Extends
Penambahan perilaku ke suatu use case dasar.
Include
Penambahan perilaku ke suatu use case dasar yang secara eksplisit mendeskripsikan penambahan tersebut.
24
Association Relationship
Lintasan komunikasi antara actor dan usecase
Diagram use case dekat kaitannya dengan kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem.
Gambar 2.5 Contoh use case diagram (Alan, Barbara, Roberta, 2012: 517)
2.5.1.2 Sequence Diagram Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan, pesan apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. (Sholiq, Imam, 2010)
Tabel 2.3 Simbol Sequence Diagram (Evi, I Gede, 2012: 71) Simbol
Nama Simbol
Keterangan Merupakan instance dari sebuah class dan
Object
dituliskan tersusun secara horizontal.
25
Actor juga dapat berkomunikasi dengan Actor
object, maka actor juga dapat diurutkan sebagai kolom.
Lifeline
Activation
Message
Mengindikasikan
keberadaan
sebuah
object dalam basis waktu. Mengindikasikan sebuah obyek yang akan melakukan sebuah aksi. Digambarkan
dengan
horizontal
antara
Mengindikasikan
anak
panah
activation.
komunikasi
antara
object.
Gambar 2.6 Contoh diagram sequence (Alan, Barbara, Roberta, 2012: 531)
2.5.1.3 Activity Diagram Activity diagram menggambarkan aliran fungsional sistem, pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukan aliran kerja bisnis dan untuk menggambarkan aliran kejadian dalam use case. (Sholiq, Imam, 2010)
26
Table 2.4 Simbol Activity Diagram (Evi, I Gede, 2012: 38) Simbol
<no receive action>
Nama Simbol
Keterangan
Initial state
Titik awal
Final state
Titik akhir
Action state
Activity
Decision
Pilihan untuk pengambilan keputusan
Trasition
Fork digunakan untuk menunjukan kegiatan yang dilakukan secara parallel atau untuk meggabungkan dua kegiatan parallel menjadi satu.
Signal receipt
Tanda penerimaan
Signal send
Tanda pengiriman
<no send action>
Gambar 2.7 Contoh diagram activity (Roger, 2010: 140)
2.5.1.4 Class Diagram Diagram Class memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas-kelasnya dan hubungan mereka. Diagram Class bersifat statis,
27
menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan . (Sholiq, Imam, 2010)
Tabel 2.5 Notasi Pada Class Diagram (Evi, I Gede, 2012: 51) Notasi
Nama Simbol
Class1
Class
0..1
1
Assosiation
Dependency
Keterangan Class adalah blok - blok pembangun pada pemrograman berorientasi obyek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. (Contoh: One-to-one, one-tomany, many-to-many). Penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.
Gambar 2.8 Contoh diagram class (Roger, 2010: 174)
28
2.6 Basis Data Menurut Fathansyah (2012:2) basis data terdiri atas 2 kata, yaitu basis dan data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, konsep dan sebagainya. Basis data (database) dapat didefenisikan dalam sejumlah sudut pandang seperti: 1.
Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
2.
Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudancy) yang tidak perlu, untuk memenuhi kebutuhan.
3.
Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan kedalam media penyimpanan elektronik. Menurut Carlos Coronel (2011:7) Sistem Manajemen Database (DBMS)
adalah kumpulan program yang mengelola struktur database dan mengontrol akses ke data yang disimpan dalam database.
Sedangkan RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar tabel. Di samping RDBMS, terdapat jenis DBMS lain, misalnya Hierarchy DBMS, Object Oriented DBMS, dsb. (Ahmad, 2010)
2.6.1
Object Oriented Database
Menurut Connolly (2005:849) definisi Object-Oriented Data Model (OODM), Object-Oriented Database (OODB), dan Object-Oriented DBMS (OODBMS) adalah :
OODM adalah suatu model data logical yang menangkap semantic dari objek yang didukung oleh pemrograman berbasis objek.
29
OODB adalah sekelompok objek persistent dan sharable yang didefinisikan OODM.
OODBMS merupakan manajer dari OODB.
2.6.2 MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. (Ahmad, 2010)
2.7 PHP Menurut Anhar (2010:3) PHP singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan skrip yang terintegrasi dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah skrip yang digunakan untuk membuat halaman website yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh klien. Mekanisme ini menyebabkan informasi yang diterima klien selalu yang terbaru. Semua skrip PHP dieksekusi pada server dimana skrip tersebut dijalankan.
2.7.1 Definisi Framework Framework adalah koleksi atau kumpulan potongan-potongan program yang disusun atau diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk membantu membuat aplikasi utuh tanpa harus membuat semua kodenya dari awal. (Awan, 2010: 3)
30
Framework juga dapat diartikan sebagai kumpulan skrip (terutama class dan function) yang dapat membantu developer/programmer dalam menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database, pemanggilan variabel, file, dan lain-lain sehingga developer lebih fokus dan lebih cepat membangun aplikasi. Bisa juga dikatakan framework adalah komponen pemrorgaman yang siap re-use kapan saja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama.
2.7.2 Konsep MVC MVC aplikasi
adalah
dalam
termasuk
dalam
organisasi
kode
aplikasi
sudah
arsitektur
aplikasi
yang
lapisan,
Model,
View
arsitektural
design
tiga
yang
terstruktur
sangat
besar
dan
pattern
dan dan
memisahkan
tidak
Controller. yang
aduk.
struktur
kompleks,
harus
ada
pemisahan
yang
jelas
antara
komponen
view
dan
kontroler
yang
mengatur
MVC
menghendaki
bercampur
menangani
kode-kode
data
Ketika yang
domain
model,
penampilan
model
dalam view. (Awan, 2010)
Gambar 2.9 Ilustrasi konsep MVC (Hardik, 2013:8)
31
2.7.3 Framework Laravel 4 Laravel adalah framework PHP yang “clean and classy” untuk pengembangan aplikasi web. Laravel membebaskan pengembang dari “spaghetti code”, artinya kode yang dikembangkan laravel tidaklah kompleks, sehingga kode mudah dipahami dan dimengerti. Hal tersebut sangat membantu pengembang untuk membuat web yang mudah dikembangkan karena menggunakan sintaks-sintaks kode yang ekspresif. (Hardik, 2013) Keunggulan Laravel dari pada framework lain antara lain: – Kode yang simple – Tersedia generator yang canggih dan memudahkan, Artisan CLI – Fitur Schema Builder untuk berbagai database, – Fitur Migration & Seeding untuk berbagai database, – Fitur Query Builder, – Eloquent ORM , – Fitur pembuatan package dan bundle, Laravel untuk pertama kali dikembangkan sendiri oleh Taylor Otwell. Namun, sampai versi ke-4 sekarang, framework opensource ini dikembangkan bersama oleh komunitas dengan tokoh-tokoh penting selain Otwell adalah Dayle Rees, Shawn McCool, Jeffrey Way, Jason Lewis, Ben Corlett, Franz Liedke, Dries Vints, Mior Muhammad Zaki dan Phil Sturgeon. Mereka adalah kontributor sejumlah framework dan library PHP.
Gambar 2.10 Request Flow User di Laravel 4 (Hardik, 2013:22)
32
2.7.4 RESTfull Webservice Web Service adalah perkembangan arsitektur teknologi yang memungkinkan untuk menerapkan konsep sistem terdistribusi pada jaringan Internet berbasis Web. (Verdi, 2012) REST sebenarnya bukan merupakan sebuah arsitektur tapi lebih mendekati kumpulan constraint (batasan) yang ketika diterapkan pada disain sebuah sistem, akan menjadi jenis arsitektur perangkat lunak. RESTful service harusnya memenuhi constraint-contraint seperti: 1. Resource
Identification:
Semua
Resource
(serta
statenya)
yang
berhubungan dengan aplikasi diberikan identifier yang unik dan identifier tersebut harus bersifat global
2. Uniform Interface: Dalam RESTful web service untuk uniform interface ini menggunakan Uniform Resource Identifier (URI). URI pada RESTful webservice berupa hyperlink terhadap resource meskipun RESTful constraint tidak menyatakan URI harus berupa hyperlink, namun karena teknologi yang digunakan pada web service adalah web sehingga URI berupa hyperlink.
3. Self-Describing Message: untuk setiap interaksi dengan resource melalui interface
yang
seragam,
REST
membutuhkan
representasi
dari
resource yang menggambarkan semua aspek penting yang dimiliki oleh resource tersebut. Representasi dari resource sendiri adalah semua hal yang dikirim antara cilent dan server.
4. Stateless Interaction: Setiap interaksi antara client dan server harus memiliki state sendiri (atau dengan kata lain tidak dipengaruhi session client). Jadi server hanya akan memantau resource state bukan klien session.
33
Semua Constraint tersebut tidak berpengaruh dengan teknologi yang akan digunakan untuk implementasi. Constraint tersebut hanya mendefinisikan bagaimana data ditransfer antar komponen dan keuntungan apa yang didapat. Dan tidak
perlu
mencari
teknologi
atau
protokol
jaringan
baru
untuk
mengimplementasikannya, karena RESTful system dapat diaplikasikan ke infrastruktur jaringan yang sudah ada seperti web, sehingga muncullah RESTful service. (Eric, Cesare, 2011:4)
2.8 Aplikasi Mobile Aplikasi mobile adalah aplikasi yang bisa digunakan secara berpindah-pindah tempat (mobile) sehingga pengguna bisa menikmati aplikasi-aplikasi kapan pun dan dimana pun pada smartphone. (Wahana Komputer, 2014)
Gambar 2.11 Contoh Aplikasi Mobile (http://dailysocial.net/post/aplikasi-urbanesia-kini-tersedia-di-androidmarket-dan-ponsel-nexian)
34
2.8.1
Android Menurut Teguh Arifianto (2011 : 1), android merupakan perangkat bergerak
pada sistem operasi untuk telepon seluler yang berbasis linux. Menurut Hermawan (2011 : 1), Android merupakan OS (Operating System) Mobile yang tumbuh ditengah OS lainnya yang berkembang dewasa ini. OS lainnya seperti Windows Mobile, i-Phone OS, Symbian, dan masih banyak lagi. Akan tetapi, OS yang ada ini berjalan dengan memprioritaskan aplikasi inti yang dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak ketiga. Oleh karena itu, adanya keterbatasan dari aplikasi pihak ketiga untuk mendapatkan data asli ponsel, berkomunikasi antar proses serta keterbatasan distribusi aplikasi pihak ketiga untuk platform mereka.
2.8.2
Siklus Hidup Android Siklus hidup aplikasi android dikelola oleh sistem, berdasarkan kebutuhan
pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika pengguna ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang prioritas rendah akan ditutup. [Sayed . Y. Hashimi and Satya Komatineni, Pro Android 2, Apress, USA 2010]
Android menjalankan setiap aplikasi dalam proses secara terpisah, yang masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi penggunaan memori pada aplikasi. Selain itu juga android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil.
35
Gambar 2.12 Siklus Hidup Android (Arif Akbarul Huda,2012:11)
Berikut adalah penjelasan dari setiap method yang ada pada gambar 2.12 :
Tabel 2.6 Penjelasan Siklus Hidup Android (Arif Akbarul Huda,2012:11) Method
Deskripsi
onCreate(Bundle)
Dipanggil saat pertama kali aplikasi dijalankan.
Developer
dapat
36
menggunakan ini untuk mendeklarasi variable atau membuat user interface. onStart()
Mengindikasikan
activity
yang
ditampilkan ke pengguna. onResume()
Dipanggil saat aplikasi kita mulai berinteraksi dengan pengguna.
onPause()
Dipanggil saat aplikasi yang dijalanan kembali kehalaman sebelumnya atau biasanya karena ada activity baru dijalankan.
onStop()
Dipanggil
saat
aplikasi
berjalan
dibelakang layar dalam waktu cukup lama. onRestart()
Activity kembali menampilkan user interface setelah status stop.
onDestroy()
Dipanggil saat aplikasi benar-benar berhenti.
onSaveInstanceState(Bundle)
Method ini mengijinkan activity utuk menyimpan setiap status instance.
onResToreInstanceState(Bundle)
Dipanggil
saat
activity
kembali
menginisalisasi dari status sebelumnya yang
disimpan
oleh
onSaveInstanceState(Bundle).
2.9 Android Development Toolkit (ADT) Android SDK adalah tools API (Aplication Programming Interface) yang digunakan untuk mulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di release oleh Google. Saat ini disediakan android SDK (Software
37
Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi netral, android memberi programmer kesempatan untuk membuat aplikasi yang dibutuhkan yang bukan merupakan aplikasi bawaan smartphone.
Gambar 2.13 ADT (Android Development Toolkit) (http://dothisbest.com/how-to/complete-install-android-sdk-adt-bundleubuntu/)
2.10 Netbeans 8.0.2 Netbeans adalah sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing
merupakan
sebuah
teknologi
Java
untuk
pengembangan
aplikasi dekstop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler
dan
suatu
debugger.
Netbeans juga dapat digunakan progammer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain itu dapat juga mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat
38
professional dekstop, enterprise, web, and mobile applications dengan Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript, Groovy, dan Ruby.
Gambar 2.14 Editor Netbeans (http://wiki.netbeans.org/wiki/images/8/86/Netbeans_7_default_macosx.jpg)
2.11 Microsoft Visio 2013 Microsoft Visio (atau sering disebut visio) adalah sebuah program aplikasi computer yang sering digunakan untuk membuat diagram, diagram alur (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vector untuk membuat diagramdiagram nya. Visio sebenarnya bukan buatan Microsoft Corporation, melainkan Visio Corporation yang diakuisisi oleh Microsoft pada tahun 2000. Versi terbaru saat ini adalah Visio 2013. (Janner, 2010)
39
Gambar 2.15 Microsoft Visio 2013 (http://viziblr.com/resource/snap000107.png?fileId=19510055)
2.12 Vagrant Vagrant adalah sebuah program yang memanfaatkan teknologi Mesin Virtual yang memungkinkan kita untuk membuat lingkungan development software secara portable, mudah di duplikasi, konsisten, sehingga proses pengembangan lebih fleksibel. Pada dasarnya prinsip kerjanya cukup sederhana, dimulai dengan pemilihan Sistem Operasi, OS apa yang akan kita pasang di VM tersebut, misalkan kita pakai Ubuntu server. Ini juga menyangkut konsistensi, misalkan aplikasi web kita nantinya akan di hosting pada Ubuntu server, maka sekalian kita developnya di Ubuntu server juga. Vagrant bekerja memanfaatkan Mesin Virtual
(misalnya VirtualBox atau
VMWare), melalui vagrant kita bisa mengaktifkan VM tersebut, dan setelah mesin tersebut aktif kita bisa perintahkan Vagrant untuk menginstall semua programprogram pendukung untuk menjalankan projek dengan sempurna, dan menyimpan semua konfigurasi VM melalui Vagrant.
2.13 Balsamiq Mockup Balsamiq Mockups adalah salah satu software yang berfokus pada pembuatan desain atau dapat kita sebut sebagai software yang memudahkan kita menggambar sebuah tampilan user interface. Dengan menggunakan Balsamiq Mockups, kita
40
tidak perlu lagi bersusah-susah dalam menggambar komponen user interface karena software tersebut telah menyediakan beragam komponen dari yang sederhana seperti garis sampai yang kompleks seperti tampilan browser. Balsamiq Mockups cukup mudah untuk digunakan, ditambah lagi software ini berfokus pada konten yang ingin digambar dan fungsionalitas yang dibutuhkan oleh pengguna. Berikut ini adalah beberapa fitur yang membuat Balsamiq Mockups layak untuk digunakan.
Low-Fi Sketch Wireframes: Samar, rendah-fidelity wireframes membiarkan Anda berfokus percakapan desain pada fungsi
Komponen UI & Icon: 75 komponen built-in antarmuka pengguna dan 187 ikon, ditambah seluruh banyak komponen yang dihasilkan.
Click-Through Prototipe: Menghubungkan memungkinkan Anda menghasilkan klik melalui prototipe untuk demo & pengujian kegunaan
Ekspor ke PNG atau PDF: Saham atau hadir maket dengan menggunakan link tertanam ekspor PDF, atau menggunakan alat pihak ke-3 untuk ekspor ke kode.
Gambar 2.16 Balsamiq Mockup (http://balsamiq.com/products/mockups)
41
2.14 Enkripsi Bcrypt Bcrypt menggunakan salt 128-bit dan mengenkripsi sebuah 1920-bit magic value. Algoritma ini menggunakan keuntungan dari expensive key setup dari eksblowfish. Algoritma
Bcrypt
dijalankan
dalam
dua fase. Fase pertama,
EksBlowfishSetup dipanggil dengan cost, salt dan password untuk menginisialisasi state eksblowfish. Sebagian besar waktu bcrypt dihabiskan dalam expensive key schedule. Kemudian, nilai 192-bit “OrpheanBeholderScryDoubt” dienkripsi 64 kali menggunakan eksblowfish dalam mode ECB dengan state dari fase sebelumnya. Outputnya adalah cost dan salt 128-bit yang digabung dengan hasil dari loop enkripsi. (Nugroho, 2010)
2.15 Definisi Perdagangan Berjangka Berdasarkan UU No.10 Tahun 2011 tentang Perdagangan Berjangka Komoditi, perdagangan berjangka adalah segala sesuatu yang berkaitan dengan jual beli komoditi dengan penarikan Margin dan dengan penyelesaian kemudian berdasarkan Kontrak Berjangka, Kontrak Derivatif Syariah, dan/ atau Kontrak Derivatif lainnya.
Perdagangan berjangka dilakukan di Bursa Berjangka, yang selanjutnya disebut dengan Bursa, yang memperdagangkan Kontrak Berjangka berbagai komoditi. Tempat dimana Kontrak Berjangka diperdagangkan juga disebut pasar berjangka. Dengan demikian di Bursa akan terdapat banyak pasar berjangka sesuai dengan banyaknya komoditi yang diperdagangkan. Di bursa, pembeli dan penjual bertemu satu sama lain dan melakukan transaksi untuk membeli/menjual sejumlah komoditi untuk penyerahan di kemudian hari sesuai isi/spesifikasi kontrak.
42
Harga komoditi yang terbentuk di Bursa berlangsung secara transparan dimana harga tersebut akan mencerminkan kekuatan pasokan dan permintaan yang sebenarnya. Transaksi di Bursa dilakukan oleh para Anggota Bursa, yang terdiri dari Pialang Berjangka dan Pedagang Berjangka, baik dengan cara berteriak (open outcry) atau secara elektronik (automated/electric trading system). Selanjutnya harga yang terjadi dicatat menurut bulan penyerahan masing-masing Kontrak Berjangka dan diumumkan secara luas kepada masyarakat.
Dalam tahun-tahun terakhir ini, dan khususnya di bursa-bursa yang baru, sistem perdagangan umumnya dilakukan secara elektronik menggunakan computer yang memiliki akses ke komputer induk yang ada di bursa. (BAPPEBTI, 2012)
2.15.1 Sistem Perdagangan Alternatif Perkembangan dari perdangangan berjangka sangat luas, sehingga muncul sebuah sistem perdagangan alternatif yang biasa disebut SPA. Menurut UndangUndang No.10 tahun 2011 pengertian dari Sistem Perdagangan Alternatif adalah sistem perdagangan yang berkaitan dengan jual beli Kontrak Derivatif selain Kontrak Berjangka dan Kontrak Derivatif Syariah, yang dilakukan di luar Bursa Berjangka, secara bilateral dengan penarikan Margin yang didaftarkan ke Lembaga Kliring Berjangka. Transaksi FOREX, GOLD, dan INDEX SAHAM merupakan komoditi dari sistem perdagangan alternatif.
Menurut Undang-Undang No.10 Tahun 2011, Kontrak Berjangka adalah suatu bentuk standar untuk membeli atau menjual komoditi dengan penyelesaian kemudian sebagaimana ditetapkan didalam kontrak yang diperdagangkan di Bursa Berjangka. Kontrak Derivatif adalah kontrak yang nilai dan harganya bergantuk pada subjek komoditi. Sedangkan Kontrak Derivatif Syariah adalah kontrak derivative yang sesuai dengan prinsip-prinsip syariah.
43
2.15.2 Produk Perdagangan Alternatif 1. LOCO LONDON GOLD LOCO London Gold yang biasa di kenal dengan LOCO atau GOLD merupakan kontrak perdagangan emas dunia yang paling besar dan berpusat di London. Keuntungan dari kontrak emas ini sendiri sangat banyak, dimana investor bisa mempertahankan posisinya tanpa ada jangka waktu kadaluarsa kontrak. Juga ada keuntungan Laverage dimana jaminan kontrak yang di setorkan hanya 10% dari nilai kontrak yang di transaksikan. Kemudian pasar Gold juga terjadi selama 24 jam penuh mulai dari Senin 04.00 WIB sampai Sabtu 03.49 WIB. jadi transaksi bisa dilakukan kapanpun investor mau.
2. FOREX FOREX merupakan nilai tukar mata uang suatu negara terhadap mata uang lainnya. Pasar FOREX merupakan pasar terbesar dunia dimana volume transaksi harian mencapai 3,2 trilyun dolar. Pasar forex juga buka 24 jam. Forex merupakan pasar yang paling aktif sehingga kecil kemungkinan untuk dapat dimanipulasi. Keuntungan dari pasar forex sangat banyak, volume likuidasi sangat besar. Dimana penjual dan pembeli selalu ada setiap saat sehingga kita juga dapat bertransaksi setiap saat. (Sawidji, Lie, Joni, 2007)
Forex memiliki Pair Currency, dimana nilai tukar mata uang inilah yang memiliki tingkat likuidasi yang besar. Berikut adalah mata uang yang merupakan Pair Currency,
AUD >< USD (Australian Dolar terhadap US dolar)
EUR >< USD (Mata uang tunggal Euro terhadap US dolar)
GBP >< USD (Graet Britain Poundsterling terhadap US dolar)
USD >< CHF (US Dolar terhadap Swiss Franc)
USD >< CAD (US Dolar terhadap Canadian Dolar)
USD >< JPY (US Dolar terhadap Japan Yen)
USD >< NZD (US Dolar terhadap New Zealand)
44
3. Index Saham Index saham merupakan nilai rata-rata dari gabungan saham unggulan di suatu negara. Yang dihitung berdasarkan Market Capitalization atau Price Weighted suatu negara. Sehingga Index Saham ini bisa dikatakan sebagai barometer kesehatan perekonomian suatu negara secara umum. (Siwidji, 2008) Index Saham yang paling ramai diperdagangkan di pasar asia ada 3, yaitu
Index Saham Hongkong (Hangseng43) Merupakan gabunangan atau rata-rata 43 saham perusahaan unggulan di Hongkong
Index Saham Korea (Kospi200) Index saham korea terdiri dari 200 saham perusahaan unggulan Korea yang diperdagangkan
Index Saham Jepang (Nikei225) Dimana ada 225 saham perusahaan unggulan yang menjadi barometer perekonomian Jepang.
Index Saham Asia memiliki jam perdagangan yang berbeda-beda dimana setiap negara memiliki waktu-waktu perdagangan tertentu.
Index Saham Hongkong (Hangseng43) Sesi 1 : 08.15 – 11.00 WIB Sesi 2 : 12.00 – 15.15 WIB
Index Saham Korea (Kospi200) Sesi 1 : 07.00 – 13.05 WIB Sesi 2 : -
Index Saham Jepang (Nikei225) Sesi 1 : 06.45 – 13.30 WIB Sesi 2 : 14.15 – 01.00 WIB
2.15.3 Mekanisme Perdagangan Secara umum terdapat 2 (dua) jenis mekanisme perdagangan yaitu mekanisme perdagangan bilateral dan perdagangan multilateral.
45
1. Perdagangan Bilateral Mekanisme perdagangan yang dilakukan oleh satu pihak dengan satu pihak yang lain dan biasanya terjadi di luar bursa atau dikenal dengan istilah over-thecounter (OTC). Mekanisme perdagangan ini telah di atur di dalam Undang-Undang No.10 Tahun 2011, yang didefinisikan dengan istilah Sistem Perdagangan Alternatif (SPA). Ilustrasi mekanisme SPA sebagai berikut:
Gambar 2.17 Alur mekanisme perdagangan bilateral (http://www.rifanfinancindo.info/pengetahuan-dasar-perdaganganmultilateral/)
2. Perdagangan Multilateral Suatu mekanisme perdagangan yang dilakukan di dalam bursa antara banyak pihak (banyak penjual dan banyak pembeli), di mana antara penjual dan pembeli tidak saling mengenal satu dengan yang lainnya. Perhatikan ilustrasi berikut ini:
46
Gambar 2.18 Alur mekanisme perdagangan multilateral (http://www.rifanfinancindo.info/pengetahuan-dasar-perdaganganmultilateral/) 2.15.4 Istilah Dalam Perdagangan Alternatif Dalam melakukan transaksi perdagangan alternative, terdapat begitu banyak istilah yang digunakan yang perlu diketahui oleh pembeli maupun penjual. (Joko, 2008) Beberapa istilah tersebut antara lain : 1. Trader Trader merupakan pelaku transaksi.
2. Broker Broker merupakan perantara transaksi. Seorang trader selalu menggunakan jasa broker dalam melakukan transaksi perdagangan alternatif.
3. Order Order merupakan permintaan transaksi. Order ada dua macam, yaitu order beli (buy) dan order jual (sell).
4. Lot Lot merupakan satuan jumlah atau volume untuk komoditi valas. Berapa sih besar 1 Lot itu? Jika di dunia Saham 1 Lot = 500 lembar saham, pada Forex 1 Lot = 10.000 mata uang bersangkutan, misal 1 Lot USD/JPY = 10.000USD dan
47
1 Lot GBP/USD = 10.000 GBP. Ukuran 1 Lot = 10.000 disebut Kontrak Mini, mengapa disebut Mini? Karena sebelumnya dalam dunia forex itu 1 Lot = 100.000 mata uang bersangkutan (disebut juga Kontrak Standard/Regular), kemudian karena tingginya minat dalam forex trading maka dibuat kontrak mini dimana 1 Lot = 10.000 mata uang bersangkutan.
5. Account Merupakan rekening. Ada beberapa jenis account dalam transaksi. - Micro Account. Minimum transaksi adalah 0.01 Lot - Mini Account. Minimum transaksi adalah 0.1 Lot - Reguler Account. Minimum transaksi adalah 1 Lot. Perlu diketahui juga bahwa dalam transaksi secara online terdapat dua istilah lain, yakni : - Demo Account, yaitu transaksi dilakukan dengan dana simulasi. - Real Account, yaitu transaksi dilakukan dengan dana real.
6. Margin Dalam UU No. 32 Tahun 1997 tentang Perdagangan Berjang-ka Komoditi, margin didefinisikan sebagai sejumlah uang atau su-rat berharga yang harus ditempatkan nasabah kepada pialang berjangka, pialang berjangka kepada anggota kliring berjangka, atau anggota kliring berjangka kepada lembaga kliring berjangka, untuk menjamin pelaksanaan transaksi kontrak berjangka. Margin
disetorkan
untuk
setiap
amanat
nasabah
yang
ditempatkan
kepada pialang berjangka. Hal itu bertujuan sebagai jaminan pelaksanaan transaksi kontrak berjangka yang dibuat berdasarkan amanat tadi.
Jenis-Jenis Margin
Initial margin/original margin. Dalam bahasa Indonesia initial margin biasa disebut margin awal, yaitu sejumlah uang yang disetor oleh investor pada saat pembukaan account. Jumlahnya sesuai kesepakatan awal yang dibuat antara investor
48
dengan pialang berjangka, biasanya dinyatakan dalam persentase dari nilai kontrak. Dalam commodity future lazimnya initial margin ditetapkan berkisar 5 – 10% dari nilai kontrak. Besamya margin berbedabeda sesuai dengan nilai kontrak, waktu, dan gejolak harga yang terjadi.
Variation margin. Dalam bahasa Indonesia istilah yang digunakan adalahmargin sela, yaitu merupakan tambahan margin yang disetor karena besaran margin selanjutnya telah berada dibawah besaran margin awal, sebagai akibat pergerakan harga yang berlawanan dengan yang diperkirakan semula.
Maintenance margin. Istilah yang digunakan dalam bahasa Indonesia adalah margin minimum. Margin ini merupakan besaran ni-lai yang harus dijaga atau dipelihara oleh investor dalam melakukan transaksi. Umumnya margin minimum ini ditetapkan sekitar 75% – 80 % dari margin awal.
Margin Call. Jenis margin ini mirip dengan margin sela, yaitu Jumlah dana yang harus disetor kembali oleh investor. Hanya saja, dalam margin call setoran dana harus dilakukan jika dana yang outstanding sudah berada di bawah maintenance margin, bukan initial margin. Jika investor mendapat margin call berarti investor harus menambah dananya sampai ke level initial margin,kalau tidak dilakukan, posisinya akan ditutup oleh perusahaan pialang.
7. Deposit Deposit adalah proses penyetoran modal kepada broker untuk dimasukkan ke account kita sehingga kita memiliki dana untuk ditransaksikan . Deposit bisa dilakukan dengan banyak cara ,misalnya dengan kartu kredit , via agen pembayaran atau dengan uang elektronik seperti E-gold dan lainnya .
49
8. Ekuiti Jumlah dana yang siap untuk dijadikan margin atau jaminan.
9. Open Position Merupakan transaksi yang sedang berjalan atau yang masih berlangsung.
10. Withdraw Withdraw adalah proses penarikan uang dari account di broker ke rekening trader . Sama seperti deposit, withdraw bisa dilakukan melalui kartu kredit, payment agent dan e-payment.
6