Monday, June 18, 2018

Operasi Matematika: Modulo

Halo, Sobat Pembelajar! Apa kalian tahu, ada operasi matematika bernama "modulo"?

Modulo merupakan suatu operasi matematika yang bertujuan untuk mencari sisa pembagian (modulus). Operasi ini digunakan pada matematika dan programming untuk melakukan hal-hal tertentu yang menggunakan sisa pembagian.

Sisa pembagian? Ya! Operasi ini bisa dibilang sebagai "teman" dari operasi pembagian, karena melakukan hal yang mirip, namun dengan hasil dan tujuan yang berbeda.



Lalu, bagaimana dengan cara menghitung operasi modulo? Apa kalian ingat dengan cara pembagian yang biasa diajarkan ketika SD? Hal tersebut dapat dilakukan, namun, hasil yang dipakai merupakan sisa pembagian ketika pembagian selesai (sebelum hasilnya menjadi bilangan desimal).

Sebagai contoh, 95 dibagi 3:

31 -----> Hasil Pembagian
3 / 95
9 - (3x3)
5
3 - (1x3)
2 -----> Sisa Pembagian

Maka, 95 modulo 3 adalah 2. Mudah, kan?

Lalu, bagaimana dengan cara menulis operasi modulo? Ada 2 cara:
  • Di matematika, modulo lebih sering ditulis dengan cara a mod b, mengikuti contoh tadi, maka cara menulisnya adalah "95 mod 3"
  • Di programming, modulo lebih sering ditulis dengan cara a % b. Ya, tanda persen (%) merupakan lambang untuk operasi modulo. Dengan contoh tadi, maka cara menulisnya adalah "95 % 3"
Kesalahan-kesalahan yang mungkin terjadi:
Operasi modulo, karena bukan operasi yang umum diajarkan, biasanya akan membuat orang-orang salah atau bingung ketika menemukan pertanyaan-pertanyaan seperti:
  • Berapakah x mod 0? Seperti pembagian biasa, semua bilangan yang dibagi 0 akan memiliki hasil undefined, modulus pun sama, karena modulus memerlukan pembagian. "x mod 0 = undefined"
  • Berapakah 4 mod 5? Ketika membagi dengan suatu bilangan yang lebih besar, maka bagaimana kita mencari sisa pembagiannya? Simple! 4 : 5 memiliki hasil 0.8, tetapi kita hanya menghitung sampai sebelum hasil pembagian menjadi desimal, maka 4 dibagi 5 hasilnya 0, dengan sisa 4. Jika bingung, coba gunakan metode long division di atas untuk menghitung 4 mod 5. "x mod y = x, jika x<y"
  • Berapakah x mod x? Beberapa orang mendadak bingung ketika ditanyakan hal ini. Suatu bilangan, ketika membagi dirinya sendiri, tentu hasilnya adalah 1 dan tanpa sisa! "x mod x = 0"
  • Berapakah x mod 1? Hal ini juga bisa membuat bingung, padahal sama dengan poin sebelumnya. Semua bilangan, ketika dibagi 1, maka hasilnya adalah dirinya sendiri, dan juga tidak memiliki sisa! "x mod 1 = 0"
Mungkin bagi beberapa dari kalian, beberapa kesalahan tersebut sangatlah obvious, namun pada kenyataannya, banyak yang merasa bingung. Dan hal tersebut tidaklah mengejutkan, karena operasi modulus merupakan pelajaran baru dibandingkan dengan operasi matematika dasar (Kalian juga mungkin bingung dengan pembagian dengan 0, bilangan negatif, atau sejenisnya ketika baru mempelajari pembagian).

Kegunaan modulus:
Lalu, apa kegunaan modulus? Untuk apa kita mengetahui sisa pembagian? Operasi ini memiliki kegunaan yang relatif unik, misalnya:
  • Mencari tahu apakah suatu bilangan ganjil atau genap. Kok bisa? Coba ingat, apa itu definisi bilangan genap?
    "Bilangan genap merupakan suatu bilangan yang habis dibagi 2"
    Ya, kata kuncinya merupakan "habis dibagi 2", yang berarti "Bilangan x merupakan bilangan genap, ketika x mod 2 = 0". Kalian bisa mencoba menggunakan angka apapun untuk mengganti x, dan pernyataan itu akan selalu benar.
  • Seperti mencari tahu ganjil-genap, modulus juga dapat digunakan untuk mencari tahu apakah suatu bilangan prima atau bukan. Definisi bilangan prima adalah:
    "Bilangan prima merupakan bilangan yang memiliki tepat 2 faktor, yaitu 1 dan dirinya sendiri."
    Lalu, apa kata kuncinya? Mari kita lihat definisi faktor:
    "Suatu bilangan yang habis membagi bilangan lain."
    Maka, dapat disimpulkan bahwa:
    "x merupakan bilangan prima, jika x mod y != 0 untuk semua y, kecuali y = 1 dan y = x"
  • Membatasi bilangan. Apa yang dibatasi? Anggap ada suatu fungsi yang menghasilkan random number. Namun, ternyata angka yang dihasilkan jaraknya terlalu besar (misalkan hasilnya antara 0 sampai 10000), sementara kamu hanya perlu angka antara 0 sampai 100. Cara mengubahnya? Cukup "x mod 101". 
    Mengapa demikian? Jika x mod y = z, maka tidak mungkin z >= y, karena ketika z >= y, maka berarti z masih bisa dibagi y, sementara operasi modulus akan terus membagi sampai tidak bisa dibagi lagi.
  • Memecah bilangan. Bukan seperti pecahan a/b, Namun seperti:
    • Mengubah suatu detik menjadi menit/jam:
      Berapa jam, menit, dan detikkah 12345 detik? 
      12345 / 60 = 205 menit, dengan sisa 12345 % 60 = 45 detik
      Lalu, berapa jam kah 205 menit? 
      205 / 60 = 3 jam, dengan sisa 205 % 60 = 25 menit.
      Berarti, 12345 detik = 3 jam, 25 menit, 45 detik.
    • Mengambil suatu digit dari suatu bilangan.
      Misalnya, berapakah digit ratusan dari 98765? Karena kita manusia, kita bisa langsung tahu bahwa hasilnya adalah 7. Namun, bagaimana cara kita tahu? Kita cukup menggunakan modulus dan pembagian, seperti:
      98765 % 1000 = 765 (kita mencari ratusan, maka modulus 1000 agar bilangannya dibatasi menjadi bilangan ratusan)
      765 / 100 = 7 (karena bilangan sudah ratusan, tinggal kita bagi 100, kemudian bulatkan kebawah, maka itulah hasilnya)
Ya, modulo secara tidak sadar sudah kita pakai dalam kegiatan sehari-hari, dan memiliki berbagai fungsi unik.

Demikian artikel kali ini, Sobat Pembelajar. Semoga artikel ini bermanfaat, dan kalian bisa menggunakan operasi matematika baru ini untuk memecahkan masalah!