Indihome, salah satu ISP yang memiliki coverage paling luas di Indonesia dari Telkom Indonesia dan juga tempat kerja penulis saat ini😃. Ceritanya, penulis sudah menggunakan layanan Indihome sejak 2020. Indihome juga merupakan ISP pertama yang tersedia di daerah rumah penulis karena lokasi rumah penulis yang berada di gunung sehingga sulit akses internet baik melalui layanan GSM maupun broadband.
Pada tahun awal penggunaan Indihome, penulis sangat puas dengan layanan Indihome. Koneksi selalu bagus, ping rendah, dan tidak pernah ada gangguan.
Tapi sayang, tidak semua yang indah akan kekal selamanya☹️
Sejak tahun lalu, penulis merasa sepertinya koneksi internet lebih lambat daripada biasanya, dan pada April 2021 lalu penulis melakukan upgrade kecepatan internet dari 20 Mbps ke 30 Mbps. Dengan upgrade ini tentunya penulis kembali ke rutinitas dengan koneksi internet yang lebih stabil dan lancar.
Tapi, sejak awal tahun 2023 ini, lagi-lagi koneksi Indihome di rumah penulis terasa tidak optimal, tapi sebelum penulis meminta upgrade lagi ke plasa Telkom, penulis ingin cari tahu, apakah benar koneksi Indihome semakin hari semakin lambat atau hanya perasaan penulis saja?
SPOILER ALERT! Artikel ini merupakan artikel pembuka untuk seri Ristu-Pi Home Server. Stay tuned untuk melihat kelanjutan dari proyek home server penulis ya!
Apa Iya Indihome Lambat?
Untuk menjawab pertanyaan ini, penulis akan menggunakan metode sains dan uji statistik untuk membuktikan apakah koneksi internet Indihome lebih lambat dari biasanya atau koneksi lambat ini hanya perasaan penulis saja?
Seperti semua jenis penelitian, kita mulai dengan mendefinisikan rumusan masalah. Catatan: untuk mempermudah proses penelitian, penulis akan menguji hanya kecepatan unduh/download saja.
Apakah terdapat perbedaan yang signifikan antara kecepatan unduh Indihome di rumah penulis dibandingkan dengan harga layanan Indihome 30 Mbps?
$$ H_0: \mu = 30\newline H_1: \mu \neq 30 $$Berdasarkan rumusan masalah, dapat diambil hipotesis nol (H0) bahwa tidak ada perbedaan yang signifikan antara kecepatan unduh Indihome di rumah penulis dan langganan 30 Mbps dan hipotesis alternatif (H1) bahwa terdapat perbedaan yang signifikan antara kecepatan unduh Indihome di rumah penulis dan langganan 30 Mbps.
Akuisisi Data
Untuk menjawab hipotesis penelitian, kita perlu mengumpulkan data. Nah kebetulan sejak awal bulan Mei ini, penulis sedang membangun home server dengan nama Ritsu-Pi dan untuk melakukan akuisisi data ini, penulis akan menggunakan Prometheus untuk melakukan speed test setiap jam per harinya. Konsep sistem yang penulis gunakan adalah sebagai berikut.
graph LR A[Mikrotik MKTXP Exporter] --> C[Prometheus] B[Speedtest.net Exporter] --> C[Prometheus] C -->D[Grafana]
Melalui sistem yang sudah dibuat penulis, kita bisa mengumpulkan data kecepatan internet per jam per hari yang berarti 24 observasi per hari. Pada penelitian ini penulis mengumpulkan data sejak 01 Mei 2023 s.d. 14 Mei 2023 atau selama dua pekan.
Untuk melihat data secara real-time, penulis menggunakan Grafana untuk menampilkan visualisasi data dari Prometheus.
Nah dari grafik ini, sekilas kita bisa lihat kalau rata-rata kecepatan unduh Indohome ini sebesar 22,2 Mbps. Sudah terlihat kurang dari langganan Indihome penulis sebesar 30 Mbps. Untuk mempermudah mengambil data dari Prometheus, penulis menggunakan kode Python berikut.
|
|
Setelah kita punya fungsi untuk mengunduh data dari Prometheus, tahap selanjutnya adalah mengunduh data tersebut menjadi DataFrame
.
|
|
Tabel sampel data Prometheus.
timestamp | value | name |
---|---|---|
2023-05-01 04:40:46.320000+00:00 | 24199472.0 | speedtest_download_bits_per_second |
2023-05-01 05:40:46.321000192+00:00 | 22518976.0 | speedtest_download_bits_per_second |
2023-05-01 06:40:46.321000192+00:00 | 24287568.0 | speedtest_download_bits_per_second |
2023-05-01 07:40:46.321000192+00:00 | 24375656.0 | speedtest_download_bits_per_second |
2023-05-01 08:40:46.321000192+00:00 | 23379304.0 | speedtest_download_bits_per_second |
Tahap selanjutnya adalah kita perlu melakukan preprocessing untuk memperbaiki tipe data dan struktur data.
|
|
Proses yang kita lakukan menggunakan kode di atas adalah sebagai berikut.
- Mengonversi waktu pada kolom
timestamp
dari zona waktu UTC ke zona waktu Jakarta - Mengonversi satuan bps menjadi Mbps
- Memfilter data ke dua pekan lalu
Sampai di sini, data yang kita miliki sudah bisa diproses untuk melakukan analisis. Tahap selanjutnya adalah kita akan melakukan visualisasi data untuk mendapatkan gambaran data yang kita miliki.
Visualisasi Data
Sebelum kita lanjut dengan analisis statistik, kita perlu mengimpor library matplotlib
.
|
|
Pada data mentah yang kita punya, terdapat tiga kolom yaitu timestamp, name, dan value. Untuk meringkas data tersebut agar lebih mudah dipahami, kita bisa melakukan peringkasan data menggunakan pivot table.
|
|
Tabel sampel dataset kecepatan internet Indihome.
Tanggal, Waktu | Unduh (Mbps) | Unggah (Mbps) |
---|---|---|
2023-05-01 11:00:00 | 24.199472 | 10.272168 |
2023-05-01 12:00:00 | 22.518976 | 10.386192 |
2023-05-01 13:00:00 | 24.287568 | 10.304112 |
2023-05-01 14:00:00 | 24.375656 | 10.465504 |
2023-05-01 15:00:00 | 23.379304 | 10.662784 |
Nah, lebih mudah dibaca kan? Dari tabel ini bisa kita lihat perubahan kecepatan internet Indihome sejak awal Mei s.d. tanggal 14 Mei 2023.
Agar lebih intutif, kita bisa memvisualisasikan data ini sebagai grafik menggunakan matplotlib
.
|
|
Woww, ternyata sering gangguan😂. Tapi ingat ini adalah data per jam, mungkin kebetulan saja koneksi internet penulis sedang gangguan atau terputus. Karena kecepatan internet per jam juga tidak begitu representatif untuk menggambarkan secara umum kecepatan internet Indihome, sekali lagi kita akan meringkas data dengan melakukan resampling data dengan cara merata-ratakan kecepatan internet dari per jam menjadi per hari.
|
|
Tabel kecepatan internet Indihome per hari.
timestamp | download_mbps | upload_mbps |
---|---|---|
2023-05-01 | 22.99 | 10.39 |
2023-05-02 | 23.49 | 10.38 |
2023-05-03 | 24.07 | 10.47 |
2023-05-04 | 23.79 | 10.45 |
2023-05-05 | 24.12 | 10.51 |
Setelah kita memiliki data kecepatan internet harian, kita bisa melakukan visualisasi data kembali.
|
|
Dari visualisasi ini kita bisa lihat bahwa semakin hari kecepatan unduh Indihome semakin turun😓. Apakah ini hanya kebetulan atau sedang gangguan sementara?
Uji Statistik (Null Hyphotesis Significance Testing)
Untuk menguji apakah penenurunan kecepatan unduh Indihome selama dua pekan ini memiliki signifikansi yang tinggi atau tidak, kita akan melakukan uji statistik klasik.
Pada penelitian ini kita akan menggunakan metode uji menggunakan metode one sample T-test [2]. Secara umum, t-statistic dapat didefinisikan sebagai berikut.
$$ t=\frac{\bar{x}-\mu}{s/\sqrt{n}} $$Sebelum menghitung nilai t-statistic, kita perlu tahu rata-rata sampel \(\bar{x}\), rata-rata populasi \(\mu\), standar deviasi \(s\), dan banyaknya sampel \(n\). Kita bisa menggunakan fungsi describe
pada DataFrame
untuk mendapatkan informasi tersebut.
|
|
Tabel statistik deskriptif.
name | download_mbps | upload_mbps |
---|---|---|
count | 14.00 | 14.00 |
mean | 21.50 | 10.37 |
std | 2.95 | 0.08 |
min | 14.48 | 10.15 |
25% | 20.74 | 10.35 |
50% | 22.81 | 10.39 |
75% | 23.45 | 10.41 |
max | 24.12 | 10.51 |
Berdasarkan data pada tabel di atas, dapat dihitung nilai t-statistic sebagai berikut.
$$ \begin{align*} \nonumber t &= \frac{\bar{x}-\mu}{s/\sqrt{n}} \\ &= \frac{21,50517-30}{2,954165/\sqrt{14}} \\ &= -10,7593 \end{align*} $$Kita juga bisa menggunakan fungsi dari library scipy
untuk menghitung nilai t-statistic sebagai berikut.
|
|
|
|
Berdasarkan tabel T [1], dapat diambil nilai kritikal \(t_{(df=13,\alpha=0,05)}=2,106\). Karena \(t_{hitung} < t_{tabel}\), maka H0 ditolak. Kesimpulan yang sama juga bisa kita peroleh dari p-value yang terdapat pada hasil output kode di atas, karena p-value < 0,05 maka H0 ditolak.
Jadi, sudah terbukti bahwa terdapat perbedaan yang signifikan antara kecepatan unduh Indihome di rumah penulis tidak sesuai dengan langganan seharusnya 30 Mbps. Selain itu, karena sampel data ini diambil selama dua pekan terakhir, kejadian ini bukanlah gangguan sementara karena kalau sudah dua minggu lemot berarti bukan kasus “sementara” 😂
Kerugian
Penulis menggunakan layanan Indihome 2P (tapi hanya pakai internet-nya saja) 30 Mbps seharga Rp366.000 per bulan. Kalau kita hitung berdasarkan selisih rata-rata dari sampel data di atas, maka seharusnya biaya langganan per bulan penulis bisa berkurang sebesar:
$$ \begin{aligned} Rugi &= 366.000 - \left(\frac{366.000}{30} \times 21.50517 \right) \\ &= Rp103.721,92 \end{aligned} $$Lumayan juga ya kelebihan bayar ~100 ribu per bulan (28,32%)😂
Silly Statistics: Linear Regression
Sekarang kita akan masuk ke bagian iseng😂
Statistika merupakan ilmu yang sangat luas dan jika diterapkan dengan benar, dapat menjawab berbagai pertanyaan dan memberikan kita insight untuk membantu dalam proses pengambilan keputusan. Tapi bagaimana jadinya kalau statistika kita gunakan untuk menjawab pertanyaan yang salah?
Sekarang kita akan coba untuk menggunakan salah satu metode statistik, yaitu regresi linier untuk memprediksi kecepatan unduh Indihome di bulan yang akan datang. Apakah kecepatannya akan turun atau akan naik?
Bentuk umum model regresi linier dua variabel (bivariat) adalah sebagai berikut.
$$ y = mx + c $$Catatan! Apa yang akan penulis sampaikan di bawah ini merupakan implementasi regersi linier yang salah, karena penulis tidak melakukan uji homogenitas dan uji linieritas yang merupakan prasyarat analisis linier Pearson.
Dengan menggunakan library statsmodels
, kita akan melakukan analisis korelasi Pearson antara variabel timestamp
(hari) dan download_mbps
(kecepatan unduh).
|
|
Pada kode di atas kita mengonversi kolom timestamp
dari tanggal menjadi hari, yang berarti tanggal 01-05-2023 berubah menjadi 1 dan seterusnya. Setelah itu, kita aken menggunakan model Ordinary Least Squares (OLS) untuk melakukan analisis regresi linier.
|
|
Berdasarkan hasil analisis di atas, dapat dilihat bahwa Intercept (konstanta) pada model regresi memiliki p-value yang signifikan, sedangkan variabel timestamp memiliki p-value yang tidak signifikan. Artinya, variabel waktu kemungkinan besar tidak berpengaruh besar pada hasil prediksi, melainkan nilai galat (Intercept) yang memiliki pengaruh paling besar pada hasil regresi.
Berdasarkan output di atas, model regresi linier kita adalah:
$$ download mbps = 24,6899 - 0,49 \times timestamp $$Dari hasil regresi ini saja sudah terlihat bahwa model yang dibuat sudah tidak bagus😂 meskipun kita belum melakukan uji homogenitas dan uji linieritas.
Analisis regresi tidak lengkap kalau kita tidak membuat diagram pencar dengan garis regresi, maka dari itu kita akan membuat diagram pencar beserta garis regresinya menggunakan library seaborn
.
|
|
Nah, berdasarkan tren pada grafik di atas, dapat disimpulkan bahwa secara umum, kecepatan internet Indihome setiap harinya cenderung turun! Wahh…
Sekarang kita coba untuk melakukan prediksi menggunakan model yang sudah kita buat untuk 5 bulan ke depan.
|
|
Tabel prediksi kecepatan unduh Indihome lima bulan yang akan datang.
date | value |
---|---|
2023-04-30 | 29,099 |
2023-05-31 | 18,636 |
2023-06-30 | 2,396 |
2023-07-31 | -12.547 |
2023-08-31 | -27.735 |
2023-09-30 | -41,944 |
Menurut hasil prediksi, bulan depan rata-rata kecepatan unduh Indihome akan menjadi 2,396 Mbps dan di bulan depannya akan menjadi -12,547 Mbps alias hanya unggah/upload saja😂.
Tentu hasil prediksi ini salah karena alasan yang sudah penulis sebutkan sebelumnya, tapi hasil ini lucu jika ini benar terjadi. Tentunya tidak akan terjadi kan ya? Ya kan?😂
Simpulan
Simpulan utama yang bisa diambil: Indihome suck.
Indihome sebagai salah satu penyedia layanan internet terluas di Indonesia, seharusnya bisa menyediakan layanan internet yang reliabel dan stabil bagi seluruh pelanggannya. Penulis akan mencoba mengubungi kembali CS Indihome untuk komplain mengenai kecepatan internet ini, semoga bisa terselesaikan😊.
Selain itu, beberapa hal yang bisa kita ambil dari penelitian kecil ini adalah:
- Uji hipotesis menggunakan metode one sample t-test dapat dilakukan dengan mudah untuk menjawab pertanyaan yang berhubungan dengan membandingan dua rata-rata
- Proses analisis dapat dilakukan dengan lebih mudah menggunakan bantuan pemrograman Python
- Tidak semua model statistik dapat langsung digunakan untuk semua studi kasus, misalnya analisis korelasi Pearson membutuhkan asumsi data terdistribusi secara homogen dan linier tetapi pada penelitian ini dua asumsi tersebut tidak terpenuhi, sehingga menghasilkan analisis yang salah
Terima kasih semuanya! Sampai jumpa di artikel lainnya.
Referensi
- Gerstman, B. Burt. 2003. StatPrimer t Table. Diakses 15 Mei 2023.
- JMP Statistical Discovery. 2023. The One-Sample t-Test. Diakses 15 Mei 2023.