Buku Tugas Akhir - 5106100606

advertisement
2 BAB II
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
7
8
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
9
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
10
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:
h = H(M), dengan h memiliki panjang b
11
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
12
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).
13
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
14
Gambar 2.4 Pengisian Array state
19 = 00011001 (1 byte pertama)
3d = 00111101 (1 byte kedua), dst.
2.1.3.1
Proses Enkripsi Rijndael
Gambar 2.5 Skema Enkripsi Rijndael
15
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)
menggunakan table SBox.
Melakukan
substitusi
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.
Gambar 2.6 Subtitusi dengan table SBox
16
Gambar 2.7 ShiftRows
17
Gambar 2.8 MixColumns
Gambar 2.9 AddRoundKey
2.1.3.2
Proses Dekripsi Rijndael
Proses dekripsi Rijndael dapat dilihat pada Gambar 2.10:
18
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.
19
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 sebagainya2.
ECPKC ini memiliki beberapa keunggulan dibandingkan
sistem yang serupa seperti RSA antara lain: untuk tingkat
keamanan yang ekivalen, ECPKC memerlukan ukuran kunci
20
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 pager2
2.1.4.1
Kurva Eliptik dalam Fp
Jika p > 3 adalah suatu bilangan prima dan a, b ∈ Fp dengan
4a3 + 27b2 ≠ 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 :
y2 = x3 + ax + b (2.2)
bersama dengan suatu point khusus, φ, yang disebut point at
infinity. Contoh suatu kurva eliptik dalam F13 :
y2 = x3 + x + 1 adalah persamaan untuk kurva eliptik E dalam F13.
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(F13) 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 :
21
a.
Jika φ adalah point at infinity, maka penjumlahan dua buah
φ akan menghasilkan φ pula. Secara matematis dapat
dituliskan sebagai berikut :
φ + φ = φ.
b.
Jika P = (x1,y1) ∈ E(Fp), maka :
P+φ=φ+P=P
c.
Jika P = (x1,y1) ∈ E(Fp), maka negasi P,–P = (x1,-y1) juga
merupakan point pada kurva. Penambahan dua buah point
ini memberikan :
P + (-P) = P – P = φ
d.
Jika P = (x1,y1) ∈ (Fp) dan Q = (x2,y2) ∈ (Fp) dengan x1 ≠ x2,
dan Q ≠ - P, maka jumlah mereka :
P + Q = R = (x3,y3)
didefinisikan sebagai :
x3 = λ2 – x1 – x2
y3 = λ (x1-x3) –y1
dengan
y2 - y1
λ=
x2 – x1
Sifat penting lain dari aturan penambahan ini adalah bahwa
urutan penambahan tidak penting,
P + Q = (x1,y1) + (x2,y2) = (x3,y3) = (x2,y2) + (x1,y1) = Q + P
22
•
Penggandaan (Doubling)
Jika P = (x1,y1) ∈ E(Fp) adalah suatu point dengan y1 ≠ 0
dan P bukan φ, maka 2P = (x3,y3), dengan :
λ = (3x12 + a)
2y 1
x3 = λ 2 - 2x1, dan
y3 = -y1 + λ (x1-x3)
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 :
23
λ=
12 - 4
8
=
5-1
= 2 ∈ F13
4
x3 = 22 - 1 - 5 = 4-1-5 = -2 = 11 (mod 13) dan
y3 = 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 :
λ=
3.12 + 1
4
1
=
2.4
=
8
= 7 ∈ F13
2
x3 = 72 - 2.1 = 49 - 2 = 47 = 8 (mod 13), dan
y3 = -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 :
12 - 4
λ=
8
= 2 ∈ F13
=
8-1
7
24
x3 = 32 - 1 - 8 = 0 (mod 13) dan
y3 = 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.
25
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
26
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,
27
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
28
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
29
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.
Download