Fungsi merupakan sekumpulan instruksi atau statement yang dapat melakukan tugas khusus. Operator pipe (\(\%>\%\)) adalah operator biner yang meneruskan nilai sisi kirinya ke argumen pertama fungsi di sisi kirinya. Hal ini memungkinkan cara yang alami dan mudah dibaca untuk menggabungkan beberapa fungsi secara bersamaan, mengurangi kebutuhan akan variabel perantara dan meningkatkan keterbacaan kode (Nelamali, 2024).
Implementasi pipe operator tidak sekadar mempermudah penulisan kode, melainkan juga meningkatkan keterbacaan dan efisiensi analisis data. Berbagai bidang seperti sains, ekonomi, kesehatan, dan teknologi informasi telah memanfaatkan metode ini dalam pengolahan data kompleks. Keunggulan pipe operator terletak pada kemampuannya menghasilkan alur kerja yang lebih sistematis dan mudah dipahami. Struktur sintaks yang dihasilkan lebih mirip dengan alur berpikir manusia dibandingkan struktur fungsi konvensional. Potensi pengembangan pipe operator dalam mendukung proses analisis data yang semakin kompleks terus menjadi fokus para pengembang perangkat lunak statistik (Einspruch, 2022).
Fungsi utama pipe operator adalah mengambil hasil dari satu fungsi dan menjadikannya input untuk fungsi berikutnya. Ini memungkinkan untuk menghubungkan beberapa fungsi dalam satu baris kode, yang memperjelas langkah-langkah analisis data. Misalnya, daripada menulis banyak baris kode untuk memfilter, mengubah, dan merangkum data, lebih baik melakukannya dalam satu pernyataan yang lebih ringkas (Einspruch, 2022).
Berdasarkan latar belakang di atas, masalah yang dapat disimpulkan adalah sebagai berikut:
Berdasarkan rumusan masalah pada penelitian ini, tujuan yang dapat disimpulkan adalah:
Adapun manfaat pada penelitian ini, yaitu:
Adapun batasan masalah pada penelitian ini yaitu sebuah toko bernama
Statvers mencatat data penjualan beberapa produk selama satu minggu.
Data yang tersedia dapat dilihat pada Lampiran 1. Pada kolom Jumlah,
gunakan \(X\) = digit kedua terakhir
NPM dan \(Y\) = digit terakhir NPM.
Selanjutnya, pemilik toko Statvers meminta bantuan peneliti untuk
menggunakan pipe operator dalam melakukan analisis berikut: a.
Hitung total pendapatan berdasarkan kategori, di mana pendapatan
diperoleh dari Harga x Jumlah.
b. Hitung rata-rata jumlah produk terjual berdasarkan kategori.
c. Urutkan jumlah penjualan dari terbesar ke terkecil berdasarkan
hari.
d. Hitung total pendapatan berdasarkan hari.
Adapun sistematika penulisan dari praktikum ini adalah sebagai berikut:
Pipe operator (\(\%>\%\)) dalam R adalah simbol yang
digunakan untuk mengalirkan output dari suatu fungsi sebagai
input ke fungsi berikutnya. Pipe operator ini
diperkenalkan oleh package magrittr dan sekarang
juga menjadi bagian dari dplyr dalam
tidyverse. Penggunaannya membantu meningkatkan keterbacaan
dan efisiensi kode karena memungkinkan penulisan alur pemrosesan data
yang berurutan tanpa perlu membuat variabel sementara atau menyarangkan
fungsi (Einspruch, 2022).
Salah satu hal yang paling menarik dari ekosistem
tidyverse adalah pipe operator yang disimbolkan
dengan \(\%>\%\) yang memberikan
pernyataan sebelumnya sebagai masukan kontekstual untuk pernyataan
setelahnya. Menggunakan pipe operator memberi kejelasan yang
lebih baik dalam hal penataan kode, selain menghemat kebutuhan untuk
mengetikkan beberapa pernyataan kontekstual yang berulang (Novaliendry,
2024).
Pipe operator adalah fitur dalam bahasa pemrograman R yang
digunakan untuk mengalirkan hasil dari satu fungsi sebagai
input ke fungsi berikutnya. Ini merupakan bagian dari paket
magrittr dan sangat populer dalam tidyverse.
Berikut keunggulan penggunaan pipe operator (Novianti,
2026):
Menggunakan pipe operator dapat membuat kode-kode pada bahasa R dapat dialirkan dari satu fungsi sebagai input ke fungsi berikutnya. Pipe operator menggunakan simbol (\(\%>\%\)) setiap ingin mengalirkan input-an fungsi. Pipe operator ini secara cepat melewatkan nilai pada sisi kiri sebagai argumen pertama pada fungsi yang berada di sisi sebelah kanan. Menggunakan pipe operator pada program R membantu agar kode itu lebih mudah dibaca dan lebih ringkas (Nugroho, 2024).
Jenis data yang digunakan pada penelitian ini adalah kuantitatif. Data kuantitatif merupakan data atau informasi yang didapatkan dalam bentuk angka atau numerik. Data kuantitatif dapat diproses menggunakan rumus matematika atau dapat juga dianalisis dengan sistem statistik.
Sumber data yang digunakan dalam penelitian ini yaitu data sekunder. Data sekunder adalah data yang diperoleh atau dikumpulkan oleh orang yang melakukan penelitian dari sumber-sumber yang sudah ada tanpa melalui proses pengumpulan data secara langsung. Pada penelitian ini, data yang digunakan pada batasan masalah laporan ini merupakan data yang diperoleh dari Asisten Praktikum Komputasi Statistika.
Variabel penelitian adalah karakter atau segala sesuatu yang menjadi perhatian dalam suatu penelitian. Sehingga, variabel penelitian merupakan sesuatu yang menjadi sasaran atau pengamatan yang dapat diobservasi atau diukur. Pada laporan ini terdapat variabel penelitian berupa variabel hari, produk, kategori, harga, jumlah penjualan.
Pada bagian ini disajikan hasil analisis data yang dilakukan berdasarkan batasan masalah yang telah ditetapkan. Analisis dilakukan menggunakan bahasa pemrograman R dengan tujuan untuk memahami penerapan konsep dan operasi yang berkaitan dengan materi yang dikaji. Berikut algoritma yang digunakan untuk melakukan pipe operator pada program R:
Berdasarkan penelitian, didapat diagram alir pipe operator pada program R sebagai berikut:
( Mulai )
|
v
/ Input data /
|
v
[ Gunakan pipe operator (% > %) ]
|
v
[ Membuat fungsi filter, select, ]
[ mutate, dan arrange ]
|
v
[ Eksekusi syntax ]
|
v
/ Output /
|
v
( Selesai )
Gambar 3.1 Diagram alir pipe operator
Berikut adalah sintaks R untuk memasukkan data transaksi penjualan Toko Statvers yang telah disesuaikan dengan angka NPM praktikan (Dihya Hanifah Mardatillah - F1F025058):
library(dplyr)
library(magrittr)
# 1. Membuat data frame penjualan Statvers
data_statvers <- data.frame(
Hari = c(
"Senin", "Senin", "Senin", "Senin",
"Selasa", "Selasa", "Selasa",
"Rabu", "Rabu", "Rabu", "Rabu",
"Kamis", "Kamis", "Kamis",
"Jumat", "Jumat",
"Sabtu", "Sabtu", "Sabtu", "Sabtu",
"Minggu", "Minggu", "Minggu", "Minggu"
),
Produk = c(
"Pulpen", "Buku", "Tumbler", "Kaca",
"Pulpen", "Buku", "Kaca",
"Pulpen", "Buku", "Tumbler", "Kaca",
"Pulpen", "Buku", "Tumbler",
"Pulpen", "Buku",
"Pulpen", "Buku", "Tumbler", "Kaca",
"Pulpen", "Buku", "Tumbler", "Kaca"
),
Kategori = c(
"Alat Tulis", "Alat Tulis", "Aksesoris", "Aksesoris",
"Alat Tulis", "Alat Tulis", "Aksesoris",
"Alat Tulis", "Alat Tulis", "Aksesoris", "Aksesoris",
"Alat Tulis", "Alat Tulis", "Aksesoris",
"Alat Tulis", "Alat Tulis",
"Alat Tulis", "Alat Tulis", "Aksesoris", "Aksesoris",
"Alat Tulis", "Alat Tulis", "Aksesoris", "Aksesoris"
),
Harga = c(
5000, 12000, 35000, 15000,
5000, 12000, 15000,
5000, 12000, 35000, 15000,
5000, 12000, 35000,
5000, 12000,
5000, 12000, 35000, 15000,
5000, 12000, 35000, 15000
),
Jumlah = c(
20, 15, 13, 3,
25, 10, 5,
18, 20, 10, 11,
17, 9, 10,
19, 11,
10, 5, 18, 21,
14, 12, 18, 19
)
)
knitr::kable(data_statvers, caption = "Data Penjualan Toko Statvers")
| Hari | Produk | Kategori | Harga | Jumlah |
|---|---|---|---|---|
| Senin | Pulpen | Alat Tulis | 5000 | 20 |
| Senin | Buku | Alat Tulis | 12000 | 15 |
| Senin | Tumbler | Aksesoris | 35000 | 13 |
| Senin | Kaca | Aksesoris | 15000 | 3 |
| Selasa | Pulpen | Alat Tulis | 5000 | 25 |
| Selasa | Buku | Alat Tulis | 12000 | 10 |
| Selasa | Kaca | Aksesoris | 15000 | 5 |
| Rabu | Pulpen | Alat Tulis | 5000 | 18 |
| Rabu | Buku | Alat Tulis | 12000 | 20 |
| Rabu | Tumbler | Aksesoris | 35000 | 10 |
| Rabu | Kaca | Aksesoris | 15000 | 11 |
| Kamis | Pulpen | Alat Tulis | 5000 | 17 |
| Kamis | Buku | Alat Tulis | 12000 | 9 |
| Kamis | Tumbler | Aksesoris | 35000 | 10 |
| Jumat | Pulpen | Alat Tulis | 5000 | 19 |
| Jumat | Buku | Alat Tulis | 12000 | 11 |
| Sabtu | Pulpen | Alat Tulis | 5000 | 10 |
| Sabtu | Buku | Alat Tulis | 12000 | 5 |
| Sabtu | Tumbler | Aksesoris | 35000 | 18 |
| Sabtu | Kaca | Aksesoris | 15000 | 21 |
| Minggu | Pulpen | Alat Tulis | 5000 | 14 |
| Minggu | Buku | Alat Tulis | 12000 | 12 |
| Minggu | Tumbler | Aksesoris | 35000 | 18 |
| Minggu | Kaca | Aksesoris | 15000 | 19 |
Berikut ringkasan statistik deskriptif dari variabel Harga dan Jumlah Penjualan:
cat("Statistik Deskriptif Variabel Harga:\n")
#> Statistik Deskriptif Variabel Harga:
summary(data_statvers$Harga)
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 5000 5000 12000 15375 15000 35000
cat("\nStatistik Deskriptif Variabel Jumlah Penjualan:\n")
#>
#> Statistik Deskriptif Variabel Jumlah Penjualan:
summary(data_statvers$Jumlah)
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 3.00 10.00 13.50 13.88 18.25 25.00
Perhitungan total pendapatan (\(\text{Harga} \times \text{Jumlah}\)) yang dikelompokkan berdasarkan kategori produk dilakukan menggunakan pipe operator (\(\%>\%\)):
pendapatan_kategori <- data_statvers %>%
mutate(Pendapatan = Harga * Jumlah) %>%
group_by(Kategori) %>%
summarise(Total_Pendapatan = sum(Pendapatan))
knitr::kable(pendapatan_kategori, caption = "Tabel 4.1 Total Pendapatan Berdasarkan Kategori")
| Kategori | Total_Pendapatan |
|---|---|
| Aksesoris | 3300000 |
| Alat Tulis | 1599000 |
Berdasarkan Tabel 4.1 mengenai total pendapatan berdasarkan kategori, dapat diketahui akumulasi pendapatan penjualan dari seluruh produk yang dijual di toko Statvers. Kategori Aksesoris menyumbangkan total pendapatan terbesar bagi toko Statvers, yaitu mencapai Rp3.300.000,00. Sementara itu, kategori Alat Tulis menghasilkan total pendapatan sebesar Rp1.599.000,00. Hasil ini menunjukkan bahwa meskipun jenis produk kategori Aksesoris relatif lebih sedikit dibanding kategori Alat Tulis, nilai jual produk yang lebih tinggi pada kategori Aksesoris memberikan kontribusi finansial yang signifikan terhadap pendapatan keseluruhan toko Statvers.
Berikut adalah sintaks dan hasil analisis rata-rata unit produk terjual per kategori:
ratarata_kategori <- data_statvers %>%
group_by(Kategori) %>%
summarise(Rata_Rata_Penjualan = mean(Jumlah))
knitr::kable(ratarata_kategori, digits = 1, caption = "Tabel 4.2 Rata-Rata Jumlah Terjual Berdasarkan Kategori")
| Kategori | Rata_Rata_Penjualan |
|---|---|
| Aksesoris | 12.8 |
| Alat Tulis | 14.6 |
Berdasarkan Tabel 4.2 mengenai rata-rata jumlah produk yang terjual berdasarkan kategori, terlihat perbedaan volume pergerakan barang harian di toko Statvers. Kategori Alat Tulis mencatatkan rerata penjualan produk tertinggi, yaitu sebesar 14,6 unit per transaksi/hari. Sebaliknya, kategori Aksesoris mencatatkan rata-rata penjualan sebesar 12,8 unit per transaksi/hari. Hal ini menunjukkan bahwa produk-produk pada kategori Alat Tulis lebih sering dibeli oleh konsumen dibandingkan produk kategori Aksesoris.
Pengurutan jumlah penjualan dari yang terbesar hingga terkecil berdasarkan hari dilakukan menggunakan sintaks berikut:
urutan_penjualan_hari <- data_statvers %>%
arrange(Hari, desc(Jumlah))
knitr::kable(urutan_penjualan_hari, caption = "Tabel 4.3 Urutan Jumlah Penjualan per Hari (Terbesar ke Terkecil)")
| Hari | Produk | Kategori | Harga | Jumlah |
|---|---|---|---|---|
| Jumat | Pulpen | Alat Tulis | 5000 | 19 |
| Jumat | Buku | Alat Tulis | 12000 | 11 |
| Kamis | Pulpen | Alat Tulis | 5000 | 17 |
| Kamis | Tumbler | Aksesoris | 35000 | 10 |
| Kamis | Buku | Alat Tulis | 12000 | 9 |
| Minggu | Kaca | Aksesoris | 15000 | 19 |
| Minggu | Tumbler | Aksesoris | 35000 | 18 |
| Minggu | Pulpen | Alat Tulis | 5000 | 14 |
| Minggu | Buku | Alat Tulis | 12000 | 12 |
| Rabu | Buku | Alat Tulis | 12000 | 20 |
| Rabu | Pulpen | Alat Tulis | 5000 | 18 |
| Rabu | Kaca | Aksesoris | 15000 | 11 |
| Rabu | Tumbler | Aksesoris | 35000 | 10 |
| Sabtu | Kaca | Aksesoris | 15000 | 21 |
| Sabtu | Tumbler | Aksesoris | 35000 | 18 |
| Sabtu | Pulpen | Alat Tulis | 5000 | 10 |
| Sabtu | Buku | Alat Tulis | 12000 | 5 |
| Selasa | Pulpen | Alat Tulis | 5000 | 25 |
| Selasa | Buku | Alat Tulis | 12000 | 10 |
| Selasa | Kaca | Aksesoris | 15000 | 5 |
| Senin | Pulpen | Alat Tulis | 5000 | 20 |
| Senin | Buku | Alat Tulis | 12000 | 15 |
| Senin | Tumbler | Aksesoris | 35000 | 13 |
| Senin | Kaca | Aksesoris | 15000 | 3 |
Berdasarkan Tabel 4.3 mengenai urutan Jumlah Penjualan per Hari dari yang terbesar hingga terkecil, dapat diidentifikasi produk-produk yang paling dominan terjual setiap harinya. Jumlah Penjualan produk tertinggi dalam satu transaksi dicapai oleh produk Pulpen pada hari Selasa yaitu sebanyak 25 unit, diikuti oleh produk Kaca pada hari Sabtu sebanyak 21 unit, dan produk Buku pada hari Rabu sebanyak 20 unit. Adapun Jumlah Penjualan produk terendah terjadi pada penjualan produk Kaca di hari Senin, yaitu hanya sebanyak 3 unit. Informasi pengurutan ini memberikan gambaran bagi toko Statvers mengenai pola preferensi konsumen terhadap jenis produk tertentu pada hari-hari tertentu.
Berikut adalah rekapitulasi total pendapatan Toko Statvers untuk setiap harinya:
pendapatan_hari <- data_statvers %>%
mutate(Pendapatan = Harga * Jumlah) %>%
group_by(Hari) %>%
summarise(Total_Pendapatan = sum(Pendapatan))
knitr::kable(pendapatan_hari, caption = "Tabel 4.4 Total Pendapatan Berdasarkan Hari")
| Hari | Total_Pendapatan |
|---|---|
| Jumat | 227000 |
| Kamis | 543000 |
| Minggu | 1129000 |
| Rabu | 845000 |
| Sabtu | 1055000 |
| Selasa | 320000 |
| Senin | 780000 |
Berdasarkan Tabel 4.4 mengenai total pendapatan harian, diperoleh gambaran pendapatan penjualan toko Statvers selama satu minggu. Hari Minggu menjadi hari dengan total pendapatan tertinggi, yaitu mencapai Rp1.129.000,00, disusul oleh hari Sabtu sebesar Rp1.055.000,00 dan hari Rabu sebesar Rp845.000,00. Selanjutnya, total pendapatan pada hari Senin tercatat sebesar Rp780.000,00, hari Kamis sebesar Rp543.000,00, dan hari Selasa sebesar Rp320.000,00. Sementara itu, hari Jumat mencatatkan pendapatan terendah yaitu hanya sebesar Rp227.000,00. Hasil ini menunjukkan bahwa puncak tingkat penjualan toko Statvers terjadi pada akhir pekan yang ditunjukkan oleh tingginya transaksi dan pendapatan yang diperoleh.
Pipe operator (\(\%>\%\)) adalah operator yang memanggil
fungsi berikutnya dengan meneruskannya sebagai argumen pertama hasil
dari fungsi sebelumnya. Argumen tambahan diteruskan untuk keterbacaan
kode yang mana penting untuk menamainya. Sebagian besar fungsi R dapat
digunakan tanpa kesulitan di tidyverse, meskipun tidak
dirancang untuk tujuan ini, cukup argumen pertama mereka adalah data
yang akan diproses.
Penerapan pipe operator dalam program R dilakukan dengan
menggunakan simbol %>% atau dengan
Ctrl+Shift+M. Simbol %>% diletakkan antara
fungsi yang ingin dihubungkan. Selanjutnya jalankan program, sehingga
akan diperoleh output yang diinginkan.
Berdasarkan hasil pengolahan data penjualan toko Statvers menggunakan
pipe operator (\(\%>\%\))
dapat disimpulkan bahwa penerapan fungsi-fungsi pada paket
dplyr mampu menyederhanakan alur analisis data secara
efisien dan terstruktur. Hasil analisis menunjukkan bahwa kategori
Aksesoris menjadi penyumbang pendapatan tertinggi dengan total
pendapatan sebesar Rp3.300.000,00, meskipun kategori Alat Tulis memiliki
perputaran barang yang lebih cepat dengan rata-rata penjualan mencapai
14,6 unit per transaksi dibandingkan Aksesoris sebesar 12,8 unit.
Berdasarkan urutan penjualan harian, volume penjualan produk tertinggi
dalam satu transaksi dicapai oleh produk Pulpen pada hari Selasa
sebanyak 25 unit, sedangkan yang terendah terjadi pada produk Kaca di
hari Senin sebanyak 3 unit. Secara keseluruhan, akumulasi pendapatan
harian menunjukkan bahwa tingkat penjualan toko Statvers mencapai
puncaknya pada akhir pekan, yaitu pada hari Minggu dengan pendapatan
sebesar Rp1.129.000,00 dan hari Sabtu sebesar Rp1.055.000,00, sementara
pendapatan terendah tercatat pada hari Jumat sebesar Rp227.000,00.
Diharapkan pada saat menulis laporan ini, penulis menyarankan untuk lebih teliti dalam menggunakan program R. Diharapkan juga perlu memahami materi pengolahan data dengan baik untuk diaplikasikan pada R. Selain itu, hendaknya selalu memperhatikan cara penulisan agar sesuai dengan KBBI, sehingga dapat menghasilkan laporan yang baik.
Einspruch, E. L. (2022). An Introductory Guide to R: Easing the Learning Curve. New York: Guilford Publications, Inc.
Nelamali, N. (2024). Pipe Pada R Beserta contoh soalnya. Programing R.
Novaliendry, D. (2024). Statistik dan Pembelajaran Mesin dengan Workshop R Jilid 1. Purwodadi: CV. Sarnu Untung.
Novianti, P. (2026). Modul Praktikum Komputasi Statistika. Bengkulu: Laboratorium Statistika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Bengkulu.
Nugroho, A. (2024). Data Science Menggunakan Bahasa R: Deep Learning. Yogyakarta: Penerbit ANDI.