Waktu pasang senar ulang ditentukan oleh pemakaian, bukan tanggal. Dalam bulan yang sama, orang yang bermain sekali seminggu dan yang bermain empat kali seminggu menghabiskan waktu di lapangan empat kali lipat berbeda. Kalender berjalan dengan kecepatan yang sama, tetapi beban pada senar sama sekali tidak.
String GOAT dulu juga dimulai dengan cara yang sama: tanggal pemasangan senar ditambah siklus dalam hitungan hari. Saya sendiri memasang senar raket saya sendiri, jadi saya terus merasakan di mana acuan itu mulai tidak akurat. Minggu yang padat bermain dan minggu yang hampir tidak sempat bermain menghasilkan pengingat yang sama pada hari yang sama.
Memindahkan acuan dari tanggal ke pemakaian tampak seperti solusi yang jelas, dan justru di situlah saya mentok. Durasi bermain berubah dari data menjadi ingatan begitu saya menyelesaikan sesi lalu memperkirakan "kira-kira dua setengah jam hari ini". Jumlah pukulan bahkan sama sekali tidak bisa dihitung. Saya sedang membangun aplikasi untuk mencatat senar, tetapi tidak punya cara untuk mencatat seberapa banyak kerja yang sudah dilakukan senar itu sebenarnya.
Aplikasi jam tangan ini dibuat untuk menutup celah itu. Mulai sesi di Apple Watch atau Galaxy Watch, dan aplikasi mencatat jumlah pukulan serta durasi bermain, lalu catatan itu menjadi dasar keputusan pasang senar ulang.
Membangunnya berarti harus melewati satu kendala. Di lapangan, pemain biasanya memakai jam di pergelangan yang tidak memegang raket, karena di tangan pemegang raket jam mengganggu grip dan langsung menerima benturannya. Untuk menghitung pukulan, kebiasaan itu justru merugikan: guncangan saat bola menyentuh raket paling jelas terlihat pada lengan yang memegang raket, dan jauh lebih lemah di lengan satunya. Karena itu, penghitungan pukulan lewat sensor pergelangan biasanya berangkat dari asumsi "pakailah jam di tangan pemegang raket".
String GOAT memilih untuk tidak mengubah asumsi itu. Pakai jam di tempat yang biasa Anda pakai, yaitu pergelangan tanpa raket.
Artikel ini untuk pemain yang memasang senar raketnya sendiri atau mengelola siklus penggantian senarnya sendiri. Artikel ini membahas cara kerja deteksinya, seberapa akurat sebenarnya, dan bagaimana catatan itu menjadi dasar keputusan pasang senar ulang.
Ringkasan penting
- Perangkat yang didukung — watchOS 9.0 atau lebih baru (Apple Watch Series 4 ke atas) dan Wear OS 3.0 atau lebih baru, termasuk Galaxy Watch. Bekerja bersama aplikasi ponsel yang terpasang.
- Tempat pemakaian — pergelangan yang tidak memegang raket.
- Yang direkam — jumlah pukulan, durasi bermain, detak jantung, kalori, dan rute GPS luar ruangan.
- Akurasi — ayunan kosong dan berjalan tidak dihitung. Untuk keseluruhan pukulan dari baseline hasilnya sekitar tiga per empat, dan backhand satu tangan tercatat lebih sedikit dari yang sebenarnya.
- Kegunaan — durasi bermain yang terakumulasi dibandingkan dengan acuan usia pakai per jenis senar, sehingga pengingat mengikuti pemakaian nyata, bukan kalender.
Membaca pukulan dari sinyal yang lemah
Jejaknya memang sampai ke lengan satunya. Hanya saja lemah. Yang dibutuhkan bukan sinyal yang lebih kuat, melainkan model yang dilatih untuk membaca sinyal yang lemah.
String GOAT menerapkan model Silent Impact yang dipublikasikan tim riset KAIST, yang dibuat untuk mengenali benturan hanya dari gerakan lengan yang tidak memegang raket. Model ini dipresentasikan di UIST 2024, ACM Symposium on User Interface Software and Technology (Park, Yang, Jo), dan dirilis dengan lisensi CC BY 4.0 yang mengizinkan penggunaan komersial dengan atribusi. String GOAT mencantumkan atribusi ini di layar lisensi sumber terbuka aplikasi. Makalahnya dapat dibaca di ACM Digital Library.
Analisis berjalan di ponsel, bukan di jam tangan. Jam mengumpulkan data sensor lalu mengirimkannya; ponsel memprosesnya lewat model tersebut. Karena proses ini sepenuhnya terjadi di perangkat, sinyal internet yang buruk di lapangan tidak memengaruhi deteksinya.
Apa yang direkam dalam satu sesi
Pilih raket, mulai sesi di aplikasi jam tangan, dan hal-hal berikut terakumulasi sampai Anda mengakhirinya.
| Item | Rincian |
|---|---|
| Jumlah pukulan | Banyaknya benturan yang terdeteksi |
| Durasi bermain | Dari awal hingga akhir sesi |
| Detak jantung | Rata-rata, maksimum, dan durasi per zona |
| Kalori | Dari data kesehatan jam tangan |
| Jarak dan rute | Sesi luar ruangan dengan GPS aktif |
Perangkat yang didukung adalah watchOS 9.0 atau lebih baru (Apple Watch Series 4 ke atas) dan Wear OS 3.0 atau lebih baru, termasuk Galaxy Watch. Aplikasi jam tangan bekerja bersama aplikasi String GOAT di ponsel yang terpasang, sehingga aplikasi ponselnya juga diperlukan.
Seberapa akurat
Begitu jumlah pukulan muncul di layar, pertanyaan "apakah ini benar?" langsung muncul. Angka-angka di bawah ini adalah hasil pengukuran kami sendiri di aplikasi ini, bukan performa yang dilaporkan dalam makalah — model yang sama bisa berperilaku berbeda ketika perangkat keras jam dan proses pengolahan di sekitarnya berubah.
Mulai dari yang sudah terbukti andal. Mengayunkan raket tanpa bola tidak dihitung. Dalam pengujian indoor, 30 ayunan tanpa bola tercatat 0, begitu pula berjalan dan berdiri diam. Model mendeteksi kontak dengan bola, bukan ayunannya sendiri, sehingga angkanya tidak naik saat Anda berjalan membawa raket di lapangan atau memungut bola. Dalam pengujian yang berfokus pada forehand, hasilnya hampir identik dengan jumlah bola yang benar-benar dipukul.
Bagian yang masih kurang.
- Untuk keseluruhan pukulan dari baseline (forehand dan backhand yang dipukul setelah bola memantul), hasilnya sekitar tiga per empat. Angkanya bisa lebih rendah dari yang sebenarnya dipukul.
- Backhand satu tangan paling banyak tercatat kurang. Data latih di balik model tersebut tampaknya memuat sangat sedikit pemain backhand satu tangan.
- Voli cepat bisa terlewat. Pukulan yang beruntun dalam jeda pendek bisa tergabung menjadi satu.
- Jenis pukulan tidak dibedakan. Tidak ada rincian forehand, backhand, atau voli.
Jadi, ini bukan hitungan persis seorang wasit. Ini lebih dekat ke indikator beban latihan yang bisa dibandingkan antarsesi. Cukup untuk melihat apakah hari ini lebih berat dibanding minggu lalu, atau seberapa banyak senar ini sudah menanggung beban sejauh ini. Bukan angka yang bisa dipakai sebagai nilai mutlak.
Bagaimana catatan yang terakumulasi menggerakkan pengingat
Ini memunculkan pertanyaan yang wajar: kalau jumlahnya tidak persis, bagaimana bisa menjadi dasar keputusan? Yang sebenarnya menggerakkan pengingat adalah durasi bermain, bukan jumlah pukulan. Durasi diambil dari awal dan akhir sesi, sehingga ini nilai yang terukur, bukan perkiraan.
Setelah sesi tersimpan, durasi bermain terakumulasi per raket. String GOAT membandingkan waktu akumulasi tersebut dengan acuan usia pakai untuk jenis senar itu. Poliester, multifilamen, dan gut alami bertahan dalam rentang waktu yang berbeda, sehingga setiap jenis punya acuannya sendiri, dan nilai-nilai itu berasal dari penelusuran sumber-sumber yang dipublikasikan. Bahwa sebuah senar bisa kehilangan performa jauh sebelum putus juga didokumentasikan dalam pengujian Tennis Warehouse University.
Yang berubah bukan kapan pengingat itu muncul, melainkan apa dasarnya. Alih-alih "sudah sebulan sejak dipasang", dasarnya menjadi "sudah berapa jam senar ini benar-benar dipakai". Orang yang bermain sebulan sekali dan yang bermain empat kali seminggu tidak lagi menerima pengingat yang sama pada hari yang sama.
Jumlah pukulan juga terakumulasi per raket dengan cara yang sama. Disandingkan dengan durasi bermain, angka ini membedakan senar yang menerima banyak kontak dari senar yang melewati jam bermain sama dengan bola jauh lebih sedikit.
Digabung dengan pengukuran tegangan, keputusannya makin tepat
Jam bermain dan jumlah pukulan saja sudah lebih baik dibanding kalender. Tetapi keduanya masih hanya menggambarkan seberapa banyak senar dipakai, bukan kondisinya saat ini.
Ada nilai terpisah untuk kondisi tersebut: tegangan segera setelah pemasangan, dan DT (tegangan dinamis, atau kekakuan senar) yang diukur setelahnya. Masukkan DT awal saat mendaftarkan senar dan nilai itu menjadi acuan; setiap pengukuran berikutnya menambahkan satu titik baru.
Data jam tangan menambahkan satu sumbu lagi ke sini. Alih-alih bertanya seberapa jauh tegangan turun dalam berapa hari, Anda bisa bertanya seberapa jauh turun dalam berapa kali bola dipukul. Jam menyediakan jumlah pukulan di antara dua pengukuran mana pun.
Begitu titik-titik data terkumpul, String GOAT memperpanjang tren tersebut untuk memperkirakan kapan akan mencapai ambang batas. Ambang batasnya adalah laju penurunan terhadap acuan ditambah skor subjektif, dan hasilnya berupa perkiraan tanggal pasang senar ulang atau sisa jumlah pukulan. Setiap kali ada data pengukuran tegangan, metode ini digunakan secara otomatis — sinyal mana yang menentukan adalah soal ketersediaan data, bukan pengaturan.
