BAB I Mata Kuliah Sistem Basis Data

advertisement
Oleh : Laseri, S.Kom
Thread
 Thread adalah sebuah alur kontrol dari sebuah proses.
Kontrol thread tunggal ini hanya memungkinkan
proses untuk menjalankan satu tugas pada satu waktu.
 multi-threads : memungkinkan proses untuk
menjalankan lebih dari satu tugas pada satu waktu.
 Keuntungan multithreaded : peningkatan respon dari
pengguna, pembagian sumber daya proses, ekonomis,
dan kemampuan untuk mengambil keuntungan dari
arsitektur multiprosesor
 PC modern dirancang secara multi- threading.
Contohnya sebuah web browser mempunyai thread
untuk menampilkan gambar atau tulisan
sedangkan thread yang lain berfungsi sebagai
penerima data dari network.
*sebuah web server akan membuat thread yang akan
mendengar permintaan klien, ketika permintaan lain
diajukan maka web server akan menciptakan thread
lain yang akan melayani permintaan
Keuntungan Thread
 Responsi: Membuat aplikasi yang interaktif menjadi
multithreading dapat membuat sebuah program terus
berjalan meski pun sebagian dari program tersebut
diblok atau melakukan operasi yang panjang
 web browser yang multithreading, sebuah thread dapat
melayani permintaan pengguna sementara thread lain
berusaha menampilkan image.
 Berbagi sumber daya: thread berbagi memori dan
sumber daya dengan thread lain yang dimiliki oleh proses
yang sama
 Ekonomi: dalam pembuatan sebuah proses banyak
dibutuhkan pengalokasian memori dan sumber daya
 Utilisasi arsitektur multiprocessor: Keuntungan
dari multithreading dapat sangat meningkat pada
arsitektur multiprocessor, dimana setiap thread dapat
berjalan secara pararel di atas processor yang berbeda
Client – Server
 pada sistem client/server harus terdapat satu atau
beberapa server yang menyediakan layanan dan
satu atau beberapa klien yang meminta layanan
tersebut (tidak perduli apakah kondisi tersebut berada
pada sebuah sistem jaringan ataupun stand-alone).
 Istilah server seperti IBM, HP, Compaq
 Server bisa juga berupa proses, seperti RPC Server
yang terdapat pada sistem operasi server seperti
Novell, Windows NT, Linux dll
Proses (Services/daemons)
 menyediakan manajemen memory, akses
file/jaringan, serta penjadwalan (scheduling).
 Server : komputer yang dapat memberikan service ke client,
 client : komputer yang mengakses beberapa service yang ada di server.
Ketika client membutuhkan suatu service yang ada di server, dia akan
mengirim request kepada server lewat jaringan. Jika request tersebut dapat
dilaksanakan, maka server akan mengirim balasan berupa service yang
dibutuhkan untuk saling berhubungan menggunakan Socket
(InetAddress:DNS).
 1. Karakteristik Server
a. Pasif
b. Menunggu request
c. Menerima request, memproses mereka dan
mengirimkan balasan berupa service
 2. Karakteristik Client
a. Aktif
b. Mengirim request
c. Menunggu dan menerima balasan dari server
Model Client-Server
a. Arsitektur Mainframe
 Pada arsitektur ini, terdapat sebuah komputer pusat (host)
yang memiliki sumber daya yang sangat besar, baik
memori, process maupun media penyimpanan.
 Melalui Terminal , Pengguna mengakses sumber daya.
Komputer terminal hanya memiliki monitor/keyboard dan
tidak memiliki CPU
b. Arsitektur File Sharing
 Pada arsitektur ini komputer server menyediakan filefile yang tersimpan di media penyimpanan server yang
dapat diakses oleh pengguna. (File besar = lambat)
c. Arsitektur Client/Server
 Karena keterbatasan sistem file sharing,
dikembangkanlah arsitektur client/server.
*Hasilnya yaitu software database server RDBMS
(Relational Database Management System) menggantikan
software database berbasis file server.
*query data ke server dapat terlayani dengan lebih cepat
karena yang ditransfer bukanlah file, tetapi hanyalah hasil
dari query tersebut. RPC (Remote Procedure Calls)
memegang peranan penting pada arsitektur client/server.
 Model Two-tier
Model Two-tier terdiri dari tiga komponen yang
disusun menjadi dua lapisan: client (yang meminta
service) dan server (yang menyediakan service).
Tiga Komponen :
 1. User Interface, yaitu antar muka program aplikasi
yang berhadapan dan digunakan langsung oleh user.
 2. Manajemen proses
 3. Database
e. Model Three-tier
 Pada model ini disisipkan satu layer tambahan
diantara user interface tier dan database tier. Tier
tersebut dinamakan middle-tier.
 Middle-Tier terdiri dari bussiness logic dan rules
 server middle-tier ini akan mengurangi beban
database server.
Communication service types
 Komunikasi Datagram UDP (User Datagram
Protocol)
 Pengiriman diandalkan
UDP/TCP
 efisien dan mudah diimplementasikan
Connection-oriented: TCP (Transmission Control
Protocol)
 Jaminan kehandalan dasar
 kurang efisien, memori dan waktu overhead untuk
koreksi kesalahan.
UDP (User Datagram Protocol)
 pesan mungkin hilang, duplikat, disampaikan rusak,
tanpa memberitahu pengguna
 menjaga tidak ada informasi negara, sehingga tidak
dapat mendeteksi hilang, duplikat atau out-of-order
pesan
 setiap pesan berisi sumber dan alamat tujuan
 Pesan rusak diabaikan karena tidak ada koreksi
kesalahan atau kemacetan
 Contoh : DNS (Domain Name System)
TCP (Transmission Control Protocol)
 menetapkan koneksi data stream untuk menjamin
keandalan, di-urutan pengiriman
(Mencocokkan data, blocking, tread)
 pemeriksaan kesalahan dan pelaporan untuk kedua
ujungnya
 mencoba untuk mencocokkan kecepatan (timeouts,
buffering)
 Contoh : HTTP, FTP, SMTP
 HTTP
 Hypertext transfer protocol digunakan untuk
komunikasi antara browser dan web server
 FTP
 File transfer protocol digunakan untuk membuat
direktori pada computer remote untuk mengakses file
dan folder. File ini juga bisa ditransferkan ke computer.
 Telnet
 Menyediakan akses dengan sesi ke computer remote
 SMTP
 Simple mail transfer protokol digunakan untuk
mengirim mail diantara komputer‐komputer.
Request-Reply Communication
 Metode doOperation digunakan pada sisi klien untuk
meminta operasi remote
 Kelas ini menyediakan metode untuk mendapatkan
internet address dan port server dari remote objek.
 Metode doOperation mengirim pesan request ke server
yang memiliki alamat internet dan port yang dijelaskan
dalam referensi remote objek reference sebagai argument.
Setelah mengirim pesan request, doOperation memanggil
receive untuk mendapat pesan reply, dimana ia
mengekstrak hasil dan mengembalikan kepada pemanggil.
Pemanggil dari doOperation diblok sampai remote objek
pada server melakukan operasi yang diminta dan
mentransmisinya sebagai pesan reply ke proses klien
 Metode getRequest digunakan di sisi server
 Saat server telah memanggil metode pada objek
tertentu, server menggunakan sendReply untuk
mengirim pesan reply ke klien. Saat pesan reply
diterima klien, doOperation tidak diblok, dan eksekusi
program klien dilanjutkan
Implementasi UDP
 Apabila tiga operasi doOperation, getRequest,
sendReply diimplementasikan pada datagram UDP,
ketiganya akan mengalami kegagalan komunikasi :
 Pesan tidak dijamin terkirim sesuai urutan di pengirim.
 Sebagai tambahan, protokol dapat mengalami
kegagalan proses. Hal ini dapat diasumsikan bahwa
proses mengalami crash failure.
 Untuk mengatasinya, doOperation menggunakan
timeout ketika menunggu mendapatkan jawaban
server
 Timeout : ada beberapa pilihan yang doOperation
dapat lakukan setelah terjadi timeout. Pilihan paling
sederhana adalah mengembalikan ke client bahwa
operasi doOperation telah gagal. Akantetapi, ini
bukanlah cara yang umum digunakan.
Penanggulangan kemungkinan hilangnya pesan
adalah doOperation mengirim pesan request secara
berulang hingga ia mendapatkan jawaban atau terjadi
delay. Pada akhirnya, saat doOperation memberikan
kembalian, ia akan mengindikasikan ke klien melalui
eksepsi bahwa tidak ada hasil yang diterima.
 Membuang pesan request terduplikasi : apabila
tidak ada pesan request yang ditransmisi ulang, server
mungkin menerimanya lebih dari satu kali. Misalnya,
server mungkin menerima pesan request pertama
tetapi memerlukan waktu eksekusi lebih lama dari
timeout yang dimiliki klien. Hal ini dapat membuat
server mengeksekusi lebih dari sekali untuk request
yang sama. Untuk menghindarinya, protocol perlu
didesain untuk mengenali pesan dari klien yang sama.
 Menghilangkan pesan reply : apabila server telah
mengirim reply ketika ia menerima duplikat request,
server perlu mengeksekusi operasi lagi untuk
mendapat hasil. Beberapa server dapat mengeksekusi
operasi mereka lebih dari sekali dan menerima hasil
yang sama tiap waktunya. Sebuah idempotent
operation adalah operasi yang dilakukan berulang
dengan hasil sama.
Implementasi TCP
 Secara khusus, Java object serialization adalah
protocol stream yang mengijinkan argument dan hasil
dikirim melalui stream antara klien dan server,
memungkinkan koleksi objek dengan ukuran
berapapun ditransmisi secara handal. Jadi, tidak
diperlukan transmisi ulang dan penggunaan history.
Oleh karena itu, TCP protocol dipilih untuk
mengimplemensikan protocol request‐reply karena
protocol ini dapat menyederhanakan implementasi
 History : istilah history digunakan untuk menunjuk
kepada suatu struktur yang memiliki rekaman pesan
reply yang telah ditransmisikan. Permulaan history
memiliki request indentifier, pesan, dan identifier
klien tujuan. Tujuannya adalah untuk mengijinkan
server untuk mentransmisi ulang pesan reply ketika
klien memproses request mereka. Masalah yang
ditimbulkan oleh history ini adalah biaya memori
yang diperlukan terlalu besar.
 HTTP: Contoh Protokol RequestReply
 Metode HTTP : setiap request klien menjelaskan nama
metode untuk diaplikasikan ke sumber pada sever dan
URL sumber. Reply memberi report status request.
Request dan reply mengandung data sumber, output
program sumber yang dijalankan pada server web.
TUGAS PRIBADI
 Lakukan pengamatan dan analisa proses komunikasi distribusi data dari web
mediamassa cetak online baik yang ada di indonesia dan luar negeri (min 1 web)
 Dari pengamatan tersebut tentukan :
1. Jalur komunikasi/jaringannya (ping)
 2. Troughput
 3. Routing/trace web tersebut dari tempat Anda mengakses min dari 3 jalur yang berbeda
:

 A. wifi
 B. Simcard jalur telepon GSM/CDMA
 C. WArnet
 Buat kesimpulannya dari analisa dan pengamatan yang Anda telah lakukan.
Apa itu PING
 Ping adalah software yang berjalan di atas protokol
ICMP (Internet Control Message Protocol) untuk
mencek hubungan antara dua komputer di internet
 PING merupakan salah satu program yang digunakan
untuk mengecek komunikasi antar komputer dalam
sebuah jaringan melalui protokol TCP/IP.
Kegunaan PING
 Ping digunakan untuk memastikan bahwa satu
komputer yang sedang dituju sedang aktif dan
memberikan respon balik. Misalnya, bila kita ingin
mengirimkan suatu file ke suatu alamat host, maka
untuk melihat berapa lama waktu operasi yang
dibutuhkan, kita menggunakan ping. (Nama “ping”
datang dari sonar sebuah kapal selam yang sedang
aktif, yang sering mengeluarkan bunyi ping ketika
menemukan sebuah objek).
Cara Kerja PING
 PING akan mengirimkan Internet Control Message
Protocol (ICMP) Echo Request messages pada ip
address komputer yang dituju dan meminta respons
dari komputer tersebut. Jika komputer target
memberikan respond maka komputer tersebut
memberikan informasi seperti contoh PING report
yang diberikan yaitu:
 bytes=32 time=30ms TTL=123
Cara Kerja PING
 PING akan mengirimkan Internet Control Message
Protocol (ICMP) Echo Request messages pada ip
address komputer yang dituju dan meminta respons
dari komputer tersebut. Jika komputer target
memberikan respond maka komputer tersebut
memberikan informasi seperti contoh PING report
yang diberikan yaitu:
 bytes=32 time=30ms TTL=123
Byte, Time & TTL dlm PING
 Bytes menunjukkan besar request packet yang
dikirimkan.
 Time menunjukkan nilai “round trip delay” (disebut
juga sebagai delay atau latency) yang menunjukkan
waktu yang diperlukan packet yang anda kirimkan
untuk mencapai komputer yang dituju.
 TTL merupakan nilai “Time-To-Live” yang digunakan
untuk mencegah adanya circular routing pada suatu
jaringan. Dengan mengurangi nilai TTL awal yaitu 128
dengan nilai TTL akhir maka bisa dihitung banyaknya
hop yang dilalui dari komputer asal ke komputer
tujuan.
FUNGSI PING
 Mengetahui status up/down komputer dalam jaringan.
 Kita dapat mengecek apakah sebuah komputer up/down
menggunakan perintah PING, jika komputer tersebut memberikan
response terhadap perintah PING yang kita berikan maka dikatakan
bahwa komputer tersebut up atau hidup.
 Memonitor availability status komputer dalam jaringan.
PING dapat digunakan sebagai tool monitoring availibilitas komputer
dalam jaringan yang merupakan salah satu indikator kualitas jaringan
yaitu dengan melakukan PING secara periodik pada komputer yang
dituju. Semakin kecil downtime, semakin bagus kualitas jaringan
tersebut.
 Mengetahui responsifitas komunikasi sebuah jaringan.
Besarnya nilai delay atau latency yang dilaporkan oleh PING menjadi
indikasi seberapa responsif komunikasi terjadi dengan komputer yang
dituju. Semakin besar nilai delay menunjukkan semakin lamban
respons yang diberikan. Sehingga nilai delay ini juga bisa digunakan
sebagai indikator kualitas jaringan.
Contoh penggunaan ping :
 ping 192.168.1.2 –t





Paket akan dikirimkan terus menerus sampai ada penekanan tombol
Ctrl + C.
ping 192.168.1.2 -n 32
Jumlah permintaan echo yang dikirimkan berjumlah 32 byte
ping 192.168.1.2 -l 32
Jumlah buffer yang dikirimkan sebanyak 32 byte
ping 192.168.1.2 -n 32
Jumlah waktu (timeout) untuk menunggu respon dalam satuan
milidetik. Pada contoh diatas waktu yang dibutuhkan adalah 1
milidetik.
Opsi yang lain dapat Anda lihat dengan mengetikkan : ping /? pada
prompt DOS Anda..
Download