Sistem Terdistribusi

PENGUMUMAN: Pembuatan Tutoial RESTful Web Service (Pengganti UAS)

Silakan pelajari dengan RESTful Web Services, buat tutorial tentangnya, mencakup:

  1. Konsep dari RESTful Web service
  2. Pembuatan RESTful Web Service (dengan bahasa pemrograman tertentu, sesuai arahan di kelas)
  3. Pembuatan RESTful Web Service menggunakan Framework (sesuai kebutuhan dan kemampuan)

Panjang tutorial minimal 10 Halaman A4 1 spasi font 11 Time News Romans. Khusus kode program, gunakan font consolas atau Courier New ukuran 9. Jangan lupa sertakan minimal masing-masing 2 contoh untuk sub-bab 2 dan dan 3 (setidaknya satu contoh  HelloWorld! dan satu contoh CRUD yang terkoneksi ke database). Setiap konsep atau contoh harus menyebutkan referensinya.

Deadline: mengikuti jadwal UAS. Dikirimkan ke email husni@trunojoyo.ac.id, dan harus dipresentasikan setelahnya.

Bahasa pemrograman yang dapat digunaka untuk membuat web service REST adalah Java, Python, Go dan Node.JS.

Selamat belajar, selamat memrogram 😉

——————————————————————————————————————————

Sistem Terdistribusi 2017 (Semeter Genap 2016/2017)

TIK-604 adalah suatu kuliah pengantar mengenai sistem terdistribusi. Penekanan kuliah ini adalah pada teknik membuat sistem (software) terdistribusi (juga paralel) yang berfungsi dengan baik, usable dan berkinerja tinggi. Dalam rangka menjadikan persoalan lebih konkret, kuliah ini mengharuskan mahasiswa (pesertanya) menuntaskan suatu proyek yang mensyaratkan rancangan dan implementasi (coding). Penyelesaiannya proyek, secara total diperkirakan memerlukan waktu sekitar 12 pekan, mulai dari pengusulan rancangan sampai dengan penulisan kode. Bagaimana dengan pengujian, penulisan laporan dan presentasinya?

Tujuan dari kuliah ini, secara garis besar ada dua. Pertama, mahasiswa akan mendapatkan pemahaman tentang konsep (prinsip-prinsip dan paradigma) yang mendasari sistem terdistribusi (sebagian besar) dan juga komputasi paralel. Konsep tersebut mencakup cara komunikasi lintas jaringan, konkurensi, sinkronisasi, konsistensi dan toleransi kegagalan. Kedua, mahasiswa akan mendapatkan pengalaman praktis dalam merancang, mengimplementasi dan men-debug sistem terdistribusi nyata.

Berikut ini adalah rencana perkuliahan dan bahan-bahan terkait untuk setiap pertemuannya:

Pekan ke-

Tanggal

Topik

Metode Pengajaran

Bacaan Latihan Praktik

Penugasan

1. 01, 02, 07 Maret Pengantar Perkuliahan Kuliah Subneting & Contohnya

Cara Kerja Perangkat Jaringan

SQLite

JavaFX, JavaFX+DB

Mulai Proyek 1

 

2. 08, 09, 14 Maret Tren dan Tantangan Kuliah Tugas 1: Kuis

(prinsip Jaringan)

3.  15, 16, 21 Maret Proyek 1

 

Model-model Arsitektural

Presentasi Mahasiswa

 

Kuliah

 MySQL

ini juga bagus

Deadline Proyek 1

Mulai Proyek 2 (Sinkronisasi Data)

4.  22, 23, 28 Maret

Jaringan

Kuliah Multithread Programming

(Pemrograman Konkuren Java)

Mulai Tugas 2

(Multithread & Socket)

5., 6.  04, 05, 06 April

11, 12, 13 April

Proyek 2

Komunikasi

Socket Client

Socket Server

Presentasi Mahasiswa

Kuliah

Pemrograman Client-Server dengan Socket:Server, Client  Deadline Proyek 2

Mulai Proyek 3 (Socket)

7.  18, 19, 20 April  

Penamaan

 

Kuliah

LDAP

 

DNS Server

Deadline Tugas 2

Mulai Tugas 3 (LDAP & DNS)

8., 9.  25, 26, 27 April Proyek 3

Web Services: SOA & REST

Presentasi Mahasiswa

(semua kelompok)

Kuliah

Pembuatan RESTful API dengan Java & PHP Deadline Proyek 3

Mulai Proyek 4

10.

Ujian Tengah Semester (UTS)

10.  25, 26, 27 April Sinkronisasi Kuliah
10.  01, 02, 03 Mei Konsistensi & Replikasi Kuliah  Spring Boot (Microservices) Tugas 4: Kuis (Web Service & Microservices)

 

11.  08, 09, 10 Mei Virtual Hosting Kuliah Replikasi  MySQL

GlusterFS

 Mulai Tugas 5

(Replikasi & Sinkronisasi)

12  15, 16, 17 Mei Model Pemrograman Kuliah Web Server

Reverse Proxy

DNS Server

Deadline Tugas 5

Mulai Tugas 6

 

13.  22, 23, 24 Mei  Toleransi Kegagalan Kuliah  Deadline Tugas 6
14.  31 Mei

01, 02 Juni

Proyek 4 Presentasi Mahasiswa  

Deadline Proyek 4 (via email)

17.

Ujian Akhir Semester (UAS)

10 s.d 21  Juli 2017

Buku teks utama untuk kuliah ini adalah:

  • Andrew S. Tannenbaum dan Maarten Van Steen, “Distributed Systems: Principles and Paradigms”, Edisi Kedua Pearson, 2007. Buku teks utama di bidang Sistem Terdistribusi, telah digunakan di lebih 1000 Universitas. Edisi ketiga buku ini (terbit Februari 2017) tersedia gratis, dapat didownload di web site kuliah ini.
  • Maarten van Steen dan Andrew S. Tanenbaum, “A Brief Introduction To Distributed Systems”, dimuat di dalam berkala ilmiah Computing Vol. 98 hal: 967-1009, 2016. Paper ini merupakan rangkuman dari buku penulisnya disertai beberapa update.
  • George Coulouris, Jean Dollimore, Tim Kindberg dan Gordon Blair, “Distributed Systems: Concepts and Design”, Fifth Edition, Addison Wesley, 2012. Sebagian handout dari kuliah ini juga mengambil konsep yang dijabarkan di dalam buku ini.

Ada banyak buku lain yang juga membahas konsep Sistem Terdistribusi & Paralel, begitu pula dari sisi aplikasinya. Berikut ini adalah beberapa buku yang akan menguatkan pemahaman kita mengenai cara kerja dan kemajuan di bidang Sistem Terdistribusi dan Paralel, sekaligus bagaimana konsep jaringan dan sistem terdistribusi diwujudkan dalam bentuk aplikasi modern:

Pemrograman Jaringan dengan Java:

  • Jan Graba, An Introduction to Network Programming with Java 3rd edition, Java 7 Compatible, Springer, 2013
  • Richard M. Reese, Learning Network Programming with Java, Packt Publishing, 2016 (233 hal.)
  • Elliotte Rusty Harold, Java Network Programming, 4th Edition, O’Reilly Media, 2013 (502 hal.)

Pengembangan Web Service & Microservices:

  • Jobinesh Purushothaman, RESTful Java Web Services Second Edition, Packt Publishing,2015 (354 hal.)
  • Bill Burke, RESTful Java with JAX-RS 2.0, 2nd Edition – Designing and Developing Distributed Web Services, O’Reilly Media, 2013 (392 hal.)
  • Sourabh Sharma, Mastering Microservices with Java, Packt Publishing, 2016 (258 hal.)
  • Sourabh Sharma, Rajesh RV, David Gonzalez, Microservices: Building Scalable Software, Packt Publishing, 2017 (919 hal.)

Jika anda masih harus mengulang atau mulai belajar pemrograman Java, maka dua buku ini akan sangat membantu:

  • Y. Daniel Liang, Intro to Java Programming, Comprehensive Version, 10th Edition, Prentice Hall, 2015 (1344 hal.)
  • Yakov Fain, Java Programming 24-Hour Trainer, 2nd Edition , Wrox, 2015 (624 hal.)

Detail dari Silabus dan Skema Penilaian dapat dilihat pada File ini.

Jika anda tertarik dengan bahan kuliah tahun sebelumnya, silakan akses link di bawah.

—————————————————————————————————————-

Sistem Terdistribusi 2015 (Semester Gasal 2015/2016)

– 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) di alihkan ke dalam bentuk Praktik.

– Pertemuan ke-11: Mengenal Pemrograman Paralel (OpenMP: Multi-Processors, MPI: Message Passing Interface)

—————————————————————————————————————-

  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: