1 poin oleh GN⁺ 2024-05-26 | 1 komentar | Bagikan ke WhatsApp

Metode perhitungan tanggal yang diajukan Lewis Carroll

Surat yang dikirim Lewis Carroll ke Nature pada 31 Maret 1887:

Saya menemukan cara untuk menghitung secara mental hari dalam seminggu untuk suatu tanggal tertentu dengan metode berikut, dan saya kira ini akan menarik bagi para pembaca. Saya bukan penghitung cepat, dan rata-rata memerlukan sekitar 20 detik untuk menyelesaikan soal seperti ini. Karena itu, saya yakin seorang penghitung cepat tidak akan memerlukan bahkan 15 detik.

Cara menghitung

  • Bagi tanggal yang diberikan menjadi 4 bagian: abad, tahun, bulan, dan hari.
  • Hitung 4 komponen berikut, lalu tambahkan masing-masing ke total komponen sebelumnya. Jika suatu komponen atau total melebihi 7, bagi dengan 7 dan simpan hanya sisanya.

Komponen abad

  • Gaya lama (sebelum 2 September 1752): kurangi dari 18.
  • Gaya baru (setelah 14 September 1752): bagi dengan 4, kurangi sisanya dari 3, lalu kalikan sisanya dengan 2.
  • Contoh: untuk tahun 1811, komponen abad adalah 18.

Komponen tahun

  • Tambahkan kelipatan 12, sisanya, dan kelipatan 4 dari sisa tersebut.

Komponen bulan

  • Jika dimulai atau diakhiri dengan huruf vokal, kurangi posisi bulan itu dari 10. Tambahkan jumlah hari pada bulan tersebut ke nilai ini.
  • Contoh: komponen Januari adalah '0', Februari atau Maret adalah '3', Desember adalah '12'.
  • Nilai akhir: Januari 0, Februari 3, Maret 3, April 6, Mei 1, Juni 4, Juli 6, Agustus 2, September 5, Oktober 0, November 3, Desember 5.

Komponen hari

  • Jumlah hari pada bulan itu.

Penyesuaian tahun kabisat

  • Jika tanggalnya berada pada Januari atau Februari di tahun kabisat, kurangi '1' dari total akhir. Jika totalnya '0', tambahkan 7 terlebih dahulu.
  • Tahun kabisat: tahun yang habis dibagi 4, kecuali dalam gaya baru tahun abad yang tidak habis dibagi 4 dikecualikan (misalnya 1800).

Hasil akhir

  • Hasil akhir menunjukkan hari dalam seminggu. '0' adalah Minggu, '1' adalah Senin, dan seterusnya.

Contoh

18 September 1783

  • Komponen abad: 17 dibagi 4 memberi sisa '1'. 3 dikurangi 1 menjadi '2'. 2 dikali 2 menjadi '4'.
  • Komponen tahun: 83 adalah 6 lusin dan 11, total 17. Tambahkan 2 menjadi 19, dibagi 7 sisanya '5'. Total keseluruhan 9, dibagi 7 sisanya '2'.
  • Komponen bulan: komponen Agustus adalah '10 dikurangi 8', yaitu '2'. Komponen September adalah '2 ditambah 3', yaitu '5'. Total keseluruhan 7, dibagi 7 sisanya '0'.
  • Komponen hari: 18 adalah '4'.
  • Hasil akhir: 'Kamis'.

23 Februari 1676

  • Komponen abad: 18 dikurangi 16 menjadi '2'.
  • Komponen tahun: 76 adalah 6 lusin dan 4, total 10. Tambahkan 1 menjadi 11, dibagi 7 sisanya '4'. Total keseluruhan '6'.
  • Komponen bulan: komponen Februari adalah '3'. Total keseluruhan 9, dibagi 7 sisanya '2'.
  • Komponen hari: 23 adalah '2'. Total keseluruhan '4'.
  • Penyesuaian tahun kabisat: '3'.
  • Hasil akhir: 'Rabu'.

(Sumber: Edward Wakeling, Rediscovered Lewis Carroll Puzzles, 1995.)

Opini GN⁺

  • Metode perhitungan tanggal karya Lewis Carroll berguna untuk mengasah cara berpikir matematis.
  • Metode ini merupakan cara yang menarik untuk menghitung tanggal tanpa komputer.
  • Jika memahami detail seperti perhitungan tahun kabisat, hasil yang diperoleh bisa lebih akurat.
  • Menarik juga membandingkannya dengan perhitungan kalender modern.
  • Bagi orang yang menyukai teka-teki matematika, ini bisa menjadi tantangan yang menarik.

1 komentar

 
GN⁺ 2024-05-26
Opini Hacker News

Ringkasan kumpulan komentar Hacker News

  • Pengguna A: Metode ini sangat mirip dengan cara yang saya gunakan, dan juga digunakan oleh Art Benjamin. Bisa dilakukan dalam 10–15 detik, tetapi memerlukan latihan, sedikit hafalan, dan aritmetika sederhana. Setelah menguasai teknik ini, hasilnya sangat berguna.

    • Contoh: menghitung hari untuk 24 Mei 2024
      12 tahun sejak 2012
      3 tahun kabisat
      nomor bulan ajaib 2
      tanggal 24
      jumlahkan lalu ambil sisa bagi 7: Jumat
      
  • Pengguna B: JH Conway menggunakan teknik lain, yang lebih cepat dan mudah saat menghitung hari dalam tahun berjalan. Namun, saat menghitung "Doomsday" untuk tahun lain, ada kesulitan sehingga kembali ke metode dasar.

  • Pengguna C: Menarik membaca tentang perbedaan antara tanggal gaya lama dan gaya baru yang terjadi pada tahun 1752. Pada abad ke-18, tahun hukum di Inggris dimulai pada 25 Maret.

  • Pengguna D: Mengalami kesulitan memahami algoritme perhitungan nomor bulan. Ia menjelaskan cara menghitung nomor tiap bulan dan menunjukkan bahwa percobaannya tidak cocok dengan hasil yang disajikan dalam artikel.

  • Pengguna E: Algoritme Carroll telah berevolusi seiring waktu. Ia memperkenalkan First Sunday Doomsday Algorithm yang mencakup perbaikan terbaru.

  • Pengguna F: Menulis sebuah posting blog yang menjelaskan metode yang lebih sederhana. Detail lebih lanjut bisa dilihat melalui tautan.

  • Pengguna G: Sangat menarik melihat Art Benjamin mendemonstrasikan teknik ini dalam ceramah TED. Gerakan tangannya membantu melacak perhitungan di tengah proses.

  • Pengguna H: Menggunakan metode Lewis Carroll untuk menghitung hari pada 24 Mei 2024.

    • Contoh:
      item abad: 6
      item tahun: 2
      item bulan: 1
      item tanggal: 24
      total: Jumat
      
  • Pengguna I: Membagikan cara menghitung hari dari suatu tanggal menggunakan kode Python.

    def compute_day_of_week(date):
        day, month, year = date
        century = year // 100
        year_part = year % 100
    
        # Calculate century item
        if year < 1752 or (year == 1752 and (month < 9 or (month == 9 and day < 14))):
            century_item = (18 - century) % 7
        else:
            century_item = ((3 - (century % 4)) * 2) % 7
    
        # Calculate year item
        year_item = (year_part + (year_part // 4)) % 7
    
        # Calculate month item
        month_items = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5]
        month_item = month_items[month - 1]
    
        # Calculate day item
        day_item = day % 7
    
        # Total
        total = (century_item + year_item + month_item + day_item) % 7
    
        # Leap year correction
        if month <= 2 and (year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
            total = (total - 1 + 7) % 7
    
        return total
    
    def day_of_week_string(day_index):
        days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
        return days[day_index]
    
    # Get date input
    date_input = input("Enter a date (yyyy-mm-dd): ")
    year, month, day = map(int, date_input.split('-'))
    date = (day, month, year)
    
    # Calculate and print day of week
    day_index = compute_day_of_week(date)
    day_name = day_of_week_string(day_index)
    print(f"The day of the week for {date_input} is {day_name}.")
    
  • Pengguna J: Menekankan betapa pentingnya notasi dalam matematika. Ia menyebut notasi sebagai elemen yang sangat penting dalam matematika dan ilmu komputer.

  • Pengguna K: Jika seseorang bisa melakukan ini dalam 20 detik, itu luar biasa. Ia tidak menganggap dirinya sebagai "kalkulator cepat".