• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA"

Copied!
25
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

2.1 Dokumen Digital

Dokumen adalah sebuah tulisan yang memuat data dan informasi. Biasanya, dokumen ditulis di kertas dan informasinya ditulis memakai tinta baik memakai tangan atau memakai media elektronik (seperti printer). Dokumen merupakan suatu sarana transformasi informasi dari satu orang ke orang lain atau dari suatu kelompok ke kelompok lain. Dokumen meliputi berbagai kegiatan yang diawali dengan bagaimana suatu dokumen dibuat, dikendalikan, diproduksi, disimpan, didistribusikan, dan digandakan. Dokumen sangat penting, baik dalam kehidupan sehari-hari, organisasi, maupun bisnis.[1]

Dokumen digital merupakan setiap informasi elektronik yang dibuat, diteruskan, dikirimkan, diterima, atau disimpan dalam bentuk analog, digital, elektromagnetik, optikal, atau sejenisnya, yang dapat dilihat, ditampilkan dan didengar melalui komputer atau sistem elektronik tetapi tidak terbatas pada tulisan, suara atau gambar, peta, rancangan, foto atau sejenisnya, huruf, tanda, angka, kode akses, simbol yang memiliki makna atau arti atau dapat dipahami oleh orang yang mampu memahaminya.

Dokumen digital dapat dihasilkan dengan menggunakan aplikasi pengolah kata (word processor) seperti Microsoft Word, Notepad atau OpenOffice untuk menghasilkan sebuah berkas komputer dengan ekstension yang berbeda-beda sesuai dengan aplikasi pengolah kata yang digunakan.

(2)

2.1.1 Pengolahan Dokumen Digital

Untuk mengolah suatu dokumen digital, dibutuhkan perangkat lunak (software) khusus yang sering disebut dengan perangkat lunak pengolah kata (Word Processor). Perangkat lunak pengolah kata adalah suatu aplikasi komputer yang digunakan untuk menyusun, menyunting, memformat dan mencetak segala jenis bahan yang dapat dicetak. Adapun contoh dari perangkat lunak pengolah kata yang sering digunakan adalah Microsoft Word, OpenOffice Writer, Adobe Acrobat dan Foxit PDF Creator.

1. Microsoft Word

Microsoft Word atau sering disebut dengan Microsoft Office Word adalah perangkat lunak pengolah kata (word processor) yang diproduksi oleh Microsoft. Perangkat lunak ini pertama diterbitkan pada tahun 1983 dengan nama Multi-Tool Word untuk Xenix. Seiring dengan perkembangan zaman, versi-versi lain kemudian dikembangkan untuk berbagai sistem operasi, misalnya DOS (1983), Apple Macintosh (1984), SCO UNIX, OS/2, dan Microsoft Windows (1989). Perangkat lunak ini kemudian berubah nama menjadi Microsoft Office Word setelah menjadi bagian dari Microsoft Office System 2003 dan 2007.

Konsep yang digunakan oleh Microsoft Office Word adalah WYSIWYG (What You See Is What You Get). WYSIWYG merupakan sebuah konsep sistem dimana konten yang sedang disunting akan terlihat sama persis dengan hasil keluaran akhir, yang mungkin berupa dokumen yang dicetak, halaman web, slide presentasi, atau bahkan sebuah animasi bergerak.

Microsoft Office Word merupakan perangkat lunak pengolah kata pertama yang mampu menampilkan tulisan cetak miring atau cetak tebal pada IBM PC sementara perangkat lunak pengolah kata lain hanya menampilkan teks dengan kode markup dan warna untuk menandai pemformatan cetak tebal atau miring.

(3)

2. OpenOffice.org Writer

OpenOffice.org Writer adalah salah satu komponen dalam OpenOffice.org yang berfungsi untuk mengedit dokumen adapun dokumen format yang bisa digunakan adalah .doc .odt .rtf dan dapat dikonversi dalam bentuk .pdf dengan sekali klik.

OpenOffice.org Writer memiliki fitur pengolah kata modern seperti AutoCorrect, AutoComplete, AutoFormat, Styles and Formatting, Text Frames, Linking, Tables of Contents, Indexing, Bibliographical References, Illustrations dan Tables.

Perangkat lunak ini sangat mudah digunakan untuk membuat memo cepat, sangat stabil dan mampu untuk membuat dokumen dengan banyak halaman serta banyak gambar dan judul heading. Selain itu, kelebihannya adalah pengaturan formating untuk bullet and number yang sangat mudah (diatur terintegrasi melalui satu toolbar).

3. Foxit PDF Creator

Foxit PDF Creator merupakan sebuah perangkat lunak pengolah kata yang cepat dan mudah dalam membuat dokumen digital dengan format PDF dan mampu mengubah dokumen digital dengan format DOC, XLS, PPT, TXT, E-MAIL atau HTML ke format PDF.

Foxit PDF Creator menyediakan cara cepat dan dapat diandalkan untuk membuat dokumen PDF sehingga membantu penggunanya untuk menghasilkan file PDF yang akurat dalam waktu yang singkat dengan tetap mempertahankan tata letak asli dokumen digital yang dikonversi.

Dengan kemampuan pencarian yang kuat dan kinerjanya yang tinggi, Foxit PDF Creator mampu menampilkan dan mengolah PDF dalam ukuran yang kecil, dalam waktu yang cepat dan tingkat akurasi yang tinggi menjadi format yang diinginkan pengguna.

(4)

4. Adobe Acrobat

Adobe Acrobat merupakan sebuah perangkat lunak pengolah kata yang dapat mengkonversi suatu dokumen digital menjadi sebuah file dalam format PDF.

Dokumen digital yang dihasilkan oleh adobe acrobat dapat ditampilkan pada sebuah web browser dengan tampilan dan isi yang sama dengan dokumen aslinya. Adobe Acrobat menyediakan tools keamanan untuk membatasi akses terhadap file hasil konversi, misalnya mencegah orang lain untuk melakukan pencetakan atau pengubahan terhadap dokumen digital. Adobe Acrobat berbeda dengan Acrobat Reader, dimana adobe reader hanya dapat membaca file PDF tanpa dapat mengkoversi suatu file ke format PDF.

2.1.2 Format Dokumen Digital

Dokumen digital memiliki beberapa format sesuai dengan perangkat lunak pengolahan yang digunakan untuk menghasilkan dokumen digital tersebut. Adapun beberapa jenis format dokumen digital yang sering dijumpai pada komputer adalah DOC, RTF dan PDF.

1. RTF (Rich Text Format)

Rich Text Format (RTF) adalah sebuah format dokumen yang dibuat oleh Microsoft, yang dibuat berdasarkan spesifikasi Document Content Architecture (DCA) yang dibuat oleh IBM untuk System Network Architecture (SNA). Format dokumen ini, dapat digunakan untuk mentransfer dokumen teks terformat antar aplikasi, baik itu di dalam satu platform atau platform yang berbeda seperti IBM PC dan Macintosh.

Meskipun termasuk ke dalam kelas dokumen teks terformat, format RTF ini tetap menggunakan standar pengkodean ANSI, ASCII, PC-8, Macintosh, Unicode atau IBM PC Character Set untuk mengontrol representasi dan pemformatan dari sebuah dokumen, baik itu ketika ditampilkan di layar ataupun ketika dicetak di atas kertas.

(5)

Meskipun hanya berisi teks biasa, format ini dapat mendukung grafik dan tabel dalam sebuah dokumen, meski jika dalam dokumen terdapat gambar, ukurannya jauh lebih besar jika dibandingkan dengan format biner seperti format dokumen biner semacam Microsoft Word (*.doc) atau StarOffice Writer (*.sxw). Adapun bentuk tampilan dari file RTF yang diolah menggunakan Microsoft Word seperti terlihat pada Gambar 2.1.

(6)

Gambar 2.1 Contoh File RTF

(7)

2. DOC (Document)

DOC (document) merupakan jenis file untuk dokumen yang dibuat dengan perangkat lunak pengolah kata seperti Microsoft Word, Open Office Writer atau Abiword. Format file ini sangat populer dari dulu sampai sekarang dan sudah menjadi standard bagi format dokumen digital. Adapun contoh file DOC yang diolah menggunakan Microsoft Word seperti terlihat pada Gambar 2.2.

(8)

3. PDF (Portable Document Format)

PDF (Portable Document Format) adalah sebuah format berkas yang dibuat oleh Adobe System pada tahun 1993 untuk keperluan pertukaran dokumen digital. Format PDF digunakan untuk merepresentasikan dokumen dua dimensi yang meliputi teks, huruf, citra dan grafik vektor dua dimensi.

Antarmuka dokumen PDF pada umumnya tersusun atas kombinasi teks, grafik vektor, dan grafik raster. Grafik vektor digunakan untuk menampilkan ilustrasi yang terbentuk dari garis dan kurva, sedangkan grafik raster digunakan untuk menampilkan foto dan citra. Pada perbaikan format selanjutnya, dokumen PDF juga mampu mendukung hyperlink, forms, javascript, dan berbagai kemampuan lain yang dapat didukung dengan melakukan penambahan plugin. Dokumen PDF versi 1.6 telah memiliki kemampuan untuk menampilkan grafik tiga dimensi interaktif.

Berkas PDF dapat dibuat secara spesifik agar dapat diakses oleh orang-orang dengan cacat/keterbatasan fisik. Format berkas PDF dapat dilengkapi dengan label (tag) XML, teks ekuivalen, perbesaran visual teks (magnifier), penambahan fasilitas audio/suara, dan sebagainya. Berkas PDF dapat disandikan sehingga untuk dapat membuka atau mengeditnya diperlukan katakunci tertentu. Penyandian berkas PDF dilakukan dalam dua tingkat, yakni 40-bit dan 128-bit dengan menggunakan sistem sandi kompleks RC4 dan MD5. Berkas PDF juga dapat diberi pembatasan DRM untuk membatasi aktivitas penggandaan, penyuntingan, maupun pencetakan berkas tersebut. Adapun contoh file PDF yang diolah menggunakan Foxit Reader seperti terlihat pada Gambar 2.3.

(9)
(10)

2.2 Digital Signature

Digital signature adalah suatu teknik kriptografi yang betujuan untuk menjamin kepemilikan suatu data. Ada tiga alasan yang mendasari penggunaan digital signature, yaitu authentication, integrity dan non-repudiation. Keaslian pengirim (authentication) yang berkaitan dengan masalah kebenaran identitas pengirim. Keaslian informasi (integrity) berkaitan dengan keutuhan informasi. Anti penyangkalan (non-repudiation) mengandung arti agar pengirim tidak dapat menyangkal tentang isi informasi yang dikirim. Steganografi adalah seni dan teknik menyembunyikan informasi ke dalam suatu media agar tidak diketahui oleh seseorang kecuali penerima.[6]

2.2.1 Tujuan Digital Signature

Secara umum, tujuan dari penandatanganan suatu dokumen dengan menggunakan tanda tangan digital adalah sebagai berikut :

1. Bukti

Sebuah tanda tangan digital mengotentikasikan suatu dokumen dengan mengidentifikasikan penandatangan dengan dokumen yang ditandatangani.

2. Formalitas

Penandatanganan suatu dokumen ‘memaksa’ pihak yang menandatangani untuk mengakui pentingnya dokumen tersebut.

3. Persetujuan

Dalam beberapa kondisi yang disebutkan dalam hukum, sebuah tanda tangan digital menyatakan persetujuan pihak yang menandatangani terhadap isi dari dokumen yang ditandatangani.

4. Efisiensi

Sebuah tanda tangan digital pada sebuah dokumen dapat digunakan sebagai klarifikasi pada suatu transaksi dan menghindari akibat-akibat yang tersirat di luar apa yang telah dituliskan.

(11)

Untuk mencapai tujuan dari penandatanganan suatu dokumen tersebut, , sebuah tanda tangan digital harus mempunyai atribut-atribut sebagai berikut:

1. Otentikasi Penanda tangan

Sebuah tanda tangan digital harus dapat mengidentifikasikan siapa yang menandatangani dokumen tersebut dan susah untuk ditiru orang lain.

2. Otentikasi Dokumen

Sebuah tanda tangan digital harus dapat mengidentifikasikan apa yang ditandatangani, membuatnya tidak mungkin dipalsukan ataupun diubah (baik dokumen yang ditandatangani maupun tandatangannya).

Otentikasi penandatangan dan dokumen adalah alat untuk menghindari pemalsuan dan merupakan suatu penerapan konsep “nonrepudiation” dalam bidang keamanan informasi.

2.2.2 Prinsip Kerja Digital Signature

Digital Signature dibuat dengan menggunakan teknik kriptografi, suatu cabang dari matematika terapan yang menangani tentang pengubahan suatu informasi menjadi bentuk lain yang tidak dapat dimengerti dan dikembalikan seperti semula.

Tanda tangan digital menggunakan “public key cryptography” (kriptografi kunci publik), dimana algoritmanya menggunakan dua buah kunci, yang pertama adalah kunci untuk membentuk tanda tangan digital atau mengubah data ke bentuk lain yang tidak dapat dimengerti, dan kunci kedua digunakan untuk verifikasi tanda tangan digital ataupun mengembalikan pesan ke bentuk semula. Konsep ini juga dikenal sebagai “assymmetric cryptosystem” (sistem kriptografi non simetris).

Sistem kriptografi ini menggunakan kunci privat yang hanya diketahui oleh penandatangan dan digunakan untuk membentuk tanda tangan digital, serta kunci publik yang digunakan untuk verifikasi tanda tangan digital. Jika beberapa orang ingin memverifikasi suatu tanda tangan digital yang dikeluarkan oleh seseorang, maka kunci publik tersebut harus disebarkan ke orang-orang tersebut. Kunci privat dan kunci publik ini sesungguhnya secara matematis ‘berhubungan’ (memenuhi

(12)

persamaan-persamaan dan kaidah-kaidah tertentu). Walaupun demikian, kunci privat tidak dapat ditemukan menggunakan informasi yang didapat dari kunci publik.

Proses lain yang tak kalah penting adalah “fungsi hash”, digunakan untuk membentuk sekaligus memverifikasi tanda tangan digital. Fungsi hash adalah sebuah algoritma yang membentuk representasi digital atau semacam “sidik jari” dalam bentuk “nilai hash” (hash value) dan biasanya jauh lebih kecil dari dokumen aslinya dan unik hanya berlaku untuk dokumen tersebut. Perubahan sekecil apapun pada suatu dokumen akan mengakibatkan perubahan pada “nilai hash” yang berkorelasi dengan dokumen tersebut. Fungsi hash yang demikian disebut juga “fungsi hash satu arah”, karena suatu nilai hash tidak dapat digunakan untuk membentuk kembali dokumen aslinya.

Oleh karenanya, fungsi hash dapat digunakan untuk membentuk tanda tangan digital. Fungsi hash ini akan menghasilkan “sidik jari” dari suatu dokumen (sehingga unik hanya berlaku untuk dokumen tersebut) yang ukurannya jauh lebih kecil daripada dokumen aslinya serta dapat mendeteksi apabila dokumen tersebut telah diubah dari bentuk aslinya.

Penggunaan tanda tangan digital memerlukan dua proses, yaitu dari pihak penandatangan serta dari pihak penerima. Secara rinci kedua proses tersebut dapat dijelaskan sebagai berikut:

1. Pembentukan tanda tangan digital menggunakan nilai hash yang dihasilkan dari dokumen serta kunci privat yang telah didefinisikan sebelumnya. Untuk menjamin keamanan nilai hash maka seharusnya terdapat kemungkinan yang sangat kecil bahwa tanda tangan digital yang sama dapat dihasilkan dari dua dokumen serta kunci privat yang berbeda.

2. Verifikasi tanda tangan digital adalah proses pengecekan tanda tangan digital dengan mereferensikan ke dokumen asli dan kunci publik yang telah diberikan, dengan cara demikian dapat ditentukan apakah tanda tangan digital dibuat untuk dokumen yang sama menggunakan kunci privat yang berkorespondensi dengan kunci publik.

(13)

Untuk menandatangani sebuah dokumen atau informasi lain, penandatangan pertama-tama membatasi secara tepat bagian-bagian mana yang akan ditandatangani. Informasi yang dibatasi tersebut dinamakan “message”. Kemudian aplikasi tanda tangan digital akan membentuk nilai hash menjadi tanda tangan digital menggunakan kunci privat. Tanda tangan digital yang terbentuk adalah unik baik untuk message dan juga kunci privat.

Umumnya, sebuah tanda tangan digital disertakan pada dokumennya dan juga disimpan dengan dokumen tersebut juga. Bagaimanapun, tanda tangan digital juga dapat dikirim maupun disimpan sebagai dokumen terpisah, sepanjang masih dapat diasosiasikan dengan dokumennya. Karena tanda tangan digital bersifat unik pada dokumennya, maka pemisahan tanda tangan digital seperti itu merupakan hal yang tidak perlu dilakukan.

Proses pembentukan dan verifikasi tanda tangan digital memenuhi unsur-unsur paling penting yang diharapkan dalam suatu tujuan legal, yaitu:

1. Otentikasi Penandatangan

Jika pasangan kunci publik dan kunci privat berasosiasi dengan pemilik sah yang telah didefinisikan, maka tanda tangan digital akan dapat menghubungkan/mengasosiasikan dokumen dengan penandatangan. Tanda tangan digital tidak dapat dipalsukan, kecuali penandatangan kehilangan kontrol dari kunci privat miliknya.

2. Otentikasi Dokumen

Tanda tangan digital juga mengidentikkan dokumen yang ditandatangani dengan tingkat kepastian dan ketepatan yang jauh lebih tinggi daripada tanda tangan di atas kertas.

3. Penegasan

Membuat tanda tangan digital memerlukan penggunaan kunci privat dari penandatangan. Tindakan ini dapat menegaskan bahwa penandatangan setuju dan bertanggung jawab terhadap isi dokumen.

4. Efisiensi

Proses pembentukan dan verifikasi tanda tangan digital menyediakan tingkat kepastian yang tinggi bahwa tanda tangan yang ada merupakan tanda tangan sah

(14)

dan asli dari pemilik kunci privat. Dengan tanda tangan digital , tidak perlu ada verifikasi dengan melihat secara teliti (membandingkan) antara tanda tangan yang terdapat di dokumen dengan contoh tanda tangan aslinya seperti yang biasa dilakukan dalam pengecekan tanda tangan secara manual.

2.3 Undeniable Signature

Undeniable Signature ialah skema tanda tangan digital di mana untuk memverifikasi tanda tangan digital diperlukan persetujuan pemberi tanda tangan, biasanya proses verifikasi berlangsung dengan sepengetahuan pemberi tanda tangan. Skema tersebut disebut juga non-self-athenticating signature schemes. Jika sebuah tanda tangan digital hanya dapat diverifikasi dengan persetujuan pemberi tanda tangan, pemberi tanda tangan tersebut mungkin saja menolak ketika diminta untuk mengotentifikasi dokumen yang ia tanda tangani. Undeniable Signature dapat memecahkan masalah seperti ini dengan menggunakan sebuah protokol yang disebut disavowal protocol pada skema tanda tangan digital. Skema undeniable signature pertama kali diusulkan oleh David Chaum dan Hans van Antwerpen dalam makalah mereka.[9]

Skema undeniable signature diimplementasikan dengan menggunakan kriptografi kunci publik dengan berbasiskan masalah logaritma diskrit. Bagian penandatanganan dari skema ini mirip dengan algoritma lain yang juga menggunakan logaritma diskrit. Hanya saja pada proses verifikasi mengalami modifikasi. Proses verifikasi dilakukan dengan menggunakan protokol tanya-jawab di mana pihak yang ingin memverifikasi pesan atau dokumen mengirimkan pertanyaan kepada pemberi tanda tangan dan melihat jawaban yang diberikan untuk memverifikasi tanda tangan pada dokumen atau pesan yang ia terima. Proses penyangkalan juga berlangsung mirip dengan proses verifikasi.

Penerima mengirimkan pertanyaannya dan respons dari pengirim pesan menunjukkan bahwa tanda tangan yang terdapat pada dokumen tersebut bukanlah tanda tangannya. Kemungkinan bahwa pemberi tanda tangan berhasil menipu pemverifikasi tanda tangan baik pada proses verifikasi maupun proses

(15)

penyangkalan ialah sebesar 1/p di mana p adalah bilangan prima yang digunakan sebagai kunci privat pemberi tanda tangan. Rata-rata panjang kunci privat ialah 768 bit, oleh karena itu kemungkinan bahwa pemberi tanda tangan dapat melakukan penyangkalan bernilai sangat kecil sekali.

Undeniable signature memiliki dua buah fitur utama :

1. Verifikasi tanda tangan berlangsung secara interaktif. Pemberi tanda tangan dapat membatasi siapa yang dapat memverifikasi tanda tangannya.

2. Protokol penyangkalan (disaproval protocol), yaitu sebuah protokol untuk menyatakan bahwa tanda tangan digital yang diberikan merupakan tanda tangan yang palsu.

Fitur pertama mengimplikasikan bahwa pemberi tanda tangan dapat membatasi proses verifikasi sehingga hanya dapat dilakukan oleh orang-orang yang memiliki otoritas untuk membaca pesan atau dokumen yang ia tanda tangani.

Akibatnya jika pesan atau dokumen tersebut terbaca oleh pihak lain yang tidak memiliki otoritas, maka pihak ketiga tadi tidak dapat melakukan verifikasi terhadap dokumen itu.

Akan tetapi akibat adanya fitur pertama tersebut, pemberi tanda tangan bisa jadi mengingkari tanda tangan yang sebenarnya valid. Untuk mencegah hal tersebut maka digunakanlah properti yang kedua, sebuah metode untuk membuktikan bahwa sebuah tanda tangan digital adalah tanda tangan digital yang palsu.

Secara umum undeniable Signature memiliki tiga buah karakteristik utama yaitu:

1. Tanda tangan digital hanya dapat di verifikasi dengan kerja sama pemberi tanda tangan, namun tetap memiliki kapabilitas anti-penyangkalan. 2. Pemverifikasi tidak dapat mengecek validitas sebuah tanda tangan digital

(16)

3. Jika pemberi tanda tangan tidak bersedia untuk bekerja sama dalam memverifikasi pesan atau ia tidak dapat dimintai kerjasamanya maka penerima pesan juga tidak dapat memverifikasi pesan yang ia terima.

Kegunaan lain dari undeniable signature yaitu pada kasus perusahaan perangkat lunak yang menggunakan tanda tangan digital sebagai sarana untuk mengotentifikasi bahwa produk perangkat lunak yang mereka buat hanya dapat digunakan oleh pelanggan yang benar-benar berhak untuk menggunakannya. Misalnya hanya pelanggan yang telah membayar.

Telah banyak terdapat skema undeniable signature yang diusulkan. Di antaranya ialah MOVA undeniable signature yang diusulkan oleh Jean Monnerat dan Serge Vaudenay, convertible undeniable signature yang memiliki varian yang cukup banyak, ID-Based undeniable signature, RSA-based undeniable signature, group undeniable signature yang dajukan oleh Lyuu dan Wu, lalu ada pula anonymous undeniable signature dengan berbagai pengembangannya.

Dari sekian banyak skema undeniable signature, diambil tiga buah skema yang cukup menarik untuk dibahas yaitu confirmer signature scheme, fair anonymous undeniable signature dan group undeniable signature.

2.4 Algoritma Chaum’s Blind Signature

Algoritma Chaum’s Blind Signature adalah penandatanganan pesan yang dibuat oleh si pengirim pesan, dan ditandatangani oleh penerima pesan. Pada Blind Signature, pesan ditandatangani si penandatangan tanpa mengetahui isi pesan yang akan ditandatangani terlebih dahulu.

Mekanisme Blind Signature adalah sebagai berikut:

1. Pihak pengirim pesan membangkitkan faktor blinding secara acak terhadap dokumen yang bersangkutan, kemudian mengirimkan dokumen yang telah disamarkan tersebut ke pihak penerima.

(17)

Pengirim pesan mengeluarkan faktor blinding dari dokumen sehingga yang tertinggal pada dokumen tersebut adalah isi pesan yang sebenarnya dan tanda tangan penerima pesan. Sebenarnya mekanisme ini dapat dimanfaatkan oleh pihak-pihak tertentu untuk kepentingan sepihak yang mungkin dapat merugikan si pemberi tanda tangan, misalnya untuk menandatangani bukti bahwa si pemberi tanda tangan berhutang kepada seseorang, dan sebagainya. Karena itu untuk mencegah dampak negatif yang ditimbulkan dari adanya Blind Signature ini adalah dengan menerapkan konsep probabilitas, yaitu dengan mengambil sampel dokumen. Jika sampel dokumen yang dipilih berisi pesan yang wajar menurut penerima pesan, maka pesan lainnya dianggap sama wajarnya. Mekanismenya adalah sebagai berikut:

1. Pengirim mengirimkan n pesan yang telah disisipkan faktor blinding di dalamnya kepada penerima, kemudian penerima memilih pesan sejumlah n-1. 2. Penerima meminta faktor blinding dari sejumlah n-1 dokumen yang dipilihnya ke

pengirim.

3. Penerima dapat membuka pesan tersebut setelah menghilangkan faktor blinding.

Setelah memastikan bahwa isi n-1 pesan benar menurut pandangan penerima, kemudian seluruh dokumen ditandatangani oleh penerima pesan. Dengan adanya mekanisme baru seperti ini kemungkinan pengirim pesan untuk melakukan kecurangan kecil, yaitu 1 banding n, karena pengirim tidak pernah tahu pesan mana yang dipilih oleh penerima.[8]

Dengan skema Blind Signature, seseorang dapat mendapatkan tanda tangan pada sebuah pesan dari si penandatangan yang tidak mengetahui isi pesan dan tidak dapat mengekstrak pesan. Skema Blind Signature mempunyai properti blindness dan untraceability, untuk menjamin kerahasiaan pengirim dan menghilangkan keterhubungan antara pesan dengan tanda tangan. Karena itu Blind Signature biasanya digunakan untuk memfasilitasi kerahasiaan pengguna sistem.

Berdasarkan prinsip yang dimilikinya, Blind Signature dapat digunakan di aplikasi seperti Sistem Cash Payment dan Sistem Voting Elektronik. Misalnya pada Sistem Voting setiap kotak suara harus disahkan oleh pihak yang berwenang terhadap

(18)

pemilihan sebelum diperhitungkan. Di luar sistem pihak ini seharusnya mengecek apakah pemilih memang memenuhi syarat sebagai pemilih dan tidak memilih lebih dari satu kali dengan memasukkan ke kotak suara yang lain. Dalam hal ini penghitung suara tidak mengetahui bahwa subjek S dipilih pemilih mana saja, atau bahkan apakah subjek S dipilih oleh pemilih P. Informasi keterhubungan seperti ini tidak ada sehingga tidak mungkin menelusuri kotak suara tersebut (unblinded).

Bentuk pesan yang telah mengalami blinding pada Blind Signature adalah sebagai berikut:

M’ = B(M, R) Keterangan:

M = pesan semula

R = kunci blinding yang dipilih

M’ = pesan setelah dikenakan fungsi Blinding

Penandatangan mengembalikan pesan S’ untuk di unblind oleh pengguna, pengguna melakukan komputasi terhadap tanda tangan S pada pesan awal M dengan menggunakan fungsi Unblinding U dengan menerima S’ dan R sebagai input. S’ adalah tanda tangan dari si penandatangan pada pesan M’.

Sedangkan fungsi Blinding dan Unblinding pada skema Blind Signature adalah sebagai berikut : 1. Fungsi Blinding: B(M, R) = RE M (mod N) 2. Fungsi Unblinding: U(S’, R) = R-1 S’(mod N)

RSA-Signature adalah modifikasi skema RSA yang di ajukan oleh Chaum. Algoritma RSA hasil modifikasi yang untuk seterusnya disebut sebagai skema Chaum yang untuk seterusnya sebagai berikut:

SE = M (mod N) Keterangan:

(19)

E = eksponen publik N = p.q

p, q = bilangan prima yang relatif besar M = pesan yang ditandatangani S = tanda tangan RSA dari pesan M

Proses blinding pada Blinding Signature membutuhkan komputasi untuk mengantisipasi seluruh kemungkinan jenis tanda tangan. Untuk sebuah jenis kurang lebih ada sekitar lebih dari satu tanda tangan yang harus diantisipasi. Untuk itu dicetuskan skema Blind Unanticipated Signature. Skema ini membutuhkan komputasi sejumlah tertentu saja selama blinding untuk mengantisipasi berbagai kemungkinan tanda tangan yang diberikan pengguna yang berjumlah tak terhingga.

2.5 Flowchart (Bagan Alir)

Flowchart merupakan bagan alir program yang sifatnya terperinci tentang langkah-langkah proses didalam program dari awal sampai akhir. Flowchart digunakan sebagai alat bantu pengembangan sistem yang menjelaskan aliran proses yang terjadi pada perancangan sebuah sistem. Adapun simbol-simbol flowchart seperti pada Tabel 2.1

(20)

Tabel 2.1 Simbol-Simbol Flowchart

No Simbol Keterangan

1 Simbol ini digunakan untuk memulai dan

mengakhiri program

2 Simbol ini digunakan untuk melakukan

input dan output suatu program

3 Simbol ini digunakan untuk melakukan

perulangan dalam keputusan

4 Simbol ini digunakan untuk menguji pilihan

untuk mengambil keputusan

5 Simbol ini digunakan melanjutkan

flowchart pada halaman berikutnya sebagai penghubung

6 Simbol ini digunakan untuk penghubung

melanjutkan program dalam satu halaman atau halaman berikutnya

7 Simbol ini digunakan untuk menunjuk arah

program

2.6 Use Case Diagram

Use Case Diagram adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar dan menjelaskan sistem secara fungsional yang terlihat user. Biasanya dibuat pada awal pengembangan. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem.[3]

Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam

(21)

dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Use case diagram dapat digunakan selama proses analisis untuk menangkap requirements sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use case diagram berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa use case diagram. Kebutuhan atau requirements sistem adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan pada model use case yang menggambarkan fungsi sistem yang diharapkan (use case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use case (use case diagram) itu sendiri.

Adapun beberapa notasi yang digunakan dalam sebuah use case diagram adalah sebagai berikut :

1. Actor

Actor adalah sebuah entitas manusia atau mesin yang erinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Adapun bentuk dari notasi actor dalam use case diagram seperti terlihat pada Gambar 2.4.

(22)

2. Case

Case digunakan untuk menggambarkan deskripsi yang melibatkan actor. Adapun bentuk dari notasi case dalam use case diagram seperti terlihat pada Gambar 2.5.

Gambar 2.5 Notasi Case

3. Extend

Extend merupakan relasi yang digunakan jika use case yang satu mirip dengan use case yang lain. Adapun bentuk dari notasi extend dalam use case diagram seperti terlihat pada Gambar 2.6.

Gambar 2.6 Notasi Extend

4. Include

Include merupakan relasi jika terdapat perilaku yang mirip dengan beberapa use case. Adapun bentuk notasi include dalam use case diagram seperti terlihat pada Gambar 2.7.

Gambar 2.7 Notasi Include

2.7 Activity Diagram

Activity Diagram (diagram aktivitas) merupakan diagram flowchart yang disempurnakan. Diagram aktivitas menggambarkan operasi pada suatu Obyek atau proses pada sebuah organisasi. Kelebihan diagram aktivitas dibandingkan dengan diagram flowchart adalah adanya dukungan konkurensi (pelaksanaan aktivitas secara bersamaan), pengiriman pesan dan swimlane (pelaku/penanggung jawab aktivitas). Diagram aktivitas sangat berguna ketika ingin menggambarkan perilaku paralel atau menjelaskan bagaimana perilaku dalam berbagai use case berinteraksi.[3]

<<Extend>>

(23)

Diagram aktivitas diawali dengan lingkaran hitam, dan diakhiri dengan lingkaran hitam bertepi putih. Aktivitas digambarkan dengan kotak persegi panjang bersudut lengkung. Setiap aktivitas dihubungkan dengan panah dari awal hingga akhir diagram aktivitas.

Sama halnya dengan diagram flowchart, diagram aktivitas pun memiliki simbol yang sama untuk menggambarkan keputusan. Keputusan digambarkan dengan intan, namun detugsa akhir kondisi yang menyertai keputusan diletakkan diluar simbol intan. Diagram aktivitas dapat menggambarkan konkurensi, yaitu satu atau lebih aktivitas yang berjalan secara bersamaan. Konkurensi diawali dengan sebuah garis tebal horizontal yang menjadi tempat keluarnya garis aktivitas. Konkurensi juga diakhiri dengan garis tebal horizontal. Adapun simbol-simbol yang digunakan dalam diagram aktivitas seperti terlihat pada Tabel 2.2.

Tabel 2.2 Simbol-Simbol Diagram Aktivitas

Simbol Keterangan

Titik Awal atau permulaan. Titik Akhir atau akhir dari aktivitas.

Decision, atau pilihan untuk mengambil keputusan.

Arah tanda panah alur proses. Aktivitas yang dilakukan oleh aktor.

2.8 Algoritma

Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan

(24)

catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.[4]

Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.

Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.

1. Divide and Conquer

Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

(25)

2. Dynamic programming

Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

3. Greedy Algorithm

Greedy Algorithm mirip dengan sebuah pemrograman dinamik, bedanya jawaban dari sub masalah tidak perlu diketahui dalam setiap tahap dan menggunakan pilihan apa yang dilihat terbaik pada saat itu.

Gambar

Gambar 2.2 Contoh File Doc
Gambar 2.3 Contoh File PDF
Tabel 2.1 Simbol-Simbol Flowchart
Gambar 2.4 Notasi Actor
+2

Referensi

Dokumen terkait

Selanjutnya apabila kita berbi- cara dengan berbahasa dengan tumpuan pada la- wan tutur misalnya agar orang yang kita ajak berbicara tidak tersinggung agar lawan bicara

Hasil analisis kandungan rata-rata logam Pb, Cu dan Zn pada sedimen di Perairan Pantai Telaga Tujuh dibandingkan dengan standar konsentrasi ERL ( Effects Range Low) dan

Maklumat ini hanya khusus untuk bahan tertentu dan boleh menjadi tidak sah untuk bahan tersebut apabila ia digunakan bersama dengan sebarang bahan lain atau dalam sebarang

Tahniah dan syabas diucapkan kepada Jemaah Nazir Sekolah, Kementerian Pelajaran Malaysia atas inisiatif menerbitkan Standard Kualiti Pengurusan Dan Pengajaran Sains dan

Bertolak dari pandangan tersebut, maka kompetensi gerak yang akan dibekalkan kepada anak-anak dalam pendidikan jasmani tidak semata-mata untuk mempersiapkan anak agar berkompeten

N sedimen tersuspensi menunju tinggi (Gambar 7 dan Gamb kembali ke kolom perairan, sedimen tersuspensi lebih ting Hasil pengolahan data Kabupaten Pati adalah arus pa yang

This study have limitations in studying this field, where the measurements to the media exposure variable using dummy variable where a value of 1 for companies that

Berdasarkan hasil penelitian dan pembahasan yang telah dilakukan, maka dapat disimpulkan bahwa gaya kepemimpinan dan ketidakapastian lingkungan memiliki pengaruh terhadap