Membuat Koneksi MySQL ke R

1.Persiapkan MySQL di Windows

Pastikan MySQL sudah terinstal di sistem Windows Anda. Untuk memeriksa apakah MySQL sudah terinstal, buka Command Prompt (CMD) dan ketik perintah berikut: ‘my sql –version’

Untuk mengakses MyQL, ketik perintah berikut: ‘mysql -u root -p’ masukkan password yang sudah dibuat saat instalasi MySQl.

Untuk memastikan dapat mengakses database, ketik perintah: ‘show databases;’

2. Instalasi Paket di R

Instal beberapa library ini untuk menghubungkan R dengan MySQL:

install.packages(c("DBI", "odbc", "RMariaDB", "RMySQL", "RSQLite"))
install.packages("pacman")

Panggil library yang sudah diinstal dengan perintah:

library(pacman)
## Warning: package 'pacman' was built under R version 4.5.2
pacman::p_load(DBI, odbc, RMariaDB, RMySQL, RSQLite)
library(DBI)
library(RMariaDB)
library(RMySQL)
library(RSQLite)

3. Membuat Koneksi MySQL ke R

Setelah library terinstal, buat koneksi MySQL ke R dengan perintah berikut:

MySQL=dbConnect(MySQL(),
                user='root',
                password='123456',
                dbname='uasdatabase',
                host='localhost')

dbListTables(MySQL) #Cek koneksi dengan menampilkan daftar tabel
## character(0)

Ganti ‘password’ sesuai password yang dibuat saat instalasi MySQL.

Membuat Database

Saya akan membuat database bernama ‘car_sales_db’ berisi data penjualan mobil.

dbExecute(MySQL, "CREATE DATABASE car_sales_db")
## [1] 1

Menghapus Database

Sebagai contoh, saya akan menghapus database ‘car_sales_db’.

#dbExecute(MySQL, "DROP DATABASE car_sales_db") #Menghapus Database

Membuat Tabel dalam Database

Saya akan membuat dua tabel dalam database ‘car_sales_db’, yaitu tabel ‘Pegawai’ dan ‘Penjualan’.

car_sales_db=dbConnect(MySQL(),
                       user='root',
                       password='123456',
                       dbname='car_sales_db',
                       host='localhost')

#Buat Tabel Pegawai
dbExecute(car_sales_db, "CREATE TABLE Pegawai(
                            ID_Pegawai int NOT NULL PRIMARY KEY,
                            Nama_Pegawai varchar(255) NOT NULL)")
## [1] 0
#Buat Tabel Penjualan
dbExecute(car_sales_db, "CREATE TABLE Penjualan(
                            ID_Pesanan int NOT NULL,
                            Nomor_Pesanan varchar(50) NOT NULL,
                            ID_Pegawai int NOT NULL,
                            Merek varchar(100),
                            Model varchar(100),
                            Ukuran_Mesin decimal(3,1),
                            Jenis_bahan_bakar varchar(50),
                            Tahun_Pembuatan int,
                            Jarak_Tempuh int,
                            Harga decimal(10,2),
                            PRIMARY KEY (ID_Pesanan),
                            FOREIGN KEY (ID_Pegawai) REFERENCES Pegawai(ID_Pegawai))")
## [1] 0
#Melihat Tabel Keseluruhan dari Database
dbGetQuery(car_sales_db, "DESCRIBE Pegawai")
##          Field         Type Null Key Default Extra
## 1   ID_Pegawai          int   NO PRI    <NA>      
## 2 Nama_Pegawai varchar(255)   NO        <NA>
dbGetQuery(car_sales_db, "DESCRIBE Penjualan")
##                Field          Type Null Key Default Extra
## 1         ID_Pesanan           int   NO PRI    <NA>      
## 2      Nomor_Pesanan   varchar(50)   NO        <NA>      
## 3         ID_Pegawai           int   NO MUL    <NA>      
## 4              Merek  varchar(100)  YES        <NA>      
## 5              Model  varchar(100)  YES        <NA>      
## 6       Ukuran_Mesin  decimal(3,1)  YES        <NA>      
## 7  Jenis_bahan_bakar   varchar(50)  YES        <NA>      
## 8    Tahun_Pembuatan           int  YES        <NA>      
## 9       Jarak_Tempuh           int  YES        <NA>      
## 10             Harga decimal(10,2)  YES        <NA>

Menambahkan Values ke dalam Tabel

Gunakan ‘INSERT INTO’ untuk menambahkan isi/nilai/value ke dalam tabel.

#Masukkan Values (Tabel Pegawai)
dbExecute(car_sales_db, "INSERT INTO
          Pegawai(ID_Pegawai, Nama_Pegawai)
          VALUES
          (1, 'Adityawan'),
          (2, 'Putri Suryani'),
          (3, 'Bhaskara Wicaksono'),
          (4, 'Aulia Rahmatika'),
          (5, 'Bagas Prasetyo'),
          (6, 'Siti Hajar Rahmaniar'),
          (7, 'Dwi Anggraeni Lestari'),
          (8, 'Dimas Rachmat'),
          (9, 'Melani Shofiya'),
          (10, 'Irwan Nugroho')")
## [1] 10
#Masukkan Values (Tabel Penjualan)
dbExecute(car_sales_db, "INSERT INTO
          Penjualan(ID_Pesanan, Nomor_Pesanan, ID_Pegawai, Merek, Model, Ukuran_Mesin, Jenis_Bahan_Bakar, Tahun_Pembuatan, Jarak_Tempuh, Harga)
          VALUES
          (1, 'ORD1V6C3', 1, 'Ford', 'Fiesta', 1, 'Petrol', 2002, 127300, 3074),
          (2,   'ORD2L1X9', 2, 'Porsche', '718 Cayman', 4, 'Petrol',    2016,   57850, 49704),
          (3,   'ORD2V2PT', 3, 'Toyota',    'RAV4', 1.8,    'Hybrid',   1988,   210814, 1705),
          (4,   'ORDA2UV3', 4, 'VW',    'Polo', 1,  'Petrol',   2006,   127869, 4101),
          (5,   'ORDARDNG', 5,'BMW',    'Z4',   2.2,    'Petrol',   2005,   133174, 8511),
          (6,   'ORDC1QS0', 6, 'Toyota',    'RAV4', 2.2,    'Petrol',   2007,   79393,  16026),
          (7,   'ORDC5VLZ', 7, 'Toyota',    'Yaris',    1.2,    'Petrol',   1992,   245990, 720),
          (8,   'ORDDR0QJ', 8, 'Ford',  'Mondeo',   1.6,    'Diesel',   1996,   77584,  5667),
          (9,   'ORDE2V33', 9, 'Porsche',   'Cayenne',  2.6,    'Diesel',   2015,   33693,  54037),
          (10,  'ORDF6CL3', 10, 'VW', 'Passat', 1.6,    'Diesel',   1994,   179361, 2371),
          (11,  'ORDG7PPL', 5, 'BMW',   'M5',   4.4,    'Petrol',   2008,   109941, 31711),
          (12,  'ORDK8RRT', 9, 'Porsche',   'Cayenne',  2.6,    'Diesel',   2003,   105361, 15069),
          (13,  'ORDLWY2A', 10, 'VW',   'Golf', 1.4,    'Diesel',   2001,   136439, 4049),
          (14,  'ORDO363G', 3, 'Toyota',    'RAV4', 2.2,    'Hybrid',   2014,   66511,  33453),
          (15,  'ORDOAMX1', 1, 'Ford',  'Focus',    2,  'Petrol',   1999,   135077, 4855),
          (16,  'ORDPXPSR', 9, 'Porsche',   '911',  3,  'Petrol',   2015,   44761,  77091),
          (17,  'ORDR5ZJT', 4, 'VW',    'Passat',   2,  'Diesel',   1997,   50121,  8564),
          (18,  'ORDU72NK', 7, 'Toyota',    'RAV4', 2.4,    'Petrol',   2011,   80839,  21637),
          (19,  'ORDWS9LQ', 10, 'VW', 'Polo',   1,  'Petrol',   1992,   214329, 777),
          (20,  'ORDWC3B9', 2, 'Porsche', '718 Cayman', 2.4,    'Petrol', 1988, 256489, 1183)")
## [1] 20

Melihat Isi suatu Tabel

Gunakan ‘SELECT * FROM (nama tabel)’ untuk memilih tabel dari database.

#Melihat Isi Tabel
#Melihat Isi (Tabel Pegawai)
data_pegawai=dbGetQuery(car_sales_db, "SELECT * FROM Pegawai")
print(data_pegawai)
##    ID_Pegawai          Nama_Pegawai
## 1           1             Adityawan
## 2           2         Putri Suryani
## 3           3    Bhaskara Wicaksono
## 4           4       Aulia Rahmatika
## 5           5        Bagas Prasetyo
## 6           6  Siti Hajar Rahmaniar
## 7           7 Dwi Anggraeni Lestari
## 8           8         Dimas Rachmat
## 9           9        Melani Shofiya
## 10         10         Irwan Nugroho
#Melihat Isi (Tabel Penjualan)
data_penjualan=dbGetQuery(car_sales_db, "SELECT * FROM Penjualan")
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 5 imported
## as numeric
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 9 imported
## as numeric
print(data_penjualan)   
##    ID_Pesanan Nomor_Pesanan ID_Pegawai   Merek      Model Ukuran_Mesin
## 1           1      ORD1V6C3          1    Ford     Fiesta          1.0
## 2           2      ORD2L1X9          2 Porsche 718 Cayman          4.0
## 3           3      ORD2V2PT          3  Toyota       RAV4          1.8
## 4           4      ORDA2UV3          4      VW       Polo          1.0
## 5           5      ORDARDNG          5     BMW         Z4          2.2
## 6           6      ORDC1QS0          6  Toyota       RAV4          2.2
## 7           7      ORDC5VLZ          7  Toyota      Yaris          1.2
## 8           8      ORDDR0QJ          8    Ford     Mondeo          1.6
## 9           9      ORDE2V33          9 Porsche    Cayenne          2.6
## 10         10      ORDF6CL3         10      VW     Passat          1.6
## 11         11      ORDG7PPL          5     BMW         M5          4.4
## 12         12      ORDK8RRT          9 Porsche    Cayenne          2.6
## 13         13      ORDLWY2A         10      VW       Golf          1.4
## 14         14      ORDO363G          3  Toyota       RAV4          2.2
## 15         15      ORDOAMX1          1    Ford      Focus          2.0
## 16         16      ORDPXPSR          9 Porsche        911          3.0
## 17         17      ORDR5ZJT          4      VW     Passat          2.0
## 18         18      ORDU72NK          7  Toyota       RAV4          2.4
## 19         19      ORDWS9LQ         10      VW       Polo          1.0
## 20         20      ORDWC3B9          2 Porsche 718 Cayman          2.4
##    Jenis_bahan_bakar Tahun_Pembuatan Jarak_Tempuh Harga
## 1             Petrol            2002       127300  3074
## 2             Petrol            2016        57850 49704
## 3             Hybrid            1988       210814  1705
## 4             Petrol            2006       127869  4101
## 5             Petrol            2005       133174  8511
## 6             Petrol            2007        79393 16026
## 7             Petrol            1992       245990   720
## 8             Diesel            1996        77584  5667
## 9             Diesel            2015        33693 54037
## 10            Diesel            1994       179361  2371
## 11            Petrol            2008       109941 31711
## 12            Diesel            2003       105361 15069
## 13            Diesel            2001       136439  4049
## 14            Hybrid            2014        66511 33453
## 15            Petrol            1999       135077  4855
## 16            Petrol            2015        44761 77091
## 17            Diesel            1997        50121  8564
## 18            Petrol            2011        80839 21637
## 19            Petrol            1992       214329   777
## 20            Petrol            1988       256489  1183

Memotong Tabel

Gunakan ‘TRUNCATE TABLE (nama tabel)’ untuk menghapus seluruh isi tabel, bukan menghapus tabelnya.

#Memotong Tabel
#dbExecute(car_sales_db, "TRUNCATE TABLE Pegawai") #Menghapus apa yang ada dalam tabel, bukan tabelnya

Menghapus Tabel

Gunakan ‘DROP TABLE (nama tabel)’ untuk menghapus keseluruhan tabel

#dbExecute(car_sales_db, "DROP TABLE Pegawai") #Hapus Tabel Pegawai
#dbExecute(car_sales_db, "DROP TABLE Penjualan") #Hapus Tabel Penjualan

Menambahkan Kolom

Sebagai contoh, saya akan menambahkan kolom ‘Jenis_Kelamin’ berisi satu karakter (misal ‘L’ untuk laki-laki dan ‘P’ untuk perempuan) pada tabel Pegawai. Jadi, pada tabel Pegawai terdapat 3 kolom sekarang (ID_Pegawai, Nama_Pegawai, Jenis_Kelamin).

#Menambahkan Kolom Pada Tabel Pegawai
dbExecute(car_sales_db, "ALTER TABLE Pegawai
                              ADD Jenis_Kelamin varchar(1)")
## [1] 0

Menghapus Kolom

Sebagai contoh, saya akan menghapus kolom ‘Jenis_Kelamin’ yang sebelumnya baru ditambahkan. Maka, pada tabel Pegawai kembali menjadi 2 kolom saja (ID_Pegawai dan Nama_Pegawai).

#Menghapus Kolom (Tabel Pegawai)
dbSendQuery(car_sales_db, "ALTER TABLE Pegawai
                              DROP COLUMN Jenis_Kelamin")
## <MySQLResult:1327975880,1,9>

Update Nilai dalam Suatu Tabel

Sebagai contoh, saya ingin mengubah harga mobil pada tabel Penjualan untuk ID_Pesanan tertentu.

#Update Harga pada Tabel Penjualan
query_update_VW <- "
UPDATE Penjualan
SET Harga = 3500
WHERE ID_Pesanan IN (4, 19);
"
dbExecute(car_sales_db, query_update_VW)
## [1] 2

Untuk melihat hasil perubahan update, bisa gunakan perintah ini:

data_penjualan_update=dbGetQuery(car_sales_db, "SELECT * FROM Penjualan")
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 5 imported
## as numeric
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 9 imported
## as numeric
print(data_penjualan_update)  
##    ID_Pesanan Nomor_Pesanan ID_Pegawai   Merek      Model Ukuran_Mesin
## 1           1      ORD1V6C3          1    Ford     Fiesta          1.0
## 2           2      ORD2L1X9          2 Porsche 718 Cayman          4.0
## 3           3      ORD2V2PT          3  Toyota       RAV4          1.8
## 4           4      ORDA2UV3          4      VW       Polo          1.0
## 5           5      ORDARDNG          5     BMW         Z4          2.2
## 6           6      ORDC1QS0          6  Toyota       RAV4          2.2
## 7           7      ORDC5VLZ          7  Toyota      Yaris          1.2
## 8           8      ORDDR0QJ          8    Ford     Mondeo          1.6
## 9           9      ORDE2V33          9 Porsche    Cayenne          2.6
## 10         10      ORDF6CL3         10      VW     Passat          1.6
## 11         11      ORDG7PPL          5     BMW         M5          4.4
## 12         12      ORDK8RRT          9 Porsche    Cayenne          2.6
## 13         13      ORDLWY2A         10      VW       Golf          1.4
## 14         14      ORDO363G          3  Toyota       RAV4          2.2
## 15         15      ORDOAMX1          1    Ford      Focus          2.0
## 16         16      ORDPXPSR          9 Porsche        911          3.0
## 17         17      ORDR5ZJT          4      VW     Passat          2.0
## 18         18      ORDU72NK          7  Toyota       RAV4          2.4
## 19         19      ORDWS9LQ         10      VW       Polo          1.0
## 20         20      ORDWC3B9          2 Porsche 718 Cayman          2.4
##    Jenis_bahan_bakar Tahun_Pembuatan Jarak_Tempuh Harga
## 1             Petrol            2002       127300  3074
## 2             Petrol            2016        57850 49704
## 3             Hybrid            1988       210814  1705
## 4             Petrol            2006       127869  3500
## 5             Petrol            2005       133174  8511
## 6             Petrol            2007        79393 16026
## 7             Petrol            1992       245990   720
## 8             Diesel            1996        77584  5667
## 9             Diesel            2015        33693 54037
## 10            Diesel            1994       179361  2371
## 11            Petrol            2008       109941 31711
## 12            Diesel            2003       105361 15069
## 13            Diesel            2001       136439  4049
## 14            Hybrid            2014        66511 33453
## 15            Petrol            1999       135077  4855
## 16            Petrol            2015        44761 77091
## 17            Diesel            1997        50121  8564
## 18            Petrol            2011        80839 21637
## 19            Petrol            1992       214329  3500
## 20            Petrol            1988       256489  1183

Dapat dilihat harga pada ID_Pesanan 4 dan 19 sudah berubah akibat penggunaan ‘UPDATE’

Mengurutkan Data Secara Menaik (Asc)

Sebagai contoh, saya ingin mengurutkan kolom ‘Harga’ dari yang terkecil ke terbesar pakai ‘ASC’. Mengurutkan data berdasarkan suatu kolom dalam urutan menaik (ASC) bisa gunakan perintah berikut:

Harga_asc=dbGetQuery(car_sales_db, "SELECT * FROM Penjualan 
                     ORDER BY Harga ASC")
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 5 imported
## as numeric
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 9 imported
## as numeric
print(Harga_asc)
##    ID_Pesanan Nomor_Pesanan ID_Pegawai   Merek      Model Ukuran_Mesin
## 1           7      ORDC5VLZ          7  Toyota      Yaris          1.2
## 2          20      ORDWC3B9          2 Porsche 718 Cayman          2.4
## 3           3      ORD2V2PT          3  Toyota       RAV4          1.8
## 4          10      ORDF6CL3         10      VW     Passat          1.6
## 5           1      ORD1V6C3          1    Ford     Fiesta          1.0
## 6           4      ORDA2UV3          4      VW       Polo          1.0
## 7          19      ORDWS9LQ         10      VW       Polo          1.0
## 8          13      ORDLWY2A         10      VW       Golf          1.4
## 9          15      ORDOAMX1          1    Ford      Focus          2.0
## 10          8      ORDDR0QJ          8    Ford     Mondeo          1.6
## 11          5      ORDARDNG          5     BMW         Z4          2.2
## 12         17      ORDR5ZJT          4      VW     Passat          2.0
## 13         12      ORDK8RRT          9 Porsche    Cayenne          2.6
## 14          6      ORDC1QS0          6  Toyota       RAV4          2.2
## 15         18      ORDU72NK          7  Toyota       RAV4          2.4
## 16         11      ORDG7PPL          5     BMW         M5          4.4
## 17         14      ORDO363G          3  Toyota       RAV4          2.2
## 18          2      ORD2L1X9          2 Porsche 718 Cayman          4.0
## 19          9      ORDE2V33          9 Porsche    Cayenne          2.6
## 20         16      ORDPXPSR          9 Porsche        911          3.0
##    Jenis_bahan_bakar Tahun_Pembuatan Jarak_Tempuh Harga
## 1             Petrol            1992       245990   720
## 2             Petrol            1988       256489  1183
## 3             Hybrid            1988       210814  1705
## 4             Diesel            1994       179361  2371
## 5             Petrol            2002       127300  3074
## 6             Petrol            2006       127869  3500
## 7             Petrol            1992       214329  3500
## 8             Diesel            2001       136439  4049
## 9             Petrol            1999       135077  4855
## 10            Diesel            1996        77584  5667
## 11            Petrol            2005       133174  8511
## 12            Diesel            1997        50121  8564
## 13            Diesel            2003       105361 15069
## 14            Petrol            2007        79393 16026
## 15            Petrol            2011        80839 21637
## 16            Petrol            2008       109941 31711
## 17            Hybrid            2014        66511 33453
## 18            Petrol            2016        57850 49704
## 19            Diesel            2015        33693 54037
## 20            Petrol            2015        44761 77091

Mengurutkan Data Secara Menurun (Desc)

Sebagai contoh, saya ingin mengurutkan kolom ‘Harga’ dari yang terbesar ke terkecil pakai ‘DESC’. Mengurutkan data berdasarkan suatu kolom dalam urutan menurun (DESC) bisa gunakan perintah berikut:

Harga_desc=dbGetQuery(car_sales_db, "SELECT * FROM Penjualan 
                     ORDER BY Harga DESC")
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 5 imported
## as numeric
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 9 imported
## as numeric
print(Harga_desc)
##    ID_Pesanan Nomor_Pesanan ID_Pegawai   Merek      Model Ukuran_Mesin
## 1          16      ORDPXPSR          9 Porsche        911          3.0
## 2           9      ORDE2V33          9 Porsche    Cayenne          2.6
## 3           2      ORD2L1X9          2 Porsche 718 Cayman          4.0
## 4          14      ORDO363G          3  Toyota       RAV4          2.2
## 5          11      ORDG7PPL          5     BMW         M5          4.4
## 6          18      ORDU72NK          7  Toyota       RAV4          2.4
## 7           6      ORDC1QS0          6  Toyota       RAV4          2.2
## 8          12      ORDK8RRT          9 Porsche    Cayenne          2.6
## 9          17      ORDR5ZJT          4      VW     Passat          2.0
## 10          5      ORDARDNG          5     BMW         Z4          2.2
## 11          8      ORDDR0QJ          8    Ford     Mondeo          1.6
## 12         15      ORDOAMX1          1    Ford      Focus          2.0
## 13         13      ORDLWY2A         10      VW       Golf          1.4
## 14          4      ORDA2UV3          4      VW       Polo          1.0
## 15         19      ORDWS9LQ         10      VW       Polo          1.0
## 16          1      ORD1V6C3          1    Ford     Fiesta          1.0
## 17         10      ORDF6CL3         10      VW     Passat          1.6
## 18          3      ORD2V2PT          3  Toyota       RAV4          1.8
## 19         20      ORDWC3B9          2 Porsche 718 Cayman          2.4
## 20          7      ORDC5VLZ          7  Toyota      Yaris          1.2
##    Jenis_bahan_bakar Tahun_Pembuatan Jarak_Tempuh Harga
## 1             Petrol            2015        44761 77091
## 2             Diesel            2015        33693 54037
## 3             Petrol            2016        57850 49704
## 4             Hybrid            2014        66511 33453
## 5             Petrol            2008       109941 31711
## 6             Petrol            2011        80839 21637
## 7             Petrol            2007        79393 16026
## 8             Diesel            2003       105361 15069
## 9             Diesel            1997        50121  8564
## 10            Petrol            2005       133174  8511
## 11            Diesel            1996        77584  5667
## 12            Petrol            1999       135077  4855
## 13            Diesel            2001       136439  4049
## 14            Petrol            2006       127869  3500
## 15            Petrol            1992       214329  3500
## 16            Petrol            2002       127300  3074
## 17            Diesel            1994       179361  2371
## 18            Hybrid            1988       210814  1705
## 19            Petrol            1988       256489  1183
## 20            Petrol            1992       245990   720

Mengurutkan Data Berdasarkan Beberapa Kolom

Sebagai contoh, saya ingin mengurutkan data berdasarkan kolom ‘Merek’ (ASC) kemudian berdasarkan kolom ‘Harga’ (DESC), bisa pakai perintah ini:

data_sort_multi=dbGetQuery(car_sales_db, "SELECT * FROM Penjualan
                              ORDER BY Merek ASC, Harga DESC")
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 5 imported
## as numeric
## Warning in dbSendQuery(conn, statement, ...): Decimal MySQL column 9 imported
## as numeric
print(data_sort_multi)
##    ID_Pesanan Nomor_Pesanan ID_Pegawai   Merek      Model Ukuran_Mesin
## 1          11      ORDG7PPL          5     BMW         M5          4.4
## 2           5      ORDARDNG          5     BMW         Z4          2.2
## 3           8      ORDDR0QJ          8    Ford     Mondeo          1.6
## 4          15      ORDOAMX1          1    Ford      Focus          2.0
## 5           1      ORD1V6C3          1    Ford     Fiesta          1.0
## 6          16      ORDPXPSR          9 Porsche        911          3.0
## 7           9      ORDE2V33          9 Porsche    Cayenne          2.6
## 8           2      ORD2L1X9          2 Porsche 718 Cayman          4.0
## 9          12      ORDK8RRT          9 Porsche    Cayenne          2.6
## 10         20      ORDWC3B9          2 Porsche 718 Cayman          2.4
## 11         14      ORDO363G          3  Toyota       RAV4          2.2
## 12         18      ORDU72NK          7  Toyota       RAV4          2.4
## 13          6      ORDC1QS0          6  Toyota       RAV4          2.2
## 14          3      ORD2V2PT          3  Toyota       RAV4          1.8
## 15          7      ORDC5VLZ          7  Toyota      Yaris          1.2
## 16         17      ORDR5ZJT          4      VW     Passat          2.0
## 17         13      ORDLWY2A         10      VW       Golf          1.4
## 18          4      ORDA2UV3          4      VW       Polo          1.0
## 19         19      ORDWS9LQ         10      VW       Polo          1.0
## 20         10      ORDF6CL3         10      VW     Passat          1.6
##    Jenis_bahan_bakar Tahun_Pembuatan Jarak_Tempuh Harga
## 1             Petrol            2008       109941 31711
## 2             Petrol            2005       133174  8511
## 3             Diesel            1996        77584  5667
## 4             Petrol            1999       135077  4855
## 5             Petrol            2002       127300  3074
## 6             Petrol            2015        44761 77091
## 7             Diesel            2015        33693 54037
## 8             Petrol            2016        57850 49704
## 9             Diesel            2003       105361 15069
## 10            Petrol            1988       256489  1183
## 11            Hybrid            2014        66511 33453
## 12            Petrol            2011        80839 21637
## 13            Petrol            2007        79393 16026
## 14            Hybrid            1988       210814  1705
## 15            Petrol            1992       245990   720
## 16            Diesel            1997        50121  8564
## 17            Diesel            2001       136439  4049
## 18            Petrol            2006       127869  3500
## 19            Petrol            1992       214329  3500
## 20            Diesel            1994       179361  2371