18 poin oleh GN⁺ 2025-06-07 | 4 komentar | Bagikan ke WhatsApp
  • Data penerbangan memiliki banyak karakteristik yang kompleks dan nonstandar
  • Pengembang sering membuat asumsi yang keliru tentang penerbangan, bandara, navigasi, dan informasi transponder
  • Sistem pelacakan penerbangan yang nyata harus mampu menangani beragam situasi pengecualian dan anomali data secara fleksibel
  • Banyak kesalahpahaman menyebabkan error yang tidak terduga pada perangkat lunak atau sistem pelanggan
  • Saat merancang data, diperlukan sudut pandang yang mencerminkan kompleksitas dunia nyata secara cermat

Gambaran umum

FlightAware adalah perusahaan yang mengembangkan perangkat lunak untuk memproses dan mendistribusikan data penerbangan di seluruh dunia. Namun, data penerbangan yang nyata, berbeda dari intuisi, tidak terstruktur rapi dan penuh pengecualian serta anomali. Banyak pengembang membuat berbagai asumsi tentang struktur data, alur, dan sistem identifikasi, tetapi dalam praktiknya hal ini menjadi asumsi yang salah dan menyebabkan error serta inkonsistensi sistem. Artikel ini, sebagai kelanjutan dari seri tentang kesalahpahaman umum, merangkum kekeliruan yang sering terjadi dalam perangkat lunak di industri penerbangan dan contoh kasus yang ditimbulkannya.

Flights (informasi penerbangan)

  • Ada anggapan keliru bahwa penerbangan selalu berangkat dari gate, padahal kenyataannya pesawat bisa berpindah gate beberapa kali, atau berangkat jauh lebih lambat maupun lebih cepat dari jadwal
  • Orang mudah mengira jadwal penerbangan atau bandara keberangkatan dan kedatangan itu jelas, tetapi helikopter, pesawat militer, dan sebagainya dapat lepas landas atau mendarat di tempat yang bukan bandara
  • Waktu tempuh atau jadwal penerbangan mungkin terlihat teratur, tetapi penerbangan jarak panjang yang berlangsung beberapa hari atau operasi yang tidak lazim juga sering terjadi
  • Mudah mengasumsikan nomor identifikasi penerbangan (misalnya UAL1234) itu unik, tetapi pada kenyataannya satu pesawat dapat memiliki beberapa identifier atau nomor, dan nomor yang sama bisa digunakan dalam beberapa situasi
  • Meski nomor yang tertulis tampak sama, identifier penerbangan, nomor registrasi, dan penanda lain bisa tercampur sehingga menimbulkan kebingungan, dan informasi identifikasi yang digunakan oleh tiket, ATC, dan pilot bisa berbeda

Airports (informasi bandara)

  • Lokasi bandara dan kode identifikasi mungkin terlihat tetap, tetapi pada kenyataannya bandara bisa ditutup, dipindahkan, atau digabungkan sehingga lokasi maupun kodenya berubah
  • Sistem penamaan untuk terminal/gate, nomor runway, dan sebagainya juga tidak konsisten dan memiliki banyak aturan pengecualian
  • Dalam sistem kode ICAO/IATA pun ada banyak kasus yang tidak sesuai dengan bayangan umum, seperti duplikasi, pemberian beberapa kode, atau salah paham tentang kode lokasi
  • Adanya suatu informasi identifikasi tertentu (misalnya kode IATA) tidak selalu menjamin bahwa itu benar-benar bandara; ada juga kasus kode IATA diberikan ke stasiun kereta atau terminal bus
  • Bahkan ada kode ICAO yang dialokasikan untuk tempat yang bukan di Bumi (misalnya kawah di luar angkasa)

Airlines (informasi maskapai)

  • Tidak ada kesalahpahaman spesifik yang dijelaskan pada bagian terpisah, sehingga dihilangkan

Navigation (informasi navigasi dan rute)

  • Ada anggapan keliru bahwa nama waypoint itu unik, padahal kenyataannya bisa ada duplikasi
  • Definisi altitude yang digunakan dalam penerbangan tidak disatukan dalam satu standar tunggal, dan dapat ditafsirkan berbeda menurut acuan yang digunakan
  • Orang mungkin mengira data ATC sepenuhnya akurat, tetapi pada kenyataannya error atau perubahan sering terjadi
  • Pembatalan rencana penerbangan, perubahan flight plan, dan sebagainya bisa jadi tidak tercermin pada penerbangan yang sebenarnya, atau penerbangan yang sama dapat mengubah tujuan berkali-kali
  • Ada juga ketidakcocokan data antara radar dan lembaga ATC, serta fenomena pergeseran lokasi pada pengamatan simultan

Transponders and ADS-B (informasi terkait transponder dan ADS-B)

  • Orang sering mengasumsikan sinyal ADS-B hanya dipancarkan oleh pesawat, padahal kendaraan bandara atau perangkat lain juga dapat memancarkannya
  • Kepercayaan berlebihan terhadap akurasi koordinat GPS dan keandalan sinyal juga merupakan kesalahpahaman
  • Karena error, duplikasi, kurangnya pemeliharaan, atau kesalahan format pada informasi registrasi transponder (nomor identifikasi, alamat Mode S, dan sebagainya), ketidakcocokan antara data real-time dan informasi sebenarnya sering terjadi
  • Mudah mengira informasi ADS-B diterima dan disimpan begitu saja apa adanya, tetapi dalam praktiknya muncul berbagai isu seperti error transmisi dan pemalsuan sinyal
  • Kerusakan perangkat, kelalaian pengelolaan, dan faktor eksternal (misalnya kabel dirusak tikus) juga merupakan variabel yang nyata

Penutup

Daftar ini menunjukkan kompleksitas keandalan data penerbangan, yang disusun berdasarkan pengalaman dan insight yang diperoleh tim pengembang FlightAware dan Hyperfeed selama bertahun-tahun dari banyak kasus nyata. Untuk mengurangi berbagai error dan kesalahpahaman, artikel ini menekankan pentingnya pemodelan dan pengoperasian data yang secara menyeluruh mempertimbangkan situasi pengecualian yang benar-benar ada di dunia nyata.

4 komentar

 
ifmkl 2025-06-09

Inilah mengapa standardisasi data itu... penting... haha

 
ryj0902 2025-06-09

Isi tulisannya memang sangat ringkas, tapi emosi yang tersirat di dalamnya;;

 
aliveornot 2025-06-07

Baru membacanya saja sudah bikin darah tinggi wkwk

 
GN⁺ 2025-06-07
Komentar Hacker News
  • Penjelasan bahwa pesawat tidak memiliki satu pengenal unik tunggal yang tidak berubah seiring waktu. Dibagikan pengalaman nyata bahwa setiap badan pesawat memang diberi nomor seri, tetapi itu saja tidak menjamin keunikan. Kombinasi "pabrikan, tipe, nomor seri" biasanya menjadi pengenal yang unik sepanjang masa pakainya, tetapi bahkan ini pun bisa berubah jika tipe pesawat berubah akibat modifikasi struktural. Ada juga kesan pribadi bahwa cukup mengejutkan sistem sebesar dan serumit dunia penerbangan tidak memiliki pengenal yang tetap. Nomor registrasi pesawat (tail number) bisa berubah seperti pelat nomor mobil, dan identitas ICAO 24-bit terhubung ke peralatan ADS-B sehingga bisa dipindahkan atau diubah dengan bebas

    • Ungkapan rasa penasaran bahwa kombinasi "pabrikan, tipe, nomor seri" pernah menjadi objek paten. Dipertanyakan bagaimana hal seperti ini bisa dianggap cukup baru untuk dipatenkan

    • Kisah ini dihubungkan dengan paradoks 'Kapal Theseus', sebagai asosiasi filosofis tentang identitas pesawat dan perubahan pengenal tautan Wikipedia Ship of Theseus

    • Dibagikan latar belakang sejarah bahwa industri penerbangan berkembang secara terpisah seperti silo di tiap negara sehingga standarisasi terlambat. Ada pandangan bahwa fakta standar global akhirnya bisa mapan saja sudah merupakan hal yang mengagumkan. Analisisnya, hal ini baru agak memungkinkan karena kini produsen besar telah terkonsolidasi menjadi sedikit pemain

    • Dibagikan pengalaman lapangan bahwa masalah pengenal unik yang "benar-benar" unik sering muncul di lingkungan nyata. Solusinya hampir selalu kombinasi “model, pabrikan, nomor seri”, dan bila perlu ditambah tahun produksi. Disebut juga kasus mencoba melakukan deduplikasi bahkan untuk data manusia dengan kriteria seperti bahasa (bahasa ibu)

    • Dibagikan contoh bahwa nomor landasan pacu juga berubah seiring waktu lewat dokumen wiki tautan Wikipedia Runway

  • Pendapat bahwa daftar seperti ini akan selalu jauh lebih bermanfaat bila disertai penjelasan yang lebih rinci. Namun, banyak informasi sumber yang ditautkan memang berguna, misalnya pengenalan kasus kawah di Mars yang diberi kode bandara ICAO (JZRO) tautan Wikipedia kawah Jezero, contoh penerbangan yang berangkat normal tetapi mendarat terlambat 40 jam

    • Ditunjukkan bahwa banyak contoh dalam daftar itu sebenarnya punya alasan yang membosankan. Misalnya, penerbangan dua minggu itu adalah Google Balloon, keterlambatan 40 jam itu hanya karena cuaca buruk, dan nilai ADS-B dimasukkan oleh pilot sehingga cukup sering terjadi kesalahan input
  • Dipertanyakan bagaimana kombinasi pabrikan-tipe-nomor seri yang tampak begitu jelas bisa dipatenkan, dan apakah sekarang ada orang yang masih mengambil keuntungan dari paten itu

  • Dari pengalaman mengembangkan perangkat lunak analisis data penerbangan, helikopter maupun pesawat lepas landas dan mendarat di berbagai tempat (rumah sakit, atap gedung, tempat parkir, lapangan olahraga, bandara, lapangan golf, dan lain-lain), sehingga penderitaan pengembang nyata adalah menghabiskan sebagian besar waktu di tengah “segala macam kebohongan tentang penerbangan”

  • Pandangan bahwa setiap kali melihat seri tulisan "Falsehoods...", menarik bahwa banyak pengembang terjebak dalam ilusi bahwa sistem yang berpusat pada manusia akan mengikuti aturan ketat

    • Pengembang suka mereduksi segala hal menjadi sistem aturan yang ketat, tetapi dunia nyata memang tidak seperti itu

    • Analisis bahwa profesi pemrograman pada dasarnya adalah antarmuka antara sistem manusia yang lentur dan mesin berbasis aturan yang kaku

    • Dibagikan dilema dan kekacauan yang dialami programmer saat memodelkan dunia ke dalam perangkat lunak: ada asumsi-asumsi yang terasa wajar, tetapi di dunia nyata sama sekali tidak demikian. Misalnya, diasumsikan bahwa penerbangan tentu memiliki bandara asal dan tujuan, padahal kenyataannya tidak selalu begitu

    • Ditegaskan bahwa secara hakikat, perangkat lunak harus memodelkan domain sebagai sekumpulan aturan. Jika tidak ada aturan, tidak ada fungsi yang bisa diberikan. Karena itu, saat pengecualian seperti 'leap second' dijelaskan kepada orang awam, mereka mudah menganggapnya omong kosong; justru pengembang sering kali lebih sadar akan pengecualian dan kerumitan dunia

  • Diusulkan cara memperlakukan tiap butir dalam seri "Falsehoods Programmers Believe..." sebagai test case. Ini bisa diperluas menjadi pengujian unit/integrasi untuk memverifikasi asumsi salah yang tertanam dalam program

    • Ada pengalaman nyata bahwa test untuk tiap butir memang dibuat, dan saat bekerja dulu ada lebih dari seribu test mulai dari hal sehari-hari hingga kasus ekstrem. Itu dikenang sebagai tim yang sangat menghargai kualitas dan engineering
  • Disebutkan bahwa asumsi "penerbangan lepas landas/mendarat di bandara" dulu tertanam tanpa syarat dalam sistem penerbangan Brasil, dan ada contoh bagaimana hal itu diakali dengan solusi sementara. Kritik juga diarahkan pada asumsi "bandara/landasan pacu tidak berubah lokasi atau arah", yang ternyata terlalu sering salah. Ditambahkan usulan bahwa bahkan asumsi "pesawat hanya mendarat di landasan pacu atau heliport" pun perlu dimasukkan

    • Ada pertanyaan ingin tahu lebih rinci bagaimana sistem penerbangan Brasil yang lama menangani masalah-masalah ini secara sementara
  • Dibagikan video CGP Grey yang merangkum dengan baik betapa kacaunya proses kode bandara tautan YouTube. Video itu juga menjelaskan kekhasan sistem tersebut

  • Diperkenalkan juga diskusi terkait di forum FlightAware yang membahas topik yang sama tautan forum FlightAware

  • Dari sudut pandang programmer, dibagikan perasaan bahwa semua asumsi dalam daftar ini awalnya tampak masuk akal, lalu kenyataan dipahami dengan menyakitkan belakangan hingga terasa seperti kepala meledak. Disebut sebagai ringkasan yang luar biasa