• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
31
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Jaringan Komputer dan Protokol Komunikasi

Tujuan dari komunikasi data adalah untuk bertukar informasi antara dua pihak (Stallings,2004,p4). Informasi adalah arti yang dimiliki data sebagai akibat dari persetujuan yang diterapkan pada data tersebut, sedangkan data merupakan representasi dari fakta-fakta, konsep-konsep, atau instruksi-instruksi dengan suatu cara formal yang sesuai untuk komunikasi, interpretasi, atau pemrosesan oleh manusia atau secara otomatis (American National Standards Institute).

Jaringan komunikasi merupakan kumpulan dari alat-alat yang ingin berkomunikasi. Kemungkinan-kemungkinan yang terjadi adalah (Stallings,2004, p9):

- Bila perangkat-perangkatnya saling terpisah jauh.

- Terdapat serangkaian perangkat, masing-masing membutuhkan jaringan untuk menghubungkan satu sama lain pada waktu yang berbeda-beda. Jaringan komputer adalah kumpulan komputer-komputer yang saling terinterkoneksi dengan sebuah jaringan komunikasi (Stallings,2004,p9).

2.1.1 Protokol Komunikasi dan Fungsi dari Protokol

Dua pihak yang berkomunikasi harus memiliki persetujuan dalam hal apa yang dikomunikasikan, cara berkomunikasi, kapan berkomunikasi. Persetujuan ini disebut dengan protokol. Definisi protokol menurut Stallings (2004,p12) adalah sekumpulan aturan-aturan yang mengatur pertukaran data antara dua entitas.

(2)

Elemen-elemen kunci suatu protokol terdiri dari (Stallings,2004,p13) :

- Sintaks: meliputi hal-hal seperti format data dan tinggi rendah sinyal. - Semantik: meliputi informasi kontrol untuk koordinasi dan

penanganan kesalahan (error handling).

- Timing: meliputi penyesuaian kecepatan dan pengurutan. a. OSI Model

Open Systems Interconnection (OSI) model dikembangkan oleh International Organization for Standardization (ISO) sebagai model untuk arsitektur komunikasi

komputer, serta sebagai kerangka kerja bagi pengembangan standar-standar protokol. (Stallings,2004,p21)

OSI memiliki 7 layer, yaitu: 1. Physical Layer

Physical layer mencakup physical interface yang ada diantara perangkat

komunikasi dan aturan bagaimana bit-bit data melewati satu titik ke titik lain. 2. Data Link Layer

Data link layer mengupayakan agar link fisik dapat bekerja dengan baik dan menyediakan fungsi untuk mengaktifkan, mempertahankan, dan menonaktifkan link.

3. Network Layer

Network layer menyediakan transfer informasi antar end systems melalui

beberapa jaringan komunikasi. Pada layer ini, sistem komputer berdialog dengan jaringan untuk menentukan alamat tujuan dan meminta fasilitas jaringan tertentu, seperti prioritas.

(3)

4. Transport Layer

Transport layer menyediakan mekanisme yang baik untuk pertukaran

data antar proses pada sistem yang berbeda. Transport layer memastikan data unit yang dikirimkan bebas dari error, terurut, tanpa kehilangan atau penggandaan.

5. Session Layer

Layer ini menyediakan mekanisme untuk mengontrol dialog diantara

aplikasi pada end system. Servis-servis kunci yang disediakan oleh session layer adalah dialogue discipline, grouping, dan recovery.

6. Presentation Layer

Presentation layer menentukan format data yang dipindahkan diantara

aplikasi dan menawarkan layanan transformasi data kepada program-program aplikasi.

7. Application Layer

Application layer menyediakan cara bagi program aplikasi untuk

(4)

b. TCP/ IP Protocol Suite

TCP/IP (Transmission Control Protocol/ Internet Protocol) merupakan hasil dari pengembangan dan riset protokol yang dilakukan atas jaringan paket-switched eksperimental (experimental packet-switched network), ARPANET, dan didanai oleh DARPA (Defense Advanced Research Project Agency), dan secara umum dikenal sebagai TCP/IP protocol suite. Protocol suite ini terdiri atas sekumpulan protokol dalam jumlah besar yang dijadikan sebagai standar internet. (Stallings,2004,p13)

Tidak ada model protokol TCP/IP resmi sebagaimana yang ada dalam OSI. Gambar 2.1 Lingkungan OSI

(5)

Protokol TCP/IP terbagi atas layer-layer, yaitu:

• Application layer : menyediakan komunikasi diantara proses atau aplikasi pada

host-host terpisah. Contoh: SMTP, POP3, Telnet, HTTP, dan lainnya.

• End-to-end atau transport layer: menyediakan layanan transfer data end-to-end.

Transport layer menyembunyikan detil-detil jaringan dari application layer.

Contoh: TCP dan UDP.

• Internet layer: Berkaitan dengan routing data dari sumber ke host tujuan melewati satu jaringan atau lebih yang dihubungkan melalui router. Contoh: IP, ICMP.

• Network access layer: Berkaitan dengan logical interface diantara end system dan jaringan.

• Physical layer: Menentukan karakteristik-karakteristik media transmisi, signal

rate dan signal encoding scheme.

(6)

2.2 Object Oriented Analysis and Design (OOAD) dan Unified Modelling Language (UML)

Object-oriented analysis adalah pendekatan yang digunakan untuk mempelajari

objek-objek yang ada agar diketahui bila dapat digunakan ulang atau diadaptasi untuk penggunaan baru. Objek-objek baru ataupun yang telah dimodifikasi dapat dikombinasikan dengan objek-objek yang telah ada agar dapat berguna bagi aplikasi perhitungan bisnis. (Whitten et al, 2004, p430).

Konsep-konsep dasar dalam OOAD, yaitu:

- Objek (object) adalah “benda”, secara fisik atau konseptual, yang dapat kita temui di sekeliling kita. Sebuah objek memiliki keadaan sesaat (state) dan perilaku (behaviour). State dinyatakan dengan nilai dari atribut (attribute) objeknya.

Behaviour dari sebuah objek dicerminkan oleh interface, service, dan method dari

objek tersebut.

- Attribute adalah nilai internal suatu objek yang mencerminkan antara lain karakteristik objek, kondisi sesaat, koneksi dengan objek lain, dan identitas.

- Interface adalah pintu ruang untuk mengakses service objek. - Service adalah fungsi yang bisa diemban objek.

- Method adalah mekanisme internal objek yang mencerminkan perilaku (behaviour) objek tersebut.

- Kelas (class) adalah definisi umum (pola, template atau cetak biru) untuk himpunan objek sejenis. Kelas adalah abstraksi dari entitas dalam dunia nyata.

(7)

Menurut pendapat Booch et al (1998),UML (Unified Modelling Language) merupakan suatu bahasa pemodelan yang dapat digunakan untuk visualisasi, mengkonstruksi, dan mendokumentasi artifact yang ada dalam piranti lunak.

Tujuan utama UML diantaranya untuk

- Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.

- Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.

- Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan. Untuk membuat suatu model, beberapa diagram grafis UML yang dapat digunakan adalah sebagai berikut:

1. Use case diagram

Use case diagram adalah pusat dari pemodelan perilaku sebuah sistem,

subsistem atau sebuah class. Setiap use case diagram menunjukkan use cases dan actors maupun hubungan yang dimilikinya. (Booch et al,1998,p233)

Use case diagram sangat penting dalam visualisasi, spesifikasi dan

mendokumentasi perilaku sebuah elemen. Use case diagram membuat sistem, subsistem-subsistem, dan class-class menjadi dapat dimengerti dan

dipahami dengan menampilkan pandangan bagaimana suatu elemen digunakan pada konteksnya. (Booch et al,1998,p233)

(8)

Gambar 2.3. Contoh Use Case

Gambar 2.4. Contoh Actor

Use case diagram terdiri dari:

- Use case - Actor

- Hubungan (relationship) antara use case dengan actor. Actor dan use

case berkomunikasi atau mempunyai relasi jika ada pertukaran

informasi antara mereka.

Pengaturan use cases dapat dilakukan dengan menjelaskan hubungan

generalization, include dan extend yang ada di dalamnya (Booch et al,

1998,p105).

Generalization pada uses cases mirip dengan yang ada pada classes.

Yang berarti child use case mewarisi perilaku dan arti yang dimiliki oleh parent

use case; child use case dapat menambah perilaku atau memiliki overidde dari

perilaku parent use case. (Booch et al, 1998,p227)

Hubungan include antar use cases berarti sebuah use case dasar secara eksplisit menyertakan perilaku kepada use case lain yang terdapat pada lokasi

Buy Items

(9)

yang telah dispesifikasikan. Sebuah included use case tidak pernah berdiri sendiri, melainkan merupakan sebuah bagian dari beberapa use case dasar yang lebih besar yang menyertakannya. (Booch et al, 1998,p227)

Hubungan extend antar uses cases berarti use case dasar secara implisit menyertakan perilaku kepada use case lain pada suatu lokasi yang telah dispesifikasikan secara tidak langsung dengan melakukan extend use case. Use

case dasar dapat berdiri sendiri, namun pada kondisi tertentu, perilaku yang

dimilikinya mungkin di extend dengan perilaku yang dimiliki oleh use case lain. (Booch et al, 1998,p228)

Gambar 2.5 Use-case diagram

(Booch et al, 1998,p234)

2. Class diagram

Menurut pendapat Booch et al (1998,p105), class diagram menunjukkan sekumpulan kelas-kelas, interface serta kolaborasi dan hubungan antar mereka.

(10)

Class diagram biasanya terdiri dari (Booch et al, 1998,p105):

- Classes.

Class adalah deskripsi dari sekelompok objek yang memiliki

atribut (attribute), operasi (operation), hubungan (relationship) dan semantik (semantic) yang sama (Booch et al, 1998, p49).

- Interfaces.

Inteface adalah sekumpulan operasi yang digunakan untuk

menjelaskan service yang dimiliki oleh sebuah class atau sebuah komponen. (Booch et al, 1998, p155)

- Collaborations.

Collaborations digunakan untuk menjelaskan realisasi dari suatu use case dan operasi-operasi, dan untuk memodelkan mekanisme

arsitektur dari sistem yang ada. (Booch et al, 1998, p369) - Dependency, generalization, dan association relationship.

Dependency adalah menggunakan hubungan suatu state yang bila

salah satu spesifikasinya mengalami perubahan, akan mempengaruhi hal lain yang menggunakannya. (Booch et al, 1998, p63)

Generalization adalah hubungan antara suatu hal umum (disebut

dengan superclass atau parent) dengan hal yang lebih spesifik (disebut subclass atau child). (Booch et al, 1998, p64)

Association adalah hubungan struktural yang menjelaskan suatu

objek dari suatu hal berhubungan dengan objek dari hal lain. (Booch et al,

(11)

Ada 4 atribut yang dapat dimiliki oleh associations, yaitu: (Booch et al,

1998, p65)

• Name: Sebuah association dapat memiliki nama, dan nama dapat dijabarkan sesuai dengan hubungan yang dimiliki.

• Role: Setiap class memiliki peranan yang dimainkan dalam suatu hubungan.

• Multiplicity: Menjelaskan seberapa banyak objek yang terhubung melalui instance dari suatu associations. Macam-macam multiplicity : tepat satu (1), nol sampai satu (0..1), banyak (0..*), satu atau lebih (1..*).

• Aggregation: Menunjukkan suatu objek yang lebih besar memiliki objek lain sebagai bagiannya. Aggregation dilambangkan dengan

association yang diujungnya terdapat lambang berlian.

(12)

3. Statechart diagram

Statechart diagram menunjukkan mekanisme state, menekankan pada

aliran kontrol dari suatu state ke state yang lain. Mekanisme state adalah suatu perilaku yang akan menjelaskan urutan suatu state dari objek berpindah selama masa hidupnya (lifetime) sebagai respon dari suatu event, bersama respon terhadap event tersebut. Sebuah state adalah kondisi atau situasi hidup suatu objek selama memenuhi suatu kondisi, melakukan kegiatan, atau menunggu terjadinya suatu event. Suatu event adalah spesifikasi dari kejadian penting yang terjadi pada suatu satuan ruang dan waktu. Dalam konteks mekanisme state, sebuah event adalah kejadian yang akan memicu terjadinya transisi state.

Gambar 2.7 Statechart diagram (Booch et al, 1998, p289)

2.3 Objek-objek yang Berperan dalam Pengiriman Email

Dalam pengiriman email, terdapat objek-objek yang memiliki peranan penting. Objek-objek itu meliputi Mail Transfer Agent (MTA) dan Mail User Agent (MUA).

(13)

a. Mail Transfer Agent (MTA)

MTA adalah sebuah aplikasi atau software agent yang berfungsi untuk mengirimkan pesan atau email dari satu komputer ke komputer lain (http://en.wikipedia.org/wiki/Mail_transfer_agent). MTA menerima pesan dari Mail

User Agent (MUA) atau dari MTA lain, kemudian mengirimkannya pada MTA lain atau

secara langsung pada MUA. (http://www.cs.concordia.ca/help/faq/hmail.html). b. Mail User Agent (MUA)

MUA adalah sebuah aplikasi atau software agent yang berfungsi untuk membaca

email, membuat email, dan mengirimkannya pada MTA

(http://en.wikipedia.org/wiki/Mail_user_agent). MUA biasanya merupakan sumber (source) atau tujuan (target) daripada email. Sebagai sumber, MUA bertugas mengumpulkan email yang akan dikirimkan oleh user, kemudian menyerahkannya pada MTA(Mail Transfer Agent). Sebagai tujuan, MUA berperan sebagai tempat pengiriman terakhir dari email (Klensin, 2001, RFC 2821).

2.4 Protokol-protokol dalam Pengiriman Email

Dalam pengiriman email dibutuhkan suatu protokol yang dapat mengatur bagaimana komunikasi antara objek-objek yang berperan dalam pengiriman email. Protokol SMTP digunakan untuk mengirimkan email dari MTA ke MTA lain atau ke MUA. Dalam prosesnya, protokol SMTP menggunakan bantuan DNS untuk mengirimkan email sampai ke tempat tujuan. Protokol POP3 digunakan oleh client (MUA) untuk meminta server (MTA) mengirimkan email padanya (di-download).

(14)

2.4.1 Simple Mail Transfer Protocol (SMTP) dan perintah-perintah SMTP

SMTP adalah standar protokol dalam pengiriman email antar host pada protokol TCP/IP. (Stallings, 2004, p697)

Tujuan utama dari SMTP adalah untuk mengirimkan email secara reliabel dan efisien. SMTP tidak tergantung suatu sistem transmisi tertentu dan hanya membutuhkan suatu saluran data yang reliabel. Biasanya SMTP menggunakan TCP sebagai protokol transportnya. (Klensin, 2001, RFC 2821).

Salah satu fitur penting SMTP adalah kemampuannya untuk mengirimkan email melewati jaringan-jaringan, yang biasa disebut “SMTP mail relaying”. Menggunakan SMTP, sebuah proses dapat mengirimkan email pada proses lain pada jaringan yang sama atau jaringan yang berbeda melalui sebuah relay atau gateway yang dapat diakses dari jaringan tersebut. Dengan cara ini, sebuah email mungkin melewati sejumlah relay atau gateway penghubung dalam perjalanannya dari pengirim menuju penerima. (Klensin, 2001, RFC 2821)

Gambar 2.8 SMTP (Klensin, 2001, RFC 2821)

Ketika sebuah SMTP client mempunyai pesan untuk dikirimkan, ia akan membuat sebuah saluran transmisi dua arah dengan sebuah SMTP server. Tugas dari

User File System SMTP Client SMTP Server File System SMTP Command / Replies

(15)

sebuah SMTP client adalah untuk mentransfer email pada satu atau lebih SMTP server atau melaporkan bila terjadi kegagalan. (Klensin, 2001, RFC 2821).

Sebuah SMTP client dapat mengetahui alamat dari SMTP server yang sesuai dengan cara melakukan resolving terhadap nama domain tujuan walaupun tujuan itu adalah Mail exchanger penyambung atau host tujuan terakhir.

Sebuah SMTP server dapat berupa tujuan terakhir atau relay penyambung (ini dapat berperan menjadi SMTP client setelah menerima pesan) atau gateway (akan mengirimkan pesan lebih jauh dengan menggunakan protokol selain SMTP). Perintah SMTP (SMTP command) dihasilkan oleh SMTP client dan dikirimkan pada SMTP

server. Balasan SMTP (SMTP replies) dikirim dari SMTP server pada SMTP client

sebagai tanggapan terhadap perintah-perintah tersebut. (Klensin, 2001, RFC 2821). Ketika saluran transmisi telah dibuat dan handshaking awal telah selesai, SMTP

client biasanya memulai transaksi email. Transaksi tersebut biasanya terdiri dari urutan

perintah untuk menentukan pengirim dan tujuan dari email dan perintah untuk pengiriman isi pesan (termasuk header atau struktur lain). Ketika pesan yang sama dikirim pada penerima yang lebih dari satu, protokol ini menganjurkan agar hanya mengirim satu salinan data untuk semua penerima bila tujuannya sama (berada dalam satu domain)

Server menanggapi setiap perintah dengan balasan. Balasan dapat menandakan

bahwa perintah diterima, perintah kurang lengkap, atau ada kesalahan sementara atau permanen.

SMTP mempunyai mekanisme pengiriman email sebagai berikut : bila pengirim dan penerima berada pada satu transport service yang sama (jaringan yang sama), pengiriman dilakukan secara langsung. Bila pengirim dan penerima berada pada

(16)

transport service yang berbeda (jaringan yang berbeda), maka pengiriman akan

melibatkan satu atau lebih SMTP server penyambung. SMTP server penyambung yang berperan sebagai SMTP relay atau gateway ini biasanya dipilih melalui mekanisme Mail

eXchanger (MX) dari Domain Name Service (DNS).

Relay dan Gateway

Menurut Klensin, 2001, RFC 2821, sebuah sistem relay SMTP (biasa disebut “relay” saja) menerima email dari SMTP client dan mengirimkannya tanpa memodifikasi data selain menambah informasi pencatatan jejak, pada SMTP server lain untuk direlay lebih jauh atau untuk pengiriman.

Menurut Klensin, 2001, RFC 2821, sebuah sistem gateway SMTP (biasa disebut ”gateway” saja) menerima email dari client dari suatu lingkungan transport dan mengirimkannya pada server dari suatu lingkungan transport yang berbeda.

Perbedaan dalam protokol atau semantik pesan antara lingkungan transport dari kedua sisi gateway memungkinkan gateway melakukan transformasi pada pesan yang tidak diperbolehkan pada sistem relay SMTP. (Klensin, 2001, RFC 2821).

Prosedur SMTP

SMTP memiliki beberapa prosedur berikut untuk mengirimkan email, yaitu inisiasi sesi (session initiation), inisiasi oleh client (client initiation), transaksi mail (mail

transaction), meneruskan mail (forwarding mail), memeriksa nama mailbox (verifying mailbox names), expanding mailing lists, dan pembukaan dan penutupan pertukaran

(17)

• Inisisasi Sesi (Session Initiation)

Sebuah sesi SMTP dibuat ketika client melakukan koneksi pada server dan

server merespon dengan pesan pembuka. SMTP server dapat memberikan identifikasi

mengenai software dan informasi versi dalam pesan pembuka. (Klensin, 2001, RFC 2821)

• Inisiasi oleh Client (Client Initiation)

Setelah server telah mengirim pesan pembuka dan client telah menerimanya,

biasanya client mengirimkan perintah EHLO pada server untuk memberitahu identitas

client. Penggunaan EHLO menandakan bahwa client dapat memproses tambahan

layanan (service extensions) dan meminta pada server untuk menyediakan daftar tambahan yang didukung. SMTP server atau client yang tidak mendukung EHLO, dapat menggunakan perintah HELO untuk melakukan inisiasi. (Klensin, 2001, RFC 2821). • Transaksi Mail (Mail Transactions)

Ada tiga langkah dalam melakukan transaksi mail SMTP. Transaksi dimulai dengan perintah MAIL yang mengidentifikasi pengirim. Lalu dilanjutkan dengan satu atau lebih perintah RCPT untuk memberikan informasi mengenai penerima (tujuan). Kemudian perintah DATA digunakan untuk memulai pengiriman isi email dan diakhiri dengan indikator akhir email (end of mail). Setelah itu transaksi mail selesai dan data siap dikirim (Klensin, 2001, RFC 2821).

• Meneruskan Mail (Forwarding Mail)

Meneruskan mail (forwarding) biasanya dibutuhkan untuk menggabungkan atau menyederhanakan alamat dalam sebuah perusahaan atau kadang-kadang dipakai untuk membuat alamat yang menyambungkan alamat lama seseorang. Dalam implementasi,

(18)

SMTP server dapat memilih untuk memberitahukan client mengenai perubahan alamat, atau diam-diam meneruskan email ke alamat yang baru. (Klensin, 2001, RFC 2821) • Memeriksa nama mailbox (Verifying Mailbox Name)

SMTP mempunyai perintah untuk memeriksa nama mailbox atau nama user yang terdaftar pada SMTP server tersebut, yaitu VRFY. Jika nama mailbox atau nama

user yang diberikan terdaftar pada server, maka server akan mengirimkan balasan

berupa nama lengkap dari user dan nama mailbox nya. (Klensin, 2001, RFC 2821) • Mendapatkan daftar anggota milis(Expanding Mailing List)

Untuk mendapatkan isi (daftar anggota) dari sebuah milis (Mailing List), SMTP menggunakan perintah EXPN. Jika nama milis tersebut valid, maka server akan mengirimkan balasan berupa nama user dan nama mailbox nya. (Klensin, 2001, RFC 2821)

• Penutupan sesi dan koneksi

Koneksi SMTP ditutup ketika client mengirimkan perintah QUIT. Server membalas dengan balasan positif, setelah itu memutuskan koneksi. SMTP server tidak boleh memutuskan koneksi secara sengaja kecuali jika :

• Setelah menerima perintah QUIT, dan membalas dengan kode 221

• Setelah mendeteksi ada kebutuhan untuk mematikan layanan SMTP dan memberikan kode 421.

Server tidak boleh memutuskan koneksi jika menerima perintah yang tidak

dikenalnya, melainkan server harus mengirimkan kode balasan 500 dan menunggu perintah selanjutnya dari client.

(19)

Perintah-perintah SMTP (SMTP commands)

Perintah SMTP mendefinisikan proses transfer email atau fungsi lainnya yang diminta oleh user. Perintah SMTP adalah berupa kata (string) yang diakhiri dengan CRLF (Carriage Return & Line Feed atau karakter ganti baris). Jika ada parameter maka dipisahkan dengan karakter spasi. (Klensin, 2001, RFC 2821)

• Extended HELLO (EHLO) atau HELLO (HELO)

Perintah ini digunakan untuk mengidentifikasi client pada SMTP server. Perintah ini dapat mempunyai argumen berupa nama domain lengkap (Fully-Qualified Domain

Name / FQDN) dari client jika ada. Jika client tidak mempunyai nama domain, maka client harus mengirimkan alamatnya (berupa alamat IP). (Klensin, 2001, RFC 2821)

SMTP client harus memulai sesi SMTP dengan mengirim perintah EHLO. Jika

SMTP server mendukung layanan tambahan SMTP (SMTP service extensions), ia akan memberikan tanggapan sukses, tanggapan gagal atau tanggapan kesalahan. SMTP client yang lebih kuno boleh menggunakan HELO selain EHLO, dan server harus mendukung perintah HELO dan memberikan balasan dengan benar.

• MAIL (MAIL)

Perintah ini digunakan untuk menginisiasi transaksi email dimana isi email tersebut akan dikirimkan pada sebuah SMTP server. Perintah ini mempunyai argumen berupa reverse-path dan mempunyai beberapa parameter opsional. Reverse-path merupakan alamat mailbox dari pengirim. Dalam beberapa kasus seperti pengiriman laporan kegagalan pengiriman, reverse-path dapat dibiarkan kosong (Klensin, 2001, RFC 2821).

Jika layanan tambahan digunakan, maka perintah MAIL dapat juga mengandung parameter yang sesuai dengan layanan tersebut.

(20)

• RECIPIENT (RCPT)

Perintah ini digunakan untuk mengidentifikasi penerima dari pesan. Bila penerima lebih dari satu, maka perintah ini harus digunakan berulang-ulang. Perintah ini mempunyai argumen berupa forward-path dan mempunyai beberapa parameter opsional. Forward-path biasanya berupa alamat mailbox dari penerima (Klensin, 2001, RFC 2821).

Jika layanan tambahan digunakan, maka perintah RCPT dapat juga mengandung parameter yang sesuai dengan layanan tersebut (Klensin, 2001, RFC 2821).

• DATA (DATA)

Perintah ini digunakan untuk menandai awal dari isi email. Setelah menerima perintah DATA, penerima biasanya mengirimkan balasan berupa kode 354, kemudian menganggap baris-baris seterusnya sebagai data atau isi email dari pengirim.

Isi email dapat mengandung karakter yang termasuk 128 karakter ASCII. Isi email diakhiri dengan sebuah baris yang hanya mengandung satu buah titik (’.’), yaitu

urutan karakter ”<CRLF>.<CRLF>”. <CRLF> yang pertama merupakan akhir dari baris terakhir data (baris di atas tanda titik).

Penerimaan data akhir email (end of mail) menandakan bahwa server harus menyimpan informasi mengenai transaksi email tersebut. Jika proses ini berhasil, penerima harus mengirimkan balasan OK. Jika gagal, penerima harus mengirimkan balasan gagal. Model SMTP tidak mengijinkan keadaan setengah berhasil atau setengah gagal, setiap pesan harus berhasil dikirim atau gagal dikirim.

Ketika SMTP server menerima pesan baik untuk relaying atau untuk pengiriman

terakhir, ia menambahkan jejak (trace record atau time stamp) pada bagian atas dari

(21)

menerima pesan dan tanggal dan waktu pesan tersebut diterima. Pesan yang direlay dapat mempunyai lebih dari satu baris time stamp. (Klensin, 2001, RFC 2821)

• RESET (RSET)

Perintah ini menyatakan bahwa transaksi email saat ini akan dibatalkan. Semua informasi mengenai pengirim, penerima dan isi email harus diabaikan. Penerima harus mengirim balasan ”250 OK” terhadap perintah RSET. Perintah RSET dapat digunakan

client kapan saja. Server tidak boleh menutup koneksi jika mendapat perintah RSET.

(Klensin, 2001, RFC 2821) • VERIFY (VRFY)

Perintah ini meminta penerima (server) untuk memastikan apakah argumen yang diberikan nama user atau nama mailbox. (Klensin, 2001, RFC 2821)

• EXPAND (EXPN)

Perintah ini meminta pada penerima (server) untuk memastikan apakah argumen berupa milis, jika ya, penerima akan mengirimkan daftar anggota dari milis tersebut. (Klensin, 2001, RFC 2821)

• HELP (HELP)

Perintah ini meminta server untuk mengirimkan informasi yang berguna pada

client. Perintah ini bisa mempunyai argumen (berupa nama perintah) dan mengirimkan

informasi yang spesifik sebagai balasan. (Klensin, 2001, RFC 2821) • NOOP (NOOP)

Perintah ini tidak mempengaruhi parameter atau perintah yang diberikan sebelumnya. Perintah ini tidak melakukan apa selain penerima mengirimkan balasan

(22)

• QUIT (QUIT)

Perintah ini mengharuskan penerima (server) mengirimkan balasan OK, kemudian menutup saluran transmisi (koneksi). Penerima tidak boleh secara sengaja menutup saluran transmisi sampai ia menerima dan membalas perintah QUIT. Pengirim tidak boleh secara sengaja menutup saluran transmisi sampai ia mengirim perintah QUIT, dan harus menunggu sampai ia menerima balasan.

Jika koneksi terputus tanpa mengikuti aturan diatas, maka server harus membatalkan transaksi yang belum selesai (pending) tetapi tidak membatalkan transaksi yang sudah selesai (completed) (Klensin, 2001, RFC 2821)

Balasan-balasan SMTP (SMTP replies)

Balasan terhadap SMTP penting untuk memastikan sinkronisasi dari permintaan dan aksi dalam proses pengiriman email, dan untuk menjamin SMTP client selalu mengetahui status dari SMTP server. Setiap perintah harus mendapatkan satu balasan. (Klensin, 2001, RFC 2821)

Balasan SMTP terdiri dari tiga digit kode, digit pertama menandakan apakah balasan itu benar, salah atau tidak lengkap, digit kedua dan ketiga berperan sebagai informasi tambahan. (Klensin, 2001, RFC 2821)

Ada lima nilai untuk digit pertama dari kode balasan (Klensin, 2001, RFC 2821) • Positive Preliminary reply (1yz)

Perintah telah diterima, tetapi aksi ditunda sementara, menunggu konfirmasi terhadap reply ini. SMTP client harus mengirimkan perintah untuk meneruskan atau membatalkan aksi.

(23)

• Positive Completion reply (2yz)

Aksi yang diminta telah selesai dilaksanakan. Perintah yang baru bisa dimasukkan lagi.

• Positive Intermediate reply (3yz)

Perintah telah diterima, tetapi aksi yang diminta ditunda sementara, menunggu penerimaan informasi lebih lanjut. SMTP client harus mengirimkan perintah lain yang mengandung informasi ini.

• Transient Negative Completion reply (4yz)

Perintah tidak diterima, dan aksi yang diminta tidak dilakukan. Walaupun demikian, kondisi kesalahan ini hanya sementara dan aksi dapat diminta kembali.

• Permanent Negative Completion reply (5yz)

Perintah tidak diterima, dan aksi yang diminta tidak dilakukan. SMTP client diharapkan tidak mengulangi perintah yang sama atau urutan perintah yang sama.

Kode-kode balasan SMTP berikut ini diurutkan berdasarkan fungsinya. (Klensin, 2001, RFC 2821)

500 Syntax error, command unrecognized

Artinya : kesalahan sintaks, perintah tidak dikenal

501 Syntax error in parameters or arguments

Artinya : kesalahan sintaks pada argumen atau parameter

502 Command not implemented

(24)

503 Bad sequence of commands

Artinya : urutan perintah salah

504 Command parameter not implemented

Artinya : parameter perintah belum diimplementasi

211 System status, or system help reply

Artinya : status sistem atau bantuan

214 Help message

Artinya : pesan bantuan

220 <domain> Service ready

Artinya : layanan siap, biasanya ini merupakan salam pembuka 221 <domain> Service closing transmission channel

Artinya : layanan menutup saluran transmisi

421 <domain> Service not available, closing transmission channel

Artinya : Layanan tidak tersedia, menutup saluran transmisi

(Ini merupakan jawaban terhadap semua perintah bila layanan harus dimatikan)

250 Requested mail action okay, completed

Artinya : Aksi yang diminta selesai dilaksanakan 251 User not local; will forward to <forward-path>

Artinya : user tidak terdaftar di server, tetapi server akan meneruskan ke alamat lain (forward-path) 252 Cannot VRFY user, but will accept message and attempt delivery

(25)

pesan dan mencoba mengirimkan

450 Requested mail action not taken: mailbox unavailable

Artinya : aksi tidak dapat dilakukan, mailbox tidak ada (sibuk) 550 Requested action not taken: mailbox unavailable

Artinya : aksi tidak dapat dilakukan, mailbox tidak ada (mailbox tidak terdaftar, tidak ada akses atau perintah ditolak)

451 Requested action aborted: error in processing

Artinya : aksi dibatalkan, kesalahan terjadi saat proses 551 User not local; please try <forward-path>

Artinya : user tidak terdaftar di server, client diminta mencoba alamat lain (forward-path)

452 Requested action not taken: insufficient system storage

Artinya : aksi tidak dilakukan, penyimpanan sistem tidak cukup 552 Requested mail action aborted: exceeded storage allocation

Artinya : aksi dibatalkan, penyimpanan melebihi batas

553 Requested action not taken: mailbox name not allowed

Artinya : aksi tidak dilakukan, nama mailbox tidak valid

354 Start mail input; end with <CRLF>.<CRLF>

Artinya : awal dari isi pesan, akhiri dengan <CRLF>.<CRLF> 554 Transaction failed

(26)

2.4.2 Domain Name Service (DNS) dan Elemen-elemennya

DNS (Domain Name Service) adalah suatu layanan yang menyediakan suatu mekanisme untuk memberi nama pada suatu resource dengan suatu cara sehingga nama dapat digunakan pada host yang berbeda, jaringan, protokol, Internet dan organisasi-organisasi. (Mockapetris, 1987, RFC 1035).

DNS server biasanya menyimpan informasi sebagai kumpulan dari resource record (RRs), yang masing-masing mengandung informasi tertentu mengenai suatu

nama domain. (Partridge, 1986, RFC 974)

DNS mempunyai 3 elemen utama (Mockapetris, 1987, RFC 1034):

• Domain Name Space dan Resource Record, merupakan spesifikasi untuk nama yang mempunyai struktur tree dan data yang mengacu pada nama tersebut. Operasi query digunakan untuk mengambil tipe tertentu dari informasi yang berasal dari himpunan tertentu. Sebuah query menyebutkan nama domain dan tipe resource yang diinginkan.

• Name server, merupakan program server yang menyimpan informasi mengenai tree domain structure dan informasi mengenai himpunan.

• Resolver, merupakan program yang mengambil informasi dari name server sebagai tanggapan atas permintaan dari client. Resolver harus dapat mengakses salah satu name server dan menggunakan informasi dari name

server itu untuk menjawab query secara langsung atau meneruskan query ke name server lain dengan menggunakan pengacu dari name server tersebut..

(27)

Resource Record

Setiap nama domain mempunyai himpunan informasi mengenai sesuatu, yang bisa saja kosong. Himpunan informasi yang mengacu pada suatu nama tertentu terdiri dari Resource Record (RR) yang terpisah. Urutan dari RR dalam suatu himpunan tidak berpengaruh. (Mockapetris, 1987, RFC 1034)

RR mempunyai komponen berikut (Mockapetris, 1987, RFC 1034) : • Owner, merupakan nama domain dari RR yang bersangkutan • Type, menyatakan tipe dari resource dalam RR tersebut, antara lain:

o A alamat host

o CNAME mengidentifikasi nama resmi (canonical name) dari alias

o HINFO mengidentifikasi Central Processing Unit (CPU) dan Operating System (OS) dari host

o MX mengidentifikasi mail exchange untuk domain tersebut o NS name server yang bertanggung jawab untuk domain

tersebut.

o PTR pointer untuk bagian lain dari domain name space

o SOA mengidentifikasi awal dari zona otoritas (zone of

authority).

• Class, menentukan protokol apa yang digunakan.

• TTL, 32 bit signed integer yang menspesifikasikan interval waktu yang telah dilakukan cache oleh resource record sebelum sumber dari informasinya dikonsultasikan kembali.

(28)

• RDATA, merupakan data dari resource, isinya tergantung dari type dan class.

Mail eXchanger (MX) dan MX Record

Mail exchanger merupakan sebuah SMTP server yang bertanggung jawab untuk

menangani email untuk suatu domain tertentu. Alamat dari Mail exchanger ini terkandung pada MX record dari DNS. Suatu domain bisa saja mempunyai satu atau lebih MX record.

Setiap MX mempunyai dua buah data, yaitu nilai prioritas (preference value), dan nama dari host. Nilai prioritas digunakan untuk menentukan urutan MX host mana yang harus dihubungi oleh pengirim, nilai yang paling rendah memiliki prioritas tertinggi. MX diperbolehkan memiliki nilai prioritas sama. (Partridge, 1986, RFC 974).

2.4.3 Post Office Protocol – Version 3.0 (POP3) dan Operasi-operasinya

Protokol ini bertujuan untuk memungkinkan sebuah komputer/workstation untuk mengakses email secara dinamis yang tersimpan di sebuah server. Ini berarti protokol POP3 ini digunakan untuk memperbolehkan sebuah komputer mengambil email dari

server yang menyimpannya. POP3 tidak ditujukan untuk memanipulasi email yang

tersimpan di server, biasanya email didownload kemudian dihapus.(Myers & Rose, 1996, RFC 1939)

Pada awalnya, server menjalankan layanan POP3 dengan mendengarkan pada TCP port 110. Ketika sebuah client ingin menggunakan layanan, ia akan membuat koneksi TCP dengan server. Ketika koneksi sudah dibuat, server POP3 mengirimkan sapaan. Client dan POP3 server kemudian bertukar perintah dan balasan (secara bergantian) sampai koneksi ditutup atau dibatalkan. (Myers & Rose, 1996, RFC 1939)

(29)

Perintah pada POP3 terdiri dari keyword yang case-insensitive (huruf besar atau kecil tidak berpengaruh), bisa ditambah oleh satu atau beberapa argumen. Semua perintah diakhiri oleh CRLF (Carriage Return & Line Feed). Keyword dan argumen terdiri dari karakter ASCII biasa. Keyword dan argumen dipisahkan oleh karakter spasi.

Keyword terdiri dari 3 atau 4 karakter. Setiap argumen bisa mencapai 40 karakter.

Balasan dalam POP3 terdiri dari indikator status dan keyword, bisa ditambah dengan informasi tambahan. Semua balasan diakhiri oleh CRLF. Balasan dapat terdiri dari 512 karakter termasuk CRLF. Ada dua indikator : positif (“+OK”) dan negatif (”-ERR”). Server harus mengirim ”+OK” dan ”-ERR” dalam huruf besar. (Myers & Rose, 1996, RFC 1939)

Status-status dalam POP3

• Status Otorisasi (Authorization State)

Ketika koneksi TCP telah dibuka oleh sebuah POP3 client, POP3 server memberikan satu baris salam pembuka. Ini dapat berupa balasan positif apa saja, contoh nya : +OK POP3 server ready

Sesi POP3 sekarang berada pada status Otorisasi (Authorization). Client harus mengidentifikasi dan mengotentikasi dirinya pada POP3 server. Ada dua mekanisme untuk melakukan otentikasi, yaitu menggunakan kombinasi perintah USER dan PASS, atau menggunakan perintah APOP. .(Myers & Rose, 1996, RFC 1939)

• Status Transaksi (Transaction State)

Ketika POP3 server telah mengetahui bahwa client tertentu telah melakukan

otentikasi dan client tersebut harus diberi akses pada maildropnya( email milik user yang tersimpan di server), POP3 server kemudian memperoleh exclusive-lock terhadap

(30)

maildrop, agar mencegah pesan diubah atau dihapus sebelum proses selesai. Bila lock

berhasil didapat, POP3 server akan merespon dengan balasan positif. Sesi POP3 sekarang berada pada status Transaksi (Transaction State)

Client sekarang dapat memberikan perintah POP3 berulang-ulang. Setelah setiap

perintah, POP3 server akan memberikan balasan, sampai client memberikan perintah QUIT. (Myers & Rose, 1996, RFC 1939)

• Status Update (Update State)

Bila client memberikan perintah QUIT pada waktu berada pada status Transaksi,

sesi POP3 berada pada status Update (Update State). Jika client memberikan perintah QUIT pada waktu status Otorisasi, maka koneksi tetap akan ditutup, tetapi POP3 tidak masuk ke status Update.

Pada status ini, POP3 server akan melakukan perubahan pada maildrop sebagai efek dari perintah-perintah yang diberikan client. .(Myers & Rose, 1996, RFC 1939)

Perintah-perintah POP3 (POP3 commands) • Perintah QUIT

Jika diberikan pada waktu status Otorisasi, perintah QUIT hanya berfungsi untuk menutup koneksi.

Jika diberikan pada waktu status Transaksi, perintah QUIT berfungsi untuk menutup koneksi sekaligus masuk ke status Update.

• Perintah STAT

Perintah ini digunakan untuk mengetahui informasi mengenai maildrop dari user tertentu.

(31)

• Perintah LIST

Perintah ini digunakan untuk mendapatkan informasi mengenai salah satu atau semua pesan yang ada dalam maildrop milik suatu user.

• Perintah RETR

Perintah ini meminta pada server untuk mengirimkan seluruh isi pesan pada

client.

• Perintah DELE

Perintah ini digunakan untuk menghapus pesan yang tersimpan di server. • Perintah NOOP

Perintah ini digunakan hanya untuk mendapatkan balasan positif dari server. • Perintah RSET

Perintah ini digunakan untuk membatalkan pemberian tanda terhapus pada pesan (akibat perintah DELE).

Gambar

Gambar 2.1 Lingkungan OSI
Gambar 2.2 Perbandingan arsitektur Protokol OSI dan TCP/IP
Gambar 2.5 Use-case diagram
Gambar 2.6 Class diagram (Booch et al,1998,p106)
+3

Referensi

Dokumen terkait

[r]

Sikap dan cara kerja yang fisiologis ergonomis perlu agar tercapai nilai efisiensi, kearnanan dan kenyamman kerja serta terhindar dari cidera Cidera adalah. salah

Peristiwa ekternal yang dicakup adalah fluktuasi harga minyak dunia serta fluktuasi suku bunga Amerika Serikat, sedangkan peristiwa domestik adalah kebijakan moneter yang

Analisis data dilakukan dengan menghitung skor rata- rata tertimbang (weighted mean score) setiap pernyataan dan pada hasil akhir disimpulkan aspek mana dari kelima aspek

 Kami Memberikan Garansi 1 Tahun Ganti Baru Kamera Dan Alat Rekam atau DVR.  Lembaran ini Menjadi Bukti Bahwa Telah Terjadinya Transaksi Dengan Pihak

Hal ini sesuai dengan kategorisasi bahwa Saninten termasuk vegatasi sub montana (1000 – 1500 m dpl) sehingga pada elevasi diatas titik tengah kisaran tersebut

Perkiraan umur layanan waduk ini menggunakan berat volume kering yang terbesar berdasarkan analisis kedua formula tersebut, selanjutnya dengan laju sedimen dianggap tetap

Ketahuilah bahwa Islam yang merupakan tuntunan Nabi Ibrahim 'alaihis salam adalah ibadah kepada Allah semata dengan memurnikan ketaatan kepada-Nya, itulah yang diperintahkan