Versi 1.0 Diktat Aplikasi Internet Oleh: Puji Hartono Materi: 1. Pengantar Aplikasi Internet 2. Pengetahuan Dasar Internet 3. HTTP 4. FTP 5. SMTP Copyleft 2004 by Puji Hartono. Diktat Aplikasi Internet - 1 I. Pengantar Aplikasi Internet A. Sejarah internet Sebelum Internet ada, ARPAnet (US Defense Advanced Research Projects Agency) atau Departemen Pertahanan Amerika pada tahun 1969 membuat jaringan komputer yang tersebar untuk menghindarkan terjadinya informasi terpusat, yang apabila terjadi perang dapat mudah dihancurkan. Jadi bila satu bagian dari sambungan network terganggu dari serangan musuh, jalur yang melalui sambungan itu secara otomatis dipindahkan ke sambungan lainnya. Setelah itu Internet digunakan oleh kalangan akademis (UCLA) untuk keperluan penelitian dan pengembangan teknologi. Dan baru setelah itu Pemerintah Amerika Serikat memberikan ijin ke arah komersial pada awal tahun 1990. B. Protokol TCP/IP sebagai penopang Internet Internet tidak dapat terlepas dari TCP/IP sebagai protokol standar dalam proses transmisi data. TCP/IP tersusun dari 4 layer: aplikasi, transport, internet(network) dan network interface-physical yang tersusun seperti dalam gambar berikut Gambar 1.1 Layer-layer dalam Protokol TCP/IP • • • • Layer aplikasi, layer ini mengacu pada aplikasi/software yang digunakan seperti Web Server, Web browser, FTP server, FTP Client, Email Server, Email Client Layer Transport, layer ini mengacu pada servis yang digunakan seperti HTTP, FTP, SMTP, SNMP dll. Layer ini memastikan bahwa transmisi data sampai ke servis yang tepat-tidak nyasar ke servis yang lain, selain itu layer ini juga menjamin paket data sampai dengan baik dan benar Layer Internet/Network, layer ini digunakan untuk memandu supaya paket data dapat sampai ke komputer tujuan-tidak nyasar ke komputer yang lain Network Interface-Physical, layer ini digunakan untuk menjembatani agar paket data dapat dikirimkan melalui media fisik, masuk dalam layer ini seperti driver dan network interface card C. Layanan-layanan Internet Internet dapat digunakan untuk bermacam-macam kebutuhan, akan tetapi dalam diktat ini hanya dibahas 3 • HTTP (Hyper Text Transfer Protocol), protokol ini digunakan sebagai standar aplikasi web. Pada layer transport, HTTP menggunakan protokol TCP dengan port 80 Diktat Aplikasi Internet - 2 • • FTP (File Transfer Protocol), protokol ini digunakan sebagai standar untuk mentransfer file. Pada layer transport, FTP menggunakan protokol TCP dengan port 21 SMTP (Simple Mail Transfer Protocol), protokol ini digunakan sebagai standar untuk pengiriman email. Pada layer transport, SMTP menggunakan protokol TCP dengan port 25 Jadi servis-servis aplikasi internet didefinisikan dalam layer transport, tiap servis mempunyai port-port yang berbeda untuk melakukan koneksi yang pengalokasian portnya didefinisikan dalam RFC 1700 D. Penggunaan Internet dalam kehidupan sehari-hari Pemanfaatan teknologi internet sangat banyak, dari hal-hal yang bersifat hiburan biasa sampai bisnis milyaran rupiah. Pemanfaatan teknologin internet antara lain sebagai: • Komunikasi dengan Email Salah satu penggunaan internet yang sangat membantu kebutuhan hidup sehari-hari adalah email. Dengan email kita dapat berkomunikasi dengan orang yang berada jauh dengan cepat dan akurat. Email dapat melakukan: • Mengirim surat/berita • Mengirim file berupa gambar, suara atau apapun yang berupa file Gambar 1.2. Fasilitas email, http://mail.yahoo.com • Website-website yang menyediakan layanan email secara gratis seperti Yahoo.com, plasa.com dan lain sebagainya Diskusi melalui milis-milis E-Groups Milis diskusi merupakan sistem dimana member berlangganan untuk mendapatkan email-mail dari grup tersebut. Biasanya yang berhak memposting berita hanyalah member. Topik diskusi beraneka ragam dari masalah hacking sampai masalah politik. Ada banyak milis layanan milis diskusi gratisan seperti di yahoogroups.com. Contoh milis-milis • assunnah@yahoogroups.com • jasakom-perjuangan@yahoogroups.com • newbie-hacker@yahoogroups.com Gambar 1.3. Fasilitas milis, http://yahoogroups.com Diktat Aplikasi Internet - 3 • Komunikasi dengan Chating Chating merupakan komunikasi dua arah atau lebih, komunikasi dapat berupa text, maupun audio video seperti teleconverence. Contoh software chating antara lain • Yahoo Mesengger • MIRC • Pal talk Gambar 1.4. Chating dengan Yahoo Messengger • E-Commerce Salah satu pemanfaatan teknologi internet yang bisa beromset milyaran adalah ecommerce. E-commerce dapat berupa toko online dimana pengunjung dapat membeli berbagai kebutuhan. Model pembayaran dilakukan dengan kartu kredit misalnya. Contoh e-commerce yang establish seperti amazon.com, sebuah toko online Penggunaan lebih jauh lagi seperti adanya ebanking yang memungkinkan transaksi melalui internet seperti klikbca.com Gambar 1.5. E-commerce y ang mapan, amazon.com Penggunaan internet untuk mendukung ecommerce akan menjadi trend internet masa mendatang. Penggunaan internet untuk e-commerce memerlukan keamanan yang lebih dari pada aplikasi-aplikasi internet yang lain karena kegagalan fungsi terlebih exploitasi terhadap sistem e-commerce dapat menimbulkan kerugian milyaran rupiah. Selain itu kegagalan sistem keamanan juga akan mengakibatkan ketidakpercayaan public/pelanggan kepada penyedia layanan Diktat Aplikasi Internet - 4 • E-Learning E-learning secara luas merupakan proses pembelajaran melalui media elektronik seperti internet. Salah satu bentuk elearning adalah dengan adanya digital library. Dalam digital library berisi e-book, artikel-artikel, ceramah-ceramah dalam audio dan lain sebagainya. Contoh perpustakaan digital adalah Ganesha Digital Library Gambar 1.6. Perpustakaan digital, http://gdl.itb.ac.id/ • Dengan pemanfaatan internet sebagai media untuk belajar, internet dapat disebut sebagai perpustakaan raksasa. Dengan search engiine seperti google, kita dapat dengan mudah mencari referensi topik-topik yang akan dipelajari E-Government Internet juga dapat digunakan untuk memudahkan pekerjaan-pekerjaan dalam pemerintahan seperti admnistrasi KTP, pajak dan lain sebagainya. Jika E-government diterapkan dengan baik maka banyak efisiensi yang bisa dilakukan seperti tidak berbelit-belitnya jalur birokrasi dan transparasi dalam pengelolaan pemerintah. Selain itu, komunikasi yang baik antara rakyat dan pemerintah juga akan sangat membantu dalam menciptakan pemerintah yang bersih dan berwibawa yang ini dapat dibantu dengan adanya internet. Gambar 1.7. E-Government, http://kpt.bontang.go.id/ Diktat Aplikasi Internet - 5 • FTP (File Transfer Protocol) FTP (File Transfer Protocol) merupakan protokol yang digunakan untuk memindahmindahkan file, kita dapat dengan mudah mengupload dan mendownload file seperti dalam file-file dalam sebuah komputer. Dalam FTP intinya ada 2 perpindahan file; • Upload, perpindahan file dari komputer lokal ke FTP server • Download, perpindahan file dari FTP server ke komputer lokal Untuk melakukan FTP dapat digunakan berbagai jenis FTP client, dapat dari DOS prompt, Internet Explorer, Tocal Commander dan FTP-FTP client lainnya Gambar 1.8. FTP server, ftp://ftp.isi.edu • Hiburan Selain untuk kepentingan serius-bahkan investasi milyaran rupiah, internet dapat juga digunakan untuk media hiburan seperti adanya website-website tentang humor. Gambar 1.9. Hiburan, http://www.ketawa.com Dan lain sebagainya… Penggunaan aplikasi internet akan selalu developernya. berkembang sesuai dengan kebutuhan dan kreativitas TUGAS 1. 2. Buatlah artikel yang mengupas tentang sebuah situs, pembahasan meliputi fasilitas-fasilitas yang disediakan situs. Masuklah ke situs google.com, tuliskan 10 URL yang berkaitan dengan aplikasi internet Diktat Aplikasi Internet - 6 II. Pengetahuan Dasar Internet A. IP Addres dan Domain Setiap server mempunyai alamat komputer yang unique, alamat tersebut disebut IP Address (Internet Protocol). IP address versi 4 berupa bilangan 32 bit yang terbagi menjadi 4 segment (tiap segmen terdiri dari 8 bit), sebagai contoh 167.205.207.172 Untuk mengetahui IP address sebuah domain dapat menggunakan perintah nslookup dengan sintaks nslookup [domain] Sebagai contoh kita akan mencari tahu IP address www.detik.com C:\>nslookup www.detik.com *** Can't find server name for address 10.10.1.1: Non-existent domain *** Default servers are not available Server: UnKnown Address: 10.10.1.1 Non-authoritative answer: Name: detik.com Address: 202.158.66.28 Aliases: www.detik.com Output diatas menunjukkan bahwa DNS server yang digunakan oleh client adalah 10.10.1.1 dan domain detik.com mempunyai IP address 202.158.66.28 dan mempunyai domain alias www.detik.com Untuk mendaftarkan atau mencari informasi pemilik sebuah domain dapat melalui web, antara lain • http://www.internic.net/whois.html • http://www.whois.net Untuk domain berakhiran .id melalui http://www.idnic.net.id/ B. Routing Routing merupakan rute melewati router mana saja paket data sampai ke host tujuan. Untuk mengetahui routing jaringan dilakukan dengan perintah tracert (traceroute kalau dalam *.nix). Contoh output tracert sebagai berikut C:\>tracert 81.52.247.17 Tracing route to komp [81.52.247.17] over a maximum of 30 hops: 1 2 3 <10 ms <10 ms <10 ms <10 ms <10 ms <10 ms <10 ms <10 ms <10 ms komp [10.1.3.1] komp [81.52.247.17] komp [81.52.247.1] Output diatas menunjukkan bahwa sebelum paket data sampai ke tujuan (81.52.247.1) terlebih dahulu melewati router 10.1.3.1 kemudian 81.52.247.17 baru kemudian sampai ke tujuan C. Port Setiap komunikasi TCP/IP menggunakan port sebagai jalur komunikasinya. Port merupakan sebuah header pada protokol TCP dilayer transport. Nilai port berkisar antara 0 - 65535 Diktat Aplikasi Internet - 7 D. Proxy Fungsi utama proxy selain untuk memfilter halaman-halaman web adalah untuk mempercepat akses internet/chache. Pada browser perlu diset ke proxy mana dan port berapa koneksi yang akan digunakan. Pada Internet Explorer langkah-langkah setingnya adalah sebagai berikut − Tools − Internet Option Gambar 2.1 Memulai seting proxy pada browser − − − Seting koneksi yang akan digunakan dengan memilih tab Connection (lihat gambar 2.2) LAN Settings.. Isikan nilai-nilai IP address dan port yang akan digunakan sesuai dengan konfigurasi Anda, Kita juga bisa definisikan alamat-alamat yang koneksinya tidak menggunakan proxy pada Exceptions Gambar 2.2 Konfigurasi Connection Gambar 2.3 Konfigurasi alamat proxy Aplikasi-aplikasi lain yang memerlukan koneksi internet seringkali membutuhkan seting proxy seperti: yahoo messenger, teleport pro, berbagai software download manager dan lain sebagainya. Diktat Aplikasi Internet - 8 TUGAS 1. − − − 2. Pilihlah 2 buah situs dengan domain *.ac.id dan *.com kemudian carilah informasi Siapa pemilik domain tersebut Berapa IP address web server situs tersebut Di DNS server mana domain tersebut didaftarkan Tuliskan routing dari komputer Anda ke server yahoo.com dan republika.co.id Diktat Aplikasi Internet - 9 III. HTTP (Hypertext Transfer Protocol) Protokol HTTP membuat perubahan besar dalam dunia internet, HTTP yang kemudian lebih mudah disebut dengan web dapat digunakan untuk membangun bisnis beromset milyaran dengan ecommerce atau hanya sekedar hiburan. A. Infrastuktur aplikasi berbasis web Sebelum jauh membahas aplikasi web, terlebih dahulu kita pelajari infrastrukturnya. Aplikasi berbasis web membutuhkan infrastruktur sebagai berikut HTTP TCP/IP Internet HTTP TCP/IP - Web Server - Scripting Language - Database Server Web browser Gambar 3.1 Infrastruktur aplikasi berbasis web • Web server Web server merupakan servis utama dalam sebuah aplikasi berbasis web. Web server sigunakan untuk mempublish dokumen-dokument sehingga client dapat mengaksesnya melalui protokol HTTP. Ada banyak web server seperti Apache, IIS, Tomcat dan lain sebagainya • Scripting Language Scripting language digunakan sebagai bahasa pemrograman dalam membangun sebuah aplikasi berbasis web. Ada banyak pilihan bahasa pemrograman dalam web, anatara lain − − − − − − − − − − HTML DHTML XML Perl PHP ColdFusion ASP CGI Java JHTML • Database server Database server digunakan untuk mendukung sebuah aplikasi berbasis web yang membutuhkan proses penyimpanan secara permanen. Contoh database server seperti MySQL, MS SQL server, PostGre SQL, Oracle dan lain sebagainya • TCP/IP TCP/IP digunakan sebagai protokol standar dalam transmisi paket-paket data • HTTP HTTP merupakan protokol yang digunakan sebagai layanan web. HTTP berada dalam layer transport dalam protokol TCP/IP Diktat Aplikasi Internet - 10 • Web browser Web broser digunakan untuk merender text-text dalam format HTML sehingga menjadi tampilan sesuai desain developernya. Banyak jenis web browser seperti Internet Explorer, Opera, Mozilla, Netscape dan lain sebagainya B. Teknologi aplikasi berbasis web Aplikasi berbasis web dilihat dari proses eksekusi kode-kode programnya dapat dibagi menjadi 2 jenis: server side dan client side. • Server Side Dalam server side, script program dieksekusi di web server berdasarkan request client dan outputnya dalam bentuk HTML dikirimkan ke client. Bahasa yang digunakan seperti PHP, VBScript, Java, Phyton, Perl dll • Client Side Dalam client side, web server akan langsung memberikan halaman yang diminta oleh client tanpa melalui eksekusi script program di web server kemudian web server merender script yang ditransfer ke client. Bahasa yang digunakan seperti HTML, Java script, Java dll C. Protokol HTTP Protokol HTTP/1.1 dipublikasikan tahun 2001. URL pada HTTP /1.1 mempunyai format http://[host][:port]/[absolute_path][“?”query] Sebagai contoh http://www.detik.com/ Metodh-metodh yang ada pada HTTP 1.1 • Connect • Delete • Get • Head • Options • Post • Put • Trace D. HTML HTML (Hyper Text Markup Language) merupakan bahasa yang digunakan untuk pembuatan web, standar bahasa HTML di publikasikan di www.w3.org oleh World Wide Web Consortium (W3C) Untuk merender kode-kode HTML diperlukan web browser seperti Internet Explorer, Mozilla, Netscape dll Komponen-komponen HTML • Komponen dasar sebuah halaman web Komponen dasar dalam halaman web seperti tag html, title (judul halaman), body seperti contoh berikut Diktat Aplikasi Internet - 11 Judul Halaman Isi website Output kode diatas akan seperti berikut • Hyperlink Hyperlink digunakan untuk menhubungkan dari satu halaman ke halaman yang lain dengan cara mengkliknya. Judul Halaman link ke detik.com Output kode penggunaan hyperlink diatas akan seperti berikut Diktat Aplikasi Internet - 12 • Table Seperti namanya table digunakan untuk membuat tabel sehingga kita menuliskan karakter dalam format baris dan kolom Judul Halaman
NPM Nama
090022061 Puji Hartono
090022062 Mahaputra
Output kode penggunaan table diatas akan seperti berikut • Menyisipkan gambar Untuk menyisipkan image/gambar dalam halaman web digunakan tag Untitled Document Diktat Aplikasi Internet - 13 Output kode diatas akan seperti berikut • Form dan komponennya Form digunakan untuk membundel variabel-variabel yang akan dikirimkan ke web server (aplikasi server side). Form diawali dengan tag
dan ditutup dengan tag
seperti contoh berikut
// .. object-objet form .. //
Contoh kode diatas menyatakan − Nama form= form1 − Metodh pengiriman varibel =post − Halaman tempat memproses variabel =proses.php Objek-objek form dapat berupa: − Text Field − Button − Radio Button − Check Button − List Menu − File Field − Hidden Field − JumpMenu Diktat Aplikasi Internet - 14 E. Server Side dengan PHP Pada server side, web server akan memproses script progam terlebih dahulu sebelum hasilnya dikirimkan ke client. Untuk memperjelas konsep server side dan client side, perhatikan 2 contoh berikut Contoh1. Pemangkatan Client side Kode berikut akan menampilkan karakter 1024 dengan statis Judul Halaman 1024 Output yang dihasilkan seperti berikut Server side Kode berikut akan melakukan komputasi 2^10 kemudian hasilnya dikirimkan ke client yang mengaksesnya Judul Halaman Pada contoh ini, web server memproses hasil komputasi pemangkatan (2 pangkat 10), kemudian hasil komputasi dalam format HTML dikirimkan ke client sehingga outputnya sama dengan contoh client side. Diktat Aplikasi Internet - 15 Output yang dihasilkan seperti berikut Contoh 2. Pemangkatan dengan input Contoh berikut melibatkan variabel input yang dibundel dalam sebuah form. Aplikasi yang dibuat berupa pemangkatan-sama seperti contoh 1, akan tetapi variabel dapat diinput oleh user. Kita membuat 2 buah file: input.php dan proses.php dimana file input.php akan dieksekusi di proses.php Input Proses (input.php) (proses.php) Kode input.php Kode ini dugunakan untuk menerima nilai dari variabel dan mengirimkannya ke file proses untuk dilakukan proses selanjutnya (komputasi) Pemangkatan
A
B
Kode proses.php Kode ini digunakan untuk melakukan komputasi pemangkatan dan hasilnya dikirimkan ke client yang mengaksesnya Diktat Aplikasi Internet - 16 Kode input.php akan seperti berikut Dan outputnya akan seperti berikut TUGAS 1. 2. 3. Web server apakah yang ada di 81.52.247.19 HTTP versi berapa yang ada pada web server di 81.52.247.19 Buatlah personal homepage dengan spesifikasi sebagai berikut − Terdiri dari 3 halaman, halaman utama, profile dan contact − Tiap-tiap halaman terdapat komponen tabel, gambar − Pada halaman utama terdapat hyperlink ke halaman profile dan halaman contact − Pada halaman profile dan halaman contact terdapat link ke halaman utama − Tiap halaman diisi tentang biodata masing-masing siswa Halaman Utama (index.html) Profile (profile.html) Contact (contact.html) Diktat Aplikasi Internet - 17 IV. FTP (File Transfer Protocol) Protokol FTP berada pada layer transport dengan port tujuan 21. FTP berguna untuk memindahkan file dari komputer lokal ke komputer server (upload) atau sebaliknya dari komputer server ke komputer lokal (download). A. Infrastuktur aplikasi FTP Infrastruktur yang dibutuhkan FTP antara lain: − TCP/IP sebagai protokol komunikasi − FTP sebagai protokol servisnya − FTP server − FTP Client Yang digambarkan sebagai berikut FTP Internet TCP/IP FTP TCP/IP FTP Server FTP Client Gambar 4.1 Infrastruktur aplikasi FTP B. Menggunakan FTP dengan command line • Memulai koneksi Untuk memulai koneksi ke FTP server digunakan sintaks seperti berikut C:\ftp [server_dituju] Sebagai contoh kita akan koneksi ke FTP server yang berada di 167.205.207.172 dengan username “puji” • Perintah-perintah pada FTP Get Get digunakan untuk mendownload file dari server ke komputer lokal Sintaksnya get [nama_file} Contoh ftp> get PUTTY2.EXE 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for PUTTY2.EXE (225280 bytes). 226 File send OK. ftp: 225280 bytes received in 0.22Seconds 1028.68Kbytes/sec. Diktat Aplikasi Internet - 18 Put Put digunakan untuk mengupload dari komputer lokal ke komputer server. Sintaks penggunakan put seperti berikut put [file_yg_akan_diupload} Contoh ftp> put data.doc 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 File receive OK. ftp: 225280 bytes sent in 0.81Seconds 277.10Kbytes/sec. C. Menggunakan FTP dengan Software Tambahan- Total Commander Dengan software tambahan kita akan lebih mudah mengupload/mendowload file, seperti misalnya menggunakan Total Commander dimana software terlihat 2 windows, windows yang satu berisi hardisk lokal sementara windows yang lainnya berisi hardisk server Gambar 4.2. FTP dengan Total Commander TUGAS 1. 2. Downloadlah installer Putty dari internet dengan cara FTP Uploadlah Personal homepage yang sudah Anda buat pada materi HTTP ke server Diktat Aplikasi Internet - 19 IV. SMTP (Simple Mail Transfer Protocol) SMTP digunakan sebagai protokol pengiriman email. SMTP berada pada layer transport dan menggunakan port 25 sebagai port tujuannya. A. Infrastruktur Aplikasi Email Infrastruktur email secara sederhana digambarkan dalam bagan dibawah ini. Bagian utama dari aplikasi email adalah Mail Server, kemudian sebagai front-endnya dapat berupa Webmail atau dengan menggunakan IMAP dan POP IMAP POP Client dengan Email Client Mail Server Web Mail Web Server Client dengan web browser Gambar 5.1 Infrastruktur Email B. Istilah-istilah dalam email Dalam aplikasi email ada beberap istilah yang umum digunakan seperti • Send Untuk mengirimkan email yang sudah kita buat • Receive Untuk melakukan proses penerimaan email • Compose Untuk melakukan/memulai proses penulisan email • Inbox Daftar untuk melihat email-email yang kita terima • Outbox Daftar untuk melihat email-email yang kita kirimkan, hanya bisa dilihat jika email yang dikirim disimpan C. Properties pada email Dalam sebuah surat/email berisi beberapa properti seperti: Diktat Aplikasi Internet - 20 • To Bagian untuk mengisikan alamat yang akan dituju • Subject Judul dari email yang dikirim • CC Berasal dari singkatan Carbon Copy. Bagian ini merupakan tempat kita mengisikan alamat tembusan dari email yang dibuat. • BCC Berasal dari singkatan Blind Carbon Copy. Bagian ini merupakan tempat kita mengisikan alamat tembusan dari email yang dibuat. Perbedaan BCC dan CC adalah penerima CC dan BCC tidak saling tahu. • Attachment Untuk memberikan lampiran pada suatu email, lampiran berupa file yang akan dikirimkan D. Menggunakan email Untuk mengakses mail server ada banyak cara tergantung mail server menyediakan front-end jenis apa, apakah web atau pop • Front end Web Pada email dengan front end web, software yang dibutuhkan di sisi client hanyalah web brower. Contoh email berbasis web seperti yahoo.com, plasa.com Gambar 5.2 Mengakses Web Mail dengan browser Diktat Aplikasi Internet - 21 • Front-end Pop Pada email dengan menggunakan pop3, kita harus menggunakan software tambahan seperti Microsoft Outlook, Pegasuss atau yang lainnya. Contoh penggunaan email dengan Microsoft Outlook Express seperti pada gambar berikut Gambar 5.3 Mengakses email dengan POP menggunakan Outlook Express TUGAS Tulislah email dengan email masing-masing siswa ditujukan ke email dosen dengan spesifikasi sebagai berikut − Email ditujukan ke puji@bblm.go.id − Cc ke 4hm3d@bblm.go.id − Isi surat bebas − Dikirimkan sebuah file dengan fasilitas attachmet Diktat Aplikasi Internet - 22 Referensi − − − − − − Tech Your Self TCP/IP in 21 days, Sams Publishing Web Hacking, Serangan dan Pertahanannya, Stuart McClure Panduan Menulis Email Effektif, Kaitlin Duck Sherwood diterjemahkan oleh Steven Haryanto Manual FTP Assign Number RFC, http://www.ietf.org/rfc/rfc1700.txt HTTP/1.1 RFC, http://www.ietf.org/rfc/rfc2616.txt