Pendahuluan

ini adalah salah satu modul latihan yang ada di Dqlab, pada modul ini di lakukan perapian data pelanggan pada beberapa kolom yang isinya masih kotor, data preparation ini perlu di lakukan agar saat di lakukan analisisnantinya bisa mengahasilkan data yang hasil yang baik,

Libarary

library(RMySQL)
## Loading required package: DBI
library(bpa)
library(ggplot2)

Koneksi Database

con <- dbConnect(MySQL(), user = "root", password = "", host = "localhost", dbname = "belajar_r")

Mengakses data Pelanggan

data pelanggan sini tersimpan pada Database di localhost jika ada ingin mendapatkan tabel database ini bisa di akses pada alamat github penulis berikut: https://github.com/hasanalfatih/data_latihan.git gunakan file data_pelanggan.sql

sql <- "SELECT*FROM data_pelanggan "
rs <- tryCatch(dbSendQuery(con, sql), finally = print("Querry OK"))
## [1] "Querry OK"
data_pelanggan <- fetch(rs, n=-1)
str(data_pelanggan)
## 'data.frame':    155 obs. of  16 variables:
##  $ kode_pelanggan            : chr  "KD-00032" "KD-00053" "KD-00133" "KD-00056" ...
##  $ nama_lengkap              : chr  "Eva Novianti, S.H." "Ibu Heidi Goh" "Unang Handoko" "Jokolono Sukarman" ...
##  $ alamat                    : chr  "Vila Sempilan, No. 67 - Kota B" "Vila Sempilan, No. 11 - Kota B" "Vila Sempilan, No. 1 - Kota B" "Vila Permata Intan Berkilau, Blok C5-7" ...
##  $ tanggal_lahir             : chr  "1 April 2028" "19-08-1986" "11-07-1981" "10/13/79" ...
##  $ aktif                     : chr  "FALSE" "1" "FALSE" "0" ...
##  $ kode_pos                  : chr  "567130" "567130" "567130" "876551" ...
##  $ nomor_telepon             : chr  "085419651438216" "6282189517223455" "+6282952955586979" "6289278629437370" ...
##  $ nilai_belanja_setahun     : int  1275600 317800 1537200 1524700 655400 1444400 350400 354600 541300 536000 ...
##  $ pola_kode_pelanggan       : chr  "AA-99999" "AA-99999" "AA-99999" "AA-99999" ...
##  $ pola_nama_lengkap         : chr  "AaawAaaaaaaa,wA.A." "AaawAaaaawAaa" "AaaaawAaaaaaa" "AaaaaaaawAaaaaaaa" ...
##  $ pola_alamat               : chr  "AaaawAaaaaaaa,wAa.w99w-wAaaawA" "AaaawAaaaaaaa,wAa.w99w-wAaaawA" "AaaawAaaaaaaa,wAa.w9w-wAaaawA" "AaaawAaaaaaawAaaaawAaaaaaaa,wAaaawA9-9" ...
##  $ pola_tanggal_lahir        : chr  "9wAaaaaw9999" "99-99-9999" "99-99-9999" "99/99/99" ...
##  $ pola_aktif                : chr  "AAAAA" "9" "AAAAA" "9" ...
##  $ pola_kode_pos             : chr  "999999" "999999" "999999" "999999" ...
##  $ pola_nomor_telepon        : chr  "999999999999999" "9999999999999999" "+9999999999999999" "9999999999999999" ...
##  $ pola_nilai_belanja_setahun: int  9999999 999999 9999999 9999999 999999 9999999 999999 999999 999999 999999 ...

Cleansing Nama Pelanggan

sql1 <- "SELECT kode_pelanggan, nama_lengkap FROM data_pelanggan "
rs1 <- tryCatch(dbSendQuery(con, sql1), finally = print("Querry OK"))
## [1] "Querry OK"
nama <- fetch(rs1, n=-1)
head(nama)
##   kode_pelanggan       nama_lengkap
## 1       KD-00032 Eva Novianti, S.H.
## 2       KD-00053      Ibu Heidi Goh
## 3       KD-00133      Unang Handoko
## 4       KD-00056  Jokolono Sukarman
## 5       KD-00111       Tommy Sinaga
## 6       KD-00036     Irwan Setianto

Mengecek apakah ada karakter simbol/angka pada kolom nama?

nama[grepl("[^A-Za-z., ]", nama$nama_lengkap), ]
##     kode_pelanggan                           nama_lengkap
## 15        KD-00113                       Edi %$ Alexander
## 36        KD-00010                   Ibu Sri Wahyuni@, IR
## 50        KD-00039    Joko Wiryanto Abadi (Pelanggan OKE)
## 68        KD-00005 Prihatin Setyonugroho (021-5555555544)
## 70        KD-00001                         Agus Cahyono's
## 88        KD-00063   Widianto Nuryajaya - 08222222999111)
## 107       KD-00120                           Dewi Sr|yani

Menghapus karakter selain huruf, spasi, koma dan titik

nama$nama_lengkap <- gsub("[^A-Za-z., ]","",nama$nama_lengkap)
nama[grepl("[^A-Za-z., ]", nama$nama_lengkap), ]
## [1] kode_pelanggan nama_lengkap  
## <0 rows> (or 0-length row.names)

Meghapus Panggilan ibu/bapak dan perbaikan gelar

nama$nama_lengkap <- gsub("\\bibu\\b","",nama$nama_lengkap, ignore.case = TRUE)
nama$nama_lengkap <- gsub("\\bbapak\\b","",nama$nama_lengkap, ignore.case = TRUE)
nama$nama_lengkap <- gsub("\\bir\\b","Ir",nama$nama_lengkap, ignore.case = TRUE)

Mengecek apakah ada spasi berganda pada nama?

nama[grepl(" {2}",nama$nama_lengkap), ]
##     kode_pelanggan           nama_lengkap
## 9         KD-00046     Ir. Ita    Nugraha
## 15        KD-00113         Edi  Alexander
## 35        KD-00117 Florensia     Novianti
## 88        KD-00063   Widianto Nuryajaya  
## 145       KD-00108          Jujur  Suwito

Menghapus nama dengan spasi berganda

nama$nama_lengkap <- gsub(" {2}","", nama$nama_lengkap)
nama$nama_lengkap <- trimws(nama$nama_lengkap, which = "both")
nama[grep(" {2}",nama$nama_lengkap), ]
## [1] kode_pelanggan nama_lengkap  
## <0 rows> (or 0-length row.names)

Menyimpan hasil perbaikan nama

kode_pelanggan <- nama$kode_pelanggan
nama_lengkap <- nama$nama_lengkap
staging.nama <- data.frame(kode_pelanggan, nama_lengkap)
staging.nama
##     kode_pelanggan                      nama_lengkap
## 1         KD-00032                Eva Novianti, S.H.
## 2         KD-00053                         Heidi Goh
## 3         KD-00133                     Unang Handoko
## 4         KD-00056                 Jokolono Sukarman
## 5         KD-00111                      Tommy Sinaga
## 6         KD-00036                    Irwan Setianto
## 7         KD-00126                      Agus Cahyono
## 8         KD-00137                      Maria Sirait
## 9         KD-00046                    Ir. ItaNugraha
## 10        KD-00027               Djoko Wardoyo, Drs.
## 11        KD-00002                     Khairul Nissa
## 12        KD-00075                     Kaka Ari Lima
## 13        KD-00076               Safira Hana Sahrani
## 14        KD-00035                     Sidharta Paul
## 15        KD-00113                      EdiAlexander
## 16        KD-00099                Sanjaya Priyantoro
## 17        KD-00132                   Rachmat Chandra
## 18        KD-00088                               Ayu
## 19        KD-00119                   Tri Sulistianti
## 20        KD-00096                    Rahmat Chandra
## 21        KD-00139                        Agnes Rita
## 22        KD-00090                   Andreas Sutanto
## 23        KD-00074                        Taka Teguh
## 24        KD-00021              Paulus Angkasa Putra
## 25        KD-00045                   Usman Pandajaya
## 26        KD-00012                     Cahyono, Agus
## 27        KD-00030                             Hendi
## 28        KD-00129                      Edward Salim
## 29        KD-00122                 Christine Angkasa
## 30        KD-00059            Prof Dr. Sadli Masikun
## 31        KD-00079                     Meiti Kuswara
## 32        KD-00134                        Budi Yahya
## 33        KD-00064                       Fauzan Amir
## 34        KD-00038                       Putri Utomo
## 35        KD-00117                Florensia Novianti
## 36        KD-00010                   Sri Wahyuni, Ir
## 37        KD-00028                     Aman Pakpahan
## 38        KD-00125                        Tedi Halim
## 39        KD-00069                Syarifuddin Mahmud
## 40        KD-00114                      Tri Iskandar
## 41        KD-00062                   Zulkifli Kirana
## 42        KD-00006                 DR. Candra Wijaya
## 43        KD-00024                   Solihin Chaerul
## 44        KD-00084                             Surya
## 45        KD-00104                    Iqbal Setiawan
## 46        KD-00103                    Yonathan Bagus
## 47        KD-00143                       Hari Wibowo
## 48        KD-00034                Rita Meutia Latief
## 49        KD-00087                     Budi Setiawan
## 50        KD-00039 Joko Wiryanto Abadi Pelanggan OKE
## 51         KD-0047                     Puspita Citra
## 52        KD-00149                   Chandra Rachmat
## 53        KD-00003                    Slamet Wiyanto
## 54        KD-00043                     Suharno Jamar
## 55        KD-00135                        Tiah Feris
## 56        KD-00050                 Intan Tri Wahyuni
## 57        KD-00110                   Sumartono Salim
## 58        KD-00049                   Dianto Laksmana
## 59        KD-00141                      Edi Sumantri
## 60        KD-00044               dr. Yati Octavianus
## 61        KD-00124                         Yakob Tan
## 62        KD-00105              Urip Chandra Effendi
## 63        KD-00107                   Rachmat Chandra
## 64        KD-00086                       Sisilia Lai
## 65        KD-00123                   Rakhmat Chandra
## 66        KD-00025              DRG. Euis Rosidawati
## 67        KD-00008                     Willy Sanjaya
## 68        KD-00005             Prihatin Setyonugroho
## 69        KD-00101                    Fera Kurniawan
## 70        KD-00001                     Agus Cahyonos
## 71        KD-00020                    Hendri Winarto
## 72        KD-00080         Cristian Pakpahan Winarno
## 73        KD-00102                      Leny Sarmini
## 74        KD-00146                      Roger Sirait
## 75        KD-00048                         Lilis Ong
## 76        KD-00019                    Maria Yuniarti
## 77        KD-00151                        Ferry Thia
## 78        KD-00130                      Jujur Suwito
## 79        KD-00073           Takashi Yudistira Arief
## 80        KD-00778                   Cahyono Agus H.
## 81        KD-00066                      Purnomo Hadi
## 82        KD-00041                     Poernomo Hadi
## 83        KD-00140                    Leonardo Tedja
## 84        KD-00116                   Risma Sihombing
## 85        KD-00127                     Herdi Rivanto
## 86        KD-00057                     Sumardi Utomo
## 87        KD-00016                          Indra K.
## 88        KD-00063                Widianto Nuryajaya
## 89        KD-00148                          Kuswanto
## 90        KD-00023                 Ir. Yahya Permata
## 91        KD-00029                        Sri Rahayu
## 92        KD-00136                       Joko Wibawa
## 93        KD-00106                        Budi Yahya
## 94        KD-00026                     Anton Winarta
## 95        KD-00145                       Lilis Kasim
## 96        KD-00018                  Sudirman Kartono
## 97        KD-00058                Fineli Rahmadianto
## 98        KD-00051                       Abdul Kadir
## 99        KD-00144                   Risma Sihombing
## 100       KD-00128                     Tedi Rahmanto
## 101       KD-00115                    Teddy Rahmanto
## 102       KD-00009                  Antonius Winarta
## 103       KD-00092                           M Hasbi
## 104       KD-00070                    I Made Mulyana
## 105       KD-00118                       Abdul Kadir
## 106       KD-00052                           Iriawan
## 107       KD-00120                       Dewi Sryani
## 108       KD-00055                    Maria Wiryawan
## 109       KD-00089                     Acmad Junaidi
## 110       KD-00042                     Ahmad Junaidi
## 111       KD-00112                        Ari Masbun
## 112       KD-00098                       B. Sulaiman
## 113       KD-00033                     Citra Permana
## 114       KD-00013                    Danang Santosa
## 115       KD-00138                      Teddja Yanto
## 116       KD-00094                         Sri Utami
## 117       KD-00054                   Yudistira Utomo
## 118       KD-00100                   Rahayu Sri Asih
## 119       KD-00121                     Diana Sumirah
## 120       KD-00061            Tjipto Kesuma Wardhaya
## 121       KD-00031            Risman Suparyo Permata
## 122       KD-00040                         Sri Utami
## 123       KD-00068                           Miliana
## 124       KD-00131                      Dewi Pratiwi
## 125       KD-00097                   Frenkie Pranata
## 126       KD-00004           DRS. Maria Simangunsong
## 127       KD-00071                           Suparta
## 128       KD-00093                           Partono
## 129       KD-00082                           Darmadi
## 130       KD-00150                       Maria Utami
## 131       KD-00065              Civara Intan Wahyudi
## 132       KD-00067                   Niken Sri Utami
## 133       KD-00011                   Rosalina Kurnia
## 134       KD-00091             Indri Nourina Marthia
## 135       KD-00147                     Budi Setiawan
## 136       KD-00081                      Andy Gunawan
## 137       KD-00109                  Purwadianto Hadi
## 138       KD-00072                   Harry Widijanto
## 139       KD-00014   Elisabeth Suryadinata, SKOM, ST
## 140       KD-00078              Gugun Gunawan Wijaya
## 141       KD-00095                   Sri Resti Agung
## 142       KD-00022                Mbak Dian Sukowati
## 143       KD-00017                Irfan Putra Wijaya
## 144       KD-00037                      Cynthia Agus
## 145       KD-00108                       JujurSuwito
## 146       KD-00015                    Mario Setiawan
## 147       KD-00083                    Setiawan Mario
## 148       KD-00060                  Sulaiman Baskara
## 149       KD-00007               Indra Kurniawan, ST
## 150       KD-00077                    Frenki Pranata
## 151       KD-00085                         Frenki P.
## 152       KD-00142                     Tedi Rahmanto
## 153       KD-00192                Sanjaya Priyantoro
## 154       KD-00298               Safira Hana Sahrani
## 155       KD-00492               dr. Yati Octavianus

Standarisai Penulisan Nomor telepon

standarisai penulisan nomor telepon di perlukan, untuk menyeragamkan penulisan nomor telepon yang tidak seragam, seperti nomor yang menggunakan kode negara dan ada juga yang tidak menggunakan kode negara dan anomali seperti itu perlu cepat di tindak lanjuti dan untuk melakukan standarisasi tahapan yang perlu di lakukan adalah melihat pola dari nomor telepon untuk melihat apakah ada nomor telepon yang tidak sesuai. pola ini dapat dilihat pada pada kolom pola_nomor_telepon yang merupakan outpu dari fungsi bpa.

Profiling 1

sql2 <- "SELECT pola_nomor_telepon, length(pola_nomor_telepon) as panjang_text, count(*) as jumlah_data FROM data_pelanggan GROUP BY pola_nomor_telepon"
rs2 <- tryCatch(dbSendQuery(con, sql2))
profile_nomor <- fetch(rs2,n=-1)
profile_nomor
##   pola_nomor_telepon panjang_text jumlah_data
## 1    +99999999999999           15           2
## 2  +9999999999999999           17          57
## 3                  -            1           1
## 4      9999999999999           13           1
## 5     99999999999999           14           3
## 6    999999999999999           15          53
## 7   9999999999999999           16          38

Berikut adalah analisa dari hasil di atas. • Ada tujuh pola yang teridentifikasi. • Mayoritas jumlah ada pada pola nomor 2, 6 dan 7. • Panjang data pada 2, 6 dan 7 adalah 17, 15 dan 16. Namun karena pola no 2 ada tanda +, jadi kemungkinan panjangnya sebenarnya adalah 16. Sama dengan pola no 7. • Tidak ada karakter lain selain angka dan tanda +. Kecuali satu data di pola no. 3 hanya tanda minus (-). Ini bisa dianggap missing value. • Pola lain yang tidak biasa adalah pola no 1 (+99999999999999, jumlahnya hanya 2 data), 4 (9999999999999, jumlahnya hanya 1 data), dan 5 (99999999999999, hanya 3 data). • Pola nomor 1, 3, 4 dan 5 akan kita flag sebagai outlier yang perlu ditindaklanjuti pada praktek selanjutnya. • Ada perbedaan jumlah teks antara pola no 5, 6 dan 2 (jumlah teks masing-masing adalah 15, 16, dan 17), kita asumsikan ini disebabkan angka awal mobile 0, 62 dan +62 di depannya. Ini akan kita cek dengan query tambahan pada profiling selanjutnya.

Profiling 2

Menganalisa jumlah data dari pola pada praktek sebelumnya dengan memperhatikan angka akan lebih menarik jika langsung divisualisasikan. Untuk analisa distribusi dari pola no_telepon ini kita bisa gunakan visualisasi bar chart seperti gambar berikut.

plot.profile <- ggplot(data = profile_nomor, aes(x = pola_nomor_telepon, y = jumlah_data, fill = pola_nomor_telepon))
plot.profile <- plot.profile + theme(axis.text.x = element_text(angle = 45, vjust = 0.5))
plot.profile + geom_bar(stat = "identity")

## Profiling 3 Kembali ke hasil profiling 1 sebelumnya, terlihat ada perbedaan antara pola 6, 7 dan 1 dari sisi jumlah teks (15, 16 dan 17). Kita asumsikan ini dikarenakan variasi penulisan awal nomor mobile berupa angka 0, 62 dan +62. Kita akan uji asumsi ini dengan mengambil: • satu karakter pertama dari isi kolom no_telepon untuk pola nomor 6 (999999999999999). • dua karakter pertama dari isi kolom no_telepon untuk pola nomor 7 (9999999999999999). • Tiga karakter pertama dari isi kolom no_telepon untuk pola nomor 2 (+9999999999999999). pada pengunjian gunakan function left untuk mengambil sejumlah karakter pertama dari kolom no_telepon. Perhatikan kalau function left ini turut serta dimasukkan ke dalam grouping. Ini dikarenakna function left ini mengambil karakter yang bisa angka maupun bukan, dan bukan operasi matematika seperti function length maupun count di praktek sebelumnya.

sql3 <- "SELECT left(nomor_telepon,1) as prefix_no_telepon, pola_nomor_telepon FROM data_pelanggan WHERE pola_nomor_telepon = '999999999999999' GROUP BY left(nomor_telepon,1), pola_nomor_telepon"
rs3 = tryCatch(dbSendQuery(con, sql3))
profile.no1 <- fetch(rs3, n=-1)
profile.no1
##   prefix_no_telepon pola_nomor_telepon
## 1                 0    999999999999999
sql4 <- "SELECT left(nomor_telepon,2) as prefix_no_telepon, pola_nomor_telepon FROM data_pelanggan WHERE pola_nomor_telepon = '9999999999999999' GROUP BY left(nomor_telepon,2), pola_nomor_telepon"
rs4 = tryCatch(dbSendQuery(con, sql4))
profile.no2 <- fetch(rs4, n=-1)
profile.no2
##   prefix_no_telepon pola_nomor_telepon
## 1                62   9999999999999999
sql5 <- "SELECT left(nomor_telepon,3) as prefix_no_telepon, pola_nomor_telepon FROM data_pelanggan WHERE pola_nomor_telepon = '+9999999999999999' GROUP BY left(nomor_telepon,3), pola_nomor_telepon"
rs5 = tryCatch(dbSendQuery(con, sql5))
profile.no3 <- fetch(rs5, n=-1)
profile.no3
##   prefix_no_telepon pola_nomor_telepon
## 1               +62  +9999999999999999

Proses standarisasi nomor telepon

Pada umumnya nomor telepon diberi kode negara dan pada saat dial kita menggunakan tanda +. Berdasarkan kedua hal tersebut, untuk dataset kita diputuskan untuk menggunakan standarisasi dimana nomor telepon dimulai dari tanda + diikuti 62 (kode negara untuk Indonesia). Untuk melakukan hal ini maka ada dua hal yang perlu kita lakukan berdasarkan profiling kita pada praktek sebelumnya: • Menambahkan awalan “+” untuk pola “9999999999999999” (16 digit angka). • Mengganti awalan “0” menjadi “+62” untuk pola “999999999999999” (15 digit angka). Pertama yang kita perlu ketahui adalah filter dataset setelah dibaca di R, karena dari MySQL akan kita tarik seluruh data.

sql6 <- "SELECT kode_pelanggan,nomor_telepon, pola_nomor_telepon FROM data_pelanggan"
rs6 <- tryCatch(dbSendQuery(con,sql6), finally = print("Querry OK"))
## [1] "Querry OK"
data.telepon <- fetch(rs6, n=-1)
head(data.telepon)
##   kode_pelanggan     nomor_telepon pola_nomor_telepon
## 1       KD-00032   085419651438216    999999999999999
## 2       KD-00053  6282189517223455   9999999999999999
## 3       KD-00133 +6282952955586979  +9999999999999999
## 4       KD-00056  6289278629437370   9999999999999999
## 5       KD-00111   084384621977881    999999999999999
## 6       KD-00036  6285842418573681   9999999999999999

Untuk menambahkan “+” untuk pola “9999999999999999” kita gunakan function paste – yang membutuhkan input berupa beberapa teks yang akan digabungkan, dan pemisah teks dengan parameter sep="".

data.telepon[data.telepon$pola_nomor_telepon == "9999999999999999",]$nomor_telepon <- paste("+",data.telepon[data.telepon$pola_nomor_telepon =="9999999999999999",]$nomor_telepon,sep="")
data.telepon[data.telepon$pola_nomor_telepon == "999999999999999",]$nomor_telepon <- gsub("^0","+62", data.telepon[data.telepon$pola_nomor_telepon == "999999999999999",]$nomor_telepon)
head(data.telepon$nomor_telepon)
## [1] "+6285419651438216" "+6282189517223455" "+6282952955586979"
## [4] "+6289278629437370" "+6284384621977881" "+6285842418573681"

Menyimpan hasil standarisasi nomor telepon

kode_pelanggan <- data.telepon$kode_pelanggan
nomor_telepon <- data.telepon$nomor_telepon
staging.nomor <- data.frame(kode_pelanggan,nomor_telepon)
head(staging.nomor)
##   kode_pelanggan     nomor_telepon
## 1       KD-00032 +6285419651438216
## 2       KD-00053 +6282189517223455
## 3       KD-00133 +6282952955586979
## 4       KD-00056 +6289278629437370
## 5       KD-00111 +6284384621977881
## 6       KD-00036 +6285842418573681

Standarisasi Penulisan kode Pos

Standarisasi bertujuan untuk memastikan kode pos ditulis dengam benar, standarisai ini di lakukan dengan melihat pola kode pos yang telah dibuat menggunakan fungsi bpa.

Profiling 1

Teknik profilenya sama dengan proses profiling no_telepon

sql6 <- "SELECT pola_kode_pos, length(pola_kode_pos) as panjang_text, count(*) as jumlah_data FROM data_pelanggan GROUP BY pola_kode_pos"
rs6 <- tryCatch(dbSendQuery(con, sql6), finally = print("Query OK"))
## [1] "Query OK"
pola.kode.pos <- fetch(rs6,n=-1)
pola.kode.pos
##   pola_kode_pos panjang_text jumlah_data
## 1             -            1           5
## 2        999999            6         147
## 3        99999A            6           1
## 4        9999A9            6           2

Terlihat selain ada 5 data yang diisi dengan tanda minus (-). Data lainnya sama panjang semua, namun pola 3 dan 4 berisi anomali. Kode pos pada contoh kita harusnya berisi 6 digit angka semua seperti terlihat pada pola no 2. Namun pada pola nomor 3 dan 4, di antara angka terdapat huruf. Ini yang akan kita lihat isi datanya pada praktek selanjutnya.

Profiling 2

Teks ‘99999A’ dan ‘9999A9’ adalah dua pola anomali yang kita temukan. Dari pola ini terlihat ada huruf diantara angka. Harusnya kode pos terdiri dari angka semua.gunakan perintah SELECT…WHERE…IN, perintah IN digunakan untuk memfilter isi dari pola anomali tersebut

sql7 <- "SELECT kode_pelanggan, kode_pos, pola_kode_pos FROM data_pelanggan WHERE pola_kode_pos IN('99999A','9999A9')"
rs7 <- tryCatch(dbSendQuery(con, sql7), finally = print("Query OK"))
## [1] "Query OK"
pola1.kode.pos <- fetch(rs7,n=-1)
pola1.kode.pos
##   kode_pelanggan kode_pos pola_kode_pos
## 1       KD-00093   96722O        99999A
## 2       KD-00083   8765I1        9999A9
## 3       KD-00085   9876O1        9999A9

Terlihat terdapat huruf O, yang harusnya 0 (nol) untuk kode_pelanggan = ‘KD-00093’ dan untuk kode_pelanggan = ‘KD-00085’. Setelah itu terdapat huruf I yang mungkin maksudnya adalah angka 1. Pada tahap selanjutnya kita coba gantikan dulu dengan asumsi kita, O menjadi 0. Dan I menjadi 1.

Proses Standarisasi Penulisan Kode Pos

satndarisasi dilakukan dengan cara: • Mengganti huruf O menjadi 0. • Mengganti huruf I menjadi 1. Dan untuk ini cukup menggunakan function gsub()

sql8 <- "SELECT kode_pelanggan, kode_pos, pola_kode_pos FROM data_pelanggan "
rs8 <- tryCatch(dbSendQuery(con, sql8), finally = print("Query OK"))
## [1] "Query OK"
data.kode.pos <- fetch(rs8,n=-1)
data.kode.pos$kode_pos <- gsub("o","0", data.kode.pos$kode_pos, ignore.case = TRUE)
data.kode.pos$kode_pos <- gsub("i","1", data.kode.pos$kode_pos, ignore.case = TRUE)
data.kode.pos[grepl("99999A",data.kode.pos$pola_kode_pos),]
##     kode_pelanggan kode_pos pola_kode_pos
## 128       KD-00093   967220        99999A
data.kode.pos[grepl("9999A9",data.kode.pos$pola_kode_pos),]
##     kode_pelanggan kode_pos pola_kode_pos
## 147       KD-00083   876511        9999A9
## 151       KD-00085   987601        9999A9

Menyimapan Hasil Standarisasi Kode Pos

kode_pelanggan <- data.kode.pos$kode_pelanggan
kode_pos <- data.kode.pos$kode_pos

stagin.pos <- data.frame(kode_pelanggan, kode_pos)
head(stagin.pos)
##   kode_pelanggan kode_pos
## 1       KD-00032   567130
## 2       KD-00053   567130
## 3       KD-00133   567130
## 4       KD-00056   876551
## 5       KD-00111   876551
## 6       KD-00036   876552

Standarisasi Penulisan Alamat

Penulisan alamat dengan sistem yang paling kaku sekalipun biasanya harus memiliki input free text dimana user bisa bebas melakukan input. Akitabnya banyak penulisan yang tidak standar, misalkan untuk “jalan” menjadi “jl” dan “jln” seperti terlihat pada sebagian dataset kita sebagai berikut. Jl. Pulo Bambu No. 15, Kota Tenggara Lama Jln. Tegal Sari Indah, No. D87 – Kota H Jalan Hang Tuah, No. 11, Kota DM Jl. Puri Arteri Raya, No. 88 - Kota T Jl. Pahlawan, No. 69CCD Jl. Bintang Supernova, No. 78 Jl. Wisma Tenteram Saja, No. A22 Jln. Manggis II, Gang Buntu No. 1 Jalan. Kebon Jahe, No. F16 - Kota E Untuk kondisi ini, tidak ada jalan lain selain mengumpulkan daftar “kesalahan umum” (common mistakes) ini dan perbaiki berdasarkan daftar tersebut. Dan untuk contoh di atas, kita akan ganti semua variasi singkatan di atas dengan “Jalan”. Pola regexnya adalah sebagai berikut: jln[ ]\. \bjln\b jl[ ]\. \bjl\b jalan\. dimana • \b adalah penanda batas kata. • \. adalah penulisan titik. • [ ]*\. menunjukkan perulangan spasi yang mungkin mengikuti sebelum tanda titik. Catatan: Pola ini hanya contoh untuk kasus ini, pada prakteknya Anda perlu mengumpulkan pola-pola ini untuk melakukan standarisasi.

sql9  <- "SELECT kode_pelanggan, alamat from data_pelanggan"
rs9 <- tryCatch(dbSendQuery(con,sql9), finally = print("Querry Ok"))
## [1] "Querry Ok"
data.alamat <- fetch(rs9, n=-1)
data.alamat$alamat <- gsub("jln[ ]*\\.","jalan", data.alamat$alamat, ignore.case = TRUE)
data.alamat$alamat <- gsub("jl[ ]*\\.","jalan", data.alamat$alamat, ignore.case = TRUE)
data.alamat$alamat <- gsub("\\bjln\\b","jalan", data.alamat$alamat, ignore.case = TRUE)
data.alamat$alamat <- gsub("\\bjl\\b","jalan", data.alamat$alamat, ignore.case = TRUE)
data.alamat$alamat <- gsub("\\bjalan\\b","jalan", data.alamat$alamat, ignore.case = TRUE)
data.alamat
##     kode_pelanggan                                              alamat
## 1         KD-00032                      Vila Sempilan, No. 67 - Kota B
## 2         KD-00053                      Vila Sempilan, No. 11 - Kota B
## 3         KD-00133                       Vila Sempilan, No. 1 - Kota B
## 4         KD-00056              Vila Permata Intan Berkilau, Blok C5-7
## 5         KD-00111              Vila Permata Intan Berkilau, Blok A1/2
## 6         KD-00036                 Vila Gunung Seribu, Blok O1 - No. 1
## 7         KD-00126                 Vila Gunung Seribu, Blok F4 - No. 8
## 8         KD-00137            Vila Bukit Sagitarius, Gang. Sawit No. 3
## 9         KD-00046            Vila Bukit Sagitarius, Gang Kelapa No. 6
## 10        KD-00027                Vila Bukit Sagitarius, Blok A1 No. 1
## 11        KD-00002                     Taman Vivo Indah, Blok AA No. 7
## 12        KD-00075                     Taman Vivo Indah, Blok AA No. 7
## 13        KD-00076               Taman Bunga Langit, jalan Utara No. 3
## 14        KD-00035               Taman Bunga Langit, jalan Timur No. 1
## 15        KD-00113            Taman Bunga Langit, jalan Selatan No. 12
## 16        KD-00099          Taman Bunga Langit, jalan Barat Laut No. 6
## 17        KD-00132                    Rusun Kerinci Indah, Lt. 6 No. 1
## 18        KD-00088                    Rusun Kerinci Indah, Lt. 5 No. 6
## 19        KD-00119                 Rumah Susun Gelora, Lantai 1 No. 12
## 20        KD-00096                   Rumah Susun Eunos, Lantai 2 No. 2
## 21        KD-00139                       Ruko Azalea, No. 3 RT 001/002
## 22        KD-00090                        Ruko Almond Manis, Blok C7/8
## 23        KD-00074                         Puspa Loka, No. 98F, Kota Y
## 24        KD-00021                         Puspa Loka, No. 98B, Kota Y
## 25        KD-00045               Pulo Bambu No. 57, Kota Tenggara Lama
## 26        KD-00012               Pulo Bambu No. 15, Kota Tenggara Lama
## 27        KD-00030    Pondok Bima Sakti, jalan Asrama Pelajar No. 11FF
## 28        KD-00129 Perumahan Sektor Telekomunikasi, jalan Afrika No. 3
## 29        KD-00122    Perumahan Sektor Bougenville, jalan Sawit No. 8A
## 30        KD-00059    Perumahan Sektor Bougenville, jalan Karet No. 7P
## 31        KD-00079          Perumahan Duku Satu, Gang Merpati - No. 41
## 32        KD-00134            Perumahan Duku Lima, Gang Perkutut No. 1
## 33        KD-00064         Perumahan Catalina, jalan Kereta Api No. 77
## 34        KD-00038          Perumahan Bina Andromeda, jalan Teri No. 4
## 35        KD-00117       Perumahan Bina Andromeda, jalan Salmon No. 22
## 36        KD-00010                     Perum Venus, Gg. Harimau No. 1A
## 37        KD-00028                   Perum Venus, Gang. Kelinci No. 12
## 38        KD-00125                   Perum Venus, Gang. Harimau No. 4A
## 39        KD-00069                    Perum Titan, jalan. Trobos No. 8
## 40        KD-00114                  Perum Titan, jalan. Kelinci No. 12
## 41        KD-00062                  Perum Sektor 50, Gang Permai No. 5
## 42        KD-00006                           Perum Pluto, Blok C No. 1
## 43        KD-00024  Perum Maju Permai Persada Indah, Gang Kenari No. 3
## 44        KD-00084          Perum Maju Permai P.I., Gang Kesturi No. 5
## 45        KD-00104          Perum Maju Permai P.I., Gang Kesturi No. 5
## 46        KD-00103                         Perum Kali Meksiko, No. D22
## 47        KD-00143                          Perum Kali Meksiko, No. 8F
## 48        KD-00034                          Perum Kali Meksiko, No. 8C
## 49        KD-00087                        Perum Indah Supernova, No. 1
## 50        KD-00039                     Perum Indah Supernova II, No. 9
## 51         KD-0047                 Perum Bimasakti Raya, Blok A No. 10
## 52        KD-00149                 Perum Bimasakti Raya, Blok A No. 10
## 53        KD-00003                            Meta Residences, No. 32C
## 54        KD-00043                             Meta Residences, No. 1A
## 55        KD-00135              Kota T,  jalan Taman Kencana No. 11112
## 56        KD-00050                  Kompleks Selatan-Selatan, No. 121 
## 57        KD-00110                   Kompleks Selatan-Selatan, No. 111
## 58        KD-00049              Kompleks Permai Angkasa, Blok M No. 10
## 59        KD-00141              Kompleks Permai Angkasa, Blok J No. 09
## 60        KD-00044                     Kompleks Pelaut Tangguh, No. 5A
## 61        KD-00124            Kompleks Nelayan Permai, Blok DD - 98/99
## 62        KD-00105        Kompleks Akademi Perawat, Gang Farmasi No. 3
## 63        KD-00107                    Kampung Kijang, Blok D3 - No. 12
## 64        KD-00086                     Kampung Harimau, No. 88, Kota K
## 65        KD-00123                              Kampung Harimau, No. 3
## 66        KD-00025                   Kampoeng Harimau, No. 81 - Kota K
## 67        KD-00008                          Kali Mars Cluster, No. 24C
## 68        KD-00005           jalan Tegal Sari Indah, No. D87 -- Kota H
## 69        KD-00101           jalan Tegal Sari Indah, No. D77 -- Kota H
## 70        KD-00001         jalan Pulo Bambu No. 15, Kota Tenggara Lama
## 71        KD-00020                  jalan Manggis II, Gang Buntu No. 1
## 72        KD-00080                 jalan Manggis II - Gang Buntu No. 4
## 73        KD-00102              jalan Kangguru No. 92, RT 005 - kota R
## 74        KD-00146              jalan G. Asri Mawar Harum Blok G No. 9
## 75        KD-00048                  jalan Wisma Tenteram Saja, No. A31
## 76        KD-00019                  jalan Wisma Tenteram Saja, No. A22
## 77        KD-00151               jalan Taman Kencana No. 11112, Kota T
## 78        KD-00130             jalan Raya Griya Barbarosa, Blok AF 789
## 79        KD-00073          jalan Puri Indah Menawan, No. 818 - Kota T
## 80        KD-00778      jalan. Pulau Bambu No. 15 - Kota Tenggara Lama
## 81        KD-00066                         jalan Pulau Sentosa No. 133
## 82        KD-00041                        jalan. Pulau Sentosa No. 133
## 83        KD-00140                        jalan Pulau Sentosa No. 1335
## 84        KD-00116              Apartemen Lucky Beruntung, Lt. 5 No. 4
## 85        KD-00127                         jalan Pulau Sentosa No. 133
## 86        KD-00057                           jalan Pahlawan, No. 69FFF
## 87        KD-00016                          jalan Pahlawan, No. 69CCD 
## 88        KD-00063                         jalan Macan Buntung, No. 4F
## 89        KD-00148                jalan Macan Buntung, No. 1F - Kota D
## 90        KD-00023                         jalan Macan Buntung, No. 1F
## 91        KD-00029                 jalan Kp. Kijang, Blok A1 - No. 2F 
## 92        KD-00136        jalan Kemenangan Besar, Blok C8 No. 22 RT 02
## 93        KD-00106              jalan Kemenangan Besar, Blok C8 No. 22
## 94        KD-00026                  jalan Kebon Jahe, Kota EntahDimana
## 95        KD-00145               jalan Kampung Kijang, Blok C5 - No. 9
## 96        KD-00018                     jalan Bintang Supernova, No. 78
## 97        KD-00058                     jalan Bintang Supernova, No. 78
## 98        KD-00051                            jalan Binjai 200, Kota L
## 99        KD-00144              Apartemen Lucky Beruntung, Lt. 3 No. 4
## 100       KD-00128     Apartemen Bukit Merah, Annex Plaza, Lt 3 No. A1
## 101       KD-00115      Apartemen Bukit Merah Annex Plaza, Lt 3 No. A1
## 102       KD-00009                 jalan. Kebon Jahe, No. F16 - Kota E
## 103       KD-00092                     jalan. Bukit Tol Km. 3, No. 971
## 104       KD-00070                  jalan Wisma Tenteram Saja No. B-01
## 105       KD-00118             jalan Semantik Semut Berjalan, No. 3333
## 106       KD-00052                jalan Ring Road Neolitik, No. 1 RT 5
## 107       KD-00120                      jalan Ring Road Konstan, No. 5
## 108       KD-00055                    jalan Raya Jupiter Titan, No. 55
## 109       KD-00089              jalan Raya Hang Lekir, No. 62 - Kota Z
## 110       KD-00042               jalan Raya Hang Lekir, Kota Z, No. 62
## 111       KD-00112                  jalan Raya Andromeda, Blok D No. 3
## 112       KD-00098   jalan Pesisir No. 5, Kampoeng Maju Surya Gemilang
## 113       KD-00033                    jalan Hang Tuah, No. 31, Kota DM
## 114       KD-00013                    jalan Hang Tuah, No. 11, Kota DM
## 115       KD-00138                           jalan Gula Pahit, No. 081
## 116       KD-00094                           jalan Gula Pahit, No. 015
## 117       KD-00054                           jalan Gula Pahit, No. 001
## 118       KD-00100          jalan Asia No. 55, Kompleks Pelajar Kota C
## 119       KD-00121                         Indah Mars Cluster, No. 22F
## 120       KD-00061                Griya Asri Mawar Harum, Blok G No. 1
## 121       KD-00031                         Gang Tupai, No. 7 - Desa CL
## 122       KD-00040            Gang Samun Saja No. 132, Kode Pos A99222
## 123       KD-00068                       Gang Piranha, No. 3 - Desa BT
## 124       KD-00131                      Gang Piranha, No. 13 - Desa BT
## 125       KD-00097                      Gang Kelinci, No. 666 - Kota B
## 126       KD-00004                      Gang Bulan Desember III, No. 9
## 127       KD-00071                    Gang Bulan Desember III, No. 155
## 128       KD-00093                    Gang Bulan Desember III, No. 145
## 129       KD-00082                         Gang Arwana, No. 6 - Kota S
## 130       KD-00150                          Gang Arwana No. 12, Kota S
## 131       KD-00065               Corina Residences Apartment, No. 0612
## 132       KD-00067                  Condominium Pesona Indah, No. 0708
## 133       KD-00011                 Cluster Ikan Mas, Taman Intan No. 2
## 134       KD-00091                 Cluster Ikan Mas, Taman Baru No. 96
## 135       KD-00147              Cluster Griya Bima Sakti, Blok A No. 1
## 136       KD-00081                        Bukit Vivo Indah, Blok C 2/4
## 137       KD-00109                        Bukit Vivo Indah, Blok C 2/4
## 138       KD-00072         Boulevard Raya Residences, Blok AB2 No. 102
## 139       KD-00014         Boulevard Raya Residences, Blok AA2 No. 88 
## 140       KD-00078                        Blok C 2/4, Bukit Vivo Indah
## 141       KD-00095                   Asrama Perawat IV, No. 2 - Kota D
## 142       KD-00022                   Asrama Perawat IV, No. 1 - Kota D
## 143       KD-00017         Asrama Pelajar No. 22 A - Pondok Bima Sakti
## 144       KD-00037         Asrama Pelajar No. 11 B - Pondok Bima Sakti
## 145       KD-00108                Apartement Clifften, Lantai 12 No. 3
## 146       KD-00015             jalan Puri Arteri Raya, No. 88 - Kota T
## 147       KD-00083             jalan Puri Arteri Raya, No. 88 - Kota T
## 148       KD-00060             Apartemen Kecapi Indah, Lt. 18 No. 1801
## 149       KD-00007             Apartemen Kecapi Indah, Lt. 16 No. 1610
## 150       KD-00077                       jalan Sutomo Baru 21 - Kota M
## 151       KD-00085                 jalan. Sutomo Baru No. 21 - Kota  M
## 152       KD-00142          Apartemen Bukit Baru, Dahlia Tower, No. A3
## 153       KD-00192          Taman Bunga Langit, jalan Barat Laut No. 6
## 154       KD-00298               Taman Bunga Langit, jalan Utara No. 3
## 155       KD-00492                     Kompleks Pelaut Tangguh, No. 5A

Menyimpan hasil standarisai

kode_pelanggan <- data.alamat$kode_pelanggan
alamat <- data.alamat$alamat

staging.alamat <- data.frame(kode_pelanggan, alamat)
head(staging.alamat)
##   kode_pelanggan                                 alamat
## 1       KD-00032         Vila Sempilan, No. 67 - Kota B
## 2       KD-00053         Vila Sempilan, No. 11 - Kota B
## 3       KD-00133          Vila Sempilan, No. 1 - Kota B
## 4       KD-00056 Vila Permata Intan Berkilau, Blok C5-7
## 5       KD-00111 Vila Permata Intan Berkilau, Blok A1/2
## 6       KD-00036    Vila Gunung Seribu, Blok O1 - No. 1

Standarisasi Kolom Aktif

Profiling

sql10 <- "SELECT aktif, pola_aktif, count(*) as jumlah_data FROM data_pelanggan GROUP by aktif, pola_aktif"
rs10 <- tryCatch(dbSendQuery(con, sql10), finally = print("Query Ok"))
## [1] "Query Ok"
pola.aktif <- fetch(rs10, n=-1)
pola.aktif
##   aktif pola_aktif jumlah_data
## 1     -          -           1
## 2     0          9          23
## 3     1          9          98
## 4 FALSE      AAAAA          13
## 5     I          A           1
## 6     O          A           2
## 7  TRUE       AAAA          17

Melihat hasil tersebut, dapat kita simpulkan bahwa asumsi kita sebelumnya benar untuk jumlah data, namun salah untuk isi data pada pola “A”. Pola “A” ternyata isinya adalah “I” dan “O”, salah tulis untuk angka “1” dan “0”.

Proses Standarisai

gunakan fungsi gsub() untuk mengganti semua huruf menjadi angka sesuai asumsi pola yaitu: 1. I = 1 2. o = 0 3. FALSE = 0 4. TRUE = 1

sql11 <- "SELECT kode_pelanggan, aktif, pola_aktif FROM data_pelanggan"
rs11 <- tryCatch(dbSendQuery(con, sql11), finally = print("Query Ok"))
## [1] "Query Ok"
data.aktif <- fetch(rs11, n=-1)
data.aktif$aktif <- gsub("O","0",data.aktif$aktif)
data.aktif$aktif <- gsub("I","1",data.aktif$aktif)
data.aktif$aktif <- gsub("FALSE","0",data.aktif$aktif)
data.aktif$aktif <- gsub("TRUE","1",data.aktif$aktif)
data.aktif$aktif
##   [1] "0" "1" "0" "0" "1" "1" "1" "1" "1" "0" "1" "1" "1" "0" "0" "1" "1" "1"
##  [19] "1" "1" "1" "0" "1" "1" "1" "0" "0" "1" "1" "1" "1" "1" "1" "0" "0" "1"
##  [37] "1" "1" "1" "1" "1" "1" "1" "1" "1" "0" "0" "1" "1" "1" "1" "1" "1" "1"
##  [55] "1" "1" "1" "0" "1" "1" "0" "1" "1" "0" "1" "1" "1" "1" "1" "1" "1" "1"
##  [73] "0" "1" "0" "1" "1" "0" "1" "1" "1" "1" "1" "1" "1" "1" "0" "1" "1" "1"
##  [91] "0" "1" "1" "1" "1" "1" "1" "0" "1" "0" "0" "1" "1" "1" "0" "1" "1" "1"
## [109] "1" "1" "1" "1" "1" "1" "0" "1" "0" "0" "1" "1" "1" "1" "0" "1" "1" "0"
## [127] "0" "1" "1" "1" "1" "1" "0" "1" "1" "0" "1" "-" "1" "1" "0" "0" "1" "1"
## [145] "1" "1" "1" "0" "0" "0" "1" "1" "1" "1" "1"

menyimpan hasil standarisasi

kode_pelanggan <- data.aktif$kode_pelanggan
aktif <- data.aktif$aktif
staging.aktif <- data.frame(kode_pelanggan, aktif)
head(staging.aktif)
##   kode_pelanggan aktif
## 1       KD-00032     0
## 2       KD-00053     1
## 3       KD-00133     0
## 4       KD-00056     0
## 5       KD-00111     1
## 6       KD-00036     1

Menggabungkan seluruh kolom yang telah di standarisasi

staging.teks <- merge(x=staging.nama, y=staging.nomor,by.x = "kode_pelanggan", by.y = "kode_pelanggan", all=TRUE)
staging.teks <- merge(x=staging.teks, y=stagin.pos,by.x = "kode_pelanggan", by.y = "kode_pelanggan", all=TRUE)
staging.teks <- merge(x=staging.teks, y=staging.alamat,by.x = "kode_pelanggan", by.y = "kode_pelanggan", all=TRUE)
staging.teks <- merge(x=staging.teks, y=staging.aktif,by.x = "kode_pelanggan", by.y = "kode_pelanggan", all=TRUE)
staging.teks <- data.frame(kode_pelanggan,nama_lengkap,alamat,nomor_telepon,kode_pos,aktif)
staging.teks
##     kode_pelanggan                      nama_lengkap
## 1         KD-00032                Eva Novianti, S.H.
## 2         KD-00053                         Heidi Goh
## 3         KD-00133                     Unang Handoko
## 4         KD-00056                 Jokolono Sukarman
## 5         KD-00111                      Tommy Sinaga
## 6         KD-00036                    Irwan Setianto
## 7         KD-00126                      Agus Cahyono
## 8         KD-00137                      Maria Sirait
## 9         KD-00046                    Ir. ItaNugraha
## 10        KD-00027               Djoko Wardoyo, Drs.
## 11        KD-00002                     Khairul Nissa
## 12        KD-00075                     Kaka Ari Lima
## 13        KD-00076               Safira Hana Sahrani
## 14        KD-00035                     Sidharta Paul
## 15        KD-00113                      EdiAlexander
## 16        KD-00099                Sanjaya Priyantoro
## 17        KD-00132                   Rachmat Chandra
## 18        KD-00088                               Ayu
## 19        KD-00119                   Tri Sulistianti
## 20        KD-00096                    Rahmat Chandra
## 21        KD-00139                        Agnes Rita
## 22        KD-00090                   Andreas Sutanto
## 23        KD-00074                        Taka Teguh
## 24        KD-00021              Paulus Angkasa Putra
## 25        KD-00045                   Usman Pandajaya
## 26        KD-00012                     Cahyono, Agus
## 27        KD-00030                             Hendi
## 28        KD-00129                      Edward Salim
## 29        KD-00122                 Christine Angkasa
## 30        KD-00059            Prof Dr. Sadli Masikun
## 31        KD-00079                     Meiti Kuswara
## 32        KD-00134                        Budi Yahya
## 33        KD-00064                       Fauzan Amir
## 34        KD-00038                       Putri Utomo
## 35        KD-00117                Florensia Novianti
## 36        KD-00010                   Sri Wahyuni, Ir
## 37        KD-00028                     Aman Pakpahan
## 38        KD-00125                        Tedi Halim
## 39        KD-00069                Syarifuddin Mahmud
## 40        KD-00114                      Tri Iskandar
## 41        KD-00062                   Zulkifli Kirana
## 42        KD-00006                 DR. Candra Wijaya
## 43        KD-00024                   Solihin Chaerul
## 44        KD-00084                             Surya
## 45        KD-00104                    Iqbal Setiawan
## 46        KD-00103                    Yonathan Bagus
## 47        KD-00143                       Hari Wibowo
## 48        KD-00034                Rita Meutia Latief
## 49        KD-00087                     Budi Setiawan
## 50        KD-00039 Joko Wiryanto Abadi Pelanggan OKE
## 51         KD-0047                     Puspita Citra
## 52        KD-00149                   Chandra Rachmat
## 53        KD-00003                    Slamet Wiyanto
## 54        KD-00043                     Suharno Jamar
## 55        KD-00135                        Tiah Feris
## 56        KD-00050                 Intan Tri Wahyuni
## 57        KD-00110                   Sumartono Salim
## 58        KD-00049                   Dianto Laksmana
## 59        KD-00141                      Edi Sumantri
## 60        KD-00044               dr. Yati Octavianus
## 61        KD-00124                         Yakob Tan
## 62        KD-00105              Urip Chandra Effendi
## 63        KD-00107                   Rachmat Chandra
## 64        KD-00086                       Sisilia Lai
## 65        KD-00123                   Rakhmat Chandra
## 66        KD-00025              DRG. Euis Rosidawati
## 67        KD-00008                     Willy Sanjaya
## 68        KD-00005             Prihatin Setyonugroho
## 69        KD-00101                    Fera Kurniawan
## 70        KD-00001                     Agus Cahyonos
## 71        KD-00020                    Hendri Winarto
## 72        KD-00080         Cristian Pakpahan Winarno
## 73        KD-00102                      Leny Sarmini
## 74        KD-00146                      Roger Sirait
## 75        KD-00048                         Lilis Ong
## 76        KD-00019                    Maria Yuniarti
## 77        KD-00151                        Ferry Thia
## 78        KD-00130                      Jujur Suwito
## 79        KD-00073           Takashi Yudistira Arief
## 80        KD-00778                   Cahyono Agus H.
## 81        KD-00066                      Purnomo Hadi
## 82        KD-00041                     Poernomo Hadi
## 83        KD-00140                    Leonardo Tedja
## 84        KD-00116                   Risma Sihombing
## 85        KD-00127                     Herdi Rivanto
## 86        KD-00057                     Sumardi Utomo
## 87        KD-00016                          Indra K.
## 88        KD-00063                Widianto Nuryajaya
## 89        KD-00148                          Kuswanto
## 90        KD-00023                 Ir. Yahya Permata
## 91        KD-00029                        Sri Rahayu
## 92        KD-00136                       Joko Wibawa
## 93        KD-00106                        Budi Yahya
## 94        KD-00026                     Anton Winarta
## 95        KD-00145                       Lilis Kasim
## 96        KD-00018                  Sudirman Kartono
## 97        KD-00058                Fineli Rahmadianto
## 98        KD-00051                       Abdul Kadir
## 99        KD-00144                   Risma Sihombing
## 100       KD-00128                     Tedi Rahmanto
## 101       KD-00115                    Teddy Rahmanto
## 102       KD-00009                  Antonius Winarta
## 103       KD-00092                           M Hasbi
## 104       KD-00070                    I Made Mulyana
## 105       KD-00118                       Abdul Kadir
## 106       KD-00052                           Iriawan
## 107       KD-00120                       Dewi Sryani
## 108       KD-00055                    Maria Wiryawan
## 109       KD-00089                     Acmad Junaidi
## 110       KD-00042                     Ahmad Junaidi
## 111       KD-00112                        Ari Masbun
## 112       KD-00098                       B. Sulaiman
## 113       KD-00033                     Citra Permana
## 114       KD-00013                    Danang Santosa
## 115       KD-00138                      Teddja Yanto
## 116       KD-00094                         Sri Utami
## 117       KD-00054                   Yudistira Utomo
## 118       KD-00100                   Rahayu Sri Asih
## 119       KD-00121                     Diana Sumirah
## 120       KD-00061            Tjipto Kesuma Wardhaya
## 121       KD-00031            Risman Suparyo Permata
## 122       KD-00040                         Sri Utami
## 123       KD-00068                           Miliana
## 124       KD-00131                      Dewi Pratiwi
## 125       KD-00097                   Frenkie Pranata
## 126       KD-00004           DRS. Maria Simangunsong
## 127       KD-00071                           Suparta
## 128       KD-00093                           Partono
## 129       KD-00082                           Darmadi
## 130       KD-00150                       Maria Utami
## 131       KD-00065              Civara Intan Wahyudi
## 132       KD-00067                   Niken Sri Utami
## 133       KD-00011                   Rosalina Kurnia
## 134       KD-00091             Indri Nourina Marthia
## 135       KD-00147                     Budi Setiawan
## 136       KD-00081                      Andy Gunawan
## 137       KD-00109                  Purwadianto Hadi
## 138       KD-00072                   Harry Widijanto
## 139       KD-00014   Elisabeth Suryadinata, SKOM, ST
## 140       KD-00078              Gugun Gunawan Wijaya
## 141       KD-00095                   Sri Resti Agung
## 142       KD-00022                Mbak Dian Sukowati
## 143       KD-00017                Irfan Putra Wijaya
## 144       KD-00037                      Cynthia Agus
## 145       KD-00108                       JujurSuwito
## 146       KD-00015                    Mario Setiawan
## 147       KD-00083                    Setiawan Mario
## 148       KD-00060                  Sulaiman Baskara
## 149       KD-00007               Indra Kurniawan, ST
## 150       KD-00077                    Frenki Pranata
## 151       KD-00085                         Frenki P.
## 152       KD-00142                     Tedi Rahmanto
## 153       KD-00192                Sanjaya Priyantoro
## 154       KD-00298               Safira Hana Sahrani
## 155       KD-00492               dr. Yati Octavianus
##                                                  alamat     nomor_telepon
## 1                        Vila Sempilan, No. 67 - Kota B +6285419651438216
## 2                        Vila Sempilan, No. 11 - Kota B +6282189517223455
## 3                         Vila Sempilan, No. 1 - Kota B +6282952955586979
## 4                Vila Permata Intan Berkilau, Blok C5-7 +6289278629437370
## 5                Vila Permata Intan Berkilau, Blok A1/2 +6284384621977881
## 6                   Vila Gunung Seribu, Blok O1 - No. 1 +6285842418573681
## 7                   Vila Gunung Seribu, Blok F4 - No. 8 +6289522699290044
## 8              Vila Bukit Sagitarius, Gang. Sawit No. 3 +6288389541238485
## 9              Vila Bukit Sagitarius, Gang Kelapa No. 6 +6288267903981205
## 10                 Vila Bukit Sagitarius, Blok A1 No. 1 +6284871003581659
## 11                      Taman Vivo Indah, Blok AA No. 7 +6287132221371404
## 12                      Taman Vivo Indah, Blok AA No. 7 +6283309536733507
## 13                Taman Bunga Langit, jalan Utara No. 3 +6286815308308264
## 14                Taman Bunga Langit, jalan Timur No. 1 +6286725681847845
## 15             Taman Bunga Langit, jalan Selatan No. 12 +6281413705348345
## 16           Taman Bunga Langit, jalan Barat Laut No. 6 +6281729600654645
## 17                     Rusun Kerinci Indah, Lt. 6 No. 1 +6282352225142570
## 18                     Rusun Kerinci Indah, Lt. 5 No. 6 +6283203183708137
## 19                  Rumah Susun Gelora, Lantai 1 No. 12 +6289176501199576
## 20                    Rumah Susun Eunos, Lantai 2 No. 2 +6286210781145764
## 21                        Ruko Azalea, No. 3 RT 001/002 +6285986817540683
## 22                         Ruko Almond Manis, Blok C7/8 +6287066745737382
## 23                          Puspa Loka, No. 98F, Kota Y +6281902807450191
## 24                          Puspa Loka, No. 98B, Kota Y +6285991672131933
## 25                Pulo Bambu No. 57, Kota Tenggara Lama +6282607473168157
## 26                Pulo Bambu No. 15, Kota Tenggara Lama   +62829891111222
## 27     Pondok Bima Sakti, jalan Asrama Pelajar No. 11FF +6282261101749552
## 28  Perumahan Sektor Telekomunikasi, jalan Afrika No. 3 +6289323214692782
## 29     Perumahan Sektor Bougenville, jalan Sawit No. 8A +6286663398617904
## 30     Perumahan Sektor Bougenville, jalan Karet No. 7P +6283468728620812
## 31           Perumahan Duku Satu, Gang Merpati - No. 41 +6284927709580269
## 32             Perumahan Duku Lima, Gang Perkutut No. 1 +6284094392278758
## 33          Perumahan Catalina, jalan Kereta Api No. 77 +6285526151431004
## 34           Perumahan Bina Andromeda, jalan Teri No. 4 +6286621940809359
## 35        Perumahan Bina Andromeda, jalan Salmon No. 22 +6283166638654813
## 36                      Perum Venus, Gg. Harimau No. 1A +6284079659289143
## 37                    Perum Venus, Gang. Kelinci No. 12 +6289311313046417
## 38                    Perum Venus, Gang. Harimau No. 4A +6286353637542265
## 39                     Perum Titan, jalan. Trobos No. 8 +6281298730359784
## 40                   Perum Titan, jalan. Kelinci No. 12 +6284122970381517
## 41                   Perum Sektor 50, Gang Permai No. 5 +6286916223612856
## 42                            Perum Pluto, Blok C No. 1 +6284063423953696
## 43   Perum Maju Permai Persada Indah, Gang Kenari No. 3 +6281718632538241
## 44           Perum Maju Permai P.I., Gang Kesturi No. 5 +6286837329291803
## 45           Perum Maju Permai P.I., Gang Kesturi No. 5 +6286401899308998
## 46                          Perum Kali Meksiko, No. D22 +6283481690089399
## 47                           Perum Kali Meksiko, No. 8F +6281672571203724
## 48                           Perum Kali Meksiko, No. 8C +6284588563149814
## 49                         Perum Indah Supernova, No. 1 +6285318844151067
## 50                      Perum Indah Supernova II, No. 9 +6289122766908102
## 51                  Perum Bimasakti Raya, Blok A No. 10 +6282793268821143
## 52                  Perum Bimasakti Raya, Blok A No. 10 +6289337617505007
## 53                             Meta Residences, No. 32C +6285725955303368
## 54                              Meta Residences, No. 1A +6285158186394886
## 55               Kota T,  jalan Taman Kencana No. 11112 +6283674655321990
## 56                   Kompleks Selatan-Selatan, No. 121  +6283594524411404
## 57                    Kompleks Selatan-Selatan, No. 111 +6288942588082822
## 58               Kompleks Permai Angkasa, Blok M No. 10 +6284311691840121
## 59               Kompleks Permai Angkasa, Blok J No. 09 +6286730629494828
## 60                      Kompleks Pelaut Tangguh, No. 5A +6285879131063825
## 61             Kompleks Nelayan Permai, Blok DD - 98/99 +6284366427534780
## 62         Kompleks Akademi Perawat, Gang Farmasi No. 3 +6288507258756263
## 63                     Kampung Kijang, Blok D3 - No. 12 +6282792175097533
## 64                      Kampung Harimau, No. 88, Kota K +6281334304509664
## 65                               Kampung Harimau, No. 3 +6286051245623557
## 66                    Kampoeng Harimau, No. 81 - Kota K +6286035230854391
## 67                           Kali Mars Cluster, No. 24C +6285312577710538
## 68            jalan Tegal Sari Indah, No. D87 -- Kota H +6286843623971825
## 69            jalan Tegal Sari Indah, No. D77 -- Kota H +6285375019511143
## 70          jalan Pulo Bambu No. 15, Kota Tenggara Lama    08298911112222
## 71                   jalan Manggis II, Gang Buntu No. 1 +6287384329533477
## 72                  jalan Manggis II - Gang Buntu No. 4 +6284032125604618
## 73               jalan Kangguru No. 92, RT 005 - kota R +6281941958971086
## 74               jalan G. Asri Mawar Harum Blok G No. 9 +6288888862370254
## 75                   jalan Wisma Tenteram Saja, No. A31 +6285317681095918
## 76                   jalan Wisma Tenteram Saja, No. A22 +6289317147992822
## 77                jalan Taman Kencana No. 11112, Kota T +6287896807815060
## 78              jalan Raya Griya Barbarosa, Blok AF 789 +6282833816760984
## 79           jalan Puri Indah Menawan, No. 818 - Kota T +6281859313870200
## 80       jalan. Pulau Bambu No. 15 - Kota Tenggara Lama   +62829891112222
## 81                          jalan Pulau Sentosa No. 133                 -
## 82                         jalan. Pulau Sentosa No. 133    08763322558899
## 83                         jalan Pulau Sentosa No. 1335 +6289699357035892
## 84               Apartemen Lucky Beruntung, Lt. 5 No. 4 +6287642929298977
## 85                          jalan Pulau Sentosa No. 133 +6284991627085550
## 86                            jalan Pahlawan, No. 69FFF +6286996345317721
## 87                           jalan Pahlawan, No. 69CCD  +6289222405928430
## 88                          jalan Macan Buntung, No. 4F +6285463027900499
## 89                 jalan Macan Buntung, No. 1F - Kota D +6289756523291187
## 90                          jalan Macan Buntung, No. 1F +6287660464098623
## 91                  jalan Kp. Kijang, Blok A1 - No. 2F  +6283177123456315
## 92         jalan Kemenangan Besar, Blok C8 No. 22 RT 02 +6288841308560422
## 93               jalan Kemenangan Besar, Blok C8 No. 22 +6283460823430150
## 94                   jalan Kebon Jahe, Kota EntahDimana +6284204043307629
## 95                jalan Kampung Kijang, Blok C5 - No. 9 +6281980423349356
## 96                      jalan Bintang Supernova, No. 78 +6282283957103749
## 97                      jalan Bintang Supernova, No. 78 +6289503422652894
## 98                             jalan Binjai 200, Kota L +6283835679381969
## 99               Apartemen Lucky Beruntung, Lt. 3 No. 4 +6287642929298977
## 100     Apartemen Bukit Merah, Annex Plaza, Lt 3 No. A1     0898198765432
## 101      Apartemen Bukit Merah Annex Plaza, Lt 3 No. A1    08765439876543
## 102                 jalan. Kebon Jahe, No. F16 - Kota E +6282722234294686
## 103                     jalan. Bukit Tol Km. 3, No. 971 +6284298240961859
## 104                  jalan Wisma Tenteram Saja No. B-01 +6281950071656111
## 105             jalan Semantik Semut Berjalan, No. 3333 +6281693345459608
## 106                jalan Ring Road Neolitik, No. 1 RT 5 +6282695676827512
## 107                      jalan Ring Road Konstan, No. 5 +6285239934324639
## 108                    jalan Raya Jupiter Titan, No. 55 +6288385590443770
## 109              jalan Raya Hang Lekir, No. 62 - Kota Z +6281550391417945
## 110               jalan Raya Hang Lekir, Kota Z, No. 62 +6284399241602502
## 111                  jalan Raya Andromeda, Blok D No. 3 +6285734298900666
## 112   jalan Pesisir No. 5, Kampoeng Maju Surya Gemilang +6283382626807712
## 113                    jalan Hang Tuah, No. 31, Kota DM +6286734992308497
## 114                    jalan Hang Tuah, No. 11, Kota DM +6282672925000608
## 115                           jalan Gula Pahit, No. 081 +6286357357965169
## 116                           jalan Gula Pahit, No. 015 +6284941125391866
## 117                           jalan Gula Pahit, No. 001 +6288743246116630
## 118          jalan Asia No. 55, Kompleks Pelajar Kota C +6282208807303229
## 119                         Indah Mars Cluster, No. 22F +6288508083942658
## 120                Griya Asri Mawar Harum, Blok G No. 1 +6283534357190274
## 121                         Gang Tupai, No. 7 - Desa CL +6287382247200814
## 122            Gang Samun Saja No. 132, Kode Pos A99222 +6287263432705516
## 123                       Gang Piranha, No. 3 - Desa BT +6284941004806026
## 124                      Gang Piranha, No. 13 - Desa BT +6284939933374036
## 125                      Gang Kelinci, No. 666 - Kota B +6282055715061873
## 126                      Gang Bulan Desember III, No. 9 +6283376770990635
## 127                    Gang Bulan Desember III, No. 155 +6285361733615048
## 128                    Gang Bulan Desember III, No. 145 +6287029784792141
## 129                         Gang Arwana, No. 6 - Kota S +6284338493742386
## 130                          Gang Arwana No. 12, Kota S +6287188198226353
## 131               Corina Residences Apartment, No. 0612 +6287500842511771
## 132                  Condominium Pesona Indah, No. 0708 +6286546368604671
## 133                 Cluster Ikan Mas, Taman Intan No. 2 +6288339032314103
## 134                 Cluster Ikan Mas, Taman Baru No. 96 +6288718681168878
## 135              Cluster Griya Bima Sakti, Blok A No. 1 +6282891052016637
## 136                        Bukit Vivo Indah, Blok C 2/4 +6288590906353243
## 137                        Bukit Vivo Indah, Blok C 2/4 +6286240577462157
## 138         Boulevard Raya Residences, Blok AB2 No. 102 +6288942438259785
## 139         Boulevard Raya Residences, Blok AA2 No. 88  +6285455084014504
## 140                        Blok C 2/4, Bukit Vivo Indah +6283670227924527
## 141                   Asrama Perawat IV, No. 2 - Kota D +6285736296760607
## 142                   Asrama Perawat IV, No. 1 - Kota D +6285796817992325
## 143         Asrama Pelajar No. 22 A - Pondok Bima Sakti +6289984358708389
## 144         Asrama Pelajar No. 11 B - Pondok Bima Sakti +6283155468652762
## 145                Apartement Clifften, Lantai 12 No. 3 +6284037884325249
## 146             jalan Puri Arteri Raya, No. 88 - Kota T +6282989111122220
## 147             jalan Puri Arteri Raya, No. 88 - Kota T +6282989111122220
## 148             Apartemen Kecapi Indah, Lt. 18 No. 1801 +6286106166597558
## 149             Apartemen Kecapi Indah, Lt. 16 No. 1610 +6283840529196797
## 150                       jalan Sutomo Baru 21 - Kota M +6283957775331152
## 151                 jalan. Sutomo Baru No. 21 - Kota  M +6289781665737911
## 152          Apartemen Bukit Baru, Dahlia Tower, No. A3 +6289859935888974
## 153          Taman Bunga Langit, jalan Barat Laut No. 6 +6281729600654645
## 154               Taman Bunga Langit, jalan Utara No. 3 +6286815308308264
## 155                     Kompleks Pelaut Tangguh, No. 5A +6285879131063825
##     kode_pos aktif
## 1     567130     0
## 2     567130     1
## 3     567130     0
## 4     876551     0
## 5     876551     1
## 6     876552     1
## 7     876552     1
## 8     877521     1
## 9     877521     1
## 10    877521     0
## 11    712983     1
## 12    712983     1
## 13    712984     1
## 14    712984     0
## 15    712984     0
## 16    712984     1
## 17    633429     1
## 18    633429     1
## 19    633430     1
## 20    633431     1
## 21    511431     1
## 22    511431     0
## 23    511432     1
## 24    511432     1
## 25    876511     1
## 26    876511     0
## 27    349922     0
## 28    986454     1
## 29    986455     1
## 30         -     1
## 31    986456     1
## 32    986456     1
## 33    987451     1
## 34    987452     0
## 35    987452     0
## 36    987453     1
## 37    987453     1
## 38         -     1
## 39    349981     1
## 40    349981     1
## 41    487451     1
## 42    487851     1
## 43    811613     1
## 44    811613     1
## 45    811613     1
## 46    877613     0
## 47    877614     0
## 48    877615     1
## 49    764449     1
## 50    764449     1
## 51    764450     1
## 52    764450     1
## 53    764550     1
## 54    764550     1
## 55    876612     1
## 56    321321     1
## 57    321321     1
## 58    321321     0
## 59    321321     1
## 60    321321     1
## 61    321321     0
## 62    321321     1
## 63    893422     1
## 64    813442     0
## 65    813442     1
## 66    813442     1
## 67    813444     1
## 68    476511     1
## 69    476511     1
## 70    876511     1
## 71    476533     1
## 72    476533     1
## 73    666122     0
## 74    666123     1
## 75    866162     0
## 76         -     1
## 77    876612     1
## 78    876614     0
## 79    876512     1
## 80    876511     1
## 81    896549     1
## 82    896549     1
## 83    896549     1
## 84    986455     1
## 85    896549     1
## 86    896550     1
## 87    896550     0
## 88    768091     1
## 89    768091     1
## 90         -     1
## 91    896566     0
## 92    896555     1
## 93    896555     1
## 94    896555     1
## 95    896555     1
## 96    896555     1
## 97    896555     1
## 98    696193     0
## 99    986455     1
## 100   986455     0
## 101   986455     0
## 102   896555     1
## 103   696193     1
## 104   696193     1
## 105   696193     0
## 106   567120     1
## 107   567120     1
## 108   696193     1
## 109   696193     1
## 110   696193     1
## 111   696193     1
## 112   696193     1
## 113   666122     1
## 114   666122     1
## 115   896549     0
## 116   896549     1
## 117   896549     0
## 118   896549     0
## 119   896112     1
## 120   896113     1
## 121   896114     1
## 122   896115     1
## 123   567151     0
## 124   567151     1
## 125   567120     1
## 126   967220     0
## 127   967220     0
## 128   967220     1
## 129   967221     1
## 130   967221     1
## 131   967222     1
## 132   967223     1
## 133   967223     0
## 134   967223     1
## 135   967224     1
## 136   967229     0
## 137   967229     1
## 138   817321     -
## 139        -     1
## 140   817324     1
## 141   768031     0
## 142   768031     0
## 143   768034     1
## 144   768034     1
## 145   768035     1
## 146   876511     1
## 147   876511     1
## 148   986455     0
## 149   986455     0
## 150   987601     0
## 151   987601     1
## 152   986455     1
## 153   712984     1
## 154   712984     1
## 155   321321     1