Membuat data sendiri

template Membuat data sendiri

Albani

22 May 2026

0.1 Package yang dibutuhkan

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.1     ✔ stringr 1.6.0
## ✔ ggplot2 4.0.1     ✔ tibble  3.3.1
## ✔ purrr   1.2.1     ✔ tidyr   1.3.2
## ✔ readr   2.1.6
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

0.2 Membuat Data frame Dengan Asumsi

# MEMBUAT RENTANG TANGGAL
tanggal <- seq(
  from = as.Date("2026-02-01"),
  to   = as.Date("2026-04-30"),
  by   = "day"
)

# MEMBUAT DATAFRAME
data_brilink <- data.frame(
  no = 1:length(tanggal),
  tanggal = tanggal
)

# SIMULASI TOTAL BIAYA BRILINK
set.seed(123)

hari <- weekdays(data_brilink$tanggal)

data_brilink$Total_Biaya_BRILink <- ifelse(
  
  hari %in% c("Saturday", "Sunday"),
  
  # Weekend
  round(rnorm(
    n = nrow(data_brilink),
    mean = 250000,
    sd = 40000
  )),
  
  # Weekday
  round(rnorm(
    n = nrow(data_brilink),
    mean = 400000,
    sd = 60000
  ))
)

# ==========================================
# MENCEGAH NILAI NEGATIF
# ==========================================

data_brilink$Total_Biaya_BRILink <- ifelse(
  data_brilink$Total_Biaya_BRILink < 0,
  0,
  data_brilink$Total_Biaya_BRILink
)


print(data_brilink)
##    no    tanggal Total_Biaya_BRILink
## 1   1 2026-02-01              227581
## 2   2 2026-02-02              459610
## 3   3 2026-02-03              432904
## 4   4 2026-02-04              414324
## 5   5 2026-02-05              362326
## 6   6 2026-02-06              481639
## 7   7 2026-02-07              268437
## 8   8 2026-02-08              199398
## 9   9 2026-02-09              491957
## 10 10 2026-02-10              385858
## 11 11 2026-02-11              338415
## 12 12 2026-02-12              357376
## 13 13 2026-02-13              415413
## 14 14 2026-02-14              254427
## 15 15 2026-02-15              227766
## 16 16 2026-02-16              342903
## 17 17 2026-02-17              397298
## 18 18 2026-02-18              352906
## 19 19 2026-02-19              299923
## 20 20 2026-02-20              377186
## 21 21 2026-02-21              207287
## 22 22 2026-02-22              241281
## 23 23 2026-02-23              436478
## 24 24 2026-02-24              302927
## 25 25 2026-02-25              396666
## 26 26 2026-02-26              431164
## 27 27 2026-02-27              418069
## 28 28 2026-02-28              256135
## 29 29 2026-03-01              204475
## 30 30 2026-03-02              349018
## 31 31 2026-03-03              338552
## 32 32 2026-03-04              407059
## 33 33 2026-03-05              343152
## 34 34 2026-03-06              370567
## 35 35 2026-03-07              282863
## 36 36 2026-03-08              277546
## 37 37 2026-03-09              360883
## 38 38 2026-03-10              414123
## 39 39 2026-03-11              404678
## 40 40 2026-03-12              342289
## 41 41 2026-03-13              395722
## 42 42 2026-03-14              241683
## 43 43 2026-03-15              199384
## 44 44 2026-03-16              402474
## 45 45 2026-03-17              374650
## 46 46 2026-03-18              276805
## 47 47 2026-03-19              467880
## 48 48 2026-03-20              312362
## 49 49 2026-03-21              281199
## 50 50 2026-03-22              246665
## 51 51 2026-03-23              313366
## 52 52 2026-03-24              442107
## 53 53 2026-03-25              384268
## 54 54 2026-03-26              305671
## 55 55 2026-03-27              309120
## 56 56 2026-03-28              310659
## 57 57 2026-03-29              188050
## 58 58 2026-03-30              312295
## 59 59 2026-03-31              441275
## 60 60 2026-04-01              526007
## 61 61 2026-04-02              322778
## 62 62 2026-04-03              447264
## 63 63 2026-04-04              236672
## 64 64 2026-04-05              209257
## 65 65 2026-04-06              339497
## 66 66 2026-04-07              392833
## 67 67 2026-04-08              383176
## 68 68 2026-04-09              433779
## 69 69 2026-04-10              377654
## 70 70 2026-04-11              332003
## 71 71 2026-04-12              230359
## 72 72 2026-04-13              463163
## 73 73 2026-04-14              337049
## 74 74 2026-04-15              324391
## 75 75 2026-04-16              594462
## 76 76 2026-04-17              374989
## 77 77 2026-04-18              238609
## 78 78 2026-04-19              201171
## 79 79 2026-04-20              370973
## 80 80 2026-04-21              431012
## 81 81 2026-04-22              422138
## 82 82 2026-04-23              387077
## 83 83 2026-04-24              403918
## 84 84 2026-04-25              275775
## 85 85 2026-04-26              241181
## 86 86 2026-04-27              355520
## 87 87 2026-04-28              334240
## 88 88 2026-04-29              402267
## 89 89 2026-04-30              418629

0.3 Mambuat Data tanpa Asumsi

# Membuat Tanggal
Tanggal <- seq(from = as.Date("2026-02-01"), to = as.Date("2026-04-30"), by = "day")

# Membuat Nomor
No <- 1 :length(Tanggal)

# Membuat nominal
Total_Nominal <- sample(seq(10000, 50000, by = 1000), size = length(Tanggal), replace = T)

# Membuat hari
Hari <- weekdays(Tanggal)

Dat_frame1 <- data.frame(No, Tanggal, Hari, Total_Nominal)

0.4 Hasil dan Write

head(Dat_frame1, 5)
write.csv(Dat_frame1, "Data_Brilin_sample.csv", row.names = FALSE)