Modul C

Laporan Tugas Sistem Operasi

 

MODUL C

 

Disusun untuk memenuhi 

Tugas Sistem Operasi

 

Oleh:

 

 

M.Taris Rizki

2208107010047

 

 

 



 

 

 

JURUSAN INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM 

UNIVERSITAS SYIAH KUALA

DARUSSALAM, BANDA ACEH

2023



I. Pendahuluan 

   Praktikum ini bertujuan untuk memahami konsep "Static Synchronization" dalam pemrograman Java. Synchronization digunakan untuk mengontrol akses bersama terhadap sumber daya bersama oleh beberapa utas (threads), dan dalam konteks ini, fokus pada metode statis yang disinkronkan di dalam kelas. Tujuan praktikum ini adalah untuk memberikan pemahaman mendalam tentang penggunaan sinkronisasi statis dan kata kunci synchronized dalam Java.

Bahan Referensi

    Merujuk pada bahan praktikum di https://www.javatpoint.com/synchronization-in-java untuk pemahaman yang lebih mendalam.

II. Tujuan Praktikum

Praktikum ini bertujuan untuk memahami konsep "Static Synchronization" dalam pemrograman Java. Synchronization digunakan untuk mengontrol akses bersama terhadap sumber daya bersama oleh beberapa utas (threads), dan dalam konteks ini, fokus pada metode statis yang disinkronkan di dalam kelas. Tujuan praktikum ini adalah untuk memberikan pemahaman mendalam tentang penggunaan sinkronisasi statis dan kata kunci synchronized dalam Java.

III. Bahan Praktikum Program Modul A:

    1.TestSynchronization4.java  


    2.TestSynchronization5.java



IV. Hasil dan Modifikasi 

1. TestSynchronization4.java 


Output:

Dalam skrip ini, pendekatan statis digunakan untuk sinkronisasi di dalam kelas Table. Dalam contoh khusus ini, empat utas yang berbeda (t1, t2, t3, t4) digunakan untuk mencetak tabel perkalian dengan angka yang berbeda.

Hasil dari eksekusi program menunjukkan bahwa meskipun keempat utas berjalan secara bersamaan, penggunaan sinkronisasi statis pada metode printTable di kelas Table memastikan tidak terjadi interferensi di antara utas-utas tersebut. Output yang dihasilkan terstruktur dan sesuai dengan urutan yang diharapkan.

2. TestSynchronization5.java 


Output:



kode Java yang diatas mencontohkan penggunaan sinkronisasi dengan kata kunci synchronized. Kelas Table memiliki metode statis yang disinkronkan bernama printTable(), yang mencetak huruf dari 'A' hingga 'J' dengan jeda 400 milidetik antara setiap pencetakan. Sinkronisasi memastikan bahwa hanya satu utas yang dapat mengeksekusi metode ini pada satu waktu, mencegah konflik potensial. Kelas TestSynchronization5 membuat empat utas (t1, t2, t3, dan t4), masing-masing memanggil metode printTable(). Metode start() memulai eksekusi konkuren dari utas-utas tersebut. Secara keseluruhan, mekanisme sinkronisasi ini memastikan akses teratur dan terkendali ke sumber daya bersama, dalam hal ini, metode printTable(), di antara beberapa utas.


V. Kesimpulan 

Praktikum membahas "Static Synchronization" dalam Java, di mana kunci ditempatkan pada kelas untuk mengontrol akses bersama. Contoh program menunjukkan bahwa dengan sinkronisasi statis, utas-utas berjalan tanpa interferensi. Metode synchronized juga diterapkan untuk mengatur akses terkendali ke sumber daya bersama, memastikan eksekusi yang teratur. Kesimpulannya, pemahaman konsep ini krusial untuk menghindari masalah interferensi dalam pemrograman Java.


Komentar

Postingan populer dari blog ini

Modul B