Makalah Concurrency Of Component


Hari ini saya mau share makalah mengenai Concurency Of Component. makalah ini jarang ditemukan di Google, pembahasannya pun sangat sedikit sekali, tetapi saya berusaha mencari materinya sampai terbentuklah sebuah makalah yang menurut saya lumayanlah pembahasannya ...
Oke langsung saja ini dia makalahnya.....


Makalah
PENGOLAHAN DATA TERDISTRIBUSI
( Concurrency Of Component )





 
                                                              


DI SUSUN OLEH:
                                                    NIM               : C1257201119
                                               Nama             : Sakinah Lisdawati
                                               Jurusan         : Sistem Informasi
                                               Semester        : V ( Lima)
                           
                                          


JURUSAN/PROGRAM STUDI SISTEM INFORMASI
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
PALANGKA RAYA
2014


KATA PENGANTAR
            Dengan mengucapkan  Puji dan Syukur kepada Tuhan Yang Maha Esa, karena dengan pertolonganNya kami dapat menyelesaikan makalah kami yang berjudul “Concurrency of Component  Meskipun ada banyak permasalahan yang kami alami dalam proses pengerjaannya, tapi kami berhasil menyelesaikannya dengan baik dan tepat waktu.
Tak lupa kami mengucapkan terima kasih kepada dosen pengampu mata kuliah Pengolahan Data Terdistribusi (PDT) yang telah memberikan judul mengenai concurrency of componenti sehingga dapat membantu kami dalam mengerjakan makalah ini. Kami juga mengucapkan terima kasih kepada teman-teman mahasiswa yang juga sudah memberi kontribusi baik langsung maupun tidak langsung dalam pembuatan makalah ini. Tentunya ada hal-hal yang ingin kami berikan kepada mahasiswa dari hasil makalah ini. Karena itu kami berharap semoga makalah ini dapat menjadi sesuatu yang berguna bagi kita semua.
Tentunya dalam makalah ini juga masih terdapat kekurangan-kekurangan, untuk itulah penulis mengharapkan kritik, saran dan masukan yang membangun agar makalah ini dapat bermanfaat bagi kita semua.
Akhir kata penulis meminta maaf yang sebesar-besarnya apabila ada kesalahan dalam penulisan kata yang terdapat dalam makalah ini. Terima kasih.

Tim
Penyusun




DAFTAR ISI

Halaman Judul.................................................................................................. i
Kata Pengantar................................................................................................. ii
Daftar Isi........................................................................................................... iii

BAB I PENDAHULUAN
                  A.       Latar Belakang........................................................................................... 1
                  B.        Rumusan Masalah ..................................................................................... 1
                  C.        Tujian Penulis............................................................................................. 2
                  D.       Manfaat Penulisan ..................................................................................... 2

BAB II PEMBAHASAN
A.        Definisi  Concurrency of Component....................................................... 3
B.       Prinsip-prinsip Konkurensi ....................................................................... 3
C.       Kerjasama diantara Proses ........................................................................ 5
D.       Masalah Umum Concurrency (Konkurensi) ............................................. 7
  E.        Penyelesaian Masalah Konkurensi dalam Mutual exclusion..................... 10

BAB III PENUTUP
A.    Kesimpulan................................................................................................. 15
B.     Saran........................................................................................................... 15
Daftar Pustaka




                                                                                                               



BAB I
PENDAHULUAN
A.    Latar Belakang
Concurrency of component merupakan salah satu karakteristik pengolahan data terdistribusi, dimana sifatnya setiap komputer/aplikasi dapat melakukan pekerjaan masing-masing tanpa terjadi konflik diantaranya. Hal yang wajar apabila proses eksekusi program harus berjalan secara konkuren terkadang di perlukan juga untuk mengatur layanan seperti file sharing.
Setiap komputer memiliki clock yang berbeda dalam sistem terdistribusi. Agar tidak terjadi konflik maka diperlukan koordinasi agar tidak terjadi konflik clock antar komputer. Saat program membutuhkan koordinasi antarkomputer, dilakukan proses pertukaran pesan antar komputer.
Berdasarkan uraian diatas penulis merasa perlu untuk menjabarkan lebih dalam tentang Concurrency Of component yang meliputi definisi, prinsip-prinsip, masalah-masalah umum dalam Konkurensi dan bagaimana penyelesaian dari masalah-masalah tersebut.

B.  Rumusan Masalah
Adapun masalah yang akan dikaji di dalam makalah ini yaitu :
1.        Apa yang dimaksud dengan concurrency of component?
2.        Prinsip-prinsip concurrency of component?
3.        Masalah umum dalam sistem concurrency of component?
4.        Bagaimana Penyelesaian Masalah Umum Deadlock dan Starvation ?

C.  Tujuan Penulisan
Adapun tujuan dari penulisan makalah ini yaitu :
1.      Mahasiswa mengetahui Definisi dari concurrency of component.
2.      Mahasiswa mengetahui Prinsip-prinsip dari concurrency of component.
3.      Mahasiswa Mengetahui Masalah umum dari  sistem concurrency of component.
4.      Mahasiswa mengetahui  Penyelesaian Masalah Deadlock dan Starvation

D.    Manfaat Penulisan
Manfaat penulisan makalah ini adalah Sebagai salah satu aset studi pembuatan karya tulis ilmiah, dan menambah wawasan bagi pembaca dan penulis  tentang concurrency of component dalam Sistem terdistribusi.


BAB II
PEMBAHASAN
A.        Definisi  Concurrency of Component
            Concurrency of  component  adalah pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer) meliputi ( hardware/software) secara bersamaan.

B.        Prinsip-prinsip Konkurensi
 Konkurensi meliputi hal-hal sebagai berikut :
•    Alokasi waktu pemroses untuk proses-proses
•    Pemakaian bersama dan persaingan untuk mendapatkan
 sumber daya
•    Komunikasi antar proses
•    Sinkronisasi aktivitas banyak proses.
Sistem berbagi memori
Sistem berbagi memori atau yang disebut juga sebagai Shared Memory System merupakan salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu sehingga pekerjaan dapat dilakukan secara efektif.


Sistem berkirim pesan
Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. Ketika dua bagian sistem ingin berkomunikasi satu sama lain, yang harus dilakukan pertama kali adalah membuat sebuah link komunikasi antara keduanya. Setelah itu, kedua bagian itu dapat saling bertukar pesan melalui link komunikasi tersebut. Sistem berkirim pesan sangat penting dalam sistem operasi. Karena dapat diimplementasikan dalam banyak hal seperti pembagian memori, pembagian bus, dan melaksanakan proses yang membutuhkan pengerjaan bersama antara beberapa bagian sistem operasi.
Terdapat dua macam cara berkomunikasi, yaitu:
 
    Komunikasi langsung. 
Dalam komunikasi langsung, setiap proses yang ingin berkirim pesan harus mengetahui secara jelas dengan siapa mereka berkirim pesan. Hal ini dapat mencegah pesan salah terkirim ke proses yang lain.
Karakteristiknya antara lain:
Ø  Link dapat otomatis dibuat
Ø  Sebuah link berhubungan dengan tepat satu proses komunikasi berpasangan
Ø  Diantara pasangan itu terdapat tepat satu link
Ø  Link tersebut biasanya merupakan link komunikasi dua arah

b.      Komunikasi tidak langsung
Berbeda dengan komunikasi langsung, jenis komunikasi ini menggunakan sejenis kotak surat atau port yang mempunyai ID unik untuk menerima pesan. Proses dapat berhubungan satu sama lain jika mereka membagi port mereka. Karakteristik komunikasi ini antara lain:
Ø  Link hanya terbentuk jika beberapa proses membagi kotak surat mereka
Ø  Sebuah link dapat terhubung dengan banyak proses
Ø  Setiap pasang proses dapat membagi beberapa link komunikasi
Ø  Link yang ada dapat merupakan link terarah ataupun link yang tidak terarah
C.   Kerjasama diantara Proses
 Kerjasama diantara proses terbagi kedalam 2 bagian, diantaranya :
a.       Kerjasama diantara proses dengan pemakaian bersama
Dalam kasus kerjasama pemakaian sumber daya bersama meliputi proses-proses yang saling berinteraksi tanpa dinyatakan secara eksplisit. Contoh : Banyak proses mengakses variabel atau berkas yang dipakai bersama. Proses-proses dapat menggunakan dan memperbarui data yang dipakai bersama tanpa peduli proses-proses lain. Proses mengetahui bahwa proses-proses lain dapat juga mengakses data yang sama. Proses-proes harus bekerja sama untuk menjamin integritas data yang dipakai bersama tersebut.
Kerjasama diantara proses-proses dalam pemakaian bersama mempunyai masalah:
Kerjasama diantara proses-proses dalam pemakaian bersama mempunyai masalah:
Ø  Mutual exclusion
Ø  Deadlock
Ø  Starvation
Karena data disimpan pada suatu sumber daya (peralatan, memori), maka terdapat masalah pengendalian mutual exclusion, deadlock dan starvation. Perbedaannya adalah item-item data dapat diakses dengan dua mode,  yaitu :
1.      Operasi pembacaan dan penulisan harus mutually exclusive (yaitu benar-benar hanya satu proses yang berada di critical section).
2.      Operasi penulisan saja yang harus mutually exclusive.
Pada situasi ini, masalah baru muncul yaitu mengenai koherensi data. Critical section digunakan untuk menjamin integritas data.
b.      Kerjasama diantara proses dengan komunikasi
Pada kasus persaingan, proses-proses memakai sumber daya tanpa peduli prosesproses lain. Pada kasus kedua, proses-proses memakai bersama nilai dan meski masingmasing proses tidak secara eksplisit peduli proses-proses lain. Tapi proses-proses peduli untuk menjaga integritas data. Ketiak proses-proses bekerja sama dengan komunikasi, beragam proses berpartisipasi dalam suatu usaha dengan menghubungkan semua proses. Komunikasi menyediakan cara untuk sinkronisasi atau koordinasi beragam aktivitas. Komunikasi dicirikan dengan berisi pesan-pesan dengan suatu urutan. Primitif untuk mengirim dan menerima pesan disediakan sebagai bagian bahasa pemrograman atau disediakan kernel sistem operasi. Karena tak ada sesuatu yang dipakai bersama diantara proses-proses itu dalam melewatkan pesan-pesan, tak ada masalah mutual exclusion. Tetapi masalah deadlock dan starvation dapat muncul.

D.      Masalah Umum Concurrency (Konkurensi)
Yang dimaksud dengan concurrency (sistem atau program yang berjalan bersama-sama) disini adalah suatu karakteristik yang dimiliki oleh sistem terdistribusi dimana sifatnya setiap komputer/aplikasi dapat melakukan pekerjaan masing-masing tanpa terjadi konflik diantaranya. Hal yang wajar apabila proses eksekusi program harus berjalan secara konkuren. Melakukan koordinasi konkurensi terkadang diperlukan juga untuk mengatur layanan seperti file sharing.
Pada proses-proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan yaitu :
1.         Mutual Exclusion (pengeluaran timbal balik)
Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada satu interval waktu tertentu, dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya : printer, disk drive). Kondisi demikian disebut sumber daya kritis, dan bagian program yang menggunakan sumber daya kritis disebut critical region / section. Hanya satu program pada satu saat yang diijinkan masuk ke critical region. Pemrogram tidak dapat bergantung pada sistem operasi untuk memahami dan memaksakan batasan ini, karena maksud program tidak dapat diketahui oleh sistem operasi. Hanya saja, system operasi menyediakan layanan (system call) yang bertujuan untuk mencegah proses lain masuk ke critical section yang sedang digunakan proses tertentu. Pemrograman harus menspesifikasikan bagian-bagian critical section, sehingga sistem operasi akan menjaganya. Pentingnya mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu.Pemaksaan atau pelanggaranmutual exclusion menimbulkan :
- Deadlock
- Starvation

2.         Deadlock (buntu)
Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar. Ilustasi deadlock, misalnya :
·      Terdapat dua proses, yaitu P1 dan P2 dan dua sumber daya kritis, yaitu R1 dan R2.
·      Proses P1 dan P2 harus mengakses kedua sumber daya tersebut, dengan kondisi ini terjadi : R1 diberikan ke P1, sedangkan R2 diberikan ke P2.
Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus maka kedua proses akan saling menunggu sumber daya lain selamanya. Tak ada proses yang dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tak pernah diperolehnya. Kedua proses dalam kondisi deadlock, yang tidak dapat membuat kemajuan apapun dan deadlock merupakan kondisi terparah karena dapat melibatkan banyak proses dan semuanya tidak dapat mengakhiri prosesnya secara benar.

3.     Starvation (kelaparan)
Starvation adalah keadaan dimana pemberian akses bergantian terus-menerus, dan ada suatu proses yang tidak mendapatkan gilirannya.
Ilustasi starvation, misalnya :
·      Terdapat tiga proses, yaitu P1, P2 dan P3.
·      P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodik Skenario berikut terjadi :
·      P1 sedang diberi sumber daya R sedangkan P2 dan P3 diblocked menunggu sumber daya R.
·      Ketika P1 keluar dari critical section, maka P2 dan P3 diijinkan mengakses R.
·      Asumsi P3 diberi hak akses, kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu kembali membutuhkan sumber daya R. Jika pemberian hak akses bergantian terus-menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesan sumber daya R. Dalam kondisi ini memang tidak terjadi deadlock, hanya saja P2 mengalami starvation (tidak ada kesempatan untuk dilayani).
E.       Penyelesaian Masalah Konkurensi dalam Mutual exclusion
a.    Penanganan DEADLOCK
Secara umum terdapat 4 cara untuk menangani keadaan deadlock, yaitu:
1.      Pengabaian. Maksud dari pengabaian di sini adalah sistem mengabaikan terjadinya deadlock dan pura-pura tidak tahu kalau deadlock terjadi. Dalam penanganan dengan cara ini dikenal istilah ostrich algorithm. Pelaksanaan algoritma ini adalah sistem tidak mendeteksi adanya deadlock dan secara otomatis mematikan proses atau program yang mengalami deadlock.
2.      Pencegahan. Penanganan ini dengan cara mencegah terjadinya salah satu karakteristik deadlock. Penanganan ini dilaksanakan pada saat deadlock belum terjadi pada sistem. Intinya memastikan agar sistem tidak akan pernah berada pada kondisi deadlock.
3.      Penghindaran. Menghindari keadaan deadlock. Bagian yang perlu diperhatikan oleh pembaca adalah bahwa antara pencegahan dan penghindaran adalah dua hal yang berbeda. Pencegahan lebih kepada mencegah salah satu dari empat karakteristik deadlock terjadi, sehingga deadlock pun tidak terjadi. Sedangkan penghindaran adalah memprediksi apakah tindakan yang diambil sistem, dalam kaitannya dengan permintaan proses akan sumber daya, dapat mengakibatkan terjadi deadlock.
4.      Pendeteksian dan Pemulihan. Pada sistem yang sedang berada pada kondisi deadlock, tindakan yang harus diambil adalah tindakan yang bersifat represif. Tindakan tersebut adalah dengan mendeteksi adanya deadlock, kemudian memulihkan kembali sistem. Proses pendeteksian akan menghasilkan informasi apakah sistem sedang deadlock atau tidak serta proses mana yang mengalami deadlock.
PERBAIKAN DARI DEADLOCK
Terdapat dua pilihan untuk membebaskan deadlock. Satu solusi sederhana adalah dengan menghentikan satu atau beberapa proses untuk membebaskan kondisi menunggu sirkular. Pilihan kedua adalah menunda beberapa sumber daya dari satu atau lebih proses yang deadlock.
1.      Terminasi Proses
Untuk memperbaiki deadlock dengan terminasi proses, dapat digunakan salah satu dari dua metode di bawah ini :
• Menghentikan (abort) semua proses yang deadlock
• Menghentikan satu proses setiap waktu sampai siklus deadlock hilang.
Untuk menentukan urutan proses yang harus dihentikan ada beberapa faktor yang harus diperhatikan :
• Prioritas proses.
• Berapa lama proses dijalankan dan berapa lama lagi selesai.
• Sumber daya yang digunakan proses.
• Sumber daya proses yang diperlukan untuk menyelesaikan task.
• Berapa proses yang perlu diterminasi.
• Apakah proses interaktif atau batch.

2.      Menunda Sumber Daya
Untuk menghilangkan deadlock dengan menunda sumber daya, sumber daya dari proses harus ditunda dan memberikan sumber daya tersebut ke proses lain sampai siklus deadlock hilang.
Jika penundaan dibutuhkan untuk menghilangkan deadlock, terdapat tiga hal yang perlu diperhatikan :
• Pilihlah korban (sumber daya) yang mempunyai biaya minimal.
• Lakukan rollback yaitu memulai kembali (restart) proses pada state yang selamat.
• Harus dijamin starvation tidak akan terjadi karena kemungkinan beberapa proses selalu terpilih sebagai korban termasuk jumlah rollback sebagai faktor biaya.


b.    Penanganan STARVATION
             
 

 Gambar 1.1 Flowchart Penyelesaian Masalah dengan AGING
 
 
Ada beberapa cara untuk mengatasi Starvation, salah satunya dengan Aging. Pada flowchart di atas, proses awal yang ada diberi urutan  (N) pemrosesan dengan rumus N = ( P+T ) / P. N maksimum akan mulai dikerjakan dan proses yang lain dinaikkan tingkat urutan prosesnya agar nanti jika ada proses lain yang masuk, proses terdahulu mendapatkan bagian resource dan dapat dikerjakan. Jika ada beberapa proses yang memiliki N maksimum, maka diantara proses tersebut dilihat dari waktu yang dibutuhkan untuk menyelesaikannya. Jika masih sama juga, maka dilihat waktu kedatangannya. 
Selain itu, Starvation juga dapat diatasi dengan pemrosesan dengan cara Round Robin. Pada Round Robin, proses yang masuk akan dimasukkan ke dalam antrian menurut kedatangan proses tersebut. Dalam penyelesainnya, suatu proses tidak akan langsung selesai jika waktu yang dibutuhkan melebihi waktu kuantum yang diberikan. Waktu kuantum adalah waktu yang diberikan untuk menyelesaikan suatu proses. Ketika sutu proses telah mencapai batas waktu kuantum, sisa dari proses tersebut dikembalikan ke antrian paling belakang dan resource dipindahkan ke proses selanjutnya. Dengan cara ini, semua proses yang mengantri, akan mendapatkan resource secara bergantian ( tidak ada proses yang memonopoli resource ) sehingga semua proses dapat diselesaikan.


Gambar 1.2 Flowchart Penyelesaian Masalah dengan Round Robin
 

BAB III
PENUTUP

A.    KESIMPULAN
Concurrency Of Component merupakan salah satu karakteristik dari sistem terdistribusi, concurrency (konkurensi) sangat berperan dalam mencegah terjadinya konflik antar komponen pada sebuah sistem terdistribusi atau sistem yang bekerja dalam sebuah jaringan.
Konkurensi meliputi hal-hal sebagai berikut :
•    Alokasi waktu pemroses untuk proses-proses
•    Pemakaian bersama dan persaingan untuk mendapatkan
 sumber daya
•    Komunikasi antar proses
•    Sinkronisasi aktivitas banyak proses.

Pada proses-proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan yaitu :
Ø  Mutual exclusion
Ø  Deadlock
Ø  Starvation

B.   SARAN
Makalah ini masih jauh dari sempurna, karena masih terbatasnya referensi atau literatur yang membahas secara khusus tentang Concurrency Of Component khususnya yang berhubungan dengan Sistem terdistribusi. Semoga kedepannya akan lebih banyak lagi pustaka yang membahas tentang Concurrency of Component khususnya dalam sistem terdistribusi, agar dapat menyempurnakan kembali isi dari makalah ini.





DAFTAR PUSTAKA
  1. Hartanto, Rudy, Ir, MT(2003), Dasar-dasar  Teknik komputer’       
    Penerbit Gava Media Yogyakarta.
  2. Silberschatz, Avi, dkk(2000), Apled Operating System : First Edition, Edisi Pertama.
  3. http://tugasso.blog.com/2010/11/02/konkurensi-dan-keamanan-data/
( Diakses tanggal 5 Oktober 2014)
  1.  http://ka2forefer.blogspot.com/2013/04/konkurensi.html
          ( Diakses tanggal 5 Oktober 2014)


 Demikianlah Makalah yang saya buat, semoga bermanfaat yaa.. masalah penulisannya di Blog ini memang aneh, sudah saya rapikan di Ms. Word malah jd ancur gini setelah di copas ke editor blog.






1 comment: