Passengers Who Comes and Go in Seribu Island. Jakarta!

Adi Pradana Yuda Purnomo
14 min readDec 7, 2022

--

Jakarta has many interested destination to visit. Jakarta has many mall, market, culinary space, museum, art, culture, good society and many more.

One of the hidden gem will describe on this story. Beach and land society, yep.. Jakarta near with Java Sea and Jakarta has some beautiful island to visit. Jakarta has more than 110 island around Java Sea that island are in one island group, Seribu islands.

Islands

When you want to visit one of island in Seribu Island, you can go to that island from Muara Angke Harbour and Ancol. So the passengers traffic can showing up on that harbour. It will be interested to research about this case. On the shipping route in Seribu Island, there are 2 types ship, there are traditional ship (max capacity 50 passengers) and modern ship (max capacity 75 passengers).

Sailorman

Let’s import the libraries what we will using.

Import library on python

Load the dataset based on CSV file. The delimiter of CSV file using comma ‘,’ separator. The dataset will be a data frame using pandas.

Load dataset from CSV file and showing data sampling

The sampling of data showing up!

Sampling of data from dataset

The dataset using real data from https://data.jakarta.go.id, so the data based on real case. This article shows viewers about the shipping traffic around Seribu Island, Jakarta, using data visualization method and framework what mentioned by python scripts.

The dataframe will get transforming to be date of work (1, 2, 3, … , 31). This dataframe will be X axis to get point with Y axis (a number of passengers) for analyzed passengers traffic in a day.

Transform data to be date of work

The dataframe will get transforming to be day of work (Sunday, Monday, Tuesday, etc..).

Transform data to be day of work

The dataframe will get transforming to be month of work (January, February, March, … , December).

Transform data to be month of work

The dataframe will get transforming to be year of work (2018, 2019, 2020, 2021).

Transform data to be year of work

Showing the sample of data what get combined with data transformation.

Showing sample of data

Sampling of the (new) Dataframe showing up! There are includes day of week, monthly of years, and years of date. Perfect!

Sampling of the new dataframe

Trying to get harbour data as id of data, so I using groupby for grouping the harbour list. I want to list all of the harbour in this dataframe.

Grab the missleading harbour

The grouped harbour showing up!

Missleading harbour list what get tidy

There are still has uncategorized harbour in this dataframe :

  1. KELAPA vs KELAPA/HARAPAN.
  2. MARINA vs MARINA ANCOL vs MARINA/ANCOL.
  3. MUARA ANGKE vs P. MUARA ANGKE vs P.MUARA ANGKE.
  4. PRAMUKA vs PRAMUKA/PANGGANG.
  5. TIDUNG vs TIDUNG / PAYUNG vs TIDUNG/PAYUNG.
  6. UNTUNG JAWA vs UNTUNG/JAWA.

So in this phase, data preparation is needed. Transform data activity used to make the harbour just in 1 category. In example there are have MUARA ANGKE, P. MUARA ANGKE, P.MUARA ANGKE, there are in same meaning, Muara Angke Harbour, so it will be in one category, MUARA ANGKE.

Size of group data

Before transform the harbour list on dataframe, let’s describe the size of harbour, it’s meaning how many times the harbour in this dataframe. That’s important get check the result of transform data.

Showing the harbour list on dataframe

Okay, let’s try to transform the UNTUNG JAWA harbour.

Transform the Untung Jawa harbour

Untung Jawa harbour has UNTUNG JAWA and UNTUNG/JAWA, so it will transform to be UNTUNG JAWA. Size of UNTUNG JAWA is 1212 and UNTUNG/JAWA is 31, there are sum to be 1243 for UNTUNG JAWA. The size of Untung Jawa harbour data has in equal.

Showing the harbour list on dataframe

Okay, let’s try to transform the TIDUNG harbour.

Transform the Tidung Harbour

Tidung harbour has TIDUNG, TIDUNG/PAYUNG and TIDUNG / PAYUNG, so it will transform to be TIDUNG. Size of TIDUNG is 365, TIDUNG/PAYUNG is 816 and TIDUNG / PAYUNG is 62, there are sum to be 1243 for TIDUNG. The size of Tidung harbour data has in equal.

Showing the harbour list on dataframe

Okay, let’s try to transform the PRAMUKA harbour.

Transform the Pramuka Harbour

Pramuka harbour has PRAMUKA and PRAMUKA/PANGGANG, so it will transform to be PRAMUKA. Size of PRAMUKA is 365 and PRAMUKA/PANGGANG is 878, there are sum to be 1243 for PRAMUKA. The size of Pramuka harbour data has in equal.

Showing the harbour list on dataframe

Okay, let’s try to transform the MUARA ANGKE harbour.

Transform the Muara Angke Harbour

Muara Angke harbour has MUARA ANGKE, P.MUARA ANGKE, and P. MUARA ANGKE, so it will transform to be MUARA ANGKE. Size of MUARA ANGKE is 639, P.MUARA ANGKE is 30 and P. MUARA ANGKE, is 574, there are sum to be 1243 for MUARA ANGKE. The size of Muara Angke harbour data has in equal.

Showing the harbour list on dataframe

Okay, let’s try to transform the MARINA ANCOL harbour.

Transform the Marina Ancol Harbour

Marina Ancol harbour has MARINA ANCOL, MARINA, and MARINA/ANCOL, so it will transform to be MARINA ANCOL. Size of MARINA ANCOL is 817, MARINA is 365 and MARINA/ANCOL is 61, there are sum to be 1243 for MARINA ANCOL. The size of Marina Ancol harbour data has in equal.

Showing the harbour list on dataframe

Okay, let’s try to transform the HARAPAN harbour.

Transform the Harapan Harbour

Harapan harbour has KELAPA, KELAPA/HARAPAN, and HARAPAN, so it will transform to be HARAPAN. Size of KELAPA is 1213, KELAPA/HARAPAN is 30 and HARAPAN is 1213, there are sum to be 1243 for HARAPAN. The size of Harapan harbour data has in equal.

Showing the harbour list on dataframe

The sampling of dataframe what transformed showing up!

Perfect! The data preparation is done, let’s see the data preview has transformed.

Transformed data sample showing up

So in this case, it will get another perspective. How many passenger boarded around Seribu Island at 2018? Let’s see..

Get Passenger Boarded around Seribu Island on 2018

Avoid the NaN data, because when data transformed, it will be get NaN data.

Avoid the NaN data

Set X and Y axis for harbour (X axis) and count of passengers boarded (Y axis).

Set X and Y axis

Set size of plt figure (output diagram).

Set diagram size

Barplot definition using seaborn, based on X axis and Y axis have defined.

Barplot definition

Set diagram feature are title, xlabel and ylabel on plt figure.

Set diagram feature

The diagram (plt figure) will showing up!

Showing plt figured

The data of passengers boarded around Seribu Island at 2018 showing up!

Data of passengers boarded around Seribu Island at 2018

Based on that’s diagram, the most boarded passengers is Muara Angke. Why Muara Angke harbour can be the most boarded passengers in around harbour at Jakarta? Let’s check what’s the most dropped passengers in around her our at Jakarta. Here we go…

Get Passenger dropped around Seribu Island on 2018

Avoid the NaN data, because when data transformed, it will be get NaN data.

Avoid the NaN data

Set X and Y axis for harbour (X axis) and count of passengers boarded (Y axis).

Set X and Y axis

Set size of plt figure (output diagram).

Set diagram size

Barplot definition using seaborn, based on X axis and Y axis have defined.

Barplot Definition

Set diagram feature are title, xlabel and ylabel on plt figure.

Set diagram feature

The diagram (plt figure) will showing up!

Showing plt figure

The data of passengers dropped around Seribu Island at 2018 showing up!

Data of passengers dropped around Seribu Island at 2018

Based on that’s diagram, the most dropped passengers is Muara Angke. Let’s combined the result of dropped and boarded passengers at Muara Angke.

Get Passenger Dropped and Boarded around Seribu Island on 2018

Avoid the NaN data, because when data transformed, it will be get NaN data.

Avoid the NaN data

Set X and Y axis for harbour (X axis), count of passengers boarded (Y axis), and count of passengers dropped (Z axis).

Set X, Y and Z axis

Set X axis as length of X.

Set x axis based on Length of X

Set multiple bar for Passenger boarded and Passenger dropped chart based on length.

Set multi bar chart

Set x_axis what has setting as length, these x_axis will adopted to X axis. Set label for diagram title, X axis and Y axis.

Label setting for axis and title

Setting legend as diagram attribute.

Legend setting

The diagram (plt figure) will showing up

Showing plt figure

The data of passengers boarded and dropped around Seribu Island at 2018 showing up!

Based on this Dataframe, the most dropped and boarded passengers is Muara Angke and the second place is Marina Ancol.

In fact, when you want to go Seribu Island from Jakarta land, you can choose 2 ways, you can go to there using boat from Marina Ancol or Muara Angke. The passengers who boarded from Marina Ancol and Muara Angke Harbour will be distributed to another harbour are Harapan, Lancang, Pari, Pramuka, Tidung and Untung Jawa Harbour.

Why Muara Angke harbour can be the most dropped and boarded passengers in around harbour at Jakarta? Let’s check it out!

As data visualization about Passenger Boarded and Dropped Around Seribu Island at 2018, we can see the different number about how many passenger boarded (come) and how many passenger dropped (go).

Take a harbour what get the most traffic for sampling, the harbour is Muara Angke. Next step, what day is the most traffic in Muara Angke Harbour?

Get Passenger Dropped and Boarded at Muara Angke

Avoid the NaN data, because when data transformed, it will be get NaN data.

Avoid The NaN Data.

Set size of diagram (plt figure).

Set Size of Diagram

Set X and Y axis for day of week (X axis), count of passengers boarded (Y axis), and count of passengers dropped (Z axis).

Set Data in Axis

Set X axis as length of X.

Set X axis value

Set multiple bar for Passenger boarded and Passenger dropped chart based on length.

Set Multiple Bar Chart

Set x_axis what has setting as length, these x_axis will adopted to X axis. Set label for diagram title, X axis and Y axis.

Set label

Setting legend as diagram attribute.

Legend get Set Up.

The diagram (plt figure) will showing up

Showing Up The Diagram

The data of passengers boarded and dropped at Muara Angke daily in a week have showing up!

The Data of Passengers Boarded and Dropped at Muara Angke Daily in a Week

Based on output diagram, it will conclude that saturday is a day of peak for boarded from Muara Angke and sunday is a day of peak for dropped at Muara Angke. At Friday, the passengers has boarded get little increased. At another days (Monday, Tuesday, Wednesday, and Thursday) the traffic as usually.

Conclution :

Friday, Saturday, and Sunday get increase passenger. That condition will happen, because the passenger is a traveler who want to going holiday in weekend.

Let’s see the another harbor in Jakarta, MARINA ANCOL.

Get Passenger Dropped and Boarded at Marina Ancol

Avoid the NaN data, because when data transformed, it will be get NaN data.

Avoid NaN Data

Set size of diagram (plt figure).

Set Size of Diagram

Set X and Y axis for day of week (X axis), count of passengers boarded (Y axis), and count of passengers dropped (Z axis).

Set Data in Axis

Set X axis as length of X.

Set X Axis

Set multiple bar for Passenger boarded and Passenger dropped chart based on length.

Set Multiple Bar

Set x_axis what has setting as length, these x_axis will adopted to X axis. Set label for diagram title, X axis and Y axis.

Set Label

Setting legend as diagram attribute.

The Legend Get Set Up

The diagram (plt figure) will showing up!

Showing Up Diagram

The data of passengers boarded and dropped at Marina Ancol daily in a week have showing up!

The Data of Passengers Boarded and Dropped at Marina Ancol Daily in a Week

Based on output diagram, it will conclude that saturday is a day of peak for boarded from Marina Ancol and sunday is a day of peak for dropped at Marina Ancol. At another days (Monday, Tuesday, Wednesday, Thursday and Friday) the traffic as usually.

Conclution :

The Marina Ancol Harbor get increase on weekend too, but not in significant number like Muara Angke. On Saturday, and Sunday the get increase passenger. That condition will happen, because the passenger is a traveler who want to going holiday in weekend.

Pulau Seribu is one of recommended place for holiday in Jakarta. They have good destination for sailing, diving, fishing and enjoying beach.

Based on konstituen com (access on Desember 7th 2022), the ticket price from Marina Ancol to Seribu Island start from IDR 375,000. It include with Jasa Raharja Insurance.

Based on modatransportasi.com (access on December 7th 2022), the ticket price from Muara Angke to Seribu Island start from IDR 85,000.

Because of the cheapest price, the passenger choose go to Seribu Island from Muara Angke.

Based on pulauseribu.jakarta.go.id (access on December 7th 2022), The government of Seribu Island give support to Department of Transportation Jakarta’s public policy about shipping traffic distancing. This public policy did for COVID 19 prevention around Seribu Island.

Start from April 3rd 2020, Departement of Transportation Jakarta give distance for shipping operation around Seribu Island. In a week, there are just 1 times the ship will operation.

According this case, let’s see the growth of boarded and dropped passenger on 2018–2021!

Get Passenger in 2018 - 2021 at Muara Angke

Avoid the NaN data, because when data transformed, it will be get NaN data.

Avoid NaN Data

Set X and Y axis for years of date (X axis), count of passengers boarded (Y axis).

Setting figure as subplots.

Figure as subplots

Setting up the legend.

Legend have set up

Setting up Plot with X axis and Y axis what defined. Setting up the lable too.

Set up the plot

Set Z axis for sum of passengers boarded (Z axis).

Z axis set up

Setting up Plot with X axis and Z axis what defined. Setting up the lable too.

Set Up the Plot

Legend showing up!

Showing the Legend

Diagram showing up!

Showing the Diagram

The data of passengers boarded and dropped at Muara Angke 2018–2021 have showing up!

The Passenger Boarded and Dropped 2018 - 2021 Diagram showing up

Based on this research, at 2018 the passengers who boarded and dropped at Muara Angke Harbour in downtrend. It will happen on 2019 too, the passengers who boarded and dropped at Muara Angke Harbour Still on downtrend.

According the information from that’s article, pulauseribu.jakarta.go.id (access on December 7th 2022), it had happen shipping distancing at 2020, that’s information get told through that’s output diagram, on 2020 is a downtrend peak point for shipping traffic.

On 2020 , the shipping traffic in uptrend, it’s good for us, when transformation get more traffic, hopefully the economic will increased and we can go holiday on Seribu Island. Come on, Let’s visit Seribu Island for your vacation!

Reference :

https://data.jakarta.go.id (access on December 7th 2022).

https://pulauseribu.jakarta.go.id (access on December 7th 2022).

https://konstituen.com (access on December 7th 2022).

https://modatransportasi.com (access on December 7th 2022).

--

--