1. Buatlah koneksi ke MySQL dan gunakan/buatlah database yang bernama employees_db. Tuliskan kode R yang digunakan (untuk koneksi dan menggunakan/membuat database).

library(RMySQL)
## Loading required package: DBI
# Membuat koneksi ke MySQL Server
conn <- dbConnect(MySQL(),
                  user = "root",
                  password = "21032006",
                  host = "localhost")

# Membuat database employees_db 
dbExecute(conn, "CREATE DATABASE IF NOT EXISTS employees_db")
## [1] 1
# Memilih database employees_db
dbExecute(conn, "USE employees_db")
## [1] 0
# Periksa apakah database berhasil dibuat
dbGetQuery(conn, "SHOW DATABASES")

karena soal nomor 2 itu dimisalkan dalam database ada tabel employess yang berisi infomasi karyawan. maka kita buat dulu tabelnya dan data tabelnya sesuai dengan keinginan kita karena datanya gaada di soal. baru nanti jawab nomor 2

# Hapus tabel lama jika ada
dbExecute(conn, "DROP TABLE IF EXISTS employees")
## [1] 0
# Buat tabel employees
dbExecute(conn,
"
CREATE TABLE employees (
   id INT PRIMARY KEY,
   name VARCHAR(50),
   position VARCHAR(50),
   department VARCHAR(50),
   salary INT)
")
## [1] 0
# Masukkan data baru
dbExecute(conn,
"
INSERT INTO employees VALUES
(1, 'Ariq', 'IT Staff', 'IT', 9000),
(2, 'Ahmad', 'HR Staff', 'HR', 8000),
(3, 'Fallah', 'Production Staff', 'Produksi', 5200),
(4, 'Iqbal', 'Sales Representative', 'Sales', 4800)
")
## [1] 4

2. Misalkan dalam database employees_db ada tabel bernama employees yang berisi informasi karyawan.Tulis kode untuk mengambil semua data dari tabel employees dan menyimpannya ke dalam data frame di R. Tuliskan kode R yang digunakan.

df_employees <- dbGetQuery(conn, "SELECT * FROM employees")
df_employees

3. Masih dalam tabel employees, ambil data karyawan yang bekerja di departemen Sales. Tuliskan kode R yang digunakan.

df_sales <- dbGetQuery(conn,"SELECT * FROM employees 
                       WHERE department = 'Sales'")
df_sales

4. Tambahkan data baru ke tabel employees dengan detail berikut:

• id: 101

• name: “Son Heung Min”

• position: “Data Analyst”

• department: “Data Science”

• salary (IDR): 7000

Tulis kode R untuk menambahkan data tersebut ke tabel employees.

dbExecute(conn,"INSERT INTO employees VALUES 
          (101, 'Son Heung Min', 'Data Analyst', 'Data Science', 7000)")
## [1] 1
##Menampilkan Data 
menambah_data_baru<-dbGetQuery(conn,"SELECT*FROM employees") 
print(menambah_data_baru) 
##    id          name             position   department salary
## 1   1          Ariq             IT Staff           IT   9000
## 2   2         Ahmad             HR Staff           HR   8000
## 3   3        Fallah     Production Staff     Produksi   5200
## 4   4         Iqbal Sales Representative        Sales   4800
## 5 101 Son Heung Min         Data Analyst Data Science   7000

5. Perbaharui gaji karyawan dengan id 101 di tabel employees menjadi 8000. Gunakan query SQL untuk melakukan pembaruan ini serta tuliskan kode R yang digunakan.

dbExecute(conn, "UPDATE employees SET salary = 8000 WHERE id = 101")
## [1] 1
##Menampilkan Data Karyawan yang Di-Update 
update_gaji_karyawan_101<-dbGetQuery(conn,"SELECT*FROM employees WHERE id=101") 
print(update_gaji_karyawan_101) 
##    id          name     position   department salary
## 1 101 Son Heung Min Data Analyst Data Science   8000

6. Karyawan dengan id 101 telah resign. Bagaimana query untuk menghapus data karyawan tersebut dari tabel employees? Tuliskan kode R yang digunakan

dbExecute(conn, "DELETE FROM employees WHERE id = 101")
## [1] 1
##Menampilkan Data 
data_akhir<-dbGetQuery(conn,"SELECT*FROM employees") 
print(data_akhir)
##   id   name             position department salary
## 1  1   Ariq             IT Staff         IT   9000
## 2  2  Ahmad             HR Staff         HR   8000
## 3  3 Fallah     Production Staff   Produksi   5200
## 4  4  Iqbal Sales Representative      Sales   4800

7. Setelah selesai melakukan operasi, tutup koneksi ke database. Tulis kode R yang digunakan.

dbDisconnect(conn)
## [1] TRUE