Pedometer di Aplikasi Seluler: Apa Itu, Cara Kerja, dan Tempat Penerapannya

Penulis: IT Sectr Diterbitkan: 2026-03-25 Waktu membaca: 8 mnt

Pedometer (penghitung langkah) dalam aplikasi seluler adalah mekanisme perangkat lunak-perangkat keras untuk menghitung langkah pengguna berdasarkan data akselerometer dan giroskop. Smartphone modern menggunakan algoritma pembelajaran mesin yang dikombinasikan dengan sensor untuk menentukan secara akurat aktivitas berjalan, berlari, dan jenis aktivitas fisik lainnya. Menurut data Apple HealthKit Documentation, 2025, akurasi penghitungan langkah pada perangkat modern mencapai 95–97% saat berjalan normal.

Poin Utama

  • Pedometer (penghitung langkah) — fungsi penghitungan langkah berdasarkan analisis data dari akselerometer, giroskop, dan algoritma pembelajaran mesin.
  • Algoritma pedometer modern mampu membedakan berjalan, berlari dan naik tangga, secara otomatis menentukan jenis aktivitas pengguna.
  • Sensor utama untuk penghitungan langkah adalah akselerometer, yang mencatat percepatan pada tiga sumbu di setiap langkah.
  • Di iOS, pengembang mendapatkan akses ke pedometer melalui CMPedometer dari Core Motion, di Android — melalui Sensor API dengan TYPE_STEP_COUNTER.
  • Akurasi penghitungan langkah tergantung pada lokasi perangkat: pedometer bekerja paling akurat saat smartphone dibawa di saku celana atau di pinggang.

Apa itu pedometer dalam aplikasi seluler?

Pedometer (penghitung langkah) dalam aplikasi seluler adalah fungsi yang menentukan jumlah langkah pengguna berdasarkan data yang berasal dari sensor gerak internal smartphone. Berbeda dengan pedometer mekanis di masa lalu, pedometer seluler menggunakan sensor mikro-elektro-mekanis (MEMS) dan algoritma pemrosesan sinyal digital untuk menghitung lokomosi secara akurat. Implementasi modern tidak hanya menghitung langkah, tetapi juga mengklasifikasikan aktivitas: berjalan, berlari, naik tangga.

Integrasi pedometer ke dalam perangkat seluler menjadi mungkin berkat kemunculan koprosesor gerak M7 di iPhone 5s pada tahun 2013, yang terus mengumpulkan data dari sensor dengan konsumsi daya minimal. Saat ini, semua smartphone modern memiliki dukungan perangkat keras untuk penghitungan langkah di tingkat hub sensor — chip khusus yang memproses data sensor inersia tanpa membangunkan prosesor utama.

Bagaimana cara kerja penghitungan langkah di smartphone

Penghitungan langkah di smartphone didasarkan pada analisis sinyal akselerometer, yang mengukur percepatan perangkat pada tiga sumbu tegak lurus (X, Y, Z). Saat berjalan, setiap langkah menciptakan pola percepatan yang khas: pertama puncak ke atas saat mengangkat kaki, kemudian puncak ke bawah saat mendarat. Frekuensi langkah (kadensi) adalah 100–130 langkah/menit untuk berjalan dan 150–180 langkah/menit untuk berlari, dengan amplitudo percepatan 2–6 m/s².

Pemrosesan sinyal akselerometer

Sinyal mentah dari akselerometer mengandung noise dan gangguan frekuensi tinggi, oleh karena itu tahap pertama pemrosesan adalah filter lolos-rendah (low-pass filter) dengan frekuensi potong 3–5 Hz. Setelah filtering, vektor percepatan dihitung: a = sqrt(x² + y² + z²), yang mengekstraksi percepatan terkait gerakan, terlepas dari orientasi perangkat. Kemudian algoritma mendeteksi maksimum lokal dalam sinyal — setiap maksimum sesuai dengan satu langkah.

Untuk mengurangi false positive (misalnya, saat terguncang di transportasi) diterapkan kriteria tambahan: amplitudo langkah minimum (biasanya >1,2 m/s²), interval minimum antar langkah (300–400 ms untuk berjalan) dan pemeriksaan periodisitas sinyal melalui autokorelasi. Jika interval waktu antar puncak tidak teratur, urutan tersebut ditandai sebagai gerakan acak dan tidak dihitung sebagai langkah.

Deteksi langkah melalui akselerometer

Algoritma dasar deteksi langkah menggunakan metode deteksi ambang batas: sistem mencari saat-saat ketika sinyal akselerometer melebihi ambang batas yang ditentukan dan kemudian kembali ke tingkat diam. Setiap peristiwa semacam itu dianggap sebagai langkah potensial. Ada dua pendekatan: deteksi puncak (peak detection) dan zero-crossing. Deteksi puncak mencatat maksimum sinyal, sedangkan zero-crossing — saat sinyal melewati nilai rata-rata, yang lebih sedikit tergantung pada amplitudo langkah.

Metode ambang batas dan algoritma adaptif

Algoritma penghitungan langkah modern menggunakan ambang batas adaptif yang secara otomatis menyesuaikan dengan gaya berjalan pengguna. Sistem menganalisis varians sinyal selama 2–3 detik terakhir dan menghitung ambang batas dinamis sebagai deviasi standar (RMS) dikalikan dengan koefisien. Ini memungkinkan penghitungan langkah yang benar baik saat berjalan lambat maupun berlari energetik tanpa kalibrasi silang antar jenis aktivitas.

Algoritma penghitungan langkah dan pembelajaran mesin

Implementasi modern pedometer tidak hanya menggunakan deteksi puncak, tetapi juga pembelajaran mesin untuk klasifikasi pola gerakan. Model jaringan saraf dilatih pada ribuan jam rekaman gerakan nyata dari berbagai skenario: berjalan di permukaan datar, naik tangga, berlari, perjalanan dengan transportasi. Fitur input adalah deret waktu akselerometer dan giroskop, dan outputnya adalah probabilitas bahwa segmen sinyal saat ini sesuai dengan lokomosi manusia.

Model jaringan saraf untuk klasifikasi aktivitas

Menurut data penelitian Google Activity Recognition, model berdasarkan jaringan saraf konvolusional (CNN) mencapai akurasi pengenalan berjalan sebesar 98% pada set data uji. Di perangkat Apple, Core ML digunakan dengan model Activity Classification, yang dilatih pada data lebih dari 100 ribu relawan. Model yang dioptimalkan bekerja langsung di perangkat (inferensi pada perangkat), yang memastikan pemrosesan instan dan menjaga privasi pengguna.

swift
import CoreMotion

class PedometerObserver {
    private let pedometer = CMPedometer()

    func startTracking() {
        guard CMPedometer.isStepCountingAvailable() else { return }
        
        pedometer.startUpdates(from: Date()) { data, error in
            guard let data = data else { return }
            
            let steps = data.numberOfSteps.intValue
            let distance = data.distance?.doubleValue
            let floorsAscended = data.floorsAscended?.intValue
            
            // Memperbarui UI dengan jumlah langkah
            DispatchQueue.main.async {
                // self.stepsLabel.text = "\(steps) langkah"
            }
        }
    }

    func stopTracking() {
        pedometer.stopUpdates()
    }
}

Pedometer di iOS dan Android: API dan kemampuan

Di iOS, untuk mengakses pedometer digunakan kelas CMPedometer dari framework Core Motion. CMPedometer tidak hanya menyediakan jumlah langkah, tetapi juga jarak tempuh, jumlah lantai (naik), kecepatan berjalan, dan waktu aktivitas. Data tersedia baik secara real-time (startUpdates) maupun untuk periode masa lalu (queryPedometerData). Koprosesor gerak (seri M) memproses data sensor di tingkat perangkat keras, yang mengurangi konsumsi daya hingga 80% dibandingkan dengan pemrosesan perangkat lunak.

Di Android, bekerja dengan pedometer dilakukan melalui dua sensor perangkat keras: TYPE_STEP_COUNTER (penghitung langkah kumulatif sejak boot) dan TYPE_STEP_DETECTOR (menghasilkan event untuk setiap langkah). TYPE_STEP_COUNTER tidak memerlukan kalibrasi dan tidak mengonsumsi daya prosesor — data diperbarui secara perangkat keras di tingkat hub sensor. Untuk mengakses statistik langkah harian, digunakan Google Fit API dengan catatan DataType.TYPE_STEP_COUNT_DELTA.

kotlin
import android.hardware.Sensor
import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager

class StepCounter(
    private val sensorManager: SensorManager
) : SensorEventListener {

    private var totalSteps = 0
    private var previousSteps = -1

    fun startListening() {
        val sensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)
        sensor?.let {
            sensorManager.registerListener(this, it, SensorManager.SENSOR_DELAY_NORMAL)
        }
    }

    override fun onSensorChanged(event: SensorEvent) {
        if (previousSteps < 0) {
            previousSteps = event.values[0].toInt()
        }
        val currentSteps = event.values[0].toInt()
        totalSteps = currentSteps - previousSteps
    }

    fun getStepCount(): Int = totalSteps

    override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
}

Akurasi dan keterbatasan pedometer seluler

Akurasi pedometer tergantung pada beberapa faktor: lokasi smartphone (di tangan, saku, atau tas), jenis aktivitas (berjalan, berlari, naik tangga), dan kualitas sensor. Saat smartphone dibawa di saku celana, akurasi mencapai 93–97%, di tas atau ransel turun menjadi 70–85%. Gaya berjalan pengguna juga mempengaruhi akurasi: langkah pendek dengan amplitudo percepatan kecil memberikan lebih banyak kesalahan daripada berjalan teratur.

Keterbatasan utama pedometer seluler meliputi: ketidakmampuan menghitung langkah pada gerakan sangat lambat (<1,5 km/jam), false positive dari perjalanan dengan transportasi, penurunan akurasi saat berlari dengan kecepatan rendah (jogging), dan pengaruh gerakan tangan saat berbicara. Untuk meminimalkan kesalahan, aplikasi modern menggunakan kombinasi sensor (akselerometer + giroskop + barometer) dan pembelajaran mesin untuk memfilter artefak. Barometer, misalnya, membantu menentukan naik tangga dan perubahan ketinggian, mengecualikan langkah palsu di lift.

Pertanyaan yang Sering Diajukan

Bagaimana cara kerja pedometer di telepon?

Pedometer di telepon menggunakan akselerometer yang mencatat percepatan di setiap langkah. Algoritma menganalisis puncak percepatan pada tiga sumbu, memfilter noise, dan menentukan jumlah langkah. Model modern juga menggunakan giroskop dan pembelajaran mesin untuk meningkatkan akurasi dan klasifikasi aktivitas.

Seberapa akurat pedometer di smartphone?

Saat membawa smartphone di saku celana, akurasi mencapai 95–97% saat berjalan biasa. Di tas atau ransel, akurasi turun menjadi 70–85%. Gaya berjalan dan jenis permukaan juga mempengaruhi akurasi — medan tidak rata dapat menyebabkan kesalahan hingga 10–15%.

Bisakah pedometer bekerja tanpa internet?

Ya, pedometer bekerja sepenuhnya mandiri tanpa koneksi internet. Semua perhitungan dilakukan di perangkat menggunakan sensor internal. Internet mungkin diperlukan hanya untuk sinkronisasi data dengan layanan cloud aplikasi kebugaran atau untuk menampilkan peta rute.

Mengapa pedometer di aplikasi berbeda menunjukkan angka yang berbeda?

Aplikasi yang berbeda menggunakan algoritma yang berbeda dalam memproses data sensor, ambang batas deteksi langkah, dan metode filtering. Beberapa aplikasi menghitung langkah berdasarkan data akselerometer mentah, yang lain — melalui API sistem (TYPE_STEP_COUNTER), dan perbedaan penghitungan bisa mencapai 10–15%.

Bagaimana cara mengakses pedometer di aplikasi Android?

Di Android, untuk mengakses pedometer gunakan sensor TYPE_STEP_COUNTER melalui Sensor API — sensor ini memberikan jumlah langkah kumulatif sejak perangkat terakhir di-restart. Untuk mengakses langkah pada hari tertentu, integrasikan Google Fit API dengan tipe data TYPE_STEP_COUNT_DELTA.

Kesimpulan

  • Pedometer (penghitung langkah) — fungsi perangkat seluler yang menentukan jumlah langkah berdasarkan data akselerometer MEMS dan algoritma pembelajaran mesin.
  • Metode utama penghitungan langkah adalah deteksi puncak dan zero-crossing dalam sinyal akselerometer dengan filtering artefak dan ambang batas adaptif.
  • Implementasi modern menggunakan jaringan saraf konvolusional untuk mengklasifikasikan berjalan, berlari, dan naik tangga dengan akurasi hingga 98%.
  • Di iOS, akses ke pedometer dilakukan melalui CMPedometer (Core Motion), di Android — melalui TYPE_STEP_COUNTER dan Google Fit API.
  • Penghitungan langkah perangkat keras di tingkat hub sensor tidak membangunkan prosesor utama, mengonsumsi daya 80% lebih sedikit dibandingkan pemrosesan perangkat lunak.
  • Akurasi pedometer tergantung pada lokasi perangkat: di saku celana — hingga 97%, di tas — 70–85%. Medan tidak rata dan jalan lambat juga mengurangi akurasi.
  • Untuk meminimalkan kesalahan digunakan kombinasi sensor: akselerometer + giroskop + barometer, yang memungkinkan menghilangkan langkah palsu saat perjalanan dengan transportasi dan mendeteksi naik tangga.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga