BAB 2
LANDASAN TEORI
2.1 Pengertian Sistem
Sistem berasal dari bahasa yunani ”System” artinya satuan yang saling bergantung dan saling bekerja sama untuk menghasilkan suatu metode, prosedur serta teknik yang digabung dan diatur sedemikian rupa sehingga menjadi suatu kesatuan yang berfungsi mencapai suatu tujuan tertentu.
Sistem adalah sekelompok elemen-elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan (Mcleod,2004).
Sistem adalah sekelompok unsur yang erat hubunganya satu dengan yang lain, yang berfungsi bersama-sama untuk mencapai tujuan tertentu (Sutabri,2005).
2.1.1 Pengertian Informasi
Informasi adalah hasil dari pengolahan data dalam bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian–kejadian yang nyata sehingga dapat digunakan sebagai pengambilan keputusan.
Informasi adalah data yang telah terolah dan sifatnya menjadi data yang lain yang bermanfaat (Supriyanto,2005).
Informasi adalah rangkaian data yang mempunyai sifat sementara, tergantung dengan waktu, mampu memberikan kejutan atau surprise pada yang menerimanya (Witarto,2004).
Informasi merupakan data yang telah dibentuk kedalam suatu format yang mempunyai arti dan berguna bagi manusia (Loudon, 2005).
2.1.2 Kualitas Informasi
Kualitas suatu informasi tergantung dari 3 (tiga) hal yaitu,informasi harus akurat (accurate), tepat waktu (timelines), dan relevan (relevance) seperti yang diungkapkan oleh Kusrini & Andri (2007) :
1. Akurat (accurate)
Berarti informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan serta harus jelas mencerminkan maksudnya, informasi harus akurat, karena dari sumber informasi sampai kepada si penerima informasi kemungkinan banyak terjadi gangguan yang dapat mengubah informasi tersebut.
2. Tepat waktu (timelines)
Berarti informasi yang datang pada sipenerima tidak boleh terlambat. Informasi sudah usang tidak mempunyai nilai lagi, sebab informasi mempunyai landasan di dalam pengambilan keputusan.
3. Relevan (relevance)
Berarti informasi tersebut mempunyai manfaat untuk pemakainya. relevansi informasi untuk orang satu dengan yang lainya berbeda.
dan pengendalian yang ditujukan untuk mendapatkan jalur komunikasi yang penting dengan tujuan sebagai pengambilan keputusan.
Sistem informasi merupakan satuan komponen yang saling berhubungan yang mengumpulkan (mendapatkan kembali), memproses, menyimpan, mendistribusikan informasi untuk mendukung pengambilan keputusan dan kendali dalam suatu organisasi (Loudon,2005).
Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategis dari suatu organisasi untuk dapat menyediakan pihak luartertentu dengan laporan-laporan yang diperlukan (Kusrini & Andri,2007).
2.1.4 Komponen Sistem Informasi
Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (Building Block) yaitu Blok Masukan (Input Block), Blok Model (Model Block), Blok Keluaran (Output Block), Blok Teknologi (Technologi Block), Blok
Dasar Data (Database Block) dan Blok Kendali (Control Block) seperti yang diungkapkan oleh Kusrini & Andri (2007).
Sebagai sistem, keenam blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai suatu sasaran.
1. Blok Masukan (Input Block)
2. Blok model (Model Block)
Blok ini terdiri dari kombinasi prosedur, logika dan model matematika yang akan memanipulasi data input dan data tersimpan di dasar data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan.
3. Blok Keluaran (Output Block)
Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem.
4. Blok Teknologi (Tecnologi Block)
Teknologi merupakan “Kotak Tool” dari pekerjaan sistem informasi.
Teknologi digunakan untuk menerima input, menjalankn model menyimpan dan mengakses data, menghubungkan dan mengirimkan keluaran dan membantu pengendalian dari sistem secara keseluruhan. Teknologi terdiri dari bagian utama yaitu:
a. Teknisi (Humanware dan Brainware) b. Perangkat Lunak (Software)
c. Perangkat keras (Hardware)
Teknisi dapat berupa orang-orang yang mengetahui teknologi dan membantunya untuk dapat beroperasi.
5. Blok Basis Data (Database Block)
Basis data merupakan komponen dari data yang saling terhubung satu dengan yang lainnya, tersimpan di perangkat lunak untuk memanipulasinya. Data di dalam basis data perlu diorganisasikan sedemikian rupa supaya informasi yang dihasilkan berkualitas.
6. Blok Kendali (Control Block)
2.2 Pengertian Basis Data (Database)
Basis data (database) adalah suatu data yang terintegrasi, diorganisasikan, dan disimpan dalam suatu cara yang memudahkan untuk pengambilan kembali.
Basis data adalah suatu susunan kumpulan data operasional lengkap dari suatu organisasi/perusahaan yang terorganisir/dikelola dan disimpan secara terintegrasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi optimal yang diperlukan pemakainya (Marlinda, 2004).
Database adalah suatu pengorganisasian sekumpulan data yang saling terkait
sehingga memudahkan aktivitas untuk memperoleh informasi (Kadir,2003).
2.2.1 Relasi Data atau ERD (Entity Relation data)
Entitiy Relation Diagram berfungsi untuk menggambarkan relasi dari dua file atau
dua tabel yang dapat digolongkan menjadi dalam tiga macam bentuk relasi, yaitu satu-satu, satu-banyak, dan banyak ke banyak (Sutedjo,2006). Penggambaran ini akan membantu analisa sistem dalam melakukan perancangan proses yang kelak akan dituangkan dalam bentuk garis-garis program.
Relasi adalah hubungan antara satu file atau tabel yang lain dalam suatu database, atau hubungan antara dua atribut dalam suatu file. Relasi antara dua file atau tabel dapat di kategorikan menjadi tiga bagian yaitu:
a. Relasi one to one
Contoh
Gambar 2.1 Relasi one to one
b. Relasi one to many
Merupakan hubungan antara file pertama dengan file kedua atau hubungan antara atribut pertama dengan atribut kedua adalah satu berbanding banyak tetapi tidak sebaliknya. Gambar 2.2 Relasi one to many
c. Relasi many to many
Merupakan hubungan antara file pertama dan file kedua atau hubungan antara atribut pertama dengan atribut kedua adalah banyak berbanding banyak dan
Contoh:
Gambar 2.3 Relasi many to many
2.3 Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah sebuah “bahasa” yang telah menjadi
standard industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak (Dharwiyanti, S dan Wahono, S.R., 2003). Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek. Unified Modeling Language (UML) bukanlah :
1. Bahasa pemrograman visual, tapi bahasa pemodelan visual. 2. Spesifikasi kakas, tetapi spesifikasi bahasa pemodelan. 3. Proses, tetapi yang memungkinkan proses-proses.
Menurut Hariyanto, B (2004) tujuan perancangan UML adalah:
1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti.
Produk Pembersih Konsumen
Alamat Nama
Kode Pos
Harga Gambar
M M
2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep-konsep inti.
3. Mendukung spesifikasi independen bahasa pemrograman dan pengembangan tertentu.
4. Menyediakan basis formal untuk pemahaman bahasa pemodelan.
5. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.
Unified Modeling Language (UML) menyediakan sejumlah diagram untuk menggambarkan pemodelan berorientasi objek yang dilakukan. UML membagi diagram menjadi dua tipe yaitu :
1. Diagram Struktur
Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek statik dari sistem. Diagram struktur di UML terdiri dari : a. Diagram Kelas (Class diagram)
b. Diagram Objek (Object diagram)
c. Diagram komponen (Component Diagram) d. Diagram deployment (Deployment Diagram)
2. Diagram perilaku
Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek dinamis dari sistem. Diagram struktur di UML terdiri dari : e. Diagram use-case (Use case diagram)
f. Diagram sekuen (sequence diagram)
2.3.1 Diagram Use case
Diagram Use case (use case diagram) merupakan salah satu diagram untuk memodelkan aspek perilaku sistem atau digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem (Hariyanto, B. 2004). Diagram use case terdiri dari beberapa elemen yaitu:
1. Aktor
Aktor adalah pemakai sistem, dapat berupa manusia atau sistem terotomatisasi lain. Aktor adalah sesuatu atau seseorang yang berinteraksi dengan sistem, yaitu siapa dan apa yang menggunakan sistem. Aktor adalah tipe (kelas) bukan instan. Aktor mempresentasikan peran bukan pemakai individu dari sistem. Aktor memiliki nama, nama yang dipilih seharusnya menyatakan peran aktor.
Gambar 2.4 Aktor – aktor Use case
2. Use-case
Use case adalah cara spesifik penggunaan sistem oleh aktor. Use case melibatkan
interaksi antara aktor-aktor dan sistem. Use case mengemukakan suatu kerja yang tampak.
Gambar 2.5 Aktor dan Use case
User Admin
User
3. Keterhubungan
Keterhubungan antar use case dengan use case lain berupa generalisasi antara use case yaitu :
a. include, perilaku use case merupakan bagian dari use case lain. b. extend, perilaku use case memperluas perilaku use case yang lain.
Gambar 2.6 Aktor ,Use case dan Keterhubungan
2.3.2 Spesifikasi Use case
Spesifikasi use case memberikan gambaran lengkap spesifikasi tekstual pada use case. Spesifikasi use case sistem rekomendasi dilakukan berdasarkan case yang ada pada use case diagram. Spesifikasi use case biasanya terdiri dari :
a. Deskripsi singkat case, yang menjelaskan apa yang terjadi pada case. b. Pra kondisi yaitu keadaan apa yang terjadi sebelum case berlangsung. c. Karakteristik yang dimiliki oleh case.
d. Skenario (flow of event) yaitu menjelaskan cara kerja case mulai dari awal hingga. akhir.
e. Pasca kondisi yaitu keadaan apa atau output apa yang dihasilkan setelah case berlangsung.
User
Lihat Sub Kategori Produk «uses»
Pesan
Tambah Pesanan
Checkout «extends»
«extends»
2.3.3 Diagram Sekuen
Diagram sekuen (sequence diagram) menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa message (pesan) yang digambarkan terhadap waktu.
Diagram sekuen digunakan untuk memodelkan scenario penggunaan. Skenario penggunaan adalah barisan kejadian yang terjadi selama satu eksekusi sistem. Diagram sekuen menunjukkan objek sebagai garis vertical dan tiap kejadian sebagai panah horizontal dari objek pengirim ke objek penerima. Waktu berlalu dari atas ke bawah dengan lama waktu tidak relevan.
Diagram sekuen (sequence diagram) memeiliki beberapa elemen yang terdiri dari :
Tabel 2.1 Elemen-elemen Sequence Diagram
Nama Penjelasan Gambar
1. Objek lifeline Menggambarkan batasan
objek Object1
2. Boundary berhubungan dengan proses input output ataupun interface.
Halaman Utama (boundary)
3. Controller berhubungan dengan proses.
4. Entity berhubungan dengan
input-output data Entity Lokasi Wisata
(entity)
5. Massage arrow menggambarkan alir proses, perintah atau pengiriman data.
Message
message(call)
Message(return)
6. Aktivasi (activation) menggambarkan aktivitas objek.
7. Actor Menggambarkan aktor
sebagai objek.
User
2.3.4 Otentikasi
Otentikasi merupakan proses validasi user pada saat memasuki sistem, nama dan password dari user di cek melalui proses yang mengecek langsung ke daftar mereka yang diberikan hak untuk memasuki sistem tersebut. Autorisasi ini diatur oleh administrator, webmaster atau pemilik situs (pemegang hak tertinggi atau mereka yang ditunjuk di sistem tersebut). Untuk proses ini masing-masing user akan di cek dari data yang diberikannya seperti nama (dalam hal ini adalah email), dan password .
Selain itu otentikasi juga merupakan salah satu metode yang digunakan untuk menyediakan bukti bahwa dokumen tertentu yang diterima secara elektronik benar-benar datang dari orang yang bersangkutan dan tak berubah. Caranya adalah dengan mengirimkan suatu kode tertentu melaui e-mail dan kemudian pemilik e-mail me-replay email tersebut atau mengetikan kode yang telah dikirimkan. Otentikasi server
berfungsi untuk mengenali user yang berintegrasi ke jaringan dan memuat semua informasi dari user tersebut, dalam praktek biasanya otentikasi server mempunyai backup yang berfungsi untuk menjaga jika server itu ada masalah sehingga jaringan
dan pelayanan tidak terganggu.
Dalam aplikasi web dibutuhkan mekanisme yang dapat melindungi data dari pengguna yang tidak berhak mengaksesnya, misalnya sebuah situs web yang berisikan foto-foto keluarga dan hanya dapat diakses sesama anggota keluarga. Mekanisme ini dapat diimplementasikan dalam bentuk sebuah proses login yang biasanya terdiri dari tiga buah tahapan yaitu identifikasi, otentikasi dan otorisasi. Proses otentikasi pada prinsipnya berfungsi sebagai kesempatan pengguna dan pemberi layanan dalam proses pengaksesan resource. Pihak pengguna harus mampu memberikan informasi yang dibutuhkan pemberi layanan untuk berhak mendapatkan resourcenya, sedangkan pihak pemberi layanan harus mampu menjamin bahwa pihak yang tidak berhak tidak akan dapat mengakses resource ini.
Dalam sistem transaksi online sering menggunakan kartu kredit sebagai alat pembayaran .Otentikasi kartu kredit dilakukan untuk mengetahui keabsahan sebuah nomor kartu kredit. Otentikasi nomor kartu kredit dilakukan dengan menggunakan algoritma Luhn dimana algoritma Luhn mengecek berdasarkan urutan nomor kartu tersebut.
2.3.5 Faktor Otentikasi
Tiga jenis faktor otentikasi yang umum digunakan adalah: a. Sesuatu yang diketahui oleh pengguna
b. Sesuatu yang dimiliki oleh pengguna
Contoh: ID card, kartu kredit, telepon seluler, dan perangkat token. c. Sesuatu yang „ada‟ pada pengguna
Contoh: sidik jari, DNA, suara, pola retina, atau aspek biometrik lain.
2.4 Algoritma Luhn
Algoritma Luhn atau formula Luhn yang juga dikenal sebagai algoritma „modulus 10, adalah sebuah algoritma sederhana yang dapat digunakan untuk memeriksa validitas sebuah nomor kartu kredit ,ISBN, dan IMEI pada perangkat komunikasi seluler. Algoritma ini dibuat oleh ilmuwan dari IBM yang bernama Hans Peter Luhn dan sudah dipatenkan di Amerika Serikat dengan nomor paten 2.950.048 pada 23 Agustus 1960.
Rumusan Luhn diciptakan dan disimpan sebagai hak paten (sekarang dengan cuma-cuma/bebas) untuk mendeteksi kesalahan kuantitatif yang ditemukan dalam angka-angka yang sudah dibuat sebelumnya. Sejak itu, algoritma Luhn telah digunakan untuk memeriksa atau memverifikasi kebenaran dari urutan angka-angka kartu kredit. Sekarang ini, hampir semua angka-angka kartu kredit yang dikeluarkan dihasilkan dan dibuktikan menggunakan Modulus atau Algoritma Luhn, atau Mod-10 Formula.
Algoritma ini merupakan public domain dan sudah digunakan secara luas. Sebagian besar layanan penyedia kartu kredit dan beberapa instansi lainnya menggunakan algoritma ini sebagai cara yang sederhana untuk memilah nomor – nomor yang absah dari banyak nomor acak (Kilgo,2006). Dulunya algoritma Luhn ini direalisasikan dalam bentuk mesin genggam. Alat ini menghitung nilai dari operasi mod menggunakan cara mekanik.
secara acak dan mencegah terdapatnya angka-angka kartu kredit yang salah sebelum diterbitkan. Algoritma Luhn tidaklah digunakan untuk membuat nomor kartu kredit secara langsung, tetapi lebih digunakan sebagai rumusan matematis yang sederhana untuk memeriksa angka-angka kartu kredit yang sah dari daftar angka acak yang sudah di buat sebelumnya. Rumusan ini juga berlaku untuk memeriksa nomor kartu debet (atm) juga (Kilgo,2006).
Algoritma Luhn hanya mengesahkan 16 digit kartu kredit dan bukan komponen yang lain, misalnya urutan no rekening, apakah nomor kartu kredit tersebut ada atau tidak, apakah tanggal kartu kredit tersebut valid atau sudah expire, dan tidak dapat memeriksa Card Verification Value yang biasanya digunakan (CVV) dan Card Verification Code (CVC), kode tersebut adalah angka-angka yang digunakan untuk membuktikan pemilikan fisik dari kartu kredit atau kartu debet (Gilleland,2007).
Adapun cara kerja algoritma Luhn adalah sebagai berikut :
1. Mulai dari angka paling kanan sampai paling kiri, kalikan setiap angka pada urutan ganjil dengan 2. Untuk semua angka yang menjadi lebih besar dari atau sama dengan 10, kurangi angka hasil perkalian tadi dengan 9.
2. Jumlahkan angka urutan ganjil dan urutan genap.
3. Jika total dari penjumlahan tadi dimoduluskan 10 kongruen dengan 0, maka nomor itu sah.
2.5 Pengenalan Kartu Kredit
penerbit, nama nasabah, merek kartu, logo hologram, nomor kartu, tanggal berlaku, dan chip EMV. Di bagian belakang terdapat pita magnetik, tanda tangan nasabah, dan card security code (CSC). Data nasabah disimpan dalam pita magnetik sedangkan chip EMV digunakan dalam proses verifikasi(Gilleland, 2007)
Angka pertama dari nomor kartu kredit adalah tanda pengenal industri mayor / Major Industry Identifier (MII), yang merepresentasikan kategori perusahaan yang mengeluarkan kartu kredit tersebut (Gilleland, 2007). MII yang berbeda-beda merepresentasikan kategori seperti dalam tabel di bawah ini :
Tabel 2.2 Jenis Kartu Kredit Angka MII Kategori
perusahaan Kategori Perusahaan
0 ISO/TC 68 dan industri lain-lain
1 Perusahaan penerbangan
2 Perusahaa penerbangan dan industri lain-lain
3 Travel dan hiburan
4 Bank dan financial
5 Bank dan financial
6 Merchandizing dan bank
7 Perusahaan petroleum
8 Telekomunikasi dan industri lain-lain
9 Perusahaan Negara
Sebagai contoh, American Express, Diner's Club, dan Carte Blanche berada di kategori travel dan hiburan, VISA, MasterCard, dan Discover berada di kategori bank dan finansial, sementara SUN Oil dan Exxon berada di kategori perusahaan petroleum.
probabilitas perusahaan yang mengeluarkan kartu kredit adalah satu juta kemungkinan (10 dipangkatkan 6). Beberapa perusahaan terkenal dijelaskan pada tabel di bawah ini:
Tabel 2.3 Perusahan yang mengeluarkan Kartu Kredit
Nama Perusahaan Identifier Panjang Angka Kartu
Diner's Club/Carte 300xxx- 13
Blanche 305xxx, 36xxxx, 38xxxx
13
American Express 34xxxx, 37xxxx
15
VISA 4xxxxx 13, 16
MasterCard 51xxxx- 55xxxx
16
Discover 6011xx 16
Jika angka MII adalah 9, maka 3 angka berikutnya adalah kode negara yang didefinisikan dalam ISO 3166, dan sisa 2 angkanya bisa didefinisikan oleh badan standar negara masing-masing sesuai kebijakan dari negara tersebut (Gilleland,2007).
2.5.2 Bentuk Fisik Kartu Kredit
Dari tampilan depan sebuah kartu kredit seperti gambar 2.7 terdiri dari beberapa bagian yaitu :
a. Logo Bank
Logo bank atau nama penerbit ini adalah nama bank/institusi penerbit kartu kredit. Misalnya kartu kredit Anda diterbitkan oleh BCA maka muncul logo atau nama BCA. Begitu juga jika kartu kredit Anda terbitan Citibank, HSBC, ANZ, maka muncul logo atau nama bank-bank tersebut.
b. Nomor Kartu
Setiap kartu kredit memiliki nomornya yang unik dan berbeda. Untuk pasar Indonesia nomor kartu kredit berjumlah 16 digit yang terbagi dalam kelompok 4 dengan jarak yang direnggangkan. Tiap kartu kredit berbeda nomornya dan tidak ada yang sama. Empat digit awal menandakan jenis kartu dan bank penerbit yang berbeda. Jadi tidak pernah ada kartu kredit yang nomornya sama.
c. Nama Pemilik
Kartu kredit akan tercetak nama pemiliknya. Jika nama Anda adalah Surya Nanggala maka di dalam kartu kredit Anda akan tercetak Surya Nanggala.
d. Masa Berlaku Kartu
e. Logo Perusahaan Pembayaran Internasional
Biasanya disebut juga dengan nama jaringan pembayaran Internasional. Setiap kartu kredit yang Anda apply hanya akan mendapatkan satu nama jaringan pembayaran. Jika Anda apply VISA maka akan mendapatkan kartu kredit berlogo VISA. Jika Anda apply MasterCard maka akan mendapatkan kartu kredit MasterCard.
f. Chip
Chip adalah produk pengaman kartu yang baru. Saat ini untuk semua kartu kredit yang diterbitkan untuk pasar Indonesia sudah diwajibkan untuk memiliki chip guna pengamanan kartu.
Gambar 2.8 Tampilan belakang kartu kredit
Dari tampilan belakang sebuah kartu kredit seperti gambar 2.8 terdiri dari beberapa bagian yaitu :
a. Pita magnetik, pita magnetik ini sama seperti kartu ATM atau kartu debit. Kegunaannya adalah untuk merekam beberapa data penting nasabah seperti nomor PIN, nama nasabah, alamat nasabah, limit kartu, saldo tagihan, dsb.
c. Tiga digit pengaman kartu, di belakang kartu kredit selalu ada 3 digit angka sebagai pengaman kartu yang sering disebut CVV (Card Verification Value).Kode ini ditambahkan sebagai pengaman kartu sama seperti chip.
Hanya saja teknologi chip adalah teknologi terbaru.
d. Identitas bank penerbit kartu, nama dan alamat bank sebagai penerbit kartu juga akan tercetak di belakang kartu kredit.
e. Logo Cirrus/PLUS, logo ini untuk memudahkan Anda sebagai pemilik kartu mengenal mesin-mesin ATM untuk menarik uang tunai. Cirrus untuk MasterCard, sedangkan PLUS untuk VISA.
f. Hologram, kartu kredit juga memiliki hologram yang biasanya untuk kartu kredit VISA, hologramnya muncul di belakang, sedangkan untuk kartu kredit MasterCard, hologramnya tampak di depan kartu.
2.5.3 Penerapan Algoritma Luhn sebagai pengesahan dan pembuatan Urutan Nomor Kartu kredit
Bagi mereka yang tidak suka matematika sama hanya saja matematika adalah salah satu bagian dari akademis mulai dari SD sampai perkuliahan, tetapi jika anda suka visual, pemikiran membingungkan seperti permainan Sudoku, anda akan menyukai Algoritma Luhn dan sangat mudah untuk saya jelaskan.
2. Jika digit yang digandakan nilainya dan menjadi nilai yang hasilnya sama dengan 10 atau lebih , kita harus menambahkan hasil digit tersebut. Sebagai contoh, digit 5 ketika digandakan akan menjadi 10, kemudian kita harus menambahkan masing-masing nilai tersebut yaitu 1+0. Demikian juga, misalkan digit 9 ketika digandakan akan menjadi 18, maka kita harus menjumlahkan nilai tersebut yaitu 1 + 8 dan hasilnya menjadi 9.
3. Sekarang, kita lihat hasil dari urutan yang baru dari perhitungan yang kita buat tadi. Digit yang baru yang nilainya kita gandakan tadi akan menggantikan digit yang sebelumnya. Digit yang tidak kita gandakan nilainya akan tetap sama.
4. Jumlahkan urutan yang baru. Jika dikombinasikan perhitungan jumlah dapat dibagi oleh sepuluh atau berakhir dengan 0, misalnya 70. Jika tidak habis dibagi 10, maka nomor atau jumlah kartu kredit yang tertera tidaklah sah atau tidak benar (valid).
2.5.4 Penerapan Algoritma Luhn untuk validasi Nomor Seri IMEI
International Mobile Equipment Identity atau IMEI adalah sebuah nomor unik yang
dimiliki setiap perangkat komunikasi GSM, UMTS, dan iDEN serta beberapa perangkat telepon satelit. Nomor IMEI digunakan oleh jaringan GSM untuk mengindentifikasi perangkat yang sah dan membuat perangkat komunikasi yang dicuri tidak dapat mengakses sebuah jaringan. Sebagai contoh adalah jika sebuah telepon seluler dicuri, pemiliknya dapat menghubungi layanan penyedia jaringan dan memintanya umtuk memblok telepon yang dicuri tersebut dengan nomor IMEI. Hal ini akan menyebabkan perangkat tersebut tidak dapat digunakan, meskipun kartu SIM di dalamnya diganti ataupun tidak (Matthew, 2007).
Identitas pelanggan tidak dikenali melalui nomor IMEI namun dikenali dari nomor IMSI yang tersimpan pada kartu SIM.
Nilai cek digit divalidasi dalam tiga langkah berikut :
1. Mulai dari digit yang paling kanan, kalikan dua kali tiap dua digit. 2. Jumlahkan semua digit tersebut.
3. Periksa apakah jumlahnya bisa dibagi 10.
Sebaliknya nomor IMEI dapat dikalkulasikan dengan memilih cek digit sehingga jumlahnya dapat dibagi 10. Contohnya adalah nomor IMEI 49015420323751?. Jumlah setelah dikalikan adalah 52+?. Untuk membuat jumlahnya dapat dibagi dengan 10, maka kita ganti dengan angka 8.Untuk lebih jelasnya dapat dilihat pada keterangan di bawah ini :
4 9 0 1 5 4 2 0 3 2 3 7 5 1 ?
4 18 0 2 5 8 4 0 6 4 6 14 5 2 ?
4 9 0 2 5 8 2 0 3 4 3 5 5 2 ?
a. Baris pertama adalah nomor seri sebelum dilakukan perkalian. b. Baris kedua adalah nomor seri setelah dilakukan perkalian. c. Baris ketiga adalah hasil perkalian yang dinormalisasi.
Dari keterangan di atas dapat dilihat bahwa hasil penjumlahan seluruh digit di atas adalah 4+9+0+2+5+8+2+0+3+4+3+5+5+2+? = 52+?. Untuk mendapatkan jumlah
yang benar, „?‟ diganti dengan „8‟ sehingga jumlahnya 60 dan 60 mod 10 adalah 0 sehingga nomor seri diatas menjadi benar.
Tabel 2.4 Penelitian Sebelumnya tentang algoritma Luhn
No JUDUL PENELITI SUMBER
2. Penggunaan Algoritma Modulo
3. Implementasi Algoritma Cek Digit Luhn Untuk Otentikasi
4. Aplikasi Aritmatika Modulo dalam Validasi Nomor Kartu kredit
Yudha Adiprabowo Makalah Teknik Informatika Institut Teknologi Bandung 2007
5. Aplikasi Teori Bilangan dalam Pembangkitan dan Validasi
6. IMEI dan Validasinya dengan Algoritma Luhn
PHP adalah Bahasa Pemograman Server – side scripting yang menyatu dengan HTML
perintah – perintah yang akan sepenuhnya dijalankan di server, tetapi disertakan pada dokumen HTML. Ketika seorang pengguna internet membuka dahulu server bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dlam format HTML ke web Browser pengguna internet tersebut. Dengan demikian seorang pengguna internet tidak dapat melihat kode program yang ditulis dalam PHP sehingga keamanan dari halaman web menjadi lebih terjamin.
PHP merupakan perangkat lunak yang gratis (open source) dan mempunyai
lintas platform yaitu dapat digunakan dengn sistem operasi dan web server apapun. PHP mampu berjalan di Windows dan beberapa versi Linux. PHP juga dapat
dibangun sebagai modul pada web server Apache dan sebagai binary yang dapat berjalan sebagai CGI (Commond Gate Interface), yaitu teknologi untuk menyajikan data yang bersifat dinamis.
PHP dapat mengirimkan HTTP header, dapat men set cookies, mengauthentication dan re-direct user. PHP menawarkan konektisitas dengan baik dengan beberapa basis data antara lain Oracle, Sybase, MySQL dan lain – lain (Ullman, 2003).
2.6.1. Keunggulan Pemograman PHP
Adapun keunggulan pemograman PHP seperti yang diungkapkan oleh Ullman (2003) adalah :
1. PHP memiliki tingkat akses yang lebih cepat dari pemograman yang berbasis web lainnya seperti ASP.
3. PHP mampu berjalan di beberapa server yag ada seperti : Apache, IIS (Internet Information System) dan lain – lain.
4. PHP mampu berjalan di Linux, Unix dan windows.
5. PHP juga mendukung akses ke beberapa database yang susah, antara lain MySQL, MSQL, dan Windows SQL Server.
Adapun bentuk penulisan Script PHP dapat dilihat pada tabel 2.5 dibawah ini :
Tabel 2.5 Penulisan Script PHP
Bentuk Diawali Diakhiri Contoh Standard <?php ?> <?php
……..
?> Singkat <? ?> <?
……..
?>
Script <Script=‟php‟> </script> <script language=‟php‟>
………