if99.net

IF99 ITB

Archive for July, 2020

Rindu ke Sekolah Lagi

without comments

Sebuah posting-an di grup WA saya terima pagi ini, lengkap dengan foto ilustrasi:

Sedih yaa .. nasib anak desa .. anak rakyat kecil nan miskin ..

Absen tiap pagi pakai seragam “cekrek cekrek” dan kirim fotonya ke Bapak / ibu guru. Setelah itu duduk manis di depan hape canggih ataupun laptop mahal… kelas online dimulai. Sepertinya asyik ya?

Apa daya aku anak seorang buruh harian, jangankan hape mahal… hape di rumah hanya ada satu dibawa ayah bekerja. Ayah bilang hapenya tak bisa ditinggal untukku, ayah juga perlu.

Aku berharap pandemi segera berlalu. Bisa kembali ke sekolah. Aku bisa bersaing dengan yang lainnya jika belajar di sekolah. Tapi kalau online… aku bisa apa? Termangu di teras rumah, pasrah….

Aku rindu suasana belajar di sekolah lagi…

anaksekolah

****************************

Tidak hanya anak desa, anak di kota pun merasakan hal yang sama. Memang pembelajaran secara daring (atau PJJ, pembelajaran jarak jauh) banyak kendala. Kendala kesenjangan antara daerah yang dapat mengakses internet dan tidak, kesenjangan antara kaya dan miskin (yang mampu beli hape smartphone dan tidak, apalagi membeli kuota internet).

Maka hari-hari ini kita sering membaca kisah guru-guru yang rela naik turun bukit menemui muridnya di rumah demi si anak bisa menerima pelajaran (Baca:  Tak Punya Android, Guru SDN Riit di Sikka Datangi Rumah Murid Beri Pelajaran)

Sedih dan prihatin. Apa mau dikata, ketentuan belajar daring dari Pemerintah Pusat harus dijalankan tanpa pernah memperhatikan apakah infrastrukturnya sudah tersedia, apakah orangtuanya mampu menyediakan perangkat.

Selain dua kesenjangan tadi, terdapat juga kesenjangan kualitas PJJ antara sekolah swasta (yang bonafid tentunya) dengan sekolah negeri dalam melaksanakan belajar daring (PJJ). Di sekolah swasta guru-guru melakukan pembelajaran secara video conference dengan semua muridnya lewat aplikasi Zoom dan siswa menyimak dari laptopnya masing-masing. Guru-gurunya cukup kreatif menyiapkan konten video ajar. Sekolah sudah menyiapkannya video ajar jauh-jauh hari, berkaca dari pengalaman PJJ pada semester yang lalu. Orangtua siswa umumnya mampu menyediakan laptop dan akses internet yang unlimited (karena ada WiFi di rumah).

Coba lihat di sekolah negeri. Guru-guru memberi materi pelajaran kepada murid lewat grup WA dan Google classroom. Siswa-siswa di sekolah negeri berasal dari keluarga dengan disparitas ekonomi yang sangat beragam. Tidak semua orangtua mampu menyediakan kuota internet untuk vidcon lewat Zoom. Pun tidak semua mampu menyediakan laptop, siswa hanya belajar pakai ponsel saja.

***********

Anak-anak sekolah sudah lama rindu pergi ke sekolah lagi.  Anak-anak sekolah (juga mahasiswa) sudah berkorban cukup lama berdiam diri di rumah, mereka tentu sudah ingin bersosialisasi dengan temannya. Orangtua di rumah pun sudah sangat kerepotan dengan pembelajaran jarak jauh ini.

Sebuah posting-an di WA berisi keluhan orangtua wali murid:

Saya mewakili wali murid seluruh indonesia yg insya Allaah satu suara. Tolong dg sangat ” BUKA KEMBALI SEKOLAH UTK ANAK2 KAMI”
Kami tidak semuanya paham dan ngerti cara belajar online. Kami tidak selalu punya uang utk beli paket data. Dgn adanya belajar online… tidak membuat anak2 kami ngerti dg materi pelajaran, malah tambah bodoh….. malas… tidak disiplin…. bahkan yg lebih parah…. MEMPERCEPAT ANAK2 INDONESIA MENGALAMI KEBUTAAN DINI karena kebanyakan mantengin ponsel…. . Apakah ini yg namanya SOLUSI???? Bapak/ ibu pemimpin yg terhormat…. tolong pertimbangkan lagi kebijakan yg kalian ambil. Aktifitas kami di batasi dg ancaman covid, sementara beratnya beban hidup kami seolah tak kalian peduli. Jika sekolah masih terus di tutup, apa jadinya dg anak2 kami….! Pasar bebas ramai , berkerumun, tanpa khawatir terpapar covid, pantai dan tmpat wisata di buka, tmpat hiburan di buka, pesawat penuh sesak dg penumpang…. mall juga di buka. Tapi kenapa SEKOLAH DI TUTUP hanya karena takut terpapar covid?! . Tolong… pak… bu…. bukalah lagi sekolah kami, tmpat anak2 kami menuntut ilmu, tmpat di mana anak2 bertemu kawan dan guru guru…. sementara di rumah…. kami sbg ortu sudahlah di repotkan dg pekerjaan rumah, kebutuhan sehari hari…. masih lagi di repotkan dg mengajarkan materi yg ada di buku tema kpd anak yg notabene itu bukan kapasitas kami… karena memang itu di luar kemampuan kami. Saya mohon….. kpd bpk/ ibu yg trhormat…. tolong…. BUKA… BUKA…. BUKA SEKOLAH KAMI. Jgn sampai menunggu kejadian… yg tak di harapkan terjadi dan ter alami di suatu saat nanti.

Pemberlakuan hanya daerah zona hijau dalam tingkat kabupaten/kota yang boleh melakukan belajar tatap muka perlu ditinjau lagi. Daerah-daerah yang berada di pedalaman, di lereng gunung, di pulau kecil, di tepi hutan, dan daerah-daerah lain yang jauh dari penyebaran covid, sebenarnya dapat melakukan pembelajaran tatap muka seperti biasa (tentu dengan memperhatikan protokol kesehatan).

Pemberlakuan zona hijau sebaiknya ditinjau pada level yang lebih kecil. Jika di sebuah kecamatan tidak ada kasus covid atau penyebaran covid terkendali, maka pembelajaran tatap muka di sekolah bisa dilakukan dengan protokol kesehatan. Rencana Gubernur Jabar yang akan membuka sekolah di kawasan-kawasan tersebut perlu diapresiasi.

“Dari (daerah) Risiko Rendah dan Sedang ini kita akan lebih detail ke wilayah kecamatan untuk pembukaan sekolah di Zona Hijau. Akan dibahas lebih lanjut lagi,” ucap Kang Emil. (Sumber: 22 Daerah di Jabar Masuk Zona Kuning, 5 Masih Zona Oranye).

Silakan sekolah-sekolah di kawasan yang aman dibuka kembali, tapi tentu saja dengan menerapkan protokol kesehatan yang ketat.

Written by rinaldimunir

July 21st, 2020 at 11:34 am

Adakah enkripsi yang tidak mungkin dipecahkan?

without comments

Ada banyak sekali jenis algoritma enkripsi yang ada, mulai dari yang paling sederhana sejak jaman kaisar Romawi Caesar, sampai yang paling modern dan canggih yang digunakan di sistem pertahanan negara. Namun pertanyaannya, adakah enkripsi yang tidak bisa dipecahkan, atau bahasa kerennya “unbreakable encryption” ?

Model Serangan (Attack Model)

Ada beberapa asumsi dalam model serangan dalam bahasan ini, kita asumsikan penyerang memiliki kemampuan di bawah ini:

  • Mari kita asumsikan penyerang memiliki semua informasi tentang algoritma dan cara melakukan enkripsi dan dekripsi, artinya ini adalah algoritma terbuka, bukan algoritma yang rahasia.
  • Kita juga asumsikan bahwa penyerang memiliki kekuatan komputasi yang tak terbatas, komputer super yang terkuat sejagat raya ada dalam genggamannya.

Dengan kemampuan seperti di atas, penyerang diberikan sebuah teks sandi (ciphertext), yang akan dipecahkan menjadi teks terang (plaintext).

Adakah algoritma enkripsi yang tidak mungkin dipecahkan dalam kerangka model serangan seperti di atas?

OTP (One-Time Pad)

Jawabannya ada, perkenalkan, One Time Pad. Ini adalah satu-satunya algoritma enkripsi yang secara matematis terbukti tidak mungkin dipecahkan, bahkan bila penyerang memiliki kemampuan komputasi tak terbatas sekalipun.

Sakti sekali bukan, mari kari kita bedah satu per satu kenapa OTP ini bisa sesakti ini.

Algoritma Sederhana Ekslusif-OR (XOR)

Algoritma OTP sangat sederhana, bisa diimplementasikan dengan menggunakan operasi XOR saja, jadi algoritma enkripsi dan algoritma dekripsi tidak ada bedanya, semua menggunakan operasi yang sama.

Kita bisa lihat dari tabel operasi XOR di level bit di tabel berikut ini.

ABA XOR B
000
011
101
110

Dari tabel tersebut kita bisa melihat bahwa hasil operasi XOR bisa dikembalikan seperti semula dengan melakukan XOR yang sama sekali lagi.

Enkripsi: plaintext XOR kunci = ciphertext

Dekripsi: ciphertext XOR kunci = plaintext

Algoritma ini sangat sederhana, dalam python bisa diimplementasikan hanya dalam satu baris berikut:

"".join([chr(ord(a) ^ ord(b)) for a,b in zip(text_in,key)])

Kenapa operasi sesederhana XOR bisa membuat algoritma yang tidak mungkin dipecahkan?

Kunci rahasia

Syarat utama operasi sesederhana XOR bisa menjadi algoritma enkripsi tak terkalahkan adalah penggunaan kunci rahasia yang acak sempurna (truly random), selain itu kunci harus memenuhi syarat-syarat berikut ini:

  • Panjang kunci harus sama dengan panjang pesan, tidak boleh kurang satu bit pun karena setiap bit dari pesan akan di-XOR dengan setiap bit dari kunci.
  • Kunci hanya boleh digunakan satu kali, kunci yang sama tidak boleh digunakan lagi untuk pesan yang lain. Maaf buat aktivis lingkungan, reuse and recycle kunci dilarang keras disini.
  • Kunci harus acak sempurna (truly random). Ini sangat penting, kunci harus dibuat seacak mungkin dan tidak bisa ditebak. Bila kunci bisa ditebak, walau hanya sebagian saja, keamanan pesan akan terancam.
  • Terakhir, tentu saja kuncinya harus benar-benar dijaga kerahasiaannya, kalau sampai bocor ya sudah selesai semua.

Dengan kunci semacam ini, walaupun penyerang mengetahui algoritma enkripsi/dekripsinya, penyerang tidak bisa mendapatkan plaintext sekalipun dengan kemampuan komputasi tak terbatas.

Mencoba semua kunci adalah sia-sia

Mencoba semua kemungkinan kunci adalah satu-satunya hal yang bisa dilakukan penyerang, dan itu tidak akan menghasilkan apa-apa.

Pertama, mencoba semua kemungkinan kunci membutuhkan waktu yang sangat lama. Sebuah pesan pendek 16 karakter string, semisal, “HALO APA KABARMU”, panjang kuncinya adalah 16×8 = 128 bit.

Ada sebanyak 2^128 kemungkinan kunci, yaitu 2 x 2 x 2 x 2 sebanyak 128 kali = 3.4028237 x 10^38, atau kurang lebih bisa ditulis sebagai “34” diikuti dengan 37 angka 0 dibelakangnya. Ini jumlah yang sangat besar, membutuhkan milyaran tahun untuk mencoba satu per satu semuanya. Ingat ini hanya untuk pesan sangat pendek 16 karakter.

Kedua, sesuai asumsi, penyerang memiliki kemampuan komputasi tak terbatas, anggaplah penyerang dapat mencoba semua kemungkinan kunci dalam waktu sangat singkat, tidak perlu milyaran tahun, penyerang tetap tidak akan mendapatkan pesan aslinya. Lho kok bisa?

Perhatikan kode python berikut ini. Pesan aslinya adalah “SERANG”, dengan kunci “XASDVF”, akan mengasilkan pesan sandi sebuah string ‘\x0b\x04\x01\x05\x18\x01’ sesuai tabel di bawah ini.

InputKunciinput XOR kunci
‘S’‘X’\x0b
‘E’‘A’\x04
‘R’‘S’\x01
‘A’‘D’\x05
‘N’‘V’\x18
‘G’‘F’\x01
>>> text_in = "SERANG"
>>> key = "XASDVF"
>>> text_out = "".join([chr(ord(a) ^ ord(b)) for a,b in zip(text_in,key)])
>>> text_out
'\x0b\x04\x01\x05\x18\x01'

Bila menggunakan kunci yang benar “XASDVF”, kita bisa mengembalikan teks sandi tersebut menjadi teks semula yaitu “SERANG”.

Input Kunciinput XOR kunci
\x0b‘X’‘S’
\x04‘A’‘E’
\x01‘S’‘R’
\x05‘D’‘A’
\x18‘V’‘N’
\x01‘F’‘G’
>>> text_in ='\x0b\x04\x01\x05\x18\x01'
>>> key = "XASDVF"
>>> text_out = "".join([chr(ord(a) ^ ord(b)) for a,b in zip(text_in,key)])
>>> text_out
'SERANG'

Namun karena penyerang tidak mengetahui kunci yang benar, dia akan mencoba semua kemungkinan kunci, string 6 karakter. Perhatikan di bawah ini, penyerang mencoba dekripsi dengan kunci “FQOAMS”, ternyata menghasilkan pesan “MUNDUR”, padahal pesan aslinya adalah “SERANG”.

>>> text_in ='\x0b\x04\x01\x05\x18\x01'
>>> key = 'FQOAMS'
>>> text_out = "".join([chr(ord(a) ^ ord(b)) for a,b in zip(text_in,key)])
>>> text_out
'MUNDUR'

Dengan kunci yang lain lagi “XM@BY0”, penyerang mendapatkan pesan yang berbeda yaitu “SIAGA1”.

>>> text_in ='\x0b\x04\x01\x05\x18\x01'
>>> key = 'XM@BY0'
>>> text_out = "".join([chr(ord(a) ^ ord(b)) for a,b in zip(text_in,key)])
>>> text_out
'SIAGA1'

Anggaplah suatu saat setelah mencoba banyak kunci lainnya, dengan keberuntungan yang tinggi, penyerang mencoba kunci “XASDVF” (ini kunci yang benar), dan mendapatkan pesan “SERANG”.

Sampai disini penyerang mulai kebingungan, pesan aslinya “SERANG”, “MUNDUR” atau “SIAGA1” ?

Kerahasiaan sempurna (Perfect Secrecy)

Penyerang memang bisa mencoba semua kemungkinan kunci, tapi setiap kemungkinan kunci itu akan menghasilkan pesan dekripsi yang berbeda-beda. Ini sama saja dengan penyerang menghasilkan pesan dekripsi dari semua kemungkinan string 6 karakter termasuk “MAKAN_”, “MINUM_”, “TIDUR_” dengan segala variasi huruf besar, huruf kecil, angka dan karakter khusus.

Penyerang tidak akan bisa mengetahui dengan pasti, dari semua string dekripsi tersebut, mana pesan aslinya, karena semua kemungkinan pesan dekripsi yang dihasilkan mempunyai peluang yang sama sebagai pesan yang asli. Kondisi inilah yang disebut dengan “perfect secrecy” oleh Claude Shannon, bapak informasi teori.

Jadi selama syarat-syarat kunci dipenuhi, OTP tidak mungkin dipecahkan. Penyerang hanya tahu panjang pesan saja, tidak mungkin mengetahui apa pesan aslinya, ini lah yang membuat OTP dijuluki sebagai “unbreakable encryption”.

Written by Rizki Wicaksono

July 20th, 2020 at 2:15 am

Posted in Cryptography

Puncak Corona yang Belum Kelihatan Juga

without comments

Kalau puncak gunung biasanya mudah dilihat. Semakin kita mendaki gunung, semakin tampak puncaknya. Tapi tidak untuk kurva kasus virus corona di Indonesia. Setiap hari pertumbuhan kasus positif COVID-19 bukannya berkurang, tetapi terus bertambah.  Hari ini saja misalnya, jumlah kasus kasus corona rekor luar biasa, yaitu  2.657 orang, padahal sebelumnya hanya bertambah 1000-an.

Maka,  yang kita lihat saat ini adalah kurva corona di Indonesia terus mendaki, menanjak naik, melaju menuju puncak, namun masalahnya puncaknya tetap belum kelihatan juga, tidak bisa diprediksi kapan ketemu titik puncak tersebut.

indonesia

Kondisi berbeda terjadi di negara tetangga. Malaysia dan Singapura sudah turun kurvanya, bahkan di Malaysia kasus corona sudah hampir berakhir.

Malaysia

Masyarakat kita tidak disiplin. Anjuran memakai masker dan menjaga jarak tidak dipatuhi. Orang-orang tetap saja berkeliaran di ruang terbuka tanpa menggunakan masker, tetap berkerumun, tetap antri tanpa menjaga jarak. Ada atau tidak ada PSBB sama saja kondisinya. Jalanan tetap ramai, pasar tetap ramai. Berakhirnya PSBB dianggap sebagai sebuah euforia, kebebasan setelah lama dikurung di rumah. Aktivitas kembali seperti biasa. New normal sama seperti normal. Tidak ada yang berbeda.

Di sisi lain Pemerintah sendiri merasa gamang. Apakah ekonomi yang mau didahulukan atau kesehatan?  Meneruskan PSBB, karantina wilayah, atau apapun namanya bisa melumpuhkan ekonomi. Ini bisa berbahaya karena membuat krisis multidimensi yang luar biasa. Akhirnya diambil jalan tengah. Istilahnya mari berdamai dengan corona.  Silakan bekerja kembali namun tetap menjalankan protokol: pakai masker dan jaga jarak. Ceritanya balik lagi ke kondisi ketidakdisiplinan yang diceritakan di atas.

Maka, yang dapat kita lakukan saat ini adalah menjaga diri dan keluarga masing-masing. Jaga keshatan, jaga imun tubuh agar tetap kuat, keluar rumah hanya jika perlu. Pakai masker, selalu jaga jarak dengan orang lain. Puncak corona masih jauh.

Written by rinaldimunir

July 9th, 2020 at 8:30 pm

Posted in Indonesiaku

Rendang Gordon Ramsay

without comments

Beberapa hari yang lalu saluran National Geographic menayangkan program televisi yang menjadi perbincangan warganet. Program televisi bertajuk Uncharted itu menampilkan eksplorasi seorang master chef terkenal, Gordon Ramsay, menjelajahi kuliner di Sumatera Barat, khususnya memasak randang (rendang) di negeri asal rendang itu sendiri, yaitu Minangkabau (Sumatera Barat). Mengapa rendang, ya karena rendang sudah dinobatkan oleh CNN menjadi makanan paling favorit nomor satu di dunia.

Sangat menarik melihat Gordon Ramsay memasak rendang, mulai dari dia terjun ke pasar tradisional membeli aneka bumbu randang, mencari daging sapi yang enak, hingga memasak langsung di lembah Ngarai Sianok dibawah bimbingan William Wongso.

2020_05_29_96468_1590758157._large

Tetapi setelah saya  melihat apa yang dia masak dan yang dia cicipi menurut saya itu bukanlah rendang, tetapi baru berupa kalio (atau kalio rendang). Kalio adalah rendang yang setengah jadi, berwarna coklat, dan masih basah (berminyak). Kalio itulah yang umum disediakan di restoran padang di Jawa, dan kebanyakan orang (yang bukan orang Minang) menyebutnya sebagai rendang, padahal itu bukanlah rendang.

Ini namanya kalio, belum menjadi rendang

Disebut rendang adalah jika ia sudah berwarna hitam atau coklat kehitaman dan agak kering. Untuk mencapai tahap rendang ini diperlukan waktu memasak selama 8 jam. Rendang yang  dihasilkan akan awet selama satu bulan.

Inilah rendang

Meskipun demikian, tidak ada “keharusan” memasak rendang sampai berwarna hitam dan kering seperri gambar di atas, tergantung selera masing-masing. Anda bisa berhenti sampai tahap kalio yang rasanya creamy, atau menyimpannya dulu di lemari es, lalu memasaknya kembali selama beberapa jam hingga menghasilkan rendang.

Lalu, mengapa umumnya rumah makan padang di pulau Jawa dan di daerah lain menyajikan rendang dalam bentuk kalio? Itu tentu saja karena alasan praktis, sebab seperti yang disebutkan di atas, memasak rendang membutuhkan waktu yang lama. Di Sumatera Barat sendiri umumnya rendang yang dijual di rumah makan jarang berupa kalio, minimal sudah berwarna coklat kehitaman dan tidak basah.

Demikianlah perbedaan antara kalio dan rendang.

Written by rinaldimunir

July 2nd, 2020 at 3:15 pm