Sistem Operasi Komputer. Pembahasan Deadlock

dokumen-dokumen yang mirip
Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Bab 7: Deadlock. Permasalahan Deadlock

SISTEM OPERASI. Deadlock.

Deadlock. Pada kasus ini juga bisa terjadi kelaparan, yaitu ada proses yang tidak terlayani

Masalah Deadlock. Contoh Persimpangan Jalan. Resource-Allocation Graph. Deadlock

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

Sinkronisasi & Deadlock AGUS PAMUJI. SISTEM OPERASI - Sinkronisasi & Deadlock

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

Deadlock Ch. 7. Deadlock. SISTIM OPERASI (Operating System) IKI Johny Moningka

1. DEADLOCK. Diagram Graf

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Konsep Deadlock. Kelompok 54.7 Ferry Sulistiyanto ( ) Ibnu Mubarok ( )

November Sistem operasi #0

SISTEM OPERASI DEADLOCK

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

Sinkronisasi dan Deadlock Sistem Operasi

Concurrency C oncurrency 2 : Deadlock dan Starvation (P ( ertemuan ke ert -15) November 2014

BAB VIII DEADLOCK ...

Sistem Operasi. Deadlock

Komunikasi & Sinkronisasi Proses

Fairuz El Said Sekedar Berbagi Sistem Operasi (SO) Konkurensi KONGKURENSI

DEADLOCK PADA WINDOWS DAN LINUX

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

MAKALAH DEADLOCK. DIAJUKAN UNTUK MEMENUHI TUGAS MATA KULIAH Sistem Operasi Dosen Penampu Bapak Adi Sucipto, Ir., M.Kom. oleh :

Deadlock. Gambaran Umum Deadlock

DEADLOCK. Haryono Setiadi, ST, M.Eng

Pertemuan #3: Sinkronisasi dan Deadlock

Pertemuan 4 KONKURENSI

Menghindari Deadlock Pada Sistem Operasi

Operating System: An O verview. Ch. 5: Deadlock

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Bab 24. Diagram Graf Pendahuluan

Q U I Z 3A - SOLUSI Mngt Memory + Konkurensi 2. By: Endro Ariyanto (END)

Process Control Block (PCB) Masing-masing proses Direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB),

B. Jawablah dengan ringkas dan lengkap. (Jawaban tidak lebih dari 10 kalimat) (Nilai 40) Solusi: kata kunci dalam huruf miring.

Deadlock Kasus Pada Sistem Operasi

BAB 2 LANDASAN TEORI

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

Q U I Z 3B - SOLUSI Mngt Memory + Konkurensi 2. By: Endro Ariyanto (END)

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

Pertemuan V Penjadwalan Proses

DEADLOCK = kompi loe nge-hang tuh..

Oleh : Arief Ristanto ( ) Edwin Kurniawan ( )

7. Pengaturan Proses

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

Koordinasi Antar Proses

Kelas: Nilai (Diisi Dosen):... IF

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI

Sistem Operasi. Kongkurensi

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Optimasi Algoritma Banker dengan Algoritma Greedy

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

Apa yang akan dipelajari?

KOMPONEN DASAR SISTEM OPERASI, DEADLOCK, DAN IMPLEMENTASI GRAF UNTUK MENDETEKSI DEADLOCK PADA SISTEM OPERASI

Sistem Operasi. Konkurensi

Aplikasi Graf dalam Pendeteksian Deadlock

DEADLOCK & RECOVERY SYSTEM

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Dosen pengampu : Mohamad Dani Sifat : Tutup buku dan peralatan elektronik

BAB 2 LANDASAN TEORI. Secara umum, sebuah sistem komputer terbagi atas hardware, sistem operasi, program

1/3/2013. Race Condition adalah situasi di mana beberapa proses mengakses

DEADLOCK & ALGORITMA OSTRICH

PRAKTIKUM SISTEM OPERASI LAPORAN RESMI MODUL 2 KONSEP DASAR SISTEM OPERASI (2)

SISTEM OPERASI ( DITINJAU DARI SEGI PROSES) Seperti diketahui bahwa sistem operasi, terdiri dari sekumpulan

BAB II TINJAUAN PUSTAKA

Konkurensi. Faikul Umam

Pengantar Teknologi Sistem Informasi 1b. Concurency

Soal-jawab Quiz 2. Oleh: Endro Ariyanto (END) Oktober 2008

Dimana thread digunakan?

Interaksi Antar Proses

KONGRUENSI. Pengertian. Mutual Exclusion. Masalah yang harus diselesaikan dalam kongruensi. (lebih. dapat saling berinteraksi.

Kongkurensi LPOHLVSFOTJ!

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

SISTEM OPERASI. Sri Kusumadewi

Penguncian pada Concurrency Control

PEDOMAN WAWANCARA UNTUK PENGAJAR

Rencana Perkuliahan Sistem Operasi CSG3E3 2015/2016

Deskripsi Penjadwalan Proses

Sistem Operasi. Proses dan Thread

PROSES DAN THREADS DALAM SISTEM OPERASI

Penjadwalan Process. Konsep Dasar Penjadwalan Proses. Preemptive & Non-Preemtive Scheduling. Dispatcher.

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

SISTEM OPERASI PENJADWALAN PROSES

Jawaban Soal UTS Instalasi dan Penggunaan Sistem Operasi Semester Genap 2014/2015 D3 Teknik Informatika, Fakultas Ilmu Terapan, Universitas Telkom

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

PROSES & THREADS 2 AGUS PAMUJI. SISTEM OPERASI - Proses & Threads

GARIS GARIS BESAR PROGRAM PENGAJARAN/GBPP (Rencana Kegiatan Belajar Mengajar)

SISTEM PEMODELAN SIMULASI PERMOHONAN KREDIT MENGGUNAKAN ALGORITMA BANKER

Sistem Operasi Pertemuan 2 Sistem Operasi. (Pengenalan) H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Proses Burst Time Prioritas P P1 7 1 P2 9 3 P P4 19 2

Bab 13. Konsep Penjadwalan

SINKRONISASI. Sistem terdistribusi week 5

Sistem Operasi PENGATURAN PROSES

Struktur Sistem Operasi

Transkripsi:

Sistem Operasi Komputer Pertemuan VII Deadlock Pembahasan Deadlock Model sistem Karakteristik deadlock Metode penanganan deadlock Deadlock prevention (mencegah) Deadlock avoidance (menghindari) Deadlock detection (deteksi) Penyembuhan dari deadlock (deadlock recovery) Solusi kombinasi dalam penanganan deadlock Universitas Kristen Maranatha -- IT Department 1

Contoh Nyata Sehari-hari Solusi: Traffic light, yang mengijinkan arus ke satu arah atau ke arah lainnya dalam suatu waktu tertentu Semua mobil hanya boleh belok kiri / kanan 1. Hanya satu mobil boleh menempati setiap persimpangan pada suatu waktu (mutual exclusion) 2. Mobil boleh diam di persimpangan ketika menunggu untuk sampai ke persimpangan berikutnya (hold and wait) 3. Mobil tidak dapat dipindahkan dari tempatnya pada arus lalulintas, hanya dapat jalan ke depan (no preemption) 4. Kumpulan mobil dalam situasi deadlock termasuk juga mobil yang ada di tengah persimpangan (circular waiting) Masalah deadlock Sekumpulan proses yang diblok, dimana setiap proses memegang satu resource dan menunggu resource lain dari proses dalam kumpulan proses yang sedang diblok tersebut, biasanya dari prosesproses atau resource yang non-preemptive Contoh: sistem memiliki 2 tape drive P1 dan P2 memegang satu tape P1 memerlukan tape yang dipegang P2 P2 memerlukan tape yang dipegang P1 Contoh: Semaphore A dan B, inisialisasi 1 P 0 P 1 wait (A); wait(b) wait (B); wait(a) signal(a) signal(b) signal(b) signal(a) Universitas Kristen Maranatha -- IT Department 2

Model Sistem Resource R1, R2,, Rn Fisik: CPU cycles, memory space, perangkat I/O Logikal: files, semaphores, monitor Setiap resource Ri, terdiri atas sejumlah Wi perangkat Setiap proses memakai suatu resource, dengan urutan penggunaan Request (system call) Use Release (system call) Karakteristik deadlock Kondisi-kondisi penimbul deadlock (harus terjadi simultan keempatnya): Mutual exclusion: jika suatu proses menggunakan suatu resource, tidak ada proses lain yang boleh menggunakan resourse tersebut Hold and wait: pada saat suatu proses mengakses suatu resource, proses tersebut dapat meminta ijin untuk mengakses resource lain No preemption: jika suatu proses meminta ijin untuk mengakses resource, sementara resource tidak tersedia, maka permintaan tidak dapat dibatalkan Circular wait: jika proses Pi sedang mengakses resouce Ri, dan meminta ijin untuk mengakses resource Rj, dan pada saat bersamaan proses Pj sedang mengakses Rj dan minta ijin untuk mengakses resource Ri Universitas Kristen Maranatha -- IT Department 3

Resource Allocation Graph (1) Sekumpulan simpul V (vertex) dan arah E (edge) V dikelompokkan menjadi P = {P1,, Pn} R = {R1,, Rm} Request edge arah dari Pi Rj Assignment edge arah dari Rj Pi Resource Allocation Graph (2) Process Resource Type dengan 4 instances P i meminta R j P i R j P i memegang satu instance dari R j P i R j Universitas Kristen Maranatha -- IT Department 4

Contoh Resource Alocation Graph Siklus deadlock mungkin terjadi. Jika hanya satu instance per resource, maka pasti terjadi deadlock Jika ada lebih dari satu instance, terjadi deadlock jika tidak ada proses yang dapat melepaskan resource untuk dialokasikan ke proses lainnya Terjadi deadlock P2 P3 P1 P2 RAG dengan siklus tanpa deadlock Siklus P1 R1 P3 R2 P1 Siklus dapat diputuskan, dengan: membebaskan satu resource R2 dari P4, dan dialokasikan ke P3 Adanya siklus merupakan syarat perlu namun bukan merupakan syarat cukup terjadinya deadlock Universitas Kristen Maranatha -- IT Department 5

Metode penanganan deadlock Menggunakan satu protokol yang meyakinkan bahwa sistem tidak akan pernah mengalami deadlock deadlock prevention atau avoidance Mengijinkan sistem mengalami deadlock, namun kemudian harus segera dapat memperbaikinya deadlock detection and recovery Mengabaikan semua permasalahan bersamasama, dan menganggap bahwa deadlock tidak akan pernah terjadi, digunakan dalam berbagai SOK, termasuk Unix dan Windows deadlock ingoring and recovery Deadlock prevention (1) Kondisi untuk mengatasi deadlock dengan cara meyakinkan bahwa paling sedikit satu dari kondisi deadlock tidak terjadi 1. Mutual exclusion (buat resource shareable) Non-shareable mutex diperlukan, co: printer Shareable tidak perlu mutex, co: read-only file 2. Hold and Wait (melepas resource pada saat request) Proses harus melepas resource yang dibawanya sebelum meminta resource lainnya Low resource utilization: banyak resource dialokasikan namun tidak digunakan dalam waktu yang lama Mungkin terjadi starvation: permintaan tidak dilayani untuk resource yang popular karena selalu dialokasikan untuk proses lain Universitas Kristen Maranatha -- IT Department 6

Deadlock prevention (2) 3. No preemption (melepas resource pada saat waiting) Pembebasan semua resource yang dipegang suatu proses apabila proses ingin mengakses suatu resource lain, dan tidak dapat langsung dipenuhi Resource dengan preemption ditambahkan pada proses yang ingin mengakses resource lain tersebut Proses dimulai kembali apabila sudah mendapatkan kembali semua resource yang dilepaskan termasuk resource yang ingin diakses 4. Circular wait (request berurutan) Memberi nomor pada setiap resource yang ada Setiap proses boleh mengakses resource secara berurutan dari nomor rendah ke tinggi Contoh: resource R1,, R5. Jika P0 sedang mengakses R2, maka P0 hanya boleh request R3,, R5. Jika P1 sedang mengakses R3, maka P1 hanya boleh request R4 atau R5 Deadlock Avoidance Memberikan informasi tambahan yang berhubungan dengan resource-resource yang akan diminta Meyakinkan bahwa tidak akan terjadi circular wait Status resource informasi: # resource yang tersedia # alokasi resource # maksimum resource yang dibutuhkan proses Universitas Kristen Maranatha -- IT Department 7

Deadlock avoidance Safe state Status safe sistem dapat mengalokasikan resource untuk tiap proses (sampai # maks.) dalam urutan yang tepat tanpa terjadinya deadlock Safe tidak ada deadlock Unsafe mungkin terjadi deadlock Avoidance meyakinkan bahwa sistem tidak pernah memasuki keadaan status unsafe Contoh: safe state 12 tape drive dan 3 proses P0, P1 dan P3 Pada suatu saat ti sisa 3 tape drive (available) Urutan status safe pada saat ti tersebut: < P1, P0, P2 > Safe Proses Max Need Current Need P0 10 5 P1 4 2 P2 9 2 # max need for all Pj s currently available resources + current need by all Pj s Universitas Kristen Maranatha -- IT Department 8

Algoritma RAG Request edge: Pi Rj Assignment edge: Rj Pi Claim edge: Pi Rj, proses Pi boleh meminta resource Rj suatu saat di masa depan Pada saat dibutuhkan claim edge, dikonversikan menjadi request edge Jika suatu resource dilepas, maka assigment edge dikonversikan menjadi claim edge Claim Pi Rj boleh ditambahkan pada graph jika semua edge yang berhubungan dengan Pi berupa claim edge Contoh Algoritma RAG Deadlock avoidance Kondisi unsafe (siklus) Universitas Kristen Maranatha -- IT Department 9

Algoritma Banker (1) Misalkan ada n proses dalam sistem dan m tipe resources, terdapat data struktur sebagai berikut: Available (# resource yang tersedia pada suatu saat) suatu vector dengan panjang m Max matriks n x m yang mendefinisikan maksimum permintaan (request) untuk tiap-tiap proses Allocation matriks n x m yang mendefinisikan jumlah resource untuk tiap-tiap tipe yang sedang dialokasikan untuk tiap proses Need matriks n x m yang menunjukkan sisa resource yang dibutuhkan untuk tiap proses Need [i,j] = Max[i,j] Allocation [i,j] Algoritma Safety (Banker) 1. Work dan Finish vektor dengan panjang masingmasing m (#tipe resource) dan n (#proses), inisialisasi: Work := Available Finish [i] := false, untuk i = 1,2,..,n 2. Cari i sedemikian rupa, sehingga: Finish[i] := false Need(i) Work 3. Work : = Work + Allocation(i) Finish[i] := true Go to step 2 4. Jika Finish[i] := true untuk semua i, maka sistem dalam keadaan safe Universitas Kristen Maranatha -- IT Department 10

Algoritma Resource-Request Misalkan Request(i) adalah vektor request untuk proses Pi. Jika Request i [j] = k, maka proses Pi ingin agar k ada segera untuk tipe Rj. Jika resource diminta oleh Pj, maka akan terjadi 1. Jika Request(i) Need(i), goto step 2. Jika tidak maka terjadi kesalahan, proses berada di luar klaim maksimum 2. Jika Request(i) Available, goto step 3. Jika tidak Pi harus menunggu karena resource tidak tersedia 3. Modifikasi data struktur: Available = Available Request(i) Allocation(i) = Allocation(i) + Request(i) Need(i) = Need(i) Request(i) Contoh (1) 5 proses P 0.. P 4 ; 3 resource types A (10 instances), B (5 instances), dan C (7 instances). Keadaan pada T 0 : Allocation Max Need Available A B C A B C A B C A B C P 0 0 1 0 7 5 3 7 4 3 3 3 2 (free) P 1 2 0 0 3 2 2 1 2 2 P 2 3 0 2 9 0 2 6 0 0 P 3 2 1 1 2 2 2 0 1 1 P 4 0 0 2 4 3 3 4 3 1 Universitas Kristen Maranatha -- IT Department 11

Contoh (2) Penambahan Request_1 = (1,0,2) pada T1 Isi dari matriks Need (lihat contoh sebelumnya) Need A B C P 0 7 4 3 P 1 1 2 2 P 2 6 0 0 P 3 0 1 1 P 4 4 3 1 Langkah-langkah: Algoritma Resource-Request: Request_1 Need_1; (1,0,2) (1,2,2) Request_1 Available; (1,0,2) (3,3,2) Update data struktur: Available = (old)available Request_1 = (2,3,0) Allocation_1 = (old)allocation_1 + Request_1 = (3,0,2) Need_1 = (old)need_1 Request_1 = (0,2,0) Aplikasikan algoritma Banker Contoh (3) Keadaan baru dengan adanya Request_1: Allocation Need Available A B C A B C A B C P 0 0 1 0 7 4 3 2 3 0 P 1 3 0 2 0 2 0 P 2 3 0 2 6 0 0 P 3 2 1 1 0 1 1 P 4 0 0 2 4 3 1 Dengan algoritma safety menunjukkan bahwa urutan <P 1, P 3, P 4, P 0, P 2 > memenuhi kondisi safe. Bagaimana dengan request (3, 3, 0) untuk P4 pada T2? Bagaimana dengan request (0, 2, 0) untuk P0 pada T2? Universitas Kristen Maranatha -- IT Department 12

Request_4 = (3,3,0) Contoh (4) Request_4 Need_4??? (3,3,0) (4,3,1) Request_4 Available??? (3,3,0) (2,3,0) Tidak, maka sistem tidak dapat memenuhi permintaan (resource tidak tersedia) Request_0 = (0,2,0) Request_0 Need_0??? (0,2,0) (7,4,0) Request_0 Available??? (0,2,0) (2,3,0) Update situasi (data struktur) Aplikasikan algoritma safety Contoh (5) Request_0 = (0,2,0) Available = (2,3,0) (0,2,0) = (2,1,0) Allocation Need Max Available A B C A B C A B C A B C P 0 0 3 0 7 2 3 7 5 3 2 1 0 P 1 3 0 2 0 2 0 3 2 2 P 2 3 0 1 6 0 0 9 0 2 P 3 2 1 1 0 1 1 2 2 2 P 4 0 0 2 4 3 1 4 3 3 Algoritma safety <P1, P3,,???? > sistem unsafe Setelah P1, available = (5,1,2) Setelah P3, available = (7,2,3) Universitas Kristen Maranatha -- IT Department 13

Kelemahan Algoritma Banker Tidak semua proses mengetahui max resource Jumlah proses tidak tetap Beberapa resource terkadang bisa diambil dari sistem sewaktu-waktu, sehingga meskipun kelihatannya ada, namun kenyataannya tidak tersedia Menghendaki memberikan semua permintaan hingga waktu yang terbatas Proses seharusnya berjalan terpisah, sehingga urutan eksekusi tidak dibatasi oleh kebutuhan sinkronisasi proses Menghendaki client-server mengembalikan resource setelah batas tertentu Deadlock Detection Algoritma deteksi: deadlock terjadi jika suatu permintaan tidak dapat ditangani segera Single instance: jika resource allocation graph bersiklus Multiple instance: Request_i Available Recovery: Menggagalkan semua proses yang deadlock Mem-backup semua proses yang deadlock dan me-restart semua proses tersebut Menggagalkan semua proses yang deadlock secara berturutturut hingga tidak ada deadlock Menggagalkan pengalokasian resource secara berturut-turut hingga tidak ada deadlock Universitas Kristen Maranatha -- IT Department 14

Kriteria penyingkiran proses Memiliki waktu proses (yang telah berjalan) kecil Jumlah hasil keluaran sedikit Mempunyai estimasi sisa waktu eksekusi besar Jumlah total sumberdaya terkecil yang telah dialokasikan Memiliki prioritas terkecil Deadlock Recovery Ketika deadlock terdeteksi, maka ada beberapa alternatif pemecahan (recovery) oleh sebuah sistem komputer Process termination Resource preemption Universitas Kristen Maranatha -- IT Department 15

Process termination Hentikan semua proses yang menyebabkan deadlock Hentikan proses yang bermasalah satu per satu, dengan bantuan algoritma deadlock detection Urutan penghentian proses (minimum cost): Prioritas proses Berapa lama proses sudah berlangsung, dan masih berapa lama lagi Penggunaan resource oleh proses Resource yang dibutuhkan dalam pelaksanaan proses Berapa banyak proses yang harus dihentikan Apakah proses interaktif atau batch Resource preemption Memilih resource dan proses yang akan dipreemptive-kan Rollback kembali ke suatu status safe, restart proses dari status tersebut Starvation bagaimana meyakinkan bahwa tidak hanya beberapa resource atau proses yang akan di-preemptive-kan Universitas Kristen Maranatha -- IT Department 16

Kombinasi penanganan deadlock Kombinasi tiga pemecahan dasar Prevention (memutuskan salah satu syarat deadlock) Avoidance (informasi tambahan untuk safety algortihm) Detection (graph alokasi) Untuk setiap resource dalam sistem, pilih pemecahan mana yang optimal (???) Membagi resource ke dalam tingkatan Menggunakan teknik yang cocok untuk menangani deadlock dalam setiap tingkatan resource tersebut Latihan soal (1) 1. Sebutkan faktor-faktor yang dapat menimbulkan deadlock! 2. Dengan menghindari adanya mutual exclusion apakah menjamin bahwa deadlock tidak akan terjadi? Jelaskan! 3. Kapan algoritma Resource Allocation Graph dapat digunakan untuk menunjukkan adanya deadlock? 4. Apakah dengan algoritma Banker dapat menjamin bahwa deadlock dapat dihindari? Jelaskan! Universitas Kristen Maranatha -- IT Department 17

Latihan soal (2) 5. Suatu sistem memiliki 2 resource, yaitu: A ( instances = 6 buah) dan B (instances = 11 buah). Ada 4 proses dalam sistem (P0,, P3) dengan pengalokasian dan maks resource yang diperlukan, adalah: Alloc Maks Proses A B A B P0 2 1 5 3 P1 1 1 6 4 P2 0 3 4 4 P3 1 2 3 6 Buatlah matriks Need! Tentukan vektor Available! Apakah sistem dalam status safe atau unsafe? Tunjukkan! Gunakan algoritma safety Banker! Jika ada tambahan Request_2 (1,0). Buatlah matriks Allocation dan Need serta vector Available yang baru. Apakah sistem dalam keadaan safe? Berikan alasannya! Universitas Kristen Maranatha -- IT Department 18