Sistem Terdistribusi (Sister)

Sistem Terdistribusi, Semester Gasal 2015/2016

Jadwal Kuliah: Jum’at, 13.00 s.d selesai, Lab. TIA
Web site kuliah: http://husni.trunojoyo.ac.id

Textbook:

– Distributed Systems: Principles and Paradigms (2nd Edition), Andrew S. Tanenbaum and Maarten Van Steen.

Prasyarat:

– Sistem Operasi
– Jaringan Komputer

Tujuan Perkuliahan:

Isu hardware dan software dalam sistem terdistribusi modern. Topik dapat mencakup arsitektur terdistribusi, penamaan, sinkronisasi, konsistensi dan replikasi, toleransi kesalahan, keamanan, dan sistem berkas terdistribusi. Contoh dari sistem terdistribusi populer saat ini seperti sistem peer-to-peer (P2P) akan didiskusikan.

Outcome yang diharapkan:

Dari kelas ini mahasiswa akan mendapatkan pemahaman yang cukup mengenai sistem terdistribusi, dapat menjelaskan prinsip-prinsip yang mendasari fungsi sistem terdistribusi serta bagaimana prinsip-prinsip ini diterapkan dalam sistem terdistribusi serta apa masalah dan tantangannya. Mahasiswa akan memahami dan memperkirakan dampak dari pilihan desain dan fitur sistem berbada pada sistem terdistribusi.

Jadwal Perkuliahan:

– Pertemuan ke-1: Pengantar Perkuliahan, Sistem Terdistribusi dan Trend saat ini
– Pertemuan ke-2: Mengenal Konsep Sistem Terdistribusi
– Pertemuan ke-3: Arsitektur
– Pertemuan ke-4: Penanganan Proses
– Pertemuan ke-5: Komunikasi
– Pertemuan ke-6: Pemrograman Concurrent (Multithread) dengan Java

– Pertemuan ke-7: Presentasi Proyek tahap I: Web Crawler

=================================================================
UJIAN TENGAH SEMESTER (UTS)

File PDF dari soal UTS Sistem Terdistribusi
=================================================================

– Pertemuan ke-8: Pemrograman Jaringan dengan Java: Clients
– Pertemuan ke-9: Pemrograman Jaringan dengan Java: Servers

– Pertemuan ke-10: Infrastruktur Komputasi Berkinerja Tinggi (Mengenal HPC)
Topik yang direncanakan (awalnya): Penamaan (Praktek Mandiri: Membangun DNS Server di Linux).

– Pertemuan ke-11: Mengenal Pemrograman Paralel (OpenMP: Multi-Processors, MPI: Message Passing Interface dan CUDA)
Topik yang direncanakan (awalnya): Sinkronisasi (Praktek Mandiri: GlusterFS File Syncronization)

Karena beberapa hal, jumlah pertemuan untuk matakuliah ini, pada semester Gasal ini, hanya 12 pertemuan (termasuk prensentasi proyek). Beberapa topik yang direncanakan juga tidak dapat didiskusikan, namun pengantarnya telah disampaikan secara tidak langsung pada pembahasan topik-topik terdahulu.

– Pertemuan ke-12: Konsistensi dan Replikasi (Praktek Mandiri: Multi Master Database Replication di MySQL atau MariaDB)
– Pertemuan ke-13: Toleransi Kesalahan (Praktek Mandiri: Load Balancing dengan HAProxy, Virtualisasi dengan Docker).
– Pertemuan ke-14: Presentasi Proyek Tahap II: Web Crawler Terdistribusi.

============== UJIAN AKHIR SEMESTER (UAS) ==================

Sifat Ujian: Take home, membuat tutorial pemrograman paralel
Deadline: 31 Desember 2015, 23:59:59. Dikirim ke email: husni@trunojoyo.ac.id.

Ketentuan dan panduan:

1. Carilah di Internet: materi berupa buku, paper atau halaman web yang membahas praktik pemrograman paralel menggunakan bahasa pemrograman terkini seperti Java, Python, PHP, Javascript, atau Ruby.
2. Pelajari dan coba praktekkan pemrograman paralel menggunakan salah satu bahasa pemrograman di atas. Sebaiknya fokuskan pada multi-core programming, berbasis multithreaded programming karena sangat mungkin dicoba di laptop masing-masing.

3. Tuliskan secara jelas, bagaimana pemrograman paralel dilakukan dengan bahasa pemrograman bersebut (pilih hanya satu bahasa pemrograman yang disukai/dikuasasi), mencakup:

3.1 Bahasa pemrograman dan tool (library, pustaka) apa yang digunakan untuk membuat aplikasi paralel? Apa kelebihan dan kekurangannya, dimana situs webnya.
3.2 Bagaimana instalasi tools yang diperlukan dalam pengembangan aplikasi paralel tersebut, dimana tools harus didownload, jelaskan langkah-langkah instalasi. Tools, IDE dan Text Editor apa yang dapat digunakan untuk menuliskan kode programmnya?
3.3. Jelaskan langkah-langkah untuk memulai pembuatan palikasi paralel baru, misalnya membuat program Hello world!. Jelaskan baris-baris dalam program tersebut. Bagaimana proses kompilasi dan eksekusi program yang dihasilkan?
3.4 Berikan 3 contoh program paralel yang berhasil dieksekusi dan memberikan output yang benar (selain Hello World! di atas). Jelaskan baris demi baris yang ditulis di dalam kode program tersebut.
3.5 Tuliskan kesimpulan tentang tools dan bahasa yang digunakan didalam pembuatan program paralel tersebut.
3.6 Referensi, sebutkan!.

4. Tulisan di atas dibuat pada kertas berukuran A4, 1 spasi font Times New Roman 11, dan khusu kode program menggunakan font Courier New 9. Panjang laporan harus mencapai 5 halaman, tidak lebih, tidak kurang.
5. Laporan berupa tulisan/tutorial pemrograman paralel ini dikumpulkan via email husni@trunojoyo.ac.id. Deadline 31 Desember 2015.

Selamat berjuang, semoga menjadi ilmu yang bermanfaat. Aamiin.
============================================================

Penilaian, Disiplin dan Proyek:

– Sebagaimana dijelaskan di kelas dan di dalam slide.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: