Rabu, 16 Januari 2013
Minggu, 13 Januari 2013
Customer Relationship Management
Pengertian
CRM
merupakan sebuah pendekatan baru dalam mengelola hubungan korporasi dan
pelanggan pada level bisnis sehingga dapat memaksimumkan komunikasi, pemasaran
melalui pengelolaan berbagai kontak yang berbeda dengan pelanggan. Pendekatan
ini memungkinakn untuk mempertahankan pelanggan dan memberikan nilai tambah
terus menerus pada pelanggan, selain juga memperoleh keuntungan yang
berkelanjutan.
Hal yang
perlu dipahami adalah bahwa dari luar, pelanggan yang berinterkasi dengan
perusahaan hanya memahami bisnis yang dilakukan oleh perusahaan sebagai satu
entitas, tidak lebih; meskipun pelanggan juga berinteraksi dengan sejumlah
pekerja yang berbeda peran dan departemennya. Semua itu tetap dianggap sebagai
satu kesatuan. Dengan CRM, dukungan pada proses bisnis, informasi tentang
pelanggan dan interaksinya dapat dimasukkan, disimpan, diakses oleh semua staf
pada berbagai unit kerja dengan tujuan untuk meningkatkan layanan yang
diberikan pada pelanggan, dan menggunakan informasi kontak pelanggan untuk
target pemasaran.
CRM
(customer relationship management) mengkombinasikan kebijakan, proses, dan
strategi yang diterapkan organisasi menjadi satu kesatuan yang digunakan untuk
melakukan interaksi dengan pelanggan dan juga untuk menelusuri informasi
pelanggan. Pada era saat ini, implementasi CRM selalu akan menggunakan
teknologi informasi untuk menarik pelanggan baru yang mengguntungkan,
hingga mereka memiliki keterikatan pada perusahaan.
Konsep ini
juga banyak digunakan sebagai sebuah terminologi pada industri informasi
sebagai sebuah metodologi, piranti lunak, dan bahkan sebagai kapabilitas
internet yang membantu korporasi mengelola hubungan pelanggan. Piranti ini
memungkinkan korporasi untuk menjelaskan hubungan secara cukup rinci sehingga
manajemen, staf penjualan, staf pelayanan, dan bahkan pelanggan dapat secara
langsung mengakses informasi, menyesuaikan kebutuhan antara kebutuhan dan
produk, pengingatan pelanggan pada layanan tertentu, dan sebagainya. Dalam
pengembangan piranti lunak CRM harus dilakukan pendekatan yang holistik.
Terkadang inisiatif implementasi piranti lunak CRM gagal dilakukan karena hanya
terbatas pada instalasi piranti saja, tanpa memperhatikan konteks, dukukangan
dan pemahaman staf, dan pemenfaatan sepenuhnya sistem informasi.
Banyak aspek
yang tercakup dalam CRM. Aspek tersebut pada umumnya akan berhubungan langsung
dengan salah satu aspek berikut:
- Operasi Front office yang langsung berinteraksi dengan pelanggan seperti ketemu langsung, panggilan telepon, e-mail, layanan online, dll.
- Operasi Back office yang sangat berpengaruh pada aktivitas pada layanan di front office seperti bagian pembayaran, perawatan, perencanaan, pemasaran, dll.
- Hubungan bisnis, yaitu interaksi dengan perusahaan dan rekanan lain seperti suppliers/ vendors, outlet pengecer dan distribusi, jaringan industri. Jaringan eksternal ini akan mendukung aktivitas di front dan back office.
- Data kunci dalam CRM dapat dianalisis dengan tujuan melakukan perencanaan kampanye pada target pemasaran, memahami strategi bisnis, dan memutuskan keberhasilan aktivitas CRM seperti pangsa pasar, karakteristik pelanggan, pendapatan dan keuntungan.
Implementasi
CRM akan memberikan dampak manfaat bagi korporasi seperti akan memungkinkan
untuk memperoleh keseimbangan dalam bagaimana menggunakan sumber daya untuk
pemasaran agar mendapat nilai lebih pada segmen tertentu, meningkatkan
interaksi pelanggan yang akan mendukung pengalaman branding pada pelanggan,
mendongkrak produktivitas penualan melalui pemetaan proses menggunakan
teknologi baru, menetapkan tujuan penjualan dan menentukan reward untuk
pencapaiannya, fokus pada gab antara harapan pelanggan dan pengalaman layanan
saat ini, dengan menggunakan alat analisis akan dapat ditingkatkan pemahaman
organisasi tentang pelanggan.
Variasi CRM
Ada beberapa
perbedaan pendekatan CRM dengan paket piranti lunak dalam memfokuskan aspek
yang berbeda. Beberapa diantara piranti lunak CRM yang dikenal adalah seperti
berikut.
1.
Operasional. Operational CRM memberikan dukungan untuk proses bisnis di
front office, seperti untuk penjualan, pemasaran, dan staf pelayanan. Interaksi
dengan pelanggan biasanya disimban dalam sejarak kontak pelanggan, dan staf
dapat melihat kembali informasi pelanggan ketika dibutuhkan. Dengan sejarah
kontak pelanggan ini, staf dapat dengan cepat memperoleh informasi penting.
Dapat meraih pelanggan dalam waktu dan tempat yang tepat merupakan sesuatu yang
sangat diinginkan.
2.
Penjualan. Untuk penjualan biasa digunakan Sales Force Automation (SFA).
SFA membantu untuk otomatisasi aktivitas yang terkait dengan staf penjualan,
seperti untuk penjadwalan menghubungi pelanggan, pengiriman surat kertas maupun
elektronik ke pelanggarn, menelusuri respon pelanggan, membuat laporan, menilai
tingkat penjualan, proses order penjualan otomatis.
3.
Analitik. Analytical CRM menganalisis data pelanggan untuk berbagai
tujuan seperti merancang dan menjalankan kampanye target pemasaran, termasuk
melakukan cross-selling, up-selling, aiatem informasi manajemen untuk
forecasting keuangan dan analisis profitabilitas pelanggan.
4.
Intelijen Penjualan. Intelijen Penjualan atau Sales Intelligence dalam
CRM adalah sejenis dengan is similar to Analytical CRM, tetapi ditekankan lebih
jauh untuk piranti penjualan langsung dengan fitur untuk mencari peluang
Cross-selling/ Up-selling/ Switch-selling, kinerja penjualan, kecenderungan
pelanggan, margin pelanggan.
5.
Manajemen Kampanye. Campaign management mengkombinasikan elemen antara
CRM operasional dan analitik agar dapat menjalankan fungsi pembentukan kelompok
target dengan kriteria tertentu menggungakan data pelanggan, mengirimkan materi
yang terkait dengan kampanye produk untuk calon tertentu menggunakan berbagai
saluran seperti e-mail, telephone, SMS, dan surat, menelusuri, menyimpan dan
menganalisis statistik kampanye.
6.
Kolaboratif. Collaborative CRM mencakup aspek-aspek yang ditangani
korporasi yang terkait dengan pelanggan pada berbagai departemen seperti pada
bagian penjualan, dukungan teknis, dan pemasaran. Staf dari berbagai departemen
pada korporasi yang sama dapat saling bertukar dan berbagi informasi yang
dikumpulkan ketika berinteraksi dengan pelanggan. CRM jenis ini bertujuan untuk
menggunakan informasi yang dikumpulkan secara bersama di semua departemen untuk
peningkatkan kualitas pelayanan yang diberikan.
Strategi dan
Implementasi
Sasaran
untuk menjalankan strategi CRM harus mempertimbangkan situasi spesifik yang
dihadapi perusahaan dan juga kebutuhan dan harapan pelanggan. Informasi yang
didapat melalu inisiasi CRM dapat mendukung pengembangan strategi pemasaran
dengan mengembangkan pengetahuan pada area-area tertentu seperti identifikasi
segmen pelanggan, peningkatan retensi pelangggan, perbaikan produk yang
disampaikan, juga identifikasi pelanggan blue chip (yang paling menguntungkan).
Sasaran ini dilakukan dengan melakukan manipulasi informasi yang terkait yang
selanjutnya dimanfaatkan bersama untuk ditransformasikan menjadi pengetahuan.
Pengetahuan ini merupakan pengetahuan yang memungkinkan perusahaan dapat lebih
memahami pelanggan, dan digunakan untuk menyesuaikan kapabilitas organisasi
agar dapat memberikan nilai yang lebih baik bagi pelanggan. Strategi CRM
bervaria dalam besaran, komplesitas, cakupanya. Hal ini akan berpengaruh pada
tipe apa CRM dikembangkan. Strategi CRM yang efektif akan fokus pada berbagai
saluran. Perusahaan harus secara efektif mengelola saluran ini untuk perbaikan
pelayanan.
Kegagalan
berbagai projek CRM terutama terkait dengan kualitas dan availabilitas data
pelanggan. Data yang baik merupakan isu penting. Ketika perusahaan yang menggunakan
CRM untuk menelusuri siklus hidup pendapatan, pembiayaan, margin keuntungan,
dan interkasi dengan pelanggan secara individual, maka semua ini harus
tergambarkan dengan jelas dalam suatu bisnis proses. Data yang digunakan harus
dapat diambil dari berbagai sumber data yang ada di tiap departemen atau bidang
yang ada di perusahaan. Sistem yang komprehensif dengan struktur yang telah
didefinisikan dengan baik akan meningkatkan kualitas data yang dipakai dalam
pengambilan keputusan. Meski saat ini banyak piranti lunak yang tersedia
tentang CRM, namun perlu diingat bahwa CRM bukan sekedar teknologi namun lebih
pada pendekatan komprehensif yang berpusat pada pelanggan. Implikasinya adalah
kebijakan, proses, pelatihan staf, manajemen pemasaran, dan manajemen
informasi. Dengan cara pandang ini, CRM merupakan hal yang dapat memberikan
peran penting dalam usaha merekayasa proses penjualan untuk memberikan nilai
tambah pada pelanggan.
Review Revolution OS
Sebuah film
yang menceritakan perkembagan OS open source, yang berawal dari microsoft yang
berbayar, banyak ahli mengambil masalah dengan kebijakan yang ketat Microsoft
mengenai perizinan, kepemilikan, distribusi, dan perubahan perangkat lunak
mereka. Keberatan dari banyak profil tinggi ahli teknologi, terutama Richard
Stallman, menyebabkan apa yang telah menjadi dikenal sebagai Gerakan Open
Source, yang berpusat pada keyakinan bahwa perangkat lunak komputer harus bebas
baik dalam pengertian ekonomi dan intelektual kata. Akhirnya, salah satu
pengagum Stallman, Linus Torvalds, menciptakan sebuah sistem operasi baru yang
disebut Linux, sebuah perangkat lunak bebas didistribusikan mana banyak
programmer anggap nyata unggul Windows. Revolusi OS adalah sebuah film
dokumenter yang meneliti asal-usul Gerakan Open Source menceritakan tentang apa
itu linux????apa itu open source???? menjelaskan tentang GNU.FIilm yang berisi
wawancara para petinggi sistem operasi, FIlm ini juga mendokumentasikan linux
word conference,dengan menggundang richard stallman (founder GNU project).
Objektif GNU adalah membuat software dan sistem operasi yang bebas, Richard
Stallman menginginkan agar pengguna komputer bebas, bebas mempelajri source
code dari software yang mereka gunakan, bebas bertukar software dengan orang
lain, bebas mengubah perilaku software, bebas mempublikasi modifikasi
softwarenya. Philosohy ini di publikasi sebagai GNU Manifesto bulan Maret 1985.
Di tahun 1985 itu juga Richard Stallman membentuk Free Software Foundation untuk
mendukung pergerakannya. Philosophy dari pergerakan adalah untuk memberikan
kebebasan bagi pengguna komputer dengan cara mengganti proprietary software
seperti Microsoft dengan free software, dan pada pada akhirnya membebaskan
semua yang ada di cyberspace
Pada saat ini ada dua tokoh utama dalam pergerakan software bebas, yaitu, Richard Stallman dan Linux Torvalds. Kedua nya mempunyai perbedaan philosophy yang sangat tajam. Hal ini menyebabkan banyak berita dramatis antara mereka berdua. Walaupun demikian, hal ini tidak menghalangi Richard Stallman menggunakan Linus Torvalds Kernel juga sebaliknya Linus Torvalds menggunakan Richard Stallman GNU General Public License (GPL).
Dalam perkembangannya persaingan antara linux dan windows semakin ketat, dikarenakan mereka memiliki kelebihan dan kekurangannya masing-masing, mulai dari penggunaan, biaya, distribusi maupun yang lainya. Dalam persaingan ini pula di harapkan dapat memberikan hal positif bagi seluruh penggunaan komputer di dunia ini.
Senin, 07 Januari 2013
Dead Lock Dengan Penjelasan Algoritma Banker, Safety dan Ostrich
Deadlock adalah keadaan dimana dua
program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang
lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang
lain memberikan sumber dayanya, tetapi tidak ada yang mengalah. Deadlock yang
mungkin dapat terjadi pada suatu proses disebabkan proses itu menunggu suatu
kejadian tertentu yang tidak akan pernah terjadi. Dua atau lebih proses
dikatakan berada dalam kondisi deadlock, bila setiap proses yang ada menunggu
suatu kejadian yang hanya dapat dilakukan oleh proses lain dalam himpunan
tersebut.
Karakteristik Deadlock
Karakteristik-karakteristik ini harus dipenuhi keempatnya untuk terjadi deadlock.
Namun, perlu diperhatikan bahwa hubungan kausatif antara empat karakteristik ini dengan terjadinya deadlock adalah implikasi.
Deadlock mungkin terjadi apabila keempat karakteristik terpenuhi.
Empat kondisi tersebut adalah:
1.Mutual Exclusion .
Kondisi yang pertama adalah mutual exclusion yaitu proses memiliki hak milik pribadi terhadap sumber daya yang sedang digunakannya. Jadi, hanya ada satu proses yang menggunakan suatu sumber daya. Proses lain yang juga ingin menggunakannya harus menunggu hingga sumber daya tersebut dilepaskan oleh proses yang telah selesai menggunakannya. Suatu proses hanya dapat menggunakan secara langsung sumber daya yang tersedia secara bebas.
2.Hold and Wait .
Kondisi yang kedua adalah hold and wait yaitu beberapa proses saling menunggu sambil menahan sumber daya yang dimilikinya. Suatu proses yang memiliki minimal satu buah sumber daya melakukan request lagi terhadap sumber daya. Akan tetapi, sumber daya yang dimintanya sedang dimiliki oleh proses yang lain. Pada saat yang sama, kemungkinan adanya proses lain yang juga mengalami hal serupa dengan proses pertama cukup besar terjadi. Akibatnya, proses-proses tersebut hanya bisa saling menunggu sampai sumber daya yang dimintanya dilepaskan. Sambil menunggu, sumber daya yang telah dimilikinya pun tidak akan dilepas. Semua proses itu pada akhirnya saling menunggu dan menahan sumber daya miliknya.
3.No Preemption . Kondisi yang selanjutnya adalah no preemption yaitu sebuah sumber daya hanya dapat dilepaskan oleh proses yang memilikinya secara sukarela setelah ia selesai menggunakannya. Proses yang menginginkan sumber daya tersebut harus menunggu sampai sumber daya tersedia, tanpa bisa merebutnya dari proses yang memilikinya.
4.Circular Wait .
Kondisi yang terakhir adalah circular wait yaitu kondisi membentuk siklus yang berisi proses-proses yang saling membutuhkan. Proses pertama membutuhkan sumber daya yang dimiliki proses kedua, proses kedua membutuhkan sumber daya milik proses ketiga, dan seterusnya sampai proses ke n-1 yang membutuhkan sumber daya milik proses ke n. Terakhir, proses ke n membutuhkan sumber daya milik proses yang pertama. Yang terjadi adalah proses-proses tersebut akan selamanya menunggu.
Penanganan Deadlock
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. Kebanyakan sistem operasi yang ada mengadaptasi cara ini untuk menangani keadaan deadlock. Cara penanganan dengan mengabaikan deadlock banyak dipilih karena kasus deadlock tersebut jarang terjadi dan relatif rumit dan kompleks untuk diselesaikan. Sehingga biasanya hanya diabaikan oleh sistem untuk kemudian diselesaikan masalahnya oleh user dengan cara melakukan terminasi dengan Ctrl+Alt+Del atau melakukan restart terhadap komputer.
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. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
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. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
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. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
Pencegahan Deadlock
Pencegahan deadlock dapat dilakukan dengan cara mencegah salah satu dari empat karakteristik terjadinya deadlock. Berikut ini akan dibahas satu per satu cara pencegahan terhadap empat karakteristik tersebut.
1.Mutual Exclusion . Kondisi mutual exclusion pada sumber daya adalah sesuatu yang wajar terjadi, yaitu pada sumber daya yang tidak dapat dibagi (non-sharable). Sedangkan pada sumber daya yang bisa dibagi tidak ada istilah mutual exclusive. Jadi, pencegahan kondisi yang pertama ini sulit karena memang sifat dasar dari sumber daya yang tidak dapat dibagi.
2.Hold and Wait . Untuk kondisi yang kedua, sistem perlu memastikan bahwa setiap kali proses meminta sumber daya, ia tidak sedang memiliki sumber daya lain. Atau bisa dengan proses meminta dan mendapatkan sumber daya yang dimilikinya sebelum melakukan eksekusi, sehingga tidak perlu menunggu.
3.No Preemption . Pencegahan kondisi ini dengan cara membolehkan terjadinya preemption. Maksudnya bila ada proses yang sedang memiliki sumber daya dan ingin mendapatkan sumber daya tambahan, namun tidak bisa langsung dialokasikan, maka akan preempted. Sumber daya yang dimiliki proses tadi akan diberikan pada proses lain yang membutuhkan dan sedang menunggu. Proses akan mengulang kembali eksekusinya setelah mendapatkan semua sumber daya yang dibutuhkannya, termasuk sumber daya yang dimintanya terakhir.
4.Circular Wait . Kondisi 'lingkaran setan' ini dapat 'diputus' dengan jalan menentukan total kebutuhan terhadap semua tipe sumber daya yang ada. Selain itu, digunakan pula mekanisme enumerasi terhadap tipe-tipe sumber daya yang ada. Setiap proses yang akan meminta sumber daya harus meminta sumber daya dengan urutan yang menaik. Misalkan sumber daya printer memiliki nomor 1 sedangkan CD-ROM memiliki nomor 3. Proses boleh melakukan permintaan terhadap printer dan kemudian CD-ROM, namun tidak boleh sebaliknya.
Penghindaran Deadlock
Penghindaran terhadap deadlock adalah cara penanganan yang selanjutnya. Inti dari penghindaran adalah jangan sembarangan membolehkan proses untuk memulai atau meminta lagi.
Maksudnya jangan pernah memulai suatu proses apabila nantinya akan menuju ke keadaan deadlock. Kedua, jangan memberikan kesempatan pada proses untuk meminta sumber daya tambahan jika penambahan tersebut akan membawa sistem pada keadaan deadlock.
Tidak mungkin akan terjadi deadlock apabila sebelum terjadi sudah kita hindari. Langkah lain untuk menghindari adalah dengan cara tiap proses memberitahu jumlah kebutuhan maksimum untuk setiap tipe sumber daya yang ada.
Selanjutnya terdapat deadlock-avoidance algorithm yang secara rutin memeriksa state dari sistem untuk memastikan tidak adanya kondisi circular wait serta sistem berada pada kondisi safe state. Safe state adalah suatu kondisi dimana semua proses mendapatkan sumber daya yang dimintanya dengan sumber daya yang tersedia.
Apabila tidak bisa langsung, ia harus menunggu selama waktu tertentu, kemudian mendapatkan sumber daya yang diinginkan, melakukan eksekusi, dan terakhir melepas kembali sumber daya tersebut.
Terdapat dua jenis algoritma penghindaran yaitu resource-allocation graph untuk single instances resources serta banker's algorithm untuk multiple instances resources.
Dalam banker's algorithm, terdapat beberapa struktur data yang digunakan, yaitu:
Available . Jumlah sumber daya yang tersedia.
Max . Jumlah sumber daya maksimum yang diminta oleh tiap proses.
Allocation . Jumlah sumber daya yang sedang dimiliki oleh tiap proses.
Need . Sisa sumber daya yang masih dibutuhkan oleh proses, didapat dari max- allocation.
Kemudian terdapat safety algorithm untuk menentukan apakah sistem berada pada safe state atau tidak.
Pendeteksian Deadlock
Pada dasarnya kejadian deadlock sangatlah jarang terjadi. Apabila kondisi tersebut terjadi, masing-masing sistem operasi mempunyai mekanisme penanganan yang berbeda. Ada sistem operasi yang ketika terdapat kondisi deadlock dapat langsung mendeteksinya.
Namun, ada pula sistem operasi yang bahkan tidak menyadari kalau dirinya sedang mengalami deadlock. Untuk sistem operasi yang dapat mendeteksi deadlock, digunakan algoritma pendeteksi. Secara lebih mendalam, pendeteksian kondisi deadlock adalah cara penanganan deadlock yang dilaksanakan apabila sistem telah berada pada kondisi deadlock. Sistem akan mendeteksi proses mana saja yang terlibat dalam kondisi deadlock. Setelah diketahui proses mana saja yang mengalami kondisi deadlock, maka diadakan mekanisme untuk memulihkan sistem dan menjadikan sistem berjalan kembali dengan normal. Mekanisme pendeteksian adalah dengan menggunakan detection algorithm yang akan memberitahu sistem mengenai proses mana saja yang terkena deadlock. Setelah diketahui proses mana saja yang terlibat dalam deadlock, selanjutnya adalah dengan menjalankan mekanisme pemulihan sistem yang akan dibahas pada bagian selanjutnya. Berikut ini adalah algoritma pendeteksian deadlock.
Pemulihan Deadlock
Pemulihan kondisi sistem terkait dengan pendeteksian terhadap deadlock. Apabila menurut algoritma pendeteksian deadlock sistem berada pada keadaan deadlock, maka harus segera dilakukan mekanisme pemulihan sistem. Berbahaya apabila sistem tidak segera dipulihkan dari deadlock, karena sistem dapat mengalami penurunan performance dan akhirnya terhenti. Cara-cara yang ditempuh untuk memulihkan sistem dari deadlock adalah sebagai berikut:
1.Terminasi proses. Pemulihan sistem dapat dilakukan dengan cara melalukan terminasi terhadap semua proses yang terlibat dalam deadlock. Dapat pula dilakukan terminasi terhadap proses yang terlibat dalam deadlock secara satu per satu sampai 'lingkaran setan' atau circular wait hilang.
Seperti diketahui bahwa circular wait adalah salah satu karakteristik terjadinya deadlock dan merupakan kesatuan dengan tiga karakteristik yang lain. Untuk itu, dengan menghilangkan kondisi circular wait dapat memulihkan sistem dari deadlock.Dalam melakukan terminasi terhadap proses yang deadlock, terdapat beberapa faktor yang menentukan proses mana yang akan diterminasi. Faktor pertama adalah prioritas dari proses-proses yang terlibat deadlock.
Faktor kedua adalah berapa lama waktu yang dibutuhkan untuk eksekusi dan waktu proses menunggu sumber daya. Faktor ketiga adalah berapa banyak sumber daya yang telah dihabiskan dan yang masih dibutuhkan. Terakhir, faktor utilitas dari proses pun menjadi pertimbangan sistem untuk melakukan terminasi pada suatu proses.
2.Rollback and Restart .
Dalam memulihkan keadaan sistem yang deadlock, dapat dilakukan dengan cara sistem melakukan preempt terhadap sebuah proses dan kembali ke state yang aman.
Pada keadaan safe state tersebut, proses masih berjalan dengan normal, sehingga sistem dapat memulai proses dari posisi aman tersebut.
Untuk menentukan pada saat apa proses akan rollback, tentunya ada faktor yang menentukan. Diusahakan untuk meminimalisasi kerugian yang timbul akibat memilih suatu proses menjadi korban. Harus pula dihindari keadaan dimana proses yang sama selalu menjadi korban, sehingga proses tersebut tidak akan pernah sukses menjalankan eksekusi.
ALGORITMA OSTRICH
algoritma ini dapat digunakan dalam menangani deadlock pemograman concurrent jika deadlock di yakini sangat jarang terjdi. Dan Algoritma Ostrich adalah strategi untuk mengabaikan masalah yg mungkin terjadi atas dasar bahwa masalah itu mungkin jarang terjadi "menempelkan kepala di pasir dan berpura-pura bahwa tidak ada masalah" dengan mengasumsikan bahwa lebih efektif untuk memungkinkan masalah itu terjadi di bandingkan upaya pencegahan
ALGORITMA SAFETY
~ Let Work and Finish be vectors of length m and n,respectively. Initialize: Work := Available // resource yang free Finish [i] = false for i = 1,3, …, n.
~ Work := Work + Allocationi // proses dapat selesai Finish[i] := true go to step 2.
~ If Finish [i] = true for all i, then the system is in a safe state.
~ Terdapat 3 proses: n = 3, 1 resource: m = 1
~ Jumlah resource m = 12.
~ Find and i such that both: // penjadwalan alokasi resource (a) Finish [i] = false // asume, proses belum complete (b) Needi £ Work // proses dapat selesai, ke step 3 If no such i exists, go to step 4.
ALGORITMA BANKER
Algoritma banker diemukakan oleh edsger W.Djikstra dan dy merupakan salah satumetode untuk menghindari deadlock .Algoritma ini disebut algoritma banker karena memodelkan sebuah bank dikota kecil yang berurusan dengan sekumpulan nasabah yang memohon kredit .Analogi dan algoritma banker dengan sistem operasi adalah nasabah merupakan proses-proses.
Karakteristik Deadlock
Karakteristik-karakteristik ini harus dipenuhi keempatnya untuk terjadi deadlock.
Namun, perlu diperhatikan bahwa hubungan kausatif antara empat karakteristik ini dengan terjadinya deadlock adalah implikasi.
Deadlock mungkin terjadi apabila keempat karakteristik terpenuhi.
Empat kondisi tersebut adalah:
1.Mutual Exclusion .
Kondisi yang pertama adalah mutual exclusion yaitu proses memiliki hak milik pribadi terhadap sumber daya yang sedang digunakannya. Jadi, hanya ada satu proses yang menggunakan suatu sumber daya. Proses lain yang juga ingin menggunakannya harus menunggu hingga sumber daya tersebut dilepaskan oleh proses yang telah selesai menggunakannya. Suatu proses hanya dapat menggunakan secara langsung sumber daya yang tersedia secara bebas.
2.Hold and Wait .
Kondisi yang kedua adalah hold and wait yaitu beberapa proses saling menunggu sambil menahan sumber daya yang dimilikinya. Suatu proses yang memiliki minimal satu buah sumber daya melakukan request lagi terhadap sumber daya. Akan tetapi, sumber daya yang dimintanya sedang dimiliki oleh proses yang lain. Pada saat yang sama, kemungkinan adanya proses lain yang juga mengalami hal serupa dengan proses pertama cukup besar terjadi. Akibatnya, proses-proses tersebut hanya bisa saling menunggu sampai sumber daya yang dimintanya dilepaskan. Sambil menunggu, sumber daya yang telah dimilikinya pun tidak akan dilepas. Semua proses itu pada akhirnya saling menunggu dan menahan sumber daya miliknya.
3.No Preemption . Kondisi yang selanjutnya adalah no preemption yaitu sebuah sumber daya hanya dapat dilepaskan oleh proses yang memilikinya secara sukarela setelah ia selesai menggunakannya. Proses yang menginginkan sumber daya tersebut harus menunggu sampai sumber daya tersedia, tanpa bisa merebutnya dari proses yang memilikinya.
4.Circular Wait .
Kondisi yang terakhir adalah circular wait yaitu kondisi membentuk siklus yang berisi proses-proses yang saling membutuhkan. Proses pertama membutuhkan sumber daya yang dimiliki proses kedua, proses kedua membutuhkan sumber daya milik proses ketiga, dan seterusnya sampai proses ke n-1 yang membutuhkan sumber daya milik proses ke n. Terakhir, proses ke n membutuhkan sumber daya milik proses yang pertama. Yang terjadi adalah proses-proses tersebut akan selamanya menunggu.
Penanganan Deadlock
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. Kebanyakan sistem operasi yang ada mengadaptasi cara ini untuk menangani keadaan deadlock. Cara penanganan dengan mengabaikan deadlock banyak dipilih karena kasus deadlock tersebut jarang terjadi dan relatif rumit dan kompleks untuk diselesaikan. Sehingga biasanya hanya diabaikan oleh sistem untuk kemudian diselesaikan masalahnya oleh user dengan cara melakukan terminasi dengan Ctrl+Alt+Del atau melakukan restart terhadap komputer.
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. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
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. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
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. Akan dibahas secara lebih mendalam pada bagian selanjutnya.
Pencegahan Deadlock
Pencegahan deadlock dapat dilakukan dengan cara mencegah salah satu dari empat karakteristik terjadinya deadlock. Berikut ini akan dibahas satu per satu cara pencegahan terhadap empat karakteristik tersebut.
1.Mutual Exclusion . Kondisi mutual exclusion pada sumber daya adalah sesuatu yang wajar terjadi, yaitu pada sumber daya yang tidak dapat dibagi (non-sharable). Sedangkan pada sumber daya yang bisa dibagi tidak ada istilah mutual exclusive. Jadi, pencegahan kondisi yang pertama ini sulit karena memang sifat dasar dari sumber daya yang tidak dapat dibagi.
2.Hold and Wait . Untuk kondisi yang kedua, sistem perlu memastikan bahwa setiap kali proses meminta sumber daya, ia tidak sedang memiliki sumber daya lain. Atau bisa dengan proses meminta dan mendapatkan sumber daya yang dimilikinya sebelum melakukan eksekusi, sehingga tidak perlu menunggu.
3.No Preemption . Pencegahan kondisi ini dengan cara membolehkan terjadinya preemption. Maksudnya bila ada proses yang sedang memiliki sumber daya dan ingin mendapatkan sumber daya tambahan, namun tidak bisa langsung dialokasikan, maka akan preempted. Sumber daya yang dimiliki proses tadi akan diberikan pada proses lain yang membutuhkan dan sedang menunggu. Proses akan mengulang kembali eksekusinya setelah mendapatkan semua sumber daya yang dibutuhkannya, termasuk sumber daya yang dimintanya terakhir.
4.Circular Wait . Kondisi 'lingkaran setan' ini dapat 'diputus' dengan jalan menentukan total kebutuhan terhadap semua tipe sumber daya yang ada. Selain itu, digunakan pula mekanisme enumerasi terhadap tipe-tipe sumber daya yang ada. Setiap proses yang akan meminta sumber daya harus meminta sumber daya dengan urutan yang menaik. Misalkan sumber daya printer memiliki nomor 1 sedangkan CD-ROM memiliki nomor 3. Proses boleh melakukan permintaan terhadap printer dan kemudian CD-ROM, namun tidak boleh sebaliknya.
Penghindaran Deadlock
Penghindaran terhadap deadlock adalah cara penanganan yang selanjutnya. Inti dari penghindaran adalah jangan sembarangan membolehkan proses untuk memulai atau meminta lagi.
Maksudnya jangan pernah memulai suatu proses apabila nantinya akan menuju ke keadaan deadlock. Kedua, jangan memberikan kesempatan pada proses untuk meminta sumber daya tambahan jika penambahan tersebut akan membawa sistem pada keadaan deadlock.
Tidak mungkin akan terjadi deadlock apabila sebelum terjadi sudah kita hindari. Langkah lain untuk menghindari adalah dengan cara tiap proses memberitahu jumlah kebutuhan maksimum untuk setiap tipe sumber daya yang ada.
Selanjutnya terdapat deadlock-avoidance algorithm yang secara rutin memeriksa state dari sistem untuk memastikan tidak adanya kondisi circular wait serta sistem berada pada kondisi safe state. Safe state adalah suatu kondisi dimana semua proses mendapatkan sumber daya yang dimintanya dengan sumber daya yang tersedia.
Apabila tidak bisa langsung, ia harus menunggu selama waktu tertentu, kemudian mendapatkan sumber daya yang diinginkan, melakukan eksekusi, dan terakhir melepas kembali sumber daya tersebut.
Terdapat dua jenis algoritma penghindaran yaitu resource-allocation graph untuk single instances resources serta banker's algorithm untuk multiple instances resources.
Dalam banker's algorithm, terdapat beberapa struktur data yang digunakan, yaitu:
Available . Jumlah sumber daya yang tersedia.
Max . Jumlah sumber daya maksimum yang diminta oleh tiap proses.
Allocation . Jumlah sumber daya yang sedang dimiliki oleh tiap proses.
Need . Sisa sumber daya yang masih dibutuhkan oleh proses, didapat dari max- allocation.
Kemudian terdapat safety algorithm untuk menentukan apakah sistem berada pada safe state atau tidak.
Pendeteksian Deadlock
Pada dasarnya kejadian deadlock sangatlah jarang terjadi. Apabila kondisi tersebut terjadi, masing-masing sistem operasi mempunyai mekanisme penanganan yang berbeda. Ada sistem operasi yang ketika terdapat kondisi deadlock dapat langsung mendeteksinya.
Namun, ada pula sistem operasi yang bahkan tidak menyadari kalau dirinya sedang mengalami deadlock. Untuk sistem operasi yang dapat mendeteksi deadlock, digunakan algoritma pendeteksi. Secara lebih mendalam, pendeteksian kondisi deadlock adalah cara penanganan deadlock yang dilaksanakan apabila sistem telah berada pada kondisi deadlock. Sistem akan mendeteksi proses mana saja yang terlibat dalam kondisi deadlock. Setelah diketahui proses mana saja yang mengalami kondisi deadlock, maka diadakan mekanisme untuk memulihkan sistem dan menjadikan sistem berjalan kembali dengan normal. Mekanisme pendeteksian adalah dengan menggunakan detection algorithm yang akan memberitahu sistem mengenai proses mana saja yang terkena deadlock. Setelah diketahui proses mana saja yang terlibat dalam deadlock, selanjutnya adalah dengan menjalankan mekanisme pemulihan sistem yang akan dibahas pada bagian selanjutnya. Berikut ini adalah algoritma pendeteksian deadlock.
Pemulihan Deadlock
Pemulihan kondisi sistem terkait dengan pendeteksian terhadap deadlock. Apabila menurut algoritma pendeteksian deadlock sistem berada pada keadaan deadlock, maka harus segera dilakukan mekanisme pemulihan sistem. Berbahaya apabila sistem tidak segera dipulihkan dari deadlock, karena sistem dapat mengalami penurunan performance dan akhirnya terhenti. Cara-cara yang ditempuh untuk memulihkan sistem dari deadlock adalah sebagai berikut:
1.Terminasi proses. Pemulihan sistem dapat dilakukan dengan cara melalukan terminasi terhadap semua proses yang terlibat dalam deadlock. Dapat pula dilakukan terminasi terhadap proses yang terlibat dalam deadlock secara satu per satu sampai 'lingkaran setan' atau circular wait hilang.
Seperti diketahui bahwa circular wait adalah salah satu karakteristik terjadinya deadlock dan merupakan kesatuan dengan tiga karakteristik yang lain. Untuk itu, dengan menghilangkan kondisi circular wait dapat memulihkan sistem dari deadlock.Dalam melakukan terminasi terhadap proses yang deadlock, terdapat beberapa faktor yang menentukan proses mana yang akan diterminasi. Faktor pertama adalah prioritas dari proses-proses yang terlibat deadlock.
Faktor kedua adalah berapa lama waktu yang dibutuhkan untuk eksekusi dan waktu proses menunggu sumber daya. Faktor ketiga adalah berapa banyak sumber daya yang telah dihabiskan dan yang masih dibutuhkan. Terakhir, faktor utilitas dari proses pun menjadi pertimbangan sistem untuk melakukan terminasi pada suatu proses.
2.Rollback and Restart .
Dalam memulihkan keadaan sistem yang deadlock, dapat dilakukan dengan cara sistem melakukan preempt terhadap sebuah proses dan kembali ke state yang aman.
Pada keadaan safe state tersebut, proses masih berjalan dengan normal, sehingga sistem dapat memulai proses dari posisi aman tersebut.
Untuk menentukan pada saat apa proses akan rollback, tentunya ada faktor yang menentukan. Diusahakan untuk meminimalisasi kerugian yang timbul akibat memilih suatu proses menjadi korban. Harus pula dihindari keadaan dimana proses yang sama selalu menjadi korban, sehingga proses tersebut tidak akan pernah sukses menjalankan eksekusi.
ALGORITMA OSTRICH
algoritma ini dapat digunakan dalam menangani deadlock pemograman concurrent jika deadlock di yakini sangat jarang terjdi. Dan Algoritma Ostrich adalah strategi untuk mengabaikan masalah yg mungkin terjadi atas dasar bahwa masalah itu mungkin jarang terjadi "menempelkan kepala di pasir dan berpura-pura bahwa tidak ada masalah" dengan mengasumsikan bahwa lebih efektif untuk memungkinkan masalah itu terjadi di bandingkan upaya pencegahan
ALGORITMA SAFETY
~ Let Work and Finish be vectors of length m and n,respectively. Initialize: Work := Available // resource yang free Finish [i] = false for i = 1,3, …, n.
~ Work := Work + Allocationi // proses dapat selesai Finish[i] := true go to step 2.
~ If Finish [i] = true for all i, then the system is in a safe state.
~ Terdapat 3 proses: n = 3, 1 resource: m = 1
~ Jumlah resource m = 12.
~ Find and i such that both: // penjadwalan alokasi resource (a) Finish [i] = false // asume, proses belum complete (b) Needi £ Work // proses dapat selesai, ke step 3 If no such i exists, go to step 4.
ALGORITMA BANKER
Algoritma banker diemukakan oleh edsger W.Djikstra dan dy merupakan salah satumetode untuk menghindari deadlock .Algoritma ini disebut algoritma banker karena memodelkan sebuah bank dikota kecil yang berurusan dengan sekumpulan nasabah yang memohon kredit .Analogi dan algoritma banker dengan sistem operasi adalah nasabah merupakan proses-proses.
- Secara umum algoritma banker dapat dibagi mejadi 4 struktur data
* Tersedia: jumlah sumber daya/dana yang tersedia
* Maksimum: jumlah sumber daya maksimum yang diminta oleh setiap proses
* Alokasi: jumlah sumber daya yang dibutuhkan oleh setiap proses
* Kebutuhan: sumber daya yang sedang dibutuhkan oleh setiap proses
Os Android
Mungkin teman2 sudah tidak asing lagi sama OS yg satu ini.
Ya Android begitu populer di jaman skarang saya akan review sekilas tentang......!!!!!!
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).– Wikipedia
Perkembangan yang pesat pada sistem android karena juga didukung oleh hampir keseluruhan vendor smartphone. hal ini karena sifatnya yang open source sehingga siapa saja bisa mengembangkan OS tersebut untuk diginakan di gadget mereka dan disesuaikan dengan kebutuhan dan pasar.
Seperti pada Distribusi Linux yang sering berkembang demikian juga dengan Android itu sendiri sejak awal dikembangkan 2009 sampai sekarang (2010) sudah memiliki 5 versi dan ini akan terus berkembang karena pasar yang semakin melirik OS ini dan mudahnya pengembangannya.
Namun seiring perkembangan jaman Android mulai merilis versi terbaru yaitu Android 4.0 Ice Cream Sandwich....
Sampai tulisan ini ditulis ICS merupakan versi Android yang paling anyar. Pertama kali dirilis pada 19 Oktober 2011. Smartphone yang pertama kali mengunakan OS Android ini adalah Samsung Galaxi Nexsus Secara teori semua perangkat seluler yang menggunakan versi Android sebelumnya, Gingerbread, dapat di-update ke Android Ice Cream Sandwich. Namun sayangnnya sampai saat ini kebanyak smartphone yang menggunakan Android ICS merupakan smartphone kelas high-end yang dijual dengan harga cukup mahal. Mungkin karena alasan inilah distribusi versi Android satu ini tidak lebih dari 8% sampai pertangahn tahun 2012 ini.Berikut diagram distribusi OS Android berdasarkan versi-nya.
Ya Android begitu populer di jaman skarang saya akan review sekilas tentang......!!!!!!
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).– Wikipedia
Perkembangan yang pesat pada sistem android karena juga didukung oleh hampir keseluruhan vendor smartphone. hal ini karena sifatnya yang open source sehingga siapa saja bisa mengembangkan OS tersebut untuk diginakan di gadget mereka dan disesuaikan dengan kebutuhan dan pasar.
Seperti pada Distribusi Linux yang sering berkembang demikian juga dengan Android itu sendiri sejak awal dikembangkan 2009 sampai sekarang (2010) sudah memiliki 5 versi dan ini akan terus berkembang karena pasar yang semakin melirik OS ini dan mudahnya pengembangannya.
Namun seiring perkembangan jaman Android mulai merilis versi terbaru yaitu Android 4.0 Ice Cream Sandwich....
Sampai tulisan ini ditulis ICS merupakan versi Android yang paling anyar. Pertama kali dirilis pada 19 Oktober 2011. Smartphone yang pertama kali mengunakan OS Android ini adalah Samsung Galaxi Nexsus Secara teori semua perangkat seluler yang menggunakan versi Android sebelumnya, Gingerbread, dapat di-update ke Android Ice Cream Sandwich. Namun sayangnnya sampai saat ini kebanyak smartphone yang menggunakan Android ICS merupakan smartphone kelas high-end yang dijual dengan harga cukup mahal. Mungkin karena alasan inilah distribusi versi Android satu ini tidak lebih dari 8% sampai pertangahn tahun 2012 ini.Berikut diagram distribusi OS Android berdasarkan versi-nya.
Langganan:
Postingan (Atom)