INTRODUCTION

    Ease My Trip adalah platform internet untuk memesan tiket penerbangan, dan merupakan platform yang digunakan calon penumpang untuk membeli tiket. Hal ini akan sanagt membantu dalam penemuan wawasan berharga yang akan sangat bermanfaat bagi penumpang. Tujuan dari penelitian ini sendri adalah untuk menganalisis kumpulan data pemesanan penerbangan yang diperoleh dari situs Ease My Trip. Dari data ini kita akan menggunakan beberapa fungsi yang ada dalam pemrograman yang ada di R. Hingga hasil akhirnya kita bisa menjawab beberapa business question.

link : https://www.kaggle.com/datasets/shubhambathwal/flight-price-prediction

PENGOLAHAN DATA

Hal pertama yang harus kita lakukan yaitu import data kita terlebih dahulu read.csv.

flight_data <- read.csv("Clean_Dataset.csv")

Kita gunakan head() untuk melihat urutan data teratas dan gunakan tail() untuk melihat urutan data paling bawah.

head(flight_data)
tail(flight_data)

Melihat struktur dan dimensi data yang dimiliki dapat menggunakan fungsi str() dan dim().

str(flight_data)
#> 'data.frame':    300153 obs. of  12 variables:
#>  $ X               : int  0 1 2 3 4 5 6 7 8 9 ...
#>  $ airline         : chr  "SpiceJet" "SpiceJet" "AirAsia" "Vistara" ...
#>  $ flight          : chr  "SG-8709" "SG-8157" "I5-764" "UK-995" ...
#>  $ source_city     : chr  "Delhi" "Delhi" "Delhi" "Delhi" ...
#>  $ departure_time  : chr  "Evening" "Early_Morning" "Early_Morning" "Morning" ...
#>  $ stops           : chr  "zero" "zero" "zero" "zero" ...
#>  $ arrival_time    : chr  "Night" "Morning" "Early_Morning" "Afternoon" ...
#>  $ destination_city: chr  "Mumbai" "Mumbai" "Mumbai" "Mumbai" ...
#>  $ class           : chr  "Economy" "Economy" "Economy" "Economy" ...
#>  $ duration        : num  2.17 2.33 2.17 2.25 2.33 2.33 2.08 2.17 2.17 2.25 ...
#>  $ days_left       : int  1 1 1 1 1 1 1 1 1 1 ...
#>  $ price           : int  5953 5953 5956 5955 5955 5955 6060 6060 5954 5954 ...
dim(flight_data)
#> [1] 300153     12

Dengan menggunakan fungsi str() dan dim() kita mendapatkan informasi bahwa data kita terdapat 300.153 baris dan 12 columns. Memuat informasi columns sebagai berikut :

    `airline`             : Nama perusahaan penerbangan disimpan pada kolom maskapai.
    `flight`              : Penerbangan menyimpan informasi mengenai kode penerbangan pesawat.
    `source_city`         : Kota tempat penerbangan lepas landas.
    `departure_time`      : Menyimpan informasi tentang waktu keberangkatan.
    `stops`               : Menyimpan jumlah perhentian antara kota sumber dan kota tujuan.
    `arrival_time`        : Menyimpan informasi tentang waktu kedatangan.
    `destination_city`    : Kota tempat penerbangan akan mendarat.
    `class`               : Berisi informasi tentang kelas kursi, Bisnis dan Ekonomi.
    `duration`            : Menampilkan jumlah keseluruhan waktu yang diperlukan untuk melakukan perjalanan antar kota dalam hitungan jam.
    `days_left`           : Ini adalah karakteristik turunan yang dihitung dengan mengurangkan tanggal perjalanan dengan tanggal pemesanan.
    `price`               : Informasi harga tiket.

CLEANSING DATA & PRE-PROCESSING

Merubah tipe data dengan yang sesuai fungsinya

flight_data$class <- as.factor(flight_data$class)
flight_data$destination_city <- as.factor(flight_data$destination_city)
flight_data$stops <- as.factor(flight_data$stops)
flight_data$source_city <- as.factor(flight_data$source_city)
flight_data$arrival_time <- as.factor(flight_data$arrival_time)
flight_data$price <- as.numeric(flight_data$price)

flight_data

Melihat atau mengecheck data kita apakah terdapat missing value atau tidak dengan menggunakan fungsi anyNA().

anyNA(flight_data)
#> [1] FALSE

Dari hasil menngunakan fungsi anyNA() kita dapat mengetahui bahwa data kita tidak terdapat missing value. Itu artinya kita bisa melnjutkan proses selanjutnya.

Kita coba untuk merapihkan data kita, membuang columns atau baris yang tidak digunakan menggunakan conditional subsetting subset().

flight_data <- subset(flight_data, select = -X)

Setelah di subset kita cek lihat rangkuman dari data kita menggunakan fungsi summary().

summary(flight_data)
#>    airline             flight             source_city    departure_time    
#>  Length:300153      Length:300153      Bangalore:52061   Length:300153     
#>  Class :character   Class :character   Chennai  :38700   Class :character  
#>  Mode  :character   Mode  :character   Delhi    :61343   Mode  :character  
#>                                        Hyderabad:40806                     
#>                                        Kolkata  :46347                     
#>                                        Mumbai   :60896                     
#>          stops               arrival_time    destination_city      class       
#>  one        :250863   Afternoon    :38139   Bangalore:51068   Business: 93487  
#>  two_or_more: 13286   Early_Morning:15417   Chennai  :40368   Economy :206666  
#>  zero       : 36004   Evening      :78323   Delhi    :57360                    
#>                       Late_Night   :14001   Hyderabad:42726                    
#>                       Morning      :62735   Kolkata  :49534                    
#>                       Night        :91538   Mumbai   :59097                    
#>     duration       days_left      price       
#>  Min.   : 0.83   Min.   : 1   Min.   :  1105  
#>  1st Qu.: 6.83   1st Qu.:15   1st Qu.:  4783  
#>  Median :11.25   Median :26   Median :  7425  
#>  Mean   :12.22   Mean   :26   Mean   : 20890  
#>  3rd Qu.:16.17   3rd Qu.:38   3rd Qu.: 42521  
#>  Max.   :49.83   Max.   :49   Max.   :123071

EXPLORATORY DATA ANALYSIS (EDA) / BUSINESS QUESTIONS

Kita ingin mengetahui seberapa banyak masing-masing transaksi yang class penerbangan menggunakan class Business dan Economy.

class_flight <- flight_data[flight_data$class %in%
                c("Business"), c("airline", "class")]
class_flight
class_flight <- flight_data[flight_data$class %in%
                c("Economy"), c("airline", "class")]
class_flight

Ada sebanyak 93.487 transaksi yang menggunakan Class Business dan 206.666 yang menggunakan Class Economy.

Kita cari seberapa besar frekuensi dari columns arrival_time pada data.

as.data.frame(table(flight_data$arrival_time))

Untuk besaran masing-masing frequensi pada arrival-time berbeda-beda. Untuk Afternoon 38.139, Early_Morning 15.417, Evening 78.323, Late_Night 14.001, Morning 62.735, Night 91.538. Hal tersebut dipengaruhi oleh jadwal yang dipilih oleh customer itu sendiri sesuai dengan kebutuhan atau ketersediaan waktunya.

Kita ingin mengetahui berapa persen(%) class Business dan Economy yang menggunakan penerbangan di malam hari(Night).

persen_fa <- flight_data[flight_data$arrival_time == "Night",]

round(prop.table(table(persen_fa$class))*100,2)
#> 
#> Business  Economy 
#>    31.71    68.29

Class Business yang menggunakan penerbangan di malam hari (Night) sebesar 31.71%. Hal tersebut jauh lebih kecil jika dibandingkan dengan kelas ekonomy, yaitu sebesar 68.29%.

Dari data flight_data, kita ingin mengetahui berapa banyak baris yang memiliki price lebih dari 5000 dari columns airline.

flight_data[flight_data$price > 5000,
            c("airline", "price")]

Data hasil diatas, telah kita ketahui bahwa airline yang meiliki price lebih dari 5000 sebanyak 218.763.

SUMMARY

Dari beberapa business qustions yang telah kita lakukan kita dapat mengambil beberapa kesimpulan. Dari 2 class penerbangan, yaitu clsss business dan economy. Penerbangan paling banyak terjadi di class business yaitu sebanyak 93.487 penerbangan. Untuk waktu penerabangan paling banyak terjadi pada malam hari Night yaitu sebanyak 91.538 dan hal tersebut banyak terjadi pada class economy dengan persentase sebesar 68.29%. Dan harga pembelian penerbangan di atas 5000 sebanyak 218.763.