Kelompok F 1. Arif Febriyanto (33451) 2. Galdita A Chulafak (33024) 3. Atika Fuziyah (32895) 4. Eldest Arif Pasirula (33220) 5. Udi Hartono (33317)
Computer Network
Klasifikasi Jaringan Cara Koneksi Teknologi Kabel Teknologi wireless Skala Arsitektur jaringan Topologi
Cara Koneksi Fiber optik Ethernet WirelessLAN HomePNA PLC G.hn
Teknologi Kabel Twisted pair Coaxial cable Optical Fiber
Teknologi Wireless Terrestrial Microwave Communications Satellites Cellular and PCS Systems Wireless LANs Bluetooth The Wireless Web
Skala Personal Area Network (PAN) Campus Area Network (CAN) Local Area Network (LAN): suatu jaringan komputer yang menghubungkan suatu komputer dengan komputer lain dengan jarak yang terbatas. Metropolitant Area Network (MAN): prinsip sama dengan LAN, hanya saja jaraknya lebih luas, yaitu km. Wide Area Network (WAN): jaraknya antar kota, negara, dan benua. ini sama dengan internet. Global Area Network (GAN)
Arsitektur Jaringan Active network Client-Server Peer-to-peer
Topologi Jaringan Topologi bus Topologi bintang Topologi cincin Topologi mesh Topologi pohon Topologi linier
Tipe-tipe jaringan Personal area network Local area network Home area network Campus network Metropolitan area network Wide area network Global area network Enterprise Private Network Virtual private network Internetwork Internet Intranets and extranets Overlay Network
Komponen Dasar Jaringan Network interface cards Repeaters Hubs Bridges Switches Routers
PROTOKOL
Definisi Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Model OSI Dikembangkan oleh badan International Organization for Standardization (ISO) di Eropa pada tahun OSI singkatan dari Open System Interconnection. Model ini disebut juga dengan model "Model tujuh lapis OSI" (OSI seven layer model).
Lapisan Model OSI
Model Referensi DARPA Sebuah referensi protokol jaringan yang digunakan oleh protokol TCP/IP yang dibuat oleh DARPA
Lapisan Model Referensi DARPA Bertanggung jawab dalam rangka menyediakan akses kepada aplikasi terhadap jaringan TCP/IP Bertanggung jawab dalam rangka membuat komunikasi antar dua host, dengan menggunakan cara membuat sebuah sesi connection-oriented atau menyebarkan sebuah connectionless broadcast Bertanggung jawab dalam melakukan routing dan pembuatan paket IP (dengan menggunakan teknik encapsulation) Bertanggung jawab dalam meletakkan frame-frame data di atas media jaringan
TCP/IP standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite) menggunakan model referensi DARPA
Stream I/O
Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream. Package Java I/O mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter.
Input Stream Subclass-subclass dari input Stream adalah: Audio Input Stream, Byte Array Input Stream, File Input Stream, Filter Input Stream, Piped Input Stream, Sequence Input Stream, dan String Buffer Input Stream. Dua method utama dari InputStream adalah : Read : Method ini digunakan untuk membaca stream Close : Method ini digunakan untuk menutup koneksi input stream.
Output Stream Subclass-subclass dari outputStream adalah : ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array; FileOutputStream : digunakan untuk menulis pada file; FilterOutputStream : merupakan superclass dari subclass-subclass seperti DataOutputStream, BufferOutputStream, PrintStream, CheckedOutputStream; ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream. PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream.
Methode-methode output stream adalah : #Voidclose() Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream tersebut; #Void flush() Melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan keluar; #Void write(byte[] b) Menulis sebanyak b.length dari byte array ke output stream; #Void write(byte[] b, int off, int len) Menuliskan sebanyak len byte dari byte array b dimulai dari index off.
THREAD
Definisi Thread lightweight process Objek yang mewakili satu unit eksekusi dari sekumpulan instruksi. Sekumpulan instruksi yang dapat dieksekusi secara mandiri. Proses adalah suatu program yang sedang dieksekusi / satu unit kepemilikan sumberdaya. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan thread lain yang dimiliki oleh proses yang sama.
Single-threading Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Multi-threading Kemampuan yang memungkinkan beberapa thread dapat dijalankan secara bersamaan, bergantian atau konkuren. Agar thread-thread di suatu proses, dapat sharing kode program, data dan sumber daya secara lebih efisien dibanding proses-proses terpisah, sehingga kinerja aplikasi berbasis thread lebih baik dibanding aplikasi berbasis proses.
Contoh Web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari internet. Web server dapat mempunyai ratusan klien yang mengaksesnya secara bersamaan.
Multithreading pada Sistem Operasi Thread pengguna didukung kernel serta diimplementasikan dengan pustaka library thread pada tingkatan pengguna. Semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel. Thread kernel didukung langsung oleh sistem operasi. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space.
Model Multi-threading Many-to-One One-to-One Many-to-Many
Many-to-One Memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Model Many-to-One mengizinkan developer untuk membuat user thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu waktu.
One-to-One Memetakan setiap thread tingkatan pengguna ke thread kernel. Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Model One-to-One menghasilkan concurrency yang lebih tetapi developer harus hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi(dalam beberapa hal, developer hanya dapat membuat thread dalam jumlah yang terbatas)
Many-to-Many Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. Mengijinkan sistem operasi untuk membuat sejumlah thread kernel. Tidak punya kelemahan seperti kedua model sebelumnya. Dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat berjalan secara pararel pada multiprocessor. Jika suatu ketika thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi.
Thread Cancellation Definisi : pemberhentian thread sebelum tugasnya selesai. Misalnya jika dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus dihentikan terlebih dahulu. Target thread : thread yang akan diberhentikan
Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda: 1. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread. 2. Deferred cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.
Thread Pools Definisi: Cara kerja dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools. Contoh masalah: Web Server Waktu pada penciptaan thread dan ketika selesai langsung dibuang. Penciptaan thread yang tidak terbatas menurunkan performa sistem. Solusi: Membuat thread pada proses stratup dan menempatkannya ke pool Permintaan ke server dilayani dengan mengambil thread di pool selesai thread dikembalikan ke pool