2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari...

29
BAB II KAJIAN PUSTAKA 2.1 Tinjauan Muktahir Adapun beberapa penelitian terdahulu yang terkait tentang pemanfaatan QR Code sebagai berikut : Penelitian yang dilakukan oleh Setyawan (2012), yang berjudul Perancangan Aplikasi Sistem Presensi Mahasiswa menggunakan QR Code Pada Sistem Operasi Android. Penelitian ini tentang sistem presensi mahasiswa menggunakan QR Code. QR Code yang dibuat nantinya dicetak seperti kartu. Ketika kehilangan kartu QR Code mahasiswa sulit melakukan presensi dan presensi bisa dilakukan jika mahasiswa menyimpan QR Code dalam format jpg. pada ponselnya. Sementara itu, Kusuma (2012), melakukan penelitian dengan judul Implementasi QR Code dan Algoritma Kriptografi AES Pada Pengamanan Keaslian Dokumen ”. Pada penelitian ini menghasilkan sebuah Sistem Implementasi QR Code yang dipadukan dengan algoritma enkripsi kriptografi AES sehingga data yang disimpan pada QR Code terjaga keasliannya. Hanya saja sistem ini memiliki keterbatasan dalam membaca QR Code yaitu menggunakan sistem operasi Android dan belum bisa dibaca menggunakan OS lain seperti Windows Phone. Penelitian lainnya dilakukan oleh Rahmawati, Rahman (2011), yang berjudul Sistem Pengamanan Keaslian Ijasah Menggunakan QR – Code dan Algoritma Base 64. Pada penelitian ini sistem pengamanan ijasah menggunakan QR-Code dan algritma enkripsi Base 64 yang di bangun dalam penelitian ini telah dapat meng-generate QR-Code berdasarkan nomor ijasah yang telah dienkripsi, mencetak ijasah dan membaca image QR-Code melalui webcam serta mendeteksi validasi data ijasah dengan baik. Berdasarkan kajian dalam penelitian terdahulu, maka dalam penelitian ini akan dibangun suatu prototype untuk pengamanan perizinan KIR yang diimplementasikan dengan QR Code, yang akan memberikan kemudahan untuk identifikasi dan juga meminimalkan terjadinya pemalsuan mengenai izin sebuah 1

Transcript of 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari...

Page 1: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

BAB II

KAJIAN PUSTAKA

2.1 Tinjauan Muktahir

Adapun beberapa penelitian terdahulu yang terkait tentang pemanfaatan QR

Code sebagai berikut :

Penelitian yang dilakukan oleh Setyawan (2012), yang berjudul

“Perancangan Aplikasi Sistem Presensi Mahasiswa menggunakan QR Code Pada

Sistem Operasi Android. Penelitian ini tentang sistem presensi mahasiswa

menggunakan QR Code. QR Code yang dibuat nantinya dicetak seperti kartu.

Ketika kehilangan kartu QR Code mahasiswa sulit melakukan presensi dan

presensi bisa dilakukan jika mahasiswa menyimpan QR Code dalam format jpg.

pada ponselnya.

Sementara itu, Kusuma (2012), melakukan penelitian dengan judul

“Implementasi QR Code dan Algoritma Kriptografi AES Pada Pengamanan

Keaslian Dokumen ”. Pada penelitian ini menghasilkan sebuah Sistem

Implementasi QR Code yang dipadukan dengan algoritma enkripsi kriptografi

AES sehingga data yang disimpan pada QR Code terjaga keasliannya. Hanya saja

sistem ini memiliki keterbatasan dalam membaca QR Code yaitu menggunakan

sistem operasi Android dan belum bisa dibaca menggunakan OS lain seperti

Windows Phone.

Penelitian lainnya dilakukan oleh Rahmawati, Rahman (2011), yang

berjudul Sistem Pengamanan Keaslian Ijasah Menggunakan QR – Code dan

Algoritma Base 64. Pada penelitian ini sistem pengamanan ijasah menggunakan

QR-Code dan algritma enkripsi Base 64 yang di bangun dalam penelitian ini telah

dapat meng-generate QR-Code berdasarkan nomor ijasah yang telah dienkripsi,

mencetak ijasah dan membaca image QR-Code melalui webcam serta mendeteksi

validasi data ijasah dengan baik.

Berdasarkan kajian dalam penelitian terdahulu, maka dalam penelitian ini

akan dibangun suatu prototype untuk pengamanan perizinan KIR yang

diimplementasikan dengan QR Code, yang akan memberikan kemudahan untuk

identifikasi dan juga meminimalkan terjadinya pemalsuan mengenai izin sebuah

1

Page 2: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

2

kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak

kendaraan bermotor, dengan tampilan visual yang lebih menarik, mudah dalam

penggunaannya dan dapat digunakan secara offline maupun online melalui media

internet. Perbedaan penelitian ini dengan penelitian lainya yang membahas

pemaanfaat QR Code untuk identifikasi keaslian yaitu terletak pada algoritma

enkripsi yang digunakan dimana sudah banyak yang menggunakan algoritma

simetris dan belum pernah ada yang menggunakan algoritma enkripsi 3DES.

Algoritma enkripsi 3DES merupakan algoritma simetris dengan kunci panjang

yaitu 165-bit dimana lebih panjang dari kunci algoritma enkripsi simetris lainnya.

2.2 Tinjauan Pustaka

2.2.1 Proses Pengembangan Perangkat Lunak

Proses pengembangan perangkat lunak (Software development process)

adalah suatu struktur yang diterapkan pada pengembangan suatu produk

perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan

panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem

melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-

masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang

terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara

lain adalah proses iteratif, extream programming, waterfall serta agile.

Pengembangan perangkat lunak (juga disebut pengembangan

aplikasi, desain perangkat lunak, merancang perangkat lunak, pengembangan

aplikasi perangkat lunak. Pengembangan aplikasi perusahaan, atau pengembangan

platform) adalah pengembangan suatu produk perangkat lunak. Istilah

“pengembangan perangkat lunak” bisa dipakai untuk menyebut aktivitas

pemrograman komputer, yaitu proses menulis dan mengelola kode sumber, namun

dalam artian luas istilah ini mencakup semua hal yang terlibat antara penciptaan

perangkat lunak yang diinginkan melalui pewujudan akhir perangkat lunak,

idealnya dalam proses yang terencana dan terstruktur. Karena itu, pengembangan

perangkat lunak bisa mencakup penelitian, pengembangan baru, purwarupa,

modifikasi, pemakaian kembali, rekayasa ulang, pengelolaan, atau aktivitas lain

yang menghasilkan produk perangkat lunak.

Page 3: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

3

Gambar 2.1 model waterfall

Berikut ini adalah penjelasan dari gambar 2.1 proses pengembangan perangkat

lunak model waterfall

1. Rekayasa sistem dan Analisis (Sistem Engineering and Analysis)

Karena perangkat lunak adalah bagian dari sistem yang lebih besar,

pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan untuk seluruh

elemen sistem dan kemudian memilah mana yang untuk pengembangan

perangkat lunak. Hal ini penting, ketika perangkat lunak harus

berkomunikasi dengan hardware, orang dan basis data

2. Analisis kebutuhan perangkat lunak (Software Requirements Analysis)

Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi,

Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan

antarmuka. Hasilnya harus didokumentasi dan direview ke pelanggan.

3. Perancangan (Design)

Page 4: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

4

Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat

lunak, Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah

kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti

perangkat lunak sebelum dimulai penulisan program. Desain ini harus

terdokumentasi dengan baik dan menjadi bagian konfigurasi perangkat

lunak.

4. Pembuatan kode (Coding)

Penerjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin,

dengan menggunakan bahasa pemrograman

5. Pengujian (Testing)

Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan

pada logika internal dari perangkat lunak, fungsi eksternal dan mencari

segala kemungkinan kesalahan dan memeriksa apakah sesuai dengan hasil

yang diinginkan.

6. Pemeliharaan (Maintenance)

Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan

setelah perangkat lunak dipergunakan :

• Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak,

yang baru terdeteksi pada saat perangkat lunak dipergunakan.

• Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya

sistem operasi atau sebagai tuntutan atas perkembangan sistem

komputer, misalnya penambahanprinter driver.

• Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh

pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya

seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan

sebagainya.

2.2.2 Perangkat Pemodelan Sistem

2.2.2.1 DFD Data Flow Diagram

Data Flow Diagram (DFD) adalah alat pembuatan model yang

memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu

jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data,

Page 5: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

5

baik secara manual maupun komputerisasi. DFD ini sering disebut juga dengan

nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model

fungsi. DFD ini adalah salah satu alat pembuatan model yang sering digunakan,

khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan

kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD

adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi

sistem. DFD ini merupakan alat perancangan sistem yang berorientasi pada alur

data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa

maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem

kepada pemakai maupun pembuat program (Shelly dan Rosenblatt, 2009).

Gambar 2.2 Komponen DFD(sumber : Shelly dan Rosenblatt, 2009)

Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang

sedang dikembangkan. Biasanya terminator dikenal dengan nama entitas luar

(external entity). Terdapat dua jenis terminator :

1 Terminator Sumber (source) : merupakan terminator yang menjadi sumber.

2 Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan data /

informasi sistem.

Page 6: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

6

Terminator dapat berupa orang, sekelompok orang, organisasi, departemen

di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang

sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau

sistem di luar sistem yang berkomunikasi dengan sistem yang sedan

dikembangkan Komponen proses menggambarkan bagian dari sistem yang

mentransformasikan input menjadi output. Ada empat kemungkinan yang dapat

terjadi dalam proses sehubungan dengan input dan output :

Ada beberapa hal yang perlu diperhatikan tentang proses :

Proses harus memiliki input dan output.

Proses dapat dihubungkan dengan komponen terminator, data store atau

proses melalui alur data.

Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional

sistem digambarkan dengan komponen proses.

Berikut ini merupakan suatu contoh proses yang salah :

Gambar 2.3 Proses DFD(sumber : Shelly dan Rosenblatt.2009).

Umumnya kesalahan proses di DFD adalah :

1 Proses mempunyai input tetapi tidak menghasilkan output. Kesalahan ini

disebut dengan black hole (lubang hitam), karena data masuk ke dalam proses

dan lenyap tidak berbekas seperti dimasukkan ke dalam lubang hitam.

Page 7: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

7

2 Proses menghasilkan output tetapi tidak pernah menerima input. Kesalahan ini

disebut dengan miracle (ajaib), karena ajaib dihasilkan output tanpa pernah

menerima input

3 Data store ini biasanya berkaitan dengan penyimpananpenyimpanan, seperti

file atau database yang berkaitan dengan penyimpanan secara komputerisasi,

misalnya file disket, file harddisk, file pita magnetik. Data store juga berkaitan

dengan penyimpanan secara manual seperti buku alamat, file folder, dan

agenda.

Suatu data store dihubungkan dengan alur data hanya pada komponen proses,

tidak dengan komponen DFD lainnya. Alur data yang menghubungkan data store

dengan suatu proses mempunyai pengertian sebagai berikut :

1 Alur data dari data store yang berarti sebagai pembacaan atau pengaksesan

satu paket tunggal data, lebih dari satu paket data, sebagian dari satu paket

tunggal data, atau sebagian dari lebih dari satu paket data untuk suatu proses.

2 Alur data ke data store yang berarti sebagai pengupdatean data, seperti

menambah satu paket data baru atau lebih, menghapus satu paket atau lebih,

atau mengubah/memodifikasi satu paket data atau lebih. Pada pengertian

pertama jelaslah bahwa data store tidak berubah, jika suatu paket

data/informasi berpindah dari data store ke suatu proses. Sebaliknya pada

pengertian kedua data store berubah sebagai hasil alur yang memasuki data

store. Dengan kata lain, proses alur data bertanggung jawab terhadap

perubahan yang terjadi pada data store.

2.2.2.2 Komponen Data Flow / Alur Data

Suatu data flow / alur data digambarkan dengan anak panah, yang

menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini

digunakan untuk menerangkan perpindahan data atau paket data/informasi dari

satu bagian sistem ke bagian lainnya. Selain menunjukkan arah, alur data pada

model yang dibuat oleh profesional sistem dapat merepresentasikan bit, karakter,

pesan, formulir, bilangan real, dan macam-macam informasi yang berkaitan

dengan komputer. Alur data juga dapat merepresentasikan data/informasi yang

tidak berkaitan dengan komputer.

Page 8: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

8

1. Konsep Paket Data (Packets of Data)

Apabila dua data atau lebih mengalir dari suatu sumber yang sama menuju

ke tujuan yang sama dan mempunyai hubungan, dan harus dianggap

sebagai satu alur data tunggal, karena data itu mengalir bersama-sama

sebagai satu paket.

2. Konsep Alur Data Menyebar (Diverging Data Flow)

Alur data menyebar menunjukkan sejumlah tembusan paket data yang

yang berasal dari sumber yang sama menuju ke tujuan yang berbeda, atau

paket data yang elemen data yang dikirim ke tujuan yang berbeda, atau

alur data ini membawa paket data yang memiliki nilai yang berbeda yang

akan dikirim ke tujuan yang berbeda.

3. Konsep Alur Data Mengumpul (Converging Data Flow)

Beberapa alur data yang berbeda sumber bergabung bersamasama menuju

ke tujuan yang sama.

4. Konsep Sumber atau Tujuan Alur Data

Semua alur data harus minimal mengandung satu proses. Maksud kalimat

ini adalah :

1 Suatu alur data dihasilkan dari suatu proses dan menuju ke suatu data

store dan/atau terminator

2 Suatu alur data dihasilkan dari suatu data store dan/atau terminator

dan menuju ke suatu proses.

3 Suatu alur data dihasilkan dari suatu proses dan menuju ke suatu

proses.

Page 9: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

9

Gambar 2.4 Konsep sumber atau tujuan alur data(sumber : Shelly dan Rosenblatt, 2009)

2.2.2.3 Bentuk Data Flow Diagram

Terdapat dua bentuk DFD, yaitu Diagram Alur Data Fisik, dan Diagram

Alur data Logika. Diagram alur data fisik lebih menekankan pada bagaimana

proses dari sistem diterapkan, sedangkan diagram alur data logika lebih

menekankan proses-proses apa yang terdapat di sistem.

1 Diagram Alur Data Fisik (DADF)

DADF lebih tepat digunakan untuk menggambarkan sistem yang ada (sistem

yang lama). Penekanan dari DADF adalah bagaimana proses-proses dari

sistem diterapkan (dengan cara apa, oleh siapa dan dimana), termasuk proses-

proses manual.

Untuk memperoleh gambaran bagaimana sistem yang ada diterapkan, DADF

harus memuat :

Proses-proses manual juga digambarkan.

Nama dari alur data harus memuat keterangan yang cukup terinci untuk

menunjukkan bagaimana pemakai sistem memahami kerja sistem.

Simpanan data dapat menunjukkan simpanan non komputer.

Page 10: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

10

Nama dari simpanan data harus menunjukkan tipe penerapanna apakah

secara manual atau komputerisasi. Secara manual misalnya dapat

menunjukkan buku catatat, meja pekerja. Sedang cara komputerisasi

misalnya menunjukkan file urut, file database.

Proses harus menunjukkan nama dari pemroses, yaitu orang, departemen,

sistem komputer, atau nama program komputer yang mengakses proses

tersebut.

2.2.3 QR Code (Quick Response Code)

QR Code (Quick Response Code) merupakan teknik yang mengubah data

tertulis menjadi kode-kode 2-dimensi yang tercetak kedalam suatu media yang

lebih ringkas. QR-Code adalah barCode 2-dimensi yang diperkenalkan pertama

kali oleh perusahan Jepang Denso-Wave pada tahun 1994. BarCode ini pertama

kali digunakan untuk pendataan invertaris produksi suku cadang kendaraan dan

sekarang sudah digunakan dalam berbagai bidang. QR adalah singkatan dari

Quick Renponse karena ditujukan untuk diterjemahkan isinya dengan cepat. QR-

Code merupakan pengembangan dari barCode satu dimensi, QR-Code salah satu

tipe dari barCode yang dapat dibaca menggunakan kamera handphone.

QR-Code mampu menyimpan semua jenis data, seperti data

angka/numerik, alphanumerik, biner, kanji/kana. Selain itu QR-Code memiliki

tampilan yang lebih kecil daripada barCode. Hal ini dikarenakan QR-Code

mampu menampung data secara horizontal dan vertikal, jadi secara otomatis

ukuran dari tampilannya gambar QR-Code bisa hanya sepersepuluh dari ukuran

sebuah barcode. Tidak hanya itu QR-Code juga tahan terhadap kerusakan, sebab

QR Code mampu memperbaiki kesalahan sampai dengan 30% tergantung dengan

ukuran atau versinya. Oleh karena itu, walaupun sebagian simbol QR-Code kotor

ataupun rusak, data tetap dapat disimpan dan dibaca. Tiga tanda berbentuk persegi

di tiga sudut memiliki fungsi agar simbol dapat dibaca dengan hasil yang sama

dari sudut manapun (Wave,2010).

Page 11: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

11

Gambar 2.5 QR Code.(Sumber: Rahmawati dan Rahman, 2011)

QR Code dapat menampung data berupa:

1. Angka / Numerik : Maksimal 7.089 karakter

2. Alphanumerik : Maksimal 4.296 karakter

3. Bineri : Maksimal 2.844 byte

4. Kanji / Kana : 1.817 karakter

5. Koreksi kesalahan : Level L = 7%,Level M = 15%,Level Q = 25%,

Level H = 30%

Gambar 2.6 Detail QR Code.(Sumber: Rahmawati dan Rahman, 2011)

Penjelasan rinci mengenai QR-Code pada gambar 2.4 adalah:

1. Position detection patterns: Posisi pola deteksi diatur pada tiga sudut kode

QR, posisi dari kode QR terdeteksi dengan pola deteksi posisi yang

Page 12: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

12

memungkinkan kecepatan tinggi membaca dan dapat dibaca dari segala

arah.

2. Margin: Ini adalah area kosong di sekitar kode QR dan membutuhkan

margin sebesar empat modul.

3. Timing pattern: Modul putih dan modul hitam diatur secara bergantian

untuk menentukan koordinat, pola waktu ditempatkan di antara dua pola

deteksi posisi dalam kode QR.

4. Format Information: Informasi format dibaca pertama ketika kode tersebut

diterjemahkan.

2.2.3.1 Versi Simbol QR Code

Versi simbol QR-Code berkisar dari Versi 1 ke Versi 40. Setiap versi

memiliki konfigurasi modul yang berbeda atau jumlah modul (Modul ini mengacu

pada titik-titik hitam dan putih yang membentuk QR-Code). Konfigurasi Modul

mengacu pada jumlah modul yang terkandung dalam simbol, dimulai dengan

Versi 1 (21 x 21 modul) sampai ke Versi 40 (177 x 177 modul). Setiap nomor

versi lebih tinggi terdiri dari 4 modul tambahan per samping.

Gambar 2.7 Versi Simbol QR Code(Sumber: Rahmawati dan Rahman, 2011)

Setiap versi simbol QR-Code memiliki kapasitas data yang sesuai dengan

jumlah data, jenis karakter dan tingkat kesalahan koreksi. Untuk pemeriksaan data

dengan kapasitas maksimum ditentukan pada setiap versinya. Untuk versi dan

kapasitas data maksimum, maka jumlah data dan modul akan meningkat sehingga

simbol QR-Code semakin besar ( Rahmawati dan Rahman, 2011).

2.2.3.2 Koreksi Kesalahan QR Code

Page 13: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

13

QR Code memiliki kemampuan mengoreksi kesalahan untuk

mengembalikan data jika kode kotor atau rusak. Empat tingkat kesalahan koreksi

yang tersedia bagi pengguna, tingkatan ini mampu mengoreksi kesalahan pada

QR-Code. Faktor lingkungan dan ukuran QR-Code perlu dipertimbangkan untuk

mengetahui tingkat kesalahan. Tingkat Q atau H dapat dipilih jika kondisi

lingkungan kotor yang akan menyebabkan QR-Code mengalami kerusakan,

sedangkan tingkat L dapat dipilih jika kondisi lingkungan bersih dengan jumlah

data yang besar. Tingkat M adalah tingkat yang paling sering digunakan.

Berikut tabel koreksi kesalahan QR-Code:

Tabel 2.1 Koreksi Kesalahan pada QR Code

Kapasitas Koreksi Kesalahan pada QR CodeLevel L Dapat mengoreksi kesalahan sampai 7%Level M Dapat mengoreksi kesalahan sampai 15%Level Q Dapat mengoreksi kesalahan sampai 25% Level H Dapat mengoreksi kesalahan sampai 30%

(Sumber: Rahmawati dan Rahman, 2011)

2.2.3.3 Kelebihan QR Code

Beberapa kelebihan dalam menggunakan QR Code adalah sebagai berikut:

1. Dibandingkan dengan barCode dua dimensi lain yang ada (misalnya:

Datamatrix, PDF417 dan lain-lain) QR Code mampu menyimpan informasi

cukup banyak (maksimum 4296 karakter untuk alfanumerik atau 7089 digit

numerik). Sebagai ilustrasi, barCode satu dimensi standar yang banyak

digunakan hanya mampu menampung informasi sebanyak 20 digit.

2. Memiliki kemampuan error correction. Data dapat diperbaiki meskipun QR

Code mengalami kerusakan atau kotor sebagian.

3. Proses pembacaan yang cepat karena tidak harus dibaca dalam posisi sudut

tertentu seperti halnya barCode satu dimensi.

4. Lebih murah jika dibandingkan dengan media penyimpanan smartcard

berbasis chip ( Rahmawati dan Rahman, 2011).

1.2.4 Algoritma Enkripsi 3 DES

Page 14: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

14

3DES (Triple Data Encryption Standard) merupakan suatu algoritma

pengembangan dari algoritma DES (Data Encryption Standard). Pada dasarnya

algoritma yang digunakan sama, hanya pada 3DES dikembangkan dengan

melakukan enkripsi dengan implementasi algoritma DES sebanyak tiga kali.

3DES memiliki tiga buah kunci yang berukuran 168-bit (tiga kali kunci 56-bit dari

DES). Pada algoritma 3DES dibagi menjadi tiga tahap, setiap tahapnya

merupakan implementasi dari algoritma DES.Tahap pertama, plainteks yang

diinputkan dioperasikan dengan kunci eksternal pertama (K1) dan melakukan

proses enkripsi dengan menggunakan algoritma DES. Sehingga menghasilkan

pra-cipherteks pertama. Tahap kedua, pra-cipherteks pertama yang dihasilkan

pada tahap pertama,kemudian dioperasikan dengan kunci eksternal kedua (K2)

dan melakukan proses enkripsi atau proses dekripsi (tergantung cara

pengenkripsian yang digunakan) dengan menggunakan algoritma DES. Sehingga

menghasilkan prs-cipherteks kedua. Tahap terakhir, pra-cipherteks kedua yang

dihasilkan pada tahap kedua, dioperasikan dengan kunci eksternal ketiga (K3) dan

melakukan proses enkripsi dengan menggunakan algoritma DES, sehingga

menghasilkan cipherteks (C) ( Hidayat, A. 2008).

Gambar 2.8 Algoritma 3DES (Sumber: Hidayat, 2008 )

2.2.4.1 Pemilihan Kunci

Ada dua pilihan untuk pemilihan kunci eksternal algoritma 3DES, yaitu:

1. K1, K2, dan K3 adalah kunci-kunci yang saling bebas

K1 ≠ K2 ≠ K3 ≠ K1

Page 15: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

15

2. K1 dan K2 adalah kunci-kunci yang saling bebas, dan K3 sama dengan K1

K1 ≠ K2 dan K3 = K1

2.2.4.2 Proses Enkripsi dan Dekripsi

Proses enkripsi dan dekripsi algoritma 3DES dapat dicapai dengan beberapa cara,

yaitu:

Tabel 2.2 Cara Enkripsi dan Deskripsi

Cara Enkripsi Deskripsi

1 DES – EDE2K1 ≠ K2, K3 = K1

C = E [D {E (P, K1), K2}, K3

DES – DED2 K1 ≠ K2, K3 = K1

P = D [E {D (C, K3), K2}, K1]

2 DES – EEE2K1 ≠ K2, K3 = K1

C = E [E {E (P, K1), K2}, K3]

DES – DDD2K1 ≠ K2, K3 = K1

P = D [D {D (C, K3), K2}, K1]

3 3 DES – EDE3

K1 ≠ K2 ≠ K3 ≠ K1

C = E [D {E (P, K1), K2}, K3]

DES – DED3

K1 ≠ K2 ≠ K3 ≠ K1

P = D [E {D (C, K3), K2}, K1]

4 DES – EEE3K1 ≠ K2 ≠ K3 ≠ K1

C = E [E {E (P, K1), K2}, K3]

DES – DDD3K1 ≠ K2 ≠ K3 ≠ K1

P = D [D {D (C, K3), K2}, K1]

(Sumber : Hidayat, 2008)

2.2.5 Basis Data

Basis data (atau database) adalah kumpulan informasi yang disimpan di

dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu

program komputer untuk memperoleh informasi dari basis data tersebut.

Database digunakan untuk menyimpan informasi atau data yang terintegrasi

dengan baik di dalam komputer. Untuk mengelola database diperlukan suatu

perangkat lunak yang disebut DBMS (Data-base Management System). DBMS

merupakan suatu sistem perangkat lunak yang memungkinkan user (pengguna)

untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis

dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan memanipulasi

data yang ada. DBMS merupakan salah satu jenis dari RDBSM yang mendukung

adanya relationship atau hubungan antar tabel. Di samping RDBMS, terdapat

jenis DBMS lain, misalnya Hierarchy DBMS, Object Ori-ented DBMS, dan

Page 16: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

16

lainya. Dalam konsep database, urutan atau hierarki database sangatlah penting.

Urutan atau hi-erarki database digambarkan dalam gambar sbb:

Gambar 2.9 Hirarki Database( Sumber : Pratama, 2013 ).

2.2.5.1 DBMS (Database Management System)

Database Management System adalah seperangkat program yang

memungkinkan Anda untuk menyimpan, memodifikasi dan mengekstrak

informasi dari sebuah basis data. Juga dapat untuk menambah, menghapus,

mengakses, memodifikasi, dan menganalisis data yang disimpan dalam satu

lokasi. Grup A dapat mengakses data dengan menggunakan query dan alat

pelaporan yang merupakan bagian dari DBMS atau dengan menggunakan

program aplikasi khusus ditulis untuk mengakses data.DBMS ini juga

menyediakan metode untuk menjaga integritas data yang tersimpan,sistem

keamanandan memulihkan data jika sistem gagal. Informasi dari database dapat

disajikan dalam berbagai format. Kebanyakan DBMS termasuk program penulis

laporan yang memungkinkan Anda mengaksesoutput data dalam bentuk laporan.

Banyak DBMS juga termasuk komponen grafis yang memungkinkan Anda

mengakses output informasi dalam bentuk grafik dan diagram ( Pratama. 2013 ).

Page 17: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

17

Gambar 2.10 DBSM( Sumber : Pratama, 2013 ).

2.2.5.2 MySQL

MySQL adalah sebuah implementasi dari sistem manajemen basis

datarelasional (RDBMS) yang didistribusikan secara gratis di bawahlisensi GPL

(General Public License). Setiap pengguna dapat secara bebas menggunakan

MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan

produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan

salah satu konsep utama dalam basis datayang telah ada sebelumnya; SQL

(Structured Query Language). SQL adalahsebuah konsep pengoperasian basis

data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang

memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem basis data (DBMS) dapat diketahui dari cara

kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang

dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya.

Sebagai peladen basis data, MySQL mendukung operasi basis datatransaksional

maupun operasi basis datanon-transaksional. Pada modus operasi non-

transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja

dibandingkan perangkat lunak peladen basis datakompetitor lainnya. Namun

demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas

terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok

untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi

blogging berbasis web (Wordpress), CMS, dan sejenisnya. Untuk kebutuhan

sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus

basis datatransaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL

pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional

(Sudarma, 2010).

Page 18: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

18

MySQL memiliki beberapa keistimewaan, antara lain:

1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi

seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan

masih banyak lagi.

2. Perangkat lunak sumber terbuka. MySQL didistribusikan

sebagaiperangkat lunak sumber terbuka, di bawahlisensiGPLsehingga

dapat digunakan secara gratis.

3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam

waktu yang bersamaan tanpa mengalami masalah atau konflik.

4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan

dalam menangani query sederhana, dengan kata lain dapat memproses

lebih banyak SQL per satuan waktu.

5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,

seperti signed / unsigned integer, float, double, char, text, date, timestamp,

dan lain-lain.

6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh

yang mendukung perintah Select dan Where dalam perintah (query).

7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti

levelsubnet mask, namahost, dan izin aksesuserdengan sistem perizinan

yang mendetail serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data

dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan

60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat

ditampung mencapai 32 indeks pada tiap tabelnya.

9. Konektivitas. MySQL dapat melakukan koneksi dengan klien

menggunakan protokolTCP/IP, UNIXsoket (UNIX), atauNamed Pipes

(NT).

10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan

menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa

Indonesia belum termasuk di dalamnya.

Page 19: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

19

11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai

aplikasi dan bahasa pemrograman dengan menggunakan fungsi API

(Application Programming Interface).

12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)

yangdapat digunakan untuk administrasi basis data, dan pada setiap

peralatan yang ada disertakan petunjuk online.

13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel

dalam menangani ALTER TABLE, dibandingkan basis data lainnya

semacam PostgreSQL ataupun Oracle (Sudarma, 2010).

2.2.6 Android

Android adalah sistem operasi berbasis Linux yang dipergunakan sebagai

pengelola sumber daya perangkat keras, baik untuk ponsel, smartphone dan juga

PC tablet. Secara umum Android adalah platform yang terbuka (Open Source)

bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk

digunakan oleh berbagai piranti bergerak. Semenjak kehadirannya pada 9 Maret

2009, Android telah hadir dengan versi 1.1, yaitu sistem operasi yang sudah

dilengkapi dengan pembaruan estetis pada apalikasinya, seperti jam alarm, voice

search, pengiriman pesan dengan Gmail, dan pemberitahuan email. Hingga tahun

2012, Android telah berkembang dengan pesat. Dalam kurun 3 tahun Android

telah diproduksi dalam versi, dan versi terakhir yang diproduksi disebut sebagai

Android Lolipop.

Android SDK adalah tools API (Application Programming Interface) yang

dipergunakan untuk mulai mengembangkan aplikasi pada platform Android

menggunakan bahasa pemrograman Java (Khannedy, 2012).

Beberapa fitur Android yang paling penting :

1. Framework, aplikasi yang mendukung pengantian komponen dan reuseble

2. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile

3. Integrated browser berdasarkan engine open source Webkit

4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D

berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware)

5. SQLite untuk penyimpanan data

Page 20: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

20

6. Media support yang mendukung audio, video dan gambar (MPEG4,

H.264,

7. MP3,AAC, AMR, JPG, PNG, GIF), GSM telephony (tergantung

hardware)

8. Bluetooth, EDGE, 3G dan WiFi (tergantung hardware)

9. Kamera, GPS, kompas dan accelerometer (tergantung hardware)

ADK (ANDROID DEVELOPMENT TOOLS) adalah plugin yang

didesain untuk IDE Eclipse yang memberikan kemudahan dalam aplikasi Android

menggunakan IDE Eclipse. Dengan ADT kita dapat melakukan pembuatan

package Android (.apk) yang digunakan untuk distribusi aplikasi Android yang

kita rancang semakin tinggi platform Android yang kita gunakan, dianjurkan

menggunakan ADT yang lebih terbaru, karena biasanya munculnya platform baru

diikuti oleh munculnya versi ADT terbaru (Khannedy, 2012).

2.2.6.1 Java

Java adalah bahasa pemrograman berorientasi objek murni yang dibuat

berdasarkan kemampuan-kemampuan terbaik bahasa pemrograman objek

sebelumnya (C++, Ada, Simula). Java diciptakan oleh James Gosling, developer

dari Sun Microsystems pada tahun 1991 (Hakim dan Sutarto, 2009).

Karakteristik Java antara lain :

1. Sederhana (Simple)

2. Berorientasi Objek (Object Oriented)

3. Terdistribusi (Distributed)

4. Interpreted

5. Robust

6. Aman (Secure)

7. Architecture Neutral

8. Portable

9. Performance

10. Multithreaded

11. Dinamis

Page 21: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

21

Macam-macam Java 2 Software Developer Kit (J2SDK) antara lain :

1. J2SE (Java 2 Standard Edition)

2. J2EE (Java 2 Enterprise Edition)

3. J2ME (Java 2 Micro Edition)

Gambar 2.11 Cara Kerja Java(Sumber : Novyanto, 2010).

Java mempunyai platform yaitu :

1. Java Virtual Machine (Java VM)

2. Java Application Programming Interface (Java API)

Gambar 2.12 Platform Java(Sumber : Novyanto, 2010).

Page 22: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

22

Aplikasi-aplikasi java antara lain :

1. Stand alone

2. Applets

3. Aplikasi berbasis Windows (GUI)

4. Java Servlet

5. Java Server Pages (JSP)

6. Java Beans dan Enterprise Java Beans

7. Java Micro Edition ( Novyanto, 2010 ).

2.2.7 Konsep pemrograman berbasis web dengan PHP

PHP merupakan singkatan rekursif (akronim berulang) dari PHP Hypertext

Preprocessor. PHP adalah bahasa pemrograman script yang paling banyak dipakai

saat ini atau dalam kata lain bisa diartikan sebuah bahasa pemrograman web yang

bekerja di sisi server ( server side scripting) yang dapat melakukan konektifitas

pada database yang di mana hal itu tidak dapat dilakukan hanya dengan

menggunakan sintaks-sintaks HTML biasa (Anugrah, 2010). PHP banyak dipakai

untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan

digunakan untuk pemakaian lain (Triswansyah, 2009).

Gambar 2.13 Pengaksesan database melalui web menggunakan PHP

Konsep pemrograman PHP sedikit berbeda dengan pemrograman dengan

menggunakan script CGI yang memaksa untuk menulis kode yang menghasilkan

keluaran dalam format HTML. Pada PHP, penyisiapan kode ditulis secara bebas

setiap ada permintaan terhadap halaman tersebut. Interpreter PHP dalam

mengeksekusi script code PHP pada sisi server, dan output dalam bentuk

dokumen HTML. Secara diagram dapat dilihat pada Gambar 2.12.

Page 23: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

23

Gambar 2.14 Proses eksekusi kode PHP.

Keterangan gambar :

1. Client melakukan permintaan data ke web server.

2. Web server melakukan pengecekan ke skrip php.

3. Skrip php diolah di mesin php.

4. Skrip php yang berada diantara skrip HTML dieksekusi di server

5. Client menerima hasil eksekusi php di server berupa informasi dalam

dokumen HTML.

2.2.8 Web Service

Web service adalah suatu sistem perangkat lunak yang dirancang untuk

mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web

service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site

untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain,

sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-

layanan (service) yang disediakan oleh suatu sistem yang menyediakan web

service. Web service menyimpan data informasi dalam format XML, sehingga

data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi,

maupun bahasa compiler.

Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram

dan perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat

dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang

terdapat di dalamnya (Faisal, 2010).

Page 24: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

24

Beberapa alasan mengapa digunakannya web service adalah sebagai

berikut:

1. Web service dapat digunakan untuk mentransformasikan satu atau beberapa

bisnis logic atau class dan objek yang terpisah dalam satu ruang lingkup yang

menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.

2. Web service memiliki kemudahan dalam proses deployment-nya, karena tidak

memerlukan registrasi khusus ke dalam suatu sistem operasi. Web service

cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang telah

diberikan otorisasi.

3. Web service berjalan di port 80 yang merupakan protokol standar HTTP,

dengan demikian web service tidak memerlukan konfigurasi khusus di sisi

firewall. (Utama, 2012).

Arsitektur Web Service

Web service memiliki tiga entitas dalam arsitekturnya, yaitu:

1. Service Requester (peminta layanan)2. Service Provider (penyedia layanan)3. Service Registry (daftar layanan)

Gambar 2.15 Arsitektur Web service(Sumber :Utama, 2012)

Pada gambar diatas dapat di jelaskan sebagai berikut :

1. Service Provider: Berfungsi untuk menyediakan layanan/service dan

mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.

2. Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan

semua layanan/service yang telah di-register.

Page 25: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

25

3. Service Requestor: Peminta layanan yang mencari dan menemukan

layanan yang dibutuhkan serta menggunakan layanan tersebut.

Operasi-Operasi Web Service

Secara umum, web service memiliki tiga operasi yang terlibat di

dalamnya, yaitu:

1. Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari

registry.

2. Find: Service requestor mencari dan menemukan layanan yang

dibutuhkan.

3. Bind: Service requestor setelah menemukan layanan yang dicarinya,

kemudian melakukan binding ke service provider untuk melakukan interaksi

dan mengakses layanan/service yang disediakan oleh service provider.

2.2.8.1 JSON

JSON (JavaScript Object Notation ) adalah format pertukaran data yang

ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan

dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari

Bahasa Pemograman JavaScript. JSON meupakan format teks yang tidak

bergantung pada Bahasa pemograman apapun karena menggunakan gaya Bahasa

yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java,

JavaScript, Perl, Python dan lain-lain. Oleh karena sifat-sifat tersebut menjadikan

JSON ideal sebagai Bahasa pertukaran data. Adapun struktur penulisan JSON

sebegai berikut:

1. Kumpulan pasangan nama/nilai. Pada beberapa Bahasa, hal ini dinyatakan

sebagai objek (object), rekaman (record), struktur (struct), kamus

(dictionary), tabel hash (hash table), daftar terkunci (keyed list) atau

associative array.

2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan Bahasa,

hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list) atau

urutan (sequence).

Page 26: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

26

Struktur – struktur data tersebut dikenal sebagai strktur data universal. Pada

dasarnya, semua Bahasa pemograman modern mendukung struktur data ini dalam

bentuk yang sama maupun berlainan (Kasman, 2013).

2.2.9 Metode pengujian perangkat lunak

Pengujian perangkat lunak merupakan tahapan dalam proses

pengembangan perangkat lunak. Fungsi dari pengujian perangkat lunak ini adalah

untuk memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal

dan mencari segala kemungkinan kesalahan dan memeriksa apakah sesuai dengan

hasil yang diinginkan.

2.2.9.1 Metode Black Box

Metode black box memungkinkan perekayasa perangkat lunak

mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua

persyaratan fungsional untuk suatu program.

Black Box dapat menemukan kesalahan dalam kategori berikut:

1. Fungsi-fungsi yang tidak benar atau hilang

2. Kesalahan interface

3. Kesalahan dalam strutur data atau akses basisdata eksternal

4. Inisialisasi dan kesalahan terminasi

5. validitas fungsional

6. kesensitifan sistem terhadap nilai input tertentu

7. batasan dari suatu data

Gambar 2.17 Sistem kerja dari Teknik Pengujian Black Box(sumber: Rouf, 2012)

2.2.9.2 Tipe dari Black Box Testing

Adapun beberapa tipe dari black box testing adalah sebagai berikut.

Page 27: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

27

1. Equivalence Class Testing

a. Bagi domain Input ke dalam beberapa kelas yang nantinya akan

dijadikan sebagai kasus uji

b. kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus

uji

c. Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak

valid

d. kondisi input bisa merupakan suatu range, harga khusus, suatu

himpunan, atau suatu boolean

e. Bila kondisi input berupa suatu range, maka input kasus ujinya satu

valid dan dua yang invalid

f. Bila kondisi input berupa suatu harga khusus, maka input kasus ujinya

satu valid dan dua yang invalid

g. Bila kondisi input berupa suatu anggota himpunan, maka input kasus

ujinya satu valid dan dua yang invalid

h. Bila kondisi input berupa suatu anggota Boolean , maka input kasus

ujinya satu valid dan dua yang invalid

2. Sample Testing

a. Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi

b. Integrasikan nilai tersebut ke dalam kasus uji

c. Nilai yang dipilih dapat berupa konstanta atau variabel Limit Testing

d. Kasus uji yang memproses nilai batas (atau titik singular)

e. Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang

sama atau mendekati nilai yang membatasi kelas akivalensi tersebut

f. Limit test also juga melibatkan data keluaran dari ekivalensi kelas

g. Pada kasus segi tiga, misalnya limit testing mencoba untuk mendeteksi

apakah a+b >= c dan bukan a + b > c

h. Bila kondisi input menentukan suatu range, maka kasus ujinya harus

mencakup pengujian nilai batas dari range dan nilai invalid yang dekat

Page 28: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

28

dengan nilai batas. Misal bila rangenya antara [-1.0, +1.0], maka input

untuk kasus ujinya adalah -1.0, 1.0, -1.001,1.001

i. Bila kondisi inputnya berupa harga khusus kasaus ujinya harus

mencakup nilai minimum dan maksimum. Misal suatu file dapat terdiri

dari 1 to 255 record, maka kasus ujinya harus mencakup untuk nilai 0, 1,

255 and 256, atau uji saat keadaan record kosong dan record penuh.

3. Robustness Testing

Data dipilih dari luar range yang didefinisikan. Tujuan pengujian ini

adalah untuk membuktikan tidak adanya kejadian yang katastropik yang

dihasilkan akibat adanya keabnormalan.

4. Behavior Testing

Suatu pengujian yang hasilnya hanya dapat dievaluasi per sub program,

tidak bisa dilakukan per modul

5. Requirement Testing

a. Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan modul /

CSU

b. Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya

melalui matriks keterunutuan.

Page 29: 2.1 Tinjauan Muktahir - sinta.unud.ac.id727523190... · 2 kendaraan bermotor. Saat petugas dari Dinas Perhubungan melakukan sidak kendaraan bermotor, dengan tampilan visual yang lebih

29