Contoh Kasus Penggunaan Hadoop dan HBase untuk Memproses Real World Data: Visualisasi dan Klasifikasi Pergerakan Kapal-kapal Kargo di Alur Laut Pelabuhan Long Beach dan Los Angeles

Penjelasan tentang apa itu HBase telah dibahas pada artikel HBase: Hyper NoSQL Database. Untuk pembahasan yang lebih lugas dan komprehensif disertai ilustrasi yang lebih memudahkan pemahaman, dapat dibaca di buku "Teknologi Big Data: Sistem Canggih dibalikGoogle, Yahoo!, Facebook, IBM". Tidak hanya tentang HBase, buku ini tentu juga membahas teknologi Big Data lainnya seperti Google File System, Google MapReduce, Google Bigtable serta Hadoop yang terdiri atas Hadoop Distributed File System (HDFS) dan Hadoop MapReduce. Pembahasan diawali dengan penjelasan tentang definisi Big Data yang disertai dengan beberapa contoh aplikasi Big Data dalam dunia bisnis modern, lalu diakhiri dengan tutorial untuk menjalankan Hadoop dan HBase secara standalone maupun sebagai distributed system.
Bagi mereka yang baru mengenal Hadoop maupun HBase pasti menginginkan paling tidak satu contoh kasus penggunaan Hadoop maupun HBase dalam memproses data sungguhan dari dunia nyata. Oleh karena itu, kali ini akan dibahas salah satu contoh penggunaan Apache HBase dan Hadoop untuk memproses real world data atau data sungguhan dari dunia nyata, bukan data simulasi, bukan data yang dipilah-pilah untuk keperluan simulasi juga bukan data untuk keperluan demo suatu produk.
Data tersebut adalah sekumpulan datadigital yang didapatkan dengan merekam secara terus menerus informasi yang dipancarkan oleh transmitter AIS dari kapal-kapal yang melintasi perairan pantai barat Amerika Utara, tepatnya adalah area yang termasuk dalam zone 11 dari UTM (Universal Transverse Mercator).Gambar 1 menunjukkan pembagian zone pada UTM. Batas zone 11 adalah dari 30 derajat Lintang Utara s.d. 40 derajat Lintang Utara, dari 114 derajat Bujur Barat s.d. 120 derajat Bujur Barat.Kumpulan data AIS ini dapat di-download dariwww.MarineCadastre.govdengan terlebih dahulu mengajukan permohonan registrasi untuk mendapatkan username dan password.



Gambar 1. Universal Transverse Mercator zones ( www.marinecadastre.gov )
Sebelum dilanjutkan, sebelumnya akan dijelaskan dahulu tentang apa itu AIS ( Automatic Identification System ).AIS adalah sistem yang terpasang di kapal laut yang memungkin kapal tersebut mengirimkan data secara periodik ke kapal lainnya maupun ke instalasi di darat dengan menggunakanmedia gelombang elektromagnet VHF ( Very High Frequency ).Kapal-kapal maupun instalasi darat yang menerima pancaran datadari AISsuatu kapal,tentunya akan dapat mengetahui identitas maupun kondisikapalsumber pancarantersebut( silakan simak gambar 2).Data yang dipancarkan oleh AIS memuat 3 jenis informasi, yaitu:

  1. Informasi Statis ( Static Information ), terdiri atas: (1) Nama Panggilan Kapal / Call Sign; (2) Type Code; (3) Nomor IMO ( International Maritime Organisation ); (4) Nomor MMSI ( Maritime Mobile Service Identity ); dan (5) Dimensi Kapal.
  2. Informasi Dinamis ( Dynamic Information ), terdiri atas: (1) Posisi Kapal (Lintang, Bujur); (2) SOG ( Speed over Ground ); (3) COG ( Course over Ground ); (4) Heading; (5) Current Status; dan (6) ROT ( Rate of Turn ).
  3. Informasi terkait Pelayaran ( Voyage-specific Information ), terdiri atas: (1) Tujuan Pelayaran ( Destination ); (2) ETA ( Estimated Time of Arrival ); dan (3) Draft.


Gambar 2. Ilustrasi AIS (Automatic Identification System) pada Kapal Laut
    Kumpulandata AIS yang di-download dari www.MarineCadastre.gov terdiri atas 3 kelompok data yaitu: (1) Data Broadcast(broadcast data), yang terdiri atas: Posisi Kapal (longitude, latitude), SOG, COG, Heading, ROT, baseDateTime (waktu pancaran AIS direkam), Vessel Status, Voyage ID, MMSI, Receiver Type, Receiver ID; (2) Data Kapal (vessel data), yang terdiri atas: MMSI, IMO, Call Sign, Name, Type Code, Length, Width; (3) Data Pelayaran (voyage data), yang terdiri atas: Voyage ID, Destination, Cargo, Draft, ETA, Start Time, End Time, MMSI.
    Kali ini data AISyang di-download dari www.MarineCadastre.Govakan digunakan untuk: (1) Memvisualisasikanpergerakan kapal-kapal kargoyang berlayar di perairandan alur laut sekitar pelabuhan Los Angeles dan Long Beach, California. Gambar 3 menunjukkan area perairan disekitar pelabuhan Los Angeles dan Long Beach; (2) Mengklasifikasikankapal-kapal kargo tersebutberdasarkan attribut yang melekatpada tiap kapal. Untuk mencapai tujuan ini, ada 6parameter yang digunakan, yakni:
    1. Posisi (longitude, latitude) kapal pada suatu waktu tertentu. Pada kumpulan data AIS yang di-download dari www.MarineCadastre.Gov, pancaran data AIS direkam dengan tenggang waktu 1 menit ( pancaran data AIS disimpan 1 menit sekali ). Ini berarti, posisi kapal pemancar juga dicatat tiap 1 menit sekali.
    2. Type Code, adalah kode yang menunjukkan tipe kapal. Misalnya, type code 70 s.d. 77 adalah kode untuk kapal kargo.
    3. Draft, menunjukkan kedalaman badan kapal dihitung dari permukaan air.
    4. Tujuan Pelayaran ( Destination ), adalah nama pelabuhan yang dituju dalam suatu pelayaran.
    5. Status ( Current Status ), menunjukkan status suatu kapal. Misalnya: status At Anchor berarti kapalnya sedang berlabuh jangkar; status Making Way berarti kapal sedang bergerak / berlayar di air.
    6. Kebangsaan ( Nationality ), menunjukkan asal kebangsaan dari suatu kapal. Informasi kebangsaan dapat diketahui dari nomor MMSI yang dipancarkan oleh AIS kapal yang bersangkutan. Pada nomor MMSI tersebut terdapat bagian yang menunjukkan kebangsaan kapal.


    Gambar 3. Area Perairan di sekitar Pelabuhan Los Angeles dan Long Beach
      Keenam parameter diatas juga dapat dikelompokkan dalam 2 jenis informasi: (1) Informasi spatiotemporal,yaitu: Posisi Kapal (longitude, latitude)yang terus berubah dari waktu ke waktu sesuai pergerakan kapal; (2) Informasi attribut kapal, yaitu: Type Code, Draft, Destination, Status, dan Kebangsaan. Informasi spatiotemporal akan digunakan untuk memvisualisasikanpergerakan kapal denganmenyusun titik-titik koordinat posisi kapal menjadi suatu Geometry Object tipe LineString. Dalam suatu LineString, titik-titik koordinat posisi kapal disusun berurutan berdasarkan waktu. Jika LineString ini dibaca dengan aplikasi GIS, ia akan menghasilkan garis putus-putus yang menggambarkan track kapal. Titik-titik yang menyusun garis putus-putus tersebut menunjukkan posisi kapal yang direkam dengan interval 1 menit.Kemudian, informasiatribut kapal akan digunakan untuk mengklasifikasikan track-track kapal yang dihasilkan dari visualisasi informasi spatiotemporal.
      Tahap pertama yang akan dilakukan dalam rangka visualisasi dan klasifikasi pergerakan kapaldengan menggunakan HBase adalah dengan membuattabel HTable untuk menyimpan kumpulan data AISyang telah disiapkan.Dalam hal ini, kita harus menentukan row key, column key, dan value dari HTable tersebut. Kita sebut saja HTable ini dengannamaBroadcastTable, row key = VesselTypeID.Draft.Status.MMSI, column key = posisikapal(longitude, latitude) yang telah di-convert menjadi geohash, dan value = 3 jenis informasi yang dipancarkan AIS (dalam hal ini adalah gabungan dari data broadcast, data kapal, dan data pelayaran yang terdapat dalam kumpulan data AIS yang di-download dari www.MarineCadastre.Gov).Setelah itu, kita upload kumpulan data AIS yang direkam sepanjang bulan Juli 2009 saja ke BroadcastTable di server HBase.
      Selanjutnya, dengan menggunakan data AIS yang sudah tersimpan di HBase dalam tabel bernama BroadcastTable, kita akan menyusun LineString yang terdiri atas titik-titik koordinat posisi suatu kapal (longitude, latitude) dalam suatu pelayaran keluar / masuk pelabuhan Los Angeles maupun pelabuhan Long Beach. Titik-titik koordinat posisi kapal ini disusun berurutan berdasarkan waktu perekaman/pencatatan dengan interval satu menit. Kemudian pada LineString iniakan kita sertakan informasi tentang atribut kapal yang bersangkutan. LineString yang dinyatakan dalam format WKT (Well Known Text) kita gabungkan dengan data atribut kapal dalam format yang dapat dibaca oleh software GIS. Dalam hal ini kita akan menggabungkannya dengan format vertical bar separated value(VBSV) seperti berikut:
      LINESTRING( pos0.Longitude pos0.Latitude, pos1.Longitude pos1.Latitude, pos2.Longitude pos2.Latitude, ...,posN.Longitude posN.Latitude )|MMSI|IMO Number|Call Sign|Name|Type Code|Length|Width

      keterangan: pos0, pos1, pos2, ..., posN adalah koordinat posisi kapal yang disusun berurutan berdasarkan waktu perekaman dengan interval satu menit.
      Kemudian, LineString yang sudah disertai data atribut kapal ini kita simpan ke dalam bentuk file teks sehingga dihasilkan sebuah file teks yang berisi data dalam format Vertical Bar Separated Value (VBSV) yang memuat data Geometry Object tipe LineString dalam format WKT dan data teksatribut kapal. Selanjutnya kita buka data VBSV ini dengan menggunakan software OpenJUMP Plus ( sebuah software GIS open source ) yang akan menampilkan tiap LineString dalam bentuk garis putus-putus yang merupakan visualisasi dari track pergerakan kapal yang keluar / masuk pelabuhan Los Angeles maupun pelabuhan Long Beach selama bulan Juli 2009. Garis putus-putus yang menggambarkan track pergerakan kapal inijuga telah disertai dengan data-data atribut kapal sehingga kita dapat mengklasifikan track-track iniberdasarkan data-data atribut tersebut. Hasil visualisasi dan klasifiksinya dapat disimak pada gambar4, 5, 6,7 dan 8 sebagai berikut:
      1. Gambar 4 Visualisasi track-track pergerakan kapal tanpa diklasifikasikan. Dalam hal ini kita tidak dapat membedakan kapal apa bergerak kemana.
      2. Gambar 5 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan type code. Dalam hal ini, garis-garis warna orange menunjukkan kapal kargo dengan type code 71 sedangkan garis-garis warna kuning adalah track-track kapal kargo dengan type code 79.
      3. Gambar 6 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan draft kapal. Garis-garis warna orange adalah track-track kapal dengan draft kurang dari 5 meter, sedangkan garis-garis kuning menunjukkan track-track pergerakan kapal dengan draft 5 meter keatas.
      4. Gambar 7 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan pelabuhan tujuan pelayaran ( destination ). Garis-garis ungu menggambarkan pergerakan kapal-kapal kargo yang berlayar dengan tujuan pelabuhan Los Angeles, sedangkan garis-garis kuning adalah track-track kapal kargo dengan tujuan pelabuhan Long Beach.
      5. Gambar 8 Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan kebangsaan ( nationality ). Garis-garis ungu menggambakan pegerakan kapal-kapal kargo berkebangsaan Jepang. Dari sini kita dapat mengetahui bahwa kapal-kapal kargo Jepang pasti berlabuh di pelabuhan Long Beach dan tidak pernah berlabuh di pelabuhan Los Angeles. Garis-garis kuning adalah track-track pelayaran kapal-kapal kargo berkebangsaan Denmark. Kita dapat menyimak bahwa kapal-kapal kargo Denmark hampir semuanya berlabuh di pelabuhan Los Angeles, hanya ada sejumlah kecil yang berlabuh di pelabuhan Long Beach.


      Gambar 4.Visualisasi track-track pergerakan kapal tanpa diklasifikasikan


      Gambar 5.Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan type code (garis-garis orange: type code 71, garis-garis kuning: type code 79)


      Gambar 6. Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan draft kapal (garis-garis orange: draft < 5 m, garis-garis kuning: draft >= 5 m)


      Gambar 7. Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan pelabuhan tujuan pelayaran (garis-garis ungu: kapal dengan tujuan Los Angeles, garis-garis kuning: tujuan Long Beach)


      Gambar 8. Visualisasi pergerakan kapal yang diklasifikasikan berdasarkan kebangsaan(garis-garis ungu: kapal kargo Jepang, garis-garis kuning: kapal kargo Denmark)

        Demikian contoh kasus penggunaan HBase untuk memproses data dari dunia nyata ( real world data ), bukan data simulasiataupun data yang dipilah-pilah untuk keperluan simulasi dan juga bukan data yang ditujukan untuk demo suatu produk perangkat lunak.
        Sebenarnya, dalam percobaan ini saya menggunakan dua cara, yaitu: (1) Visualisasi dan klasifikasi dengan menggunakan HBase;dan (2) visualisasi dan klasifikasi dengan memakai tool AIS TrackBuildermilik MarineCadastre.Govyang dijalankan menggunakan software ESRI ArcGIS. Dalam percobaan ini saya menemukan bahwa dengan menggunakan HBaseyang diinstal pada cluster Hadoop yang terdiri atas 11 komputer, proses visualisasi dan klasifikasi dapat dilakukan dengan kecepatan sekitar 18 kali lebih cepat daripada menggunakan software ESRI ArcGIS yang dilengkapi tool AIS TrackBuilder.

        Komentar

        Postingan populer dari blog ini

        Metode Analisis PIECES

        Aritmetika Bilangan Jam dan Operasi Hitungnya

        Kerajaan Singasari