Sistem Terdistribusi
( Thread, client-server, agent)
Disusun Oleh :
ARSLAN
Mudah-mudahan apa yang penulis tulis ini dapat berguna bagi kita semua dan
dengan rendah hati penulis berharap apabila ada kesalahan terhadap
penulisan dan kata-kata pada Tugas ini mohon kiranya dapat di maafkan.
Penulis
BAB I
PENDAHULUAN
Di mana didalam dunia komputer ada yang namanya client server, Client
merupakan sembarang sistem atau proses yang melakukan suatu permintaan
data atau layanan ke server sedangkan server ialah, sistem atau proses yang
menyediakan data atau layanan yang diminta olehclient.
Pada model arsitektur ini, Client tidak dapat berfungsi sebagai Server,
tetapi Server dapat berfungsi menjadi Client (server non-dedicated). Prinsip
kerja pada arsitektur ini sangat sederhana, dimana Server akan menunggu
permintaan dari Client, memproses dan memberikan hasil kepada Client,
sedangkan Client akan mengirimkan permintaan ke Server, menunggu proses
dan melihat visualisasi hasil prosesnya.
Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan :
client (yang meminta serice) dan server (yang menyediakan service). Tiga
komponen tersebut yaitu :
1. User Interface. Adalah antar muka program aplikasi yang berhadapan dan
digunakan langsung oleh user.
2. Manajemen Proses.
3. Database. Model ini memisahkan peranan user interface dan database
dengan jelas, sehingga terbentuk dua lapisan.
Dalam model client/server, pemrosesan pada sebuah aplikasi terjadi pada
client dan server. Client/server adalah tipikal sebuah aplikasi two-tier dengan
banyak client dan sebuah server yang dihubungkan melalui sebuah jaringan,
seperti terlihat dalam gambar 1.2. Aplikasi ditempatkan pada komputer client
dan mesin database dijalankan pada server jarak-jauh. Aplikasi client
mengeluarkan permintaan ke database yang mengirimkan kembali data ke
client-nya.
kinerja dan skalabilitas merupakan tujuan nyata dari sebagian besar aplikasi.
Kekurangan dari model client/server :
• Kurangnya skalabilitas
• Koneksi database dijaga
• Tidak ada keterbaharuan kode
• Tidak ada tingkat menengah untuk menangani keamanan dan transaksi
skala kecil.
• Susah di amankan.
• Lebih mahal.
3.3 Three-Tier / Multi-Tier
Arsitektur Three Tier merupakan inovasi dari arsitektur Client Server. Pada
arsitektur Three Tier ini terdapat Application Server yang berdiri di antara
Client dan Database Server. Contoh dari Application server adalah IIS,
WebSphere, dan sebagainya. Application Server umumnya berupa business
process layer, dimana bisa didevelop menggunakan PHP, ASP.Net, maupun
Java. Sehingga kita menempatkan beberapa business logic kita pada tier
tersebut. Arsitektur Three Tier ini banyak sekali diimplementasikan dengan
menggunakan Web Application. Karena dengan menggunakan Web
Application, Client Side (Komputer Client) hanya akan melakukan instalasi
Web Browser.
Dan saat komputer client melakukan inputan data, maka data tersebut
dikirimkan ke Application Server dan diolah berdasarkan business process-
nya. Selanjutnya Application Server akan melakukan komunikasi dengan
database server. Biasanya, implementasi arsitektur Three Tier terkendala
dengan network bandwidth.
Keluwesan teknologi
Mudah untuk mengubah DBMS engine
Memungkinkan pula middle tier ke platform yang berbeda
Biaya jangka panjang yang rendah
Perubahan-perubahan cukup dilakukan pada middle tier daripada pada
aplikasi keseluruhan
Keunggulan kompetitif
Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, dengan
cara mengubah modul kode daripada mengubah keseluruhan aplikasi
Sebuah sistem 3-tier menyediakan support multi-user yang stabil, bahkan saat
pada client menjalankan aplikasi yang berbeda, juga dapat mendayagunakan
beberapa database yang digunakan secara bersamaan. Dalam pembahasan
berikut ini, akan dijelaskan contoh kasus penerapan 3-tier. Bayangkan sebuah
sistem 3-tier, yang terdiri dari client, business dan database.
Teknologi pendukung
1. HTTP/Web Server.
Hal ini dilatarbelakangi karena didalam jaringan yang besar, tidak semua
komputer yang terkoneksi berfungsi pada saat yang diperlukan, sehingga
diperlukan sebuah aplikasi yang dapat mengelola antrian request dari client
dan response dari server yang akan dikirimkan lagi ketika komputer tujuan
telah berfungsi. Satu keuntungannya lagi, jika client-client meminta request
yang melebihi kapasitas sebuah server, maka MMQS dapat menyimpannya
untuk kemudian mendelegasikannya pada server yang tidak sibuk. Untuk
kebutuhan ini diperlukan aplikasi pada server yang berfungsi sebagai listener
atau referral.
Terutama jika sistem 3-tier tersebut akan menggantikan sistem yang telah
lama digunakan, terdapat cukup banyak tantangan untuk sosialisasi sistem
yang baru. Dalam hal ini, interaksi dan komunikasi dengan pengguna sistem
secara keseluruhan sangat diperlukan. Karena itu terdapat dua sisi yang harus
Anda temukan titik imbangnya, antara keuntungan-keuntungan yang dapat
diraih oleh arsitektur aplikasi n-tier berbanding dengan biaya, tenaga dan
waktu yang diperlukan untuk development dan implementasinya.
BAB IV
THREAD
Macem-macem Thread
Single threading : proses hanya mengeksekusi satu thread dalam satu waktu.
Model MultiTrading:
One to Many: memetakan beberapa tingkatan thread user hanya ke satu buah
kernel thread.
Kelebihan:
* Developer dapat membuat user thread sebanyak yang diperlukan dan kernel
thread yang bersangkutan dapat berjalan secara parallel pada multiprocessor.
* Dan ketika suatu thread menjalankan blocking system call maka kernel
dapat menjadwalkan thread lain untuk melakukan eksekusi.
Kekurangan:
Secara praktis dapat dikatakan bahwa Mobile agent adalah sebuah program
yang dapat menghentikan eksekusi, berjalan melalui jaringan dengan
membawa kode dan state-nya, dan kemudian melanjutkan eksekusinya
pada host yang lain. Aglets merupakan contoh perangkat lunak yang
memungkinkan pengembangan dan penerapan mobile agents ini.
Ada beberapa keuntungan yang dapat dari penerapan Mobile agent bila
dibandingkan dengan teknologi agen yang lain, misalnya RMI. Meskipun
kenyataannya hampir semua masalah dalam komputasi terdistribusi dapat
diselesaikantanpa menggunakan Mobile agent, namun dengan
menerapkan Mobile agent akan dapat memudahkan pengembangan aplikasi
dan dapat meningkatkan keandalan dan efisiensi. Sedikitnya ada beberapa
keuntungan yang didapatkan dari Mobile agent:
tempat komputasi.
2. Efisiensi sumber daya:
Konsumsi sumber daya (CPU dan memori) dapat dihemat, sebab Mobile
agent menetap dan bekerja hanya pada satu node pada satu waktu. Node yang
lain tidak menjalankan agen sampai node tersebut memerlukannya.
4. Encapsulate protocol :
Ketika terjadi pertukaran data pada sistem terdistribusi, setiap host memiliki
kode sebagai implementasi dari protokol yang diperlukan untuk mengkode
data yang keluar dan menerjemahkan data yang masuk secara tepat. Untuk
menjamin kompatibilitas, kode-kode protokol tersebut sudah dibakukan.
Teatapi untuk mengakomodasi keperluan efisiensi dan keamanan yang lebih
baru, tidak praktis bila harus meng-upgrade kode protokol tersebut, meskipun
hal tersebut meungkinkan. Mobile agent dapat memecahkan masalah
tersebut, karena Mobile agent dapat dikirim ke remote host dengan tujuan
untuk membentuk “channel” yang berdasarkan protokol yang sudah baku
tersebut.
Kemampuan mobile agent untuk berinteraksi secara dinamis pada situasi dan
keadaan yang tak menguntungkan menjadikan Mobile agent mudah untuk
membuat sistem terdistribusi yang andal dan toleran terhadap kesalahan. Jika
sebuah host akan di-shutdown , semua agen yang sedang eksekusi di mesin
tersebut akan diberi peringatan dan diberikan waktu untuk berpindah dan
melanjutkan operasinya di host yang laindalam jaringan tersebut.
Komputasi jaringan pada dasarnya sangat heterogen. Baik pada sisi perangkat
keras maupun perangkat lunak. Mobile agent tidak tergantung pada
komputer dan jaringan, tetapi hanya bergantung pada lingkungan
eksekusinya. Sebagai contoh, Mobile agent java dapat ditujukan ke segala
sistem yang mempunyai JVM ( Java Virtual Machine).
Agen yang ditempatkan pada remote site bisa memberitahukan perubahan isi
secara cepat ( misal upgrade software,pasar saham). Tanpa harus diminta oleh
user. Ini juga terkait dengan hasil pencarian yang up todate, meningkatkan
kemampuan penyimpanan data terpusat yang telah ada.
1. Ekekusi paralel:
2. Skalabilitas:
Bila jumlah elemen komputasi di jaringan meningkat, agen baru bisa dikirim
atau clone dan dispatch ke mesin baru di jaringan.
Software Agent
1. Autonomy :
Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara
langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk
mencapai tujuan dalam melakukan tugasnya secaramandiri, agent harus
memiliki kemampuan kontrol terhadap setiap aksi yangmereka perbuat, baik
aksi keluar maupun ke dalam.
4. Delegation :
5. Reactivity :
1. Collaborative Agent :
1. Interface Agent :
1. Mobile Agent :
1. Reactive Agent :
1. Hybrid Agent :
Kita sudah mempunyai lima klasifikasi agent . Kemudian agent yang memiliki
katakteristik yang merupakan gabungan dari karakteristik yangsudah kita
sebutkan sebelumnya adalah masuk ke dalam
hybrid agent .
Dalam lingkungan Multi Agent System (MAS),apabila terdapat dua atau lebih
hybrid agent yang memiliki perbedaankemampuan dan karakteristik, maka
sistem MAS tersebut kita sebut dengan heterogeneous agent system.
Agent yang hidup dan bertugas dalam lingkungan Personal Computer (PC),
dan berjalan diatas suatu Operating System (OS).
1. Internet Agent :
1. Intranet Agent :
1. Object-Orientedness:
2. Platform Independence:
3. Communication Capability:
4. Security:
5. Code Manipulation:
Java
Telescript
Tcl/Tk, Safe-Tcl, Agent-Tcl
BAB VI
KESIMPULAN
6.1 Kesimpulan
Dalam konteks basis data, client mengatur interface berfungsi sebagai
workstation tempat menjalankan aplikasi basis data. Client menerima
permintaan pemakai, memeriksa sintaks dan generate kebutuhan basis data
dalam SQL atau bahasa yang lain. Kemudian meneruskan pesan ke server,
menunggu response dan bentuk response untuk pemakai akhir.
Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan :
client (yang meminta serice) dan server (yang menyediakan service). Tiga
komponen tersebut yaitu :
1. User Interface. Adalah antar muka program aplikasi yang berhadapan dan
digunakan langsung oleh user.
2. Manajemen Proses.
3. Database. Model ini memisahkan peranan user interface dan database
dengan jelas, sehingga terbentuk dua lapisan.
Sebuah sistem 3-tier menyediakan support multi-user yang stabil, bahkan saat
pada client menjalankan aplikasi yang berbeda, juga dapat mendayagunakan
beberapa database yang digunakan secara bersamaan.
6.2 Referensi
1. http://maungampus.blogspot.com/2013/09/pengertian-thread-dan-
macam-macamnya.html
2. http://achmad89.wordpress.com/2010/07/11/arsitektur-client-server/
3. http://bayumuhammad.blogspot.com/2011/09/sistem-terdistribusi-
agent.html
4. http://namykrenz.wordpress.com/2013/12/01/model-arsitektur-sistem-
terdistribusi/