• Tidak ada hasil yang ditemukan

Perancangan Dan Implementasi Algoritma Enkripsi One Time Pad Untuk Sistem Keamanan Pembelian Dan Penjualan Produk Pada PT. Nuga Agara Internasional

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Dan Implementasi Algoritma Enkripsi One Time Pad Untuk Sistem Keamanan Pembelian Dan Penjualan Produk Pada PT. Nuga Agara Internasional"

Copied!
71
0
0

Teks penuh

(1)

PERANCANGAN DAN IMPLEMENTASI ALGORITMA

ENKRIPSI ONE TIME PAD UNTUK SISTEM

KEAMANAN PEMBELIAN DAN

PENJUALAN PRODUK PADA

PT. NUGA AGARA

INTERNASIONAL

SKRIPSI

ALEX CHANDRA HUTAURUK

081421019

PROGRAM STUDI EKSTENSI ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

ENKRIPSI ONE TIME PAD UNTUK SISTEM KEAMANAN PEMBELIAN DAN

PENJUALAN PRODUK PADA PT. NUGA AGARA

INTERNASIONAL

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

ALEX CHANDRA HUTAURUK 081421019

PROGRAM STUDI EKSTENSI ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

Judul PERANCANGAN DAN IMPLEMENTASI ALGORITMA ENKRIPSI ONE TIME PAD UNTUK SISTEM KEAMANAN PEMBELIAN DAN PENJUALAN PRODUK PADA PT. NUGA AGARA INTERNASIONAL

Kategori SKRIPSI

Nama ALEX CHANDRA HUTAURUK

Nomor Induk Mahasiswa 081421019

Program Studi SARJANA (S1) ILMU KOMPUTER

Departemen ILMU KOMPUTER

Fakultas MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Juli 2010

Komisi Pembimbing

Pembimbing 2 Pembimbing 1

Maya Silvi Lydia, B.Sc., M.Sc Syahril Efendi, S.Si, M.IT

NIP. 132 229 349 NIP. 132 148 612

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

PERANCANGAN DAN IMPLEMENTASI ALGORITMA ENKRIPSI ONE TIME PAD UNTUK SISTEM

KEAMANAN PEMBELIAN DAN PENJUALAN PRODUK PADA

PT. NUGA AGARA INTERNASIONAL

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2010

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa dengan limpah dan karunia-Nya, kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terima kasih saya sampaikan kepada bapak Syahril Efendi, S.Si, M.IT sebagai Dosen Pembimbing I dan ibu Maya Silvi Lydia, B.Sc., M.Sc sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas, padat dan profesional telah diberikan kepada saya sehingga saya dapat menyelesaikan tugas ini. Selanjutnya kepada Dosen Penguji Bapak Prof. Dr. Muhammad Zarlis dan Bapak Drs. Agus Salim Harahap, M.Si atas saran dan kritikan yang sangat berguna bagi saya. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si,MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Ilmu Komputer FMIPA USU.

Skripsi ini terutama saya persembahkan untuk kedua orang tua dan keluarga saya yang telah memberikan dukungan dan motivasi, ayahanda Jimmer Hutauruk dan ibunda Marlin Panjaitan yang selalu sabar dalam mendidik saya. Untuk kedua adik saya, Nova Andriani Hutauruk dan Sry Yanthi Hutauruk. Untuk Neli Kristina Sipayung yang selalu memberikan motivasi dan dorongan dalam menyelesaikan skripsi ini. Kepada Bapak Elo Hansen Panjaitan dan Bapak Choko Parulian Situmeang yang telah membantu saya dalam menyelesaikan penelitian dalam menganalisis selama menyelesaikan skripsi ini. Kepada teman-teman terbaik yang selalu memberikan dukungan, Andika, Truman, Mangatur, Jernita, Novita dan lain-lain yang tidak dapat saya sebutkan namanya satu per satu. Untuk teman-teman sekelas dan satu angkatan yang sedang berjuang tanpa patah semangat dan tiada putus harapan. Terima kasih kepada semua pihak-pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas ide, saran, dan kerja sama yang baik.

(6)

ABSTRAK

(7)

DESIGN AND IMPLEMENTATION OF ONE TIME PAD ENCRYPTION ALGORITHM SECURITY SYSTEM FOR THE BUYING AND

SELLING PRODUCTS IN PT. NUGA AGARA INTERNATIONAL

ABSTRACT

(8)

DAFTAR ISI

1.8 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Data dan Informasi 7

2.1.1 Siklus Informasi 7

2.2 Keamanan Data 9

2.3 Kriptografi 10

2.3.1 Jenis-Jenis Kriptografi 11

2.3.1.1 Algoritma Simetri 12

2.3.1.2 Algoritma Asimetri 14

2.3.1.3 Hash Function 16

2.3.2 Kriptanalisis 16

2.3.3 Jenis-Jenis Serangan Terhadap Kriptografi 17

2.4 Prinsip Penyandian Shannon 19

2.5 One Time Pad 20

Bab 3 Analisis dan Pemodelan Perangkat Lunak

3.1 Analisis masalah 24

3.1.1 Pengenalan masalah 25

3.2 Analisis Kerahasiaan 25

3.3 Desain Sistem 26

3.3.1 Analisis Kebutuhan Sistem 26

3.3.2 Diagram Aliran Data 27

3.3.2.1 Data Flow Diagram (DFD) 27

3.4 Rancangan Database 30

3.4.1 Struktur Tabel 30

3.4.2 Struktur Relasi Antar Tabel 35

(9)

Bab 4 Perancangan dan Implementasi

4.1 Perancangan Antarmuka 39

4.2 Implementasi 49

4.3 Pengujian 49

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 55

5.2 Saran 55

Daftar Pustaka 57

Lampiran 58

(10)

DAFTAR TABEL

Halaman

Tabel 3.1 Supplier 30

Tabel 3.2 Customer 30

Tabel 3.3 Login 31

Tabel 3.4 Satuan 31

Tabel 3.5 Kriteria 31

Tabel 3.6 Setup 32

Tabel 3.7 Barang 32

Tabel 3.8 Pembelian 33

Tabel 3.9 Pembeliandt 33

Tabel 3.10 Penjualan 33

Tabel 3.11 Penjualandt 34

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Siklus Informasi 8

Gambar 2.2 Proses Enkripsi/ Dekripsi Sederhana 15

Gambar 3.1 Data Flow Diagram (DFD) Level Top (Contex) 27

Gambar 3.2 Data Flow Diagram (DFD) Level 1 28

Gambar 3.3 Data Flow Diagram (DFD) Level 2 Untuk Enkripsi 29

Gambar 3.4 Data Flow Diagram (DFD) Level 2 Untuk Dekripsi 29

Gambar 3.5 Data Flow Diagram (DFD) Level 2 Untuk Proses Transaksi 29

Gambar 3.6 Struktur Relasi Antar Tabel 35

Gambar 3.7 View Supplier 36

Gambar 3.8 View Customer 36

Gambar 3.9 View Satuan 36

Gambar 3.10 View Kriteria 37

Gambar 3.11 View Barang 37

Gambar 3.12 View Pembelian 38

Gambar 3.13 View Penjualan 38

Gambar 4.1 Perancangan Tampilan Daftar Menu Sistem Informasi 40

Gambar 4.2 Form Supplier 41

Gambar 4.3 Form Customer 42

Gambar 4.4 Form User 42

Gambar 4.5 Form Satuan 43

Gambar 4.6 Form Kriteria 43

Gambar 4.7 Form Setup Parameter 44

Gambar 4.8 Form Enkripsi dan Dekripsi 44

Gambar 4.9 Form Barang 45

Gambar 4.10 Form Pembelian 45

Gambar 4.11 Form Rincian Pembelian 46

Gambar 4.12 Form Penjualan 46

Gambar 4.13 Form Rincian Penjualan 47

Gambar 4.14 Form Laporan Data Master 47

Gambar 4.15 Form Laporan Data Transaksi 48

Gambar 4.16 Form Transfer 48

Gambar 4.17 Form About 48

Gambar 4.18 Flowchart Proses Enkripsi 53

(12)

ABSTRAK

(13)

DESIGN AND IMPLEMENTATION OF ONE TIME PAD ENCRYPTION ALGORITHM SECURITY SYSTEM FOR THE BUYING AND

SELLING PRODUCTS IN PT. NUGA AGARA INTERNATIONAL

ABSTRACT

(14)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Suatu instansi atau organisasi sangat membutuhkan keamanan infrastruktur teknologi

informasi yang baik untuk melindungi aset-asetnya terutama informasi-informasi dan

data-data yang penting dan sensitif. Sehingga saat ini dibutuhkan sistem keamanan

yang lebih kompleks dengan kesanggupan untuk mengikuti perkembangan yang ada

agar dapat melindungi sistem dari berbagai ancaman yang mungkin timbul.

PT. Nuga Agara Internasional merupakan Perseroan Terbatas yang bergerak

dibidang Telematika (Jasa Konsultansi Non Konstruksi) yaitu Perangkat Keras

Komputer, Aplikasi/Perangkat Lunak dan sub bidang telematika lainnya. Untuk

bidang Aplikasi/Perangkat Lunak (Teknologi Informasi) PT. Nuga Agara

Internasional memfokuskan diri pada Sistem Informasi Keuangan Pemerintahan

Daerah berorientasi pada pengembangan sumber daya bidang aplikasi komputer yang

bertujuan untuk memudahkan segala pekerjaan bidang keuangan pemerintahan dalam

rangka peningkatan kinerja pemerintahan daerah dalam percepatan hasil laporan,

efisiensi waktu dan hasil kerja yang baik. PT. Nuga Agara Internasional berdiri pada

tanggal 24 Februari 2007 berdasarkan Akta Notaris No. 47 Tahun 2007 yang dibuat

Oleh Notaris dan Pejabat Pembuat Akta Tanah Fatma Devi, SH.

Dari awal pendirian, perusahaan ini mulai merintis Pembangunan Sistem

Informasi Pengelolaan Keuangan Bendahara penerimaan Kota Bukittinggi,

Pembangunan Sistem Informasi Pengelolaan Keuangan PPK SKPD Bukittinggi dan

Pembangunan Sistem Informasi Keuangan SKPD di Kota Binjai. Hasil yang dicapai

dari pembangunan beberapa Sistem Informasi Keuangan ini direspon sangat baik oleh

pengguna jasa, ditambah dengan keinginan mereka untuk melanjutkan penggunaan

(15)

kepercayaan dari Pemerintah Kota Bukittinggi untuk melakukan pembangunan Sistem

Informasi Pelayanan Terpadu Satu Pintu Pemerintah Kota Bukittinggi, kemudian di

awal tahun 2009 perusahaan ini mendapat kepercayaan kembali untuk melakukan

pemeliharaan aplikasi Sistem Informasi bendahara penerimaan, Sistem Informasi

Bendahara Pengeluaran dan Sistem Informasi Pejabat Penatausahaan Keungan (PPK)

SKPD di Kota Binjai sesuai peraturan Menteri Dalam Negeri No. 13 Tahun 2006.

Salah satu cara yang digunakan untuk menjamin keamanan dari infrastruktur

teknologi adalah dengan menjamin keamanan komunikasi. Komunikasi yang aman

dimaksudkan untuk melindungi data ataupun informasi ketika dikirimkan atau

ditransmisikan kepada pihak lain, sehingga data atau informasi yang ditransmisikan

itu tidak dapat disadap, dimanipulasi ataupun dirusak oleh pihak-pihak yang tidak

bertanggung jawab. Salah satu cara untuk mengamankan komunikasi adalah dengan

menerapkan teknik penyandian/ kriptografi.

Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan (data

atau informasi) dengan cara menyamarkannya menjadi bentuk tersandi yang tidak

mempunyai makna. Pesan yang dirahasiakan dalam kriptografi disebut plaintext

(plaintext) dan hasil penyamaran disebut chipertext (ciphertext ). Proses penyamaran

dari plaintext ke chipertext disebut enkripsi (dari kata encryption) dan proses

pembalikan dari chipertext menjadi plaintext kembali disebut dekripsi (decryption).

Baik proses enkripsi maupun proses dekripsi melibatkan satu atau beberapa kunci

kriptografi. Dalam suatu sistem di mana terdapat algoritma kriptografi, ditambah

seluruh kemungkinan plaintext, chipertext dan kunci-kuncinya disebut kriptosistem

(cryptosistem atau cryptographic sistem).

Kriptografi sesungguhnya merupakan studi terhadap teknik matematis yang

terkait dengan aspek keamanan suatu sistem informasi, antara lain seperti kerahasiaan

(confidentiality), integritas data (data integrity), otentikasi (authentication), dan

pembuktian yang tak tersangkal (non-repudiation). Keempat aspek tersebut

merupakan tujuan fundamental dari suatu sistem kriptografi.

Salah satu aspek keamanan yang perlu dijamin dalam suatu dokumen, baik

(16)

adalah layanan yang digunakan untuk menjaga informasi dari setiap pihak yang tidak

berwenang untuk mengaksesnya. Dengan demikian informasi hanya akan dapat

diakses oleh pihak-pihak yang berhak saja.

Kebutuhan untuk menjaga aspek keamanan dari dokumen elektronis semakin

penting terutama karena semakin mudahnya distribusi dokumen elektronis. Teknik

kriptografi dapat dimanfaatkan untuk menjamin aspek keamanan dokumen elektronis.

Salah satu teknik kriptografi yang dapat dimanfaatkan adalah enkripsi dan dekripsi

data atau dengan kata lain menyandikan data sehingga hanya orang yang

bersangkutan saja yang dapat mengetahui isi data tersebut.

Algoritma One Time Pad merupakan algoritma sederhana dan unbreakable

yang sampai saat ini dinyatakan aman karena masih belum ada serangan kriptanalisis

yang benar – benar dapat mematahkan algoritma ini. Oleh sebab itu, maka penulis

berusaha memanfaatkan algoritma ini untuk dapa digunakan pada suatu sistem

informasi terutama pada Sistem Informasi Pembelian dan Penjualan Produk Pada PT.

Nuga Agara Internasional.

1.2 Rumusan Masalah

Bagaimana implementasi Algoritma One Time Pad pada sistem keamanan pada

Sistem Informasi Pembelian dan Penjualan Produk Pada PT. Nuga Agara

Internasional berdasarkan: karakteristik kunci, karakteristik penyandian plaintext

terhadap chipertext dan karakteristik pembalikan dari ciphertext menjadi plaintext.

1.3 Batasan Masalah

Supaya pembahasan masalah lebih mendalam dan terperinci, maka pembahasan

masalah dibatasi menjadi:

1. Analisis pada algoritma One Time Pad dilakukan berfokus pada aspek

(17)

2. Penggunaan metode Padding sehingga panjang kunci dan panjang pesan yang

akan dienkripsi sama;

3. Cara pengoperasian (Operation Mode) yang digunakan adalah Electronic Code

Book (ECB).

1.4 Tujuan Penelitian

Membangun suatu program aplikasi yang dapat memberikan layanan kerahasiaan/

keamanan data menggunanakan algoritma One Time Pad.

1.5 Manfaat Penelitian

Manfaat penelitian yang hendak dicapai adalah program aplikasi yang dibuat dapat

digunakan sebagai salah satu alternatif metode pengamanan informasi sehingga

informasi yang ada pada Sistem Informasi Pembelian dan Penjualan Produk Pada PT.

Nuga Agara Internasional dapat terjaga kerahasiaannya.

1.6 Metodologi Penelitian

Penelitian dilakukan dengan tahapan metode sebagai berikut :

1. Studi literatur dan pemahaman sistem

Studi literatur dilakukan dengan pengumpulan bahan yang berkenaan dengan

teknik enkripsi maupun dekripsi data dan perancangan program aplikasi One

Time Pad yang realisasinya dalam bentuk sebuah interface form-form aplikasi.

2. Analisis dan perancangan.

Analisis dilakukan dengan pengamatan pada teknik dan proses enkripsi plaintext

menjadi ciphertext maupun pada proses dekripsi ciphertext menjadi plaintext.

(18)

Pengkodean dilakukan dengan pembuatan program aplikasi untuk melakukan

proses enkripsi maupun dekripsi. Dalam hal ini analis menggunakan aplikasi

program Microsoft Visual Basic 6.0 dengan database server berupa SQL Server

2000.

4. Implementasi.

Implementasi dilakukan dengan menampilkan program aplikasi enkripsi dan

dekripsi pesan/ data pada perangkat lunak yang dibangun.

5. Pengujian.

Pengujian dilakukan dengan menampilkan progam aplikasi enkripsi dan dekripsi

pesan/ data yang akan dihubungkan dengan database program aplikasi sistem

informasi.

6. Penyusunan Laporan.

Penyusunan laporan dilakukan setelah aplikasi program enkripsi dan dekripsi

pesan/ data terhubung ke database program aplikasi sistem informasi.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai

berikut:

BAB 1 : PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi

“Perancangan dan Implementasi Algoritma Enkripsi One Time Pad Untuk Sistem

Keamanan Pembelian dan Penjualan Produk Pada PT. Nuga Agara Internasional”,

perumusan masalah, pembatasan masalah, tujuan penelitian, manfaat penelitian,

metodologi, dan sistematika penulisan.

(19)

Bab ini akan membahas teori-teori yang berkaitan dengan kriptografi, karakteristik

kunci, metode proses enkripsi maupun proses dekripsi, serta informasi tambahan yang

berhubungan dengan aplikasi kriptografi.

.

BAB 3 : ANALISIS DAN PEMODELAN PERANGKAT LUNAK

Berisikan hasil analisis perancangan interface aplikasi program, analisis kerahasiaan

pesan/ data berdasarkan karakteristik penyandian plaintext terhadap chipertext dan

karakteristik pembalikan dari ciphertext menjadi plaintext.

BAB 4 : PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK Berisikan gambaran rancangan struktur program dan disain interface, serta

memberikan gambaran dari rancang bangun yang lengkap kepada user dan pemakai

komputer yang lain, serta implementasinya, yaitu: menguji untuk menemukan

kesalahan.

BAB 5 : KESIMPULAN DAN SARAN

Bab terakhir ini akan memuat kesimpulan isi dari keseluruhan uraian bab-bab

sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat

(20)

BAB 2

LANDASAN TEORI

2.1 Data dan Informasi

Data dapat didefenisikan sebagai kenyataan yang digambarkan oleh nilai-nilai

bilangan-bilangan, untaian karakter atau simbol-simbol yang membawa arti tertentu.

Dalam perusahaan, data tersebut identik dengan perubahan nilai atau sering disebut

dengan istilah “Transaksi”. Informasi sendiri dapat didefenisikan sebagai hasil dari

pengolahan data dalam bentuk yang lebih berguna bagi penerimanya, yang digunakan

sebagai alat bantu dalam pengambilan keputusan.

2.1.1 Siklus Informasi

Pengolahan data sehingga menjadi suatu informasi dapat digambarkan sebagai sebuah

siklus yang saling berhubungan dan berkesinambungan seperti terlihat pada Gambar

2.1.

Data diproses sehingga menghasilkan informasi, pada perkembangan

selanjutnya, informasi sebagai hasil dari pengolahan data tersebut akan digunakan

manusia untuk membantu pengambilan keputusan. Dari keputusan tersebut akan

diteruskan dengan suatu tindakan sebagai follow up-nya. Dengan tindakan tersebut,

diperoleh suatu hasil yang nantinya akan dianggap sebagai sebuah data input untuk

tahap pengolahan berikutnya.

(21)

Gambar 2.1 Siklus Informasi

Pengolahan data menjadi informasi itu merupakan suatu siklus yang terdiri

dari tahap-tahap sebagai berikut:

1. Pengumpulan data, pada tahap ini dilakukan suatu proses pengumpulan data yang

asli dengan cara tertentu, seperti sampling, data transaksi, data warehouse, dan lain

sebagainya yang bisaanya merupakan proses pencatatan data ke dalam suatu file.

2. Input, tahap ini merupakan proses pemasukan data dan prosedur pengolahan data

ke dalam komputer melalui alat input seperti keyboard. Prosedur pengolahan data

itu merupakan urutan langkah untuk mengolah data yang ditulis dalam suatu

bahasa pemograman yang disebut program.

3. Pengolahan data, tahap ini merupakan tahap dimana data diperoleh sesuai dengan

prosedur yang telah dimasukkan. Kegiatan pengolahan data ini meliputi

pengumpulan data, klasifikasi (pengelompokan), kalkulasi, pengurutan,

penggabungan, peringkasan baik dalam bentuk tabel maupun grafik, penyimpanan

dan pembacaan data dari tempat penyimpanan data.

4. Output, hasil pengolahan data akan ditampilkan pada alat output seperti monitor

dan printer sebagai informasi.

Proses

Informasi

Keputusan

Tindakan

(22)

5. Distribusi, setelah proses pengolahan data dilakukan, maka informasi yang

dihasilkan harus segera didistribusikan. Proses pendistribusian ini tidak boleh

terlambat dan harus diberikan kepada yang berkepentingan, sebab hasil

pengolahan tersebut akan menjadi bahan pertimbangan dalam pengambilan

keputusan atau menjadi data dalam pengolahan selanjutnya.

2.2 Keamanan Data

Keamanan merupakan salah satu aspek terpenting dari sebuah sistem informasi.

Masalah keamanan sering kurang mendapat perhatian dari para perancang dan

pengelola sistem informasi. Masalah kemanan sering berada diurutan setelah

tampilan, atau bahkan diurutan terakhir dalam daftar hal-hal yang dianggap penting.

Keamanan adalah keadaan bebas dari bahaya. Istilah ini dapat digunakan

dengan hubungan kepada kejahatan, dan segala bentuk kecelakaan. Keamanan

merupakan topik yang luas termasuk keamananan nasional terhadap serangan teroris,

keamanan komputer terhadap hacker, keamanan rumah terhadap maling dan

penyelusup lainnya, keamanan finansial terhadap kehancuran ekonomi dan banyak

situasi berhubungan lainnya (Kristianto, 2003). Host/ komputer yang terhubung ke

network, mempunyai ancaman keamanan lebih besar dari pada host yang tidak

terhubung kemana-mana. Dengan mengendalikan network security, risiko tersebut

dapat dikurangi.

Kebutuhan keamanan untuk sebuah sistem komputer berbeda – beda

bergantung kepada aplikasi – aplikasi yang dikandungnya, antara lain sistem transfer

keuangan elektronik, akan berbeda kebutuhannya dengan sistem reservasi atau

sistem–sistem kontrol lainnya. Pada saat ini data storage merupakan suatu komponen

utama yang sangat vital, dimana data storage sangat penting nilainya jika didalamnya

disimpan file atau data yang sifatnya sangat penting dan rahasia.

Oleh karena jaringan komputer yang bersifat multiuser, maka dibutuhkan suatu

(23)

penyerangan terhadap jaringan komputer itu sendiri, termasuk salah satunya adalah

ancaman dan penyerangan terhadap data yang terdapat pada alat penyimpanan data itu

sendiri.

2.3 Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret

(rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya kriptografi

adalah ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari suatu tempat

ke tempat yang lain (Ariyus, 2008).

Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga

keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi

pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk

mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat

diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain.

Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu:

1. Enkripsi.

Merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan

data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext,

yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan

dengan cipher atau kode. Sama halnya dengan kita tidak mengerti akan sebuah

kata maka kita akan melihatnya di dalam kamus atau daftar istilah. Beda halnya

dengan enkripsi, untuk mengubah teks-asli ke bentuk teks-kode kita menggunakan

algoritma yang dapat mengkodekan data yang kita ingini.

2. Dekripsi.

Merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke

bentuk asalnya (teks-asli), disebut dengan dekripsi pesan. Algoritma yang

digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk

(24)

3. Kunci.

Yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan

dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci

umum (public key).

2.3.1. Jenis-Jenis Kriptografi

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya:

1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekripsinya),

2. Algoritma Asimetri (menggunakan kunci yang berbeda untuk enkripsi dan

dekripsi),

3. Hash Function.

2.3.1.1. Algoritma Simetri.

Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk membuat

pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu.

Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis.

Siapapun yang memiliki kunci tersebut, termasuk pihak-pihak yang tidak diinginkan,

dapat membuat dan membongkar rahasia ciphertext. Problem yang paling jelas disini

terkadang bukanlah masalah pengiriman ciphertext-nya, melainkan masalah

bagaimana menyampaikan kunci simetris tersebut kepada pihak yang diinginkan.

Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption

Standard) dan RC-4.

Dua kategori yang termasuk pada algoritma simetris ini adalah algoritma block

cipher dan stream cipher.

a. Block Cipher

Algoritma block cipher adalah algoritma yang masukan dan keluarannya berupa

satu block, dan setiap blocknya terdiri dari banyak bit. Beberapa mode operasi

(25)

1. Data Enkripsi Standard ( DES )

Algoritma enkripsi yang paling banyak digunakan di dunia adalah DES yang

telah diadopsi oleh NIST (Nasional Institude of Standard and Tecnology)

sebagai standart pengolahan informasi Federal AS. Data dienkrip dalam

block-block 64 bit menggunakan kunci 56 bit. Algoritma DES berasal dari algoritma

Lucifer buatan IBM. Algoritma ini ditawarkan kepada NIST dan menjadi DES

tahun 1977. Akan tetapi terdapat dua masalah besar pada algoritma ini.

Pertama, kunci yang hanya 56 bit, sehingga sangat rawan terhadap serangan

brute force. Kedua, desain struktur internal DES dimana bagian subsitusinya

(S-box) masih dirahasiakan.

2. AES ( Advanced Encrytion Standard )

Sekitar tahun1990-an ketika semakin banyak komputer yang dapat menembus

kunci DES yang disebabkan terlalu pendeknya panjang kunci. Dalam

kriptografi modern, panjang kunci dalam ukuran jumlah bit yang digunakan,

merupakan salah satu faktor yang sangat penting. Hal ini dikarenakan

penggunaan komputer yang sangat intensif dalam dunia kriptografi. Untuk itu

NIST mengadakan sebuah kontes untuk mencari sebuah algoritma standart

baru untuk menggantikan DES. Pada bulan oktober 2000, Rijndael dipilih

menjadi pemenang kontes AES. Algoritma Rijndael dipilih bukan karena yang

paling aman, melainkan karena keseimbangan antara keamanan dan

fleksibilitas dalam berbagai platform software dan hardware. Algoritma

menyingkirkan saingan terdekatnya yaitu algoritma RC6 buatan RSA.

3. Blowfish

Blowfish merupakan block cipher 64-bit dengan panjang kunci variabel.

Algoritma ini terdiri dari dua bagian: key expansion dan enkripsi data. Key

expansion merubah kunci yang dapat mencapai 448 bit menjadi beberapa array

subkunci (subkey) dengan total 4168 byte. Enkripsi data terdiri dari iterasi

fungsi sederhana sebanyak 16 kali. Setiap putaran terdiri dari permutasi

kunci-dependent dan substitusi kunci dan data kunci-dependent. Semua operasi adalah

penambahan XOR pada variable 32-bit. Tambahan operasi lainnya hanyalah

empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran.

Blowfish menggunakan subkunci yang besar. Kunci ini harus dihitung

(26)

b. Stream Chipher

Stream cipher ( Cipher aliran ) adalah cipher yang berasal dari hasil XOR antara

bit plaintext dengan setiap bit kuncinya. Stream cipher sangat rawan terhadap

attack pembalikan bit. Beberapa model algoritma stream cipher antara lain :

1. One Time Pad ( OTP )

Dalam OTP terdapat teknik enkripsi yang sempurna. Ditemukan oleh Mayor J

Maugborne dan G Verman tahun 1917. Setiap kunci hanya digunakan untuk

sekali pesan. Teknik ini dikatakan sempurna karena kunci yang acak dan

hanya digunakan sekali. One Time Pad (pad = kertas bloknot) adalah kertas

yang berisi deretan karakter-karakter kunci yang berisi huruf-huruf yang

tersusun acak. Satu pad hanya digunakan sekali (one time) saja untuk

mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya

tidak dipakai kembali untuk mengenkripsi pesan yang lain.

2. Rivest Code 4 (RC 4)

RC4 merupakan salah satu algoritma kunci simetris yang berbentuk stream

cipher, yaitu memproses unit atau input data pada satu saat. Unit atau data

pada umumnya sebuah byte atau kadang-kadang bit. Dengan cara ini enkripsi

atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini

tidak harus menunggu sejumlah input data tertentu sebelum diproses, atau

menambahkan byte tambahan untuk mengenkripsi. Algoritma ini ditemukan

pada tahun 1987 oleh Ronald Rivest dan menjadi simbol keamanan RSA. RC4

merupakan enkripsi stream simetrik proprietary yang dibuat oleh RSA Data

Security Inc (RSADSI). Penyebarannya diawali dari sebuah source code yang

diyakini sebagai RC4 dan dipublikasikan secara 'anonymously' pada tahun

1994. Algoritma yang dipublikasikan ini sangat identik dengan implementasi

RC4 pada produk resmi. RC4 digunakan secara luas pada beberapa aplikasi

dan umumnya dinyatakan sangat aman. Sampai saat ini diketahui tidak ada

yang dapat memecahkan/membongkarnya. RC4 tidak dipatenkan oleh

RSADSI, hanya saja tidak diperdagangkan secara bebas (trade secret).

Algoritma RC4 bekerja pada dua tahap, menyetem susunan (key setup) dan

pengkodean (ciphering). Kunci susunan merupakan hal yang lebih awal dan

merupakan tahap yang paling sulit dari algoritma ini. Selama menyetem

(27)

untuk menghasilkan suatu variabel enkripsi yang menggunakan dua arrays,

state dan kunci, dan jumlah N dari operasi pencampuran. Operasi

pencampuran terdiri dari menukar bytes, modulo operasi, dan rumusan lain.

Suatu modulo operasi adalah proses sisa dari suatu hasil divisi. Sebagai

contoh, 11/4 adalah 2 sisa 3; oleh karena itu 11 mod 4 sama dengan 3. Sekali

variabel enkripsi dihasilkan dari key setup, langkah selanjutnya adalah masuk

ke fase ciphering di mana dalam proses ini hasilnya akan diXORkan dengan

plaintext. Sekali penerima mendapat pesan yang dienkripsi, langkah

selanjutnya adalah mendekripsinya dengan XOR pesan yang dienkripsi dengan

menggunakan variabel yang sama. (Ariyus, 2008)

2.3.1.2. Algoritma Asimetri.

Algoritma asimetri sering juga disebut dengan algoritma kunci publik, dengan arti

kata kunci yang digunakan untuk melakukan enkripsi dan dekripsi berbeda. Pada

algoritma asimetri kunci terbagi menjadi dua bagian, yaitu:

1. Kunci umum (public key): kunci yang boleh diketahui semua orang

(dipublikasikan).

2. Kunci rahasia (private key): kunci yang dirahasiakan (hanya boleh diketahui oleh

satu orang saja).

Kunci –kunci tersebut berhubungan satu sama lain. Dengan kunci public orang

dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang

memiliki kunci rahasia yang dapat mendekripsi pesan tersebut. Algoritma asimetri

bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri. Contoh, Bob

mengirim pesan ke Alice menggunakan algoritma asimetri. Hal yang harus dilakukan

adalah:

1. Bob memberitahukan kunci publiknya ke Alice.

2. Alice mengenkripsi pesan dengan menggunakan kunci public Bob.

3. Bob mendekripsi pesan dari Alice dengan kunci rahasianya.

(28)

Gambar 2.2 Proses Enkripsi/ Dekripsi sederhana

Algoritma yang memakai kunci publik diantaranya adalah:

1. Digital Signature Algorithm (DSA).

DSA mempunyai perhitungan yang sulit karena pemisahan algoritma dan

berorientasi pada algoritma ElGamal dan Schnorr. Kunci publik berisi tiga

parameter p, q dan g, untuk semua grup dari user. Memilih q sebagai bilangan

prima 160 bit dan menyeleksi bilangan prima p dengan 512 < p < 1024 bit seperti

q adalah factor dari bilangan prima p-1. Kemudian memilih q > 1 menjadi bentuk

h_(p-1)/q (mod p), seperti h_ adalah integer antara 1 dan p-1.

Dengan tiga bilangan tersebut, pengguna memilih kunci rhasia x antara 1 < x < q-1

dan kunci umum y adalah perhitungan dari x sama dengan y ≡ gx (mod p).

Memanggil kembali penanda x adalah suatu hal yang tidak mungkin karena

algoritma yang terpisah dari y untuk basis g (mod p) sulit untuk dihitung.

2. RSA

RSA tidak pernah dibuktikan aman tidaknya, hanya karena sulitnya pemfaktoran

bilangan yang sangat besar, maka RSA dianggap aman. Dalam pembangkitan

kedua kunci, digunakan dua bilangan prima acak yang sangat besar

3. Diffie-Hellman ( DH )

Diffie Helman dianggap merupakan algoritma asimetrik yang pertama kali

ditemukan pada tahun 1976, meskipun NSA telah mengaku menemukan algoritma

asimetrik jauh-jauh hari sebelumnya. Algoritma ini memperoleh keamanannya

dari sulitnya menghitung logaritma diskrit pada bilangan yang amat besar. Akan

tetapi algoritma ini hanya dapat digunakan untuk pertukaran kunci (simetris) dan

(29)

2.3.1.3. Hash Function

Fungsi HASH adalah fungsi yang menerima masukan string yang panjangnya

sembarang dan mengonversinya menjadi string keluaran yang panjangnya tetap

(fixed), yang umumnya berukuran jauh lebih kecil dari pada ukuran semula. Fungsi

Hash satu arah (one-way hash function) berfungsi sebagai:

1. Sidik jari (fingerprint): membuat sidik jari dari suatu dokumen atau pesan M yang

mana sidik jari merupakan suatu identitas dari si pengirim pesan.

2. Funsi kompresi: dokumen D (yang besarnya dapat bervariasi) yang akan di-hash

disebut pre-image, sedangkan keluarannya yang memiliki ukuran tetap dalam

bentuk aslinya dan pada dasarnya masukan lebih besar dari pada keluaran,

seolah-olah mengalami kompresi, namun hasil dari kompresi tidak bisa dikembalikan ke

bentuk awalnya, yang oleh karenanya dinamakan satu arah.

3. Message digest: dianggap intisari dari suatu dokumen, padahal tidak demikian

karena intisari dokumen merupakan ringkasan dokumen yang dapat dipahami

maknanya. Message digest tidak demikian, karena dengan sidik jari orang lain

tidak mengerti asli dari dokumen tersebut.

Fungsi HASH satu arah dirancang dengan kompleksitas yang tinggi, sehingga

apabila terjadi perubahan satu bit saja, maka dapat mengubah nilai dari HASH yang

dihasilkan. Untuk HASH yang modern menghasilkan panjang 128 bit atau lebih.

Fungsi HASH ini banyak digunakan pada proses digital signitureuntuk data integrity.

Salah satu kegunaan Fungsi HASH yaitu untuk MAC (Message Authentication Code)

dan HMAC yaitu kode yang dihasilkan oleh fungsi HASH untuk sebuah pesan atau

data pada jaringan komputer. (Ariyus, 2008)

2.3.2. Kriptanalisis

Kriptanalisis bertujuan untuk memecahkan chipertext menjadi plaintext semula tanpa

memiliki akses ke kunci yang digunakan. Kriptanalis berusaha menemukan

kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan

(30)

Dalam membahas serangan terhadap kriptografi, diasumsikan bahwa

kriptanalis mengetahui algoritma kriptografi yang digunakan, sehingga satu-satunya

keamanan sistem kriptografi terletak sepenuhnya pada kunci.

Dengan kata lain, kriptanalis mengetahui algoritma enkripsi dan dekripsi

secara detil. Merahasiakan algoritma kriptografi bukanlah solusi yang praktis, sebab

setiap kali algoritma berhasil diketahui lawan, maka kriptografer harus membuat

algoritma baru. Dengan membuat algoritma menjadi public, maka cukup kunci saja

yang dirahasiakan. Jika kunci berhasil dicuri, maka kunci baru dibangkitkan tanpa

harus mengganti algoritmanya. Jadi tidak mengherankan kalau semua algoritma

kriptografi telah dipublikasikan di berbagai jurnal dan buku-buku sehingga siapapun

bisa mempelajarinya. Menurut Schneier, algoritma yang terbaik adalah algoritma yang

telah dipublikasikan dan telah “diserang” oleh para kriptografer dan kriptanalis terbaik

dunia dan hingga kini belum berhasil dipecahkan. Dengan mempublikasikan algoritma

kriptografi, kriptografer memperoleh konsultasi gratis dari sejumlah kriptologis

akademisi yang ingin sekali memecahkan algoritma sehingga mereka dapat

mempublikasikan paper yang memperlihatkan kecerdasan mereka. Jika banyak pakar

telah mencoba memecahkan algoritma selama 5 tahun setelah dipublikasikan dan

tidak seorangpun berhasil, maka mungkin algoritma tersebut tangguh.

2.3.3. Jenis-Jenis Serangan Terhadap Kriptografi.

Serangan terhadap sistem kriptografi dapat dikelompokkan dengan beberapa cara:

a. Berdasarkan keterlibatan penyerang dalam komunikasi, serangan dapat dibagi atas

dua macam, yaitu serangan aktif dan serangan pasif.

1. Serangan aktif.

Pada jenis serangan ini, penyerang mengintervensi komunikasi dan ikut

mempengaruhi sistem untuk keuntungan dirinya. Misalnya penyerang

mengubah aliran pesan seperti menghapus sebagian chipertext, mengubah

chipertext, menyisipkan potongan chipertext palsu, me-replay pesan lama,

(31)

2. Serangan pasif.

Pada jenis serangan ini, penyerang tidak terlibat dalam komunikasi antara

pengirim dan penerima, namun penyerang menyadap semua pertukaran pesan

antara kedua entitas tersebut. Tujuannya adalah untuk mendapatkan sebanyak

mungkin informasi yang digunakan untuk kriptanalisis. Beberapa metode

penyadapan data antara lain:

a) Wiretapping; penyadap mencegat data yang ditransmisikan pada saluran

komunikasi dengan menggunakan sambungan perangkat keras.

b) Electromagnetic eavesdropping: penyadap mencegat data yang

ditransmisikan melalui saluran wireless, misalnya radio dan microwave.

c) Acoustic eavesdropping: menangkap gelombang suara yang dihasilkan

oleh suara manusia.

b. Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis, dikelompokkan

menjadi 5 jenis:

1. Chipertext-only attack.

Ini adalah jenis serangan yang paling umum namun paling sulit karena

informasi yang tersedia hanyalah chipertext saja. Kriptanalis memiliki

beberapa chipertext dari pesan, semuanya dienkripsi dengan algoritma yang

sama. Tugas kriptanalis adalah menemukan plaintext sebanyak mungkin dari

chipertext tersebut atau menemukan kunci yang digunakan untuk mendekripsi.

2. Known-plaintext attack.

Ini adalah jenis serangan di mana kriptanalis memiliki pasangan plaintext dan

chipertext yang berkoresponden. Plaintext mungkin diperoleh dengan

mempelajari karakteristik pesan. Beberapa pesan yang formatnya terstruktur

membuka peluang kepada kriptanalis untuk menerka plaintext dari chipertext

yang bersesuaian.

3. Chosen-plaintext attack.

Serangan jenis ini lebih hebat dari pada known-plaintext attack, karena

kriptanalis dapat memilih plaintext yang dimilikinya untuk dienkripsikan,

(32)

4. Chosen-ciphertext attack.

Ini adalah jenis serangan dimana kriptanalis memilih chipertext untuk

didekripsikan dan memiliki akses ke plaintext hasil dekripsi (misalnya

terhadap mesin elektronik yang melakukan dekripsi secara otomatis). Jenis

serangan ini bisaanya dipakai pada sistem kriptografi.

5. Chosen-text attack.

Ini adalah jenis serangan yang merupakan kombinasi chosen-plaintext dan

chosen-ciphertext attack.

c. Berdasarkan teknik yang digunakan dalam menemukan kunci, dibagi atas:

1. Exhaustive attack atau brute force attack.

Ini adalah serangan untuk mengungkap plaintext atau kunci dengan mencoba

semua kemungkinan kunci. Diasumsikan kriptanalis mengetahui algoritma

kriptografi yang digunakan oleh pengirim pesan. Selain itu kriptanalis

memiliki sejumlah chipertext dan/ atau plaintext yang bersesuaian.

2. Analytical attack.

Pada jenis serangan ini, kriptanalis tidak mencoba-coba semua kemungkinan

kunci tetapi menganalisis kelemahan algoritma kriptografi untuk mengurangi

kemungkinan kunci yang tidak mungkin ada. Diasumsikan kriptanalis

mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan.

Analisis dapat menggunakan pendekatan matematik dan statistik dalam rangka

menemukan kunci. Secara statistik misalnya dengan menggunakan analisis

frekuensi, sedangkan secara matematik dengan memecahkan

persamaan-persamaan matematika (yang diperoleh dari defenisi suatu algoritma

kriptografi) yang mengandung peubah-peubah yang merepresentasikan

plaintext atau kunci.

2.4 Prinsip Penyandian Shannon.

Pada tahun 1949, Shannon mengemukakan dua prinsip (properties) penyandian

(encoding) data. Kedua prinsip ini dipakai dalam perancangan cipher blok yang kuat.

(33)

1. Confusion

Prinsip ini menyembunyikan hubungan apapun yang ada antara plaintext,

chipertext, dan kunci. Sebagai contoh, pada cipher substitusi seperti caesar

cipher, hubungan antara chipertext dan plaintext mudah diketahui, karena satu

huruf yang sama pada plaintext diganti dengan satu huruf yang sama pada

chipertext-nya. Prinsip confusion akan membuat kriptanalis frustasi untuk mencari

pola-pola statistik yang muncul pada chipertext. Confusion yang bagus membuat

hubungan statistik antara plaintext, chipertext, dan kunci menjadi sangat rumit.

2. Diffusion

Prinsip ini menyebarkan pengaruh satu bit plaintext atau kunci ke sebanyak

mungkin chipertext. Sebagai contoh, pengubahan kecil pada plaintext sebanyak

satu atau dua bit menghasilkan perubahan pada chipertext yang tidak dapat

diprediksi. Prinsip diffusion juga menyembunyikan hubungan statistik antara

plaintext, chipertext, dan kunci dan membuat kriptanalisis menjadi sulit. Untuk

mendapatkan keamanan yang bagus, prinsip confusion dan diffusion diulang

berkali-kali pada sebuah blok tunggal dengan kombinasi yang berbeda-beda.

2.5 One Time Pad

Suatu algoritma dikatakan aman, apabila belum ada tidak ada cara untuk menemukan

plaintext-nya. Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan

tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas.

Prinsip enkripsi pada algoritma ini adalah dengan mengkombinasikan

masing-masing karakter pada plaintext dengan satu karakter pada kunci. Oleh karena itu,

panjang kunci setidaknya harus sama dengan panjang plaintext. Secara teori, adalah

hal yang tak mungkin untuk mendekripsi chipertext tanpa mengetahui kuncinya.

Sebab jika kunci yang digunakan salah, akan diperoleh hasil yang salah juga, atau

bukan plaintext yang seharusnya. Kemudian setiap kuncinya hanya boleh digunakan

untuk sekali pesan. Pengambilan kunci harus dilakukan secara acak supaya tidak dapat

(34)

Sebagai contoh: Sebuah pesan ”MEDAN” akan dienkripsi dengan

kunci”XYZAC” dengan perhitungan sebagai berikut, maka akan diperoleh hasil

enkripsi”KDDBI”

Pesan (plaintext) : 13(M) 5(E) 4(D) 1(A) 14(N)

Kunci : 24(X) 25(Y) 26(Z) 1(A) 3(C)

Pesan + kunci : 37 30 30 2 17

Pesan + kunci mod 26 : 11(K) 4(D) 4(D) 2(B) 17(I)

Untuk mendekripsinya, maka dilakukan proses kebalikannya, yaitu.

Ciphertext : 11(K) 4(D) 4(D) 2(B) 17(I)

Kunci : 24(X) 25(Y) 26(Z) 1(A) 3(C)

Ciphertext - kunci : -13 -21 -22 1 14

Ciphertext - kunci mod 26 : 13(M) 5(E) 4(D) 1(A) 14(N)

Ketika ada pihak lain yang ingin mencoba mendekripsi ciphertext tersebut, tanpa

mengetahui kuncinya, maka dapat diperoleh plaintext yang berbeda dari yang

seharusnya, contohnya;

Ciphertext : 11(K) 4(D) 4(D) 2(B) 17(I)

Kunci yang mungkin : 17(T) 25(Q) 7(U) 10(R) 8(I)

Ciphertext - kunci : -6 -21 -11 -8 9

Ciphertext - kunci mod 26 : 20(T) 5(E) 15(O) 18(R) 9(I)

Pada deskripsi ini, diperoleh plaintext ”TEORI”. Sistem pada contoh di atas.

Penerima pesan menggunakan One Time Pad yang sama untuk

mendekripsikan karakter-karakter ciphertext menjadi karakter-karakter plaintext

dengan persamaan:

(35)

yang mana diperoleh sebagai berikut:

(M + X) mod 26 = K

(E + Y) mod 26 = D

(D + Z) mod 26 = D, dst

Perhatikan bahwa panjang kunci sama dengan panjang plaintext, sehingga

tidak ada kebutuhan mengulang penggunaan kunci selama proses enkripsi. Setelah

pengirim mengenkripsikan pesan dengan One Time Pad, ia menghancurkan One Time

Pad tersebut (makanya disebut satu kali pakai atau one time).

Sistem cipher One Time Pad ini tidak dapat dipecahkan karena barisan kunci

acak yang ditambahkan ke pesan plaintext yang tidak acak menghasilkan ciphertext

yang seluruhnya acak. Beberapa barisan kunci yang digunakan untuk mendekripsi

chipertext mungkin menghasilkan pesan-pesan plaintext yang mempunyai makna,

sehingga kriptanalis tidak punya cara untuk menentukan plaintext mana yang benar.

Meskipun One Time Pad merupakan cipher yang sempurna aman, namun faktanya ia

tidak digunakan secara universal dalam aplikasi kriptografi sebagai satu-satunya

sistem cipher yang tidak dapat dipecahkan (hanya sedikit sistem komunikasi yang

menggunakan One Time Pad). Malahan orang masih tetap menggunakan sistem

cipher yang dapat dipecahkan. Alasannya adalah dari segi kepraktisan, yaitu karena

panjang kunci harus sama dengan panjang pesan, maka One Time Pad hanya cocok

untuk pesan berukuran kecil.

Semakin besar ukuran pesan, semakin besar pula ukuran kunci. Pada aplikasi

kriptografi untuk mengenkripsikan data tersimpan, timbul masalah lain dalam

penyimpanan kunci. Karena kunci dibangkitkan secara acak, maka ‘tidak mungkin’

pengirim dan penerima membangkitkan kunci yang sama secara simultan. Jadi, salah

seorang dari mereka harus membangkitkan kunci lalu mengirimkannya ke pihak lain.

Karena kerahasiaan kunci harus dijamin, maka perlu ada perlindungan selama

pengiriman kunci. Jika hanya ada satu saluran komunikasi, maka pengirim dan

penerima pesan perlu barisan kunci One Time Pad lain untuk melindungi kunci One

(36)

dan seterusnya. Hal ini menghasilkan kumpulan barisan kunci One Time Pad yang

tidak berhingga banyaknya.

Mengirimkan barisan kunci melalui saluran komunikasi yang digunakan untuk

pengiriman pesan juga tidak praktis karena pertimbangan lalu lintas (traffic) pesan

yang padat. Oleh karena itu, One Time Pad hanya dapat digunakan jika tersedia

saluran komunikasi kedua yang cukup aman untuk mengirim kunci. Saluran kedua ini

umumnya lambat dan mahal. Misalnya pada perang dingin antara AS dan Uni Soviet

(dahulu), One Time Pad dibangkitkan, disimpan, lalu dikirim dengan menggunakan

jasa kurir yang aman. Penting diingat bahwa saluran kedua yang aman tersebut

(37)

BAB 3

ANALISIS DAN PEMODELAN PERANGKAT LUNAK

3.1 Analisis Masalah

Analisis adalah sebuah tugas rekayasa perangkat lunak yang menjembatani jurang

diantara pengalokasian perangkat lunak tingkat sistem dan perancangan perangkat

lunak, dalam hal ini perancangan interface program aplikasi untuk proses enkripsi

maupun dekripsi pesan/ data, memungkinkan perekayasa sistem menentukan fungsi

dan kinerja perangkat lunak, menunjukkan interface perangkat lunak dengan

elemen-elemen sistem yang lain, dan membangun batasan yang harus dipenuhi oleh perangkat

lunak. Analisis persyaratan perangkat lunak mengijinkan perekayasa perangkat lunak

(dalam peran ini sering disebut analis) untuk memperhalus alokasi perangkat lunak

dan membangun model-model data yang akan diproses oleh perangkat lunak. Analisis

persyaratan memberikan model-model yang akan diterjemahkan ke dalam data,

arsitektur, interface, dan disain prosedural kepada perancang perangkat lunak.

Ketika user akan memulai penggunaan program aplikasi, selalu diawali

dengan proses identifikasi yaitu proses login. Pada saat proses login inilah hal yang

sangat penting dari keamanan sebuah sistem informasi termasuk data yang ada di

dalamnya. Untuk mencegah terjadinya pencurian data, maka user harus diverifikasi

terlebih dahulu untuk dapat menentukan hak aksesnya.

Pada awalnya, analis mempelajari spesifikasi sistem (bila ada) dan rencana

proyek perangkat lunak. Penting untuk memahami perangkat lunak dalam suatu

konteks sistem dan mengkaji ruang lingkup perangkat lunak yang telah digunakan

(38)

komunikasi untuk analisis untuk menjamin pengenalan masalah. Tujuan analis adalah

mengenali elemen masalah dasar seperti dirasakan oleh pemakai/user.

3.1.1 Pengenalan Masalah

Adapun pengenalan masalah dalam penelitian ini adalah “bagaimana menjaga

keamanan data/ informasi yang terdapat/ tersimpan pada sebuah sistem informasi dan

bagaimana memanfaatkan kriptografi sebagai alternatif pengamanan data khususnya

menggunakan algoritma One Time Pad” yang nantinya ditampilkan dalam bentuk

interface dalam bentuk form-form program aplikasi, yang akan memudahkan user

(client) dalam menjaga kerahasiaan data/ informasinya yang kebutuhannya

disesuaikan dengan kenyamanan, kemudahan, dan kecepatan dalam memproses data.

Data/ informasi yang tersimpan pada sebuah sistem informasi merupakan aset

dari sebuah perusahaan, dimana data/ informasi ini diharapkan tidak jatuh ke tangan

orang yang tidak berhak. Untuk menjamin terjaganya data/ informasi ini, maka setiap

user yang akan menggunakan sistem informasi ini harus melalui tahap awal yaitu

proses login. Pada proses login ini, nantinya user akan memasukkan data berupa nama

dan password. User yang tidak terdaftar akan ditolak hak aksesnya dan proses akan

terminate.

Penggunaan algoritma kriptografi One Time Pad ini akan digunakan pada

database yaitu pada tabel Login, dimana field password akan mengalami proses

enkripsi maupun dekripsi.

3.2 Analisis Kerahasiaan

Pada algoritma One Time Pad ini, setiap karakter plaintext yang akan dienkripsi

dengan masing-masing key yang berbeda, sehingga satu karakter plaintext yang sama

akan menghasilkan karakter chipertext yang berbeda, demikian juga pada saat

(39)

Jika kriptanalis mendapatkan key untuk satu karakter plaintext maupun

chipertext, maka key tersebut belum tentu dapat digunakan untuk plaintext maupun

chipertext yang lain, sehingga kriptanalis dapat menemukan plaintext yang akan

mempunyai makna yang berbeda dari plaintext yang sebenarnya.

Hal ini dapat dibuktikan dari pembahasan pada Bab 2, dimana plaintext

“MEDAN” yang dienkripsi dengan key “XYZAC” akan menghasilkan karakter

chipertext “KDDBI”. Bila kriptanalis menggunakan chipertext tersebut di atas, maka

kriptanalis akan menggunakan key yaitu ”TQURI” maka akan menghasilkan plaintext

berupa ”TEORI”, demikian juga bila kriptanlis mencoba untuk menggunakan key

yang lain, maka akan menghasilkan plaintext yang berbeda pula, sehingga kriptanalis

akan bingung untuk menentukan mana plaintext yang sebenarnya.

3.3 Desain Sistem

Proses perancangan yang akan digunakan merupakan proses perancangan yang yang

berorientasi pada proses dan prosedural, untuk itu perlu dibuatkan diagram aliran data

(Data Flow Diagram) yang dapat memodelkan proses yang terjadi pada sistem.

3.3.1 Analisis Kebutuhan Sistem

Sistem yang akan dibangun ini diharapkan dapat memenuhi kebutuhan-kebutuhan

antara lain sebagai berikut:

1. User dapat diverifikasi hak aksesnya pada saat proses login.

2. Data user dapat dienkripsi pada saat penutupan transaksi dan didekripsi kembali

pada saat proses transaksi.

3. Sistem membutuhkan waktu yang relatif singkat untuk memproses data (enkripsi

(40)

3.3.2 Diagram Aliran Data

Diagram ini menjelaskan secara global bahwa sistem berinteraksi dengan sebuah

entitas luar yang bernama user. Input user diawali dengan login yang nantinya

dianggap sebagai plaintext oleh sistem dan password yang merupakan authentifikasi

untuk user masuk ke sistem.

3.3.2.1Data Flow Diagram (DFD)

DFD merupakan diagram yang menggunakan notasi-notasi (simbol-simbol) untuk

menggambarkan arus dari data sistem. DFD sering digunakan untuk menggambarkan

suatu sistem yang telah ada atau sistem baru yang dikembangkan secara logika tanpa

mempertimbangkan lingkungan fisik dimana data tersebut mengalir (file kartu,

harddisk, tape, disket, dan lain sebagainya). DFD merupakan alat yang digunakan

pada metodologi pengembangan sistem yang terstruktur (Structure Analysis and

Design). Disini Penulis akan merancang Data Flow Diagram yang digunakan dalam

merancang penggunaan algoritma One Time Pad untuk sistem keamanan sistem

informasi pembelian dan penjualan produk, yaitu:

Gambar 3.1 Data Flow Diagram (DFD) Level Top (Contex)

(41)

Gambar 3.2 Data Flow Diagram (DFD) Level 1

P. 0

SISTEM INFORMASI PEMBELIAN DAN

PENJUALAN PRODUK

Key

Key

P. 1

ENKRIPSI

P. 2

DEKRIPSI

Plaintext

P. 3

Transaksi

Chipertext

Text Encrypt

Text Encrypt Kunci OTP

Kunci OTP

Text Plain

(42)

Gambar 3.3 Data Flow Diagram (DFD) Level 2 Untuk Enkripsi

Gambar 3.4 Data Flow Diagram (DFD) Level 2 Untuk Dekripsi

Gambar 3.5 Data Flow Diagram (DFD) Level 2 Untuk Proses Transaksi

(43)

3.4 Rancangan Database

Untuk mendesain atau merancang suatu sistem yang baik dan terstruktur dibutuhkan

basis data (database). Dalam hal ini harus dideskripsikan struktur atau susunan dari

basis data yang digunakan dalam merancang sistem antara lain sebagai berikut:

3.4.1Struktur Tabel

Tabel 3.1 Supplier

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdSupplier Varchar 5

Supplier Varchar 100

Alamat Varchar 250

Direktur Varchar 100

NoTelp Varchar 20

Setiap record data pada tabel Supplier berisi identitas Supplier dan diisikan sesuai

dengan nama field-nya masing-masing.

Tabel 3.2 Customer

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdCustomer Varchar 5

Customer Varchar 250

Alamat Varchar 250

NoTelp Varchar 20

Setiap record data pada tabel Customer berisi identitas Customer dan diisikan sesuai

(44)

Tabel 3.3 Login

Column Name Data Type Length Allow Nulls

Ω Kode Varchar 5

Setiap record data pada tabel Login diisikan sesuai dengan nama field-nya

masing-masing. Field Prog digunakan sebagai penanda untuk record yang telah dienkrip.

Nilai field “Prog” = 1 bermakna field tersebut telah mengalami proses enkripsi,

sedangkan nilai field “Prog” = 0 bermakna field tersebut belum mengalami proses

enkripsi (telah mengalami proses dekripsi). Field “MyKey” berisi data kunci yang

akan digunakan pada proses enkripsi maupun dekripsi.

Tabel 3.4 Satuan

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdSatuan Varchar 2

Satuan Varchar 50

Setiap record data pada tabel Satuan berisi identitas data satuan seperti buah, lusin,

paket, dan sebagainya.

Tabel 3.5 Kriteria

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω KdKriteria Varchar 1

Kriteria Varchar 20

Setiap record data pada tabel Kriteria berisi identitas data kriteria barang seperti

(45)

Tabel 3.6 Setup

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Aktif Bit 1

Perusahaan Varchar 50

Status Varchar 50

NoTelp Varchar 30

Alamat Varchar 250

NoSIUP Varchar 50

MasaBerlakuSiup DateTime 8

Izin Varchar 250

NoTelpDirektur Varchar 30

AlamatDirektur Varchar 250

Setiap record data pada tabel Setup berisi identitas data perusahaan berupa nama

perusahaan, direktur, alamat, dan lain-lain. Fungsi field “Tahun” digunakan sebagai

tahun transaksi, dan field “Aktif” digunakan sebagai penanda tahun pengisian

transaksi.

Tabel 3.7 Barang

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

KdBarang Varchar 5

Barang Varchar 250

KdKriteria Varchar 1

(46)

Setiap record data pada tabel Barang berisi identitas data barang maupun jasa yang

dijual atau dibeli oleh perusahaan.

Tabel 3.8 Pembelian

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω Bulan Varchar 2

Ω KdPembelian Varchar 5

TglBeli DateTime 8

KdSupplier Varchar 5

Keterangan Varchar 250

Setiap record data pada tabel Pembelian berisi data transaksi pembelian yang

dilakukan oleh perusahaan.

Tabel 3.9 Pembeliandt

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Setiap record data pada tabel Pembeliandt berisi data rincian transaksi pembelian

yang dilakukan oleh perusahaan.

Tabel 3.10 Penjualan

Column Name Data Type Length Allow Nulls

(47)

Ω Bulan Varchar 2

Ω KdPenjualan Varchar 5

TglJual DateTime 8

KdCustomer Varchar 5

Keterangan Varchar 250

Setiap record data pada tabel Penjualan berisi data transaksi penjualan yang dilakukan

oleh perusahaan.

Tabel 3.11 Penjualandt

Column Name Data Type Length Allow Nulls

Ω Tahun Varchar 4

Ω Bulan Varchar 2

Ω KdPenjualan Varchar 5

Urut Int 4

KdBarang Varchar 5

Jumlah Decimal 9

Harga Decimal 9

Total Decimal 17 √

Setiap record data pada tabel Penjualandt berisi data rincian transaksi penjualan yang

dilakukan oleh perusahaan.

Tabel 3.12 Status

Column Name Data Type Length Allow Nulls

Status Varchar 50

Data pada tabel ini berisi Status dari para user apakah sebagai Supervisor atau

(48)

3.4.2Struktur Relasi Antar Tabel

Untuk menjaga hubungan antar tabel diperlukan suatu rancangan diagram database,

dimana harus dibuatkan relasi antar tabel. Berikut adalah rancangan diagram antar

tabel:

Gambar 3.6 Struktur Relasi Antar Tabel

3.4.3Struktur View

Untuk melakukan manipulasi data, dalam hal pembuatan laporan diperlukan suatu

hubungan tersendiri antar tabel, dimana data dari tabel yang satu dapat digunakan

(49)

a. Supplier

Gambar 3.7 View Supplier

Struktur View Supplier ini digunakan untuk membuat laporan data Supplier.

b. Customer

Gambar 3.8 View Customer

Struktur View Customer ini digunakan untuk membuat laporan data Customer.

c. Satuan

Gambar 3.9 View Satuan

Struktur View Satuan ini digunakan untuk membuat laporan data Satuan barang/

(50)

d. Kriteria

Gambar 3.10 View Kriteria

Struktur View Kriteria ini digunakan untuk membuat laporan data Kriteria barang/

jasa.

e. Barang

Gambar 3.11 View Barang

(51)

f. Pembelian

Gambar 3.12 View Pembelian

Struktur View Pembelian ini digunakan untuk membuat laporan data Pembelian

barang/ jasa.

g. Penjualan

Gambar 3.13 View Penjualan

Struktur View Penjualan ini digunakan untuk membuat laporan data Penjualan

(52)

BAB 4

PERANCANGAN DAN IMPLEMENTASI

4.1 Perancangan Antar Muka

Aplikasi akan dirancang dalam bentuk aplikasi sistem informasi yang bisa

diimplementasikan pada sistem intranet. Interface disediakan untuk memudahkan

pengguna dalam memberikan input berupa beberapa parameter yang diperlukan, serta

menampilkan hasilnya, termasuk di dalamnya proses enkripsi maupun dekripsi data,

yang dalam hal ini menggunakan algoritma One Time Pad.

Disamping itu, penggunaan perancangan interface ini nantinya akan dapat

memudahkan analis dalam mendeskripsikan hasil rancangan ke dalam bentuk suatu

kode program, yang dimana perancangan ini menggunakan bahasa pemrograman

Visual Basic 6.0.

Visual Basic merupakan bahasa pemrograman yang digunakan dalam

mengembangkan aplikasi interface. Dalam Visual Basic semua objek sudah

disediakan, programer tinggal mengambil sesuai dengan kebutuhan. Selain itu sarana

pengembang yang bersifat Visual memudahkan programer dalam mengembangkan

program aplikasi berbasis Windows.

Adapun kelebihan dari bahasa pemrograman Visual Basic 6.0 ini, antara lain :

1. Bahasa yang sederhana. Banyak hal yang mungkin sulit dilakukan jika

menggunakan bahasa pemrograman lainnya, akan dapat dilakukan dengan mudah

(53)

2. Karena Visual basic sangat populer, maka sangat banyak sumber-sumber yang

dapat digunakan untuk belajar dan mengembangkan kemampuan, baik berupa

buku, web site, dan lain sebagainya. Dengan banyaknya sumber-sumber tersebut,

maka tentu saja akan sangat mudah menemukan jawaban atas persoalan yang

dihadapi.

3. Bisa memperoleh banyak tools baik gratis maupun tidak di Internet yang akan

sangat membantu menghemat waktu dalam pemrograman.

SISTEM INFORMASI

Menu Master Menu Transaksi Menu Report Menu Windows

Supplier Barang Data Master Transfer

Customer Pembelian Data Transaksi About

User Login Penjualan Help

Satuan Exit

Kriteria

Setup Parameter

Enkripsi & Dekripsi

Gambar 4.1 Perancangan Tampilan Daftar Menu Sistem Informasi

Dalam perancangan ini, terdapat 4 menu yaitu menu Master, menu Transaksi,

menu Report dan menu Windows.

1. Menu Master

Menu ini berfungsi sebagai tempat mengisi, mengubah maupun menghapus data

master, yang nantinya akan digunakan pada saat proses pengentrian data transaksi

maupun pada saat pencetakan laporan.

Pada menu ini dibagi menjadi 7 sub bagian, yang masing-masing sub menu

(54)

untuk sub menu “Enkripsi & Dekripsi” merupakan tempat/ form proses enkripsi

maupun dekripsi data yang nantinya akan dibangun dengan menggunakan

algoritma Kriptografi One Time Pad.

2. Menu Transaksi

Menu ini berfungsi sebagai tempat mengisi, mengubah maupun menghapus data

transaksi perusahaan, baik itu berupa pembelian maupun penjualan produk.

3. Menu Report

Menu ini berfungsi sebagai tempat akhir kegiatan, dimana data yang telah dientri

akan diproses dan dilakukan proses filter data sesuai dengan instruksi dari user dan

akan ditampilkan pada kertas/ hard copy.

4. Menu Windows

Menu ini berfungsi sebagai menu tambahan pada sistem informasi yang akan

dibangun. Adapun sub menu pada menu ini antara lain, menu transfer yang akan

melakukan duplikasi data master untuk tahun selanjutnya (user tidak perlu lagi

melakukan pengentrian data yang sama untuk tahun yang berbeda).

Adapun tampilan/ interface untuk form pada sistem informasi yang akan

dibangun adalah sebagai berikut:

1. Menu Master

Pada menu master ini terdapat 7 sub menu, diantaranya:

a. Supplier

(55)

Pada form ini, user dapat melakukan penambahan, pengeditan, maupun

penghapusan data Supplier. Untuk kode supplier diberi batas maksimal 5

(lima) karakter.

b. Customer

Gambar 4.3 Form Customer

Pada form ini, user dapat melakukan penambahan, pengeditan maupun penghapusan data Customer. Untuk kode customer diberi batas maksimal 5 (lima) karakter.

c. User Login

Gambar 4. 4 Form User

(56)

enkripsi maupun dekripsi data user. Proses penambahan user ini hanya boleh dilakukan oleh user dengan level supervisor.

d. Satuan

Gambar 4.5 Form Satuan

Pada form ini, user dapat melakukan penambahan, pengeditan maupun penghapusan data satuan, yang nantinya data pada form ini akan digunakan pada saat pengisian data barang.

e. Kriteria

Gambar 4.6 Form Kriteria

(57)

f. Setup Parameter

Gambar 4.7 Form Setup Parameter

Pada form ini, user dapat melakukan penambahan, pengeditan maupun penghapusan data master yang berhubungan dengan data perusahaan, diantaranya tahun transaksi, nama perusahaan, direktur, dan lain sebagainya. Fungsi check box “Aktif” adalah sebagai penanda tahun transaksi yang akan dilakukan.

g. Enkripsi & Dekripsi Data Perusahaan

Gambar 4.8 Form Enkripsi dan Dekripsi

Pada form ini, user dapat melakukan proses enkripsi maupun dekripsi pada

data user yaitu pada field password. Proses enkripsi maupun dekripsi ini akan

(58)

melakukan proses ini adalah user yang mempunyai kedudukan sebagai

supervisor.

2. Menu Transaksi

Pada menu Transaksi ini terdapat 3 sub menu, diantaranya:

a. Barang

Gambar 4.9 Form Barang

Pada form ini, user dapat melakukan proses penambahan, pengeditan maupun

penghapusan data barang. Untuk data kriteria dan satuan, datanya diambil dari

tabel master, sehingga user tidak perlu lagi mengetikkan data tersebut, cukup

hanya dengan memilih data yang sesuai.

b. Pembelian

(59)

Pada form ini, user dapat melakukan proses pengentrian, pengeditan maupun penghapusan data pembelian. Untuk data supplier, cukup dengan menekan spasi pada keyboard, maka akan muncul list box data supplier yang datanya berasal dari tabel master.

Gambar 4.11 Form Rincian Pembelian

Pada form ini, user dapat melakukan proses penambahan, pengeditan maupun penambahan data pembelian yang datanya disesuaikan dengan nomor kode pembelian

c. Penjualan

Gambar 4.12 Form Penjualan

(60)

muncul yang datanya berasal dari tabel master, sehingga user dapat dengan mudah memilih customer yang akan dientri.

Gambar 4.13 Form Rincian Penjualan

Pada form ini, user dapat melakukan proses penambahan, pengeditan maupun

penambahan data penjualan yang datanya disesuaikan dengan nomor kode

penjualan.

3. Menu Report

Pada menu Report ini terdapat 2 sub menu, diantaranya:

a. Data Master

Gambar 4.14 Form Laporan Data Master

Pada form ini, user dapat melakukan proses pencetakan data yang berasal dari

pengentrian data master. Masing-masing tombol mempunyai fungsi yang

(61)

b. Data Transaksi

Gambar 4.15 Form Laporan Data Transaksi

Pada form ini, user dapat melakukan proses pencetakan data yang berasal dari pengentrian data transaksi. Masing-masing tombol mempunyai fungsi yang disesuaikan dengan judul dari masing-masing tombol.

4. Menu Windows

Pada menu Windows ini terdapat 4 sub menu, diantaranya:

a. Transfer

Gambar 4.16 Form Transfer

Form ini berfungsi untuk mentransfer data dari tahun asal ke tahun tujuan,

sehingga user tidak perlu lagi melakukan pengentrian data yang sama untuk

tahun yang berbeda.

b. About

Gambar

Gambar 3.2 Data Flow Diagram (DFD) Level 1
Gambar 3.5 Data Flow Diagram (DFD) Level 2 Untuk Proses Transaksi
Tabel 3.2 Customer
Tabel 3.7 Barang
+7

Referensi

Dokumen terkait

Ketidakpastian akan harga merupakan salah satu faktor yang menyebabkan kegagalan pasar (Market Failure) sehingga menyebabkan pasar terdistorsi dan output ekonomi tidak tercapai

STUDI PERBEDAAN PERSEPSI KONSEP SISWA DALAM MENGARTIKAN SOAL BENTUK GAMBAR DAN SOAL BENTUK URAIAN SEBAGAJ.. UPAYA PENINGKATAN PEMAHAMAN PADA POKOK BAHASAN FLUIDA BERGERAK Dl

Kegiatan pengabdian yang dilakukan adalah pelatihan pembuatan media flipbook bagi guru SMA Muhammadiyah se-DKI Jakarta. Mitra kegiatan pengabdian yang dilakukan adalah Dikdasmen PWM

Murabahah merupakan salah satu bentuk penghimpun dana yang dilakukan oleh perbankan syariah, baik untuk kegiatan usaha. secara umum, nasabah pada perbankan syariah

Faktor preferensi konsumen yang mempengaruhi keputusan pembelian yaitu kualitas produk sayuran organik, keramahan dan kesopanan karyawan dalam melayani konsumen,

Hasil penelitian yang berkaitan dengan Peningkatan Keterampilan Proses Siswa Dalam Pembelajaran Ilmu Pengetahuan Alam dengan menggunakan metode inkuiri di Kelas V Sekolah

BUPATI INTAN JAYA CAP/TTD NATALIS TABUNI KEPALA DINAS KELOMPOK JABATAN FUNGSIONAL SEKRETARIAT SUB BAGIAN UMUM

Sebuah perusahaan yang melakukan bisnis di internet akan mengurangi biaya tambahan karena biaya tersebut tidak digunakan untuk gedung dan pelayanan pelanggan (customer service),