• Tidak ada hasil yang ditemukan

2 BAB II DASAR TEORI 2.1 Enkripsi dan Dekripsi Gambar 2.1

N/A
N/A
Protected

Academic year: 2021

Membagikan "2 BAB II DASAR TEORI 2.1 Enkripsi dan Dekripsi Gambar 2.1"

Copied!
23
0
0

Teks penuh

(1)

7

DASAR TEORI

2.1

Enkripsi dan Dekripsi

Teknologi enkripsi yang dulunya hanya dapat diakses oleh

dunia militer namun kini telah pula dapat digunakan oleh

kalangan non militer. Hal ini membawa dampak semakin banyak

digunakannya enkripsi sebagai salah satu cara mengamankan

data.

Enkripsi adalah suatu proses untuk menyamarkan sebuah

pesan (message) sedemikian rupa untuk menyembunyikan pesan

aslinya dengan menggunakan sebuah kunci. Dekripsi adalah

kebalikan dari enkripsi, yaitu proses pengembalian sebuah pesan

terenkripsi menjadi pesan aslinya.

Pada enkripsi dikenal dua buah istilah penting, yaitu

plaintext dan ciphertext. Plaintext adalah pesan yang dienkripsi,

sedangkan ciphertext adalah pesan hasil enkripsi. Plaintext biasa

disimbolkan sebagai M (Message) atau P (Plaintext), yang dapat

berupa suatu aliran bit, berkas teks, berkas bitmap, berkas suara

digital, ataupun berkas video digital. Sejauh yang diketahui

komputer, M adalah data biner. Sedangkan ciphertext biasanya

disimbolkan sebagai C (Ciphertext), dan juga merupakan data

biner.

Jika enkripsi disimbolkan sebagai fungsi E (Encryption)

dan dekripsi disimbolkan sebagai fungsi D (Decryption), maka

dengan menggunakan notasi matematika, enkripsi dan dekripsi

dapat ditulis sebagai berikut :

E(P) = C

D(C) = P

Proses enkripsi dan dekripsi pada plaintext dan ciphertext

dapat dilihat pada Gambar 2.1

(2)

Gambar 2.1 Proses enkripsi dan dekripsi pada plaintext dan ciphertext

2.1.1

Algoritma dan Kunci

Kriptografi2 menggunakan kunci (key) untuk melakukan

proses enkripsi dan dekripsi. Dengan demikian algoritma

kriptografi (cipher) yang digunakan dapat dipublikasikan. Kunci

(disimbolkan sebagai K) pada kriptografi berupa satu nilai dari

sejumlah bilangan yang banyak jumlahnya. Daerah jangkauan

nilainilai kunci yang mungkin disebut keyspace.

Dengan adanya penggunaan kunci, maka notasi matematika

untuk fungsi enkripsi dan dekripsi dapat ditulis sebagai berikut :

EK(M) = C

DK(C) = M

Gambar 2.2 memperlihatkan proses enkripsi dan dekripsi

dengan menggunakan kunci.

Gambar 2.2 Proses dekripsi dan enkripsi dengan kunci 1

Pada kriptografi, kunci yang dimasukkan pemakai (user

key) sering dinyatakan sebagai sebuah password ataupun sebagai

sebuah passphrase. Penggunaan passphrase untuk menyatakan

suatu kunci pemakai lebih baik daripada menggunakan

password4, karena passphrase umumnya memiliki ukuran yang

(3)

tidak dibatasi dan dapat berupa kalimat sehingga mudah diingat

oleh pemakai. Sementara password umumnya memiliki ukuran

yang tetap.

Berdasarkan penggunaan kunci untuk proses enkripsi dan

dekripsinya, algoritma kriptografi dapat dibedakan menjadi dua

yaitu: symmetric algorithm (secret key algorithm) dan asymmetric

algorithm (public key algorithm).

Symmetric Algorithm

Symmetric algorithm atau disebut juga secret key

algorithm adalah algoritma yang kunci enkripsinya

dapat dihitung dari kunci dekripsi dan begitu pula

sebaliknya, kunci dekripsi dapat dihitung dari kunci

enkripsi. Pada sebagian besar symmetric algorithm

kunci enkripsi dan kunci dekripsi adalah sama.

Symmetric algorithm memerlukan kesepakatan antara

pengirim dan penerima pesan pada suatu kunci sebelum

dapat

berkomunikasi

secara

aman.

Keamanan

symmetric algorithm tergantung pada rahasia kunci.

Pemecahan kunci berarti memungkinkan setiap orang

dapat mengenkripsi dan mendekripsi pesan dengan

mudah. Symmetric algorithm dapat dikelompokkan

menjadi dua jenis, yaitu stream cipher dan block

cipher. Stream cipher beroperasi bit per bit (atau byte

per byte) pada satu waktu. Sedangkan block cipher

beroperasi per kelompokkelompok bit yang disebut

blok (block) pada satu waktu.

Asymmetric Algorithm

Asymmetric algorithm atau disebut juga public key

algorithm didesain agar memudahkan dalam distribusi

kunci yang digunakan untuk enkripsi dan dekripsi.

Kunci dekripsi pada public key algorithm secara praktis

(4)

tidak dapat dihitung dari kunci enkripsi. Algoritma ini

disebut “public key” karena kunci dapat dibuat menjadi

publik. Setiap orang dapat menggunakan kunci enkripsi

untuk mengenkripsi pesan, tetapi hanya orang yang

memiliki kunci dekripsi yang dapat mendekripsi pesan

tersebut. Pada sistem ini kunci enkripsi sering disebut

kunci publik (public key), dan kunci dekripsi disebut

kunci rahasia (private key).

2.1.2

One-Way Hash Function

Suatu hash function adalah sebuah fungsi matematika, yang

mengambil sebuah panjang variabel string input, yang disebut

pre-image dan mengkonversikannya ke sebuah string output

dengan panjang yang tetap dan biasanya lebih kecil, yang disebut

message digest5. Hash function digunakan untuk melakukan

fingerprint pada pre-image, yaitu menghasilkan sebuah nilai yang

dapat menandai (mewakili) pre-imagebsesungguhnya.

Fungsi hash satu arah (one-way hash function) adalah hash

function yang bekerja satu arah, yaitu suatu hash function yang

dengan mudah dapat menghitung hash value dari pre-image,

tetapi sangat sukar untuk menghitung pre-image dari

hash value. Sebuah fungsi hash satu arah, H(M), beroperasi

pada suatu pre-image pesan M dengan panjang sembarang, dan

mengembalikan nilai hash h yang memiliki panjang tetap. Dalam

notasi matematika fungsi hash satu arah dapat ditulis sebagai:

(5)

Ada banyak fungsi yang mampu menerima input dengan panjang

sembarang dan menghasilkan output dengan panjang tetap, tetapi

fungsi hash satu arah memiliki karakteristik tambahan yang

membuatnya satu arah6 :

Diberikan M, mudah menghitung h.

Diberikan h, sulit menghitung M agar H(M) = h.

Diberikan M, sulit menemukan pesan lain, M', agar

H(M) = H(M').

Dalam dunia nyata, fungsi hash satu arah dikembangkan

berdasarkan ide sebuah fungsi kompresi. Fungsi satu arah ini

menghasilkan nilai hash berukuran n bila diberikan input

erukuran b. Input untuk fungsi kompresi adalah suatu blok pesan

dan hasil blok teks sebelumnya(Gambar 2.3). Sehingga hash

suatu blok M, adalah

hi = f(Mi,hi-1)

dengan

hi = nilai hash saat ini.

Mi = blok pesan saat ini.

hi-1 = nilai hash blok teks sebelumnya.

Gambar 2.3 Proses one-way hash function

One-way hash function yang digunakan di sini (MD5)

menghasilkan hash value berukuran 128-bit. Namun bila dalam

aplikasinya diperlukan hash value berukuran lebih dari 128 bit

(6)

dapat digunakan metode berikut untuk menghasilkan hash value

yang lebih besar :

a.

Buat hash value dari sebuah pesan, menggunakan sebuah

one way hash function.

b.

Tambahkan sebuah string ke dalam pesan.

c.

Buat hash value dari penggabungan (concatenation)

pesan dan string itu.

d.

Buat hash value yang lebih besar yang berisi gabungan

antara hash value yang dihasilkan dari langkah (1)

dengan hash value yang dihasilkan dari langkah (3).

e.

Ulangi langkah (1) sampai (3) sebanyak yang diinginkan

.

2.1.3

Algoritma Rijndael

Algoritma Rijndael adalah pemenang sayembara terbuka

yang diadakan oleh NIST (National Institute of Standards and

Technology) untuk membuat standard algoritma kriptografi yang

baru sebagai pengganti Data Encryption Standard (DES). DES

sudah dianggap tidak aman terutama karena panjang kunci yang

relative pendek sehingga mudah dipecahkan menggunakan

teknologi saat ini.

Algoritma Rijndael menggunakan substitusi, permutasi,

dan sejumlah putaran yang dikenakan pada tiap blok yang akan

dienkripsi/dekripsi.

Untuk

setiap

putarannya,

Rijndael

menggunakan kunci yang berbeda. Kunci setiap putaran disebut

round key. Tetapi tidak seperti DES yang berorientasi bit,

Rijndael beroperasi dalam orientasi byte sehingga memungkinkan

untuk implementasi algoritma yang efisien ke dalam software dan

hardware. Ukuran blok untuk algoritma Rijndael adalah 128 bit

(16 byte).

(7)

Algoritma Rijndael dapat mendukung panjang kunci 128

bit sampai 256 bit dengan step 32 bit. Panjang kunci berpengaruh

pada jumlah putaran yang dikenakan pada tiap blok. Misalnya,

untuk ukuran blok dan panjang kunci sebesar 128 bit ditentukan

10 putaran, sedangkan untuk ukuran blok 128 bit dan panjang

kunci 256 bit jumlah putaran yang ditentukan adalah 14 putaran.

Algoritma Rijndael mempunyai 3 parameter sebagai

berikut:

1.

plainteks: array yang berukuran 16 byte, yang berisi

data masukan.

2.

cipherteks: array yang berukuran 16 byte, yang berisi

hasil enkripsi.

3.

key: array yang berukuran 16 byte (untuk panjang

kunci 128 bit), yang berisi kunci ciphering (disebut

juga cipher key).

Dengan 16 byte, maka baik blok data dan kunci yang

berukuran 128-bit dapat disimpan di dalam ketiga array tersebut

(128 = 16 x 8). Selama kalkulasi plainteks menjadi cipherteks,

status sekarang dari data disimpan di dalam array of byte dua

dimensi, state, yang berukuran NROWS x NCOLS. Elemen array

state diacu sebagai S[r,c], dengan 0 ≤ r < 4 dan 0 ≤ c < Nc (Nc

adalah panjang blok dibagi 32). Pada AES, Nc = 128/32 = 4. Tiap

elemen dari array state diisi dengan 8 bit teks (1 byte) dalam

notasi HEX. Contoh pengisian array state dapat dilihat pada

Gambar 2.4

(8)

Gambar 2.4 Pengisian Array state

19 = 00011001 (1 byte pertama)

3d = 00111101 (1 byte kedua), dst.

2.1.3.1

Proses Enkripsi Rijndael

(9)

Skema enkripsi Rijndael dapat dilihat pada Gambar

Gambar 2.5. Pada intinya, tiap blok masukan (array state)

dikenakan empat fungsi utama berikut:

1.

SubBytes

(Gambar

2.6)

Melakukan

substitusi

menggunakan table SBox.

2.

ShiftRows (Gambar 2.7) Menggeser baris ke-r dalam

array state sebanyak r byte ke kiri.

3.

MixColumns (Gambar 2.8) Mengacak array state dengan

cara melakukan perkalian matriks yang merupakan

transformasi dari perkalian polinom antara tiap kolom

dengan polinom 4 suku pada GF(28), a(x) mod (x4 + 1)

4.

AddRoundKey (Gambar 2.9) melakukan XOR antara

array state sekarang dengan round key.

(10)
(11)

Gambar 2.8 MixColumns

Gambar 2.9 AddRoundKey

2.1.3.2

Proses Dekripsi Rijndael

(12)

Gambar 2.10 Proses dekripsi Rijndael

Secara garis besar , proses dekripsi algoritma rijndael adalah

sebagai berikut:

1.

Addroudkey melakukan XOR antara state awal (chipertext)

dengan chipper key. Tahap ini disebut initial roud.

2.

Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada

setiap putaran adalh :

a.

invShiftRow : Pergeseran baris-baris array state secara

wrapping.

(13)

b.

InvByteSub : subtitusi byte dengan menggunakan table

subtitusi kebalikan (invers S-box).

c.

AddRoundKey : Melakukan XOR antara state

sekarang dengan round key.

d.

InvMixColumn : mengacak data di masing-masing

kolom Aray state.

3.

Final Round : proses untuk putaran terakhir :

a.

InvShiftRow.

b.

InvByteSub.

c.

AddRoundKey.

2.1.4

Elliptic Curve Cryptosystem

Kurva-kurva eliptik (elliptic curves) telah dipelajari secara

intensif dalam bidang teori bilangan dan geometri aljabar oleh

para ahli matematika selama lebih dari satu abad. Teori-teori telah

banyak dikembangkan mengenai mereka, dan mereka telah

menjadi dasar bagi perkembangan baru dalam ilmu matematika,

pembuktian teorema terakhir Fermat (Fermat's Last Theorem)

1

.

Elliptic Curve Public Key Cryptosystems (ECPKC)

diusulkan secara independen masing-masing oleh Victor Miller

dan Neil Koblitz pada tahun 1985. Sejak tahun tersebut, ECPKC

telah dievaluasi secara menyeluruh oleh para ahli kriptografi, ahli

matematika, dan ahli komputer di seluruh dunia, sehingga timbul

kepercayaan terhadap sistem baru ini. Beberapa tahun terakhir ini,

implementasi komersial pertama telah muncul, baik sebagai

toolkit maupun sebagai aplikasi seperti keamanan email,

keamanan web, kartu pintar, dan sebagainya

2

.

ECPKC ini memiliki beberapa keunggulan dibandingkan

sistem yang serupa seperti RSA antara lain: untuk tingkat

keamanan yang ekivalen, ECPKC memerlukan ukuran kunci

(14)

yang lebih kecil, akibatnya kecepatan lebih tinggi, konsumsi daya

yang lebih rendah, adanya penghematan bandwidth.

Keuntungan-keuntungan tersebut sangat berguna untuk

aplikasi-aplikasi yang memiliki keterbatasan pada bandwidth,

kapasitas pemrosesan, ketersediaan sumber tenaga, dan ruang.

Aplikasi-aplikasi tersebut antara lain : kartu chip, electronic

commerce, server web, telepon seluler, dan pager

2

2.1.4.1

Kurva Eliptik dalam Fp

Jika p > 3 adalah suatu bilangan prima dan a, b ∈ Fp dengan

4a

3

+ 27b

2

≠ 0

dalam Fp. Suatu kurva eliptik E(Fp) dalam Fp yang didefinisikan

oleh parameter a dan b adalah himpunan penyelesaian (x,y), x,y

Fp, yang memenuhi :

y

2

= x

3

+ ax + b (2.2)

bersama dengan suatu point khusus, φ, yang disebut point at

infinity. Contoh suatu kurva eliptik dalam F13 :

y

2

= x

3

+ x + 1 adalah persamaan untuk kurva eliptik E dalam F

13

.

Di sini a=1 dan b=1. Himpunan penyelesaian untuk persamaan

tersebut adalah :

(0,1) (0,12) (1,4) (1,9) (4,2) (4,11) (5,1) (5,12) (7,0) (8,1)

(8,12) (10,6) (10,7) (11,2) (11,11) (12,5) (12,8)

E(F

13

) memiliki 18 point, termasuk point at infinity φ.

2.1.4.2

Operasi-operasi pada kurva eliptik dalam Fp

Operasi Penambahan (Addition)

Berikut ini adalah sifat-sifat operasi penambahan pada kurva

eliptik :

(15)

a.

Jika φ adalah point at infinity, maka penjumlahan dua buah

φ akan menghasilkan φ pula. Secara matematis dapat

dituliskan sebagai berikut :

φ + φ = φ.

b.

Jika P = (x

1

,y

1

)

E(F

p

), maka :

P + φ = φ + P = P

c.

Jika P = (x

1

,y

1

)

E(F

p

), maka negasi P,–P = (x1,-y1) juga

merupakan point pada kurva. Penambahan dua buah point

ini memberikan :

P + (-P) = P – P = φ

d.

Jika P = (x

1

,y

1

)

(F

p

) dan Q = (x

2

,y

2

)

(F

p

) dengan x

1 ≠ x2

,

dan Q ≠ - P, maka jumlah mereka :

P + Q = R = (x

3

,y

3

)

didefinisikan sebagai :

x

3

= λ

2

– x

1

– x

2

y

3

= λ (x

1

-x

3

) –y

1

dengan

λ =

Sifat penting lain dari aturan penambahan ini adalah bahwa

urutan penambahan tidak penting,

P + Q = (x

1

,y

1

) + (x

2

,y

2

) = (x

3

,y

3

) = (x

2

,y

2

) + (x

1

,y

1

) = Q + P

y

2

- y

1

(16)

Penggandaan (Doubling)

Jika P = (x

1

,y

1

)

E(F

p

) adalah suatu point dengan y

1

≠ 0

dan P bukan φ, maka 2P = (x

3

,y

3

), dengan :

λ = (3x1

2

+ a)

2y

1

x3 = λ

2

- 2x

1

, dan

y3 = -y

1

+ λ (x

1

-x

3

)

Jika P= φ atau y1=0, maka 2P= φ.

Perkalian Skalar (Scalar Multiplication)

Point kurva eliptik tidak dapat dikalikan, namun dapat

dilakukan scalar multiplication, yaitu penambahan berulang

untuk point yang sama. Jika n adalah suatu integer positif dan P

suatu point pada kurva eliptik, perkalian skalar nP adalah hasil

penambahan P sejumlah n kali. Sehingga, 5P = P+P+P+P+P.

Perkalian skalar ini dapat diperluas untuk integer nol dan

negatif yaitu :

0P = φ, (-n) P = n (-P)

2.1.4.3

Contoh-contoh operasi pada kurva eliptik

Berdasarkan contoh kurva eliptik F13 sebelumnya :

-

Penambahan dua buah point yang berbeda

Jika P = (1,4) dan Q = (5,12), maka P+Q dapat dihitung

dengan cara sebagai berikut :

(17)

λ

= =

= 2 ∈ F

13

x

3

= 2

2

- 1 - 5 = 4-1-5 = -2 = 11 (mod 13) dan

y

3

= 2(1-(-2)) - 4 = 2(3) - 4 = 2 (mod 13)

Maka P+Q = (11,2)

-

Penggandaan Point

Jika P = (1,4), maka 2*P dapat dihitung sebagai berikut :

λ = = = = 7 ∈ F

13

x

3

= 7

2

- 2.1 = 49 - 2 = 47 = 8 (mod 13), dan

y

3

= -4 + 6 (1-7) = 9 + 6(-6) = 9-36 = -27 = 12 (mod 13)

-

Perkalian Skalar

Jika k = 3 dan P=(1,4). Maka 3P dapat dihitung sebagai

berikut :

3P = P+P+P = (2P)+P.

Dengan 2P = P+P = (8,12) (dari contoh penggandaan point)

dan P = (1,4), 3P = (8,12) + (1,4) dapat dihitung sebagai

berikut :

λ

= = = 2

F

13

3.1

2

+ 1

2.4

4

8

1

2

12 - 4

8 - 1

8

7

12 - 4

5 - 1

8

4

(18)

x

3

= 3

2

- 1 - 8 = 0 (mod 13) dan

y

3

= 3(1-0) - 4 = 3 - 4 = -1 = 12 (mod 13)

Jadi 3P = (0,12).

2.2

Visual Basic for Application (VBA)

Visual Basic for Application (VBA) adalah bahasa

pemrograman yang menyerupai Visual Basic dan memiliki

beberapa tambahan kemampuan untuk membantu para

programmer dalam mengembangkan aplikasi dengan lebih

mudah. VBA terintegrasi langsung dengan suatu aplikasi induk

sehingga menawarkan keunggulan terhadap kecepatan, kinerja

proses, integrasi dengan aplikasi induk (kode berada dalam

dokumen) dan kemampuan untuk membuat solusi tanpa

menggunakan alat bantu tambahan.

VBA menyediakan suatu lingkungan pengembangan

terintegrasi (IDE – Integrated Development Environment), seperti

halnya pemrograman dengan menggunakan Visual Basic,

termasuk tampilan proyek, properties dan debugging. VBA juga

mendukung form-form Microsoft untuk membuat custom dialog

box dan kontrol Active-X untuk pengembangan tampilan

antarmuka (user interface). Gambar 2.11 adalah salah satu

contoh visual basic editor untuk Microsoft Office 2003.

(19)

Gambar 2.11 Visual Basic Editor

2.3

XML Web Service

Web services merupakan cara yang sudah distandarkan

untuk membagikan atau mendistribusikan fungsi-fungsi dari

aplikasi melalui jaringan dengan menggunakan protokol web

standar, seperti HTTP dan XML. Secara umum web services

merupakan komponen aplikasi yang menyediakan layanan kepada

client melalui suatu jaringan yang berorientasi pada aplikasi.

Konsep web services memungkinkan suatu aplikasi dapat diakses

oleh aplikasi yang lain setiap saat dan dimana saja dengan

menggunakan platform dan peralatan apa saja.

Web services merupakan perkembangan distributed

computing dengan arsitektur n-tier. Keuntungan yang paling

mendasar yang ditawarkan oleh web services adalah integrasi.

Usaha untuk mengintegrasikan aplikasi, sistem, maupun platform

yang berbeda sering mengalami kesulitan dan memerlukan proses

yang panjang. Web services merupakan standar yang tepat

(20)

sebagai

alat

pengintegrasian.

Web

services

mampu

mengintegrasikan aplikasi dan sistem dari platform yang berbeda

karena menggunakan standar protokol web dalam interaksinya

seperti TCP/IP, HTTP, XML, SOAP, UDDI.

Gambar 2.12 Blok Web Services

Komponen penyusun web services dapat dilihat pada

Gambar 2.12 (Short, 2003). Terdapat 5 blok utama dalam web

services antara lain Discovery, Description, Message Format,

Encoding dan Transport.

2.3.1

Discovery

Web services yang telah di-publish di internet disimpan

dalam sebuah direktori. Proses mencari dan meregister web

services didefinisikan dalam standar Universal Description,

(21)

Discovery and Integration (UDDI). Dengan UDDI kita bisa

mencari web services berdasarkan keyword untuk kategori

tertentu. UDDI menyediakan registrasi web services dan

menyediakan direktori yang berisi perusahaan-perusahaan yang

dapat dicari berdasarkan nama perusahaan, di bidang apa

perusahaan itu bergerak dan di wilayah mana perusahaan tersebut

menyediakan servis. Setiap record dari perusahaan memiliki detil

tentang tujuan dan lokasi web services yang dibuat.

UDDI bertujuan untuk menjembatani antara perusahaan

yang mengembangkan dan mempublish web services dengan

programmer yang berusaha untuk mencari dan menggunakan

web services. Saat ini terdapat tiga registrasi UDDI yang telah

dipublikasikan,

yaitu

milik

IBM

(

http://www.ibm.com/services/uddi

), SAP (

http://uddi.sap.com

)

dan Microsoft (

http://uddi.microsoft.com

).

2.3.2

Description

Setelah web services ditemukan menggunakan UDDI,

client perlu mengetahui cara untuk dapat berinteraksi dengan web

services tersebut dan service apa saja yang disediakan.

Fungsionalitas service yang disediakan oleh web services

dipaparkan dalam bentuk programmatic interface menggunakan

standar description language Web Services Definition Language

(WSDL). WSDL merupakan suatu dokumen XML yang

menjelaskan metod yang tersedia dalam suatu web services,

parameter yang diperlukan untuk memanggil suatu method dan

hasil dari metod yang akan dipanggil. WSDL menjelaskan

bagaimana cara berinteraksi dengan web services dan

mengandung informasi mengenai message yang dapat dikirim

SOAP message dan jenis response yang akan dikembalikan oleh

web services. Notasi yang digunakan WSDL unt uk

(22)

menggambarkan format message yang digunakan berdasarkan

pada standar XML Schema.

2.3.3

Message Format

Simple Object Access Protocol (SOAP) merupakan

protokol untuk pertukaran informasi terstruktur pada sistem yang

terdistribusi / terdesentralisasi. SOAP menggunakan teknologi

XML untuk mendefinisikan kerangka struktur messeage. SOAP

didesain untuk bersifat extensible dan simple. Extensible artinya

user mampu mengembangkan kemampuannya untuk kepentingan

di masa mendatang.

Dalam konsep web services, SOAP merupakan mekanisme

yang digunakan untuk mengirimkan message diantara client

denga web services. SOAP tidak bergantung pada model

pemrograman ataupun sistem operasi. Spesifikasi SOAP yang

dipergunakan adalah yang dikeluarkan oleh World Wide Web

Consortium (W3C) yaitu sebagai berikut :

a.

SOAP 1.1

Namespace

http://schemas.xmlsoap.org/soap/envelope

b.

SOAP 1.2

Namespace :

http://www.w3c.org/2002/12/soap-envelope

2.3.4

Encoding

Extensible Markup Language (XML) merupakan standar

W3C yang mengijinkan data untuk bersifat portable dan bebas

mendeskripsikan dirinya, sehingga dapat dipertukarkan dengan

mudah antar aplikasi maupun devices pada berbagai platform.

Jadi XML merupakan ide untuk membuat format data standar

yang universal. XML adalah suatu format dokument berbasis

(23)

teks. Dengan menggunakan format XML, web services

memungkinkan suatu aplikasi dapat “berbicara” dengan aplikasi

lain. Web services dapat diimplementasikan dalam berbagai

platform dengan menggunakan bahasa pemrograman apapun

yang mendukung web services.

2.3.5

Transport

Hypertext Transfer Protocol (HTTP) mendefinisikan

bagaimana suatu pesan disusun dan dikirimkan serta bagaimana

web server menanganinya. HTTP merupakan serangkaian aturan

untuk pertukaran file (teks, grafik, gambar dan lain-lain) di dalam

www. HTTP adalah protokol aplikasi yang berhubungan dengan

protokol TCP/IP yang merupakan protokol utama dalam

pertukaran informasi di internet. Konsep dasar yang merupakan

bagian dari HTTP termasuk ide bahwa di dalam file bisa terdapat

referensi ke file lain dimana pemilihan file tersebut akan memicu

terjadinya transfer request.

2.4

Net Framework

Net framework adalah suatu platform baru di dalam

pemrograman untuk lingkungan yang terdistribusi luas (internet).

Istilah .Net sering diasosiasikan dengan proses yang berjalan pada

platform .Net. Salah satu bentuk keunggulan dari platform ini

terrefleksi pada kompilasi sumber kode program, dimana semua

sumber kode program akan dikompilasi menjadi Microsoft

Intermediate Language (MSIL). Selanjutnya MSIL akan

dikompilasikan oleh .NET Compiler menjadi bahasa mesin pada

saat akan digunakan.

Gambar

Gambar 2.9  AddRoundKey

Referensi

Dokumen terkait

GreatLink Premier Bond Fund merupakan pilihan dana investasi bagi nasabah yang memberikan tingkat hasil stabil dengan tingkat risiko rendah - menengah untuk investasi jangka

II Penyelesaian masalah berdasarkan Islam memberikan keadilan kepada manusia III Penyelesaian masalah berdasarkan Islam akan mewujudkan perpadua ummah IV Islam agama

Menurut UU No. Berhubungan darah dalam garis keturunan lurus ke bawah atau ke atas; Misalnya, antara anak perempuan/laki-laki dan bapak/ibu, antara cucu laki-laki/perempuan

Semua kelas ini dirancang untuk memberikan penjelasan lebih mendalam tentang hal-hal penting yang perlu anda pelajari dalam Kekristenan: siapa itu Tuhan Yesus, bagaimana

Berdasarkan tabel di atas, terdapat campur kode pada Tajwid Nazom Batu Ngompal yang merupakan campuran kode kata-kata berupa campur kode kata benda sebanyak tujuh

Penyusunan laporan keuangan konsolidasian Grup mengharuskan manajemen untuk membuat pertimbangan, estimasi dan asumsi yang mempengaruhi jumlah yang dilaporkan dari

Bahwa benar antara Tergugat / Pembanding dengan Penggugat / Terbanding telah pisah tempat tinggal bersama karena Penggugat / Terbanding yang keluar dari rumah tempat

Khusus untuk data utang luar negeri swasta dalam bentuk surat berharga yang diterbitkan di dalam negeri dan dimiliki oleh bukan penduduk diperoleh dari laporan bank