No. : 102/Kwarwil-11/A/IX/2021 3 Shafar 1443 H Lamp. : 1 ...
Idigilib.unila.ac.id/1443/8/14 - BAB II.docx · Web viewI tinjauan pustaka Sistem Informasi Konsep...
Transcript of Idigilib.unila.ac.id/1443/8/14 - BAB II.docx · Web viewI tinjauan pustaka Sistem Informasi Konsep...
8
BAB II
TINJAUAN PUSTAKA
II.1 Sistem Informasi
II.1.1Konsep Dasar Sistem Informasi
Sistem informasi dapat didefinisikan sebagai suatu sistem di dalam suatu
organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi,
media prosedur-prosedur dan pengendalian yang ditujukan untuk mendapatkan
jalur komunikasi penting. Memproses tipe transaksi rutin tertentu, memberi sinyal
kepada manajemen dan yang lainnya terhadap kejadian-kejadian internal dan
eksternal yang penting dan menyediakan suatu dasar informasi untuk
pengambilan keputusan yang cerdik (Hartono, 1999).
Sistem informasi dalam suatu organisasi dapat dikatakan sebagai suatu sistem
yang menyediakan informasi bagi semua tingkatan dalam organisasi tersebut
kapan saja diperlukan. Sistem ini menyimpan, mengambil, mengubah, mengolah
dan mengkomunikasikan informasi yang diterima dengan menggunakan sistem
informasi atau peralatan sistem lainnya (Magaline, 2009).
9
II.1.2Komponen Sistem Informasi
Sistem informasi terdiri dari komponen-komponen yang disebut blok bangunan
(building blok), yang terdiri dari komponen input, komponen model, komponen
output, komponen teknologi, komponen hardware, komponen software,
komponen basis data, dan komponen kontrol. Semua komponen tersebut saling
berinteraksi satu dengan yang lain membentuk suatu kesatuan untuk mencapai
sasaran (Magaline, 2009).
Gambar 2.1 Blok Interaksi Sistem Informasi (Magaline, 2009).
II.1.3Elemen Sistem Informasi
Sistem informasi terdiri dari elemen-elemen yang terdiri dari orang, prosedur,
perangkat keras, perangkat lunak, basis data, jaringan komputer dan komunikasi
data. Semua elemen ini merupakan komponen fisik (Magaline, 2009).
Gambar 2.2 Hubungan Elemen Sistem Informasi (Magaline, 2009).
10
II.2 Aplikasi Ujian Online
Aplikasi Ujian Online adalah sebuah aplikasi perangkat lunak sistem informasi
yang memungkinkan suatu perusahaan atau lembaga pendidikan untuk mengatur,
melakukan dan mengelola segala pemeriksaan secara objektif (tentu-nya dengan
sistem online). Tujuan-nya adalah melakukan dan memproses berbagai jenis
sertifikat/non-sertifikat ujian di pusat-pusat yang berbeda di negara manapun
melalui online. Pertanyaan dan jawaban serta format ujian akan disesuaikan
dengan pilihan perusahaan atau lembaga pendidikan.
Ujian online sudah tidak lagi menggunakan media kertas atau alat tulis sebagai
ujian. Sistem ujian ini dibangun secara komputerisasi, dimana peserta uji langsung
mendapat dan menjawab soal ujian melalui komputer. Pemeriksaan ujian
dilakukan langsung oleh sistem, dan peserta akan mendapatkan laporan hasil ujian
secara langsung. Ujian ini dipakai seperti pada Sertifikasi MICROSOFT, Try Out
Online dan lain-lain (Dimas, 2007).
II.2.1Ujian Online Jurusan Matematika FMIPA UNILA
Aplikasi atau sistem ujian online ini dibuat untuk menunjang kegiatan pengajaran
di Jurusan Matematika FMIPA Universitas Lampung, selain itu juga digunakan
untuk melakukan test/ujian yang diselenggarakan oleh pihak ke-3. Dengan
adanya sistem ini, diharapkan kegiatan ujian dapat dilakukan dengan baik dan
memberikan hasil yang cepat dan akurat (Kurniawan, 2007).
11
Gambar 2.3 Aplikasi Ujian Online Jurusan Matematika FMIPA (UNILA)
II.3 Keamanan Sistem Informasi
Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem
informasi. Sangat pentingnya nilai sebuah informasi menyebabkan seringkali
informasi diinginkan hanya boleh diakses oleh orang-orang tertentu. Jatuhnya
informasi ke tangan pihak lain (misalnya pihak lawan bisnis) dapat menimbulkan
kerugian bagi pemilik informasi. Untuk itu keamanan dari sistem informasi yang
digunakan harus terjamin dalam batas yang dapat diterima (Rahardjo, 1999).
II.3.1Klasifikasi Kejahatan Komputer
Gambar 2.4 Klasifikasi Kejahatan Komputer
12
Menurut David I. [John D. Howard, “An Analysis Of Security Incidents On The
Internet 1989 - 1995,” PhD thesis, Engineering and Public Policy, Carnegie
Mellon University, 1997.] berdasarkan lubang keamanan, keamanan dapat
diklasifikasikan menjadi empat, yaitu (Firdaus, 2008):
1. Keamanan yang bersifat fisik (physical security): termasuk akses orang
ke gedung, peralatan, dan media yang digunakan. Contoh:
a. Wiretapping atau hal-hal yang berhubungan dengan akses ke kabel
atau komputer yang digunakan juga dapat dimasukkan ke dalam
kelas ini.
b. Denial of service, dilakukan misalnya dengan mematikan peralatan
atau membanjiri saluran komunikasi dengan pesan-pesan (yang
dapat berisi apa saja karena yang diutamakan adalah banyaknya
jumlah pesan).
c. Flood Attack, dimana sistem (host) yang dituju dibanjiri oleh
permintaan sehingga dia menjadi ter-lalu sibuk dan bahkan dapat
berakibat macet-nya sistem (hang).
2. Keamanan yang berhubungan dengan orang (personel), Contoh:
a. Identifikasi user (username dan password)
b. Profil resiko dari orang yang mempunyai akses (pemakai dan
pengelola).
3. Keamanan dari data dan media serta teknik komunikasi
(communications).
13
4. Keamanan dalam operasi: Adanya prosedur yang digunakan untuk
mengatur dan mengelola sistem keamanan, dan juga ter-masuk prosedur
setelah serangan (post attack recovery).
II.3.2Aspek Keamanan Komputer
Ada 5 (lima) aspek keamanan komputer di bawah ini beserta definisi dan
contohnya (Rahardjo, 1999):
1. Privacy/Confidentiality yaitu menjaga informasi dari orang yang tidak
berhak mengakses. Privacy: lebih kearah data-data yang sifatnya pribadi,
(Contoh: e-mail seorang pemakai/user tidak boleh dibaca oleh
administrator). Sedangkan Confidentiality berhubungan dengan data yang
diberikan ke pihak lain untuk keperluan tertentu dan hanya diperbolehkan
untuk keperluan tertentu tersebut. (Contoh: data-data yang sifatnya pribadi
(seperti nama, tempat tanggal lahir, social security number, agama, status
perkawinan, penyakit yang pernah diderita, nomor kartu kredit, dan
sebagainya) harus dapat diproteksi dalam penggunaan dan
penyebarannya). Bentuk Serangan dalam aspek ini adalah usaha
penyadapan (dengan program sniffer). Usaha-usaha yang dapat dilakukan
untuk meningkatkan privacy/confidentiality adalah dengan menggunakan
teknologi kriptografi.
2. Integrity yaitu informasi tidak boleh diubah tanpa ijin pemilik informasi.
Contohnya ketika e-mail di sadap di ‘tengah jalan’, diubah isinya,
kemudian diteruskan ke alamat yang dituju. Bentuk serangan dalam aspek
14
ini dapat berupa virus, Trojan horse, atau pemakai lain yang mengubah
informasi tanpa ijin, “man in the middle attack” dimana seseorang
menempatkan diri di tengah pembicaraan dan menyamar sebagai orang
lain.
3. Authentication yaitu metoda untuk menyatakan bahwa informasi betul-
betul asli, atau orang yang mengakses atau memberikan informasi adalah
betul-betul orang yang dimaksud. Proses autentikasi ini harus didukung
dengan adanya tools untuk membuktikan keaslian dokumen, dapat
dilakukan dengan teknologi watermarking (untuk menjaga “intellectual
property”, yaitu dengan menandai dokumen atau hasil karya dengan
“tanda tangan” pembuat ) dan digital signature. Selain dengan tools,
proses autentikasi juga didukung dengan adanya access control, yaitu
berkaitan dengan pembatasan orang yang dapat mengakses informasi.
User harus menggunakan password, biometric (ciri-ciri khas orang), dan
sejenis-nya.
4. Availability yaitu aspek yang berhubungan dengan ketersediaan informasi
ketika dibutuhkan. Contoh hambatan dalam aspek ini adalah (a)“denial of
service attack” (DOS attack), dimana server dikirimi permintaan (biasanya
palsu) yang bertubi-tubi atau permintaan yang di luar perkiraan sehingga
tidak dapat melayani permintaan lain atau bahkan sampai down, hang,
crash; (b) mail bomb, dimana seorang pemakai dikirimi e-mail bertubi-
tubi (katakan ribuan e-mail) dengan ukuran yang besar sehingga sang
pemakai tidak dapat membuka e-mail atau kesulitan mengakses e-mail.
15
5. Access Control yaitu cara pengaturan akses kepada informasi.
berhubungan dengan masalah authentication dan juga privacy. Metode
yang digunakan adalah menggunakan kombinasi userid/password atau
dengan menggunakan mekanisme lain.
II.3.3Serangan Terhadap Keamanan Sistem Informasi
Pada dasarnya serangan-serangan terhadap satu data dalam suatu jaringan dapat
dikategorikan dalam suatu jaringan dapat dikategorikan dalam 2 jenis serangan
menurut jenisnya. Menurut W. Stallings ada beberapa kemungkinan serangan
(attack):
1. Serangan Pasif (Passive Attacks)
Serangan pasif adalah serangan pada sistem autentikasi yang tidak
menyisipkan data pada aliran data (data stream), tetapi hanya mengamati
atau memonitor pengiriman informasi yang dikirim ke tujuan. Informasi
ini dapat digunakan lain waktu oleh pihak yang tidak bertanggung jawab.
Serangan pasif yang mengambil suatu unit data dan kemudian
menggunakannya untuk memasuki sesi autentikasi dengan berpura-pura
menjadi user yang autentik/asli disebut dengan replay attack. Beberapa
informasi autentikasi seperti password atau data biometric yang dikirim
melalui transmisi elektronik, dapat direkam dan digunakan kemudian
untuk memalsukan data yang sebenarnya. Serangan pasif ini sulit untuk
dideteksi karena penyerang tidak melakukan perubahan data.
16
2. Serangan Aktif (Active Attacks)
Serangan aktif adalah serangan yang mencoba memodifikasi data atau
mendapatkan autentikasi dengan mengirimkan paket-paket data yang salah
ke data stream atau dengan memodifikasi paket-paket yang melewati data
stream. Kebalikan dari serangan pasif, serangan aktif sulit untuk dicegah
karena untuk melakukan dibutuhkan perlindungan fisik untuk semua
fasilitas komunikasi dan jalur-jalur setiap saat. Yang dapat dilakukan
adalah mendeteksi dan memulihkan dari keadaan yang disebabkan oleh
serangan ini.
II.3.4Dasar-dasar Keamanan Sistem Informasi
II.3.4.1 Kriptografi
Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan
oleh cryptographer. Cryptanalysis adalah ilmu dan seni membuka (breaking)
ciphertext dan orang yang melakukannya disebut cryptanalyst (Firdaus, 2008).
Algoritma kriptografi adalah fungsi matematika yang digunakan untuk enkripsi
dan dekripsi pesan. Pesan tersebut dinamakan plainteks (plaintext). Pesan atau
plainteks kemudian diproses oleh sistem kriptografi (cryptosystem) untuk di
enkripsi atau di dekripsi. Jenis pesan atau plainteks yang diproses cryptosystem
dapat berupa teks, citra, suara, video, basis data dan sebagainya. Enkripsi adalah
proses menyandikan plainteks menjadi chiperteks. Sedangkan dekripsi adalah
proses mengembalikan chiperteks menjadi plainteks (Munir, 2006).
17
Dibawah ini adalah contoh gambar elemen kriptografi.
Gambar 2.5 Elemen Kriptografi (Firdaus, 2008)
Kriptografi adalah salah satu teknologi yang digunakan dalam layanan security
seperti (Jeni, 2008):
1. Authentication
Authentication adalah proses verifikasi identitas dari pengguna pada akhir
jalur komunikasi.
2. Confidentiality
Jika kita mengirimkan data sensitive melalui sebuah jaringan, kita ingin
memastikan bahwa hanya penerima yang dituju yang dapat membaca.
3. Integrity
Kita ingin memastikan bahwa data yang kita terima tidak mengalami
pengubahan, penambahan ataupun pemisahan.
4. Non-repudation
Layanan ini dapat menunjukkan bukti bahwa pengirim telah mengirimkan
message, atau penerima telah menerima message.
5. Authorization
Kita ingin memastikan bahwa user memiliki hak akses spesifik terhadap
data penting maupun sumber data.
18
II.3.4.2 Enkripsi
Enkripsi digunakan untuk merubah data-data atau informasi sehingga tidak dapat
dibaca oleh orang yang tidak berhak. Dengan enkripsi data anda dienkripsi
(encrypted) dengan menggunakan sebuah kunci (key). Untuk membuka (decrypt)
data tersebut digunakan juga sebuah kunci yang dapat sama dengan kunci untuk
mengenkripsi (untuk kasus private key cryptography) atau dengan kunci yang
berbeda (untuk kasus public key cryptography) (Rahardjo, 1999).
Gambar 2.6 Elemen Enkripsi
II.3.4.3 Fungsi Hash Satu Arah
Salah satu dari bagian kriptografi adalah fungsi hash satu arah. Fungsi hash satu
arah adalah dimana kita dengan mudah melakukan enkripsi untuk mendapatkan
cipher-nya tetapi sangat sulit untuk mendapatkan plaintext-nya. Salah satu fungsi
hash yang paling banyak digunakan adalah Message Digest 5 (Sofwan, 2006).
Fungsi hash telah digunakan secara luas dalam berbagai aplikasi misalnya
integritas pesan, autentikasi, tanda tangan digital, secure times tamping, dan
banyak aplikasi lainnya (Thung, 2010).
19
II.4 MD5
Message Digest 5 (MD5) adalah salah satu penggunaan fungsi hash satu arah
kelima yang dirancang oleh Ron Rivest dan didefinisikan pada RFC 1321. MD5
merupakan pengembangan dari MD4 dimana terjadi penambahan satu ronde.
MD5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit,
kemudian dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD5
berupa 4 buah blok yang masing-masing 32 bit yang mana akan menjadi 128 bit
yang biasa disebut nilai hash (Sofwan, 2006).
Tabel 2.1 Contoh Penggunaan Fungsi Hash MD5
Gambar 2.7 Konstruksi Merkle-Damgard Pada MD5 (Thung, 2010)
20
II.4.1Algoritma MD5
Algoritma MD5 dapat dibagi menjadi empat tahap, yakni penambahan bit-bit
pengganjal (padding bits), penambahan nilai panjang pesan semula, inisialisasi
penyangga (buffer) MD, dan pengolahan pesan dalam blok berukuran 512 bit.
Berikut penjelasan masing-masing tahap tersebut (Thung, 2010).
II.4.1.1 Penambahan Bit-bit Pengganjal
Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang
pesan dalam satuan bit kongruen dengan 448 modulo 512. Jika panjang pesan
ternyata 448 bit, maka pesan tersebut ditambah 512 bit sehingga menjadi 960 bit.
Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512. Bit-bit pengganjal
terdiri dari sebuah bit 1 diikuti dengan bit 0 untuk sisanya.
II.4.1.2 Penambahan Nilai Panjang Pesan
Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit
yang menyatakan panjang pesan semula. Jika panjang pesan > 264 maka yang
diambil adalah panjangnya dalam modulo 264. Dengan kata lain, jika panjang
pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan K modulo
264. Setelah ditambah dengan 64 bit, panjang pesan sekarang telah menjadi
kelipatan 512 bit.
21
II.4.1.3 Inisialisasi Penyangga MD
MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya
32 bit. Total panjang penyangga adalah 4 × 32 = 128 bit. Keempat penyangga ini
menampung hasil antara dan hasil akhir. Keempat penyangga ini diberi nama A,
B, C, dan D. Setiap penyangga di inisialisasi dengan nilai-nilai Hexadecimal
berikut:
Tabel 2.2 Nilai Hexadecimal Masing-masing Penyangga
II.4.1.4 Pengolahan Blok Pesan Berukuran 512 bit
Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0
sampai YL – 1). Setiap blok 512-bit diproses bersama dengan penyangga MD
menjadi keluaran 128-bit, dan ini disebut proses HMD5. Gambaran proses HMD5
diperlihatkan pada Gambar 2.8.
Tabel 2.3 Fungsi Dasar MD5
22
Gambar 2.8 Proses HMD5 (Thung, 2010)
II.5 Metode Autentikasi
Autentikasi adalah proses dalam rangka validasi user pada saat memasuki sistem.
Nama dan password dari user dicek melalui proses yang mengecek langsung ke
daftar mereka yang diberikan hak untuk memasuki sistem tersebut. Sifat
mengetahui bahwa data yang diterima adalah sama dengan data yang dikirim dan
bahwa pengirim yang mengklaim adalah pengirim sebenarnya. Autentikasi
bertujuan untuk membuktikan siapa anda sebenarnya, apakah anda benar-benar
orang yang anda klaim sebagai dia (who you claim to be). Ada banyak cara untuk
membuktikan siapa anda sebagai berikut (Murti, 2009):
23
1. Something You Know
Cara ini mengandalkan kerahasiaan informasi, ini berasumsi bahwa tidak
ada seorangpun yang mengetahui rahasia itu kecuali anda seorang. Faktor
something you know melibatkan pengetahuan informasi rahasia yang
memungkinkan user mengautentikasi dirinya sendiri ke sebuah server.
Contohnya adalah password dan PIN.
Gambar 2.9 Username dan Password (Murti, 2009)
2. Something You Have
Cara ini biasanya merupakan faktor tambahan untuk membuat autentikasi
menjadi lebih aman, melibatkan bahwa user harus memiliki alat secara
fisik. Cara ini berasumsi bahwa tidak ada seorangpun yang memiliki
barang tersebut kecuali anda seorang. Contohnya adalah kartu
magnetic/smartcard, hardware token, USB token.
Gambar 2.10 Token dan Smart Card (Murti, 2009)
24
3. Something You Are
Something you are melibatkan bahwa user memiliki karakteristik yang
unik yang membedakan dirinya dengan user lain untuk mengidentifikasi
dirinya sendiri. Menggunakan metode identifikasi bio metrik untuk men-
autentikasi user. Contoh meliputi sidik jari, pemindai retina mata, dan
garis tangan seseorang.
Gambar 2.11 Thumb Print, Retina Scan, Hand Geometry (Murti, 2009)
4. Something You Do
Something you do melibatkan bahwa tiap user ketika melakukan sesuatu
atau ketika menggunakan sesuatu dengan cara yang berbeda. Contoh:
penggunaan analisis suara (voice recognition) atau analisis tulisan tangan.
Gambar 2.12 Voice and Hand Writing Analysis (Murti, 2009)
25
II.6 Autentikasi One Time Password (OTPA)
Sistem OTP hanya melindungi sistem terhadap serangan pasif (passive attack)
tetapi tidak dapat mengatasi serangan aktif (active attacks). Sistem ini terdiri dari
2 entitas yaitu generator dan server. Secara umum, generator akan menerima
masukan berupa username dan challenge dari server, kemudian menghasilkan
OTP. Sedangkan server bertugas mengirimkan challenge yang sesuai dengan
user, memverifikasi OTP yang diterima , dan menyimpan OTP terbaru.
Keamanan dari sistem OTP berdasarkan pada tidak bisa dibalikkan fungsi hash.
Generator dan server harus menggunakan algoritma dan waktu yang sama untuk
dapat beroperasi. Sistem OTP men-folding output dari fungsi hash menjadi 48 bit
yang merupakan panjang dari OTP (Istihadi, 2004).
Password/OTP yang dikeluarkan token pada umumnya ada dua mode untuk
membangkitkan sebuah one time password (OTP) (Wicaksono, 2009):
1. Mode Challenge/Response (CR)
Dalam mode ini server memberikan challenge berupa sederetan angka.
Angka tersebut harus dimasukkan ke dalam mesin token untuk
mendapatkan jawaban (response). Kemudian pengguna memasukkan
angka yang muncul pada token-nya ke dalam form di situs internet
banking. Token akan mengeluarkan kode yang berbeda-beda walaupun
dengan challenge code yang sama secara periodik tergantung waktu ketika
challenge dimasukkan ke dalam token.
26
2. Mode Self Generated (Response Only)
Dalam mode ini server tidak memberikan tantangan (challenge) apapun.
Token pengguna bisa langsung mengeluarkan sederetan angka tanpa harus
memasukkan challenge. Seperti mode CR, token juga mengeluarkan kode
yang berbeda-beda secara periodik tergantung waktu ketika token diminta
untuk menghasilkan kode self generated.
II.6.1OTP dalam Mode Response Only (RO)
Ketika pada suatu waktu tertentu token diminta menghasilkan OTP tanpa
challenge code, inilah yang dilakukan token:
1. Mengambil waktu saat ini dalam detik berformat EPOCH (jumlah detik
sejak 1 Januari 1970), biasanya dalam granularity 10 detik, sehingga nilai
EPOCH dibagi 10.
2. Menggabungkan init-secret dengan waktu saat ini dari langkah 1.
3. Menghitung nilai hash gabungan init-secret dan waktu dari langkah 2.
Nilai hash dari langkah 3 inilah yang menjadi OTP. Namun biasanya OTP diambil
dari beberapa karakter/digit di awal hash (Wicaksono, 2009).
II.6.2OTP dalam Mode Challenge Response (CR)
Pembangkitan dan autentikasi OTP dalam mode CR sebenarnya mirip dengan
mode self-generated. Bila dalam mode self-generated tambahan (salt) dari init-
secret adalah waktu (EPOCH/10), dalam mode CR ini salt/tambahan lebih
27
banyak. Init-secret tidak hanya ditambah dengan waktu, namun juga ditambah
lagi dengan challenge. Dalam mode CR ada field tambahan yang harus
digabungkan sebelum dihitung nilai hash-nya, yaitu challenge. Nilai challenge ini
diketahui oleh server dan juga oleh token (ketika user mengetik challenge ke
token), sehingga baik token maupun server akan dapat menghitung OTP yang
sama sehingga proses autentikasi dapat berlangsung. Berikut tabel iterasi dari
setiap detik dalam waktu toleransi untuk mendapatkan OTP (Wicaksono, 2009).
Tabel 2.4 Iterasi Perhitungan OTP Mode CR (Wicaksono R., 2009)
Untuk alasan keamanan one time password (OTP) memiliki beberapa
keterbatasan sebagai berikut:
1. Hanya dapat dipakai satu kali
Setelah suatu password dibangkitkan, maka password yang sama tidak
akan bias dipakai untuk yang kedua kalinya dalam batas toleransi waktu
yang telah ditentukan. Dengan kata lain tindakan menyadap password
menjadi hal yang tidak berguna karena password yang dihasilkan selalu
berubah-ubah.
2. Hanya dapat dipakai dalam rentang waktu yang terbatas
Password yang dihasilkan memiliki umur yang sangat terbatas, bisa
diantara 3-6 menit dan bila umur habis maka password tidak dapat
digunakan kembali. Hal ini dikarenakan waktu adalah unsur yang sangat
penting dalam sistem OTP ini.
28
3. Hanya dapat dipakai dalam konteks yang sempit
Untuk melakukan sebuah proses autentikasi dibutuhkan password yang
diikat oleh challenge dari server. Sehingga password tidak bisa dipakai
untuk proses berbeda yang membutuhkan challenge code yang berbeda.
Konteks ini hanya berlaku bila password dihasilkan dari mode CR.
Jadi bisa diambil kesimpulan bahwa password yang dihasilkan bersifat sebagai
berikut:
1. Selalu berubah-ubah secara periodik
2. Memiliki umur yang singkat
3. Hanya bisa dipakai satu kali
4. Terbagi dalam dua jenis, yaitu:
a. Password kontekstual yang terikat oleh challenge code dalam
mode CR.
b. Password bebas konteks yang dihasilkan dalam mode self
generator (Response Only).
II.7 Token
Token (sebuah objek yang digunakan untuk autentikasi sistem tertentu) yang
digunakan dalam penelitian ini adalah token yang berwujud software dan diinstal
di handphone, atau disebut mobile token. Sebuah token merupakan sebuah
perangkat fisik yang resmi pengguna jasa komputer diberikan untuk
memudahkan autentikasi. Ada yang berupa perangkat keras maupun perangkat
lunak. Keamanan token digunakan untuk membuktikan identitas seseorang secara
29
elektronik (seperti dalam kasus pelanggan mencoba untuk mengakses account
bank mereka). Token bertindak seperti kunci elektronik untuk mengakses sesuatu
(Ibrahim, 2010).
Gambar 2.13 Token Software (Mobile Token)
Token yang berupa perangkat keras biasanya cukup kecil untuk dibawa dalam
saku atau tas (dirancang untuk kemudahan untuk dibawa). Terdapat area yang di
dalamnya terdapat keypad kecil untuk mengizinkan masuknya sebuah PIN atau
tombol sederhana untuk mulai rutin menghasilkan dengan beberapa kemampuan
tampilan untuk menampilkan tombol angka yang dihasilkan (Ibrahim, 2010).
Gambar 2.14 Token Hardware (Ibrahim, 2010)
30
II.8 J2ME
J2ME adalah teknologi Java yang diperuntukkan perangkat kecil consumer
device , terutama wireless. Beberapa perangkat wireless antara lain PC,
PDA, communicator, embedded device, smart card dan ponsel. Teknologi Java
mungkin merupakan satu-satunya cara memprogram beberapa perangkat, berbagi
logic antara perangkat dan server, pengantaran aplikasi secara dinamis, program
yang kompak, lingkungan pengembangan yang aman dan cepat. J2ME
memungkinkan perangkat lunak dapat di-download perangkat sekaligus
memungkinkan layanan yang dapat disesuaikan di beragam perangkat. J2ME
menyediakan platform standar untuk pengembangan perangkat wireless
(Wartawarga, 2010).
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada
J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa library
khusus yang tidak dimiliki J2SE. Configuration merupakan Java library minimum
dan kapabilitas yang dimiliki para pengembang J2ME, yang maksudnya sebuah
mobile device dengan kemampuan Java akan dioptimalkan untuk menjadi sesuai.
Arsitektur J2ME dapat dilihat pada gambar di bawah ini (Shalahuddin, 2010).
Gambar 2.15 Arsitektur J2ME
31
II.9 PHP
PHP adalah bahasa pemrograman yang memungkinkan para web developer untuk
membuat aplikasi web yang dinamis dengan cepat. PHP merupakan singkatan dari
“PHP: Hypertext Preprocessor”. PHP ditulis dan diperkenalkan pertama kali
sekitar tahun 1994 oleh Rasmus Lerdorf melalui situs untuk mengetahui siapa
saja yang telah mengakses ringkasan online-nya (Puspitasari, 2010).
PHP merupakan salah satu bahasa script yang terbilang baru dan tersedia secara
bebas dan masih memungkinkan untuk dikembangkan lebih lanjut. PHP dapat
diintegrasikan (embedded) ke dalam web server, atau dapat berperan sebagai
program CGI yang terpisah. Karakteristik yang paling unggul dan paling kuat
dalam PHP adalah lapisan integrasi database (database integration layer).
Database yang didukung PHP adalah: Oracle, AdaBas-D, Sybase, FilePro,
mSQL, Velocis, MYSQL, Informix, Solid, dBase, ODBC, Unix DBM, dan
PostgreSQL (Puspitasari, 2010).
II.10 Model Waterfall
Model ini sering juga disebut dengan Classic Life Cycle. Dalam metode ini
membutuhkan pendekatan sistematis dan sekuen dalam pengembangan perangkat
lunak, dimulai dari tingkat sistem dan kemajuan melalui analisis, desain, coding,
testing dan pemeliharaan (Arief, 2008). Waterfall Model adalah sebuah metode
pengembangan software yang bersifat sekuen dan terdiri dari lima (5) tahap yang
saling terkait dan mempengaruhi seperti terlihat pada gambar berikut.
32
Gambar 2.16 Proses Model Waterfall
Tahap–tahap pengembangan Waterfall model adalah:
1. Analisis dan definisi persyaratan
Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi
dengan user. Bisa melalui wawancara secara langsung atau menggunakan
kuesioner untuk mengetahui keinginan dari user mengenai perangkat
lunak yang akan dibuat.
2. Perancangan sistem dan perangkat lunak
Kegiatan ini menentukan arsitektur sistem secara keseluruhan. Proses
desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang
dimengerti perangkat lunak sebelum dimulai penulisan program.
3. Implementasi dan pengujian unit
Perancangan perangkat lunak direalisasikan sebagai serangkaian program.
33
4. Integrasi dan pengujian sistem
Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk
menjamin bahwa persyaratan sistem telah terpenuhi. Setelah kode program
selesai dibuat, dan program dapat berjalan, testing dapat dimulai. Testing
difokuskan pada logika internal dari perangkat lunak, fungsi eksternal, dan
mencari segala kemungkinan kesalahan.
5. Operasi dan pemeliharaan
Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai.
Perbaikan mencakup koreksi dari berbagai error, perbaikan dan
implementasi unit sistem dan pelayanan sistem.
Keuntungan menggunakan Metode Waterfall adalah:
- Sederhana dan mudah diimplementasikan.
- Mudah diatur.
- Cocok untuk proyek kecil.
Kerugian menggunakan metode Waterfall adalah:
- Tidak mengakomodasi perubahan requirement.
- Resiko ketidakpastian tinggi.
- Model yang buruk untuk proyek yang berorientasi obyek.
- Untuk proyek besar dalam pembuatan software, metode ini memakan
waktu yang lama.
Waterfall model biasanya digunakan sebagai landasan teori dalam pengembangan
software.
34
II.11 Unified Modeling Language (UML)
Unified Modeling Language adalah sebuah notasi untuk men-spesifikasi, me-
visualisasi, membangun dan mendokumentasikan rancangan dari sebuah
perangkat lunak (Sumirat, 2010).
Untuk membuat model semua jenis aplikasi perangkat lunak yang dapat berjalan
pada perangkat keras, sistem operasi dan jaringan apapun kita dapat menggunakan
UML dalam pembuatan model sebuah perangkat lunak tersebut. Seperti bahasa-
bahasa lainnya, UML mendefinisikan notasi syntax/semantik. Notasi UML adalah
sekumpulan bentuk khusus untuk menggambarkan diagram perangkat lunak.
II.11.1 Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, men-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor
adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk
melakukan pekerjaan-pekerjaan tertentu (Dharwiyanti, 2003).
35
Gambar 2.17 Contoh Use Case Diagram (Dharwiyanti, 2003)
II.11.2 Class Diagram
Class adalah sebuah spesifikasi yang akan menghasilkan sebuah objek dan
merupakan inti dari pengembangan dan desain berorientasi objek. Class
menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan
layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram
menggambarkan struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok (Dharwiyanti, 2003):
Gambar 2.18 Contoh Class Diagram (Dharwiyanti, 2003)
36
II.11.3 Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir. Activity diagram menggambarkan proses
paralel yang mungkin terjadi pada beberapa eksekusi (Dharwiyanti, 2003).
Gambar 2.19 Contoh Activity Diagram (Sumirat, 2010)
II.11.4 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar
sistem (termasuk pengguna, display , dan sebagainya) berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram
biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah
yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output
tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message
37
digambarkan sebagai garis panah dari satu objek ke objek lainnya. Pada fase
desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class .
Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali
dengan diterima sebuah message (Prasetyo, 2006). Berikut contoh gambar
sequence diagram.
Gambar 2.20 Contoh Sequence Diagram (Purnomo, 2007)