Anda di halaman 1dari 11

PEMROGRAMAN JARINGAN MODUL 21

By Antonius Rachmat C, S.Kom

Pemrograman Jaringan modern sekarang ini berbasis pada model client/server. Pada
sebagian besar kasus, server biasanya mengirim data, sedangkan client menerimanya.
Pembahasan tentang model Client/Server tidak akan lepas dari konsep sistem
terdistribusi. Sebab client/server merupakan model dasar dari sistem terdistribusi.

Pengertian Sistem Terdistribusi


"A system in which hardware or software components located at networked computers
communicate and coordinate their actions only by message passing." [Coulouris]

Dengan pembagian fungsi untuk tiap komponen dalam suatu sistem, manfaatnya:
- Berbagi resource
- Berbagi beban kerja
- Tidak membedakan platform
- Meningkatkan efisiensi

Ada dua organisasi yang menstandarisasi pemrograman jaringan dan protokol di


internet, yaitu :
- Internet Engineering Task Force (IETF) : TCP/IP, MIME, dan SMTP
- World Wide Web Consortium (W3C) : HTTP, HTML, XHTML, MathML, dan XML

Dokumen-dokument IETF dipublikasikan sebagai Internet drafts dan requests for


comments (RFCs). RFCs and Internet drafts berasal dari informational dokumen dari
keinginan umum sampai spesifikasi detail dari Internet protokol seperti HTTP.

Dokumen RFCs dipublikasikan jika disetujui oleh Internet Engineering Steering Group
(IESG) dari IETF. Semua dokumen standar IETF yang disetujui adalah RFCs, tetapi
tidak semua RFCs adalah standar IETF. RFCs banyak terdapat di Internet, misalnya
http://www.faqs.org/rfc/ dan http://www.ietf.org/rfc.html

RFC Title Maturity level Requirement Description


level

RFC 791 Internet Protocol Standard Required The IP internet layer protocol.
RFC 919
RFC 922
RFC 950
STD 5

RFC 768 User Datagram Standard Recommended An unreliable, connectionless transport layer
STD 6 Protocol protocol.

RFC 793 Transmission Control Standard Recommended A reliable, connection-oriented, streaming


STD 7 Protocol transport layer protocol.

RFC Simple Mail Transfer Proposed Recommended The application layer protocol by which one
2821 Protocol standard host transfers email to another host. This
standard doesn't say anything about email
user interfaces; it covers the mechanism for
passing email from one computer to another.

RFC 822 Format of Electronic Standard Recommended The basic syntax for ASCII text email
STD 11 Mail Messages messages. MIME is designed to extend this
to support binary data while ensuring that the
messages transferred still conform to this
standard.

RFC 854 Telnet Protocol Standard Recommended An application-layer remote login service for
RFC 855 command-line environments based around
STD 8 an abstract network virtual terminal (NVT)
and TCP.

RFC 959 File Transfer Protocol Standard Recommended An optionally authenticated, two-socket
STD 9 application layer protocol for file transfer
that uses TCP.

RFC 977 Network News Proposed Elective The application layer protocol by which
Transfer Protocol standard Usenet news is transferred from machine to
machine over TCP; used by both news
clients talking to news servers and news
servers talking to each other.

RFC Domain Name System Standard Recommended The collection of distributed software by
1034 which hostnames that human beings can
RFC 1035 remember, like www.oreilly.com, are
STD 13 translated into numbers that computers can
understand, like 198.112.208.11. This STD
defines how domain name servers on
different hosts communicate with each other
using UDP.

RFC 1738 Uniform Resource Proposed Elective Full URLs like http://www.amnesty.org/ and
Locators standard ftp://ftp.ibiblio.org/pub/multimedia/chinese-
music/Dream_Of_Red_Mansion/HLM04
.Handkerchief.au.

RFC 1808 Relative Uniform Proposed Elective Partial URLs like /javafaq/books/ and
Resource Locators standard ../examples/07/index.html used as values of
the HREF attribute of an HTML A element.

RFC 1939 Post Office Protocol, Standard Elective An application-layer protocol used by
STD 53 Version 3 sporadically connected email clients such as
Eudora to retrieve mail from a server over
TCP.

RFC 1945 Hypertext Transfer Informational N/A Version 1.0 of the application layer protocol
Protocol (HTTP 1.0) used by web browsers talking to web servers
over TCP; developed by the W3C rather than
the IETF.
RFC
2045 Multipurpose Internet Draft standard Elective A means of encoding binary data and non-
Mail Extensions ASCII text for transmission through Internet
RFC 2046 email and other ASCII-oriented protocols.

RFC 2047

RFC 2068 Hypertext Transfer Proposed Elective Version 1.1 of the application layer protocol
Protocol (HTTP 1.1) standard used by web browsers talking to web servers
over TCP.

RFC 2373 IP Version 6 Proposed Elective The format and meaning of IPv6 addresses.
Addressing standard
Architecture

RFC 2396 Uniform Resource Proposed Elective Similar to URLs but cut a broader path. For
Identifiers (URI): standard instance, ISBN numbers may be URIs even
Generic Syntax if the book cannot be retrieved over the
Internet.

RFC 3501 Internet Message Proposed Elective A protocol for remotely accessing a mailbox
Access Protocol standard stored on a server including downloading
Version 4rev1 messages, deleting messages, and moving
messages into and out of different folders.

Sedangkan W3C hanya boleh terdiri dari perusahaan-perusahaan saja.

ARSITEKTUR CLIENT-SERVER
Client/Server dapat diartikan sebagai kemampuan komputer untuk meminta layanan
request data kepada komputer lain. Komputer yang meminta layanan disebut sebagai
client, sedangkan yang menyediakan layanan disebut sebagai server.

Pengertian lain, client melakukan permintaan suatu informasi atau mengirim perintah ke
server. Server akan menerima permintaan dan perintah client. Kemudian server akan
memproses memproses berdasarkan permintaan tersebut, dan mengembalikan kepada
client sebagai hasil pemrosesan yang sudah dilakukan.

Service Request Services Response

Client Middleware Server


PHP, Apache, IIS
Web JSP,ASP
Browser Data Request

Database:
MySQL, Oracle

Arsitektur Model Client/Server


Service Request adalah permintaan dari client baik berupa permintaan data maupun
perintah ke server.
Service Response berupa balasan dari server atas permintaan dari client berupa hasil
proses.
Data yang diminta oleh client dapat diambil dari database pada sisi server yang sering
disebut database server, seperi misalnya MySQL, PostgreSQL, Oracle, atau SQL Server.

Karakteristik Client-Server:
Client dan Server merupakan item proses (logika) terpisah yang bekerja sama
pada suatu jaringan komputer untuk mengerjakan suatu tugas
Service : Menyediakan layanan terpisah yang berbeda
Shared resource : Server dapat melayani beberapa client pada saat yang sama
dan mengatur pengaksesan resource
Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-
many. Client memulai komunikasi dengan mengirim request ke server. Server
menunggu permintaan dari client. Kondisi tersebut juga memungkinkan
komunikasi callback.
Transparency Location : proses server dapat ditempatkan pada mesin yang sama
atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi
server dari client.
Mix-and-match : tidak tergantung pada platform
Message-based-exchange : antara client dan server berkomunikasi dengan
mekanisme pertukaran message.
Encapsulation of service : message memberitahu server apa yang akan
dikerjakan
Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal
Integrity : kode dan data server diatur secara terpusat, sedangkan pada client
tetap pada komputer tersendiri

MIDDLEWARE
Software yang berfungsi sebagai lapisan konversi atau penerjemah. Juga sebagai
konsolidator dan integrator. Middleware saat ini dikembangkan untuk memungkinkan
satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada platform yang
berbeda.

ARSITEKTUR SOFTWARE
- Data, menyediakan struktur dan fungsi untuk manipulasi informasi, yang terdiri
dari banyak objek data. Sebagai contoh : relational Database, file grafik, file suara
atau multimedia data stream
- Processing, terfokus pada pemrosesan objek data, yang biasanya disebut sebagai
middleware.
- Presentation, terfokus untuk membuat data tersedia untuk user dan menangani
interaksi dengan user. Ada dua level :
User interface
Presentation management, menyediakan operasi dasar untuk membangun
dan mengontrol user interface di bawah kontrol aplikasi. Meliputi : layanan
tampilan, kontrol dialog dan API. Contoh : X-Windows, MS Windows

KONSEP DASAR WEB


Hypertext Transfer Protocol (HTTP) adalah standar untuk mendefiniskan bagaimana
client berkomunikasi dengan server dan bagaimana data ditransmisikan dari server
kembali ke client.
1. URI (Uniform Resource Identifier)
Uniform Resource Identifier (URI) adalah kumpulan karakter dalam sintaks
tertentu yang mengidentifikasi sebuah resource. Resource bisa merupakan file
di server tapi juga bisa merupakan email address, berita, buku, host internet,
dan lain-lain.
Sintaks : scheme:scheme-specific-part
scheme bisa berupa : data, file, http, ftp, gopher, mailto, news, telnet.
scheme-specific-part bisa berupa : //authority/path?query
Contoh : http://www.ukdw.ac.id/index.php?a=1&b=2
URI ada 2 yaitu :
- URN (Uniform Resource Name)
Tujuan URN adalah menghandle resource yang dimirror pada banyak tempat
yang berbeda atau telah dipindah dari satu tempat ke tempat lain. URN
mengidentifikasi resource itu sendiri, bukan tempat resourcenya. Jika terdapat
sebuah URN, sebuah program FTP harus mengambil filenya dari mirror
terdekat.

Sebuah URN memiliki format sebagai berikut


urn:namespace:resource_name. Sebuah namespace adalah nama dari

koleksi dari resource. Sebuah resource_name adalah nama dari resource dari
sebuah koleksi. Contohnya, URN dari urn:ISBN:1565924851
mengindentifikasikan sebuah ISBN dengan identifikasi 1565924851. Dan
mengacu pada sebuah buku misalnya bernama : Java Network Programming.
Masing-masing sintaks tergantung pada resource_name.ISBN namespace
terdiri dari 10 atau 13 karakter, semuanya adalah digitdengan sebuah aturan
bahawa karakter terakhir berupa huruf : X (baik huruf besar / kecil).
- URL (Uniform Resource Locator) : penunjuk ke suatu resource di Internet
pada lokasi tertentu, misal: http://www.oreilly.com/catalog/javanp3/
URL ada dua macam :
Absolute URL : contoh <img src=http://www.ukdw.ac.id/ukdw.jpg>
Relative URL : contoh <img src=images/ukdw.gif>
2. HTML, SGML, dan XML
HTML digunakan untuk memformat dokumen web. HTML digunakan untuk
presentasi data dan menyediakan linking antar halaman.

SGML adalah ide untuk mendeskripsikan sematik teks daripada


penampilannya yang disebut juga Standard Generalized Markup Language.
SGML ditemukan pada pertengahan tahun 1970an oleh Charles Goldfarb,
Edward Mosher, dan Raymond Lorie di IBM. SGML merupakan standar
International Standards Organization (ISO), yaitu ISO 8879:1986.

XML adalah suatu bahasa Markup, yaitu bahasa yang berisikan kode-kode
berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen
teks dengan tag sendiri agar dapat dimengerti. XML menyediakan format
untuk mendeskripsikan data terstruktur. XML menyebabkan isi data mudah
dimengerti dan memungkinkan pendefinisian kumpulan tag yang tidak
terbatas.
3. MIME (Multipurpose Internet Mail Extensions), RFC 2045.
MIME adalah standar untuk mengirim multipart, multimedia data melalui
email di Internet. Data bisa berupa data biner, ASCII atau bukan ASCII.
MIME digunakan untuk mendeskripsikan isi file sehingga software client
dapat mengetahui perbedaan antara data.
Contoh : text/html, text/css, image/gif, video/mpeg, application/zip.

RETHINGKING JAVA
- Siapkan java sdk yang bisa didownload dari http://java.sun.com
- Editor java bisa menggunakan teks editor apa saja: notepad? edit plus? Kawa?
Netbeans? Jbuilder? JCreator?
- Prinsip-prinsip dasar :
o Satu buah file java harus berekstensi .java, satu file boleh terdiri dari
banyak kelas, namun hanya bisa terdiri dari satu public class.
o Nama file java harus sama dengan nama public class nya. Misal nama
public class adalah : public class HelloWorld, berarti nama filenya adalah
HelloWorld.java
o Ingat di Java case-sensitive, termasuk nama file dan folder nya. Java sangat
memperhatikan susunan folder/direktori, terutama untuk sebuah package.
o Satu buah class sederhana minimal ada kata kunci class nama_class.
Sebuah class boleh tidak memiliki atribut dan method. Sebuah aplikasi
java harus berupa class, dan jika di compile dengan javac akan
menghasilkan file berekstensi .class untuk masing-masing class yang ada.
o Sebuah class hanya dapat dieksekusi jika di dalamnya ada method public
static void main. Jika tidak ada method main maka class tersebut hanya
bisa dicompile dan tidak bisa dieksekusi.
o Sintaks java rata-rata mirip dengan bahasa C.
- Terdapat beberapa konvensi (aturan) dalam java:
o nama variabel primitif biasanya ditulis dalam huruf kecil. Contoh : int
o nama variabel berupa Object / Class ditulis dimulai huruf besar. Contoh :
String, Integer, Byte, Boolean.
o nama method untuk mengambil data bisanya diberi awalan
getNamaMethod(), sedangkan method untuk mengeset data biasanya diberi
awalan setNamaMethod(tipedata variabelset). Contoh:
Public void setNama(String nama);
Public String getNama()
o nama variabel biasanya dimulai dengan huruf kecil dan jika lebih dari satu
kata, disambung dan ditulis dengan huruf pertama huruf besar. Contoh: int
angkaRandom = 0, String namaMahasiswa
- Ada 3 jenis modifier variabel dalam Java:
private : hanya dapat diakses oleh kelas itu sendiri
protected : hanya dapat diakses oleh kelas itu dan kelas turunannya atau
masih dalam satu package.
public : dapat diakses oleh seluruh kelas yang ada.
- Java mengenal operasi control flow :
Percabangan : if-else, switch-case
Perulangan : for, while-do, do-while
Penanganan Exception : try-catch-finally, throws

KONSEP OOP
Class : prototipe yang mendefinisikan atribut dan method secara umum.
Object : segala sesuatu yang dapat dilihat dan dirasa. Sebuah instansiasi dari
Class.
Object dapat memiliki atribut dan method. Atribut / variabel / properties
adalah apa yang dimiliki oleh sebuah object. Sedangkan method / behaviour /
event adalah apa yang dapat dilakukan oleh sebuah object.
Enkapsulasi : pembungkusan atribut dan method pada suatu object.
Manfaatnya adalah: modularitas dan information hiding.
Message : mekanisme yang digunakan oleh object java untuk berkomunikasi
dengan object lain. Sehingga dimungkinkan terjadi aplikasi terdistribusi dan
berinteraksi melalui jaringan. Contoh : Java-CORBA dan Java-RMI.
Inheritance : pewarisan atribut dan method dari class induk ke class anaknya,
yang mengextends padanya. Superclass adalah class induk, subclass adalah
class anak. Subclass akan mewarisi seluruh sifat super class, namun juga
memungkinkan dapat juga memiliki atribut dan method yang lain, yang
membedakannya dengan induknya.
Abstract : kelas yang hanya terdiri dari method yang abstract yang digunakan
untuk mendukung inheritance.
Interface : kelas yang hanya terdiri dari kumpulan method-method saja tanpa
implementasi coding.

Anda mungkin juga menyukai