Senin, 28 April 2025

Notasi Sisipan dan Notasi Akhiran dalam Kalimat Matematika

Pernahkah kalian memperhatikan perbedaan kalkulator dagang dengan kalkulator ilmiah? Bagaimana bisa kalkulator ilmiah menentukan urutan perhitungan? Loh, kalkulator yang di ponsel pintar itu kalkulator ilmiah?

Apa perbedaannya?

Perbedaan keduanya ada pada urutan menghitungnya. Kalkulator dagang memiliki keterbatasan memori dan daya komputasi sehingga perhitungan langsung dilakukan setiap tombol operator berikutnya ditekan (termasuk tanda sama dengan), sedangkan kalkulator ilmiah membaca kalimat matematika (KM) secara keseluruhan, menentukan urutan perhitungan, lalu melakukan perhitungan sesuai urutan seharusnya.

Sebagai contoh, berikut yang muncul ketika menekan tombol 2 + 3 × 7 = pada kalkulator dagang. Perhatikan bahwa perhitungan langsung dijalankan setiap tombol operator ditekan dan nilai itu yang disimpan dalam memorinya yang terbatas.

Tombol yang Ditekan Hasil pada Layar Memori Internal Kalimat Matematika
2202
+222 +
3322 + 3
×55(2 + 3) ×
775(2 + 3) × 7
=3535((2 + 3) × 7)

Bagaimana kalkulator ilmiah menentukan urutan perhitungan?

Sebagai manusia, kita biasanya akan mencari operator yang urutannya didahulukan, misalnya perkalian (×) lebih dahulu daripada penjumlahan (+). Kalimat matematika (KM) yang biasa kita pakai menggunakan notasi sisipan (infix notation), yaitu tanda operator berada di antara dua bilangan/KM yang akan dikenai operasi. Misalnya 2 + 3 berarti operasi penjumlahan antara 2 dan 3 dengan tanda tambah (+) berada di antara keduanya.

Salah satu cara yang lebih mudah bagi komputer adalah dengan menggunakan notasi akhiran (postfix notation atau reverse Polish notation/RPN), yaitu tanda operator berada di akhir dua bilangan/KM yang akan dikenai operasi. Misalnya 2 3 + berarti operasi penjumlahan antara 2 dan 3 dengan tanda tambah (+) berada di akhir/setelah keduanya.

Cara ini lebih mudah untuk diprogram dan dijalankan oleh komputer dengan menggunakan struktur data tumpukan/stack. Kita cukup memasukkan tiap bilangan/KM ke dalam tumpukan. Bila kita bertemu dengan tanda operator, kita ambil dua teratas dari tumpukan lalu melakukan operasi terhadap keduanya. Hasilnya ditaruh di atas tumpukan kembali. Setelah selesai, hasilnya adalah satu bilangan di tumpukan itu.

Sebagai contoh, berikut cara menghitung 2 3 7 × + dengan notasi akhiran. Perhatikan tumpukan setiap kita sampai tanda operator.

Tumpukan Kursor Sisa Kalimat
223 7 × +
3
2
37 × +
7
3
2
7× +
21
2
×+
23+

Bagaimana cara mengubah dari notasi sisipan ke notasi akhiran?

Ada beberapa cara untuk mengubahnya. Yang terkenal karena sederhana adalah algoritma shunting yard/depo gerbong karena bisa diilustrasikan dengan depo gerbong. Algoritma ini ditemukan oleh Edsger Wybe Dijkstra dalam artikelnya tahun 1961. Kita bahas lain kali, ya.

Potongan layar artikel yang menunjukkan diagram depo gerbong dengan masukan dari sisi kanan, keluaran di sisi kiri, dan depo gerbong di sisi bawah
Diagram depo gerbong

Eh, kalkulator di ponsel pintar bagaimana?

Oh, iya. Coba saja jalankan 2 + 3 × 7 = pada kalkulator di ponsel pintar kalian. Jawaban yang mana yang muncul?

Penutup

Itu yang bisa kutulis kali ini. Topik ini terpikirkan karena sempat ada masalah pada program pembuat soal di web TTL, khususnya pembuat soal operasi pecahan yang masih menggunakan cara kalkulator dagang dan belum menggunakan cara kalkulator ilmiah. Semoga bermanfaat!

Jumat, 21 Maret 2025

Mati Listrik saat Tarawih: Relevansi Islam Sepanjang Masa

Halo! Kali ini, aku mau cerita pengalamanku saat Tarawih pekan lalu.

Kamis pekan lalu malam (atau malam Jumat pekan lalu), aku ikut rangkaian salat Isya–Tarawih di masjid dekat rumah. Masjidnya cukup besar. Ukuran lantai bagian dalam sekitar 12 meter × 12 meter. Ada sembilan baris: 6 untuk putra dan 3 untuk putri. Ada lantai dua juga, tetapi hanya dipakai untuk acara-acara tertentu, misal salat Jumat dan TPQ.

Rangkaian salat Tarawih di masjid ini 11 rakaat: 8 rakaat Tarawih (dua rakaat salam) dan 3 rakaat Witir. Bakda Isya dan sebelum Tarawih, ada ceramah singkat. Biasanya, yang jadi imam Isya dan imam Tarawih orang yang sama.

Waktu itu, sekitar 20.02 WIB, kami sedang melaksanakan Tarawih rakaat ke-3 (salat ke-2). Suasana saat itu sedang hujan. Aku berada di barisan laki-laki yang paling belakang (baris ke-4) dan di bagian tengah/belakang imam. Saat imam sedang membaca surah Al-Fatihah, mendadak listrik masjid mati. Suara imam yang lirih (mungkin karena sudah terbiasa dengan pelantang/loudspeaker) ditambah dengan bunyi hujan menyebabkan bacaan imam sukar didengar.

Saat imam memberi aba-aba untuk rukuk, "Allāhu akbar!" terdengar suara dari salah satu jemaah yang mengulangi aba-aba imam, "Allāhu akbar!" dengan suara yang lebih lantang. Posisinya sebaris denganku di sisi kanan masjid. Untuk aba-aba imam selanjutnya, para jemaah ikut mengulangi aba-aba imam dengan suara cukup lantang (di-jahr-kan) sampai selesai salat.

Setelah selesai salat Tarawih ke-2, ada yang memeriksa listrik masjid dan menyalakan listrik kembali. Sepertinya ada korsleting pada jaringan listrik kipas karena kipasnya tidak menyala selama salat-salat berikutnya. Sekitar akhir Syakban seingatku, memang ada beberapa kipas baru yang dipasang. Bisa jadi ada kekeliruan dalam pemasangannya. Setidaknya, pemutus sirkuit (MCB) melakukan tugasnya dan mengisolasi yang terjadi korsleting sehingga jaringan listrik lain masih bisa menyala dan salat berjemaah kembali dilanjutkan seperti biasanya.

Selama salat Tarawih ke-2 itu, aku terenyuh dan bangga karena ajaran Islam memang berlaku untuk semua kalangan dan semua masa. Untuk ceritaku ini, misalnya, ajaran Islam tentang mengulang aba-aba imam masih relevan walau sudah ada teknologi mikrofon dan pelantang sehingga salat berjemaah tetap bisa dilaksanakan walau sedang mati listrik dan hujan.

Aku jadi teringat masjid-masjid yang masih melakukan cara ini walau sudah menggunakan pelantang, yaitu Masjidilharam, Masjid Nabawi, dan (di Indonesia) Masjid Istiqlal. Aku merasa sedang berada di masjid-masjid tersebut karena cara yang sama juga diterapkan walau hanya dua rakaat.

Sampai di sini dahulu, ya, ceritaku. Selamat melanjutkan, bahkan meningkatkan, ibadah-ibadah selama bulan Ramadan selagi masih ada waktu. Sampai jumpa!

Jumat, 28 Februari 2025

Keamanan Bersuara: Autentikasi Dua Faktor

Halo! Kali ini singkat saja, ya.

Pernah beredar kabar-kabar menyedihkan tentang kebebasan bersuara/berekspresi yang menjadi fondasi demokrasi. Salah satunya tentang pembajakan akun yang bersuara tersebut. Setelah menyuarakan tentang hal-hal tertentu, akun mereka justru dibajak. Walau tidak diketahui identitasnya, bukanlah hal yang tidak mungkin kalau pihak berwenang memiliki kemampuan untuk melakukannya, terlebih mereka adalah pihak yang dikritik.

Hampir semua platform komunikasi masyarakat Indonesia menggunakan layanan luar negeri, misal WhatsApp, LINE, Telegram, Facebook, Twitter, Instagram, TikTok, dan Gmail. Satu-satunya layanan dalam negeri hanyalah SMS dan panggilan suara seluler/telepon pulsa. Hal ini memiliki keuntungan tersendiri bagi pihak-pihak yang ingin bersuara dengan aman, yaitu akun tidak bisa diambil alih secara langsung tanpa surat pengadilan yang jelas. Layanan luar negeri pun bisa saja menolak surat tersebut. Pihak berwenang bisa saja memblokir layanan tersebut, tetapi kurasa tidak mungkin mereka akan melakukannya karena mereka pun juga menggunakannya.

Beberapa layanan ini utamanya menggunakan kata sandi sebagai cara masuknya. Namun, ada beberapa yang menggunakan nomor telepon via SMS atau telepon pulsa sebagai cara masuk utama, misal WhatsApp dan Telegram. Hal ini membuka celah bagi pihak berwenang untuk mengambil alih akun yang mereka rasa "merusak ketenteraman". Lantas, bagaimana cara mengatasi masalah ini sebagai masyarakat yang ingin bersuara?

Caranya adalah dengan menambahkan faktor autentikasi lainnya! Sebagai contoh, WhatsApp memiliki fitur autentikasi dua faktor dengan PIN yang disebut verifikasi dua langkah. Bila fitur itu dinyalakan, akun WhatsApp seseorang tidak bisa diambil alih hanya dengan memasukkan kode dari SMS yang diterima (yang sangat mungkin dialihkan oleh pihak berwenang), tetapi perlu memasukkan kode PIN yang dihafalkan (seperti sandi pada umumnya).

Dengan autentikasi dua faktor, kita bisa bersuara tanpa takut akun kita diambil alih. Namun, perlu diperhatikan bahwa keselamatan diri secara fisik bisa jadi tidak seaman yang dikira. Namun, setidaknya, belum ada cara untuk mengakses isi pikiran sampai saat ini (untuk mengetahui PIN yang dihafal) secara paksa sehingga kita bisa memilih untuk tidak memberi tahu walau mungkin akan babak belur, bahkan mati. Begini amat, ya, tinggal di wilayah yang pihak berwenangnya memusuhi rakyatnya.

Sampai di sini dahulu, ya. Tetap suarakan hak-hak kita dan tolong jaga diri juga.

Selamat menjalankan ibadah puasa bagi yang menjalankan! Sampai jumpa!