Teknologi & Politik

Baru-baru ini beredar berita tentang Google yang membatasi akses Huawei terhadap kode Android dan layanan Google lainnya (Google Play, Gmail App). [Link berita akan saya kumpulkan dan letakkan di bagian akhir dari tulisan ini.] Ini berita yang cukup menggemparkan meskipun merupakan sesuatu yang sudah lama diduga oleh negara-negara yang bergantung kepada layanan sebuah perusahaan di sebuah negara tertentu. Mereka tidak mengira bahwa hal ini akan dieksekusi.

Sebagai sebuah perusahaan yang berdomisili di Amerika, Google harus taat kepada peraturan dari pemerintah Amerika Serikat. Maka ketika pemerintah Amerika Serikat memutuskan bahwa perusahaan Huawei melanggar berbagai keputusannya [dibutuhkan referensi di sini] maka pemerintah melarang perusahaan lain untuk melakukan bisnis dengan Huawei. Mau tidak mau Google (dan perusahaan Amerika lainnya) harus nurut.

source: https://www.theasset.com/belt-road-online/35604/us-warns-europe-against-using-huawei-

Ini merupakan contoh politik yang mempengaruhi bisnis. Sebetulnya kalau mau ditelaah lebih lanjut lagi, ini mempengaruhi teknologi. Sedemikian pentingnya teknologi sehingga menjadi salah satu penentu keputusan. Kali ini teknologi 5G yang menjadi perebutan. Setelah ini kemungkinan teknologi Kecerdasan Buatan (Artificial Intelligence / AI) yang akan mendapat perhatian yang sama, karena AI ini sama pentingnya (bahkan dapat dikatakan lebih penting) dari teknologi 5G.

Berulangkali saya katakan kepada mahasiswa saya agar tidak buta politik, tetapi jangan terjun ke politik praktis. Pahamilah politik sehingga kita tidak tersesat atau bahkan ditunggangi oleh kepentingan politik (praktis).

Lantas bagaimana dengan kita di Indonesia?

Kasus ini membuka mata kita seberapa tergantungnya kita dengan teknologi asing. Begitu pihak asing menutup teknologi tersebut, matilah kita. Maka kemandirian teknologi bukanlah isapan jempol. Dia merupakan sebuah hal yang riil. Kedaulatan Teknologi.

Contoh yang riil. Beberapa waktu yang lalu (tahunan?), kami pernah mengusulkan adanya “app store” sendiri. Handphone yang beredar di Indonesia dapat menggunakan “app store” kita sendiri. Namun nampaknya ide ini belum mendapat dukungan dan bahkan tidak dimengerti. Sekarang semoga kita mengerti mengapa perlu ada “local app store“. (Rincian mengenai hal ini masih harus dibahas. The devils are in the details.)

Demikian pula kemampuan untuk membuat kernel dari sistem operasi (terutama untuk handphone) juga merupakan hal yang utama. Tidak banyak orang Indonesia yang ngoprek tentang hal ini. Saya hanya tahu beberapa orang saja. Apakah Anda pernah ngoprek kernel sebuah sistem operasi?

Kebutuhan SDM (sumber daya manusia) yang menguasai teknologi-teknologi ini secara mendalam dapat dikatakan sangat kritis. Darurat SDM teknologi. Apakah kita akan menunggu sampai kita diblokir dulu baru kemudian bergerak?

Tautan terkait berita Huawei

Iklan

Anda Benar

Zaman sekarang sering kita berdebat dengan seseorang dan dia terus ngeyel. Sudah dijelaskan berkali-kali dengan berbagai cara, tetapi saja dia ngeyel. Untuk kondisi seperti ini, satu-satunya jalan adalah menyelesaikan perdebatan. Bagaimana caranya? Dengan mengatakan “Anda Benar“.

Penjelasan mengenai “Anda Benar” dapat dilihat pada gambar berikut. Mudah-mudahan Anda dapat memahaminya. hi hi hi.

Jadi ketika Anda sudah tidak dapat lagi menjelaskan, daripada debat kusir tidak berhenti, katakan “Anda Benar” saja.

Teknik Mengajari Seseorang

Pada suatu hari Hasan dan Husein sedang berada di masjid. Mereka melihat seorang tua yang sedang berwudhu. Diperhatikan, cara berwudhunya salah. Kemudian orang tua ini melakukan shalat, tata caranya pun shalat. Eh, salaaahhh. Hasan dan Husein ingin mengajari orang tua ini, tetapi mereka masih terlalu muda. Jika mereka menegur dan mengajari, kemungkinan besar orang tua ini akan marah dan tidak mau terima. Jadi harus bagaimana?

Mereka berdua akhirnya mencari cara yang lebih baik. Mereka pura-pura bertengkar tentang tata cara wudhu dan shalat mereka di depan sang orang tua tersebut. Mereka kemudian pura-pura minta tolong kepada orang tua tersebut untuk memberitahu mereka cara wudhu (dan shalat) mana yang lebih benar. Orang tua tersebut memberi tahu tata cara wudhu dan shalat yang benar. Ah, dia teringat kembali tata caranya yang benar. Pada saat yang sama dia tidak dipermalukan.

Ini adalah salah satu teknik untuk mengajari seseorang. Ada kalanya ego seseorang terlalu besar untuk diberitahu bahwa dia salah. Jika kita langung mengatakan bahwa Anda salah, ini yang benar maka kemungkinan besar dia tidak akan terima. Dia akan merasa malu dan akan mempertahankan pendapatnya (yang salah). Akhirnya tujuan untuk mengajari yang benar menjadi tidak tercapai. Ingat, tujuannya bukanlah untuk menunjukkan bahwa kita benar. Tidak penting “kita”nya. Jangan karena kita merasa ingin dikatakan benar maka kita memaksakan diri. Tahanlah ego.

Jadi ketika saya bertanya, mungkin sebetulnya saya sedang mengajari Anda. hi hi hi.

Data Entry

Mari kita bahas (lagi) tentag dota entry, eh data entry. Supaya lebih jelas, saya akan ambilkan sebuah contoh kasus pemilihan umum di sebuah negara antah berantah.

Seorang operator data entry menemukan form (borang) dengan data seperti berikut:

calon #1 = 20
calon #2 = 20
calon #3 = 20
total suara = 80

Jika kita perhatikan, maka jumlah total suara tidak sama dengan jumlah yang seharunya. Jumlah seharusnya adalah 20+20+20 = 60. Jika Anda operator data entry tersebut, apa yang Anda lakukan?
(a) perbaiki data;
(b) masukkan (entry) data persis seperti itu.

Misalnya Anda berniat untuk memperbaiki data tersebut. Apa yang akan Anda perbaiki? Misal Anda ambil inisiatif mengubah jumlah total suara. Oleh Anda total suara diganti menjadi 60. Jreng! Anda masukkan data dan ternyata keputusan Anda itu salah! Maka Anda (dan institusi tempat Anda bekerja) langsung mendapat tuduhan menghilangkan suara! Ribut.

Kenapa keputusan Anda salah? Karena ternyata ada beberapa kemungkinan kesalahan. Kemungkinan pertama, yang salah adalah data untuk calon #3. Seharusnya data yang benar adalah “calon #3 = 40“. Maka jumlah total suara sudah benar, 80. Nah lho.

Kemungkinan tersebut bukan satu-satunya kemungkinan. Bisa jadi yang salah adalah data di calon #1 atau calon #2 atau keduanya atau ketiganya. Misalnya, bisa jadi datanya harusnya “calon #2 = 30” dan “calon #3 = 30“. Dan seterusnya. Paham maksud saya kan?

Ok. Cara yang paling aman adalah data dimasukkan APA ADANYA. As is. Pilihan (b). Sebagai seorang operator, Anda memasukkan data apa adanya. Seperti mesin scanner saja. Namun form ini diberi tanda (flag, warning) bahwa ada masalah di dalamnya. Tolong seseorang (manusia) melakukan verifikasi ulang.

Nah, inilah yang terjadi pada sistem perhitungan suara di Pilpres 2019. Itulah sebabnya terlihat bahwa sistem seperti tidak melakukan perhitungan, padahal dia melakukan perhitungan tetapi untuk jumlah yang salah ini maka aplikasi akan meminta perhatian seorang pemeriksa.

Ada yang berkomentar juga, kalau begitu seharusnya aplikasi tidak mau menerima data yang salah tersebut. Data yang jumlahnya totalnya salah, misalnya, jangan dimasukkan. Lah, jika demikian maka data itu mau diapakan dibuang? Ini malah bermasalah. Seolah-olah operator melakukan kecurangan dengan membuang data. Malah akan lebih bermasalah lagi. Tuduhannya malah lebih berat lagi. Jadi sudah benar bahwa data tetap dimasukkan tetapi diberi tanda (flag, warning).

Sudah kepanjangan ah.

Banyak

Banyak orang senang menggunakan kata “banyak“. Lah, kalimat barusan juga. ha ha ha. Eh, tapi serius sedikit. Beberapa kali saya menguji mahasiswa dan menanyakan berapa kali pengujian yang sudah dia lakukan. Jawabannya adalah “banyak”. Maksudnya? Setelah saya tanya lebih jauh, ternyata dia melakukan percobaannya sepuluh kali. Wah, itu belum “banyak” menurut saya. Kalau 40 itu banyak, menurut saya. (sttt … jangan ditanya kenapa ya. hi hi hi.)

Kadang kata “banyak” cukup untuk menjelaskan sesuatu, tetapi ketika kita berbicara angka – kuantitatif – kata “banyak” itu harus digantikan dengan sebuah angka. 3? 7? 73?

Angka 12 dapat disebut banyak kalau terkait dengan jumlah anak. Banyak itu. Angka 12 disebut sedikit kalau dia menyatakan jumlah penduduk sebuah kota. Sedikit sekali, bahkan.

Seringkali kita tidak dapat menentukan angka persisnya, tetapi yang lebih penting adalah “ball of park”-nya. Apakah puluhan? Ratusan? Ribuan? Jutaan? Jadi ketika Anda menyatakan “banyak”, sebutkan juga perkiraan rentangnya.

7? 15? 75? 300? 2500? 64.000? 120.000? 1.000.000? 1 Milyar?

Desain Sistem Informasi

Mumpung sedang ramai dibahas tentang web KPU, ini adalah sedikit corat-coret dari saya. Disclaimer dulu. Saya tidak terkait / terlibat dengan KPU saat ini, sehingga apa yang saya tuliskan saat ini tidak terkait dengan KPU.

Jika saya diminta untuk mendesain sebuah sistem informasi yang dapat diakses dari internet, maka desain saya kemungkinan seperti gambar di bawah ini. Namun, sebelumnya harus ada asumsi-asumsi dahulu. Sistem yang saya maksudkan bukan sistem yang real-time, dalam artian kita memasukkan sesuatu langsung tampil responnya. Sistem internet banking itu saya masukkan ke kategori “real-time”. Soalnya ketika kita melakukan transaksi, kita kan ingin melihat hasilnya segera bukan 10 menit lagi. Sementara itu sistem tabulasi hasil pemilu, misalnya, tidak harus demikian. Data dimasukkan dan hasil tabulasi boleh 5 menit lagi dikeluarkan (secara berkala).

Kita mulai dari agak kanan bawah, ke bagian aplikasi data entry. Aplikasi ini terhubung dengan sebuah database (db). Aplikasi ini diletakkan di belakang sebuah firewall dan tidak dapat diakses langsung oleh operator (user / pengguna).

Operator mengakses aplikasi melalui internet dengan menggunakan VPN. Operator terhubung ke sebuah “application gateway” yang merupakan proxy untuk aplikasi sesungguhnya. Data yang dimasukkan (entry) oleh operator akan diterima oleh aplikasi proxy dan diteruskan ke aplikasi sesungguhnya. Pada proxy ini dapat dilakukan proses perlindungan, verifikasi (terhadap kemungkinan serangan pada tingkat aplikas), sanitasi input, dan seterusnya. Data yang sudah disanitasi ini kemudian diteruskan ke aplikasi data entry sesungguhnya yang kemudian memasukkan data tersebut ke dalam database (db).

Database (db) ini kemudian dipindahkan ke database satunya lagi yang berada di bagian paling kanan bawah (ah, seharusnya pada gambar tersebut saya beri nomor ya). Dimungkinkan proses koreksi, verifikasi, dan proses-proses lainnya terhadap data. Data dalam database inilah yang kemudian dipakai untuk perhitungan atau ditambilkan. Data dalam bentuk report dapat dihasilkan oleh proses perhitungan. (Biasanya hasilnya dibuat dalam bentuk static agar nanti mudah disajikan dan menghindari penyerangan di tingkat aplikasi).

Hasil tabulasi ini (halaman web statik) dilemparkan ke application gateway (sebelah kiri, harusnya pakai nomor juga). Application gateway inilah yang mendistribusikan hasil ke web (server) publik, ke SMS gateway, ke fax, ke TV, dan seterusnya. Update distribusi ini dapat dilakukan berkala. Misal untuk web dapat dilakukan setiap 5 menit sekali.

Publik mengakses hasil di web (server) publik yang berisi data statik yang diupdate setiap 5 menit sekali. Jika web ini diretas (hacked) – amit-amit – maka dalam waktu 5 menit, hasilnya akan diperbaiki lagi. Otomatis. ha ha ha.

Demikianlah corat-coret singkat saya.

[Catatan: diagram saya sederhanakan. Ada banyak hal yang tidak saya tampilkan, misalnya IDS, NTP, log server, SIEM, monitoring, redundansi, dll.]

Untuk aplikasi. Nanti ya. Saya mau ngajar dulu.

Update: versi video dari tulisan ini sudah tersedia di YouTube.

Sistem informasi (berbasis) Internet


Menghadapi Orang Kalah dan Marah

Kalah itu tidak menyenangkan. Tidak ada orang yang senang kalau kalah. Kalau kalah pasti kesel. Maunya marah-marah. Nah bagaimana menghadapi orang yang kalah dan marah ini?

Misalnya Anda bermain sepak bola. Tim Anda menang (dan tentunya tim satunya kalah). Apa yang Anda lakukan? Melakukan selebrasi sah-sah saja, tetapi kalau berlebihan? Priiiit. Kartu kuning.

Apa yang Anda lakukan melihat lawan Anda yang terduduk. Menangis. Bahkan marah?

Jika Anda berjalan ke depannya dan mengatakan “saya menang, kamu kalah”, apa yang akan terjadi? Berantemlah jadinya. Memang apa yang Anda katakan itu adalah fakta, tetapi ini bukanlah waktu yang tepat.

Jadi apa yang Anda lakukan? Berempati. Pahami bahwa lawan Anda sedang bersedih (dan bahkan marah). Rangkullah mereka. Bantulah mereka untuk melewati kegalauan ini. Give them comforts.

Sportif!