Algoritma & Struktur Data

~ Antarmuka Data ~


Kontak : \(\downarrow\)
Email
Instagram https://www.instagram.com/fe_nw/
RPubs https://rpubs.com/ferdnw/

CSV

getwd() #Mengetahui DIrektori Kerja atau tempat mengambil file yang akan di input 
## [1] "C:/Users/PF2TB/OneDrive/Documents/struktur data"

Cara I

setwd(getwd()) #Set lokasi dimana file akan diambil (Direktory Kerja)

nf = read.csv("input/input1.csv", sep = "," ) #Format pemisah koma 
nr =  read.csv("input/input2.csv", sep = ";" ) # Format Pemisahnya Titikkoma 
print(nf) #Contoh Hasil Import
##    id    name salary start_date      dept
## 1   1  Julian 623.00   1/1/2022        DS
## 2   2 Vanessa 515.00  9/23/2022        DS
## 3   3  Jeffry 611.00 11/15/2022        BA
## 4   4   Angel 729.00  5/11/2022        DA
## 5   5   Nikki 843.25  3/27/2022        DS
## 6   6  Ardifo 578.00  5/21/2022 Actuaries
## 7   7   Irene 722.50  7/30/2022 Actuaries
## 8   8   Kefas 632.79  6/17/2022        CA
## 9   9  Sherly 632.79  7/30/2022        DE
## 10 10   Bakti     NA   9/3/2018  Lecturer
# Export(save) ke Computer

write.csv(nf, "output/nfexp.csv", row.names = F)
write.csv(nr, "output/nrexp.csv", row.names = F)

Cara 2

Dengan Koneksi secara automatic pada DIrectory

(wd= getwd())  #Mensetting directory
## [1] "C:/Users/PF2TB/OneDrive/Documents/struktur data"
if(!is.null(wd)) setwd(wd)
#Import Data 
paris = read.csv(file.path(wd, "input", "input1.csv"))
tokyo = read.csv(file.path(wd, "input", "input2.csv"))
#Export Data
write.csv(paris, file.path(wd, "output", 'output1'))
write.csv(tokyo, file.path(wd, "output", 'output2'))

Cara 3

No Directory Needed, langsung memilih file untuk diimport

berlin = read.csv(file.choose()) #Memilih data dari storage local computer

Excel

pacman :: p_load(readxl,writexl) #Load package readxl dan writexl
#Import
london = read_excel('input/input4.xls') #Import format xls (Excel 2003 kebawah)
oslo  = read_excel('input/input3.xlsx', sheet = 1) #Import format xls (Excel 2003 keatas)

#Export
write_xlsx(london, "output/output3.xlsx")
write_xlsx(oslo, "output/output4.xlsx")

TXT & RDS

TXT Dan RDS memiliki file lebih kecil dengan bentuk yang hampir sama dengan Excel, mempercepat proses import export

setwd(getwd())

# Import
karina = read.table("input/input5.txt") # Format TXT Notepad
winter = source ("input/input6.Rdmpd") # Format Txt Rdmpd
giselle = readRDS('input/input7.rds') #RDS Binary
ning2 = readRDS('input/input8.ascii') #Ascii Binary
#EXport
write.table(karina, "output/output5.txt") # Format TXT Notepad
dump("winter", "output/output6.Rdmpd") # Format Txt Rdmpd
saveRDS(giselle, 'output/output7.rds') #RDS Binary
saveRDS(ning2, 'output/output8.ascii', ascii=T)

XML

XML merupakan berbagi format file dan data di Internet yang mirip HTML

# Install library atau package xml, kulife, methods
library("XML")
library("kulife")
library("methods")

#Import Data
okey = xmlParse('input/input9.xml')

# Ubah Imported Data menjadi Dataframe
dfxml = xmlToDataFrame(okey)

#Export Data
write.xml(dfxml, 'output/output9.xml')

JSON

Java Script Object Notation. Diperlukan package jsonlite untuk membaca file JSON

library(jsonlite) #Load Package jsonlite

#Import Data 
xoxo = fromJSON('input/input10.json')
dfjson = as.data.frame(xoxo) #Ubah ke Dataframe

#Export Data
write_json(dfjson, "output/output10.json")

Import data dari Web

MEngekstrak data dari internet ke R bisa dari beberapa situs atau repository lainnya

CSV

web_csv <- read.csv("https://github.com/Bakti-Siregar/dataset/raw/master/Bookdown-Data-Science-for-Beginners/csv1.csv")
# Impor Data dari Situs github

XLSX

library(rio) #Untuk impor data dari github
install_formats() #Periksa suggested auto-package
## [1] TRUE
web_xlsx = rio ::import("https://github.com/Bakti-Siregar/dataset/raw/master/Bookdown-Data-Science-for-Beginners/csv1.csv")

R Database

Data Relasional yang disimpan dalam format yang dinormalisasi. R connected dengan Database relasional contohnya MySql, Oracle, SQL Server. Data yang diambil lalu diubah ke Datafram untuk selanjutnya di olah atau dianalisis ataupun juga dimanipulasi.

Menambang Data Web

WebScraping Data adalah dengan menggunakan Bot untuk mengekstrak data dari Website dengan mengekstrak HTML Pengikisan data ini secara tidak langsung adalah mereplika atau menduplikat konten website yang kita pilih.

LS0tDQp0aXRsZTogIkFsZ29yaXRtYSAmIFN0cnVrdHVyIERhdGEiDQpzdWJ0aXRsZTogIn4gQW50YXJtdWthIERhdGEgfiINCmF1dGhvcjogIkZlcmRpbmFuZCBOYXRoYW5pZWwgV2lkamF5YSAiDQpkYXRlOiAgImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0Og0KICBybWRmb3JtYXRzOjpyb2JvYm9vazogICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWJhL3JtZGZvcm1hdHMNCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZQ0KICAgIHRodW1ibmFpbHM6IHRydWUNCiAgICBsaWdodGJveDogdHJ1ZQ0KICAgIGdhbGxlcnk6IHRydWUNCiAgICBsaWJfZGlyOiBsaWJzDQogICAgZGZfcHJpbnQ6ICJwYWdlZCINCiAgICBjb2RlX2ZvbGRpbmc6ICJzaG93Ig0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIGNzczogInN0eWxlLmNzcyINCg0KLS0tDQoNCmBgYHtyIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoY2xhc3Muc291cmNlID0gIm5vY29weSIsDQogICAgICAgICAgICAgICAgICAgICAgY2xhc3Mub3V0cHV0ID0gIm5vY29weSIsDQogICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IEYsDQogICAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IEYpDQoNCmxpYnJhcnkocmV0aWN1bGF0ZSkNCmxpYnJhcnkoUmNwcCkNCg0KYGBgDQoNCjxicj4NCg0KPGltZyBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IC01MHB4IDUwcHggMHB4IDUwcHg7IHdpZHRoOjMwJSIgc3JjPSJmb3RvLmpwZyIvPiANCg0KfA0KOi0tLS0gfDotLS0tDQoqKktvbnRhayoqfCAqKjogJFxkb3duYXJyb3ckKioNCkVtYWlsfCBmZXJkaW5hbmQud2lkamF5YUBzdHVkZW50Lm1hdGFuYXVuaXZlcnNpdHkuYWMuaWQNCkluc3RhZ3JhbSB8IGh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vZmVfbncvIA0KUlB1YnMgIHwgaHR0cHM6Ly9ycHVicy5jb20vZmVyZG53LyANCg0KKioqDQoNCiMgQ1NWIHsudGFic2V0IC50YWJzZXQtcGlsbHN9DQoNCmBgYHtyfQ0KZ2V0d2QoKSAjTWVuZ2V0YWh1aSBESXJla3RvcmkgS2VyamEgYXRhdSB0ZW1wYXQgbWVuZ2FtYmlsIGZpbGUgeWFuZyBha2FuIGRpIGlucHV0IA0KYGBgDQoNCiMjIENhcmEgSQ0KDQpgYGB7cn0NCnNldHdkKGdldHdkKCkpICNTZXQgbG9rYXNpIGRpbWFuYSBmaWxlIGFrYW4gZGlhbWJpbCAoRGlyZWt0b3J5IEtlcmphKQ0KDQpuZiA9IHJlYWQuY3N2KCJpbnB1dC9pbnB1dDEuY3N2Iiwgc2VwID0gIiwiICkgI0Zvcm1hdCBwZW1pc2FoIGtvbWEgDQpuciA9ICByZWFkLmNzdigiaW5wdXQvaW5wdXQyLmNzdiIsIHNlcCA9ICI7IiApICMgRm9ybWF0IFBlbWlzYWhueWEgVGl0aWtrb21hIA0KYGBgDQoNCmBgYHtyfQ0KcHJpbnQobmYpICNDb250b2ggSGFzaWwgSW1wb3J0DQpgYGANCmBgYHtyfQ0KIyBFeHBvcnQoc2F2ZSkga2UgQ29tcHV0ZXINCg0Kd3JpdGUuY3N2KG5mLCAib3V0cHV0L25mZXhwLmNzdiIsIHJvdy5uYW1lcyA9IEYpDQp3cml0ZS5jc3YobnIsICJvdXRwdXQvbnJleHAuY3N2Iiwgcm93Lm5hbWVzID0gRikNCg0KYGBgDQoNCg0KIyMgQ2FyYSAyDQpEZW5nYW4gS29uZWtzaSBzZWNhcmEgYXV0b21hdGljIHBhZGEgRElyZWN0b3J5DQoNCmBgYHtyfQ0KKHdkPSBnZXR3ZCgpKSAgI01lbnNldHRpbmcgZGlyZWN0b3J5DQppZighaXMubnVsbCh3ZCkpIHNldHdkKHdkKQ0KYGBgDQoNCmBgYHtyfQ0KI0ltcG9ydCBEYXRhIA0KcGFyaXMgPSByZWFkLmNzdihmaWxlLnBhdGgod2QsICJpbnB1dCIsICJpbnB1dDEuY3N2IikpDQp0b2t5byA9IHJlYWQuY3N2KGZpbGUucGF0aCh3ZCwgImlucHV0IiwgImlucHV0Mi5jc3YiKSkNCmBgYA0KYGBge3J9DQojRXhwb3J0IERhdGENCndyaXRlLmNzdihwYXJpcywgZmlsZS5wYXRoKHdkLCAib3V0cHV0IiwgJ291dHB1dDEnKSkNCndyaXRlLmNzdih0b2t5bywgZmlsZS5wYXRoKHdkLCAib3V0cHV0IiwgJ291dHB1dDInKSkNCmBgYA0KDQojIyBDYXJhIDMNCk5vIERpcmVjdG9yeSBOZWVkZWQsIGxhbmdzdW5nIG1lbWlsaWggZmlsZSB1bnR1ayBkaWltcG9ydA0KYGBge3J9DQpiZXJsaW4gPSByZWFkLmNzdihmaWxlLmNob29zZSgpKSAjTWVtaWxpaCBkYXRhIGRhcmkgc3RvcmFnZSBsb2NhbCBjb21wdXRlcg0KYGBgDQoNCg0KIyBFeGNlbCANCg0KYGBge3J9DQpwYWNtYW4gOjogcF9sb2FkKHJlYWR4bCx3cml0ZXhsKSAjTG9hZCBwYWNrYWdlIHJlYWR4bCBkYW4gd3JpdGV4bA0KYGBgDQpgYGB7cn0NCiNJbXBvcnQNCmxvbmRvbiA9IHJlYWRfZXhjZWwoJ2lucHV0L2lucHV0NC54bHMnKSAjSW1wb3J0IGZvcm1hdCB4bHMgKEV4Y2VsIDIwMDMga2ViYXdhaCkNCm9zbG8gID0gcmVhZF9leGNlbCgnaW5wdXQvaW5wdXQzLnhsc3gnLCBzaGVldCA9IDEpICNJbXBvcnQgZm9ybWF0IHhscyAoRXhjZWwgMjAwMyBrZWF0YXMpDQoNCiNFeHBvcnQNCndyaXRlX3hsc3gobG9uZG9uLCAib3V0cHV0L291dHB1dDMueGxzeCIpDQp3cml0ZV94bHN4KG9zbG8sICJvdXRwdXQvb3V0cHV0NC54bHN4IikNCg0KYGBgDQoNCiMgVFhUICYgUkRTDQpUWFQgRGFuIFJEUyBtZW1pbGlraSBmaWxlIGxlYmloIGtlY2lsIGRlbmdhbiBiZW50dWsgeWFuZyBoYW1waXIgc2FtYSBkZW5nYW4gRXhjZWwsIG1lbXBlcmNlcGF0IHByb3NlcyBpbXBvcnQgZXhwb3J0DQoNCmBgYHtyfQ0Kc2V0d2QoZ2V0d2QoKSkNCg0KIyBJbXBvcnQNCmthcmluYSA9IHJlYWQudGFibGUoImlucHV0L2lucHV0NS50eHQiKSAjIEZvcm1hdCBUWFQgTm90ZXBhZA0Kd2ludGVyID0gc291cmNlICgiaW5wdXQvaW5wdXQ2LlJkbXBkIikgIyBGb3JtYXQgVHh0IFJkbXBkDQpnaXNlbGxlID0gcmVhZFJEUygnaW5wdXQvaW5wdXQ3LnJkcycpICNSRFMgQmluYXJ5DQpuaW5nMiA9IHJlYWRSRFMoJ2lucHV0L2lucHV0OC5hc2NpaScpICNBc2NpaSBCaW5hcnkNCg0KDQpgYGANCg0KYGBge3J9DQojRVhwb3J0DQp3cml0ZS50YWJsZShrYXJpbmEsICJvdXRwdXQvb3V0cHV0NS50eHQiKSAjIEZvcm1hdCBUWFQgTm90ZXBhZA0KZHVtcCgid2ludGVyIiwgIm91dHB1dC9vdXRwdXQ2LlJkbXBkIikgIyBGb3JtYXQgVHh0IFJkbXBkDQpzYXZlUkRTKGdpc2VsbGUsICdvdXRwdXQvb3V0cHV0Ny5yZHMnKSAjUkRTIEJpbmFyeQ0Kc2F2ZVJEUyhuaW5nMiwgJ291dHB1dC9vdXRwdXQ4LmFzY2lpJywgYXNjaWk9VCkNCmBgYA0KDQojIFhNTA0KWE1MIG1lcnVwYWthbiAgYmVyYmFnaSBmb3JtYXQgZmlsZSBkYW4gZGF0YSBkaSBJbnRlcm5ldCB5YW5nIG1pcmlwIEhUTUwNCg0KYGBge3J9DQojIEluc3RhbGwgbGlicmFyeSBhdGF1IHBhY2thZ2UgeG1sLCBrdWxpZmUsIG1ldGhvZHMNCmxpYnJhcnkoIlhNTCIpDQpsaWJyYXJ5KCJrdWxpZmUiKQ0KbGlicmFyeSgibWV0aG9kcyIpDQoNCiNJbXBvcnQgRGF0YQ0Kb2tleSA9IHhtbFBhcnNlKCdpbnB1dC9pbnB1dDkueG1sJykNCg0KIyBVYmFoIEltcG9ydGVkIERhdGEgbWVuamFkaSBEYXRhZnJhbWUNCmRmeG1sID0geG1sVG9EYXRhRnJhbWUob2tleSkNCg0KI0V4cG9ydCBEYXRhDQp3cml0ZS54bWwoZGZ4bWwsICdvdXRwdXQvb3V0cHV0OS54bWwnKQ0KDQpgYGANCg0KIyBKU09ODQpKYXZhIFNjcmlwdCBPYmplY3QgTm90YXRpb24uIERpcGVybHVrYW4gcGFja2FnZSBqc29ubGl0ZSB1bnR1ayBtZW1iYWNhIGZpbGUgSlNPTg0KDQpgYGB7cn0NCmxpYnJhcnkoanNvbmxpdGUpICNMb2FkIFBhY2thZ2UganNvbmxpdGUNCg0KI0ltcG9ydCBEYXRhIA0KeG94byA9IGZyb21KU09OKCdpbnB1dC9pbnB1dDEwLmpzb24nKQ0KZGZqc29uID0gYXMuZGF0YS5mcmFtZSh4b3hvKSAjVWJhaCBrZSBEYXRhZnJhbWUNCg0KI0V4cG9ydCBEYXRhDQp3cml0ZV9qc29uKGRmanNvbiwgIm91dHB1dC9vdXRwdXQxMC5qc29uIikNCmBgYA0KDQojIEltcG9ydCBkYXRhIGRhcmkgV2ViDQpNRW5nZWtzdHJhayBkYXRhIGRhcmkgaW50ZXJuZXQga2UgUiBiaXNhIGRhcmkgYmViZXJhcGEgc2l0dXMgYXRhdSByZXBvc2l0b3J5IGxhaW5ueWENCg0KIyMgQ1NWDQpgYGB7cn0NCndlYl9jc3YgPC0gcmVhZC5jc3YoImh0dHBzOi8vZ2l0aHViLmNvbS9CYWt0aS1TaXJlZ2FyL2RhdGFzZXQvcmF3L21hc3Rlci9Cb29rZG93bi1EYXRhLVNjaWVuY2UtZm9yLUJlZ2lubmVycy9jc3YxLmNzdiIpDQojIEltcG9yIERhdGEgZGFyaSBTaXR1cyBnaXRodWINCmBgYA0KDQojIyBYTFNYDQpgYGB7cn0NCmxpYnJhcnkocmlvKSAjVW50dWsgaW1wb3IgZGF0YSBkYXJpIGdpdGh1Yg0KaW5zdGFsbF9mb3JtYXRzKCkgI1Blcmlrc2Egc3VnZ2VzdGVkIGF1dG8tcGFja2FnZQ0KYGBgDQoNCmBgYHtyfQ0Kd2ViX3hsc3ggPSByaW8gOjppbXBvcnQoImh0dHBzOi8vZ2l0aHViLmNvbS9CYWt0aS1TaXJlZ2FyL2RhdGFzZXQvcmF3L21hc3Rlci9Cb29rZG93bi1EYXRhLVNjaWVuY2UtZm9yLUJlZ2lubmVycy9jc3YxLmNzdiIpDQpgYGANCg0KIyBSIERhdGFiYXNlDQpEYXRhIFJlbGFzaW9uYWwgeWFuZyBkaXNpbXBhbiBkYWxhbSBmb3JtYXQgIHlhbmcgZGlub3JtYWxpc2FzaS4gUiBjb25uZWN0ZWQgZGVuZ2FuIERhdGFiYXNlIHJlbGFzaW9uYWwgY29udG9obnlhIE15U3FsLCBPcmFjbGUsIFNRTCBTZXJ2ZXIuIERhdGEgeWFuZyBkaWFtYmlsIGxhbHUgZGl1YmFoIGtlIERhdGFmcmFtIHVudHVrIHNlbGFuanV0bnlhIGRpIG9sYWggYXRhdSBkaWFuYWxpc2lzIGF0YXVwdW4ganVnYSBkaW1hbmlwdWxhc2kuDQoNCiMgTWVuYW1iYW5nIERhdGEgV2ViDQpXZWJTY3JhcGluZyBEYXRhIGFkYWxhaCBkZW5nYW4gbWVuZ2d1bmFrYW4gQm90IHVudHVrIG1lbmdla3N0cmFrIGRhdGEgZGFyaSBXZWJzaXRlIGRlbmdhbiBtZW5nZWtzdHJhayBIVE1MIFBlbmdpa2lzYW4gZGF0YSBpbmkgc2VjYXJhIHRpZGFrIGxhbmdzdW5nIGFkYWxhaCBtZXJlcGxpa2EgYXRhdSBtZW5kdXBsaWthdCBrb250ZW4gd2Vic2l0ZSB5YW5nIGtpdGEgcGlsaWguDQo=