Probabilistic Machine Learning: an Introduction by Kevin P. Murphy
Peta Potensi Tenaga Matahari
Sumber: https://globalsolaratlas.info
Berikut ini peta potensi tenaga listrik (Specific photovoltaic power output) untuk sedunia
Berikut ini potensi tenaga listrik (Specific photovoltaic power output) untuk Indonesia.
Referensi
- The Future of Electricity is Local https://caseyhandmer.wordpress.com/2020/12/27/the-future-of-electricity-is-local/
- Global Solar Atlas https://globalsolaratlas.info
GeNose, alat deteksi Covid-19 Menggunakan Hembusan Nafas
Alat pendeteksi COVID-19 buatan para ahli di Universitas Gadjah Mada (UGM) yaitu GeNose, akhirnya mengantongi izin edar dari Kemenkes dan siap dipasarkan.
“Alhamdulillah berkat doa & dukungan luar biasa dari banyak pihak GeNose C19 secara resmi mendapatkan izin edar untuk mulai dapat pengakuan oleh regulator (Kemenkes) dalam membantu penanganan COVID-19 melalui skrining cepat,” kata Kuwat Triyana, Ketua tim pengembangan GeNose.
Lebih lanjut, Kuwat menjelaskan kalau GeNose punya cara yang beda untuk mendeteksi keberadaan virus SARS-CoV-2 jika dibandingkan dengan metode swab test PCR.
Dijelaskan Kuwat, GeNose hanya membutuhkan embusan nafas yang ditiupkan ke alat dan hasil akan keluar dalam waktu dua menit. Terus gimana dengan akurasinya?
Menristek/Kepala Badan Riset Inovasi Nasional (BRIN) Bambang Brodjonegoro beberapa waktu lalu mengungkapkan melalui uji coba tahap pertama di rumah sakit, tes COVID-19 GeNose menunjukkan tingkat akurasi 97 persen.
Dengan biaya tiap tes yang rencananya hanya dipatok pada kisaran Rp15-25 ribu saja, Kuwat menyebut saat ini telah ada 100 unit GeNose yang diproduksi pihaknya pada tahap pertama dan akan segera didistribusikan.
Meski belum banyak, dia berharap 100 alat ini setidaknya mampu melakukan tes terhadap 12 ribu orang sehari.
Paper ilmiah alat ini dapat diakses di artikel “Intelligent Mobile Electronic Nose System Comprising a Hybrid Polymer-Functionalized Quartz Crystal Microbalance Sensor Array“
Pengujian klinis alat ini sedang dilakukan. Catatannya ada di artikel “Genosvid Diagnostic Test for Early Detection of COVID-19”
Berikut ini pengumuman konferensi pers tentang GeNose UGM tersebut.
Referensi
- Harga alat deteksi COVID-19 GeNose 25 ribu dengan akurasi 97% https://twitter.com/asumsico/status/1343144181552697345
- Genosvid Diagnostic Test for Early Detection of COVID-19 https://clinicaltrials.gov/ct2/show/NCT04558372
- Universitas Gajah Mada: GeNose dapatkan izin edar dan siap dipasarkan.
- GeNose UGM Bisa Deteksi Covid-19 Hanya Dalam 80 Detik
- Sri Sultan Mencoba Alat Diagnosis Covid-19 Buatan UGM
- Hembusan Nafas Sekelas Swab Test Untuk Deteksi Covid-19: GeNose Karya UGM
- GeNose UGM Masuk Tahap Uji Diagnostik
- Trisna Julian, Shidiq Nur Hidayat, Aditya Rianjanu, Agus Budi Dharmawan, Hutomo Suryo Wasisto,*and Kuwat Triyana Intelligent Mobile Electronic Nose System Comprising a Hybrid Polymer-Functionalized Quartz Crystal Microbalance Sensor Array
- Deep learning in a sensor array system based on the distribution of volatile compounds from meat cuts using GC–MS analysis https://www.sciencedirect.com/science/article/pii/S221418042030101X
Berapakah Korban Meninggal Jika Indonesia Menerapkan Herd Immunity Tanpa Vaksin
Berapakah tingkat herd immunity yang diperlukan untuk mengatasi Covid19?
- 60% ~ 70% (https://www.who.int/emergencies/diseases/novel-coronavirus-2019/media-resources/science-in-5/episode-1). Jadi perlu ada 60% sampai 70% orang yang kebal terhadap virus untuk mendapatkan herd immunity.
Estimasi Korban Meninggal
Berapakah orang yang meninggal jika Indonesia menerapkah herd immunity tanpa vaksin?
Penduduk Indonesia : 267 juta (https://nasional.kompas.com/read/2020/08/12/15261351/data-kependudukan-2020-penduduk-indonesia-268583016-jiwa)
Anggap saja pakai batas bawah WHO: 60%
Total terinfeksi: = 267 juta x 60% = 160.2 juta
Tingkat kematian Covid19 di Indonesia 3,4 % (https://health.detik.com/berita-detikhealth/d-5282583/who-angka-kematian-covid-19-di-indonesia-lebih-tinggi-dari-dunia)
Jumlah kematian = 160.2 x 3.4% = 5.4468 juta
Saat ini jumlah orang meninggal karena Covid19 adalah 18000 orang (https://nasional.kompas.com/read/2020/12/10/11375561/indonesia-catat-kematian-covid-19-tertinggi-dan-992-persen-wilayah-terpapar)
Jadi jumlah korban meninggal total sekurangnya 300x jumlah meninggal sekarang.
Tingkat kematian tersebut dengan asumsi fasilitas kesehatan mencukupi. Jika rumah sakit overload, maka persentase warga yang meninggal akan lebih tinggi dari 3,4%.
Jadi jumlah korban yang meninggal adalah 5,4468 juta.
Kelemahan Strategi Herd Immunity
Berikut ini kelemahan strategi Herd Immunity tanpa vaksin
- Banyak korban meninggal, sekurangnya 5,6 juta orang. Bisa lebih karena fasilitas kesehatan akan overload, sehingga banyak tambahan korban karena tidak kebagian ventilator.
- Kemungkinan terjadinya mutasi. Makin banyak orang terinfeksi, maka makin besar kemungkinan terjadinya mutasi virus tersebut.
Referensi
Kemungkinan Transmisi Virus SARS-CoV-2 Melalui Saluran Pembuangan Air
Berikut ini studi yang menunjukkan adanya kemungkinan terjadinya transmisi virus melalui saluran pembuangan air di sebuah apartemen.
Lokasi: sebuah apartemen di Guangzhou, China
Waktu: Januari ~ Februari 2020
Salah satu tindakan yang dilakukan orang adalah menutup saluran pembuangan air, supaya tidak ada aerosol masuk melalui saluran air [ref].
Referensi
Kemungkinan Transmisi virus SARSCoV2 Melalui Saluran Ventilasi di Seoul
Ada kasus terjadinya penularan COVID19 di sebuah apartement. Kemungkinan transmisi virus tersebut adalah melalui saluran ventilasi.
Lokasi: Seoul, Korea Selatan
Waktu: Agustus 2020
Referensi
Membatasi Jumlah Client pada Apache 2.4
Web server Apache akan menjadi lambat / hang jika diakses oleh terlalu banyak client, sedangkan memori sudah habis. Akan terjadi permintaan memory swap yang besar sehingga semuanya akan semakin lambat. Pada akhirnya koneksi akan terputus. Untuk membatasi jumlah client, dapat digunakan setting “MaxRequestWorkers”.
Berikut ini salah satu contoh setting untuk server yang memorynya sedikit.
<IfModule mpm_worker_module>
ServerLimit 5
StartServers 2
MaxRequestWorkers 20
MinSpareThreads 5
MaxSpareThreads 5
ThreadsPerChild 5
</IfModule>
Arsitektur Perangkat Lunak Jaringan
Perangkat lunak jaringan dapat diimplementasikan dengan beberapa cara. Pertama dapat menggunakan arsitektur monolitik, di mana semua fungsi digabung di sebuah modul besar. Cara kedua adalah dengan memisahkan fungsi-fungsi tersebut menjadi beberapa modul, dengan setiap modul dapat berinteraksi dengan modul lain. Cara ketiga adalah dengan memisahkan fungsi-fungsi tersebut menjadi beberapa modul, dan modul disusun dengan lapisan (layer) dengan suatu hirarki tertentu, sehingga 1 modul hanya dapat berkomunikasi dengan 1 modul di atasnya.
Lapisan Protokol Komunikasi
Berikut ini struktur lapisan/ layering pada sistem komunikasi pada 2 buah host/perangkat.
Penomoran lapisan dimulai dari bawah. Layer paling bawah adalah medium fisik, dapat berupa kabel tembaga, fiber optic, wireless dan sebagainya.
Setiap perangkat memiliki susunan layer/lapisan yang sama. Antara setiap layer terdapat interface (antar muka) yang terdefinisi dengan baik. Layer 5 hanya berkomunikasi dengan layer 4. jadi layer 5 tidak tahu dan tidak perlu tahu teknis detail di layer 3,2 dan fisik. Layer 5 di host 1 seakan-akan berkomunikasi dengan layer 5 di host 2 , walaupun sebenarnya data yang dikirim akan melewali layer-layer di bawahnya.
Setiap layer akan memproses header/trailer pada data yang melaluinya. Pada waktu data dikirim, header atau trailer akan ditambahkan pada data yang dikirim. Pada proses penerimaan, header atau trailer tersebut dipotong, tidak diteruskan ke layer di atasnya.
Aliran Data Pada Lapisan Protokol Komunikasi
Berikut ini adalah contoh aliran data dari suatu mesin sumber (source machine) ke mesin tujuan (destination machine). Data M di source dibuat di layer 5. Data ini kemudian dikirimkan ke layer 4. oleh layer 4, data ini ditambahi fitur-fitur tertentu, sesuai dengan tugas layer 4 tersebut. Misalnya adalah dengan ditambah error detection. Fitur error detection ini perlu tambahan data, misal untuk pengecekan parity atau CRC (cyclic redundancy check). data untuk error detection dan data-data lain terkait layer 4 ditambahkan sebagai H4 (header layer 4). H4+M ini kemudian dikirimkan ke layer berikutnya: layer 3. Di layer 3 proses serupa dilakukan, dan layer 3 menambahkan H3, sehingga sekarang data yang dikirim menjadi H3+H4+M. Demikian juga diteruskan di layer 2.
Pada akhirnya data yang betul-betul dikirim secara fisik melalui medium fisik adalah H2+H3+H4+M, dan data ini diterima di destination machine.
pada proses penerimaan di destination machine, proses sebaliknya dilakukan, yaitu header di setiap layer diproses sesuai dengan fitur pada layer tersebut, dan header tersebut dibuang. data yang sudah dibuang headernya dikirim ke layer di atasnya. Jadi di sini misalnya pada layer 2 akan memproses H2 dan membuangnya. sehingga layer 3 akan menerima H3+H4+M. Demikian seterusnya di layer 3.
Pada layer 4, H4 diproses. Jika misalnya di pengiriman H4 berisi kode error detection, maka error detection akan dicek di layer 4 ini. jika hasilnya sesuai, maka data M akan dikirimkan ke layer 5 di destination. jika hasilnya tidak sesuai, maka data tersebut akan dibuang atau diminta untuk dikirim ulang dari source machine, tergantung mekanisme protokol yang dipilih.
Aliran Data Dengan Pemotongan Data
Salah satu layanan dari layer komunikasi adalah layer atas tidak perlu tahu dan dibatasi oleh kondisi layer bawah. Secara sistem engineering hal ini disebut sebagai ‘abstraksi’.
Sebagai contoh adalah masalah ukuran data. Dari sisi pemakai atau pembuat aplikasi tentunya hanya ingin mengirim data dengan ukuran berapapun, tidak ingin direpotkan dengan pembatasan ukuran data. sedangkan di sisi fisik hanya mampu mengirim data dengan ukuran data.
Misal Wifi maksimum 2346 byte, dan kabel ethernet maksimuk 1536 byte. akan repot bagi user ketika ingin browsing ke suatu situs, tapi harus memilih ukuran data maksimum 2346 byte atau 1536, tergantung jaringannya sedang menggunakan kabel, atau tethering via wireless ke smartphone.
Dalam contoh ini layer 3 tidak sanggup mengirim data M secara utuh, sehingga data harus dipisahkan menjadi 2 segmen, yaitu M1 dan M2, kemudian masing=masing bagian ini dikirim sebagai 2 pesan terpisah: M1 dan M2 ke layer 3. Layer 3 H4+M , namun memecahnya menjadi 2 bagian: H3+H4+M1 dan H3+M2. Layer 2 meneruskan keduanya tanpa tahu bahwa M1 dan M2 sebenarnya berhubungan. layer fisik juga hanya meneruskannya saja.
Di penerima, kedua pesan yang mengandung M1 dan M2 ini diterima sampai ke layer 3 seperti biasa. Di layer 3 kedua pesan M1 dan M2 digabung, kemudian baru dikirim ke layer 4. Dalam prakteknya dapat saja kedua pesan M1 dan M2 tersebut sampai tidak berurutan atau ada yang hilang, sehingga layer 3 perlu melakukan tindakan-tindakan untuk mengatasinya.
Aliran Data Dengan Perantara
Gambar sebelumnya menunjukkan aliran data antara 2 perangkat saja. Dalam prakteknya, jaringan melibatkan 1 atau lebih perangkat penghubung (connecting device) sebagai perantara, seperti switch dan router.
Pada gambar ini, terdapat sumber (source) A yang mengirimkan data ke tujuan (destination) B.
Model jaringan yang dipakai di sini adalah TCP/IP, dengan layernya adalah pysical, datalink, network, transport dan application.
Di antara keduanya terdapat switch dan router. switch di sini fungsinya menghubungkan secara fisik antara source ke router, dan router ke destination. Di dalam switch dan router terdapat juga layer-layer jaringan.
Pada switch, layer yang diurus adalah fisik sampai ke datalink.
Pada router, layer yang diurus adalah fisik sampai ke network. Pada source dan destination, layernya ada lengkap, dari physical sampai application.
Perangkat lunak jaringan dapat diimplementasikan dengan beberapa cara. Pertama dapat menggunakan arsitektur monolitik, di mana semua fungsi digabung di sebuah modul besar. Cara kedua adalah dengan memisahkan fungsi-fungsi tersebut menjadi beberapa modul, dengan setiap modul dapat berinteraksi dengan modul lain. Cara ketiga adalah dengan memisahkan fungsi-fungsi tersebut menjadi beberapa modul, dan modul disusun dengan lapisan (layer) dengan suatu hirarki tertentu, sehingga 1 modul hanya dapat berkomunikasi dengan 1 modul di atasnya.
Lapisan Protokol Komunikasi
Berikut ini struktur lapisan/ layering pada sistem komunikasi pada 2 buah host/perangkat.
Penomoran lapisan dimulai dari bawah. Layer paling bawah adalah medium fisik, dapat berupa kabel tembaga, fiber optic, wireless dan sebagainya.
Setiap perangkat memiliki susunan layer/lapisan yang sama. Antara setiap layer terdapat interface (antar muka) yang terdefinisi dengan baik. Layer 5 hanya berkomunikasi dengan layer 4. jadi layer 5 tidak tahu dan tidak perlu tahu teknis detail di layer 3,2 dan fisik. Layer 5 di host 1 seakan-akan berkomunikasi dengan layer 5 di host 2 , walaupun sebenarnya data yang dikirim akan melewali layer-layer di bawahnya.
Setiap layer akan memproses header/trailer pada data yang melaluinya. Pada waktu data dikirim, header atau trailer akan ditambahkan pada data yang dikirim. Pada proses penerimaan, header atau trailer tersebut dipotong, tidak diteruskan ke layer di atasnya.
Aliran Data Pada Lapisan Protokol Komunikasi
Berikut ini adalah contoh aliran data dari suatu mesin sumber (source machine) ke mesin tujuan (destination machine). Data M di source dibuat di layer 5. Data ini kemudian dikirimkan ke layer 4. oleh layer 4, data ini ditambahi fitur-fitur tertentu, sesuai dengan tugas layer 4 tersebut. Misalnya adalah dengan ditambah error detection. Fitur error detection ini perlu tambahan data, misal untuk pengecekan parity atau CRC (cyclic redundancy check). data untuk error detection dan data-data lain terkait layer 4 ditambahkan sebagai H4 (header layer 4). H4+M ini kemudian dikirimkan ke layer berikutnya: layer 3. Di layer 3 proses serupa dilakukan, dan layer 3 menambahkan H3, sehingga sekarang data yang dikirim menjadi H3+H4+M. Demikian juga diteruskan di layer 2.
Pada akhirnya data yang betul-betul dikirim secara fisik melalui medium fisik adalah H2+H3+H4+M, dan data ini diterima di destination machine.
pada proses penerimaan di destination machine, proses sebaliknya dilakukan, yaitu header di setiap layer diproses sesuai dengan fitur pada layer tersebut, dan header tersebut dibuang. data yang sudah dibuang headernya dikirim ke layer di atasnya. Jadi di sini misalnya pada layer 2 akan memproses H2 dan membuangnya. sehingga layer 3 akan menerima H3+H4+M. Demikian seterusnya di layer 3.
Pada layer 4, H4 diproses. Jika misalnya di pengiriman H4 berisi kode error detection, maka error detection akan dicek di layer 4 ini. jika hasilnya sesuai, maka data M akan dikirimkan ke layer 5 di destination. jika hasilnya tidak sesuai, maka data tersebut akan dibuang atau diminta untuk dikirim ulang dari source machine, tergantung mekanisme protokol yang dipilih.
Aliran Data Dengan Pemotongan Data
Salah satu layanan dari layer komunikasi adalah layer atas tidak perlu tahu dan dibatasi oleh kondisi layer bawah. Secara sistem engineering hal ini disebut sebagai ‘abstraksi’.
Sebagai contoh adalah masalah ukuran data. Dari sisi pemakai atau pembuat aplikasi tentunya hanya ingin mengirim data dengan ukuran berapapun, tidak ingin direpotkan dengan pembatasan ukuran data. sedangkan di sisi fisik hanya mampu mengirim data dengan ukuran data.
Misal Wifi maksimum 2346 byte, dan kabel ethernet maksimuk 1536 byte. akan repot bagi user ketika ingin browsing ke suatu situs, tapi harus memilih ukuran data maksimum 2346 byte atau 1536, tergantung jaringannya sedang menggunakan kabel, atau tethering via wireless ke smartphone.
Dalam contoh ini layer 3 tidak sanggup mengirim data M secara utuh, sehingga data harus dipisahkan menjadi 2 segmen, yaitu M1 dan M2, kemudian masing=masing bagian ini dikirim sebagai 2 pesan terpisah: M1 dan M2 ke layer 3. Layer 3 H4+M , namun memecahnya menjadi 2 bagian: H3+H4+M1 dan H3+M2. Layer 2 meneruskan keduanya tanpa tahu bahwa M1 dan M2 sebenarnya berhubungan. layer fisik juga hanya meneruskannya saja.
Di penerima, kedua pesan yang mengandung M1 dan M2 ini diterima sampai ke layer 3 seperti biasa. Di layer 3 kedua pesan M1 dan M2 digabung, kemudian baru dikirim ke layer 4. Dalam prakteknya dapat saja kedua pesan M1 dan M2 tersebut sampai tidak berurutan atau ada yang hilang, sehingga layer 3 perlu melakukan tindakan-tindakan untuk mengatasinya.
Aliran Data Dengan Perantara
Gambar sebelumnya menunjukkan aliran data antara 2 perangkat saja. Dalam prakteknya, jaringan melibatkan 1 atau lebih perangkat penghubung (connecting device) sebagai perantara, seperti switch dan router.
Pada gambar ini, terdapat sumber (source) A yang mengirimkan data ke tujuan (destination) B.
Model jaringan yang dipakai di sini adalah TCP/IP, dengan layernya adalah pysical, datalink, network, transport dan application.
Di antara keduanya terdapat switch dan router. switch di sini fungsinya menghubungkan secara fisik antara source ke router, dan router ke destination. Di dalam switch dan router terdapat juga layer-layer jaringan.
Pada switch, layer yang diurus adalah fisik sampai ke datalink.
Pada router, layer yang diurus adalah fisik sampai ke network. Pada source dan destination, layernya ada lengkap, dari physical sampai application.
Proses Encapsulation Dan Decapsulation
Pada komunikasi data melalui layer-layer tersebut, terjadi proses penambahan header dan pemotongan header. Proses penambahan header disebut juga sebagai proses encapsulation. Pada proses ini data dari layer di atasnya seakan-akan ‘dibungkus’ dengan header yang ditambahkan. Pada bagian penerimaan data, terjadi proses pemotongan header. Proses ini disebut sebagai ‘decapsulation’. Pada proses ini seakan-akan ‘bungkus’ dari layer tersebut dibuka, kemudian isi dari ‘bungkus’ tersebut dikirmkan ke layer di atasnya.
Fungsi Perangkat Lunak Komunikasi Data
Suatu komputer atau perangkat dapat berkomunikasi ke perangkat lain melalui suatu media fisik. Untuk dapat berkomunikasi, perlu ada protokol-protokol dengan sejumlah algoritma tertentu. Protokol-protokol tersebut dilaksanakan oleh suatu modul komunikasi pada komputer / perangkat tersebut.
Berikut ini adalah uraian fungsi-fungsi yang perlu ditangani oleh suatu modul komunikasi. Fungsi-fungsi ini dalam prakteknya tersebar di perangkat keras dan perangkat lunak.
Keandalan pada Jaringan Komputer
Aspek keandalan di sini maksudnya adalah apakah data dapat diterima dengan baik. Agar data dapat diterima dengan baik, perlu ada pendeteksian kesalahan (error detection), misal yang sederhana dengan parity. Ada juga algoritma yang selain mampu mendeteksi kesalahan pada data, dapat juga sekaligus memperbaiki kesalahan tersebut. Prinsipnya adalah dengan mengirimkan data lebih banyak daripada yang diperlukan, sehingga kalau ada kesalahan maka dapat dilakukan perbaikan (recovery).
Jika data rusak tidak dapat diperbaiki, maka perlu ada mekanisme untuk melakukan pengiriman ulang data tersebut.
Jalur komunikasi pada jaringan juga dapat terputus. Untuk mengatasi hal ini, dapat dibuat jaringan dengan jalur komunikasi yang dobel, sehingga kalau ada jaringan yang terputus maka dapat menggunakan jalur lain atau jalur cadangan. Mekanisme ini dinamakan routing atau pencarian jalur.
Evolusi Jaringan
Suatu jaringan secara perlahan-lahan dapat berkembang menjadi besar. Maka akan timbul beberapa permasalahan. Setiap perangkat pada jaringan harus dapat diidentifikasi secara unik. Untuk itu diperlukan suatu mekanisme penomoran atau pengalamatan yang dapat membedakan semua perangkat yang terhubung di jaringan. Sebagai contoh, protokol IP (Internet Protocol) versi 4 dibuat di tahun 1970an. Protkol ini memiliki ruang alamat sebesar 32 bit, jadi dapat membedakan sebanyak 2 pangkat 32 atau sekitar 4 milyar perangkat. Jumlah ini tidak jelas tidak cukup, karena penduduk dunia saja sudah 7 milyar. Jika setiap orang memiliki beberapa perangkat, maka pengalamatan 32 bit tidak cukup. Sebagai solusinya, pada tahun 1998 diperkenalkan protokol IP versi 6 , dengan ruang alamat sebesar 128 bit.
Manusia juga susah mengenali komputer dengan angka. Maka digunakan mekanisme penamaan pada perangkat yang terhubung pada jaringan.
Protokol yang dipakai di jaringan juga berbeda-beda, sehingga perlu ada mekanisme khusus ketika suatu data dilewatkan dari suatu jaringan ke jaringan lain. sebagai contoh, protokol wireless (WiFi) dan kabel ethernet memiliki ukuran maksimum paket yang berbeda. wifi memakai ukuran frame 2346, sedangkan ethernet memakai ukuran frame 1536. Perlu ada mekanisme supaya data ini dapat lewat pada kedua protokol tersebut tanpa terpotong atau hilang.
Scalability maksudnya adalah jaringan mesti dapat tetap berfungsi dengan baik ketika ukurannya membesar, baik dari segi jumlah perangkat yang terhubung, kecepatan jaringan maupun jarak secara fisik.
Alokasi Sumber Daya
Jaringan komunikasi memerlukan sumber daya fisik untuk dapat berfungsi. Sumber daya ini terutama adalah kapasitas jalur transmisi. Selain itu juga ada sumber daya pada alat komputasi yang dipakai, meliputi kecepatan CPU, kapasitas memori dan kecepatan input-output. SUmber daya ini harus dipakai bersama dengan baik. jangan sampai ada 1 perangkat yang memonopoli pemakaian sumber daya, sehingga pemakai lain terganggu.
Jaringan dipakai bersama-sama oleh banyak pengguna, dengan besaran pemakaian berubah-ubah, sehingga perlu ada mekanisme untuk membagi alokasi secara dinamis. Pemakaian akan bertambah dan berkurang secara dinamis, jadi sumber daya perlu dialokasikan secara dinamis, tidak dapat dialokasikan secara statik di awal.
perangkat di jaringan juga memiliki kecepatan yang berbeda beda, dari perangkat yang lambat seperti mikrokontroler pada Internet of Things, ada juga yang mencapai kecepatan Gigabit. Perangkat yang lambat hanya dapat menerima data secara lambat, sehingga perlu ada mekanisme pengendalian arus (atau flow control). Perlu ada koordinasi antar perangkat, supaya kecepatan pengiriman disesuaikan dengan kecepatan penerimaan data.
Jalur komunikasi juga dapat memiliki pemakaian melebihi kapasitas, atau dikenal dengan istilah congestion (kongesti). Pada kasus kongesti, jalur komunikasi terlalu padat, sehingga kualitas jaringan menurun, terutama latensi (jeda waktu antara pengiriman dan penerimaan) dan kecepatan transfer data. Salah satu solusinya adalah koordinasi kecepatan pengiriman supaya tidak terjadi kongesti.
beberapa aplikasi memerlukan kualitas jaringan yang bagus, misal jaringan dengan latensi yang terjaga (atau real time delivery). Untuk menjaga kualitas layanan seperti ini diperlukan mekanisme Quality of Service (QoS).
Keamanan Jaringan
Jaringan komputer juga perlu diamankan. Hal-hal yang perlu dicapai adalah kerahasiaan, keutuhan dan autentikasi.
Kerahasiaan (confidentiality) maksudnya adalah data tidak dapat dibaca oleh pihak yang tidak berhak. Data yang dikirim dikunci dengan suatu password, sehingga hanya pihak yang memiliki password tersebut yang dapat membaca data tersebut.
Integritas (Integrity) maksudnya adalah data tidak dapat diubah. Jika dilakukan perubahan oleh pihak lain, maka kejadian ini dapat dideteksi.
Authentication (autentikasi) maksudnya adalah identitas pengirim data tidak dapat dipalsukan. Identitas pengirim dikodekan ke dalam data yang dikirim dengan kunci khusus yang hanya dimiliki pengirim. Penerima dapat melakukan verifikasi terhadap kode tersebut.
Referensi
- Tanenbaum & Wetherall, Computer Networks 5th edition, Prentice Hall 2011
Instalasi Confluence 7.4.3 di Ubuntu 20.04 LTS Dengan Database MySQL
Confluence adalah sebuah aplikasi kolaborasi dalam format wiki yang dibuat oleh Atlassian.
Artikel ini berisi tahap instalasi Confluence versi 7.4.3 di sebuah server Ubuntu 20.04. Confluence menggunakan database sebagai penyimpanan data. Pada instalasi ini, database menggunakan MySQL versi 8.0.21. Pedoman instalasi ini mengadopsi dari pedoman resmi confluence di situs Atlassian: “Installing Confluence on Linux” , dengan penyesuaian seperlunya.
Strategi Instalasi
- Server menggunakan sistem operasi Linux Ubuntu 20.04 LTS. Penggunaan versi LTS (Long Time Support) menjamin bahwa server ini masih mendapatkan update selama 5 tahun ke depan.
- Server khusus menjalankan software Confluence, tidak menjalankan aplikasi lain supaya tidak saling mengganggu
- Database menggunakan MySQL 8.0.x (pada waktu artikel ini ditulis versi terakhir adalah 8.0.21)
- Webserver menggunakan Apache dengan reverse proxy dan SSL supaya aman
- Pada demo ini SSL menggunakan self-signed certificate. Untuk mengubah ke certificate yang benar tidak rumit, cara mudah menggunakan Letsencrypt.
- Confluence diinstall sebagai root
Persiapan Instalasi
- Buat akun di situs my.atlassian.com
- Siapkan server fisik ataupun virtual dengan kemampuan minimum sebagai berikut (sumber)
- CPU: Quad core 2GHz+ CPU
- RAM: 6GB
- Minimum database space: 10GB
- Download dan install Ubuntu 20.04 di sebuah server yang sudah disiapkan.
Update Dan Upgrade Ubuntu
Seperti instalasi Ubuntu pada umumnya, perlu dilakukan update dan upgrade ke versi terbaru. Terutama untuk mengurangi kemungkinan masalah keamanan. Berikut ini perintah yang perlu dijalankan dari console Ubuntu Linux:
$ apt update |
Setup Database MySQL
Setting database MySQL perlu disesuaikan untuk Confluence.
Tambahkan setting berikut di file /etc/mysql/mysql.conf.d/mysqld.cnf . Untuk mengedit dapat menggunakan editor nano di Ubuntu.
character-set-server=utf8mb4 collation-server=utf8mb4_bin default-storage-engine=INNODB max_allowed_packet=256M innodb_log_file_size=2GB transaction-isolation=READ-COMMITTED binlog_format=row |
Tahap selanjutnya adalah membuat database serta user untuk mengakses database tersebut. Perlu disiapkan parameter sebagai berikut:
- nama database, misal ‘confluence’
- nama user , misal ‘confluenceuser”
- password untuk akses, misal ‘65423452’
Parameter-parameter tersebut bebas, jadi bisa pilih nama user, nama database dan password sendiri, namun perlu disimpan baik-baik karena akan dipakai di tahap ‘Setup Confluence’ di tahap selanjutnya
Selanjutnya membuat database, dan user di MySQL.
Aktifkan console mysql
mysql -uroot |
Jalankan perintah SQL berikut ini untuk membuat database dan membuat user baru:
CREATE DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER ‘confluenceuser’@’localhost’ IDENTIFIED BY ‘65423452’; grant all privileges on confluence.* to ‘confluenceuser’@’localhost’; |
Berikut tampilan di console:
Referensi instalasi database MySQL dapat dibaca di situs Atlassian artikel “Database Setup for MySQL“
Instalasi Confluence
Download file atlassian-confluence-7.4.3-x64.bin, kemudian letakkan ke sebuah direktori di server.
Pindah ke direktori tersebut
$ cd |
Jalankan script instalasi tersebut
./atlassian-confluence-7.4.3-x64.bin |
Script instalasi akan melakukan download program-program lain yang diperlukan untuk menjalankan Confluence.
Akan muncul prompt yang menanyakan “This will isntall Confluence 7.4.3 on your computer”. Klik Enter
Kemudian pilih Express Install
Pilih “1”. Enter
Klik enter untuk menerima setting default.
Klik Enter untuk Start Confluence
Instalasi selesai, confluence dapat diakses di alamat http://localhost:8090. Jika ingin diakses dari komputer lain, gunakan http://<alamat server>:8090. Misal pada instalasi ini menggunakan IP 192.168.0.206 , maka gunakan URL http://192.168.0.206:8090
Tahap selanjutnya adalah melakukan set up Confluence dari browser. Ada 2 pilihan: ‘Trial’ dan ‘Production Installation’. Untuk menggunakan database MySQL, pilih ‘Production Installation’. Kemudian klik “Next”.
Muncul tawaran untuk mengaktifkan Confluence Questions dan Team Calendars. Pada saat ini tidak diperlukan, jadi langsung klik “Next”.
Selanjutnya akan muncul formulir “License Key”. Jika belum punya lisensi, klik saja di “Get an evaluation license” untuk mendapatkan trial license. Trial license ini nantinya dapat dengan mudah diganti dengan lisensi sesungguhnya.
Jika belum login, maka akan muncul halaman login di situs Atlassian.
Selanjutnya akan muncul formulir “New Trial License”. Pilih lisensi “Confluence (Server)”, kemudian klik di tombol “Generate License” di bagian bawah formulir tersebut.
Selanjutnya akan muncul konfirmasi untuk melakukan instalasi license key di server kita. Klik saja “Yes”.
Browser akan otomatis mengisikan lisensi trial yang baru saja dibuat ke formulir License key. Klik di “Next”.
Berikutnya akan muncul pilihan database di menu “Set up your database”. Pilih “My own database”.
Pilih MySQL sebagai database. Untuk melanjutkan proses setup, perlu dilakukan instalasi driver MySQL dari console Linux.
Download software Connector J/ 8.0.21 dari situs MySQL: https://dev.mysql.com/downloads/connector/j/8.0.html
Pilih driver untuk “Ubuntu Linux 20.04 (Architecture Independent), DEB Package”, sesuai dengan versi Ubuntu yang dipakai.
Klik di “No thanks, just start my download”
Upload file “mysql-connector-java_8.0.21-1ubuntu20.04_all.deb” ke server.
install dengan apt install
apt install ./mysql-connector-java_8.0.21-1ubuntu20.04_all.deb |
Setelah proses instalasi, file driver JDBC akan tersedia di direktori /usr/share/java
root@ubuntu-confluence:~# ls -l /usr/share/java |
Copy file jar tersebut ke direktori library confluence <installation-directory>/confluence/WEB-INF/lib
Pada proses instalasi default, direktori library Confluence adalah di /opt/atlassian/confluence/confluence/WEB-INF/lib/
Copy driver JDBC ke direktori library Confluence tersebut.
cp /usr/share/java/mysql-connector-java-8.0.21.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/ |
Selanjutnya restart Confluence dengan perintah berikut ini
$ sh /opt/atlassian/confluence/bin/stop-confluence.sh |
Akses kembali Confluence dari web browser dengan alamat sebelumnya , misal http://192.168.0.206:8090/. Pilih “My own database” kemudian klik “Next”.
Isikan ke formulir sebagai berikut:
- Database type: MySQL
- Setup type: Simple
- Hostname: localhost
- Port: 3306
- Database name: confluence (sesuai dengan tahap setup database di atas)
- Username: confluenceuser (sesuai dengan tahap setup database di atas)
- Password: 65423452 (sesuai dengan tahap setup database di atas)
Klik di “Test connection”. Jika semuanya benar, maka akan muncul pesan “Success! Database connected successfully”. Jika ada kesalahan, akan ditampilkan kode kesalahannya.
Selanjutnya “klik Next”. Proses instalasi akan melakukan set up database, yaitu mengisi database dengan data-data aplikasi Confluence.
Selanjutnya akan muncul pilihan untuk mengisi Confluence dengan data demo . Pada tahap ini bebas saja, jika ingin melihat kemampuan Confluence bisa klik di “Example Site”, jika tidak ingin bisa klik di “Empty Site”.
Selanjutnya ada pilihan untuk manajemen user. Jika tidak ingin install JIRA, untuk mudahnya, pilih saja “Manage users and groups within Confluence”
Selanjutnya muncul formulir pengisian identitas administrator
Selanjutnya akan muncul pesan yang menyatakan proses Setup selesai.
Pada tahap ini instalasi dan setup Confluence sudah selesai. Aplikasi dapat diakses di port 8090, dengan URL seperti ini: http://192.168.0.206:8090
Software Confluence yang baru diinstall ini menggunakan lisensi trial, yang hanya berlaku selama 30 hari. Setelah itu kita perlu membeli lisensi resmi.
Integrasi Apache Dan SSL
Untuk dapat diakses di port 80, dapat menggunakan web server Apache dengan fitur reverse proxy. Untuk dapat lebih aman, perlu ditambahkan enkripsi data dengan SSL (Security Socket Layer)
Referensi
- Ubuntu Server 20.04 LTS
- Penjelasan Long Time Support untuk Server Ubuntu
- Pedoman instalasi confluence di situs Atlassian: “Installing Confluence on Linux“
- Atlassian: Server Hardware Requirements Guide