email : ?_?
ntraktir : https://trakteer.id/contekansial
nyawer :
https://saweria.co/contekansial
github :
https://bit.ly/origin-AL-GitHub
youtube :
https://bit.ly/origin-AL-youtube
Pagi ini, suasana di tempat kerjaku (AL.Corp) terasa senang seperti hari-hari biasanya. Semua rekanku sibuk mengerjakan pekerjaannya masing-masing sambil sesekali berdiskusi jika ada hal yang sulit dikerjakan sendiri. Sampai tiba-tiba, aku terkejut mendengar suara L yang memanggil aku dan I dengan suaranya yang keras. “I, A, ke ruanganku sebentar!” perintah L. Aku menatap I, I pun hanya mengangkat bahunya dengan wajah yang sama bingungnya denganku, sebelum akhirnya kami beranjak dari meja dan melangkah ke ruangan L.
Ketika aku dan I sudah menempati kursi di hadapan meja L, L langsung membuka mulutnya, “Aku memiliki data teks, tapi masih berantakan format dan isinya. Kalian berdua sebagai Data Scientist seharusnya sudah cukup familiar dengan pengolahan data teks bukan? Apakah kalian bisa membantuku dengan data ini?”
“Ya, tentu saja bisa L.” jawab I. “Tolong kirimkan saja datanya melalui email ya, nanti akan aku selesaikan bersama dengan A,” tambahnya. L menggerakkan jari-jarinya di atas keyboard, sebelum kemudian kembali berkata, “Sudah di email ya file nya. Tolong segera diselesaikan datanya! Kalian sudah boleh kembali ke meja kalian lagi!”
Aku di ruangan itu hanya bisa melongo melihat situasinya. I yang sudah lebih lama bekerja bersama dengan L sepertinya sudah paham dengan sifatnya itu, langsung mencolek tanganku dan mengajak untuk ke luar dari ruangan L. “Sip, akan segera kami selesaikan sekarang.” jawab I sebelum menutup pintu ruangan L.
“Udah ga usah bingung A, L memang seperti itu kok orangnya. Yuk, lebih baik kita selesaikan aja pekerjaan yang baru diberikannya itu!” ajak I. Aku mengangguk sambil mulai fokus pada laptopku sendiri.
Setelah aku meneliti email dari L, ada pertanyaan yang sedikit membuatku bingung. Tanpa ragu, segera kutanyakan pada I yang ditugaskan menyelesaikan pekerjaan ini bersamaku. “Apakah kita sering berhadapan dengan data teks? Apa ya yang membedakan data teks dengan data numerik yang sudah sering kita olah selama ini?”
I tampak terdiam sejenak sebelum menjawab, “Hmm, sebelumnya kita
sudah mempelajari tipe-tipe dari data kan, yang salah satunya merupakan
data character atau string. Data character
atau string pada R ditandai dengan adanya
tanda kutip ('...') atau kutip dua ("...") di
antara datanya.”
“Nih, biar kamu ga bingung, coba baca bagian yang ini,” kata I sambil menunjukkan layar laptopnya padaku yang sudah terbuka salah satu halaman artikel dari internet.
Contoh data character atau string adalah sebagai berikut:
Data dalam bentuk teks (character/string) merupakan salah satu contoh data yang tidak berstruktur atau unstructured data, di mana biasanya menghabiskan waktu lebih lama untuk melakukan proses wrangling sebelum akhirnya bisa dianalisis lebih lanjut. Melakukan pemrosesan pada data tidak berstruktur bisa lebih lama karena terdapat format yang berbeda-beda, mengekstrak data yang terdapat pada teks, dan mendeteksi pola atau pattern yang terdapat pada teks karena pola pada data teks mungkin tidak dapat langsung terlihat seperti pada data numerik.
“Tadi kan sudah terima data dari email yang dikirimkan L.
Nah, kali ini kita akan mengolah data yang disimpan pada file
dengan ekstensi .txt. Sebelumnya kita sudah pernah
bekerja dengan data csv dan tsv bukan?
Jika sebelumnya kita menggunakan fungsi read.csv() untuk
melakukan import file csv dan
tsv, untuk melakukan import file
txt ke dalam workspace, kita dapat menggunakan
fungsi read.table() yang cara kerjanya mirip dengan
read.csv(). Aku sudah melakukan import data ke
dalam workspace dan coba kamu perhatikan data ini”, ujar I. I
pun memberikanku potongan codes untuk melakukan import
data menggunakan fungsi read.table().
“Kamu masih bingung ya untuk masing-masing code nya?” tanya I padaku yang kujawab dengan anggukan. “Kalau begitu, coba baca penjelasannya ini ya!” tambah I.
“Nantinya, kalau code tersebut dijalankan, akan didapatkan hasil seperti ini,” kata I sambil menunjukkan isi dari datasetnya.
Berdasarkan potongan gambar di Atas, beberapa informasi yang diperoleh adalah sebagai berikut:
Setelah membaca dan memahami cara import dan membaca dataset serta memecahnya ke dalam satu kolom, aku jadi merasa sedikit cemas. “Wah I, kalau semua datanya disimpan ke dalam satu kolom, nantinya apakah tidak sulit untuk diolah? Apa yang bisa kita lakukan untuk memisahkan data-data tersebut ke dalam kolomnya masing-masing?” tanyaku dengan perasaan bingung.
“Tidak perlu khawatir. Yuk, sebelum menuju ke bagian itu, kamu coba untuk melakukan import file nya terlebih dahulu!”, ajak I.
#preload dataset yang digunakan
data <- read.table(
file = "https://storage.googleapis.com/dqlab-dataset/datalahir_teks_dqlab.txt",
header = FALSE,
sep = "\n",
na.strings=c("NA", "N/A", ""),
col.names = 'data_list',
skip = 1)#menampilkan data yang sudah di-load ke dalam workspace
data## data_list
## 1 Agung|||Semarang|||03 Juni 1992|||Jawa Tengah
## 2 Agus|||Probolinggo|||19 Juni 1989|||Jawa Timur
## 3 Andi|||Pangkalpinang|||11 April 1994|||Bangka Belitung
## 4 Andika|||Surabaya|||24 Mei 1999|||Jawa Timur
## 5 Anggun|||Kota Administrasi Jakarta Pusat|||13 Juni 1981|||Jakarta
## 6 Ardi|||Depok|||16 Agustus 1984|||Jawa Barat
## 7 Asep|||Malang|||16 Agustus 1996|||Jawa Timur
## 8 Ayu|||Batu|||22 Februari 2002|||Jawa Timur
## 9 Bagus|||Banda Aceh|||10 Juli 1995|||Aceh
## 10 Bambang|||Kota Administrasi Jakarta Utara|||01 Oktober 1991|||Jakarta
## 11 Bayu|||Sabang|||05 Februari 1987|||Aceh
## 12 Bella|||Pasuruan|||17 April 1992|||Jawa Timur
## 13 Citra|||Banjarmasin|||12 Desember 1986|||Kalimantan Selatan
## 14 Deni|||Denpasar|||14 Februari 1996|||Bali
## 15 Diki|||Semarang|||21 Juli 1987|||Jawa Tengah
## 16 Erlangga|||Tangerang Selatan|||31 Januari 1993|||Banten
## 17 Fajri|||Bogor|||06 Agustus 2003|||Jawa Barat
## 18 Farah|||Tangerang Selatan|||06 Maret 1999|||Banten
## 19 Feri|||Banjarbaru|||17 September 1991|||Kalimantan Selatan
## 20 Fitri|||Kota Administrasi Jakarta Utara|||21 Januari 1982|||Jakarta
## 21 Galang|||Banjarmasin|||01 Juni 1993|||Kalimantan Selatan
## 22 Gunawan (0834755)|||Tegal|||18 November 1993|||Jawa Tengah
## 23 Hadi|||Depok|||07 Juli 1983|||Jawa Barat
## 24 Hasan|||Kota Administrasi Jakarta Selatan|||25 Juni 1992|||Jakarta
## 25 Hengky|||Tangerang|||21 Desember 1990|||Banten
## 26 Indah|||Madiun|||28 Juli 1991|||Jawa Timur
## 27 Iqbal|||Pekalongan|||11 Oktober 1997|||Jawa Tengah
## 28 Jaya|||Sungai Penuh|||23 April 2005|||Jambi
## 29 Kardi|||Cimahi|||25 Juni 1992|||Jawa Barat
## 30 Komang|||Semarang|||31 Agustus 1998|||Jawa Tengah
## 31 Krisda|||Bandung|||23 Juni 1985|||Jawa Barat
## 32 Kurnia|||Tangerang|||24 Oktober 2004|||Banten
## 33 Lestari|||Bandung|||05 November 2002|||Jawa Barat
## 34 Mahmud|||Pasuruan|||26 April 1981|||Jawa Timur
## 35 Marta|||Kota Administrasi Jakarta Pusat|||15 November 1984|||Jakarta
## 36 Mita, Mira|||Tangerang Selatan|||10 Juni 1993|||Banten
## 37 Murni|||Denpasar|||24 Januari 1999|||Bali
## 38 Nita|||Sungai Penuh|||25 Desember 1992|||Jambi
## 39 Nur (089994)|||Banjarbaru|||17 Maret 1981|||Kalimantan Selatan
## 40 Putra|||Tangerang|||07 Agustus 1996|||Banten
## 41 Putri|||Kota Administrasi Jakarta Timur|||29 Desember 2002|||Jakarta
## 42 Rafi|||Subulussalam|||25 Februari 1991|||Aceh
## 43 Rahma|||Sabang|||22 September 1990|||Aceh
## 44 Rahmad|||Probolinggo|||22 September 2003|||Jawa Timur
## 45 Randi|||Bekasi|||20 April 1985|||Jawa Barat
## 46 Rasyid|||Bandung|||25 Agustus 1985|||Jawa Barat
## 47 Rian|||Bekasi|||16 Januari 1987|||Jawa Barat
## 48 Rita|||Singkawang|||01 Desember 2004|||Kalimantan Barat
## 49 Rizki|||Cimahi|||16 Februari 1991|||Jawa Barat
## 50 Sandi|||Sukabumi|||01 Februari 1985|||Jawa Barat
## 51 Sarah|||Bengkulu|||15 November 1980|||Bengkulu
## 52 Silvia|||Malang|||06 Januari 1996|||Jawa Timur
## 53 Siti|||Cimahi|||30 Januari 1985|||Jawa Barat
## 54 Sri|||Pangkalpinang|||22 Juli 1990|||Bangka Belitung
## 55 Tasya|||Singkawang|||15 Oktober 1987|||Kalimantan Barat
## 56 Tia|||Kota Administrasi Jakarta Utara|||26 Desember 1985|||Jakarta
## 57 Tiara|||Madiun|||11 April 1992|||Jawa Timur
## 58 Tika|||Cirebon|||07 April 1981|||Jawa Barat
## 59 Tri|||Batu|||26 Januari 1994|||Jawa Timur
## 60 Ujang|||Depok|||04 Juli 1999|||Jawa Barat
## 61 Wahyu|||Mojokerto|||17 Maret 2000|||Jawa Timur
## 62 Wardi|||Jambi|||23 Mei 1985|||Jambi
## 63 Wulan|||Langsa|||09 Maret 1990|||Aceh
## 64 Yansen|||Cilegon|||14 Januari 1981|||Banten
## 65 Yati|||Langsa|||20 September 1995|||Aceh
## 66 Yudhi|||Yogyakarta|||29 Maret 1992|||Daerah Istimewa Yogyakarta
## 67 Yuli|||Jambi|||11 Januari 1984|||Jambi
## 68 Zahra|||Langsa|||25 Juli 2002|||Aceh
## 69 Zaki|||Cirebon|||31 Maret 1999|||Jawa Barat
“Untuk menjawab pertanyaanmu sebelumnya mengenai memisahkan data ke
kolomnya masing-masing yang sesuai, kita dapat menggunakan fungsi
strsplit() yang ada pada R. Untuk
syntax penggunaan strsplit() adalah demikian.”, I
menjelaskan sambil mengetikkan sesuatu pada keyboardnya. Aku memajukan
badanku mendekati laptop I dan mengamati layar dengan serius.
strsplit(x, split, fixed)
dengan
“Nah, kira-kira begitu cara menggunakan fungsi
strsplit(). Yuk kita langsung praktekkan saja supaya kamu
lebih paham cara menggunakannya!” I menyuruhku untuk mengetikkan sendiri
code-nya untuk berlatih.
#menampilkan 6 data teratas yang sudah di-load ke dalam workspace
head(data)## data_list
## 1 Agung|||Semarang|||03 Juni 1992|||Jawa Tengah
## 2 Agus|||Probolinggo|||19 Juni 1989|||Jawa Timur
## 3 Andi|||Pangkalpinang|||11 April 1994|||Bangka Belitung
## 4 Andika|||Surabaya|||24 Mei 1999|||Jawa Timur
## 5 Anggun|||Kota Administrasi Jakarta Pusat|||13 Juni 1981|||Jakarta
## 6 Ardi|||Depok|||16 Agustus 1984|||Jawa Barat
#memisahkan data menggunakan strsplit
data <- strsplit(data$data_list, split = "|||", fixed = TRUE)#merubah data menjadid dataframe
df <- data.frame(matrix(unlist(data), nrow = length(data), byrow = TRUE))#memberikan nama pada setiap kolom
colnames(df) <- c('Nama', 'Tempat_Lahir', 'Tanggal_Lahir', 'Provinsi')#menampilkan 5 baris pertama dari df
head(df, 5)## Nama Tempat_Lahir Tanggal_Lahir Provinsi
## 1 Agung Semarang 03 Juni 1992 Jawa Tengah
## 2 Agus Probolinggo 19 Juni 1989 Jawa Timur
## 3 Andi Pangkalpinang 11 April 1994 Bangka Belitung
## 4 Andika Surabaya 24 Mei 1999 Jawa Timur
## 5 Anggun Kota Administrasi Jakarta Pusat 13 Juni 1981 Jakarta
“Tidak sulit sama sekali kan untuk memisahkan data-data tersebut ke
kolomnya masing-masing?” kata I setelah melihatku mampu menyelesaikan
perintahnya dalam waktu singkat. “Sekarang, aku ingin menunjukkan fungsi
lain yang mungkin berguna dalam pengolahan data teks. Fungsi yang ingin
aku kenalkan adalah fungsi paste(). Fungsi tersebut
digunakan untuk menggabungkan beberapa data teks menjadi satu. Seperti
contohnya pada data yang kita miliki, kita dapat menggabungkan data pada
kolom tempat_lahir dan provinsi
menjadi satu (Malang dan Jawa Timur
menjadi Malang, Jawa Timur). Penggunaan fungsi
paste() ini sangat mudah, lho! Syntaxnya juga
sangat sederhana.” I memberikan penjelasan dengan antusias.
paste(data_1, pemisah, data_2, pemisah, data_3, ..., data_n)
“Wah, ayo kita langsung coba saja kalau begitu!”, ujarku yang langsung jadi sangat bersemangat.
#menambahkan kolom baru yang berisi tempat lahir dan provinsi
df$kota_provinsi <- paste(df$Tempat_Lahir, ",", df$Provinsi)#menampilkan 5 data teratas dari df
head(df, 5)## Nama Tempat_Lahir Tanggal_Lahir Provinsi
## 1 Agung Semarang 03 Juni 1992 Jawa Tengah
## 2 Agus Probolinggo 19 Juni 1989 Jawa Timur
## 3 Andi Pangkalpinang 11 April 1994 Bangka Belitung
## 4 Andika Surabaya 24 Mei 1999 Jawa Timur
## 5 Anggun Kota Administrasi Jakarta Pusat 13 Juni 1981 Jakarta
## kota_provinsi
## 1 Semarang , Jawa Tengah
## 2 Probolinggo , Jawa Timur
## 3 Pangkalpinang , Bangka Belitung
## 4 Surabaya , Jawa Timur
## 5 Kota Administrasi Jakarta Pusat , Jakarta
“Selain strsplit() dan paste(), ada
beberapa fungsi lain yang mungkin bisa membantu dalam pengolahan data
teks, lho! Seperti fungsi-fungsi berikut ini.” I kembali melanjutkan
penjelasannya. Namun kali ini I menyuruhku memperhatikan 1 halaman
informasi tentang penjelasan fungsi agar aku bisa membaca dan
memahaminya.
“Kalau kamu mau lebih paham tentang penggunaan fungsi dari materi yang sudah kamu baca, kamu coba jalankan potongan kode pada catatan begini satu per satu ya, A! Perhatikan output dari masing-masing barisnya!” I menyuruhku untuk mencobanya sendiri.
#membaca data kalimat
data_teks <- "Ayo belajar data untuk memulai karir di bidang data"#menggunakan fungsi nchar()
nchar(data_teks)## [1] 51
#menggunakan substr()
substr(data_teks, 13, 16)## [1] "data"
#menggunakan sub()
sub("data", "data science", data_teks)## [1] "Ayo belajar data science untuk memulai karir di bidang data"
#menggunakan gsub()
gsub("data", "data science", data_teks)## [1] "Ayo belajar data science untuk memulai karir di bidang data science"
“Sekarang kita akan lanjut berkenalan dengan regular expression. Regular expression (regex) merupakan sebuah cara yang digunakan untuk mendeskripsikan sebuah pattern atau pola yang ada pada string yang kemudian berguna untuk mencari teks atau character tertentu. Sebagai praktisi data, kita akan banyak menggunakan regex untuk pekerjaan sehari-hari, seperti misalnya mencari file yang ada pada suatu folder melalui regex pada command line, mencari artikel yang mengandung pola teks tertentu, mengganti string dengan pola tertentu, dan banyak kasus lain.”, kata I.
“Cara yang paling umum digunakan untuk menggunakan regex adalah menentukan character atau teks apa yang ingin kita cari terlebih dahulu.” I kembali memberikan penjelasan kepadaku tentang materi yang perlu aku pelajari selanjutnya. Beberapa regex yang umum digunakan adalah sebagai berikut:
“Sekarang kembali ke data yang kita gunakan. Coba kita cari apakah
ada data nama yang mengandung angka di dalamnya. Untuk melakukan hal
tersebut, kita dapat menggunakan fungsi grep() yang
berfungsi untuk mencari substring yang sesuai dengan
pattern yang kita masukkan. Kamu dapat menggunakan potongan
codes berikut.” I menjelaskan sambil terus mengetik.
#mencari Nama yang mengandung angka
name_with_num <- grep('\\d+', df$Nama)#melihat hasil
name_with_num## [1] 22 39
“Kujelaskan lagi ya. Fungsi grep() tersebut akan
mengembalikan index dimana terdapat data yang sesuai dengan
pattern yang sudah kita masukkan sebelumnya. Berdasarkan hasil
dari potongan codes yang sudah dijalankan, kita memperoleh
keluaran berupa angka 22 dan 39 yang
berarti data pada nama index ke-22 dan ke-39
mengandung angka didalamnya.” I menjelaskan sambil menunjukkan keluaran
dari codes sebelumnya. Selama I menjelaskan, aku memperhatikan
dengan teliti dan kemudian meminta untuk mencoba mempraktekkan
penggunaan fungsi grep() tersebut.
“Nah A, sekarang kamu sekalian coba untuk menghapus karakter selain
huruf yang ada pada data Nama juga ya dengan
menggunakan fungsi gsub(), sekalian untuk melatih
pemahamanmu akan fungsi itu juga!” pinta I. Instruksi:
gsub()#menampilkan data Nama yang mengandung angka
df[name_with_num,]## Nama Tempat_Lahir Tanggal_Lahir Provinsi
## 22 Gunawan (0834755) Tegal 18 November 1993 Jawa Tengah
## 39 Nur (089994) Banjarbaru 17 Maret 1981 Kalimantan Selatan
## kota_provinsi
## 22 Tegal , Jawa Tengah
## 39 Banjarbaru , Kalimantan Selatan
#menghapus karakter yang bukan termasuk alphabet
df$Nama <- gsub('[^A-Za-z]', '', df$Nama)#melihat hasil
df$Nama## [1] "Agung" "Agus" "Andi" "Andika" "Anggun" "Ardi"
## [7] "Asep" "Ayu" "Bagus" "Bambang" "Bayu" "Bella"
## [13] "Citra" "Deni" "Diki" "Erlangga" "Fajri" "Farah"
## [19] "Feri" "Fitri" "Galang" "Gunawan" "Hadi" "Hasan"
## [25] "Hengky" "Indah" "Iqbal" "Jaya" "Kardi" "Komang"
## [31] "Krisda" "Kurnia" "Lestari" "Mahmud" "Marta" "MitaMira"
## [37] "Murni" "Nita" "Nur" "Putra" "Putri" "Rafi"
## [43] "Rahma" "Rahmad" "Randi" "Rasyid" "Rian" "Rita"
## [49] "Rizki" "Sandi" "Sarah" "Silvia" "Siti" "Sri"
## [55] "Tasya" "Tia" "Tiara" "Tika" "Tri" "Ujang"
## [61] "Wahyu" "Wardi" "Wulan" "Yansen" "Yati" "Yudhi"
## [67] "Yuli" "Zahra" "Zaki"
“A, kira-kira begitulah beberapa fungsi dasar yang banyak digunakan untuk pengolahan data teks. Bagaimana kalau kamu coba melakukan pengolahan data ini dari awal berdasarkan dengan apa yang sudah diajarkan sebelumnya? Sekalian untuk kamu berlatih dan supaya kamu cepat familiar dengan fungsi-fungsi dan langkah-langkahnya.” ujar I. “Siap banget dong, I!” aku sangat bersemangat karena ini mungkin menjadi project pertama yang aku kerjakan sendiri semenjak bergabung di AL.Corp.
“Perhatikan beberapa instruksi berikut ini ya A, dalam mengerjakan project-nya!” kata I menunjukkan 3 poin catatan penting instruksinya.
#Melakukan import file
data2 <- read.table(
file = "https://storage.googleapis.com/dqlab-dataset/datalahir_teks_dqlab.txt",
header = FALSE,
sep = "\n",
na.strings=c("NA", "N/A", ""),
col.names = 'data_list',
skip = 1)
#Menampilkan 5 data teratas
head(data2, 5)## data_list
## 1 Agung|||Semarang|||03 Juni 1992|||Jawa Tengah
## 2 Agus|||Probolinggo|||19 Juni 1989|||Jawa Timur
## 3 Andi|||Pangkalpinang|||11 April 1994|||Bangka Belitung
## 4 Andika|||Surabaya|||24 Mei 1999|||Jawa Timur
## 5 Anggun|||Kota Administrasi Jakarta Pusat|||13 Juni 1981|||Jakarta
#Memisahkan data menggunakan strsplit
data2 <- strsplit(data2$data_list, split = "|||", fixed = TRUE)
#Merubah data menjadid dataframe
df2 <- data.frame(matrix(unlist(data2), nrow=length(data2), byrow=TRUE))
#Memberikan nama pada setiap kolom
colnames(df2) <- c("Nama", "Tempat_Lahir", "Tanggal_Lahir", "Provinsi")
#Tampilkan 5 baris pertama dari df
head(df2, 5)## Nama Tempat_Lahir Tanggal_Lahir Provinsi
## 1 Agung Semarang 03 Juni 1992 Jawa Tengah
## 2 Agus Probolinggo 19 Juni 1989 Jawa Timur
## 3 Andi Pangkalpinang 11 April 1994 Bangka Belitung
## 4 Andika Surabaya 24 Mei 1999 Jawa Timur
## 5 Anggun Kota Administrasi Jakarta Pusat 13 Juni 1981 Jakarta
#Tambahkan kolom baru yang berisi tempat lahir dan provinsi
df2$kota_provinsi <- paste(df2$Tempat_Lahir, ",", df2$Provinsi)
#Tampilkan 5 data teratas dari df
head(df2, 5)## Nama Tempat_Lahir Tanggal_Lahir Provinsi
## 1 Agung Semarang 03 Juni 1992 Jawa Tengah
## 2 Agus Probolinggo 19 Juni 1989 Jawa Timur
## 3 Andi Pangkalpinang 11 April 1994 Bangka Belitung
## 4 Andika Surabaya 24 Mei 1999 Jawa Timur
## 5 Anggun Kota Administrasi Jakarta Pusat 13 Juni 1981 Jakarta
## kota_provinsi
## 1 Semarang , Jawa Tengah
## 2 Probolinggo , Jawa Timur
## 3 Pangkalpinang , Bangka Belitung
## 4 Surabaya , Jawa Timur
## 5 Kota Administrasi Jakarta Pusat , Jakarta
#Menghapus karakter yang bukan termasuk alphabet pada kolom Nama
df2$Nama <- gsub("[^A-Za-z]", "", df2$Nama)
#Tampilkan isi dari df
df2## Nama Tempat_Lahir Tanggal_Lahir
## 1 Agung Semarang 03 Juni 1992
## 2 Agus Probolinggo 19 Juni 1989
## 3 Andi Pangkalpinang 11 April 1994
## 4 Andika Surabaya 24 Mei 1999
## 5 Anggun Kota Administrasi Jakarta Pusat 13 Juni 1981
## 6 Ardi Depok 16 Agustus 1984
## 7 Asep Malang 16 Agustus 1996
## 8 Ayu Batu 22 Februari 2002
## 9 Bagus Banda Aceh 10 Juli 1995
## 10 Bambang Kota Administrasi Jakarta Utara 01 Oktober 1991
## 11 Bayu Sabang 05 Februari 1987
## 12 Bella Pasuruan 17 April 1992
## 13 Citra Banjarmasin 12 Desember 1986
## 14 Deni Denpasar 14 Februari 1996
## 15 Diki Semarang 21 Juli 1987
## 16 Erlangga Tangerang Selatan 31 Januari 1993
## 17 Fajri Bogor 06 Agustus 2003
## 18 Farah Tangerang Selatan 06 Maret 1999
## 19 Feri Banjarbaru 17 September 1991
## 20 Fitri Kota Administrasi Jakarta Utara 21 Januari 1982
## 21 Galang Banjarmasin 01 Juni 1993
## 22 Gunawan Tegal 18 November 1993
## 23 Hadi Depok 07 Juli 1983
## 24 Hasan Kota Administrasi Jakarta Selatan 25 Juni 1992
## 25 Hengky Tangerang 21 Desember 1990
## 26 Indah Madiun 28 Juli 1991
## 27 Iqbal Pekalongan 11 Oktober 1997
## 28 Jaya Sungai Penuh 23 April 2005
## 29 Kardi Cimahi 25 Juni 1992
## 30 Komang Semarang 31 Agustus 1998
## 31 Krisda Bandung 23 Juni 1985
## 32 Kurnia Tangerang 24 Oktober 2004
## 33 Lestari Bandung 05 November 2002
## 34 Mahmud Pasuruan 26 April 1981
## 35 Marta Kota Administrasi Jakarta Pusat 15 November 1984
## 36 MitaMira Tangerang Selatan 10 Juni 1993
## 37 Murni Denpasar 24 Januari 1999
## 38 Nita Sungai Penuh 25 Desember 1992
## 39 Nur Banjarbaru 17 Maret 1981
## 40 Putra Tangerang 07 Agustus 1996
## 41 Putri Kota Administrasi Jakarta Timur 29 Desember 2002
## 42 Rafi Subulussalam 25 Februari 1991
## 43 Rahma Sabang 22 September 1990
## 44 Rahmad Probolinggo 22 September 2003
## 45 Randi Bekasi 20 April 1985
## 46 Rasyid Bandung 25 Agustus 1985
## 47 Rian Bekasi 16 Januari 1987
## 48 Rita Singkawang 01 Desember 2004
## 49 Rizki Cimahi 16 Februari 1991
## 50 Sandi Sukabumi 01 Februari 1985
## 51 Sarah Bengkulu 15 November 1980
## 52 Silvia Malang 06 Januari 1996
## 53 Siti Cimahi 30 Januari 1985
## 54 Sri Pangkalpinang 22 Juli 1990
## 55 Tasya Singkawang 15 Oktober 1987
## 56 Tia Kota Administrasi Jakarta Utara 26 Desember 1985
## 57 Tiara Madiun 11 April 1992
## 58 Tika Cirebon 07 April 1981
## 59 Tri Batu 26 Januari 1994
## 60 Ujang Depok 04 Juli 1999
## 61 Wahyu Mojokerto 17 Maret 2000
## 62 Wardi Jambi 23 Mei 1985
## 63 Wulan Langsa 09 Maret 1990
## 64 Yansen Cilegon 14 Januari 1981
## 65 Yati Langsa 20 September 1995
## 66 Yudhi Yogyakarta 29 Maret 1992
## 67 Yuli Jambi 11 Januari 1984
## 68 Zahra Langsa 25 Juli 2002
## 69 Zaki Cirebon 31 Maret 1999
## Provinsi kota_provinsi
## 1 Jawa Tengah Semarang , Jawa Tengah
## 2 Jawa Timur Probolinggo , Jawa Timur
## 3 Bangka Belitung Pangkalpinang , Bangka Belitung
## 4 Jawa Timur Surabaya , Jawa Timur
## 5 Jakarta Kota Administrasi Jakarta Pusat , Jakarta
## 6 Jawa Barat Depok , Jawa Barat
## 7 Jawa Timur Malang , Jawa Timur
## 8 Jawa Timur Batu , Jawa Timur
## 9 Aceh Banda Aceh , Aceh
## 10 Jakarta Kota Administrasi Jakarta Utara , Jakarta
## 11 Aceh Sabang , Aceh
## 12 Jawa Timur Pasuruan , Jawa Timur
## 13 Kalimantan Selatan Banjarmasin , Kalimantan Selatan
## 14 Bali Denpasar , Bali
## 15 Jawa Tengah Semarang , Jawa Tengah
## 16 Banten Tangerang Selatan , Banten
## 17 Jawa Barat Bogor , Jawa Barat
## 18 Banten Tangerang Selatan , Banten
## 19 Kalimantan Selatan Banjarbaru , Kalimantan Selatan
## 20 Jakarta Kota Administrasi Jakarta Utara , Jakarta
## 21 Kalimantan Selatan Banjarmasin , Kalimantan Selatan
## 22 Jawa Tengah Tegal , Jawa Tengah
## 23 Jawa Barat Depok , Jawa Barat
## 24 Jakarta Kota Administrasi Jakarta Selatan , Jakarta
## 25 Banten Tangerang , Banten
## 26 Jawa Timur Madiun , Jawa Timur
## 27 Jawa Tengah Pekalongan , Jawa Tengah
## 28 Jambi Sungai Penuh , Jambi
## 29 Jawa Barat Cimahi , Jawa Barat
## 30 Jawa Tengah Semarang , Jawa Tengah
## 31 Jawa Barat Bandung , Jawa Barat
## 32 Banten Tangerang , Banten
## 33 Jawa Barat Bandung , Jawa Barat
## 34 Jawa Timur Pasuruan , Jawa Timur
## 35 Jakarta Kota Administrasi Jakarta Pusat , Jakarta
## 36 Banten Tangerang Selatan , Banten
## 37 Bali Denpasar , Bali
## 38 Jambi Sungai Penuh , Jambi
## 39 Kalimantan Selatan Banjarbaru , Kalimantan Selatan
## 40 Banten Tangerang , Banten
## 41 Jakarta Kota Administrasi Jakarta Timur , Jakarta
## 42 Aceh Subulussalam , Aceh
## 43 Aceh Sabang , Aceh
## 44 Jawa Timur Probolinggo , Jawa Timur
## 45 Jawa Barat Bekasi , Jawa Barat
## 46 Jawa Barat Bandung , Jawa Barat
## 47 Jawa Barat Bekasi , Jawa Barat
## 48 Kalimantan Barat Singkawang , Kalimantan Barat
## 49 Jawa Barat Cimahi , Jawa Barat
## 50 Jawa Barat Sukabumi , Jawa Barat
## 51 Bengkulu Bengkulu , Bengkulu
## 52 Jawa Timur Malang , Jawa Timur
## 53 Jawa Barat Cimahi , Jawa Barat
## 54 Bangka Belitung Pangkalpinang , Bangka Belitung
## 55 Kalimantan Barat Singkawang , Kalimantan Barat
## 56 Jakarta Kota Administrasi Jakarta Utara , Jakarta
## 57 Jawa Timur Madiun , Jawa Timur
## 58 Jawa Barat Cirebon , Jawa Barat
## 59 Jawa Timur Batu , Jawa Timur
## 60 Jawa Barat Depok , Jawa Barat
## 61 Jawa Timur Mojokerto , Jawa Timur
## 62 Jambi Jambi , Jambi
## 63 Aceh Langsa , Aceh
## 64 Banten Cilegon , Banten
## 65 Aceh Langsa , Aceh
## 66 Daerah Istimewa Yogyakarta Yogyakarta , Daerah Istimewa Yogyakarta
## 67 Jambi Jambi , Jambi
## 68 Aceh Langsa , Aceh
## 69 Jawa Barat Cirebon , Jawa Barat