konsep pemrograman internet dan...
TRANSCRIPT
1
Konsep Pemrograman
Internet dan Web
2
Konsep Pemrograman Internet
• Pemrograman Internet:
– pemrograman aplikasi berbasis internet
(aplikasi internet)
• Aplikasi internet merupakan suatu jenisaplikasi yang menerapkan arsitektursistem terdistribusi denganmenggunakan internet sebagai media komunikasi antar komponennya
3
Jenis Sistem Terdistribusi
• Jenis arsitektur sistem terdistribusi:– Client-server: sistem dibagi menjadi komponen yang
berfungsi sebagai peminta layanan (client) danpemberi layanan (server)
– Peer-to-peer: sistem terdiri atas komponen-komponen yang fungsinya setara dan dapat salingmelayani atau meminta layanan
• Pada prinsipnya, arsitektur peer-to-peer jugamerupakan arsitektur client-server di manasetiap komponennya dapat mempunyai fungsisebagai client sekaligus server terhadapkomponen lain
4
Kelebihan Client-server
• Beban komputasi disebar di beberapa mesin
• Client mengakses fungsionalitas server dari jarak jauh
• Client dan server didesain terpisah (dan mungkinberbeda), lebihsederhana dibanding mendesain satuprogram yang dapat melakukan segalanya
• Data dapat disimpan secara terpusat di server, usahamenjaga reliabilitas sistem cukup dilakukan di server (UPS, redundant disk array, high speed processors, dll)
• Data dapat disimpan secara terdistribusi di banyak client atau server, sehingga jika satu komponen rusak(misalnya harddisk crash atau bencana alam), makadata yang hilang menjadi minimal, atau mungkin dapatdigantikan oleh data dari komponen lain
• Server dapat diakses secara simultan oleh banyak client
5
Kekurangan Client-server
• Adanya delay komunikasi client-server
• Harus mempertimbangkan sinkronisasidan paralelisme proses dalammendesainserver
6
Komunikasi via Internet
• Internet :– sebuah jaringan komputer yang sangat
besar(meliputi seluruh dunia)
– jaringan besar yang menghubungkan jaringan-jaringan kecil
– menggunakan protokol transmisiberbasisTCP/IP
7
Komunikasi menggunakan Protokol
• Protokol: aturan yang disepakati client dan
server mengenai bagaimana cara
berkomunikasi
– Protokol aplikasi (tergantung aplikasi)
• client dan server saling berbalas pesan dalam format/sintaksdan urutan tertentu
– Protokol transmisi (TCP/IP)
• pesan dipecah-pecah menjadi potongan paket-paket data
• setiap paket dapat melewati rute jaringan yang berbeda
• di tempat tujuan, paket-paket data dikonstruksi ulang menjadipesan seperti semula
8
Contoh Aplikasi berbasis Internet
(Layanan Internet)
• Web (protokol aplikasi: HTTP)• E-mail (IMAP, POP, SMTP)
• Chatting– open standard: IRC– non standard: YM, ICQ, MSN chat, AOL, dll
• File transfer (FTP)• Remote terminal (telnet)
• Directory service (LDAP)• Network monitoring (NMAP)
• Web service (SOAP)
• Voice (VoIP)• dll.
Catatan:
“Aplikasi” dalam konteks judul di atas
mengacu pada level protokol dan dapat
disebut juga sebagai “Layanan
Internet”. Aplikasi dalam konteks
“software” (misalnya aplikasi “web
browser”) dapat mengakses atau
menyediakan salah satu atau beberapa
Layanan Internet di atas.
9
Berbasis Internet vs Berbasis Web
• Aplikasi berbasis Internet– Menggunakan protokol aplikasi yang sudah ada atau
mendefinisikan protokol sendiri
– Aplikasi di sisi server berkomunikasi langsungdengan client
– Aplikasi di sisi client dapat berupa aplikasi yang berdiri sendiri atau ditempelkan dalam aplikasi lain
• Aplikasi berbasis Web– Menggunakan protokol HTTP– Aplikasi di sisi server berkomunikasi dengan client
melalui web server
– Aplikasi di sisi client umumnya berupa web browser
• Jadi, Aplikasi berbasis Web (client/server-side script) berjalan di atas Aplikasi berbasis Internet (web client/server software)
10
Konsep Pemrograman Web (1)
• Pemrograman web: membuat aplikasi berbasisweb
• Aplikasi berbasis web: Aplikasi yang dibuatdengan memanfaatkan mekanisme dan aplikasiyang sudah ada pada sistem web (WWW)
• Sistem web sebenarnya merupakan aplikasiyang:– berarsitektur client-server
• Software web browser di sisi client• Software web server di sisi server
– menggunakan protokol HTTP dalam komunikasiantara client dan server
– Mempunyai fungsi untuk mengambil / menjalankan isifile dokumen web di server dan menampilkannya disisi client
11
Web Server(Apache, IIS, dsb)
Middleware(ASP, PHP,
JSP, dll)
Basis Data(MySQL,
Oracle, dsb)
Browser(IE, FireFox, dsb)
Server
Client Arsitektur Aplikasi Web
12
Browser
Kode
HTML
Kode
HTML
Request
(http://www.mypage.or.id/)
Response
(Index.html)Client
Web Server
13
Konsep Pemrograman Web (2)
• Membuat aplikasi berbasis web berarti:
– Memperkaya fungsi web server dengan cara
menambahkan program pada dokumen web yang akan dieksekusi oleh server ketika file dokumen web
tersebut diakses oleh web server
• Misalnya, program yang mengambil data ke basis data untukditampilkan ke web browser
– Memperkaya interaktivitas dokumen dengan caramenambahkan program pada dokumen web yang
akan dieksekusi oleh web browser ketika file
dokumen tersebut ditampilkan oleh web browser
• Misalnya, program yang memvalidasi data masukan padaform sebelum disubmit ke web server
14
Browser
Kode
HTML
Kode
HTML
Request(http://studentsite.gunadarma.ac.id/)
Response
Client
Web Server
Script PHP(index.php)
PHP Engine
15
Kelebihan & Kekurangan Aplikasi
Berbasis Web
• Kelebihan:– Dapat diakses kapan pun dan dari mana pun selama
ada internet
– Dapat diakses hanya dengan menggunakan web browser (umumnya sudah tersedia di PC, PDA, danhandphone terbaru), tidak perlu menginstall aplikasiclient khusus
• Kekurangan:– Antarmuka yang dapat dibuat terbatas sesuai
spesifikasi standar untuk membuat dokumen web danketerbatasan kemampuan web browser untukmenampilkannya
– Terbatasnya kecepatan internet mungkin membuatrespon aplikasi menjadi lambat
16
Yang perlu dipelajari untuk
membuat aplikasi berbasis web
• Di sisi client:– Sintaks pembuatan dokumen web (HTML & CSS)
– Client side scripting (JavaScript)
• Di sisi server– Mekanisme pemanggilan program dan pengambilan
output program oleh web server (CGI)
– Server side scripting (PHP, JSP, ASP, dll)
• Penghubung– Sintaks pengalamatan dokumen web (URL)
– Protokol komunikasi (HTTP)
17
Teknologi Pembangun Aplikasi
berbasis Web
• Web client (web browser)
• Web server
• URL : Uniform Resource Locator
• HTTP : HyperText Transfer Protocol
• HTML : HyperText Markup Language
• CSS : Cascading Style Sheet
• PemrogramanWeb– CGI, eksekusi program di sisi server
– server side scripting– client side scripting
– plug-in, eksekusi program di sisi client
18
19
20
21
22
23
24
25
26
27
28